/* James & Woods — editorial refinement. Shared details and new home composition. */
:root{--paper:#f5f3ed;--ink:#10211e;--dark:#0c1917;--muted:#606b64;--line:#cdd2c9;--sage:#e4e7dd;--gold:#d7c39e;--gutter:clamp(25px,6.3vw,105px)}
::selection{background:#b7c2ad;color:#10211e}
body{font-size:16px}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}
em{color:#697660}
.eyebrow,.micro{font-size:11px;letter-spacing:.12em}
.eyebrow>span{width:22px;height:1px}
.arrow-icon{display:inline-flex;flex:0 0 auto;width:20px;height:20px;align-items:center;justify-content:center}
.arrow-icon svg{display:block;width:100%;height:100%;transition:transform .25s}
a:hover .arrow-icon svg{transform:translate(2px,-2px)}
.button,.text-link{font-size:13px}
.button{padding:18px 24px}
.text-link{gap:40px;border-color:#9aa394}
.text-link:hover{gap:40px;color:var(--ink)}
.light:hover{color:var(--gold)}
.header-inner{height:84px}
.brand{width:245px}
.site-header{background:var(--ink);border-color:#ffffff20;transition:background .3s,border-color .3s}
.site-header nav{gap:34px}
.site-header nav>a{font-size:13px}
.site-header .nav-contact{padding:12px 19px;border-color:#b6c0b173;gap:32px;margin-left:20px}
.site-header .nav-contact .arrow-icon{width:17px;height:17px}
.home .site-header{position:fixed;left:0;right:0;background:transparent;border-color:transparent}
.home .site-header:after{content:'';position:absolute;bottom:0;height:1px;left:var(--gutter);right:var(--gutter);background:#ffffff36;pointer-events:none}
.home .site-header.is-scrolled{background:#10211ef5;backdrop-filter:blur(12px);border-color:#ffffff20}
.home .site-header.is-scrolled:after{background:transparent}
.hero{min-height:790px;min-height:min(920px,max(790px,100svh));}
.hero-art img{object-position:center center}
.hero:after{background:linear-gradient(90deg,rgba(7,21,20,.79),rgba(8,22,20,.27) 62%,rgba(8,22,20,.08)),linear-gradient(0deg,rgba(8,23,21,.97),rgba(8,23,21,.17) 55%,rgba(8,23,21,.40))}
.hero-inner{display:flex;flex-direction:column;min-height:inherit;padding-top:129px;padding-bottom:40px;max-width:1600px}
.hero-prelude{display:flex;justify-content:space-between;align-items:start;color:#f1f0e7;font-size:11px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase}
.hero-location{font-size:10px;letter-spacing:.14em}
.hero h1{font-size:clamp(110px,12.5vw,190px);line-height:.88;letter-spacing:-.038em;margin-top:63px;max-width:1100px;animation:none}
.hero h1 em{color:#ded0b4}
.hero-bottom{margin-top:auto;padding-top:43px;align-items:end;animation:none}
.hero-summary{width:310px;margin-right:6.3%;}
.hero-bottom>.hero-summary>p{font-size:15px;line-height:1.65;color:#e1e7dc;max-width:310px}
.hero-cta{margin-top:27px;display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;border-bottom:1px solid #c1caba8c;font-size:13px;max-width:290px}
.hero-cta:hover{color:var(--gold);border-color:var(--gold)}
.scroll-cue{display:flex;gap:18px;font-size:11px;letter-spacing:0;padding:0}
.scroll-symbol{display:flex;align-items:center;justify-content:center;width:41px;height:41px;border:1px solid #b4bca778;border-radius:50%;font-size:17px}
.scroll-cue>span:last-child{font-size:11px}
.scroll-cue:hover .scroll-symbol{border-color:var(--gold);color:var(--gold)}
.perspective-section{display:grid;grid-template-columns:1.15fr .85fr;gap:10%;padding-top:128px;padding-bottom:92px}
.perspective-heading h2{font-size:clamp(55px,5.6vw,84px);line-height:1.02}
.perspective-copy{padding-top:50px;max-width:470px}
.perspective-copy .lead{font-size:25px;line-height:1.5;max-width:440px}
.perspective-copy>p:not(.lead){color:var(--muted);font-size:15px;line-height:1.85;margin-top:24px}
.perspective-copy .text-link{margin-top:24px}
.disciplines{padding-bottom:118px}
.disciplines-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:24px}
.disciplines-top .eyebrow{margin:0}
.disciplines-top>p{font-size:12px;color:var(--muted)}
.service-disclosure{border-top:1px solid var(--line)}
.service-disclosure:last-child{border-bottom:1px solid var(--line)}
.service-disclosure summary{display:grid;grid-template-columns:50px 1.3fr .8fr 42px;gap:25px;align-items:center;padding:29px 0;transition:color .2s}
.service-disclosure .number{font-size:11px;color:var(--muted);align-self:start;padding-top:9px}
.service-disclosure h3{font-size:34px;line-height:1.12;max-width:470px;letter-spacing:-.02em;text-wrap:balance}
.service-question{font-size:13px;line-height:1.65;color:var(--muted);max-width:220px;justify-self:start}
.disclosure-toggle{border:1px solid #b9c2b3;border-radius:50%;display:flex;align-items:center;justify-content:center;width:40px;height:40px;transition:background .2s,color .2s,border-color .2s}
.service-disclosure summary:hover .disclosure-toggle,.service-disclosure[open] .disclosure-toggle{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.disclosure-body{display:grid;grid-template-columns:1.3fr .8fr;gap:25px;padding:0 67px 33px 75px;align-items:end}
.disclosure-body>p{font-size:14px;line-height:1.85;color:var(--muted);max-width:440px}
.disclosure-body .text-link{margin:0;align-self:end;justify-self:start;font-size:12px;gap:26px}
.principal-section{background:#e6e8df;padding:100px 0 0;position:relative}
.principal-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;align-items:center}
.principal-copy h2{font-size:clamp(50px,5.3vw,80px);line-height:1.04}
.principal-copy .eyebrow{margin-bottom:33px}
.principal-intro{font-size:22px;line-height:1.55;margin-top:30px;letter-spacing:-.015em}
.principal-copy>p:not(.eyebrow):not(.principal-intro){font-size:14px;color:#526054;line-height:1.9;max-width:500px;margin-top:22px}
.principal-name{margin-top:30px;display:flex;flex-direction:column;gap:2px}
.principal-name>span:first-child{font-size:18px;letter-spacing:-.02em}
.principal-name>span:last-child{font-size:11px;color:var(--muted)}
.principal-copy .text-link{margin-top:15px}
.principal-portrait{margin:0;max-width:470px;justify-self:end;width:100%;position:relative;padding-top:25px}
.principal-portrait:before{content:'';position:absolute;top:0;left:28px;right:-22px;bottom:61px;border-top:1px solid #a3ad99;border-right:1px solid #a3ad99;pointer-events:none}
.principal-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:center 35%;position:relative}
.principal-portrait figcaption{display:flex;justify-content:space-between;padding:18px 0 0;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#56634f}
.principal-credentials{display:grid;grid-template-columns:1fr 1fr;gap:7%;margin-top:70px;padding-top:30px;padding-bottom:33px;position:relative}
.principal-credentials:before{content:'';position:absolute;top:0;left:var(--gutter);right:var(--gutter);height:1px;background:#bdc6b6}
.principal-credentials>div{display:grid;grid-template-columns:1fr;gap:1px}
.principal-credentials .micro{font-size:10px;margin-bottom:9px;color:#56634f}
.principal-credentials p{font-size:14px;margin:0}
.principal-credentials>div>span:last-child{font-size:12px;color:#526054}
.conviction{background:var(--ink);color:var(--paper);padding:120px 0}
.conviction-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:13%;align-items:center}
.conviction .eyebrow{color:#c5cebe}
.conviction h2{font-size:clamp(60px,6vw,90px);line-height:1.01}
.conviction em{color:var(--gold)}
.conviction-copy{padding-top:40px;max-width:440px}
.conviction-copy .lead{font-size:25px;line-height:1.55}
.conviction-steps{margin-top:38px;margin-bottom:31px;border-top:1px solid #526456}
.conviction-steps>div{display:flex;align-items:center;gap:22px;padding:17px 0;border-bottom:1px solid #526456}
.conviction-steps span{color:#b6c3af;font-size:10px}
.conviction-steps p{font-size:15px}
.conviction-copy>p:not(.lead){font-size:14px;line-height:1.85;color:#c3cebd}
.conviction-copy .text-link{margin-top:26px}
.conversation{background:var(--paper);padding:92px 0 100px}
.conversation-inner{grid-template-columns:1.2fr .8fr;gap:14%;align-items:end}
.conversation h2{font-size:clamp(80px,8.7vw,130px);line-height:.94}
.conversation h2 em{color:#697660}
.conversation-action{max-width:355px;width:100%;padding-bottom:9px!important}
.conversation-inner .conversation-action>p{font-size:17px;line-height:1.65;letter-spacing:-.01em}
.conversation-link{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:26px;font-size:13px}
.circle-arrow{border:1px solid #9ba795;border-radius:50%;width:68px;height:68px;display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
.circle-arrow .arrow-icon{width:25px;height:25px}
.conversation-link:hover .circle-arrow{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.site-footer{padding-top:65px}
.footer-top{padding-bottom:45px}
.footer-logo{max-width:590px;width:57%}
.footer-top>p{font-size:30px;max-width:260px}
.footer-info{gap:8%;padding:45px 0}
.footer-links{font-size:13px;gap:9px}
.footer-info .micro{font-size:10px}
.footer-legal{color:#b0bdaa}
/* Interior pages share the quieter palette, fine rules and readable details. */
.inner-hero{padding-top:85px;padding-bottom:54px}
.inner-hero-grid{gap:8%}
.inner-hero h1{font-size:clamp(64px,6.4vw,102px)}
.expertise-nav{gap:25px;margin-top:65px}
.expertise-nav>a{font-size:13px;padding:6px 0}
.service-title{position:sticky;top:125px;align-self:start}
.service-title .section-index{font-size:11px}
.service-title h2{font-size:59px}
.service-body .lead{font-size:21px;line-height:1.65}
.capability-list li{font-size:14px}
.service-aim{background:#e8eae2;border-left:1px solid #9ca992;padding:20px 25px}
.service-aim .micro{font-size:10px}
.faq-section{background:#e7e9e1}
.approach-hero{padding-top:85px;padding-bottom:87px}
.approach-hero h1{font-size:clamp(68px,8.4vw,124px)}
.approach-step .micro{font-size:11px}
.approach-step h2{font-size:61px}
.step-number{color:#7d8b70}
.step-tags{font-size:11px}
.principles{background:#e6e8df}
.principles-grid h3{font-family:var(--sans);font-size:21px;letter-spacing:-.025em;font-weight:400;line-height:1.3}
.principles-grid p{font-size:14px}
.firm-hero{padding-top:80px;padding-bottom:85px}
.firm-hero h1{font-size:clamp(53px,5.5vw,84px)}
.firm-portrait{position:relative;padding-top:22px}
.firm-portrait:before{content:'';position:absolute;top:0;left:25px;right:-20px;bottom:55px;border-right:1px solid #aab59e;border-top:1px solid #aab59e}
.firm-portrait img{position:relative}
.firm-values{background:#e6e8df}
.qualifications h3{font-family:var(--sans);font-size:21px;line-height:1.4}
.qualifications p{font-size:13px}
.who-grid{grid-template-columns:1fr 1fr;gap:60px 10%;padding-top:95px;padding-bottom:100px}
.who-grid h2{font-size:46px;max-width:470px}
.who-grid p{font-size:15px;max-width:470px}
.contact-hero{padding-top:80px;padding-bottom:75px}
.contact-hero h1{font-size:clamp(70px,8.5vw,125px)}
.enquiry-panel{background:#e6e8df;border-top:1px solid #a9b49f;padding:38px}
.enquiry-panel h2{font-size:50px}
.form-intro{font-size:14px}
label{font-size:12px}
label>span{font-size:10px}
.form-note{font-size:12px}
.enquiry-guidance ol{font-size:14px;line-height:2.1}
.conviction a:focus-visible{outline-color:var(--gold)}
@media(min-width:851px){.home .site-header nav>a{padding-top:10px;padding-bottom:10px}}
@media(max-width:1150px){
 .hero h1{font-size:clamp(100px,12.4vw,144px)}
 .hero-summary{margin-right:0}
 .principal-grid{gap:9%}
 .principal-copy h2{font-size:61px}
 .principal-intro{font-size:20px}
 .service-disclosure summary{grid-template-columns:35px 1.2fr .8fr 40px;gap:20px}
 .service-disclosure h3{font-size:30px}
 .disclosure-body{padding-left:55px;padding-right:60px;grid-template-columns:1.2fr .8fr;gap:20px}
 .inner-hero h1{font-size:69px}
 .site-header nav{gap:27px}
 .brand{width:230px}
 .enquiry-panel{padding:30px}
}
@media(max-width:850px){
 .header-inner{height:80px}.brand{width:230px}
 .site-header nav{top:80px;gap:0;background:var(--ink)}
 .site-header nav>a{font-size:20px;padding:16px 0}
 .site-header .nav-contact{margin:23px 0 0;font-size:15px}
 .hero{min-height:800px}.hero-inner{padding-top:120px;padding-bottom:40px}
 .hero h1{font-size:clamp(100px,13.3vw,120px);margin-top:80px;line-height:.93}
 .hero-summary{width:280px}.hero-bottom>.hero-summary>p{font-size:14px}
 .hero-art img{object-position:63% center}
 .hero:after{background:linear-gradient(90deg,#081916b8,#08191633),linear-gradient(0deg,#081916f2,#08191605 75%,#08191670)}
 .perspective-section{padding-top:85px;padding-bottom:70px;gap:6%;grid-template-columns:1.05fr .95fr}
 .perspective-heading h2{font-size:55px}.perspective-copy{padding-top:46px}.perspective-copy .lead{font-size:21px}.perspective-copy>p:not(.lead){font-size:14px}
 .disciplines{padding-bottom:80px}
 .service-disclosure summary{grid-template-columns:28px 1fr 40px;gap:20px;padding:26px 0}
 .service-question{display:none}.service-disclosure h3{font-size:32px;max-width:480px}
 .disclosure-body{grid-template-columns:1fr;padding:0 50px 28px 48px;gap:18px}.disclosure-body>p{max-width:510px}
 .principal-section{padding-top:75px}.principal-grid{gap:7%;grid-template-columns:1.1fr .9fr}.principal-copy h2{font-size:48px}.principal-copy .eyebrow{font-size:10px}.principal-intro{font-size:18px}.principal-copy>p:not(.eyebrow):not(.principal-intro){font-size:13px}.principal-portrait:before{right:-15px}.principal-credentials{margin-top:55px;gap:7%}
 .conviction{padding:80px 0}.conviction-grid{gap:8%;grid-template-columns:1fr 1fr}.conviction h2{font-size:59px}.conviction-copy .lead{font-size:21px}.conviction-copy{padding-top:50px}.conviction-copy>p:not(.lead){font-size:13px}
 .conversation{padding:75px 0}.conversation-inner{gap:10%;grid-template-columns:1.2fr .8fr}.conversation h2{font-size:79px}.conversation-inner .conversation-action>p{font-size:15px}.circle-arrow{width:52px;height:52px}.conversation-link{font-size:12px;gap:12px}
 .inner-hero{padding-top:55px}.inner-hero h1{font-size:75px}.expertise-nav>a{font-size:13px}
 .service-title h2{font-size:44px}.service-body .lead{font-size:19px}.capability-list li{font-size:13px}
 .approach-hero{padding-top:60px;padding-bottom:65px}.approach-hero h1{font-size:85px}.approach-step h2{font-size:50px}
 .firm-hero{padding-top:55px;padding-bottom:65px}.firm-hero h1{font-size:52px}.firm-portrait:before{right:-15px}
 .who-grid{padding-top:65px;padding-bottom:70px;gap:45px 8%}.who-grid h2{font-size:38px}.who-grid p{font-size:14px}
 .contact-hero{padding-top:60px;padding-bottom:55px}.contact-hero h1{font-size:91px}.enquiry-panel{padding:25px}.enquiry-panel h2{font-size:40px}
 .footer-logo{width:55%}.footer-top>p{font-size:25px}.footer-info{gap:35px}
}
@media(max-width:600px){
 :root{--gutter:25px}
 .header-inner{height:76px}.brand{width:clamp(174px,49vw,215px)}.site-header nav{top:76px}
 .menu-button{font-size:11px;gap:12px}
 .eyebrow,.micro{font-size:10px;letter-spacing:.1em}
 .button,.text-link{font-size:13px}
 .hero{min-height:740px;min-height:max(710px,96svh)}
 .hero-inner{padding-top:112px;padding-bottom:32px}
 .hero-prelude{font-size:9px;line-height:1.6;letter-spacing:.1em;max-width:210px}
 .hero-location{display:none}
 .hero h1{font-size:clamp(62px,18.2vw,111px);line-height:.93;margin-top:56px;letter-spacing:-.035em}
 .hero-art img{object-position:57% center}
 .hero:after{background:linear-gradient(90deg,#081916c7,#08191640),linear-gradient(0deg,#081916fa,#08191626 80%,#0819166b)}
 .hero-bottom{padding-top:45px;display:flex;flex-direction:column;align-items:start;gap:26px}
 .hero-summary{width:100%;margin:0;order:-1;max-width:330px}
 .hero-bottom>.hero-summary>p{font-size:14px;line-height:1.7}
 .hero-cta{font-size:13px;margin-top:25px;max-width:100%;padding-bottom:13px}
 .scroll-cue{font-size:10px;gap:13px;margin-top:4px}.scroll-cue>span:last-child{font-size:10px}.scroll-symbol{width:32px;height:32px;font-size:14px}
 .perspective-section{grid-template-columns:1fr;gap:28px;padding-top:65px;padding-bottom:52px}
 .perspective-heading h2{font-size:clamp(48px,12vw,68px);line-height:1.03}
 .perspective-heading .eyebrow{margin-bottom:25px}
 .perspective-copy{padding-top:0;max-width:450px}.perspective-copy .lead{font-size:23px;line-height:1.5}.perspective-copy>p:not(.lead){font-size:14px;margin-top:22px}
 .perspective-copy .text-link{margin-top:20px}
 .disciplines{padding-bottom:65px}
 .disciplines-top{display:block;padding-bottom:22px}.disciplines-top>p{font-size:12px;margin-top:10px}
 .service-disclosure summary{grid-template-columns:19px 1fr 32px;gap:12px;padding:24px 0}
 .service-disclosure .number{font-size:10px;padding-top:7px}
 .service-disclosure h3{font-size:clamp(26px,6.8vw,33px);line-height:1.15;letter-spacing:-.02em;text-wrap:pretty}
 .disclosure-toggle{width:32px;height:32px}.plus{width:11px;height:11px}.plus:before,.plus:after{width:11px;top:5px}
 .disclosure-body{padding:0 0 25px 31px;gap:14px}.disclosure-body>p{font-size:13px;line-height:1.85}.disclosure-body .text-link{font-size:12px;gap:30px}
 .principal-section{padding-top:60px}
 .principal-grid{grid-template-columns:1fr;gap:40px}
 .principal-copy h2{font-size:clamp(46px,11.4vw,65px)}.principal-copy .eyebrow{margin-bottom:25px}
 .principal-intro{font-size:21px;margin-top:25px}.principal-copy>p:not(.eyebrow):not(.principal-intro){font-size:14px;margin-top:21px}.principal-name{margin-top:25px}.principal-name>span:first-child{font-size:18px}.principal-name>span:last-child{font-size:12px}
 .principal-portrait{max-width:430px;padding-top:18px;justify-self:start;width:calc(100% - 14px)}.principal-portrait:before{right:-14px;left:20px;bottom:50px}.principal-portrait img{aspect-ratio:4/4.7}.principal-portrait figcaption{font-size:10px;padding-top:16px}
 .principal-credentials{grid-template-columns:1fr;gap:26px;margin-top:40px;padding-top:28px;padding-bottom:35px}
 .principal-credentials .micro{font-size:9px;margin-bottom:8px}.principal-credentials p{font-size:14px}.principal-credentials>div>span:last-child{font-size:12px;line-height:1.7}
 .conviction{padding:65px 0}.conviction-grid{grid-template-columns:1fr;gap:35px}.conviction h2{font-size:clamp(53px,13vw,74px);line-height:1.03}.conviction-copy{padding-top:0;max-width:450px}.conviction-copy .lead{font-size:22px}.conviction-copy>p:not(.lead){font-size:14px}.conviction-steps{margin-top:28px;margin-bottom:24px}.conviction-steps>div{padding:15px 0}.conviction-steps p{font-size:14px}.conviction-copy .text-link{margin-top:20px}
 .conversation{padding:65px 0}.conversation-inner{grid-template-columns:1fr;gap:32px}.conversation h2{font-size:clamp(58px,16vw,96px)}.conversation .eyebrow{margin-bottom:25px}.conversation-action{max-width:370px;padding:0!important}.conversation-inner .conversation-action>p{font-size:16px}.conversation-link{font-size:13px;margin-top:22px}.circle-arrow{width:60px;height:60px}
 .site-footer{padding-top:50px}.footer-top{padding-bottom:32px}.footer-logo{width:100%;max-width:390px}.footer-top>p{font-size:26px;margin-top:25px}.footer-info{padding:32px 0;gap:30px}.footer-links{font-size:13px;gap:10px}.footer-info .micro{font-size:10px;max-width:290px}.footer-legal{font-size:12px}.footer-legal>div{font-size:10px}
 .inner-hero{padding-top:45px;padding-bottom:35px}.inner-hero h1{font-size:clamp(47px,12vw,68px)}.inner-hero-grid .lead{font-size:21px}.inner-hero-grid p:not(.lead){font-size:14px}.expertise-nav{margin-top:32px;gap:0}.expertise-nav>a{padding:15px 0;font-size:13px}
 .service-title{position:static}.service-title h2{font-size:47px}.service-title>p{font-size:18px}.service-body .lead{font-size:20px}.service-title .section-index{font-size:10px}.capability-list{grid-template-columns:1fr}.capability-list li{font-size:14px}.service-aim p{font-size:17px}.scope-note{font-size:13px}.faq summary{font-size:15px}.faq>p{font-size:14px}
 .approach-hero{padding-top:45px;padding-bottom:50px}.approach-hero h1{font-size:clamp(50px,12.6vw,75px)}.approach-opening>p:last-child{font-size:14px}.lens-table h3{font-size:27px}.lens-table p{font-size:12px}.approach-step h2{font-size:39px}.approach-step .micro{font-size:10px}.approach-step>div>p:not(.micro){font-size:14px}.step-tags{font-size:10px}.principles-grid h3{font-size:24px;margin-top:15px}.principles-grid p{font-size:14px;margin-top:17px}
 .firm-hero{padding-top:45px;padding-bottom:55px}.firm-hero h1{font-size:clamp(49px,12.3vw,70px)}.firm-hero-copy>p:not(.eyebrow):not(.lead){font-size:14px}.firm-portrait{width:calc(100% - 14px);padding-top:18px}.firm-portrait:before{right:-14px;left:20px}.firm-portrait>span{font-size:10px}.firm-intro p:last-child{font-size:15px}.qualifications h3{font-size:22px}.qualifications p{font-size:13px}
 .who-grid{grid-template-columns:1fr;gap:35px;padding-top:50px;padding-bottom:55px}.who-grid h2{font-size:40px}.who-grid p{font-size:14px;margin-top:20px}
 .contact-hero{padding-top:45px;padding-bottom:42px}.contact-hero h1{font-size:clamp(58px,14.5vw,83px)}.contact-hero .lead{font-size:21px}.contact-details p{font-size:13px}.email-link{font-size:clamp(25px,7.4vw,40px)}.enquiry-panel{padding:28px 24px;margin:0 -8px}.enquiry-panel h2{font-size:45px}.form-intro{font-size:13px}.form-note{font-size:12px}.enquiry-guidance>p{font-size:14px}.enquiry-guidance ol{font-size:13px}.enquiry-panel label{font-size:12px}.enquiry-panel input,.enquiry-panel textarea,.enquiry-panel select{font-size:16px}
}
/* Motion never gates access to content; no continuous animation or scroll effects. */
@media(prefers-reduced-motion:no-preference){
 @keyframes quiet-entrance{from{transform:translateY(12px)}to{transform:translateY(0)}}
 .hero h1{animation:quiet-entrance .8s cubic-bezier(.2,.6,.3,1) both}
 .reveal-enter{animation:quiet-entrance .65s cubic-bezier(.2,.6,.3,1) both}
}
/* Without scripts, the transparent home header leaves with the hero. */
.home:not(.header-ready) .site-header{position:absolute}
.contact-details>div:first-child a{white-space:nowrap}
@media(max-width:400px){.contact-details{grid-template-columns:1fr;gap:26px}}

/* V4 — clearer paths through the firm, the disciplines and the first enquiry. */
.expertise-navigation{position:sticky;top:84px;z-index:10;background:var(--paper);border-bottom:1px solid var(--line)}
.expertise-navigation .expertise-nav{margin:0 auto;max-width:1600px;border:0;padding-top:0;padding-bottom:0;gap:32px;grid-template-columns:repeat(4,minmax(0,1fr))}
.expertise-navigation .expertise-nav>a{padding:22px 0;align-items:center;position:relative;gap:14px;color:var(--muted);min-width:0;line-height:1.4;font-size:12px}
.expertise-navigation .expertise-nav>a>span:first-child{font-size:10px;color:var(--muted);padding:0}
.expertise-navigation .expertise-nav>a>span:last-child{color:inherit;font-size:inherit;padding:0}
.expertise-navigation .expertise-nav>a:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:transparent}
.expertise-navigation .expertise-nav>a:hover,.expertise-navigation .expertise-nav>a[aria-current]{color:var(--ink)}
.expertise-navigation .expertise-nav>a[aria-current]:after{background:var(--ink)}
.expertise-page .service-title{top:182px}
/* scroll-padding already accounts for the main header. */
.expertise-page .service-detail{scroll-margin-top:88px}
.audience-hero{padding-top:85px;padding-bottom:80px}
.audience-hero h1{font-size:clamp(68px,8.5vw,126px);line-height:1;max-width:1200px}
.audience-opening{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:920px;margin:45px 0 0 auto}
.audience-opening .lead{font-size:25px;line-height:1.5}
.audience-opening>p:last-child{font-size:15px;line-height:1.9;color:var(--muted);margin:0}
.situations{padding-bottom:100px}
.situation{display:grid;grid-template-columns:1fr 1fr;gap:13%;border-top:1px solid var(--line);padding:60px 0}
.situation:last-child{padding-bottom:0}
.situation-identity{display:grid;grid-template-columns:40px 1fr;gap:25px;align-items:start}
.situation-identity .section-index{padding-top:11px}
.situation h2{font-size:clamp(40px,4.2vw,61px);line-height:1.07;max-width:410px}
.situation h3{font-size:32px;line-height:1.2;letter-spacing:-.02em;max-width:450px}
.situation-detail>p{margin-top:22px;font-size:15px;line-height:1.9;color:var(--muted);max-width:470px}
.situation .text-link{margin-top:20px}
.readiness-band{padding:85px 0}
.readiness-grid{display:grid;grid-template-columns:1fr 1fr;gap:13%;align-items:center}
.readiness-grid h2{font-size:clamp(52px,5.5vw,80px);line-height:1.04}
.readiness-grid>div>p:not(.eyebrow){font-size:17px;line-height:1.85;color:#d3ddcc;max-width:470px}
.readiness-grid .text-link{font-size:12px;gap:20px;max-width:100%;line-height:1.6}
.readiness-grid>div>.readiness-note{font-size:12px;color:#b8c6b0;border-top:1px solid #5c705d;padding-top:24px;margin-top:32px}
.optional-details{margin:0 0 24px;border-top:1px solid #aab49f;border-bottom:1px solid #aab49f}
.optional-details summary{font-size:12px;display:flex;align-items:center;gap:8px;padding:15px 0;line-height:1.6;flex-wrap:wrap}
.optional-details summary>span:not(.plus){font-size:10px;color:#536154}
.optional-details summary .plus{margin-left:auto}
.optional-details .form-row{padding-top:10px}
.optional-details label{margin-bottom:18px}
.draft-panel textarea{font-size:14px;line-height:1.7;min-height:240px}
@media(max-width:1150px){
 .expertise-navigation .expertise-nav{gap:22px}
 .expertise-navigation .expertise-nav>a{font-size:11px;gap:10px}
 .situation{gap:9%}.situation-identity{grid-template-columns:25px 1fr;gap:20px}
 .situation h3{font-size:29px}
}
@media(max-width:850px){
 .expertise-navigation{top:80px}
 .expertise-navigation .expertise-nav{gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}
 .expertise-navigation .expertise-nav>a{font-size:11px;align-items:start;gap:7px}
 .expertise-page .service-title{top:182px}
 .audience-hero{padding-top:60px;padding-bottom:65px}.audience-hero h1{font-size:85px}
 .audience-opening{gap:7%}.audience-opening .lead{font-size:23px}.audience-opening>p:last-child{font-size:14px}
 .situations{padding-bottom:70px}.situation{gap:8%;padding:45px 0}.situation h2{font-size:40px}.situation h3{font-size:28px}.situation-detail>p{font-size:14px}
 .readiness-band{padding:65px 0}.readiness-grid{gap:8%}.readiness-grid h2{font-size:55px}.readiness-grid>div>p:not(.eyebrow){font-size:15px}
 /* Useful navigation is available even if scripts fail to load. */
 body:not(.navigation-ready) .menu-button{display:none}
 body:not(.navigation-ready) .site-header{position:relative;background:var(--ink)}
 body:not(.navigation-ready) .header-inner{height:auto;min-height:80px;flex-wrap:wrap;padding-top:22px}
 body:not(.navigation-ready) .site-header nav{display:flex;position:static;width:100%;padding:0 0 24px;border:0}
}
@media(max-width:600px){
 .expertise-navigation{position:relative;top:auto}
 .expertise-navigation .expertise-nav{grid-template-columns:1fr 1fr;gap:0 22px}
 .expertise-navigation .expertise-nav>a{font-size:11px;padding:18px 0;border:0}
 .expertise-navigation .expertise-nav>a:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .expertise-navigation .expertise-nav>a:after{display:none}
 .expertise-page .service-title{position:static}
 .expertise-page .service-detail{scroll-margin-top:18px}
 .audience-hero{padding-top:45px;padding-bottom:45px}.audience-hero h1{font-size:clamp(48px,12.4vw,74px);line-height:1.04}
 .audience-opening{grid-template-columns:1fr;gap:20px;margin-top:30px}.audience-opening .lead{font-size:22px}
 .situations{padding-bottom:55px}.situation{grid-template-columns:1fr;gap:25px;padding:35px 0}
 .situation-identity{grid-template-columns:23px 1fr;gap:15px}.situation-identity .section-index{padding-top:7px}
 .situation h2{font-size:39px;max-width:400px}.situation-detail{padding-left:38px}.situation h3{font-size:27px;max-width:360px}
 .situation-detail>p{font-size:14px;margin-top:17px}.situation .text-link{font-size:12px;gap:20px;margin-top:15px}
 .readiness-band{padding:55px 0}.readiness-grid{grid-template-columns:1fr;gap:30px}.readiness-grid h2{font-size:clamp(47px,12vw,66px)}.readiness-grid>div>.readiness-note{font-size:12px}
 .draft-panel textarea{font-size:16px}
 .optional-details summary{font-size:12px}
}

/* Current-page treatment for the contact navigation action. */
.site-header .nav-contact[aria-current="page"]{border-color:var(--gold);color:var(--gold)}
.site-header .nav-contact[aria-current="page"]:hover{background:var(--gold);color:var(--ink)}

/* Search and navigation refinements retain the editorial overline treatment. */
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px;list-style:none;padding:0;margin:0}
.breadcrumbs li+li:before{content:'/';margin-right:10px;opacity:.65}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.service-context{font-size:15px;line-height:1.85;color:var(--muted);margin-top:20px}
.hero-art picture{display:block;width:100%;height:100%}
@media(max-width:600px){.service-context{font-size:14px}}
/* Keep small text above WCAG AA contrast on the sage panels. */
:root{--muted:#59655c}
