@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')}
/* Fallbacks sized to the web fonts so the first paint matches and the swap doesn't jump. Georgia Bold is far wider than Cormorant, so every weight uses Georgia regular. */
@font-face{font-family:'Cormorant Fallback';font-weight:300 700;src:local('Georgia');size-adjust:89%;ascent-override:103.8%;descent-override:32.2%;line-gap-override:0%}
@font-face{font-family:'DM Sans Fallback';font-weight:100 549;src:local('Arial'),local('ArialMT');size-adjust:105.6%;ascent-override:93.9%;descent-override:29.4%;line-gap-override:0%}
@font-face{font-family:'DM Sans Fallback';font-weight:550 1000;src:local('Arial Bold'),local('Arial-BoldMT');size-adjust:102.1%;ascent-override:97.2%;descent-override:30.4%;line-gap-override:0%}

/* 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','Cormorant Fallback',Georgia,serif;--sans:'DM Sans','DM Sans Fallback',-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)}
/* An odd final card (five services) spans the grid as a side-by-side feature instead of sitting alone. */
.services-feature-grid>.service-feature:last-child:nth-child(odd){grid-column:1/-1}
.services-feature-grid>.service-feature:last-child:nth-child(odd)>a{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem;align-items:center}
.services-feature-grid>.service-feature:last-child:nth-child(odd) .service-feature-copy{padding-top:0}
@media(max-width:620px){.services-feature-grid>.service-feature:last-child:nth-child(odd)>a{display:block}.services-feature-grid>.service-feature:last-child:nth-child(odd) .service-feature-copy{padding-top:1.2rem}}

/* 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}

/* ==========================================================================
   Motion. Mobile-first and deliberately quiet: transform and opacity only,
   nothing hides content, and the reduced-motion rule above switches it all off.
   1. One opening sequence on the homepage hero.   2. Header edge on scroll.
   3. Photographs settle as they arrive.            4. Answers open smoothly.
   5. Press and arrow feedback.                     6. Article reading progress.
   7. Soft fade between pages.
   ========================================================================== */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.4,0,.2,1);interpolate-size:allow-keywords}

/* 1. Hero opening: the photograph settles while the headline resolves, then the rest follows. */
@keyframes motion-rise{from{opacity:0;transform:translateY(.3em)}to{opacity:1;transform:none}}
@keyframes motion-rise-small{from{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:none}}
@keyframes motion-settle{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero-home{overflow:hidden}
.hero-home .hero-photo{animation:motion-settle 2.2s var(--ease-out) both}
.hero-home .eyebrow{animation:motion-rise-small .8s var(--ease-out) .1s both}
.hero-home h1{animation:motion-rise 1s var(--ease-out) .25s both}
.hero-home h1 strong{display:inline-block;animation:motion-rise 1s var(--ease-out) .5s both}
.hero-home .hero-copy>p{animation:motion-rise-small .9s var(--ease-out) .8s both}
.hero-home .hero-actions{animation:motion-rise-small .9s var(--ease-out) 1s both}
.hero-home .hero-note{animation:motion-rise-small .9s var(--ease-out) 1.15s both}

/* 2. Header: a soft edge appears once the page has moved, so it reads as floating above the content. */
.site-header{transition:box-shadow .3s var(--ease-soft)}
.site-header.is-stuck{box-shadow:0 14px 28px -22px rgba(9,36,61,.45)}

/* 3. Photographs settle slightly as they come into view. The hidden state only applies when scripts run. */
@media (scripting:enabled){
  .service-feature figure img,.journal-card-image img,.journal-feature-photo img,.clarity-photo img{scale:1.05;transition:transform .35s ease,scale 1.3s var(--ease-out)}
  .service-feature figure img.is-in,.journal-card-image img.is-in,.journal-feature-photo img.is-in,.clarity-photo img.is-in{scale:1}
}

/* 4. Answers open and close smoothly where the browser supports it; elsewhere they simply open. */
@supports selector(::details-content){
  .faq-item::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .4s var(--ease-out),opacity .3s var(--ease-soft),content-visibility .4s allow-discrete}
  .faq-item[open]::details-content{block-size:auto;opacity:1}
}
@keyframes motion-turn{from{opacity:0;transform:rotate(-90deg)}to{opacity:1;transform:none}}
.faq-item[open] summary::after{animation:motion-turn .35s var(--ease-out)}

