/* Aureon 1.1: an institutional masthead, cartographic motion and document colophon. */
html { scroll-padding-top:185px; }
.institutional-header { background:color-mix(in srgb,var(--bg) 97%,transparent); }
.masthead-inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:32px; min-height:128px; transition:min-height .5s ease; }
.masthead-note { max-width:185px; margin:0; font-size:10px; line-height:1.8; letter-spacing:.045em; color:var(--muted); }
.institutional-header .brand { gap:20px; justify-self:center; }
.institutional-header .brand-monogram { width:45px; height:64px; }
.institutional-header .brand-name > span { font-size:37px; letter-spacing:.16em; }
.institutional-header .brand-name > small { font-size:9px; letter-spacing:.48em; }
.institutional-header .brand-logo { max-width:265px; max-height:76px; }
.masthead-utilities { justify-self:end; display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.institutional-header .header-cta { padding:0 0 5px; border:0; border-bottom:1px solid var(--line); font-size:9px; letter-spacing:.14em; }
.masthead-band { border-top:1px solid var(--line); }
.masthead-band-inner { display:flex; justify-content:center; align-items:center; min-height:47px; }
.institutional-header .desktop-nav { margin:0; }
.institutional-header .desktop-nav .menu { justify-content:center; flex-wrap:wrap; column-gap:44px; }
.institutional-header .desktop-nav a { position:relative; padding:14px 0 13px; color:var(--muted); font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.institutional-header .desktop-nav a::after { content:""; position:absolute; bottom:-1px; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transform-origin:center; transition:transform .4s ease; }
.institutional-header .desktop-nav a:hover,.institutional-header .desktop-nav a[aria-current] { color:var(--gold-light); }
.institutional-header .desktop-nav a:hover::after,.institutional-header .desktop-nav a[aria-current]::after { transform:scaleX(1); }
.masthead-mobile-note { display:none; }
.institutional-header.is-scrolled .masthead-inner { min-height:91px; }
.motion-toggle { display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:7px 0 7px 10px; min-height:30px; border:0; background:none; color:var(--muted); font-size:8px; letter-spacing:.04em; line-height:1.3; }
.motion-toggle[hidden] { display:none; }
.motion-toggle:hover { color:var(--text); }
.motion-toggle:disabled { cursor:default; opacity:.7; }
.motion-toggle-symbol { width:9px; height:9px; border:1px solid var(--gold); border-radius:50%; }
.motion-toggle[aria-pressed=true] .motion-toggle-symbol { background:var(--gold); box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 10%,transparent); }
.motion-toggle [data-motion-state] { min-width:18px; text-transform:uppercase; color:var(--gold); font-size:7px; letter-spacing:.09em; }
.hero { padding-top:242px; padding-bottom:88px; }
.hero,.approach,.advisory { position:relative; isolation:isolate; }
.approach,.advisory { overflow:hidden; }
.hero > .container,.approach > .container,.advisory > .container { position:relative; z-index:1; }
.hero-visual::before { border-color:color-mix(in srgb,var(--gold) 50%,transparent); }
.hero-visual::after { content:""; position:absolute; inset:7px 7px 41px; border:1px solid color-mix(in srgb,var(--gold) 13%,transparent); pointer-events:none; }
.expertise-intro { top:177px; }
.legal-page { padding-top:238px; }
.error-page { padding-top:238px; }
.no-js-nav { margin-top:175px; }

/* All decorative loops are paused until their scene is visible and motion is enabled. */
.meridian-scene { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; color:var(--gold); contain:paint; }
.meridian-grid { position:absolute; inset:0; background-image:linear-gradient(to right,currentColor 1px,transparent 1px),linear-gradient(to bottom,currentColor 1px,transparent 1px); background-size:96px 96px; opacity:.047; mask-image:linear-gradient(120deg,transparent 5%,#000 55%,transparent 95%); }
.meridian-map { position:absolute; width:100%; height:100%; stroke:currentColor; stroke-width:.65; opacity:.35; }
.meridian-map * { vector-effect:non-scaling-stroke; }
.meridian-contours { opacity:.66; transform-origin:50% 50%; animation:aat-contour-drift 24s ease-in-out infinite alternate; }
.meridian-globe { opacity:.5; transform-origin:780px 410px; animation:aat-globe-breathe 22s ease-in-out infinite alternate; }
.meridian-dashes { stroke-dasharray:3 8; }
.meridian-orbit { opacity:.9; transform-origin:780px 410px; animation:aat-orbit 90s linear infinite; }
.meridian-beacon { fill:var(--gold-light); stroke:var(--gold-light); }
.meridian-compass { transform-origin:205px 180px; animation:aat-compass-drift 18s ease-in-out infinite alternate; }
.meridian-needle { fill:color-mix(in srgb,var(--gold) 15%,transparent); transform-origin:205px 180px; animation:aat-needle 26s ease-in-out infinite alternate; }
.meridian-trace { stroke:var(--gold-light); stroke-width:1.5; stroke-dasharray:8 92; animation:aat-trace 16s linear infinite; }
.meridian-scan { position:absolute; left:0; right:0; top:25%; height:1px; opacity:.24; background:linear-gradient(90deg,transparent,var(--gold) 25%,transparent 65%); animation:aat-scan 16s ease-in-out infinite alternate; }
.meridian-register { position:absolute; width:15px; height:15px; opacity:.35; }
.meridian-register::before,.meridian-register::after { content:""; position:absolute; background:var(--gold); }
.meridian-register::before { left:7px; width:1px; height:15px; }
.meridian-register::after { top:7px; height:1px; width:15px; }
.meridian-register-top { top:22%; left:5%; }
.meridian-register-bottom { bottom:7%; right:5%; }
.meridian-scene-hero .meridian-map { width:125%; left:-14%; top:10%; height:100%; }
.meridian-scene-hero .meridian-compass { opacity:.65; }
.meridian-scene-approach .meridian-map { width:108%; left:17%; opacity:.23; }
.meridian-scene-approach .meridian-compass { display:none; }
.meridian-scene-approach .meridian-grid { opacity:.035; background-size:72px 72px; }
.meridian-scene-approach .meridian-contours { opacity:.35; }
.meridian-scene-advisory { opacity:.7; }
.meridian-scene-advisory .meridian-map { width:150%; height:160%; left:-25%; top:-30%; opacity:.27; }
.meridian-scene-advisory .meridian-compass { opacity:.7; }
.meridian-scene-advisory .meridian-contours { opacity:.45; }
.meridian-scene-advisory .meridian-grid { mask-image:radial-gradient(ellipse,transparent 10%,#000 90%); }
.meridian-scene * { animation-play-state:paused; }
.motion-ready body[data-animations=true][data-document-visible=true] .meridian-scene.is-in-view * { animation-play-state:running; }
body[data-animations=false] .meridian-scene * { animation:none!important; }
body[data-animations=false] .institutional-header *,body[data-animations=false] .institutional-footer * { transition:none!important; }
@keyframes aat-contour-drift { from { transform:translate(-18px,12px) rotate(-2deg); } to { transform:translate(28px,-20px) rotate(3deg); } }
@keyframes aat-globe-breathe { from { transform:rotate(-5deg) scale(.98); } to { transform:rotate(7deg) scale(1.03); } }
@keyframes aat-orbit { to { transform:rotate(360deg); } }
@keyframes aat-compass-drift { from { transform:translate(0,0); } to { transform:translate(16px,-18px); } }
@keyframes aat-needle { from { transform:rotate(-25deg); } to { transform:rotate(31deg); } }
@keyframes aat-trace { from { stroke-dashoffset:0; } to { stroke-dashoffset:-100; } }
@keyframes aat-scan { from { transform:translateY(0); } to { transform:translateY(380px); } }

/* The footer reads as the closing leaf of an institutional document. */
.institutional-footer { position:relative; padding:0 0 27px; background:var(--bg); border-top:1px solid var(--gold); }
.colophon-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:25px 0; border-bottom:1px solid var(--line); }
.colophon-heading .eyebrow { margin:0; font-size:8px; }
.colophon-heading .back-top { font-size:9px; color:var(--muted); }
.colophon-grid { display:grid; grid-template-columns:1.1fr .9fr 1fr; gap:8%; padding:58px 0 63px; }
.colophon-identity { padding-right:35px; border-right:1px solid var(--line); }
.colophon-seal { position:relative; width:95px; height:106px; display:flex; align-items:center; justify-content:center; margin:0 0 23px 8px; border:1px solid color-mix(in srgb,var(--gold) 55%,transparent); color:var(--gold-light); }
.colophon-seal::before { content:""; position:absolute; inset:7px; border:1px solid var(--line); }
.colophon-seal::after { content:""; position:absolute; width:120px; height:1px; background:var(--line); }
.colophon-seal span { position:relative; z-index:1; font:400 69px/1 var(--heading); background:var(--bg); padding:0 7px 8px; }
.colophon-seal i { position:absolute; top:-10px; bottom:-10px; left:50%; border-left:1px solid var(--line); }
.colophon-name { display:inline-block; font:400 29px/1.25 var(--heading); letter-spacing:.035em; }
.institutional-footer .footer-description { max-width:235px; margin-top:13px; font-size:10px; line-height:1.9; }
.colophon-label { display:flex; gap:16px; margin:0 0 27px; font:500 9px/1.5 var(--body); text-transform:uppercase; letter-spacing:.16em; color:var(--gold); }
.colophon-label > span { font-family:var(--heading); letter-spacing:0; color:var(--muted); font-size:13px; }
.colophon-index .menu { counter-reset:colophon-index; display:flex; flex-direction:column; gap:14px; font-size:12px; color:var(--muted); }
.colophon-index li { counter-increment:colophon-index; }
.colophon-index a { display:inline-flex; gap:19px; align-items:center; }
.colophon-index a::before { content:counter(colophon-index,decimal-leading-zero); font-size:8px; color:var(--gold); opacity:.7; font-variant-numeric:tabular-nums; }
.colophon-index a:hover { color:var(--gold-light); }
.colophon-contact { justify-self:stretch; align-items:flex-start; flex-direction:column; gap:15px; }
.colophon-contact .colophon-label { margin-bottom:12px; }
.colophon-contact > a { font-family:var(--heading); font-size:25px; line-height:1.4; }
.colophon-address { margin:2px 0; font-size:11px; line-height:1.9; }
.institutional-footer .footer-socials { font-size:10px; margin-top:13px; }
.institutional-footer .footer-bottom { gap:24px; padding-top:24px; font-size:8px; }
.institutional-footer .legal-links { gap:20px; }
.colophon-end { margin-left:auto; font-family:var(--heading); font-size:14px; color:var(--gold); white-space:nowrap; }

@media(min-width:1600px) {
    .hero { padding-top:260px; padding-bottom:105px; }
}
@media(max-width:1150px) {
    .masthead-inner { gap:22px; min-height:118px; }
    .institutional-header .brand-name > span { font-size:33px; }
    .institutional-header .brand-monogram { width:39px; height:57px; }
    .institutional-header .desktop-nav .menu { column-gap:30px; }
    .hero { padding-top:228px; }
    .colophon-grid { gap:5%; }
    .colophon-contact > a { font-size:22px; }
    .colophon-end { display:none; }
}
@media(max-width:900px) {
    html { scroll-padding-top:157px; }
    .masthead-inner,.institutional-header.is-scrolled .masthead-inner { min-height:94px; grid-template-columns:minmax(0,1fr) auto; gap:15px; }
    .masthead-note { display:none; }
    .institutional-header .brand { justify-self:start; gap:13px; }
    .institutional-header .brand-name > span { font-size:29px; }
    .institutional-header .brand-name > small { font-size:8px; }
    .institutional-header .brand-monogram { width:33px; height:49px; }
    .institutional-header .brand-logo { max-width:230px; max-height:57px; }
    .institutional-header .header-cta { display:none; }
    .masthead-band-inner { justify-content:space-between; min-height:49px; gap:18px; }
    .masthead-mobile-note { display:block; margin:0; font-size:8px; line-height:1.6; color:var(--muted); letter-spacing:.02em; }
    .institutional-header .menu-toggle { flex:none; width:36px; height:36px; padding:8px; border:0; }
    .hero { padding-top:196px; padding-bottom:66px; }
    .meridian-scene-hero .meridian-map { width:170%; height:100%; left:-38%; top:-4%; }
    .meridian-scene-hero .meridian-compass { opacity:.7; }
    .meridian-scene-approach .meridian-map { left:0; width:150%; opacity:.2; }
    .meridian-scene-advisory .meridian-map { width:200%; left:-50%; }
    .meridian-grid { background-size:72px 72px; }
    .legal-page,.error-page { padding-top:202px; }
    .no-js-nav { margin-top:143px; }
    .colophon-grid { grid-template-columns:1fr 1fr; gap:40px; padding-block:45px; }
    .colophon-identity { grid-row:span 2; }
    .colophon-contact { grid-column:2; }
    .colophon-index .menu { gap:13px; }
    .institutional-footer .footer-bottom { flex-wrap:wrap; justify-content:space-between; }
    .institutional-footer .legal-links { margin-left:0; }
}
@media(max-width:560px) {
    html { scroll-padding-top:142px; }
    .masthead-inner,.institutional-header.is-scrolled .masthead-inner { min-height:83px; }
    .institutional-header .brand { gap:10px; }
    .institutional-header .brand-name > span { font-size:25px; letter-spacing:.1em; }
    .institutional-header .brand-name > small { font-size:7px; letter-spacing:.35em; }
    .institutional-header .brand-monogram { width:29px; height:43px; }
    .institutional-header .brand-logo { max-width:180px; }
    .motion-toggle { gap:5px; font-size:7px; padding-left:0; }
    .motion-toggle-symbol { width:7px; height:7px; }
    .motion-toggle [data-motion-state] { font-size:6px; min-width:15px; }
    .masthead-band-inner { min-height:44px; }
    .masthead-mobile-note { max-width:245px; font-size:7px; }
    .hero { padding-top:175px; padding-bottom:54px; }
    .meridian-scene-hero .meridian-map { width:245%; left:-99%; top:0; }
    .meridian-map { opacity:.29; }
    .meridian-scene-advisory .meridian-map { width:250%; left:-80%; opacity:.25; }
    .meridian-scene-advisory .meridian-compass { display:none; }
    .colophon-heading { align-items:flex-start; padding-block:23px; gap:20px; }
    .colophon-heading .eyebrow { font-size:7px; max-width:120px; }
    .colophon-heading .back-top { font-size:8px; gap:13px; }
    .colophon-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px 28px; }
    .colophon-identity { grid-column:1/-1; grid-row:auto; display:grid; grid-template-columns:78px 1fr; column-gap:27px; padding-right:0; border-right:0; padding-bottom:35px; border-bottom:1px solid var(--line); align-items:center; }
    .colophon-seal { grid-row:span 2; width:70px; height:83px; margin:0 0 0 4px; }
    .colophon-seal::after { width:85px; }
    .colophon-seal span { font-size:52px; }
    .colophon-name { align-self:end; font-size:27px; }
    .institutional-footer .footer-description { align-self:start; margin-top:8px; font-size:9px; }
    .colophon-contact { grid-column:auto; }
    .colophon-contact > a { font-family:var(--body); font-size:11px; line-height:1.8; }
    .colophon-label { font-size:8px; gap:10px; letter-spacing:.08em; }
    .colophon-index .menu { font-size:11px; }
    .colophon-index a { gap:11px; }
    .institutional-footer .footer-bottom { display:flex; align-items:flex-start; gap:17px; }
    .institutional-footer .legal-links { flex-wrap:wrap; gap:15px; }
    .no-js-nav { margin-top:127px; }
    .legal-page,.error-page { padding-top:177px; }
}
@media(prefers-reduced-motion:reduce) {
    .meridian-scene * { animation:none!important; }
    .institutional-header *,.institutional-footer * { transition:none!important; }
}
@media print { .meridian-scene { display:none!important; } }
