@font-face{font-family:'HK Grotesk';src:url('/assets/fonts/hk-grotesk-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:'HK Grotesk';src:url('/assets/fonts/hk-grotesk-medium.woff') format('woff');font-weight:500;font-display:swap}
@font-face{font-family:'HK Grotesk';src:url('/assets/fonts/hk-grotesk-semibold.woff') format('woff');font-weight:600;font-display:swap}
@font-face{font-family:'HK Grotesk';src:url('/assets/fonts/hk-grotesk-bold.woff') format('woff');font-weight:700 900;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-600-normal.woff2') format('woff2');font-weight:600 900;font-display:swap}
:root{--heading:'HK Grotesk',Arial,sans-serif;--body:Inter,Arial,sans-serif}
body,body.design-2026{font-family:Inter,Arial,sans-serif}
body p,body li,body label,body input,body select,body textarea,body button,body figcaption,body nav,body a,body .value-pill,body .mosaic-tile,body .outcome-label,body .step-count,body .copyright,body address{font-family:Inter,Arial,sans-serif!important}
body h1,body h2,body h3,body .site-modal h2,body .site-modal h3{font-family:'HK Grotesk',Arial,sans-serif!important}
body .site-modal,body .consent-banner,body .consent-category{font-family:Inter,Arial,sans-serif}
.design-2026 .mosaic-tile.honest{background:#efffde}
/* Natural scrolling; the paired cards supply depth without entrance fades. */
.design-motion .page-reveal,.design-motion .page-reveal.pending-reveal,.design-motion .scroll-card .page-reveal.pending-reveal{opacity:1;translate:none;transition:none}
.story-stack{position:relative;isolation:isolate}
.story-stack.stack-enabled{padding-bottom:clamp(80px,18vh,160px)}
.design-2026 .stack-enabled>.partnership-story,.design-2026 .stack-enabled>.about-intro{position:sticky;top:var(--card-top,112px);z-index:1;padding-bottom:0;margin-bottom:28px}
.design-2026 .stack-enabled>.about-intro{z-index:2}
.stack-enabled .bordered-story{box-shadow:0 10px 32px #1b323308;background:#fff;transform-origin:50% 0}
.stack-enabled .partnership-story .bordered-story{transform:scale(var(--stack-scale,1));box-shadow:0 10px 32px #1b323308}
.design-2026 .intro-collage .orange-bloom{left:0%;top:0%;width:11%;z-index:3;translate:-12% 12%}
/* Both the perimeter lines and their pointer highlights fade at their boundaries. */
.design-2026 .partnership-story,.design-2026 .about-intro,.design-2026 #services,.design-2026 #why,.design-2026 #faq,.design-2026 #contact{isolation:isolate;position:relative}
.design-2026 #services,.design-2026 #why,.design-2026 #faq,.design-2026 #contact{overflow:clip}
.edge-grid{--grid-size:36px;position:absolute;inset:-24px 0;pointer-events:none;z-index:-1;background-image:linear-gradient(#698c7920 1px,transparent 1px),linear-gradient(90deg,#698c7920 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size);mask-image:radial-gradient(ellipse 125px 70% at 0 50%,#000 0,transparent 100%),radial-gradient(ellipse 125px 70% at 100% 50%,#000 0,transparent 100%),radial-gradient(ellipse 70% 75px at 50% 0,#000 0,transparent 100%),radial-gradient(ellipse 70% 75px at 50% 100%,#000 0,transparent 100%)}
.edge-grid canvas{display:block;width:100%;height:100%}
.grid-mark{position:absolute;width:4px;height:4px;left:34px;top:70px;background:#ff681f;opacity:.75}
.about-intro .grid-mark,.why-redesign .grid-mark{left:auto;right:34px;top:auto;bottom:70px}
.design-2026 .faq-redesign>.container{background:white}
.design-2026 .faq-redesign .edge-grid{mask-image:radial-gradient(ellipse 90px 65% at 0 50%,#000,transparent),radial-gradient(ellipse 90px 65% at 100% 50%,#000,transparent),radial-gradient(ellipse 65% 48px at 50% 0,#000,transparent),radial-gradient(ellipse 65% 48px at 50% 100%,#000,transparent)}
.design-2026 .services-redesign>.container>.architect-grid,.design-2026 .why-redesign>.container>.architect-grid,.design-2026 .contact-redesign>.container>.architect-grid{display:none}
.design-2026 .service-overview{align-items:start}
.service-brief{min-width:0}
.design-2026 #service-more{margin:14px 0 0}
.design-2026 #service-more summary{font-size:15px;line-height:1.5}
.design-2026 #service-more .service-cta{margin-top:8px}
.design-2026 #service-more:not([open]) .service-cta{display:none}
.design-2026 #service-description{padding-top:8px}
.design-2026 #service-description p{font-size:15px;line-height:1.75}
.design-2026 .contact-house{mask-image:none;-webkit-mask-image:none;max-width:365px;width:100%;height:auto;overflow:visible}
.design-2026 .contact-shell{background:#1b3836}
@media(max-width:1100px){.design-2026 .service-overview{grid-template-columns:minmax(0,1fr) 130px}}
@media(max-width:900px){.design-2026 .service-overview{grid-template-columns:1fr}.design-2026 .service-overview #service-image{margin-top:8px}.edge-grid{--grid-size:32px}}
@media(max-width:600px){.design-2026 .vertical-tabs{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:0 14px;border-top:1px solid var(--line);border-bottom:0;padding:0;margin-bottom:26px;scrollbar-width:none}.design-2026 .vertical-tabs button{white-space:normal;border-bottom:1px solid var(--line);padding:12px 7px 12px 10px;font-size:13px;line-height:1.5;min-height:52px}.design-2026 .vertical-tabs button[aria-selected=true]:before{top:13px;bottom:13px;left:0;width:3px;height:auto;right:auto}.design-2026 .vertical-tabs button:last-child{grid-column:1/-1}.design-2026 #service-more{margin-top:15px}.design-2026 .service-overview{grid-template-columns:1fr}.edge-grid{--grid-size:28px;opacity:.75}.grid-mark{width:3px;height:3px;left:26px;top:54px}.about-intro .grid-mark,.why-redesign .grid-mark{right:26px;bottom:54px}.stack-enabled .bordered-story{transform:none!important}.design-2026 .stack-enabled>.partnership-story,.design-2026 .stack-enabled>.about-intro{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.design-2026 .stack-enabled>.partnership-story,.design-2026 .stack-enabled>.about-intro{position:relative;top:auto}.stack-enabled .bordered-story{transform:none!important}.edge-grid canvas{display:none}.story-stack.stack-enabled{padding-bottom:0}}
/* Clip to the illustration's rectangular viewport, without feathering its edges. */
.design-2026 .contact-house{overflow:hidden}
@media(max-width:600px){.design-2026 .vertical-tabs button{font-size:14px}}
/* One architectural grid scale, on every section and every device. */
:root{--guide-cell:36px}
.design-2026 .neighbourhood-grid,.design-2026 .architect-grid,.design-2026 .story-grid,.design-2026 .footer-architect-grid,.design-2026 .edge-grid{background-size:var(--guide-cell) var(--guide-cell)!important}
.design-2026 .partnership-art .architect-grid{display:block;inset:-24px -28px;z-index:0;opacity:1;transform:none!important;background-image:linear-gradient(#8aa69b30 1px,transparent 1px),linear-gradient(90deg,#8aa69b30 1px,transparent 1px);mask-image:radial-gradient(ellipse farthest-side,#000 36%,transparent 100%)}
.partnership-art .values-mosaic{position:relative;z-index:1}
.partnership-art .blueprint-roof{z-index:0}
.stack-enabled .partnership-story .bordered-story{transform:none}
.design-2026 .story-stack.stack-enabled{padding-bottom:36px}
.design-2026 .stack-enabled>.about-intro{margin-bottom:0}
.design-2026 .services-redesign{padding-top:40px}
.design-2026 .intro-collage{margin-bottom:72px}
.design-2026 .intro-collage .lime-bloom{top:calc(100% + 10px);bottom:auto;right:8%;width:12%;z-index:1;rotate:-8deg}
/* The service CTA is always visible after the disclosure, with room on every side. */
.design-2026 #service-panel>.service-cta{display:inline-flex;margin:28px 0 12px;max-width:100%}
.design-2026 .services-workspace{padding-bottom:42px}
.design-2026 .contact-house{object-fit:contain;object-position:center;mask-image:none;overflow:visible;max-width:365px;width:100%;height:auto}
body .wizard-grid select{appearance:none;-webkit-appearance:none;background-image:url('/assets/dropdown-chevron.svg')!important;background-repeat:no-repeat!important;background-size:20px 20px!important;background-position:right 14px center!important;padding-right:46px!important;cursor:pointer}
@media(max-width:600px){.design-2026 .services-redesign{padding-top:28px}.design-2026 .services-workspace{padding-bottom:28px}.design-2026 #service-panel>.service-cta{margin:26px 0 10px;min-height:48px;padding:14px 18px;line-height:1.45}.design-2026 .intro-collage{margin-bottom:48px}.design-2026 .story-stack.stack-enabled{padding-bottom:24px}.why-tiles.why-mobile-stack{display:block;position:relative;padding-bottom:28px}.why-mobile-stack .why-tile{position:sticky;top:var(--why-top,100px);z-index:var(--why-layer,1);margin-bottom:16px}.why-mobile-stack .why-tile:last-child{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.design-2026 .story-stack.stack-enabled{padding-bottom:0}.why-mobile-stack .why-tile{position:relative;top:auto}.why-tiles.why-mobile-stack{padding-bottom:0}}
/* Keep the entire gap after the story cards clear of guide lines. */
.design-2026 #services>.edge-grid{inset:40px 0 0}
@media(max-width:600px){.design-2026 #services>.edge-grid{inset:28px 0 0}}

/* Restore the earlier, localised perimeter accents; no grids in either About card. */
.design-2026 .edge-grid{--grid-size:var(--guide-cell);mask-composite:add}
.design-2026 #about .edge-grid,.design-2026 #about .architect-grid,.design-2026 #about .story-grid{display:none!important}

/* Stacked story cards share an artwork-first rhythm without oversized tablet imagery. */
@media(max-width:900px){
  .design-2026 .intro-collage{order:-1;max-width:420px;margin-bottom:52px}
  .design-2026 .intro-layout{gap:32px}
}
@media(max-width:600px){
  .design-2026 .intro-collage{margin-bottom:40px}
}

/* Keep contact details together rather than inheriting the legacy horizontal row. */
.design-footer .footer-grid>*{min-width:0}
.design-footer .footer-grid address{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px;grid-column:auto;margin:0}
.design-footer .footer-grid address>a,.design-footer .footer-grid address>p{display:grid;grid-template-columns:17px minmax(0,1fr);gap:10px;align-items:start;margin:0}
.design-footer .footer-grid address .icon{width:17px;height:17px;margin:4px 0 0}
.design-footer .footer-grid address span{min-width:0;overflow-wrap:anywhere}
@media(max-width:900px){
  .design-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:'brand navigation' 'legal contact';gap:36px 40px;min-height:0}
  .design-footer .footer-grid>div:first-child{grid-area:brand}
  .design-footer .footer-grid>nav{grid-area:navigation}
  .design-footer .footer-grid>.footer-legal{grid-area:legal}
  .design-footer .footer-grid>address{grid-area:contact}
}
@media(max-width:600px){
  .design-footer .footer-grid{grid-template-areas:'brand brand' 'navigation legal' 'contact contact';gap:30px 20px;margin-bottom:34px}
}