/* 5. Press and arrow feedback. The arrow nudge is for devices that can hover. */
.button,.nav-cta,.menu-toggle,.nav-close{transition:transform .2s var(--ease-out),background .2s,color .2s,box-shadow .2s}
.button:active,.nav-cta:active,.menu-toggle:active,.nav-close:active{transform:scale(.97)}
.button span[aria-hidden="true"],.hero-service-link span[aria-hidden="true"],.service-feature-link span[aria-hidden="true"],.journal-read span[aria-hidden="true"],.fit-route-links a span[aria-hidden="true"],.footer-phone span[aria-hidden="true"]{display:inline-block;transition:transform .3s var(--ease-out)}
.text-link::after{display:inline-block;transition:transform .3s var(--ease-out)}
@media (hover:hover){
  .button:hover span[aria-hidden="true"],.hero-service-link:hover span[aria-hidden="true"],.service-feature>a:hover .service-feature-link span[aria-hidden="true"],.journal-card>a:hover .journal-read span[aria-hidden="true"],.fit-route-links a:hover span[aria-hidden="true"],.footer-phone:hover span[aria-hidden="true"]{transform:translate(3px,-3px)}
  .text-link:hover::after{transform:translate(3px,-3px)}
}

/* 6. Reading progress on articles. */
.reading-progress{position:fixed;inset:0 0 auto 0;z-index:40;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:0 50%;pointer-events:none}

/* 7. A soft fade between pages in browsers that support it. */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.26s;animation-timing-function:var(--ease-soft)}

@media (min-width:851px){
  .hero-home .hero-photo{animation-duration:2.8s}
  @media (scripting:enabled){
    .service-feature figure img,.journal-card-image img,.journal-feature-photo img,.clarity-photo img{transition:transform .35s ease,scale 1.6s var(--ease-out)}
  }
}
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .service-feature figure img,.journal-card-image img,.journal-feature-photo img,.clarity-photo img{scale:none}
  .reading-progress{display:none}
}

/* ==========================================================================
   Legibility floor, phones first: no text below 12px, comfortable touch targets.
   The footer is two columns now that its contact column is gone (wide screens only).
   ========================================================================== */
body .topline a{font-size:.8125rem}
body .hero-home .eyebrow{font-size:.75rem}
body .journal-category{font-size:.75rem}
body .journal-meta,body .journal-meta *{font-size:.78rem}
body .faq-toggle{font-size:.8rem}
body .footer-contact-label,body .contact-label{font-size:.75rem}
body .site-footer .footer-column h2{font-size:.78rem}
body .footer-links a,body .footer-bottom,body .footer-bottom a,body .footer-legal a{font-size:.8125rem}
body .breadcrumb,body .breadcrumb a{font-size:.78rem}
body .journal-filter,body .journal-results{font-size:.8rem}
body .form-note{font-size:.8rem}
@media (pointer:coarse),(max-width:850px){
  body .footer-links a,body .footer-legal a,body .footer-bottom a{display:inline-flex;align-items:center;min-height:40px}
  body .footer-links a{display:flex}
  body .topline a{display:inline-flex;align-items:center;min-height:32px}
  body .footer-email,body .footer-contact-enquiry,body .footer-contact-number,body .text-link{display:inline-flex;align-items:center;min-height:40px}
  body .breadcrumb a{display:inline-block;padding-block:.55rem}
}
@media (min-width:851px){body .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}}
body .map-link,body .contact-value{display:inline-flex;align-items:center;min-height:32px}
@media (max-width:620px){body .footer-services{text-align:left}body .footer-navigation{border-bottom:0;padding-bottom:.5rem}}

