@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/cormorant-garamond.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400 700;font-display:swap;src:url('assets/fonts/cormorant-garamond-italic.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/dm-sans.woff2') format('woff2')}

/* Foundation */
:root{color-scheme:light;--ink:#102845;--blue:#0555a0;--navy:#09243d;--orange:#f0681f;--orange-ink:#ab4313;--paper:#f4f3ef;--white:#fff;--contact-surface:#e7eff5;--muted:#586a7d;--line:#dce2e4;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--page:1200px;--topline-height:28px;--masthead-height:108px;--ticker-height:68px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--blue)}
button,input,select,textarea{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;max-width:100%;height:auto}
svg{display:block;flex:none}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--blue);outline-offset:5px}
.hero :focus-visible,.site-footer :focus-visible,.fit-specialism :focus-visible,.contact-sidebar :focus-visible,.quote-band :focus-visible,.journal-feature :focus-visible{outline-color:#ffbd96}
.footer-invitation :focus-visible{outline-color:var(--blue)}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:1.04}
h1{font-size:clamp(3.1rem,5.7vw,5.5rem)}
h2{font-size:clamp(2.55rem,4.45vw,4.15rem);font-weight:600;line-height:1.08}
h3{font-size:1.7rem;font-weight:600}
h1 strong,h2 strong{font-weight:650}
h1 strong,h2 em{color:var(--blue)}
p{color:var(--muted)}
p+p{margin-top:1.15rem}
.wrap{width:min(calc(100% - 64px),var(--page));margin-inline:auto}
.section{padding-block:clamp(72px,6vw,96px);background:var(--white)}
.section--soft{background:var(--paper)}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;color:var(--blue);font-size:.72rem;font-weight:650;letter-spacing:.12em;line-height:1.5;text-transform:uppercase}
.eyebrow::before{display:none}
.section-head{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:clamp(2rem,4vw,4rem);margin-bottom:2.6rem}
.section-head h2{margin-top:.85rem;max-width:700px}
.section-head>p{max-width:390px;line-height:1.8;justify-self:end}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;min-height:50px;padding:.8rem 1.35rem;border:1px solid transparent;border-radius:2px;background:var(--orange);color:var(--ink);font-size:.85rem;font-weight:650;line-height:1.4;transition:background .2s,transform .2s}
.button:hover{background:var(--orange);color:var(--ink);transform:translateY(-2px)}
.button--dark{background:var(--navy);color:#fff}
.button--dark:hover{background:var(--blue);color:#fff}
.button--outline{border-color:var(--ink);background:transparent;color:var(--ink)}
.text-link{display:inline-flex;align-items:center;gap:.75rem;padding-bottom:.2rem;border-bottom:0;color:var(--blue);font-size:.85rem;font-weight:600;line-height:1.6}
.text-link::after{content:'↗';color:var(--orange);font-size:1.05rem}
.text-link:hover{color:var(--ink);border-color:var(--orange)}
.skip-link{position:fixed;top:-100px;left:20px;z-index:200;padding:.6rem 1rem;background:#fff;color:var(--ink)}
.skip-link:focus{top:12px}

/* Header and full-screen mobile navigation */
.topline{height:var(--topline-height);background:var(--navy);color:#d5e1ea;font-size:.66rem;line-height:1.2}
.topline .wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.topline-contact{display:flex;gap:1.5rem;color:#fff}
.topline-contact a:hover{color:#ffbf97}
.site-header{position:sticky;top:0;z-index:30;background:#fff;border-bottom:1px solid #e8ecee}
.header-row{height:calc(var(--masthead-height) - var(--topline-height) - 1px);display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;flex:none;padding:0;line-height:0}
.brand img{width:245px;height:auto}
.nav-primary{display:flex;align-items:center;gap:clamp(1.3rem,2.7vw,2.4rem);font-size:.83rem;font-weight:600}
.nav-primary>a:not(.nav-cta),.nav-dropdown summary{display:block;padding:.7rem 0;cursor:pointer}
.nav-primary>a[aria-current='page']{color:var(--blue)}
.nav-primary>a[aria-current='page']::after{display:block;height:2px;margin-top:2px;content:'';background:var(--orange)}
.nav-cta{display:inline-flex;align-items:center;gap:1rem;padding:.8rem 1.25rem;background:var(--navy);color:#fff}
.nav-cta:hover{background:var(--blue);color:#fff}
.nav-dropdown{position:relative}
.nav-dropdown summary{list-style:none}
.nav-dropdown summary::-webkit-details-marker{display:none}
.nav-dropdown summary::after{content:'⌄';margin-left:.5rem;color:var(--orange)}
.nav-dropdown[open] summary,.nav-dropdown.is-current summary{color:var(--blue)}
.nav-menu{position:absolute;top:100%;left:-1rem;width:260px;padding:.7rem;background:#fff;border:1px solid var(--line);box-shadow:0 18px 35px rgba(9,36,61,.12)}
.nav-menu a{display:block;padding:.5rem .65rem;font-size:.8rem;line-height:1.5}
.nav-menu a:hover{background:var(--paper)}
.nav-masthead,.nav-secondary,.menu-toggle{display:none}
html.menu-open{overflow:hidden}

/* First view: the masthead, hero and service strip fit together. */
.hero-home{position:relative;isolation:isolate;height:calc(100svh - var(--masthead-height) - var(--ticker-height));min-height:0;background:var(--navy);color:#fff}
.hero-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,22,40,.95) 0%,rgba(5,22,40,.81) 36%,rgba(5,22,40,.25) 73%,rgba(5,22,40,.1) 100%)}
.hero-grid{position:relative;display:flex;align-items:center;height:100%;padding-block:32px}
.hero-copy{width:100%;max-width:700px}
.hero .eyebrow{color:#d3dfeb;font-size:.65rem}
.hero h1{margin:1rem 0 1.25rem;font-size:clamp(3.65rem,7.3vw,7rem);line-height:.97;letter-spacing:-.035em;color:#fff}
.hero h1 strong{color:#f8c6a8;font-weight:600}
.hero-copy>p{max-width:530px;color:#dbe2e9;font-size:1rem;line-height:1.8}
.hero-actions{display:flex;align-items:center;gap:1.7rem;margin-top:1.65rem}
.hero-service-link{display:inline-flex;align-items:center;gap:1rem;padding:.7rem 0;color:#fff;font-size:.86rem;border-bottom:1px solid #ffffff5c}
.hero-service-link:hover{color:#f8c6a8}
.hero-note{display:flex;align-items:center;gap:.6rem;margin-top:1.45rem;color:#ccd7e1;font-size:.7rem}
.hero-note>span{display:none}
.service-marquee{position:relative;display:flex;align-items:center;height:var(--ticker-height);border-block:1px solid #dce2e4;background:var(--paper);overflow:hidden}
.marquee-window{flex:1;min-width:0;overflow:hidden}
.marquee-track{display:flex;width:max-content;animation:services-move 35s linear infinite;will-change:transform}
.marquee-group{display:flex;align-items:center;flex:none}
.marquee-group>a{display:flex;align-items:center;gap:2.5rem;padding-right:2.5rem;color:var(--ink);white-space:nowrap;font:500 1.35rem/1.2 var(--serif)}
.marquee-group>a>span{color:var(--orange);font-size:.8rem}
.marquee-group>a:hover{color:var(--blue)}
.marquee-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);z-index:1;display:grid;place-items:center;width:44px;height:44px;margin:0;border:0;border-radius:3px;background:var(--paper);box-shadow:-12px 0 16px var(--paper);color:var(--ink);font-size:1rem}
.marquee-window:focus-within .marquee-track,.service-marquee[data-paused='true'] .marquee-track{animation-play-state:paused}
@media(hover:hover) and (pointer:fine){.marquee-window:hover .marquee-track{animation-play-state:paused}}
@keyframes services-move{to{transform:translateX(-50%)}}

/* Introduction: quiet photography and clear typography. */
.clarity-layout{display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(3rem,7vw,7rem)}
.clarity-visual{position:relative;padding:0;max-width:480px}
.clarity-photo{position:relative;width:100%;aspect-ratio:4/5;overflow:hidden;margin:0;background:var(--paper)}
.clarity-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.clarity-caption{position:relative;padding:1.5rem 0 0}
.clarity-caption>span{color:var(--muted);font-size:.6rem;letter-spacing:.13em;font-weight:600}
.clarity-caption p{margin-top:.4rem;color:var(--ink);font:500 2rem/.98 var(--serif);letter-spacing:-.025em}
.clarity-caption em{color:var(--blue)}
.clarity-copy h2{margin:1rem 0 1.25rem;font-size:clamp(2.6rem,4.4vw,4rem)}
.clarity-copy h2 strong{color:var(--blue)}
.clarity-copy>p{max-width:64ch;font-size:1rem;line-height:1.85}
.clarity-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.8rem 0}
.clarity-principles>div{padding-left:.85rem;border-left:0}
.clarity-principles span{display:block;color:var(--orange-ink);font:600 .85rem var(--serif)}
.clarity-principles strong{display:block;margin:.25rem 0;color:var(--ink);font:600 1.25rem var(--serif)}
.clarity-principles p{font-size:.73rem;line-height:1.55}

/* Service journeys: a sector feature and two open, practical routes. */
.client-fit-section{background:var(--paper)}
.fit-heading{display:grid;grid-template-columns:1.3fr .7fr;align-items:end;gap:3rem;margin-bottom:3rem}
.fit-heading h2{margin-top:.85rem;font-size:clamp(2.6rem,4.4vw,4rem)}
.fit-heading h2 strong{color:var(--blue)}
.fit-heading>p{max-width:40ch;font-size:.95rem;line-height:1.8}
.fit-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:stretch}
.fit-specialism{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(1.7rem,3.5vw,3.4rem);background:var(--navy);color:#fff;border-radius:0}
.fit-kicker,.fit-route-label{font-size:.62rem;font-weight:600;letter-spacing:.13em;line-height:1.6}
.fit-kicker{color:#d3dfe8}
.fit-specialism h3{margin:1.6rem 0;font-size:clamp(2.6rem,4.3vw,4.2rem);line-height:1;color:#fff}
.fit-specialism h3 em{color:#f8c6a8}
.fit-specialism>p{color:#d2dee7;font-size:.94rem;line-height:1.8;max-width:46ch}
.fit-flow{display:grid;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);align-items:center;gap:.65rem;width:100%;margin-top:auto;padding-block:2.3rem}
.fit-flow>div{display:grid;gap:.75rem;align-content:start}
.fit-flow svg{color:#f8b68e}
.fit-flow span{color:#d6e2eb;font-size:.67rem;line-height:1.5}
.fit-flow>i{font-style:normal;color:#91a9ba}
.fit-primary-link{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;width:100%;padding-top:1.2rem;border-top:0;color:#fff;font-size:.85rem;font-weight:600;line-height:1.6}
.fit-primary-link>span{color:#f8b68e;font-size:1.2rem}
.fit-primary-link:hover{color:#f8c6a8}
.fit-routes{display:grid;align-content:space-between;gap:2.5rem}
.fit-route{padding:1.4rem 0 0;border-top:0}
.fit-route-label{color:var(--blue)}
.fit-route h3{margin:.8rem 0 1rem;font-size:clamp(2.2rem,3vw,3rem)}
.fit-route>p{font-size:.94rem;line-height:1.8;max-width:48ch}
.fit-route-links{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.6rem;margin-top:1.2rem}
.fit-route-links a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:36px;font-size:.78rem;color:var(--blue);line-height:1.5}
.fit-route-links a>span{color:var(--orange)}
.fit-route-links a:hover{text-decoration:underline;text-underline-offset:4px}
.fit-help{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-top:1.6rem;margin-top:2rem;border-top:0}
.fit-help p{font-size:.86rem;max-width:75ch}
.fit-help strong{color:var(--ink)}
.fit-help a{flex:none}

/* Process: numbers live on a dedicated track, text is always below it. */
.process-section{background:#fff}
.process-timeline,.process-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3rem;list-style:none;padding:0;margin:3.3rem 0 0}
.process-timeline::before,.process-grid::before{display:none}
.process-timeline::after,.process-grid::after{display:none}
.work-process{padding-block:clamp(64px,6vw,88px);background:var(--paper)}
.work-process .section-head h2{font-size:clamp(2.55rem,3.8vw,3.65rem)}
.work-process .section-head{margin-bottom:2.3rem}
.process-outcome{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.3rem;align-items:center;padding:1.6rem 1.8rem;margin-top:2.8rem;border-left:3px solid var(--orange);background:var(--paper)}
.outcome-icon{display:none}
.outcome-label{color:var(--blue);font-size:.58rem;font-weight:650;letter-spacing:.13em}
.process-outcome h3{margin:.25rem 0 .4rem;font-size:1.8rem}
.process-outcome p{font-size:.84rem;line-height:1.7;max-width:65ch}
.process-outcome a{font-size:.8rem}
.section--soft .process-outcome{background:#fff}
.process-timeline li,.process-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.timeline-number,.process-card>span{display:block;width:auto;height:auto;margin-bottom:1.1rem;border:0;border-radius:0;background:none;color:var(--orange-ink);font:600 1.5rem var(--serif);box-shadow:none}
.process-timeline h3,.process-card h3{margin:0 0 .9rem;font-size:1.85rem;line-height:1.08}
.process-timeline p,.process-card p{font-size:.9rem;line-height:1.8}


/* Founder: a genuine portrait with its name outside the photograph. */
.founder-section{background:var(--white)}
.founder-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,8rem);align-items:center}
.founder-portrait{position:relative;padding:0 28px 0 0;max-width:510px}
.founder-portrait::before{display:none}
.founder-portrait>img{position:relative;width:100%;height:auto;object-fit:contain;background:transparent}
.founder-portrait figcaption{position:relative;padding:1.2rem 0 0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem 1rem}
.founder-portrait figcaption strong{font:600 1.45rem var(--serif)}
.founder-portrait figcaption span{color:var(--muted);font-size:.7rem}
.founder-copy h2{margin:.9rem 0 1.3rem;font-size:clamp(2.8rem,4.8vw,4.7rem)}
.founder-copy>p{max-width:60ch;font-size:1rem;line-height:1.85}
.founder-links{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.8rem}

/* Page introductions and service overview */
.page-hero{position:relative;overflow:hidden;padding-block:clamp(56px,6vw,88px);background:var(--paper)}
.page-hero h1{max-width:950px;margin:.85rem 0 1.2rem}
.page-hero p{position:relative;max-width:750px;font-size:1.05rem;line-height:1.8}
.breadcrumb{margin-bottom:1.25rem;color:var(--muted);font-size:.74rem}
.breadcrumb a{color:var(--blue)}
.service-hero-wrap{position:relative}
.service-index-watermark{position:absolute;top:0;right:0;color:#10284509;font:500 clamp(6rem,15vw,12rem)/.8 var(--serif);pointer-events:none}
.service-index-watermark small{display:block;margin-top:1rem;color:#10284560;font:600 .65rem var(--sans);letter-spacing:.15em;text-align:right}
.page-hero .eyebrow,.page-hero h1{position:relative}
.content-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(3rem,7vw,7rem);align-items:center}
.content-copy h2{margin:.7rem 0 1.3rem;max-width:640px}
.content-copy p{max-width:63ch;font-size:1rem;line-height:1.85}
.content-copy .button{margin-top:1.65rem}
.content-photo{width:100%;height:500px;object-fit:cover;border-radius:0}
.about-profile .content-photo{height:auto;aspect-ratio:411/414;border-radius:0}
.profile-contact{margin-top:1.2rem;padding:1rem 0 0 1rem;border-left:2px solid var(--orange);display:grid;gap:.15rem}
.profile-contact strong{font:600 1.4rem var(--serif)}
.profile-contact span{font-size:.76rem;color:var(--muted)}
.profile-contact a{font-size:.88rem;color:var(--blue)}

/* Scope: an explanatory flow beside an accordion of the actual service details. */
.scope-section{background:var(--paper)}
.scope-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.scope-intro h2{margin:.8rem 0 1.15rem;font-size:clamp(2.6rem,4.2vw,4rem)}
.scope-intro h2 strong{color:var(--blue)}
.scope-intro>p{max-width:46ch;font-size:.95rem;line-height:1.8}
.scope-map{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-top:2.2rem;padding-left:0;border-left:0}
.scope-map>span,.scope-map>strong{position:relative;font-size:.72rem;font-weight:500;color:var(--muted)}
.scope-map>span::before,.scope-map>strong::before{display:none}
.scope-map>strong{color:var(--ink);font-weight:650}
.scope-map>strong::before{background:var(--orange)}
.scope-map>i{height:10px}
.scope-accordion{border-top:1px solid #bdcbd4}
.scope-item{border-bottom:1px solid #bdcbd4}
.scope-item>summary{display:grid;grid-template-columns:28px minmax(0,1fr) 24px;gap:1rem;align-items:center;padding:1.25rem 0;list-style:none;cursor:pointer;color:var(--ink);font:500 1.75rem/1.1 var(--serif)}
.scope-item>summary::-webkit-details-marker{display:none}
.scope-number{color:var(--orange-ink);font:600 .83rem var(--serif)}
.scope-toggle{color:var(--blue);font:400 1.4rem var(--sans);text-align:center;transition:transform .2s}
.scope-item[open] .scope-toggle{transform:rotate(45deg)}
.scope-item>div{padding:0 2.5rem 1.3rem 2.75rem}
.scope-item p{font-size:.93rem;line-height:1.8}

/* People and sector information */
.team-section{background:var(--paper)}
.team-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,7rem)}
.team-layout h2{margin:.8rem 0 1.3rem}
.team-layout h2 strong{color:var(--blue)}
.team-layout>div>p{max-width:47ch;font-size:.97rem;line-height:1.8}
.team-layout .text-link,.content-copy .text-link{margin-top:1.5rem}
.team-principles{display:grid;gap:1.5rem}
.team-principles article{display:grid;grid-template-columns:32px minmax(0,1fr);gap:1rem;border-top:1px solid #bdcbd4;padding-top:1.3rem}
.team-principles article>span{color:var(--orange-ink);font:600 1rem var(--serif)}
.team-principles h3{margin-bottom:.6rem;font-size:1.9rem}
.team-principles p{font-size:.9rem;line-height:1.8}
.sector-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:1.7rem}
.sector-topic-line{position:relative;display:flex;flex-wrap:wrap;gap:.65rem 2rem;margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid #bdcbd4;font-size:.74rem;color:var(--blue)}
.sector-topic-line>span{display:flex;align-items:center;gap:.5rem}
.sector-topic-line>span::before{display:none}





.related-support{padding-block:3.2rem;background:var(--white)}
.related-heading h2{margin:.7rem 0 1.5rem;font-size:2.7rem}
.related-links{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem}
.related-links a{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:62px;padding-block:.8rem;border-top:0;font-size:.9rem}
.related-links a>span:last-child{color:var(--orange)}
.nav-menu .nav-sector-link{margin-top:.5rem;padding-top:.8rem;border-top:1px solid var(--line);font-weight:600;color:var(--blue)}

/* First-conversation records: a compact reference beside the introduction. */
.sector-records{background:var(--paper)}
.preparation-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.preparation-intro h2{margin:.85rem 0 1.25rem;font-size:clamp(2.55rem,3.7vw,3.65rem)}
.preparation-intro h2 strong{color:var(--blue)}
.preparation-intro>p{max-width:43ch;font-size:.95rem;line-height:1.85}
.preparation-intro>.text-link{margin-top:1.5rem}
.record-checklist{display:grid;gap:2rem}
.record-check{display:grid;grid-template-columns:.75fr 1.25fr;gap:1.5rem;align-items:start}
.record-check-label{display:block;margin-bottom:.5rem;color:var(--blue);font-size:.59rem;font-weight:650;letter-spacing:.11em;line-height:1.6}
.record-check h3{font-size:1.8rem;line-height:1.08;max-width:12ch}
.record-check-copy p{font-size:.9rem;line-height:1.8}
.record-check-copy ul{list-style:none;display:grid;gap:.4rem;margin:1rem 0 0;padding:0}
.record-check-copy li{font-size:.76rem;line-height:1.6;color:var(--ink)}
@media(max-width:1050px){
 .preparation-layout{gap:2.5rem}.record-check{grid-template-columns:1fr;gap:.8rem}.record-check h3{max-width:none}
}
@media(max-width:620px){
 .preparation-layout{grid-template-columns:1fr;gap:2.4rem}.preparation-intro h2{font-size:clamp(2.5rem,10.5vw,3.6rem)}.record-checklist{gap:2rem}.record-check{grid-template-columns:1fr;gap:.7rem}.record-check h3{font-size:1.9rem}.record-check-copy ul{margin-top:.7rem}.record-check-copy p{font-size:.9rem}
}

/* Questions and invitations */
.page-faq{background:var(--paper)}
.faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.faq-layout h2{margin:.8rem 0 1.2rem}
.faq-layout>div:first-child>p{max-width:40ch;font-size:.94rem;line-height:1.8}


.faq-intro>.text-link{margin-top:1.3rem}
.faq-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.faq-toolbar>span{font-size:.69rem;color:var(--muted)}
.faq-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:44px;padding:.4rem .7rem;border:1px solid #c7d2d9;border-radius:2px;background:transparent;color:var(--blue);font-size:.73rem;line-height:1.5}
.faq-toggle:hover{background:var(--paper)}
.faq-toggle>span{color:var(--orange);font-size:1rem}
.faq-item p a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.sector-resources{display:grid;gap:.7rem;margin-top:2rem;padding-top:1.3rem;border-top:1px solid #c7d2d9;font-size:.78rem;line-height:1.6}
.sector-resources>strong{font-weight:600;color:var(--ink)}
.sector-resources>a{display:flex;justify-content:space-between;gap:1rem;color:var(--blue)}
.sector-resources>a>span{color:var(--orange)}
.sector-resources>span{font-size:.65rem;color:var(--muted)}
.faq-list{border-top:1px solid #c7d2d9}
.faq-item{border-bottom:1px solid #c7d2d9}
.faq-item summary{position:relative;padding:1.2rem 2rem 1.2rem 0;list-style:none;cursor:pointer;font-size:.95rem;font-weight:600;line-height:1.5}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{position:absolute;right:0;top:1.05rem;content:'+';color:var(--orange);font-size:1.4rem;font-weight:400}
.faq-item[open] summary::after{content:'−'}
.faq-item p{padding:0 1.5rem 1.3rem 0;font-size:.92rem;line-height:1.8}
.quote-band{position:relative;overflow:hidden;background:var(--navy);padding-block:4rem;color:#fff}
.quote-band .wrap{position:relative;display:flex;align-items:center;justify-content:space-between;gap:3rem}
.quote-band .eyebrow{color:#b6cbdb}
.quote-band h2{max-width:800px;margin-top:.7rem;font-size:clamp(2.1rem,3.7vw,3.7rem);color:#fff}
.quote-band .button{flex:none}

/* Contact: readable contact details and a clear form. */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,7vw,7rem);align-items:start}
.contact-sidebar{padding:2rem;background:var(--navy);color:#fff;border-radius:0}
.contact-sidebar .eyebrow{color:#b7cfdf}
.contact-sidebar h2{margin:.8rem 0 1rem;color:#fff;font-size:2.65rem}
.contact-sidebar>p{color:#c3d0db;font-size:.89rem}
.contact-card{display:grid;gap:.25rem;padding:1.25rem 0;border-bottom:1px solid #ffffff25}
.contact-label{color:#e9aa86;font-size:.63rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
.contact-value{color:#fff;font-size:1.1rem;font-weight:600;overflow-wrap:anywhere}
.contact-card>span:last-of-type{color:#c1cfda;font-size:.8rem;line-height:1.6}
.contact-card strong{font-size:.97rem}
.contact-card>a:hover{color:#ffc6a4}
.map-link{color:#fff;font-size:.78rem}
.contact-hours{margin-top:1.6rem}
.contact-hours h3{margin-bottom:.4rem;color:#fff;font-size:1.5rem}
.contact-hours p{color:#c1cfda;font-size:.8rem}
.contact-form-card{padding-top:.5rem}
.contact-form-card h2{margin:.7rem 0 1rem}
.contact-form-card>p{margin-bottom:1.8rem;font-size:.93rem;line-height:1.8}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.form-field{display:grid;gap:.45rem;min-width:0}
.form-field--wide{grid-column:1/-1}
.form-field label{font-size:.79rem;font-weight:600;line-height:1.5}
.form-field label>span:not(.optional){color:#c74b10}
.optional{color:var(--muted);font-weight:400}
.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;min-height:48px;padding:.75rem .85rem;border:1px solid #ced8de;border-radius:2px;background:#fafaf8;color:var(--ink);font:400 1rem/1.5 var(--sans)}
.form-field textarea{min-height:160px;resize:vertical}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid #0555a01a;border-color:var(--blue)}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;align-items:center;gap:1.2rem;margin-top:1.4rem}
.form-note{max-width:280px;color:var(--muted);font-size:.68rem;line-height:1.55}
.form-status{min-height:1.5em;margin-top:1rem;font-size:.88rem;font-weight:600}
.form-status.is-error{color:#a12920}
.form-status.is-success{color:#17613c}
.form-actions button:disabled{opacity:.65;cursor:wait}

/* Footer: a bright invitation, then brand, parallel navigation and contact. */
.site-footer{background:var(--navy);color:#c3d0db}
.footer-invitation{position:relative;overflow:hidden;background:var(--contact-surface)}

.footer-prelude{position:relative;z-index:1;display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:4rem;padding-block:4.5rem}
.footer-prelude-copy h2{margin:.85rem 0 1.2rem;color:var(--ink);font-size:clamp(3.2rem,6.3vw,6rem);line-height:.9}
.footer-prelude-copy p{max-width:470px;color:var(--muted);font-size:.96rem}
.footer-contact-spotlight{display:grid;gap:.5rem;padding:1.8rem 0 1.8rem 2rem;border-left:0}
.footer-contact-label{color:var(--muted);font-size:.6rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
.footer-contact-number{display:flex;justify-content:space-between;gap:1rem;color:var(--ink);font:500 clamp(2.2rem,3.7vw,3.5rem)/1 var(--serif);letter-spacing:-.035em}
.footer-contact-number>span{align-self:center;color:var(--orange);font:400 1.3rem var(--sans)}
.footer-contact-enquiry{display:inline-flex;align-items:center;gap:1rem;width:max-content;color:var(--blue);border-bottom:1px solid #b7c7d2;font-size:.84rem}
.footer-grid{display:grid;grid-template-columns:1.1fr 1.5fr .85fr;gap:4rem;padding-block:3rem}
.footer-logo{display:block;width:max-content;max-width:100%;padding:0;margin-bottom:1rem;background:transparent;line-height:0}
.footer-logo img{width:290px;height:auto}
.footer-about p{max-width:320px;font-size:.81rem;line-height:1.8;color:#bdcbd7}
.footer-email{display:inline-flex;gap:.6rem;margin-top:1rem;color:#fff;font-size:.83rem}
.footer-email:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-email>span{color:var(--orange)}
.footer-navigation{display:grid;grid-template-columns:.7fr 1.3fr;gap:2.2rem}
.site-footer .footer-column h2,.footer-contact h2{margin:0 0 1.1rem;color:#fff;font:600 .65rem/1.3 var(--sans);letter-spacing:.15em;text-transform:uppercase}
.footer-links{display:grid;gap:.65rem}
.footer-links a{font-size:.82rem;line-height:1.6;color:#bdcbd7}
.footer-links a:hover,.footer-contact a:hover{color:#fff}
.footer-contact address{margin:0 0 .7rem;font-style:normal;font-size:.82rem;line-height:1.8;color:#bdcbd7}
.footer-phone{display:block;width:max-content;color:#fff;font:500 1.55rem var(--serif)}
.footer-map{display:inline-flex;gap:.6rem;margin-top:.5rem;color:#bdcbd7;font-size:.77rem}
.footer-map>span{color:var(--orange)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.7rem 1.5rem;padding-block:1.2rem;border-top:1px solid #ffffff25;color:#a6bbcd;font-size:.72rem;line-height:1.8}
.footer-bottom a{color:#fff;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px}
.footer-bottom a:hover{color:#f6b18a}

/* Open photographic service features, two columns and three rows. */
.services-section{background:var(--paper)}
.services-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3.5rem 3rem}
.service-feature{min-width:0}
.service-feature>a{display:block;height:100%}
.service-feature figure{aspect-ratio:16/10;overflow:hidden;background:var(--paper)}
.service-feature img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .35s ease}
.service-feature-copy{padding-top:1.4rem}
.service-feature-label{font-size:.67rem;letter-spacing:.1em;color:var(--blue);font-weight:650;text-transform:uppercase}
.service-feature h3{margin:.5rem 0 .8rem;font-size:2.25rem;line-height:1.1}
.service-feature p{font-size:.91rem;line-height:1.8}
.service-feature-link{display:flex;justify-content:space-between;gap:1rem;align-items:center;min-height:44px;margin-top:.8rem;color:var(--blue);font-size:.82rem;font-weight:650}
.service-feature-link>span{color:var(--orange)}
.service-feature>a:hover img{transform:scale(1.025)}
.service-feature>a:hover h3{color:var(--blue)}

/* Journal: a featured spread, photographic stories and a readable article measure. */
.journal-hero{padding-block:4.5rem 3rem;background:var(--paper)}
.journal-hero .breadcrumb{margin-bottom:2rem}
.journal-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:4rem}
.journal-intro h1{margin-top:.7rem}
.journal-intro>p{max-width:50ch;font-size:1rem;line-height:1.8}
.journal-browse{padding-top:0}
.journal-filters{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}
.journal-filter{min-height:44px;padding:.65rem 1rem;border:0;background:var(--paper);color:var(--ink);font-size:.78rem;font-weight:600;line-height:1.4;border-radius:2px}
.journal-filter[aria-pressed='true']{background:var(--navy);color:#fff}
.journal-filter:hover{background:#e5e8e7}
.journal-filter[aria-pressed='true']:hover{background:var(--blue)}
.journal-results{margin-left:auto;font-size:.73rem;color:var(--muted)}
.journal-feature{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;background:var(--navy);margin-bottom:3.5rem;color:#fff}
.journal-feature-photo{display:block;min-height:430px;overflow:hidden}
.journal-feature-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%}
.journal-feature-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(2rem,4vw,3.8rem)}
.journal-category{font-size:.64rem;line-height:1.6;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.journal-feature .journal-category{color:#ffbd96}
.journal-feature h2 a,.journal-feature h2 a:hover,.journal-feature h2 a:focus-visible{color:inherit}
.journal-feature h2{margin:.85rem 0 1.25rem;font-size:clamp(2.7rem,4vw,3.8rem);color:#fff;line-height:1.03}
.journal-feature p{font-size:.94rem;color:#d2dee7;line-height:1.8}
.journal-feature .journal-meta{color:#b8cbd9;margin-top:1.4rem}
.journal-feature .text-link{margin-top:1.3rem;color:#fff}
.journal-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;color:var(--muted);font-size:.71rem;line-height:1.6}
.journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.2rem 2rem}
.journal-card{min-width:0}
.journal-card>a{display:block}
.journal-card-image{aspect-ratio:4/3;overflow:hidden;background:var(--paper)}
.journal-card-image img{width:100%;height:100%;object-fit:cover;object-position:center 40%;transition:transform .35s ease}
.journal-card-copy{padding-top:1.25rem}
.journal-card h2,.journal-card h3{margin:.65rem 0 1rem;font-size:2.1rem;line-height:1.08}
.journal-card p{font-size:.89rem;line-height:1.8;margin-bottom:1.1rem}
.journal-card .journal-read{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--blue);font-size:.82rem;font-weight:650;min-height:44px;margin-top:.7rem}
.journal-read>span{color:var(--orange)}
.journal-card>a:hover img{transform:scale(1.025)}
.journal-card>a:hover h2,.journal-card>a:hover h3{color:var(--blue)}
.home-journal{background:var(--paper)}
.home-journal .section-head>div:last-child{display:grid;gap:1.1rem;align-content:end;justify-items:start}
.home-journal .section-head p{font-size:.95rem;max-width:42ch}
.article-hero{padding-block:3.2rem 2.8rem;background:var(--paper)}
.article-hero .breadcrumb{max-width:95ch;line-height:1.7}
.article-hero-inner{max-width:980px}
.article-hero h1{margin:.85rem 0 1.3rem;font-size:clamp(2.8rem,5vw,4.9rem);line-height:1.03}
.article-standfirst{max-width:70ch;font-size:1.08rem;line-height:1.8}
.article-byline{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;margin-top:1.5rem;font-size:.73rem;color:var(--muted)}
.article-byline>a{color:var(--blue);font-weight:600}
.article-cover{aspect-ratio:16/7;background:var(--paper);overflow:hidden}
.article-cover img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.article-layout{display:grid;grid-template-columns:250px minmax(0,760px);justify-content:space-between;gap:4rem;align-items:start;padding-top:3.5rem}
.article-aside{position:sticky;top:105px;max-height:calc(100vh - 125px);overflow-y:auto;padding-right:1rem;scrollbar-width:thin}
.article-aside h2{font:650 .65rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1rem}
.article-contents-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;list-style:none;cursor:pointer;font:650 .68rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.article-contents-panel>summary::-webkit-details-marker{display:none}
.article-contents-panel>summary>span{color:var(--orange);font-size:1rem}
.article-contents-panel[open]>summary>span{transform:rotate(45deg)}
.article-contents-panel[open]>summary{margin-bottom:.7rem}
.article-contents{display:grid;gap:.3rem}
.article-contents a{padding:.35rem 0;min-height:32px;color:var(--muted);font-size:.76rem;line-height:1.6}
.article-contents a:hover{color:var(--blue)}
.article-aside .text-link{margin-top:1.2rem;font-size:.76rem}
.article-body{min-width:0;color:var(--ink)}
.article-body p,.article-body li{font-size:1rem;line-height:1.9;color:#526376}
.article-body>.article-lead{font-size:1.17rem;line-height:1.8;color:var(--ink)}
.article-body section{margin-top:2.5rem;scroll-margin-top:110px}
.article-body h2{font-size:2.15rem;line-height:1.14;margin-bottom:1rem;letter-spacing:-.025em}
.article-body h3{font-size:1.65rem;margin-block:1.3rem .75rem}
.article-body p+p{margin-top:1rem}
.article-body ul,.article-body ol{padding-left:1.4rem;margin-block:1rem}
.article-body li+li{margin-top:.55rem}
.article-body a{color:var(--blue);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.article-inline-photo{margin-block:2.5rem}
.article-inline-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 40%}
.article-inline-photo figcaption{margin-top:.65rem;font-size:.72rem;line-height:1.6;color:var(--muted)}
.article-takeaways{padding:1.5rem 1.8rem;margin-top:1.7rem;background:var(--paper)}
.article-body .article-takeaways h2{font:650 .68rem/1.5 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.7rem}
.article-takeaways ul{margin:0;padding-left:1.2rem}
.article-takeaways li{font-size:.93rem;line-height:1.8}
.article-table-wrap{overflow-x:auto;margin-block:1.5rem;max-width:100%}
.article-body table{width:100%;border-collapse:collapse;background:var(--paper);font-size:.9rem;line-height:1.6}
.article-body caption{caption-side:bottom;text-align:left;padding-top:.65rem;color:var(--muted);font-size:.72rem}
.article-body th,.article-body td{text-align:left;padding:.9rem 1rem;border-bottom:1px solid #d3dce0}
.article-body thead th{background:var(--navy);color:#fff;font-weight:600}
.article-body tbody th{font-weight:500}
.article-note{margin-top:2.5rem;padding:1.4rem 1.6rem;background:var(--paper)}
.article-note p{font-size:.86rem;line-height:1.8}
.article-sources{margin-top:2rem}
.article-sources h2{font-size:1.9rem}
.article-sources ul{list-style:none;padding:0}
.article-sources li{font-size:.85rem;line-height:1.8}
.article-related{background:var(--paper)}
.article-related .section-head h2{font-size:3rem}
.article-faq .faq-layout{grid-template-columns:.8fr 1.2fr}
.menu-services-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.nav-mobile-insights{display:none}

@media(max-width:1050px){
 .services-feature-grid,.journal-grid{gap:2.5rem 1.6rem}.service-feature h3{font-size:2rem}.article-layout{grid-template-columns:215px minmax(0,1fr);gap:2.5rem}
}
@media(max-width:850px){
 .services-feature-grid,.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-intro{gap:2.5rem}.journal-feature{grid-template-columns:1fr 1fr}.journal-feature-photo{min-height:380px}.journal-feature h2{font-size:2.7rem}.article-layout{grid-template-columns:1fr;gap:2.5rem}.article-aside{position:static;max-height:none;overflow:visible;padding:0}.article-contents{grid-template-columns:1fr 1fr;gap:.35rem 2rem}.article-aside h2{margin-bottom:.8rem}.article-aside .text-link{margin-top:.8rem}
}
@media(max-width:620px){
 .services-feature-grid,.journal-grid{grid-template-columns:1fr;gap:2.6rem}.service-feature figure,.journal-card-image{aspect-ratio:4/3}.service-feature h3{font-size:2.3rem}.service-feature-copy,.journal-card-copy{padding-top:1.2rem}.journal-hero{padding-block:2.8rem 2.2rem}.journal-intro{grid-template-columns:1fr;gap:1.3rem}.journal-intro h1{font-size:3.3rem}.journal-intro>p{font-size:.95rem}.journal-feature{grid-template-columns:1fr;margin-bottom:2.5rem}.journal-feature-photo{min-height:0;height:240px}.journal-feature-copy{padding:1.7rem 1.5rem 2rem}.journal-feature h2{font-size:2.6rem}.journal-feature p{font-size:.91rem}.journal-filters{gap:.5rem;margin-bottom:1.5rem}.journal-filter{font-size:.73rem;padding:.6rem .8rem}.journal-results{margin-left:0;width:100%;margin-top:.3rem}.journal-card h2,.journal-card h3{font-size:2.25rem}.article-hero{padding-block:2.5rem 2rem}.article-hero h1{font-size:clamp(2.7rem,10.5vw,3.7rem)}.article-standfirst{font-size:.97rem}.article-byline{font-size:.7rem;gap:.5rem 1rem}.article-cover{aspect-ratio:4/3}.article-layout{padding-top:2.3rem;gap:2.2rem}.article-contents{grid-template-columns:1fr;gap:.2rem}.article-contents a{min-height:36px;font-size:.78rem}.article-body>.article-lead{font-size:1.08rem}.article-body p,.article-body li{font-size:.95rem;line-height:1.85}.article-body h2{font-size:1.95rem;line-height:1.17}.article-body section{margin-top:2.1rem}.article-takeaways{padding:1.3rem 1.2rem}.article-takeaways li{font-size:.89rem}.article-note{padding:1.2rem}.article-body th,.article-body td{padding:.75rem .8rem}.article-faq .faq-layout{grid-template-columns:1fr}.article-related .section-head h2{font-size:2.6rem}
}

/* Tablet */
@media(max-width:1050px){
 .brand img{width:235px}.nav-primary{gap:1.4rem}.wrap{width:min(calc(100% - 48px),var(--page))}
 .footer-grid{gap:2rem}.footer-navigation{gap:1.5rem}.clarity-layout{gap:3rem}
}
@media(max-width:850px){
 .fit-heading{gap:2rem}.fit-layout{gap:2rem;grid-template-columns:1fr 1fr}.fit-specialism{padding:1.8rem;border-top-right-radius:0}.fit-route h3{font-size:2.25rem}.fit-route-links{grid-template-columns:1fr;gap:.2rem}.fit-flow{gap:.4rem}.fit-flow span{font-size:.63rem}
 .process-outcome{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1.4rem}.process-outcome a{grid-column:1;justify-self:start}.outcome-icon{display:none}
 .team-layout{gap:2.5rem}

 :root{--masthead-height:92px;--ticker-height:54px}
 .brand img{width:215px}
 .menu-toggle{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:11px;border:1px solid #cad4db;border-radius:3px;background:#fff;color:var(--ink)}
 .hamburger{display:grid;gap:5px}.hamburger i{display:block;width:20px;height:1.5px;background:currentColor}.hamburger i:nth-child(2){width:15px}
 .nav{position:fixed;inset:0;z-index:100;width:100%;height:100vh;height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:max-content max-content;align-content:start;align-items:start;gap:28px 36px;padding:24px 32px max(24px,env(safe-area-inset-bottom));background:var(--paper);visibility:hidden;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s;scroll-padding-block:90px 24px}
 .nav.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
 .nav-masthead{position:sticky;top:0;z-index:2;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:0 16px;border:0;background:var(--paper)}
 .nav-masthead::before{content:'';position:absolute;inset:-32px -32px -12px;z-index:-1;background:var(--paper);pointer-events:none}
 .nav-brand{display:block;max-width:calc(100% - 60px);padding:0;background:#fff;line-height:0}.nav-brand img{width:225px;height:auto}
 .nav-close{position:static;display:grid;place-items:center;flex:none;width:44px;height:44px;margin:0;padding:0;border:1px solid #c3cfd8;border-radius:2px;background:#fff;color:var(--ink);appearance:none;box-shadow:none}
 .nav-close svg{width:20px;height:20px}
 .nav-close:hover{border-color:var(--ink)}
 .nav-close:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
 .nav-primary{display:grid;flex:none;grid-template-columns:1fr;gap:0;align-items:start;align-content:start;min-height:0;margin:0;padding:0}
 .nav-primary>a:not(.nav-cta),.nav-primary>.nav-dropdown>summary{display:flex!important;align-items:center;min-height:62px;margin:0;padding:.35rem 0;color:var(--ink);font:500 2.7rem/1.15 var(--serif)}
 .nav-primary>a[aria-current='page']::after{display:none}.nav-primary>a[aria-current='page']{color:var(--blue)}
 .nav-cta{display:none}
 .nav-dropdown{display:block;min-width:0}
 .nav-primary>.nav-dropdown.is-current>summary,.nav-primary>.nav-dropdown[open]>summary{color:var(--blue)}
 .nav-dropdown>summary{justify-content:space-between;gap:1rem}
 .nav-dropdown>summary::after{content:'';width:8px;height:8px;flex:none;margin:0 4px 4px 0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);color:var(--ink)}
 .nav-dropdown[open]>summary::after{transform:rotate(225deg);margin-bottom:0}
 .nav-menu{position:static;display:grid;grid-template-columns:1fr;width:auto;margin:0;padding:2px 0 8px 16px;border:0;box-shadow:none;background:transparent}
 .nav-menu a{display:flex;align-items:center;min-height:36px;padding:.3rem 0;font-size:.86rem;font-weight:500;line-height:1.5;color:var(--ink)}
 .nav-menu a:first-child{font-weight:650;color:var(--blue)}
 .nav-menu a:hover{background:transparent;color:var(--blue)}
 .nav-menu .nav-sector-link{margin:0;padding:.3rem 0;border:0}
 .nav-secondary{display:grid;grid-template-columns:1fr;align-content:start;gap:26px;margin:0;padding:0;border:0}
 .menu-section-label{display:block;margin-bottom:.7rem;color:var(--muted);font-size:.65rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase}
 .nav-contact{padding:0;background:transparent;color:var(--ink);align-self:start}.nav-contact .menu-section-label{color:var(--muted);margin-bottom:.45rem}
 .nav-phone{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;color:var(--ink);font:500 2rem/1.2 var(--serif)}
 .nav-phone>span{color:var(--orange);font:400 1rem var(--sans)}.nav-email{display:flex;align-items:center;min-height:36px;margin:0;color:var(--ink);font-size:.9rem}.nav-contact address{margin-top:.25rem;color:var(--muted);font-size:clamp(.72rem,1.55vw,.84rem);line-height:1.6;font-style:normal}
 .hero h1{font-size:clamp(3.7rem,8.8vw,5.5rem)}.hero-copy{max-width:620px}.hero-copy>p{max-width:480px;font-size:.96rem}
 .marquee-group>a{font-size:1.2rem;gap:1.75rem;padding-right:1.75rem}.marquee-toggle{width:44px;height:44px;right:10px}
 .clarity-layout{grid-template-columns:.8fr 1.2fr;gap:2rem}.clarity-visual{padding:0}.clarity-photo{margin:0}.clarity-caption{padding-left:0}.clarity-caption p{font-size:1.65rem}.clarity-copy h2{font-size:2.75rem}.clarity-principles{gap:.5rem}.clarity-principles>div{padding-left:.5rem}
 .process-timeline,.process-grid{gap:1.8rem}.process-timeline h3,.process-card h3{font-size:1.65rem}
 .content-grid{gap:2.5rem}.content-photo{height:420px}
 .scope-layout{gap:2.5rem;grid-template-columns:.85fr 1.15fr}.scope-item>summary{font-size:1.6rem;gap:.6rem}.scope-item>div{padding-left:2.4rem}
 .contact-layout{gap:2rem;grid-template-columns:.8fr 1.2fr}.contact-sidebar{padding:1.5rem}.contact-value{font-size:.94rem}.form-grid{gap:1rem}.form-actions{align-items:start;flex-direction:column}
 .footer-prelude{gap:2rem;grid-template-columns:1.2fr .8fr}.footer-grid{grid-template-columns:1fr 1.4fr}.footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:1rem;padding-top:1.5rem;border-top:1px solid #ffffff25}.footer-contact h2{grid-column:1/-1;margin:0}.footer-contact address{margin:0}.footer-map{margin:0}
}

/* Mobile */
@media(max-width:620px){
 .fit-heading,.fit-layout,.team-layout{grid-template-columns:1fr;gap:1.8rem}.fit-heading{margin-bottom:2rem}.fit-heading h2{font-size:clamp(2.5rem,10.5vw,3.7rem)}.fit-heading>p{font-size:.93rem}.fit-specialism{padding:1.7rem 1.5rem;border-top-right-radius:0}.fit-specialism h3{font-size:clamp(2.65rem,11vw,3.6rem);margin-block:1.3rem}.fit-specialism>p{font-size:.91rem}.fit-flow{padding-block:1.8rem;gap:.5rem}.fit-flow span{font-size:.65rem}.fit-primary-link{font-size:.8rem;gap:.9rem}.fit-routes{gap:1.8rem}.fit-route h3{font-size:2.35rem}.fit-route-links{grid-template-columns:1fr 1fr;gap:.4rem 1rem}.fit-route-links a{font-size:.76rem}.fit-help{flex-direction:column;align-items:flex-start;gap:1rem;padding-top:1.2rem;margin-top:1.5rem}.fit-help p{font-size:.85rem}
 .process-timeline::after,.process-grid::after{display:none}.work-process{padding-block:56px}.work-process .section-head h2{font-size:clamp(2.5rem,10vw,3.5rem)}.process-outcome{margin-top:2rem;padding:1.2rem;gap:.7rem 1rem}.process-outcome h3{font-size:1.65rem}.process-outcome p{font-size:.83rem}
 .team-layout{gap:2.4rem}.team-layout h2{font-size:2.8rem}.team-principles h3{font-size:1.8rem}.related-links{grid-template-columns:1fr;gap:1.5rem}.related-links{gap:0}.related-heading h2{font-size:2.5rem}.related-links a{font-size:.85rem}.sector-hero-actions{gap:1rem 1.5rem}.sector-topic-line{flex-direction:column;gap:.55rem;margin-top:1.8rem}.faq-toolbar{gap:.6rem}.faq-toolbar>span{font-size:.64rem}.faq-toggle{font-size:.69rem;padding-inline:.5rem}

 .wrap{width:calc(100% - 36px)}.section{padding-block:64px}.topline-address{display:none}.topline-contact{width:100%;justify-content:space-between;gap:.7rem;font-size:.66rem}.brand img{width:205px}.header-row{gap:1rem}
 .nav{grid-template-columns:1fr;grid-template-rows:max-content max-content max-content;gap:20px;padding:20px 24px max(24px,env(safe-area-inset-bottom))}.nav-brand img{width:210px}.nav-masthead{padding-bottom:4px}.nav-primary>a:not(.nav-cta),.nav-primary>.nav-dropdown>summary{min-height:48px;padding-block:.2rem;font-size:clamp(2rem,9vw,2.7rem)}.nav-secondary{gap:20px}.nav-phone{font-size:2.15rem}.nav-contact address{font-size:clamp(.72rem,3.3vw,.84rem)}
 .hero-grid{padding-block:26px}.hero-shade{background:linear-gradient(90deg,rgba(5,22,40,.92),rgba(5,22,40,.63)),linear-gradient(0deg,rgba(5,22,40,.3),transparent)}.hero-photo{object-position:61% center}.hero h1{margin:.8rem 0 1.15rem;font-size:clamp(2.6rem,12vw,4.5rem);line-height:.99}.hero .eyebrow{font-size:.55rem;letter-spacing:.09em;gap:.45rem}.hero .eyebrow::before{width:18px}.hero-copy>p{max-width:430px;font-size:.9rem;line-height:1.8}.hero-actions{gap:1.3rem;margin-top:1.4rem}.hero .button{min-height:46px;padding:.7rem 1.1rem;font-size:.8rem}.hero-service-link{font-size:.79rem;gap:.65rem}.hero-note{margin-top:1.2rem;font-size:.61rem;line-height:1.7;gap:.45rem}
 .marquee-group>a{font-size:1.15rem;gap:1.5rem;padding-right:1.5rem}
 .section-head{grid-template-columns:1fr;gap:1.1rem;margin-bottom:2.2rem}.section-head>p{justify-self:start;font-size:.93rem;max-width:50ch}.section-head h2{font-size:clamp(2.6rem,10.5vw,3.7rem);line-height:1}
 .clarity-layout{grid-template-columns:1fr;gap:2.6rem}.clarity-visual{max-width:430px;width:100%;padding:0;margin-inline:auto}.clarity-photo{max-width:none;aspect-ratio:4/5;margin:0}.clarity-caption{padding:1.2rem 0 0}.clarity-caption p{font-size:1.9rem}.clarity-copy h2{font-size:clamp(2.6rem,10.5vw,3.8rem)}.clarity-copy>p{font-size:.94rem}.clarity-principles{gap:.65rem}.clarity-principles strong{font-size:1.15rem}.clarity-principles p{font-size:.68rem}
 .process-timeline,.process-grid{grid-template-columns:1fr;gap:1.9rem;margin-top:2.5rem}.process-timeline::before,.process-grid::before{display:none}.process-timeline li,.process-card{display:grid;grid-template-columns:50px minmax(0,1fr);gap:1rem;align-items:start}.timeline-number,.process-card>span{display:block;width:auto;height:auto;margin-bottom:1.1rem;border:0;border-radius:0;background:none;color:var(--orange-ink);font:600 1.5rem var(--serif);box-shadow:none}.process-timeline h3,.process-card h3{margin:.25rem 0 .65rem;font-size:1.65rem}.process-card h3{grid-column:2;grid-row:1}.process-card p{grid-column:2;grid-row:2}.process-card>span{grid-row:1/3}.process-grid{row-gap:1.5rem}.process-grid .process-card{gap:.3rem 1rem}.process-timeline p,.process-card p{font-size:.89rem}
 .founder-feature{grid-template-columns:1fr;gap:2.6rem}.founder-portrait{padding-right:24px;max-width:420px}.founder-copy h2{font-size:clamp(2.8rem,11.5vw,4rem)}.founder-links{gap:1.3rem}.founder-portrait figcaption span{font-size:.64rem}.founder-copy>p{font-size:.94rem}
 .page-hero{padding-block:45px}.page-hero h1{font-size:clamp(2.8rem,11vw,4.2rem);line-height:1.01}.page-hero p{font-size:.97rem}.breadcrumb{font-size:.68rem}.service-index-watermark{font-size:6rem;top:0;right:-.2rem}.service-index-watermark small{font-size:.5rem}.content-grid{grid-template-columns:1fr;gap:2.4rem}.content-copy h2{font-size:clamp(2.55rem,10.5vw,3.8rem)}.content-photo{height:380px;border-top-left-radius:0}.about-profile{max-width:430px}
 .directory-intro{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:2.5rem;padding-bottom:1.2rem}.directory-intro>p{font-size:.91rem}
 .scope-layout{grid-template-columns:1fr;gap:2.5rem}.scope-intro h2{font-size:clamp(2.5rem,10.5vw,3.7rem)}.scope-map{margin-top:1.5rem}.scope-item>summary{font-size:1.55rem;grid-template-columns:22px minmax(0,1fr) 22px;gap:.65rem}.scope-item>div{padding:0 1rem 1.2rem 2rem}.scope-item p{font-size:.9rem}
 .faq-layout{grid-template-columns:1fr;gap:2rem}.faq-layout h2{font-size:clamp(2.6rem,10.5vw,3.6rem)}.faq-item summary{font-size:.91rem}.faq-item p{font-size:.89rem}
 .quote-band{padding-block:3rem}.quote-band .wrap{display:block}.quote-band h2{font-size:2.45rem}.quote-band .button{margin-top:1.5rem}
 .contact-layout{grid-template-columns:1fr;gap:2.8rem}.contact-sidebar{padding:1.7rem}.contact-value{font-size:1.15rem}.contact-sidebar h2{font-size:2.7rem}.contact-form-card h2{font-size:2.8rem}.form-grid{grid-template-columns:1fr}.form-field--wide{grid-column:auto}.form-actions{flex-direction:column;align-items:flex-start}.form-note{max-width:310px}
 .footer-prelude{grid-template-columns:1fr;gap:1.5rem;padding-block:3rem}.footer-prelude-copy h2{font-size:clamp(3rem,12.5vw,4.8rem)}.footer-prelude-copy p{font-size:.94rem}.footer-contact-spotlight{padding:1.25rem 0 0;border-left:0;border-top:1px solid #c3d0d7;gap:.6rem}.footer-contact-number{font-size:2.65rem}
 .footer-grid{grid-template-columns:1fr;gap:1.4rem;padding-block:2rem}.footer-logo img{width:225px}.footer-about p{max-width:40ch;font-size:.83rem}.footer-navigation{grid-template-columns:.75fr 1.25fr;gap:1.5rem;padding-block:1.25rem;border-block:1px solid #ffffff25}.footer-services{text-align:right}.footer-links{gap:.5rem}.footer-links a{font-size:.82rem;line-height:1.6}.site-footer .footer-column h2{margin-bottom:.85rem}.footer-contact{grid-column:auto;grid-template-columns:1fr 1fr;padding:0;border-top:0;gap:.65rem 1rem}.footer-contact h2{grid-column:1/-1;margin-bottom:.3rem}.footer-contact address{grid-row:2/4}.footer-phone{font-size:1.65rem;justify-self:end;align-self:start}.footer-map{justify-self:end}.footer-bottom{flex-direction:column;align-items:center;text-align:center;gap:.35rem;padding-block:1.1rem;font-size:.72rem}
}
@media(max-width:360px){
 .brand img{width:185px}.nav{padding-inline:20px}.nav-brand img{width:190px}.hero h1{font-size:2.55rem}.hero-copy>p{font-size:.85rem}.hero-note{font-size:.58rem}.clarity-principles strong{font-size:1.05rem}.footer-phone{font-size:1.5rem}
}
@media(max-height:720px) and (min-width:621px){
 .hero h1{font-size:clamp(3.2rem,6.3vw,5.8rem);margin-block:.7rem 1rem}.hero-copy>p{font-size:.93rem;line-height:1.7}.hero-actions{margin-top:1.25rem}.hero-note{margin-top:1rem}.hero-grid{padding-block:22px}
}
@media(max-height:600px) and (max-width:620px){
 .hero h1{margin:.65rem 0 .8rem;font-size:2.6rem}.hero-copy>p{font-size:.83rem;line-height:1.65}.hero-actions{margin-top:1rem}.hero-note{margin-top:.9rem}.hero-grid{padding-block:18px}
}
@media(max-height:500px) and (min-width:621px){
 .nav{grid-template-columns:1fr;grid-template-rows:max-content max-content max-content;gap:14px;padding:14px 24px 20px}.nav-masthead{padding-bottom:0}.nav-brand img{width:190px}.nav-primary{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.nav-primary>a:not(.nav-cta),.nav-primary>.nav-dropdown>summary{min-height:40px;font-size:1.7rem}.nav-secondary{grid-template-columns:1fr;gap:0}.nav-contact{max-width:380px}.nav-phone{font-size:1.9rem}.nav-contact address{margin-top:.25rem;font-size:.72rem}
 .hero-grid{padding-block:12px}.hero h1{font-size:2.65rem;margin:.45rem 0 .65rem}.hero-copy>p{max-width:660px;font-size:.85rem;line-height:1.5}.hero .eyebrow{font-size:.55rem}.hero-actions{margin-top:.8rem}.hero .button{min-height:42px;padding:.65rem 1.1rem}.hero-note{display:none}
}
@media(max-height:520px) and (max-width:620px){
 .hero-note{display:none}.hero h1{font-size:2.45rem}.hero-copy>p{font-size:.82rem;line-height:1.65}.hero-actions{margin-top:.8rem}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.marquee-window{overflow-x:auto}.marquee-group[aria-hidden='true']{display:none}.marquee-toggle{display:none}
}

/* Two alternating neutral surfaces, assigned to page-level bands at build time. */
main>.tone-white{background:var(--white)}
main>.tone-paper{background:var(--paper)}
.footer-legal{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1.2rem}
.form-privacy{margin-top:1rem;font-size:.76rem;line-height:1.7}
.form-privacy a,.legal-copy a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
.legal-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.legal-navigation{position:sticky;top:calc(var(--masthead-height) + 24px)}
.legal-navigation nav{display:grid;gap:.75rem;margin-block:1rem 1.5rem;font-size:.85rem;line-height:1.5}
.legal-navigation>p{font-size:.72rem}
.legal-copy{max-width:760px}
.legal-copy>section+section{margin-top:2.75rem}
.legal-copy h2{font-size:clamp(2rem,3vw,2.7rem);margin-bottom:1rem}
.legal-copy h3{margin-block:1.3rem .6rem;font-size:1.8rem}
.page-lead{max-width:700px;margin-top:1.5rem}
@media(max-width:850px){.legal-layout{grid-template-columns:1fr}.legal-navigation{position:static}.legal-navigation nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.5rem}.legal-copy{max-width:none}}

/* WhatsApp: circular, fixed contact action with safe viewport spacing. */
.whatsapp-float{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(max(24px,env(safe-area-inset-bottom)) + var(--whatsapp-lift,0px));z-index:40;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#128c4a;color:#fff;box-shadow:0 6px 22px #09243d26;transition:box-shadow .2s}
.whatsapp-float:hover{background:#128c4a;color:#fff;box-shadow:0 8px 26px #09243d40}
.whatsapp-float:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 7px var(--blue)}
.home-page .whatsapp-float{--whatsapp-lift:var(--ticker-height)}
html.menu-open .whatsapp-float{visibility:hidden;pointer-events:none}
@media(max-width:1375px){.footer-bottom{padding-inline-end:80px}}
@media(max-width:850px){.whatsapp-float{right:max(18px,env(safe-area-inset-right));bottom:calc(max(18px,env(safe-area-inset-bottom)) + var(--whatsapp-lift,0px));width:52px;height:52px}body:has(input:focus,textarea:focus,select:focus) .whatsapp-float{visibility:hidden;pointer-events:none}}
@media(max-width:620px){.footer-bottom{align-items:flex-start;text-align:left;padding-block:1rem;gap:.35rem}.footer-bottom .footer-legal{justify-content:flex-start}}
@media(max-width:360px) and (max-height:600px){.whatsapp-float{width:44px;height:44px;right:max(8px,env(safe-area-inset-right))}.whatsapp-float svg{width:26px;height:26px}}
.cf-turnstile-wrap{margin:1.25rem 0 .25rem;min-height:65px}
