


@font-face { font-family:"Barlow Condensed"; src:url("/fonts/barlow-condensed-600.woff2") format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"Barlow Condensed"; src:url("/fonts/barlow-condensed-700.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Barlow"; src:url("/fonts/barlow-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Barlow"; src:url("/fonts/barlow-500.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:"Barlow"; src:url("/fonts/barlow-600.woff2") format("woff2"); font-weight:600; font-style:normal; font-display:swap; }
@font-face { font-family:"IBM Plex Mono"; src:url("/fonts/plex-mono-400.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"IBM Plex Mono"; src:url("/fonts/plex-mono-500.woff2") format("woff2"); font-weight:500; font-style:normal; font-display:swap; }

:root {
  --red:#e4002b;               
  --red-deep:#b8001f;          
  --display:"Barlow Condensed","Arial Narrow",Arial,sans-serif;
  --body:"Barlow",Arial,Helvetica,sans-serif;
  --mono:"IBM Plex Mono",Menlo,Consolas,monospace;
  --ease-out:cubic-bezier(.2,.7,.2,1);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
}
:focus-visible { outline-color:var(--red); }
::selection { background:var(--red); color:#fff; }


h1,h2,h3,.hero-navigation-label,.service-panel h3,.directory h2,.fact h2,.material-label,.mantra-bottom p,.urgent-number {
  font-family:var(--display); font-weight:700; letter-spacing:-.02em;
}
h1 { font-size:clamp(4.4rem,9.6vw,11.5rem); line-height:.88; letter-spacing:-.03em; }
h2 { letter-spacing:-.025em; line-height:.98; }
em { font-family:var(--display); font-style:normal; font-weight:700; color:var(--red); letter-spacing:-.02em; }
h1 em,h2 em { font-size:1em; }
.hero-navigation-label em { color:var(--red); letter-spacing:-.02em; transition:color .2s; }
.hero-navigation a:hover .hero-navigation-label em,.hero-navigation a:focus-visible .hero-navigation-label em { color:#fff; }
.ai-band em,.panel-dark em { color:#ff8095; }
p,li,dd,dt,.hero-copy,.page-lede p,.editorial p { font-family:var(--body); }
.hero-copy { font-size:clamp(1.05rem,1.35vw,1.25rem); line-height:1.55; letter-spacing:0; max-width:52ch; }
.intro-columns p,.editorial p,.directory p,.fact p,.working-steps p,.detail-rows p,.service-panel p,.page-lede p { letter-spacing:0; }


.mono-label,.section-kicker,.breadcrumbs,.eyebrow,.small-label,.availability,.closing-legal,.footer-base,.enquiry-field label,.top-contact-context,.hero-role-selector legend,.hero-role-selector span,.material figcaption,.wide-photo figcaption,.work-card figcaption,.field-cards figcaption,.panel-top,.directory a > span:first-child,.working-steps li > span {
  font-family:var(--mono); font-weight:500; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; line-height:1.5;
}
.enquiry-field label span { text-transform:none; letter-spacing:.04em; font-weight:400; }
.breadcrumbs a { text-decoration:none; }
.breadcrumbs a:hover { color:var(--red); }


.top { min-height:104px; }
.desktop-nav a { font-family:var(--body); font-weight:500; font-size:.98rem; letter-spacing:-.005em; position:relative; padding:.6rem 0; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:0; bottom:.2rem; height:2px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .32s var(--ease-out); }
.desktop-nav a:hover { text-decoration:none; }
.desktop-nav a:hover::after,.desktop-nav [aria-current=page]::after { transform:scaleX(1); }
.desktop-nav [aria-current=page] { text-decoration:none; }
.top .top-contact { gap:.15rem; padding:.7rem 1.15rem; background:var(--red); transition:background .2s; }
.top .top-contact:hover { background:var(--red-deep); }
.top .top-contact .top-contact-context { font-size:.62rem; letter-spacing:.14em; opacity:.92; }
.top .top-contact .top-contact-number { font-family:var(--display); font-weight:700; font-size:1.2rem; letter-spacing:-.01em; }
.mobile-menu summary { font-family:var(--mono); font-weight:500; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.mobile-menu nav a { font-family:var(--display); font-weight:600; font-size:1.35rem; letter-spacing:-.02em; }


.homepage .hero { row-gap:0; }
.homepage .hero h1 { align-self:start; }
.homepage .hero-bottom { margin-top:2.6rem; }


.hero-role-intro { max-width:52ch; margin:0 0 .9rem; font-size:clamp(1rem,1.15vw,1.08rem); line-height:1.5; color:var(--ink); }
.hero-role-intro strong { font-weight:600; }
strong { font-weight:600; }
.homepage .hero-role-selector { display:flex; flex-wrap:wrap; align-items:baseline; gap:0 1.6rem; max-width:none; margin:0 0 1.1rem; }
.homepage .hero-role-selector legend { float:left; position:static; width:auto; height:auto; margin:0 .4rem 0 0; padding:0; clip-path:none; overflow:visible; color:var(--muted); }
.homepage .hero-role-selector label { display:inline-block; }

.homepage .hero-role-selector span { position:relative; display:inline-flex; align-items:center; min-height:44px; padding:.35rem 0; border:0; background:transparent; color:var(--ink); transition:color .28s var(--ease-out); }
.homepage .hero-role-selector span::after { content:""; position:absolute; left:0; right:0; bottom:.35rem; height:2px; background:var(--ink); opacity:.3; transform:scaleX(0); transform-origin:left; transition:transform .34s var(--ease-out),opacity .2s,background-color .2s; }
.homepage .hero-role-selector label + label span { border-left:0; }
.homepage .hero-role-selector label:hover span::after { transform:scaleX(1); }
.homepage .hero-role-selector:has(input:checked) span { color:var(--muted); }
.homepage .hero-role-selector input:checked + span { background:transparent; color:var(--ink); box-shadow:none; }
.homepage .hero-role-selector input:checked + span::after { background:var(--red); opacity:1; transform:scaleX(1); }
.homepage .hero-role-selector input:focus-visible + span { outline:3px solid var(--red); outline-offset:4px; }

.homepage #hero-description.is-exchanging { overflow:hidden; }
@media(max-width:760px) { .homepage .hero-role-selector { gap:0 1.25rem; } .homepage .hero-role-selector legend { float:none; flex-basis:100%; margin:0 0 .1rem; } }
@media(max-width:400px) { .homepage .hero-role-selector { gap:0 1rem; } .homepage .hero-role-selector span { font-size:.66rem; padding-inline:0; } }


.hero-navigation { color:#f5f2ec; }
.hero-navigation a { padding-block:1.35rem; }
.hero-navigation-label { font-weight:600; font-size:clamp(1.15rem,1.3vw,1.5rem); letter-spacing:-.02em; line-height:1.05; }
.hero-navigation-label em { font-size:clamp(1.9rem,2.4vw,2.8rem); }
.hero-navigation a:first-child .hero-navigation-label { font-size:clamp(1.35rem,1.6vw,1.85rem); }
.hero-navigation a:first-child .hero-navigation-label em { font-size:clamp(2.3rem,3vw,3.5rem); }
.hero-navigation a > span:last-child { font-family:var(--body); font-weight:400; }
.hero-navigation a > span:last-child,.hero-navigation a:first-child > span:last-child { color:#c7c4bc; }
.hero-navigation a:hover::before,.hero-navigation a:focus-visible::before { background:var(--red); }


.photo-background .hero { padding-bottom:7.5rem; background-image:linear-gradient(90deg,rgba(245,242,236,.97) 0%,rgba(245,242,236,.93) 34%,rgba(245,242,236,.66) 54%,rgba(245,242,236,.18) 78%,rgba(245,242,236,.12) 100%),url("/photos/field-1-01.jpeg"); }
@media(max-width:1050px) {
  .photo-background .hero { padding-bottom:5.5rem; background-image:linear-gradient(180deg,rgba(245,242,236,.97) 0%,rgba(245,242,236,.93) 40%,rgba(245,242,236,.93) 80%,rgba(245,242,236,.35) 100%),url("/photos/field-1-01.jpeg"); background-position:60% center; }
  .homepage .hero-bottom { margin-top:1.6rem; }
}


.homepage .intro { padding-block:6.5rem 5.5rem; }
.homepage .intro-content { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); column-gap:clamp(2.5rem,6vw,8rem); align-items:start; }
.homepage .intro-content h2 { grid-column:1; grid-row:1 / 3; margin:0; font-size:clamp(2.4rem,3.4vw,3.8rem); }
.homepage .intro-content .intro-columns { grid-column:2; grid-row:1; margin:.35rem 0 0; }
.homepage .intro-content .intro-summary p { font-size:1.12rem; line-height:1.65; color:var(--ink); max-width:46ch; }
.homepage .intro-content > .text-link { grid-column:2; grid-row:2; margin-top:1.75rem; }
@media(max-width:1050px) { .homepage .intro { padding-block:4.5rem; } .homepage .intro-content { display:block; } .homepage .intro-content .intro-columns { margin-top:1.6rem; } }


.homepage .field-section { padding-top:2rem; }
.field-heading .text-link { align-self:end; }
.field-cards figure { overflow:hidden; background:#e9e6df; }
.field-cards img { transition:transform .9s var(--ease-out),opacity .3s; }
.field-cards a:hover img { transform:scale(1.03); opacity:1; }


.text-link { font-family:var(--body); font-weight:500; }
.text-link span[aria-hidden] { display:inline-block; transition:transform .3s var(--ease-out); }
.text-link:hover span[aria-hidden] { transform:translate(3px,-3px); }
.text-link { transition:color .2s,border-color .2s; }


.homepage .closing-contact { margin-top:5rem; }
.homepage .closing-inner { padding-block:4rem 2.5rem; }
.homepage .closing-contact h2 { font-size:clamp(1.9rem,2.4vw,2.6rem); line-height:1.05; letter-spacing:-.03em; }
.homepage .closing-contact h2 em { font-size:1.04em; }
.homepage .closing-contact .contact-right > a { font-family:var(--body); font-weight:500; font-size:1.15rem; letter-spacing:0; color:var(--red); transition:border-color .2s; }
.homepage .closing-contact .contact-right > a:hover { border-color:var(--red); }
.homepage .closing-contact .contact-right > a span[aria-hidden] { display:inline-block; transition:transform .3s var(--ease-out); }
.homepage .closing-contact .contact-right > a:hover span[aria-hidden] { transform:translate(3px,-3px); }
.homepage .closing-contact .availability { margin-top:1.4rem; }
.enquiry-field input,.enquiry-field textarea { border-color:#bdbab3; background:#fffdfa; transition:border-color .2s,box-shadow .2s; }
.enquiry-field input:focus,.enquiry-field textarea:focus { outline:none; border-color:var(--ink); box-shadow:0 0 0 3px rgba(228,0,43,.18); }
.enquiry-submit button { font-family:var(--mono); font-weight:500; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; padding:.9rem 1.5rem; transition:background .2s; }
.enquiry-submit button:hover:not(:disabled) { background:var(--red-deep); }
.homepage .closing-legal { font-size:.66rem; }



@media(min-width:1051px) and (prefers-reduced-motion:no-preference) {
  .homepage h1 .line { display:inline-block; animation:line-rise 1300ms var(--ease-settle) both; }
  .homepage h1 .line:nth-child(3) { animation-delay:160ms; }
  .homepage .hero-bottom { animation:soft-rise 1200ms var(--ease-settle) 560ms both; }
  
  .photo-background .hero { position:relative; }
  .photo-background .hero::before { content:""; position:absolute; inset:0; background:var(--paper); pointer-events:none; animation:veil-lift 1600ms ease-out both; }
  .photo-background .hero > * { position:relative; }
}
:root { --ease-settle:cubic-bezier(.16,1,.3,1); }
@keyframes line-rise { from { opacity:0; transform:translateY(.6em); } to { opacity:1; transform:none; } }
@keyframes soft-rise { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:none; } }
@keyframes veil-lift { from { opacity:1; } to { opacity:0; } }


html.js-motion [data-reveal] { opacity:0; transform:translateY(32px); transition:opacity 1.1s var(--ease-settle),transform 1.1s var(--ease-settle); transition-delay:calc(var(--i,0) * 130ms); }
html.js-motion [data-reveal].is-in { opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce) {
  .homepage h1 .line,.homepage .hero-bottom,.photo-background .hero::before { animation:none!important; opacity:1!important; transform:none!important; }
  .photo-background .hero::before { content:none!important; }
  html.js-motion [data-reveal] { opacity:1; transform:none; transition:none; }
  .field-cards img,.desktop-nav a::after,.text-link span[aria-hidden],.homepage .hero-role-selector span,.homepage .hero-role-selector span::after { transition:none!important; }
}



.page-hero { padding-top:3rem; padding-bottom:3.25rem; }
.page-hero h1 { font-size:clamp(3.2rem,5.9vw,6.6rem); line-height:.94; }
.page-hero-grid { grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); align-items:end; gap:clamp(2rem,5vw,6rem); }
.page-lede p { font-size:1.08rem; line-height:1.6; }
.page-hero .actions { display:none; }


.editorial { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); column-gap:clamp(2rem,5vw,6rem); padding-block:4.5rem; border-top:1px solid var(--line); }
.editorial > div { border-top:0; padding-top:0; min-width:0; }
.editorial h2 { font-size:clamp(2rem,2.9vw,3.1rem); max-width:14ch; margin:0; }
.editorial > div > p { max-width:66ch; font-size:1.05rem; line-height:1.7; color:var(--ink); }
.editorial > div > p:first-child { margin-top:.2rem; }
.editorial .detail-rows { margin-top:.2rem; }
.editorial .detail-rows article:first-child { border-top:0; padding-top:.2rem; }
.detail-rows article { grid-template-columns:minmax(0,1fr) minmax(0,1.9fr); }
.detail-rows h3 { font-size:1.15rem; letter-spacing:-.02em; }
.detail-rows p { color:var(--muted); line-height:1.6; }
.note { background:#ece8e0; border-left-color:var(--red); }
.faq details:first-child { border-top:0; }
.faq details:first-child summary { padding-top:.2rem; }
.faq summary { font-family:var(--body); font-weight:500; font-size:1.1rem; transition:color .2s; }
.faq summary:hover { color:var(--red); }
.faq summary span { transition:transform .3s var(--ease-out); }
.faq details p { color:var(--muted); line-height:1.7; max-width:66ch; }
.related { padding-block:2rem; gap:1.5rem 3rem; flex-wrap:wrap; }
.wide-photo { margin-block:1rem 1rem; }
.wide-photo a { display:block; overflow:hidden; }
.wide-photo img { transition:transform 1s var(--ease-out); }
.wide-photo a:hover img { transform:scale(1.02); }
.wide-photo figcaption { display:none; }
@media(max-width:1050px) { .editorial { display:block; padding-block:3rem; } .editorial h2 { max-width:none; margin-bottom:1.4rem; } .page-hero-grid { align-items:start; } }


.directory a { grid-template-columns:minmax(0,1.1fr) minmax(0,1.5fr) auto; padding-block:1.8rem; transition:color .2s; }
.directory h2 { font-size:clamp(1.6rem,2.4vw,2.5rem); transition:color .2s; }
.directory p { font-family:var(--body); }
.directory a > span:last-child { font-family:var(--body); font-weight:400; font-size:1.8rem; transition:transform .3s var(--ease-out),color .2s; }
.directory a:hover > span:last-child { transform:translate(4px,-4px); color:var(--red); }
@media(max-width:760px) { .directory a { grid-template-columns:1fr auto; } }


.fact { background:#ece8e0; border-top-width:4px; }
.fact h2 { font-size:1.9rem; margin-top:1.2rem; }
.fact p { font-family:var(--body); }


.capabilities dt { font-family:var(--body); font-weight:600; }
.inline-list a { font-family:var(--body); font-weight:500; text-decoration:none; border-bottom:1px solid var(--ink); padding:.35rem 0; transition:color .2s,border-color .2s; }
.inline-list a:hover { color:var(--red); border-color:var(--red); }
.editorial a:not(.text-link):not(.button):not(.inline-list a) { text-decoration-color:var(--line); text-underline-offset:.25em; transition:text-decoration-color .2s; }
.editorial a:not(.text-link):not(.button):hover { text-decoration-color:var(--red); }


.contact { padding-block:4.5rem; border-top:1px solid var(--line); }
.contact h2 { font-size:clamp(2.6rem,4.6vw,5.2rem); }
.contact-right p { font-family:var(--body); font-size:1.05rem; }
.contact-right > a { font-family:var(--body); font-weight:500; font-size:clamp(1.3rem,2.1vw,2.1rem); letter-spacing:-.01em; transition:border-color .2s,color .2s; }
.contact-right > a:hover { color:var(--red); border-color:var(--red); }
.contact-right > a span[aria-hidden] { display:inline-block; font-weight:400; transition:transform .3s var(--ease-out); }
.contact-right > a:hover span[aria-hidden] { transform:translate(3px,-3px); }
.availability { margin-top:1rem; }


.footer-main nav a,.footer-services a { font-family:var(--body); font-weight:500; }
.footer-base { font-size:.66rem; }


.urgent-band p { font-family:var(--body); }
.urgent-number { font-size:clamp(2.4rem,5.5vw,5.5rem); }
.error-links { padding-bottom:4rem; }


.contact-page .contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); gap:clamp(2rem,5vw,6rem); padding-block:1rem 4.5rem; border-top:0; }
.contact-page .contact-right { justify-content:flex-start; }
.contact-page .contact-right p { margin-bottom:1.5rem; }
.contact-page .contact-right > a { max-width:420px; font-size:1.35rem; color:var(--red); }
.contact-page .contact-right > a:hover { color:var(--red-deep); }
.contact-page .contact-page-form h2 { font-size:1.15rem; font-family:var(--body); font-weight:600; letter-spacing:0; margin:0 0 1.25rem; }
@media(max-width:1050px) { .contact-page .contact { display:block; } .contact-page .contact-page-form { margin-top:2.5rem; } }

.homepage-enquiry { display:grid; grid-template-columns:1fr 1fr; gap:1rem; min-width:0; }
.enquiry-field { min-width:0; }
.enquiry-field label { display:block; margin-bottom:.4rem; }
.enquiry-field input,.enquiry-field textarea { display:block; width:100%; min-width:0; min-height:44px; padding:.7rem .8rem; border:1px solid #bdbab3; border-radius:0; background:#fffdfa; color:var(--ink); font:inherit; font-size:1rem; transition:border-color .2s,box-shadow .2s; }
.enquiry-field textarea { min-height:110px; resize:vertical; }
.enquiry-field [aria-invalid="true"] { border-color:var(--red); }
.enquiry-wide { grid-column:1 / -1; }
.field-error { color:var(--red); font-size:.82rem; line-height:1.4; margin:.35rem 0 0; font-family:var(--body); }
.enquiry-submit button { min-height:46px; border:0; border-radius:0; background:var(--red); color:#fff8f3; cursor:pointer; }
.enquiry-submit button:disabled { cursor:default; opacity:.65; }
#contact-status { max-width:65ch; margin:.75rem 0 0; font-size:.9rem; line-height:1.5; font-family:var(--body); }
#contact-status:empty { display:none; }
.contact-status--error { color:var(--red); }
@media(max-width:400px) { .homepage-enquiry { grid-template-columns:1fr; } }


.page-hero h1 { font-size:clamp(3.2rem,5.6vw,6.4rem); }
@media(max-width:1050px) { .page-hero-grid { grid-template-columns:1fr; gap:1.4rem; } }
.editorial > div:first-child,.editorial > div:last-child { border-top:0; padding-top:0; }
.editorial h2 { font-size:clamp(1.9rem,2.7vw,2.9rem); max-width:none; }
.editorial .intro-columns { grid-template-columns:1fr; gap:1rem; margin:.2rem 0 1rem; }
.editorial .intro-columns p { max-width:66ch; font-size:1.05rem; color:var(--ink); }
.editorial .text-link { margin-top:1.25rem; }



.register { display:block; padding-block:1.4rem; border-bottom:1px solid var(--line); }
.register .mono-label { display:block; color:var(--muted); margin-bottom:.55rem; }
.register nav { display:flex; flex-wrap:wrap; gap:.15rem 1.4rem; }
.register nav a { font-family:var(--body); font-weight:500; font-size:1rem; padding:.2rem 0; border-bottom:1px solid transparent; transition:color .2s,border-color .2s; }
.register nav a:hover { color:var(--red); border-bottom-color:var(--red); }
.homepage .intro { padding-block:4.5rem 4rem; }
.homepage .field-section { padding-top:1rem; }
.field-cards img { height:clamp(220px,22vw,320px); }
.homepage .closing-contact { margin-top:3.5rem; }
@media(max-width:760px) { .register nav { gap:.1rem 1.1rem; } }


.page-hero { padding-bottom:2.5rem; }
.page-hero-grid.has-photo { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); align-items:end; gap:clamp(2rem,4vw,5rem); }
.page-hero-grid.has-photo .page-hero-text { display:grid; gap:1.6rem; align-content:end; }
.page-hero-grid.has-photo .page-lede p { max-width:46ch; }
.page-hero-grid.has-photo figure { margin:0; width:100%; }
.page-hero-grid.has-photo figure a { display:block; overflow:hidden; }
.page-hero-grid.has-photo img { height:clamp(280px,30vw,440px); width:100%; object-fit:cover; }
.editorial { padding-block:3.25rem; }
.editorial .merged-heading { font-family:var(--mono); font-weight:500; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin:2.2rem 0 .2rem; }
.editorial .merged-heading + .detail-rows { margin-top:.2rem; }
.editorial .merged-heading + .detail-rows article:first-child { border-top:1px solid var(--line); padding-top:1.4rem; }
.contact { padding-block:3.5rem; }
.related { padding-block:1.5rem; }
@media(max-width:1050px) { .page-hero-grid.has-photo { grid-template-columns:1fr; } .page-hero-grid.has-photo img { height:clamp(220px,40vw,320px); } .editorial { padding-block:2.75rem; } }

.photo-background .hero { padding-bottom:5rem; }


html.js-motion .directory a[data-reveal],html.js-motion .fact-grid .fact[data-reveal] { transition-duration:.6s; transition-delay:calc(var(--i,0) * 50ms); }


.facts-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.4rem clamp(2rem,4vw,5rem); padding-block:1.7rem; border-top:1px solid var(--line); }
.facts-strip .mono-label { display:block; color:var(--muted); margin-bottom:.35rem; }
.facts-strip p { margin:0; font-size:.98rem; line-height:1.55; color:var(--ink); max-width:62ch; }
.facts-strip .text-link { margin-top:.6rem; font-size:.9rem; }
.editorial + .facts-strip { border-top:0; padding-top:0; }
.facts-strip + .editorial { border-top:1px solid var(--line); }
.editorial.scope-only { padding-top:3rem; }
.editorial.scope-only .detail-rows { margin-top:0; }
.editorial.scope-only .detail-rows article:first-child { border-top:0; padding-top:.2rem; }
.ai-band ul { list-style:none; margin:1.6rem 0 0; padding:0; display:grid; gap:.7rem; }
.ai-band li { padding-left:1rem; border-left:2px solid #ff8095; color:#d5d4cd; font-family:var(--body); line-height:1.5; }
.ai-band li strong { color:var(--paper); font-weight:600; }
.ai-band .ai-responsibility { margin-top:1.6rem; }
.fact-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.fact .text-link { margin-top:1rem; font-size:.9rem; min-height:0; }
.capabilities + .inline-list { margin-top:1.4rem; }



@media(min-width:1051px) and (prefers-reduced-motion:no-preference) {
  .page-hero h1 .line { display:inline-block; animation:line-rise 1300ms var(--ease-settle) both; }
  .page-hero h1 .line:nth-child(3) { animation-delay:160ms; }
  .page-hero .page-lede { animation:soft-rise 1200ms var(--ease-settle) 560ms both; }
  .page-hero-grid.has-photo figure a { position:relative; }
  .page-hero-grid.has-photo figure a::before { content:""; position:absolute; inset:0; z-index:1; background:var(--paper); pointer-events:none; animation:veil-lift 1600ms ease-out both; }
}
@media(prefers-reduced-motion:reduce) {
  .page-hero h1 .line,.page-hero .page-lede { animation:none!important; opacity:1!important; transform:none!important; }
  .page-hero-grid.has-photo figure a::before { content:none!important; }
}

html.js-motion .detail-rows > article[data-reveal],html.js-motion .facts-strip > div[data-reveal],html.js-motion .work-card[data-reveal] { transition-duration:.6s; transition-delay:calc(var(--i,0) * 50ms); }


.page-hero.service-photo-hero {
 position:relative; isolation:isolate; overflow:hidden; max-width:none;
 padding-top:2.4rem; padding-bottom:4rem; min-height:490px;
 display:flex; flex-direction:column; justify-content:center;
 background:var(--paper);
}
.service-photo-hero .service-hero-photo {
 position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover;
}
.service-photo-hero::before {
 content:""; position:absolute; inset:0; z-index:-1;
 background:linear-gradient(90deg,rgba(245,242,236,.98) 0%,rgba(245,242,236,.95) 30%,rgba(245,242,236,.84) 49%,rgba(245,242,236,.3) 72%,rgba(245,242,236,.12) 100%);
}
.service-photo-hero .page-hero-grid { display:block; }
.service-photo-hero .page-hero-text { display:grid; gap:1.6rem; max-width:850px; }
.service-photo-hero h1 { font-size:clamp(3.2rem,5.6vw,6.4rem); }
.service-photo-hero .page-lede p { max-width:52ch; }
.service-photo-hero .breadcrumbs { margin-bottom:2rem; }
@media(max-width:1050px) {
 .page-hero.service-photo-hero { min-height:0; padding-top:2.4rem; padding-bottom:5rem; }
 .service-photo-hero::before { background:linear-gradient(90deg,rgba(245,242,236,.96),rgba(245,242,236,.86) 58%,rgba(245,242,236,.55)); }
 .service-photo-hero .page-hero-text { max-width:760px; }
}
@media(max-width:600px) {
 .page-hero.service-photo-hero { padding-top:2rem; padding-bottom:7rem; }
 .service-photo-hero::before { background:linear-gradient(180deg,rgba(245,242,236,.95) 0%,rgba(245,242,236,.91) 55%,rgba(245,242,236,.88) 76%,rgba(245,242,236,.25) 100%); }
 .service-photo-hero .page-hero-text { gap:1.5rem; }
 .service-photo-hero h1 { font-size:clamp(2.8rem,10vw,3.6rem); }
}
@media print {
 .page-hero.service-photo-hero { min-height:0; padding:0 0 1rem; }
 .service-photo-hero .service-hero-photo,.service-photo-hero::before { display:none; }
}


.page-lede .turnaround-ambition { margin-top:1em; }