/* ==========================================================================
   Content sections: values and audiences (info-grid), what to have ready (ready-list).
   Mobile first: one column, then two, then three or four.
   ========================================================================== */
.info-grid{display:grid;grid-template-columns:1fr;margin-top:.5rem}
.info-grid article{padding:1.5rem 0;border-top:1px solid var(--line)}
.info-grid h3{margin:0 0 .6rem;font:500 1.65rem/1.15 var(--serif);color:var(--ink)}
.info-grid p{max-width:34rem;margin:0;font-size:.95rem;line-height:1.75;color:var(--muted)}
.ready-list{margin:0;padding:0;list-style:none;border-top:1px solid #c7d2d9}
.ready-list li{position:relative;padding:1rem 0 1rem 1.6rem;border-bottom:1px solid #c7d2d9;font-size:1rem;line-height:1.5;color:var(--ink)}
.ready-list li::before{content:'';position:absolute;left:0;top:1.45rem;width:.45rem;height:.45rem;background:var(--orange)}
.related-section .services-feature-grid{margin-top:.5rem}
@media (min-width:700px){.info-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}}
@media (min-width:1051px){
  .info-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .info-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:2.2rem}
}

/* Pre-launch polish (20 October 2026) */
/* Phone numbers and 01/02/03 labels: Cormorant's old-style figures made 07710 read as "o77Io". */
*,::before,::after{font-variant-numeric:lining-nums!important}  /* !important: each font: shorthand resets it, and no element wants old-style figures */
/* Even heading lines and no single-word last lines. */
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
.faq-layout h2{font-size:clamp(2.4rem,3.4vw,3.4rem)}
/* Each marquee half spans the screen, so the -50% loop never shows an empty strip on wide displays. */
.marquee-group{min-width:100vw;justify-content:space-around}
/* Anchors already clear the header through scroll-padding-top; a second offset left ~150px of the previous section showing. */
.article-body section{scroll-margin-top:0}
.article-takeaways{margin-bottom:1.75rem}
/* Journal cards: "Read the guide" sits on one line across a row. */
.journal-card>a{display:flex;flex-direction:column;height:100%}
.journal-card-copy{display:flex;flex:1;flex-direction:column}
.journal-card .journal-read{margin-top:auto;padding-top:.7rem}
.home-journal .section-head>div:last-child{justify-items:end;text-align:right}
@media(min-width:621px){.journal-browse{padding-top:2rem}}
@media(max-width:1050px){.services-feature-grid>.service-feature:last-child:nth-child(odd)>a{gap:1.6rem}}
/* Three journal cards in two columns: the third spans the row, side by side, like the service cards. */
@media(min-width:621px) and (max-width:850px){
 .journal-grid>.journal-card:last-child:nth-child(odd){grid-column:1/-1}
 .journal-grid>.journal-card:last-child:nth-child(odd)>a{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;align-items:center}
 .journal-grid>.journal-card:last-child:nth-child(odd) .journal-card-copy{padding-top:0}
}
/* Mobile menu: the logo JPG has a white ground; multiply lets the panel colour show through it. */
@media(max-width:850px){.nav-brand{background:none}.nav-brand img{mix-blend-mode:multiply}}
@media(prefers-reduced-motion:reduce){.marquee-group{min-width:100%;padding-inline:32px}}
@media(max-width:620px){.home-journal .section-head>div:last-child{justify-items:start;text-align:left}}
/* Breadcrumb links must not rely on colour alone (WCAG 1.4.1). */
.breadcrumb a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
/* A visible focus ring on form fields, not only a 1px border change. */
.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.form-required{margin:0 0 1rem;color:var(--muted);font-size:.8rem}
