/* Aureon Advisory: an independent institutional design system. */
:root {
    --bg:#0B1623; --surface:#111F30; --elevated:#17283B; --gold:#C8A96B; --gold-light:#DDC79F;
    --champagne:#E5D7BB; --text:#F4F0E8; --muted:#9B968C;
    --line:color-mix(in srgb,var(--gold) 24%,transparent);
    --heading:"Cormorant Garamond",Georgia,serif; --body:Inter,Arial,sans-serif;
    --gutter:clamp(24px,5vw,80px);
}
* { box-sizing:border-box; }
html { scroll-padding-top:105px; }
html[data-smooth=true] { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:400 15px/1.85 var(--body); -webkit-font-smoothing:antialiased; }
body[data-grain=true]::after { content:""; position:fixed; inset:0; z-index:8; pointer-events:none; opacity:.018; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
button { color:inherit; cursor:pointer; }
a:focus-visible,button:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--gold-light); outline-offset:6px; }
::selection { background:var(--gold); color:var(--bg); }
img { max-width:100%; height:auto; }
.arrow-icon { display:inline-block; width:1em; height:1em; vertical-align:-.125em; flex-shrink:0; pointer-events:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:var(--heading); font-weight:400; line-height:1.08; }
h2 { font-size:clamp(44px,4.7vw,72px); letter-spacing:-.025em; margin-bottom:32px; }
h2[data-split] { white-space:pre-line; }
h3 { font-size:31px; }
p { margin-bottom:1.4em; }
ul,ol { padding:0; margin:0; list-style:none; }
.container { width:min(100% - var(--gutter)*2,1320px); margin-inline:auto; }
.eyebrow { font:500 10px/1.7 var(--body); letter-spacing:.19em; text-transform:uppercase; color:var(--gold); margin-bottom:25px; }
.body-copy { color:var(--muted); line-height:1.9; }
.body-copy p:last-child { margin-bottom:0; }
.section { padding-block:140px; }
.section-label { display:flex; align-items:baseline; gap:18px; margin-bottom:30px; }
.section-label > span { font:400 12px/1 var(--body); color:var(--gold); }
.section-label .eyebrow { margin:0; }
.button { position:relative; display:inline-flex; justify-content:space-between; align-items:center; gap:28px; min-height:53px; padding:15px 22px; border:1px solid var(--gold); font:500 9px/1.7 var(--body); letter-spacing:.13em; text-transform:uppercase; }
.button > span:last-child { font-size:19px; line-height:1; }
.button-gold { color:var(--bg); background:var(--gold); }
.button-outline { color:var(--gold); background:transparent; }
.button:hover { background:var(--gold-light); border-color:var(--gold-light); color:var(--bg); }
.skip-link { position:fixed; z-index:1000; top:8px; left:8px; padding:12px 22px; background:var(--gold); color:var(--bg); transform:translateY(-200%); }
.skip-link:focus { transform:none; }
.site-header { position:fixed; inset:0 0 auto; z-index:50; background:color-mix(in srgb,var(--bg) 94%,transparent); border-bottom:1px solid var(--line); }
.site-header.is-scrolled { background:color-mix(in srgb,var(--bg) 96%,transparent); backdrop-filter:blur(18px); }
.header-inner { display:flex; align-items:center; gap:28px; min-height:105px; }
.brand { display:inline-flex; align-items:center; gap:15px; flex-shrink:0; }
.brand-monogram { display:flex; width:38px; height:48px; align-items:center; }
.brand-monogram svg { display:block; width:100%; height:100%; stroke:var(--gold); }
.brand-wordmark { font:400 27px/1.2 var(--heading); letter-spacing:.07em; }
.brand-name { display:flex; flex-direction:column; gap:5px; }
.brand-name > span { font:500 27px/1 var(--heading); letter-spacing:.11em; text-transform:uppercase; }
.brand-name > small { font:400 8px/1.4 var(--body); letter-spacing:.36em; text-transform:uppercase; color:var(--gold); }
.brand-logo { max-width:205px; max-height:58px; object-fit:contain; }
.desktop-nav { margin-left:auto; }
.menu { display:flex; gap:27px; }
.desktop-nav a { display:block; padding:12px 0; font-size:10px; letter-spacing:.04em; color:var(--muted); }
.desktop-nav a:hover,.menu a[aria-current=location] { color:var(--gold-light); }
.header-cta { display:inline-flex; align-items:center; justify-content:center; gap:20px; border:1px solid var(--line); color:var(--gold); padding:12px 16px; font:500 9px/1.5 var(--body); letter-spacing:.13em; }
.header-cta span { font-size:17px; }
.menu-toggle { display:none; width:44px; height:44px; padding:12px; border:1px solid var(--line); background:none; }
.menu-toggle span { display:block; width:18px; height:1px; margin:5px 0; background:var(--gold); }
.mobile-menu { max-width:none; max-height:none; width:100%; height:100dvh; margin:0; padding:26px var(--gutter); border:0; background:var(--bg); color:var(--text); position:fixed; inset:0; }
.mobile-menu::backdrop { background:var(--bg); }
.mobile-menu-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:60px; }
.menu-close { width:44px; height:44px; border:1px solid var(--line); background:none; color:var(--gold); font-size:27px; line-height:1; }
.mobile-menu nav .menu { display:flex; flex-direction:column; gap:0; }
.mobile-menu nav a { display:block; padding:12px 0; border-bottom:1px solid var(--line); font:400 43px/1.3 var(--heading); }
.mobile-menu nav a:hover { color:var(--gold); }
.mobile-email { display:inline-block; margin-top:35px; color:var(--muted); font-size:14px; }
.menu-open { overflow:hidden; }
.no-js-nav { margin-top:105px; padding-block:20px; }
.no-js-nav .menu { flex-wrap:wrap; gap:14px 24px; font-size:12px; color:var(--gold); }
.hero { position:relative; overflow:hidden; padding:172px 0 82px; border-bottom:1px solid var(--line); }
.hero-layout { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:6.5%; align-items:center; }
.hero-eyebrow { display:flex; align-items:center; gap:15px; font-size:9px; margin-bottom:32px; }
.hero-eyebrow > span { display:block; flex:none; width:25px; height:1px; background:var(--gold); }
.hero h1 { font-size:clamp(72px,6.7vw,106px); line-height:1.01; letter-spacing:-.035em; margin:0 0 30px; }
.hero-title-line { display:block; }
.hero-title-line > span { display:inline-block; }
.hero-title-line:last-child { color:var(--gold-light); font-style:italic; }
.hero-description { max-width:435px; color:var(--muted); font-size:13px; line-height:1.95; }
.hero-description p { margin-bottom:28px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-actions .button { gap:22px; padding-inline:18px; font-size:8px; }
.hero-actions .button-outline { border-color:var(--line); }
.hero-footnote { display:flex; align-items:center; gap:13px; margin:32px 0 0; color:var(--muted); font-size:9px; letter-spacing:.07em; }
.hero-footnote > span { width:20px; height:1px; background:var(--gold); }
.hero-visual { position:relative; padding:17px 17px 0; }
.hero-visual::before { content:""; position:absolute; inset:0 0 34px; border:1px solid var(--line); pointer-events:none; }
.hero-coordinate { position:absolute; right:-21px; top:50%; writing-mode:vertical-rl; font-size:8px; letter-spacing:.3em; color:var(--gold); text-transform:uppercase; }
.hero-visual:not(:has(.editorial-photo)) { display:none; }
.hero-layout:not(:has(.editorial-photo)) { grid-template-columns:1fr; max-width:850px; }
.hero-photo .photo-frame { aspect-ratio:4/5; }
.hero-photo figcaption { justify-content:center; font-size:9px; }
.positioning { border-bottom:1px solid var(--line); padding:25px 0; }
.positioning ul { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.positioning li { color:var(--muted); font-size:9px; letter-spacing:.13em; white-space:nowrap; }
.positioning li + li { padding-left:25px; border-left:1px solid var(--line); }
.intro-heading { display:grid; grid-template-columns:1fr 2.35fr; gap:8%; align-items:start; margin-bottom:58px; }
.intro-heading .section-label { margin-top:14px; }
.intro-heading h2 { max-width:820px; margin:0; }
.intro-layout { display:grid; grid-template-columns:1.08fr 1fr; gap:9%; align-items:center; }
.intro-layout:not(:has(.editorial-photo)) { display:block; max-width:800px; margin-left:auto; }
.intro-photography:empty { display:none; }
.intro-photo .photo-frame { aspect-ratio:1.5; }
.intro-copy { padding-top:8px; }
.intro-copy .body-copy { font-size:14px; }
.keywords { display:flex; flex-wrap:wrap; gap:24px; margin-top:35px; padding-top:21px; border-top:1px solid var(--line); }
.keywords li { color:var(--gold-light); font:400 23px/1.4 var(--heading); }
.expertise { background:var(--surface); border-block:1px solid var(--line); }
.expertise-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.7fr); gap:8%; align-items:start; }
.expertise-intro { position:sticky; top:145px; }
.expertise-intro h2 { font-size:clamp(45px,4vw,61px); }
.expertise-rule { width:65px; height:1px; background:var(--gold); margin-top:38px; }
.service-list { display:grid; grid-template-columns:1fr 1fr; gap:0 44px; }
.expertise-layout:has(.service-list:empty) { grid-template-columns:1fr; }
.service-list:empty { display:none; }
.service-row { position:relative; padding:31px 0 32px; border-top:1px solid var(--line); isolation:isolate; }
.service-number { display:block; font:400 10px/1.6 var(--body); color:var(--gold); letter-spacing:.1em; margin-bottom:26px; }
.service-row h3 { font-size:30px; margin:0 0 17px; max-width:95%; }
.service-row p { margin:0; font-size:12px; line-height:1.95; color:var(--muted); }
.service-arrow { position:absolute; right:0; top:21px; display:flex; align-items:center; justify-content:center; width:34px; height:34px; color:var(--gold); font-size:20px; }
.approach-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:13%; align-items:center; }
.approach-intro h2 { max-width:480px; font-size:clamp(47px,4.5vw,68px); }
.approach-photo { margin-top:43px!important; }
.approach-photo .photo-frame { aspect-ratio:1.35; }
.timeline { counter-reset:stage; padding-top:14px; }
.timeline li { position:relative; display:grid; grid-template-columns:48px 1fr; gap:26px; padding:32px 0; border-bottom:1px solid var(--line); }
.timeline li:first-child { border-top:1px solid var(--line); }
.stage-number { color:var(--gold); font:400 37px/1 var(--heading); }
.stage-copy h3 { font:500 10px/1.6 var(--body); color:var(--gold-light); letter-spacing:.14em; margin-bottom:13px; }
.stage-copy p { font-size:13px; color:var(--muted); line-height:1.9; margin:0; }
.stage-line { position:absolute; width:1px; height:17px; background:var(--gold); top:45px; left:55px; opacity:.45; }
.value { padding-top:40px; }
.value-panorama { position:relative; min-height:370px; }
.value-photo .photo-frame { aspect-ratio:3.15; }
.value-photo figcaption { justify-content:flex-end; }
.value-heading { position:absolute; left:55px; bottom:8px; width:540px; padding:40px 42px 35px; background:var(--bg); border-top:1px solid var(--gold); }
.value-heading .section-label { margin-bottom:25px; }
.value-heading h2 { font-size:56px; line-height:1.08; margin:0; }
.value-panorama:not(:has(.editorial-photo)) { min-height:0; }
.value-panorama:not(:has(.editorial-photo)) .value-heading { position:static; width:auto; padding:0; border:0; }
.value-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 38px; margin-top:58px; }
.value-list li { display:flex; align-items:start; gap:17px; padding:23px 0; border-bottom:1px solid var(--line); font-size:13px; color:var(--muted); }
.value-tick { color:var(--gold); font-size:16px; line-height:1.5; }
.about { background:var(--surface); border-block:1px solid var(--line); }
.about-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr); gap:13%; align-items:center; }
.about-content h2 { font-size:clamp(46px,4.9vw,71px); }
.about-content .body-copy { font-size:14px; max-width:520px; }
.about-action { margin-top:31px; }
.about-photo .photo-frame { aspect-ratio:4/5; }
.about-photography { position:relative; padding-bottom:28px; }
.about-signature { position:absolute; top:32px; left:-30px; width:105px; height:125px; display:flex; flex-direction:column; justify-content:center; align-items:center; border:1px solid var(--gold); background:var(--surface); color:var(--gold); }
.about-signature span { font:400 75px/.9 var(--heading); }
.about-signature i { width:30px; height:1px; margin-top:13px; background:var(--gold); }
.about-photography:not(:has(.editorial-photo)) { display:none; }
.about-layout:not(:has(.editorial-photo)) { grid-template-columns:1fr; max-width:850px; }
.advisory { text-align:center; padding-block:145px; border-bottom:1px solid var(--line); }
.advisory-inner { max-width:1060px; }
.quote-rule { width:53px; height:1px; margin:33px auto; background:var(--gold); }
.advisory h2 { font-size:clamp(45px,5.4vw,80px); line-height:1.14; color:var(--champagne); font-style:italic; margin:0 auto 32px; }
.advisory-thought { max-width:650px; margin:0 auto 32px; color:var(--muted); font-size:14px; line-height:1.9; }
.quote-end { color:var(--gold); text-transform:uppercase; font-size:9px; letter-spacing:.25em; }
.contact-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:12%; align-items:center; }
.contact-heading h2 { font-size:clamp(52px,6.2vw,91px); margin-bottom:28px; }
.contact-heading .body-copy { font-size:14px; max-width:440px; }
.contact-panel { border-block:1px solid var(--line); padding:42px 0; }
.contact-details { margin:0; }
.contact-details > div { margin-bottom:26px; }
.contact-details dt { font:400 9px/1.6 var(--body); color:var(--gold); text-transform:uppercase; letter-spacing:.16em; margin-bottom:12px; }
.contact-details dd { margin:0; font:400 25px/1.5 var(--heading); }
.contact-details dd a,.contact-details dd span { display:block; overflow-wrap:anywhere; }
.contact-details dd a > span { display:inline; color:var(--gold); font-family:var(--body); font-size:21px; }
.contact-details a:hover,.footer-contact a:hover { color:var(--gold-light); }
.contact-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:29px; }
.contact-socials { display:flex; flex-wrap:wrap; gap:22px; font-size:11px; color:var(--muted); margin-top:30px; }
.contact-socials:empty { display:none; }
.site-footer { padding:70px 0 26px; background:var(--surface); border-top:1px solid var(--line); }
.footer-main { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:50px; margin-bottom:58px; }
.footer-description { margin:21px 0 0; color:var(--muted); font-size:11px; }
.footer-main nav .menu { display:grid; grid-template-columns:1fr 1fr; gap:15px 26px; font-size:11px; color:var(--muted); }
.footer-main nav a:hover { color:var(--gold-light); }
.footer-contact { display:flex; flex-direction:column; align-items:flex-start; justify-self:end; gap:14px; font-size:12px; color:var(--muted); }
.footer-contact > a { overflow-wrap:anywhere; }
.footer-socials { display:flex; flex-wrap:wrap; gap:16px; }
.footer-socials:empty { display:none; }
.footer-bottom { display:flex; align-items:center; gap:28px; border-top:1px solid var(--line); padding-top:25px; color:var(--muted); font-size:9px; line-height:1.7; }
.footer-bottom p { margin:0; }
.legal-links { display:flex; gap:22px; margin-left:auto; }
.legal-links a:hover,.back-top:hover { color:var(--gold-light); }
.back-top { display:flex; gap:22px; align-items:center; white-space:nowrap; }
.back-top span { color:var(--gold); }
.legal-page { padding:170px 0 120px; min-height:75vh; }
.legal-container { max-width:850px; }
.text-link { display:inline-block; font-size:12px; color:var(--gold); margin-bottom:45px; }
.legal-page h1 { font-size:clamp(52px,6vw,83px); margin-bottom:48px; }
.page-content { color:var(--muted); font-size:15px; line-height:1.95; }
.page-content h2 { font-size:36px; color:var(--text); margin:45px 0 18px; }
.page-content h3 { font-size:28px; color:var(--text); margin-top:30px; }
.page-content a { color:var(--gold); text-decoration:underline; text-underline-offset:4px; }
.page-content ul,.page-content ol { list-style:revert; padding-left:25px; }
.page-content blockquote { padding-left:24px; border-left:1px solid var(--gold); margin:30px 0; }
.error-page { padding:190px 0 120px; min-height:85vh; }
.error-page h1 { font-size:clamp(140px,20vw,240px); margin:0; color:var(--gold-light); }
.error-page p:not(.eyebrow) { color:var(--muted); margin:20px 0 35px; }
.admin-bar .site-header { top:32px; }
.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(min-width:1600px) {
    .hero { padding-top:192px; padding-bottom:100px; }
    .hero-layout { gap:8%; }
    .hero h1 { font-size:108px; }
}
@media(max-width:1150px) {
    .header-inner { gap:22px; }
    .menu { gap:20px; }
    .header-cta { padding-inline:12px; gap:13px; font-size:8px; }
    .brand { gap:11px; }
    .brand-name > span { font-size:24px; }
    .brand-monogram { width:31px; }
    .hero { padding-top:160px; }
    .hero h1 { font-size:clamp(65px,6.9vw,84px); }
    .hero-layout { gap:6%; }
    .hero-actions .button { font-size:8px; padding-inline:15px; }
    .hero-description { font-size:12px; }
    .section { padding-block:110px; }
    .positioning li { font-size:8px; letter-spacing:.09em; }
    .positioning li + li { padding-left:18px; }
    .intro-heading { gap:6%; }
    .intro-layout { gap:7%; }
    .expertise-layout { gap:6%; grid-template-columns:1fr 2fr; }
    .expertise-intro h2 { font-size:47px; }
    .service-list { gap:0 28px; }
    .service-row h3 { font-size:27px; }
    .approach-layout { gap:9%; }
    .value-heading { width:470px; left:35px; padding:32px; }
    .value-heading h2 { font-size:49px; }
    .value-panorama { min-height:325px; }
    .about-layout { gap:9%; }
}
@media(max-width:900px) {
    .desktop-nav { display:none; }
    .header-cta { margin-left:auto; font-size:9px; }
    .menu-toggle { display:block; }
    .header-inner { min-height:90px; }
    .hero { padding:145px 0 62px; }
    .hero-layout { grid-template-columns:1fr; gap:50px; }
    .hero h1 { font-size:90px; }
    .hero-copy { max-width:630px; }
    .hero-description { max-width:560px; font-size:14px; }
    .hero-actions .button { padding-inline:23px; font-size:9px; }
    .hero-visual { max-width:100%; padding:16px 16px 0; }
    .hero-photo .photo-frame { aspect-ratio:1.9; }
    .hero-coordinate { right:-16px; }
    .hero-footnote { margin-top:24px; }
    .positioning ul { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; text-align:center; }
    .positioning li { font-size:9px; }
    .positioning li + li { border:0; padding:0; }
    .intro-heading { display:block; margin-bottom:40px; }
    .intro-heading .section-label { margin:0 0 25px; }
    .intro-heading h2 { max-width:640px; }
    .intro-layout { grid-template-columns:1fr 1fr; gap:7%; align-items:start; }
    .intro-photo .photo-frame { aspect-ratio:4/5; }
    .intro-copy { padding:0; }
    .intro-copy .body-copy { font-size:13px; }
    .keywords { gap:14px; margin-top:25px; }
    .keywords li { font-size:22px; }
    .expertise-layout { display:block; }
    .expertise-intro { position:static; max-width:570px; margin-bottom:45px; }
    .expertise-intro h2 { font-size:57px; }
    .expertise-rule { display:none; }
    .service-list { gap:0 45px; }
    .service-row h3 { font-size:32px; }
    .service-row p { font-size:13px; }
    .approach-layout { grid-template-columns:1fr 1.1fr; gap:7%; align-items:start; }
    .approach-intro h2 { font-size:49px; }
    .approach-photo .photo-frame { aspect-ratio:4/5; }
    .timeline { padding-top:0; }
    .timeline li { gap:18px; grid-template-columns:36px 1fr; padding-block:29px; }
    .stage-number { font-size:33px; }
    .stage-line { left:40px; top:39px; }
    .stage-copy p { font-size:12px; }
    .value-panorama { min-height:370px; }
    .value-photo .photo-frame { aspect-ratio:2.1; }
    .value-heading { left:25px; bottom:0; width:440px; padding:30px; }
    .value-heading h2 { font-size:46px; }
    .value-list { grid-template-columns:1fr 1fr; gap:0 32px; margin-top:38px; }
    .about-layout { gap:8%; grid-template-columns:1.1fr .85fr; }
    .about-content h2 { font-size:47px; }
    .about-content .body-copy { font-size:13px; }
    .about-photo .photo-frame { aspect-ratio:3/5; }
    .about-signature { width:80px; height:100px; left:-20px; }
    .about-signature span { font-size:60px; }
    .contact-layout { gap:8%; }
    .contact-heading h2 { font-size:59px; }
    .contact-details dd { font-size:24px; }
    .footer-main { grid-template-columns:1.2fr 1fr; }
    .footer-contact { grid-column:1/-1; justify-self:start; flex-direction:row; flex-wrap:wrap; }
    .footer-bottom { flex-wrap:wrap; }
    .legal-links { margin-left:0; }
    .back-top { margin-left:auto; }
}
@media(max-width:600px) {
    :root { --gutter:24px; }
    html { scroll-padding-top:85px; }
    .header-inner { min-height:82px; gap:16px; }
    .no-js-nav { margin-top:82px; }
    .brand-monogram { width:29px; height:40px; }
    .brand-name > span { font-size:23px; letter-spacing:.095em; }
    .brand-name > small { font-size:7px; letter-spacing:.31em; }
    .header-cta { display:none; }
    .menu-toggle { margin-left:auto; }
    .hero { padding:126px 0 47px; }
    .hero-layout { gap:37px; }
    .hero-eyebrow { font-size:8px; letter-spacing:.16em; gap:11px; margin-bottom:26px; }
    .hero-eyebrow > span { width:18px; }
    .hero h1 { font-size:clamp(57px,15.2vw,84px); line-height:1.035; margin-bottom:25px; }
    .hero-description { font-size:13px; line-height:1.9; }
    .hero-actions { gap:10px; }
    .hero-actions .button { font-size:8px; padding:14px 16px; min-height:51px; gap:20px; }
    .hero-footnote { font-size:8px; letter-spacing:.025em; gap:10px; }
    .hero-visual { padding:10px 10px 0; }
    .hero-visual::before { bottom:31px; }
    .hero-photo .photo-frame { aspect-ratio:1.32; }
    .hero-coordinate { display:none; }
    .hero-photo figcaption { font-size:8px; }
    .positioning { padding-block:23px; }
    .positioning ul { grid-template-columns:1fr 1fr; gap:15px 20px; text-align:left; }
    .positioning li { border-left:1px solid var(--line)!important; padding-left:10px!important; font-size:8px; }
    .section { padding-block:78px; }
    h2 { font-size:44px; line-height:1.13; }
    .section-label { gap:15px; margin-bottom:23px; }
    .section-label .eyebrow { font-size:9px; letter-spacing:.16em; }
    .intro-heading { margin-bottom:30px; }
    .intro-layout { grid-template-columns:1fr; gap:30px; }
    .intro-photo .photo-frame { aspect-ratio:1.35; }
    .intro-copy .body-copy { font-size:14px; }
    .keywords { gap:20px; padding-top:21px; margin-top:28px; }
    .keywords li { font-size:24px; }
    .expertise-intro { margin-bottom:32px; }
    .expertise-intro h2 { font-size:45px; }
    .service-list { grid-template-columns:1fr; gap:0; }
    .service-row { padding:27px 0 28px; }
    .service-number { margin-bottom:17px; }
    .service-row h3 { font-size:32px; max-width:90%; margin-bottom:13px; }
    .service-row p { font-size:13px; line-height:1.9; }
    .service-arrow { top:17px; }
    .approach-layout { grid-template-columns:1fr; gap:37px; }
    .approach-intro h2 { font-size:47px; }
    .approach-photo { margin-top:30px!important; }
    .approach-photo .photo-frame { aspect-ratio:1.4; }
    .timeline li { padding:27px 0; gap:25px; grid-template-columns:38px 1fr; }
    .stage-line { left:47px; top:35px; }
    .stage-copy p { font-size:13px; }
    .value { padding-top:10px; }
    .value-panorama { min-height:0; display:flex; flex-direction:column; }
    .value-photo .photo-frame { aspect-ratio:1.35; }
    .value-photo figcaption { justify-content:flex-start; }
    .value-heading { position:static; width:auto; padding:30px 0 0; border:0; }
    .value-heading h2 { font-size:44px; }
    .value-list { grid-template-columns:1fr; gap:0; margin-top:30px; }
    .value-list li { padding:18px 0; font-size:13px; }
    .about-layout { display:flex; flex-direction:column; gap:40px; }
    .about-content h2 { font-size:45px; }
    .about-content .body-copy { font-size:14px; }
    .about-action { margin-top:27px; }
    .about-photography { width:100%; padding:0 0 28px 14px; }
    .about-photo .photo-frame { aspect-ratio:1.2; }
    .about-signature { left:0; top:22px; width:76px; height:94px; }
    .about-signature span { font-size:54px; }
    .advisory { padding-block:85px; }
    .advisory h2 { font-size:45px; line-height:1.15; }
    .advisory-thought { font-size:13px; }
    .quote-rule { margin-block:28px; }
    .contact-layout { grid-template-columns:1fr; gap:35px; }
    .contact-heading h2 { font-size:61px; }
    .contact-heading .body-copy { font-size:14px; }
    .contact-panel { padding-block:29px; }
    .contact-details dd { font-size:27px; }
    .contact-actions .button { font-size:8px; }
    .site-footer { padding:52px 0 25px; }
    .footer-main { grid-template-columns:1fr; gap:32px; margin-bottom:38px; }
    .footer-main nav .menu { grid-template-columns:repeat(4,auto); gap:14px; font-size:10px; }
    .footer-contact { font-size:11px; gap:12px; }
    .footer-description { font-size:10px; }
    .footer-bottom { font-size:8px; gap:16px; }
    .footer-bottom > p { width:100%; }
    .legal-links { gap:18px; flex-wrap:wrap; }
    .back-top { gap:13px; }
    .legal-page { padding:135px 0 80px; }
    .legal-page h1 { font-size:49px; }
    .page-content { font-size:14px; }
    .page-content h2 { font-size:31px; }
    .error-page { padding-top:145px; }
    .admin-bar .site-header { top:46px; }
    .mobile-menu-top { margin-bottom:42px; }
}
@media(prefers-reduced-motion:reduce) {
    html[data-smooth=true] { scroll-behavior:auto; }
    *,*::before,*::after { animation:none!important; transition:none!important; }
}
@media print {
    .site-header,.site-footer,.button,.mobile-menu,.reading-progress { display:none!important; }
    body { color:#111; background:white; }
    body::after { display:none; }
    h1,h2,h3,p,a,.body-copy { color:#111!important; }
    .hero,.section,.legal-page { padding-block:25px; background:white!important; }
    .container { width:100%; }
    .expertise-intro { position:static; }
}
