.related-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.related-item{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:90px;padding:22px;border:1px solid var(--darkline);font-size:16px;font-weight:500}.related-item:hover{background:#e6e9e7}.sources{border-top:1px solid var(--darkline);padding-top:20px;font-size:13px;color:#5b6f7d;margin-top:35px}.sources h3{font-family:var(--body);font-size:13px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.sources a{text-decoration:underline;display:block;margin:6px 0;overflow-wrap:anywhere}.sources p{font-size:13px!important;color:#5b6f7d!important}.notice{padding:20px 24px;border-left:3px solid var(--amber);background:#e7e8e2;font-size:15px;line-height:1.8;color:#475d6c}.notice strong{color:var(--ink)}.notice.dark-notice{background:#293b49;color:#c7d4df}.notice.dark-notice strong{color:#fff}.launch-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px;margin-top:20px}.launch-facts div{padding:17px 0;border-bottom:1px solid var(--darkline);font-size:14px}.launch-facts strong{display:block;font-size:16px;margin-top:5px;color:#465e71}.service-directory{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.directory-card{border:1px solid var(--darkline);padding:27px;display:flex;flex-direction:column;min-height:190px;background:#f8f7f2;transition:background .2s}.directory-card:hover{background:#e6e9e7}.directory-card h3{font-size:27px;margin-top:10px}.directory-card p{font-size:14px;color:#5e6f7b;margin-top:12px;max-width:59ch}.directory-card .end-arrow{margin-top:17px;align-self:flex-end;font-size:25px}.directory-card[hidden]{display:none}.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filter-btn{background:none;border:1px solid var(--darkline);padding:10px 18px;font-size:14px}.filter-btn[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}.area-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.area-card{border:1px solid var(--darkline);padding:25px;min-height:190px}.area-card h3{margin:14px 0;font-size:34px}.area-card .micro{color:#708ba0;font-size:13px}.area-card p{font-size:14px;color:#637783}.area-card:hover{background:#e4e8e8}.all-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}.all-services-grid a{background:#e9ebe6;font-size:14px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:14px}.all-services-grid a:hover{background:#dbe2e4}.neighbourhood-tags{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.neighbourhood-tags span{border:1px solid var(--darkline);padding:9px 14px;font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}.gallery-item img{width:100%;aspect-ratio:1.4;object-fit:cover}.gallery-item h3{font-size:25px;margin-top:17px}.gallery-item p{font-size:14px;color:#60798b;margin-top:6px}.gallery-item[hidden]{display:none}.compare-wrap{position:relative;overflow:hidden;aspect-ratio:5/3;background:var(--ink);--split:50%}.compare-wrap .before,.compare-wrap .after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.compare-wrap .after{clip-path:inset(0 0 0 var(--split))}.compare-line{position:absolute;top:0;bottom:0;left:var(--split);width:2px;background:#efb357;pointer-events:none}.compare-line:after{content:"↔";display:grid;place-items:center;position:absolute;left:-21px;top:calc(50% - 21px);width:44px;height:44px;border-radius:50%;background:var(--amber);color:var(--ink);font-size:27px}.compare-labels{position:absolute;inset:20px 20px auto;display:flex;justify-content:space-between;color:white;font-size:13px;letter-spacing:.12em}.compare-labels span{padding:7px 12px;background:#10181fba}.compare-control{margin-top:20px;display:flex;align-items:center;gap:25px}.compare-control label{font-size:14px}.compare-control input{flex:1;accent-color:var(--steel);min-width:0}.article-header{max-width:870px;padding-block:0 28px}.article-header h1{font-size:clamp(43px,4.8vw,76px);max-width:21ch}.article-cover{width:100%;max-height:560px;object-fit:cover}.article-prose{max-width:800px;margin:auto}.article-prose h2{font-size:38px;margin:42px 0 17px}.article-prose p{font-size:18px;line-height:1.9;color:#4e6373}.article-prose .notice{margin:40px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-grid h2{font-size:40px;margin-bottom:25px}.quote-form{background:#e8ebe8;padding:35px}.quote-form fieldset{padding:0;border:0;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:500}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{border:1px solid #b8c4c8;background:#fbfbf8;color:var(--ink);padding:13px;width:100%;border-radius:0;min-height:48px;min-width:0}.field textarea{resize:vertical;min-height:140px}.field small{font-weight:400;color:#526b7e}.form-consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;margin:22px 0;color:#4d6577}.form-consent input{accent-color:var(--ink);margin-top:4px;flex-shrink:0}.form-note{font-size:13px;line-height:1.7;color:#566f82;margin-top:16px}.form-result{margin-top:20px;padding:18px;background:#d3e3db;border-left:3px solid #3d6b57;font-size:15px}.form-result[hidden]{display:none}.form-error{margin-top:20px;padding:16px;border-left:3px solid #bc8240;background:#eee0c9;font-size:15px}.form-error[hidden]{display:none}.contact-points{display:grid;gap:20px;margin-top:30px}.contact-points h3{font-size:21px}.contact-points p{font-size:15px;color:#587081;margin-top:8px}.big-code{font-size:150px;line-height:1;font-family:var(--display);letter-spacing:-.06em;color:var(--amber)}.table-wrap{overflow-x:auto;margin-top:25px}table{width:100%;border-collapse:collapse;font-size:15px}th,td{padding:16px;text-align:left;border-bottom:1px solid var(--darkline);vertical-align:top}th{background:#e1e6e6;font-weight:600}.visually-hidden{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.page-map{columns:3;column-gap:35px}.page-map a{display:block;break-inside:avoid;font-size:14px;padding:8px 0;border-bottom:1px solid var(--darkline)}
@media(min-width:1800px){.hero-grid,.hero{min-height:880px}.hero h1{font-size:114px}}
@media(max-width:1190px){.desktop-nav{gap:19px}.desktop-nav .optional{display:none}.header-tbd{display:none}.hero-grid{grid-template-columns:1.2fr 1fr}.hero,.hero-grid{min-height:700px}.split,.inner-grid{gap:40px}.content-layout{gap:45px}.area-layout{gap:45px}.area-links{grid-template-columns:repeat(2,1fr)}.footer-grid{gap:30px}.hero h1{font-size:80px}}
@media(max-width:900px){.desktop-nav{display:none}.menu-toggle{display:block}.header-inner{height:77px}.header-actions{gap:14px}.mobile-nav.open{display:block;position:fixed;inset:77px 0 0;background:var(--coal);padding:22px var(--pad) 60px;overflow:auto}.mobile-nav nav{display:grid}.mobile-nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:21px}.mobile-nav .mobile-small{font-size:15px;color:var(--muted)}.section{padding-block:75px}.hero,.hero-grid{min-height:695px}.hero h1{font-size:76px}.hero-grid{grid-template-columns:1fr}.hero-art img{object-position:66% 50%}.hero-art:after{background:linear-gradient(90deg,#10181ff2 0%,#10181fb3 50%,#10181f14 100%),linear-gradient(0deg,#10181fd9,transparent 50%)}.section-heading{gap:30px}.section-heading .intro{max-width:290px}.card-grid{gap:17px}.service-card h3{font-size:27px}.split{gap:35px}.inner-grid{grid-template-columns:1.15fr .85fr;gap:35px}.inner-hero h1{font-size:47px}.content-layout{grid-template-columns:1fr}.sidebar{position:static;max-width:none}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar .btn{max-width:290px}.faq-layout{gap:35px;grid-template-columns:.7fr 1.3fr}.faq-layout h2{font-size:35px}.area-layout{grid-template-columns:1fr;gap:35px}.area-links{grid-template-columns:repeat(3,1fr)}.area-layout p{max-width:64ch}.process-grid{gap:20px}.process-step h3{font-size:19px}.footer-grid{grid-template-columns:1.1fr 1fr}.related-list{grid-template-columns:repeat(2,1fr)}.area-card-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{gap:35px}.quote-form{padding:25px}.page-map{columns:2}}
@media(max-width:600px){html{scroll-padding-top:90px}.wrap{padding-inline:22px}.header-inner{height:72px;gap:16px}.brand svg{width:34px;height:34px}.brand-words{font-size:15px}.brand-words small{font-size:13px;letter-spacing:.24em}.header-actions>.btn{display:none}.mobile-nav.open{inset:72px 0 0}.hero,.hero-grid{min-height:765px}.hero-grid{align-items:start;padding-top:45px;padding-bottom:205px}.hero h1{font-size:clamp(52px,12.9vw,77px);line-height:.98}.hero .eyebrow{font-size:13px;letter-spacing:.15em;margin-bottom:25px}.hero-copy{padding:0;max-width:100%}.hero .lead{font-size:15px;max-width:31ch;margin-top:22px}.hero .actions{gap:10px;margin-top:25px}.hero .actions .btn{font-size:13px;min-height:49px;padding:12px 16px;gap:20px}.hero-art img{object-position:62% 50%}.hero-art{top:225px;bottom:-90px;left:-290px;right:-160px}.hero-art:after{background:linear-gradient(180deg,#10181f 0%,#10181fce 13%,#10181f34 45%,#10181f3b 70%,#10181f 98%),linear-gradient(90deg,#10181f99,transparent 70%)}.hero-bottom{bottom:22px;left:22px;right:22px;align-items:flex-end;gap:15px;font-size:13px}.hero-note{max-width:165px}.hero-bottom .scroll-hint{gap:8px}.hero-note strong{font-size:13px}.system-strip .wrap{grid-template-columns:repeat(2,1fr)}.system-strip a{padding:17px!important;font-size:13px}.system-strip a:nth-child(odd){padding-left:0!important}.system-strip a:nth-child(even){border-right:0;padding-right:0!important}.system-strip a:nth-child(-n+2){border-bottom:1px solid var(--line)}.system-strip a span{font-size:13px}.section{padding-block:58px}.eyebrow{font-size:13px;margin-bottom:18px;gap:10px}.section-heading{display:block;margin-bottom:30px}.section-heading h2,.split-heading h2{font-size:38px}.section-heading .intro{margin-top:23px;max-width:100%;font-size:15px}.card-grid{grid-template-columns:1fr;gap:28px}.card-image{aspect-ratio:1.45}.service-card{padding-bottom:18px}.service-card h3{font-size:32px}.service-card .card-topline{margin-top:18px}.service-card p{max-width:45ch}.split{grid-template-columns:1fr;gap:35px}.detail-image{aspect-ratio:1.25}.split-heading p{font-size:15px}.style-grid{grid-template-columns:1fr;gap:20px}.style-grid .image-card{min-height:285px}.area-layout h2{font-size:42px}.area-links{grid-template-columns:repeat(2,1fr);gap:0 22px}.area-links a{font-size:14px;padding:15px 0}.cta-section{padding:58px 0}.cta-inner{display:block}.cta-inner h2{font-size:45px}.cta-inner .btn{margin-top:25px}.footer{padding-top:45px}.footer-grid{gap:35px 23px;grid-template-columns:1fr 1fr;padding-bottom:40px}.footer-intro{grid-column:1/-1}.footer-intro p{max-width:46ch;font-size:14px}.footer-wordmark{font-size:9.3vw;padding:22px 0}.footer-bottom{display:block;font-size:13px}.footer-bottom span{display:block;margin-top:7px}.breadcrumbs{font-size:13px;gap:7px;padding-top:20px;margin-bottom:30px}.inner-hero{padding-bottom:35px}.inner-grid{grid-template-columns:1fr;gap:30px}.inner-hero h1{font-size:43px;max-width:17ch}.inner-hero .lead{font-size:16px;margin-top:20px}.inner-hero .hero-subline{font-size:17px}.inner-hero .actions{gap:10px;margin-top:23px}.inner-hero .actions .btn{font-size:13px;min-height:48px;padding:12px 15px;gap:15px}.inner-art{aspect-ratio:1.8}.scope-strip{gap:13px 20px;padding-top:22px;font-size:13px}.prose-section{margin-bottom:34px}.prose-section h2{font-size:32px;margin-bottom:15px}.prose-section p{font-size:16px;line-height:1.85}.sidebar{padding:22px}.sidebar nav{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr;gap:24px}.process-step h3{font-size:19px}.process-step{padding-top:16px}.proof-block{grid-template-columns:1fr;gap:24px}.proof-block h2{font-size:34px}.proof-block p{font-size:15px}.faq-layout{grid-template-columns:1fr;gap:30px}.faq-layout h2{font-size:38px}.faq-list summary{font-size:16px;padding:19px 0}.faq-list details p{font-size:15px}.related-list{grid-template-columns:1fr;gap:10px}.related-item{min-height:76px;padding:20px;font-size:15px}.service-directory{grid-template-columns:1fr}.directory-card{padding:23px;min-height:165px}.filter-bar{gap:7px}.filter-btn{padding:9px 12px;font-size:13px}.area-card-grid{grid-template-columns:1fr;gap:14px}.area-card{min-height:155px;padding:23px}.all-services-grid{grid-template-columns:1fr}.all-services-grid a{font-size:14px}.launch-facts{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;gap:30px}.compare-wrap{aspect-ratio:1.1}.compare-control{gap:15px}.compare-control label{max-width:100px;font-size:13px}.compare-labels{inset:12px 12px auto;font-size:13px}.compare-labels span{padding:5px 7px}.article-header{padding-bottom:0}.article-header h1{font-size:43px}.article-prose h2{font-size:33px;margin:33px 0 15px}.article-prose p{font-size:16px;line-height:1.9}.article-cover{min-height:225px;object-fit:cover}.contact-grid{grid-template-columns:1fr;gap:35px}.quote-form{padding:22px}.form-grid{grid-template-columns:1fr;gap:17px}.field.full{grid-column:auto}.contact-grid h2{font-size:35px}.field input,.field select,.field textarea{font-size:18px}.notice{padding:17px 19px;font-size:14px}.big-code{font-size:110px}.page-map{columns:1}.table-wrap{font-size:14px}.text-link{gap:25px}.hero-bottom .scroll-hint .arrow{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.service-card:hover img,.image-card:hover img{transform:none}.btn:hover{transform:none}}
@media print{.header,body,.dark,.darker,.inner-hero{background:white!important;color:black!important}.wrap{padding:0}.section{padding:25px 0}.inner-grid,.content-layout,.contact-grid{display:block}.inner-art{display:none}a{text-decoration:underline}.faq-list details p{display:block}h1{font-size:36px!important}.hero-art{opacity:.2}.hero{min-height:auto}.hero-grid{min-height:auto}.hero-copy{color:#111}.hero h1{font-size:50px}}

[hidden]{display:none!important}

/* A future video overlays the still; the still remains the error/reduced-motion fallback. */
.hero-art video{position:absolute;inset:0;object-fit:cover}

/* Keep the nested article image inside its cover instead of over the prose. */
.article-cover{aspect-ratio:5/3;overflow:hidden}
.article-cover img{display:block;width:100%;height:100%;object-fit:cover}
