:root{--ink:#122839;--night:#071b2a;--night2:#16354a;--paper:#f8f5ef;--cream:#f0e5d4;--gold:#e3b97f;--copper:#a96e4b;--muted:#57636a;--line:#dfd8ce}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:.2em}
button{font:inherit}
:focus-visible{outline:3px solid var(--copper);outline-offset:4px}
.skip-link{position:absolute;left:-9999px;top:10px;z-index:100;background:#fff;color:#111;padding:12px 18px}
.skip-link:focus{left:10px}
.site-header{min-height:76px;padding:12px max(28px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:#faf7f1;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:13px;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.brand img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#fff}
.site-header nav,.site-footer nav{display:flex;gap:clamp(18px,2.2vw,34px);flex-wrap:wrap}
.site-header nav a,.site-footer nav a{font-size:12px;font-weight:700;text-decoration:none}
.site-header nav a:hover,.site-footer nav a:hover{color:var(--copper)}
.hero{--hero-center:#26475a;--hero-mid:#0b2433;--hero-edge:#061722;--hero-haze:#d4a66e34;--hero-art-border:#f0d4ac6e;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 72% 38%,var(--hero-center) 0%,var(--hero-mid) 47%,var(--hero-edge) 100%);color:#f9f3e9}
.hero--candlelight{--hero-center:#3b2a1e;--hero-mid:#1b1a17;--hero-edge:#0b0c0d;--hero-haze:#d69b574a;--hero-art-border:#e8c7908a}
.hero--starlight{--hero-center:#284a60;--hero-mid:#102b3e;--hero-edge:#061624;--hero-haze:#d6a45a38;--hero-art-border:#e9c88f80}
.hero--harmony{--hero-center:#344a51;--hero-mid:#242c3e;--hero-edge:#111b26;--hero-haze:#e5a17b32;--hero-art-border:#eac4aa8a}
.hero--harmony:before{inset:-9%;background:radial-gradient(ellipse at 73% 24%,#d7907938,transparent 34%),radial-gradient(ellipse at 17% 77%,#80b8aa22,transparent 43%);mask-image:none;opacity:.7;animation:candle-breathe 13s ease-in-out infinite alternate}
.hero--harmony .hero-inner{grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}
.hero--harmony .hero-art{max-width:650px;transform:rotate(.5deg)}
.hero--harmony .hero-art img{aspect-ratio:663/373}
.hero--heritage{--hero-center:#4a4333;--hero-mid:#1e2a2e;--hero-edge:#0b1820;--hero-haze:#d9b7773d;--hero-art-border:#e3c59091}
.hero--heritage:before{inset:-8%;background:radial-gradient(ellipse at 78% 30%,#e2c37b35,transparent 35%),radial-gradient(ellipse at 9% 76%,#50737937,transparent 42%);mask-image:none;opacity:.82;animation:candle-breathe 14s ease-in-out infinite alternate}
.hero--heritage .hero-inner{grid-template-columns:minmax(0,1fr) minmax(360px,1fr)}
.hero--heritage .hero-art{max-width:650px;transform:rotate(.3deg)}
.hero--heritage .hero-art img{aspect-ratio:2/1}
.hero:before,.hero:after{content:'';position:absolute;pointer-events:none;z-index:-1}
.hero:before{inset:-5%;background-image:radial-gradient(#f6d7a2 1px,transparent 1.5px),radial-gradient(#f6d7a2 1px,transparent 2px);background-size:83px 85px,147px 151px;background-position:12px 18px,52px 67px;opacity:.22;mask-image:linear-gradient(90deg,transparent 10%,#000 100%);animation:night-drift 24s ease-in-out infinite alternate}
.hero--candlelight:before{inset:0;background:radial-gradient(ellipse at 75% 32%,#dba15b30,transparent 35%),radial-gradient(ellipse at 88% 85%,#f2be7130,transparent 44%);mask-image:none;opacity:.85;animation:candle-breathe 10s ease-in-out infinite alternate}
.hero:after{width:min(82vw,960px);aspect-ratio:1;right:-20%;top:-34%;border-radius:50%;background:radial-gradient(circle,var(--hero-haze),transparent 67%);opacity:.8;animation:ambient-drift 17s ease-in-out infinite alternate}
.hero-inner{width:min(1380px,calc(100% - clamp(44px,7vw,112px)));margin:auto;min-height:min(790px,calc(100svh - 76px));display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.8fr);align-items:center;gap:clamp(40px,6vw,108px);padding:clamp(58px,7vw,104px) 0}
.eyebrow{margin:0;color:var(--copper);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.hero .eyebrow{color:var(--gold)}
.hero .eyebrow span{color:#d5c8b5;padding:0 7px}
.hero h1{max-width:810px;font:normal clamp(54px,5.5vw,88px)/1.04 'DM Serif Display',Georgia,serif;letter-spacing:-.043em;margin:20px 0 23px;text-wrap:balance}
.deck{font-size:clamp(17px,1.55vw,22px);line-height:1.55;color:#e6e7e3;max-width:670px;margin:0}
.byline{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:27px;color:#d3d7d4;font-size:12px;line-height:1.5}
.byline span+span:before{content:'·';padding-right:18px;color:var(--gold)}
.byline strong{color:#fff}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:34px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 19px;min-height:52px;border:1px solid transparent;border-radius:5px;font-size:12px;font-weight:700;line-height:1.35;text-decoration:none;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #0003}
.button-video{background:#f3e7d5;color:var(--night)}
.button-light{background:#f7ead4;color:var(--night);white-space:nowrap}
.text-link{color:#f3eadb;font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}
.hero-art{position:relative;margin:0;width:100%;max-width:500px;justify-self:center;padding:10px;background:#f4dfc31f;border:1px solid var(--hero-art-border);box-shadow:0 30px 75px #0006;transform:rotate(1.1deg);animation:art-in .7s ease-out both}
.hero-art img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.hero-art figcaption{padding:12px 2px 3px;color:#ddc6a7;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-1.1deg)}
.story-shell{width:min(1150px,calc(100% - 56px));margin:auto;display:grid;grid-template-columns:minmax(0,740px) minmax(230px,290px);gap:clamp(48px,7vw,118px);padding:clamp(68px,8vw,116px) 0}
.story-label{color:#996642;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin:0 0 25px}
.story-label span{padding:0 7px}
.story-body{font-family:Georgia,serif;font-size:19px;line-height:1.78;color:#2f3c42}
.story-body p{margin:0 0 25px}
.story-body .intro{font-family:'DM Sans',Arial,sans-serif;color:#173348;font-size:clamp(21px,2.1vw,27px);line-height:1.55;font-weight:500;margin-bottom:34px}
.story-body h2{font:normal clamp(34px,3vw,45px)/1.18 'DM Serif Display',Georgia,serif;letter-spacing:-.025em;color:var(--ink);margin:47px 0 21px}
.reporting-note{padding-top:21px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.65;margin:46px 0 0}
.relationship{padding:18px 21px;background:#eee6da;border-left:3px solid #bd8a5e;font-size:13px;line-height:1.6;margin:26px 0 0}
.sources{margin-top:48px}
.sources h2{font:normal 30px 'DM Serif Display',Georgia,serif;margin:0 0 15px}
.sources ul{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.sources li{border-bottom:1px solid var(--line);padding:12px 0;font-size:14px;font-weight:600}
.sources li a{text-decoration:none}
.sources li a:hover{text-decoration:underline}
.sources p{font-size:13px;line-height:1.6;margin:17px 0 0;color:var(--muted)}
.story-aside{align-self:start;position:sticky;top:26px}
.aside-card{background:#112e40;color:#f5ede0;padding:29px;border-top:4px solid var(--gold)}
.aside-card .eyebrow{color:var(--gold)}
.aside-card h2{font:normal 31px/1.15 'DM Serif Display',Georgia,serif;margin:17px 0 25px}
.aside-links{display:grid;gap:0}
.aside-links a{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ffffff3d;padding:13px 0;color:#f7e7d2;font-size:13px;text-decoration:none;font-weight:700}
.aside-links a:hover{color:#fff;text-decoration:underline}
.related{background:#eee5d7;padding:clamp(60px,7vw,95px) 0}
.section-wrap{width:min(1150px,calc(100% - 56px));margin:auto}
.related h2,.service h2{font:normal clamp(40px,4.2vw,63px)/1.09 'DM Serif Display',Georgia,serif;letter-spacing:-.035em;margin:14px 0 27px}
.related ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;list-style:none;padding:0;margin:0}
.related li{background:#fffcf7;border:1px solid #dbccba;padding:21px;min-height:142px;display:flex;flex-direction:column;justify-content:space-between;gap:19px}
.related li small{display:block;color:#9c6749;font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.related li a{font:normal 22px/1.2 'DM Serif Display',Georgia,serif;text-decoration:none}
.related li a:hover{text-decoration:underline}
.service{background:#0a2433;color:#f5eadb;padding:clamp(60px,6vw,85px) 0}
.service .eyebrow{color:var(--gold)}
.service-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.service h2{margin-bottom:15px}
.service p:not(.eyebrow){max-width:690px;color:#dee3df;font-size:15px;line-height:1.7;margin:0}
.site-footer{background:#061721;color:#eee9dd;padding:35px max(28px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;gap:25px}
.site-footer p{margin:8px 0 0;color:#b5c0c1;font-size:12px}
.site-footer nav a{font-size:11px;color:#eee9dd}
dialog{width:min(900px,calc(100% - 30px));max-width:none;padding:14px;background:#101f28;color:#fff;border:1px solid #b9a489;box-shadow:0 20px 80px #0009}
dialog::backdrop{background:#06121bd9}
.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:2px 3px 12px;font-size:13px}
.dialog-head button{border:1px solid #ffffff63;border-radius:4px;background:transparent;color:#fff;padding:8px 12px;cursor:pointer}
.video-frame{aspect-ratio:16/9;background:#000}
.video-frame iframe{display:block;width:100%;height:100%;border:0}
dialog p{margin:12px 2px 2px;font-size:12px}
@keyframes night-drift{to{transform:translate3d(-2%,2%,0);opacity:.32}}
@keyframes candle-breathe{to{opacity:.55;transform:translate3d(-1%,1%,0)}}
@keyframes ambient-drift{to{transform:translate3d(-8%,7%,0);opacity:.48}}
@keyframes art-in{from{opacity:.94;transform:translate3d(0,16px,0) rotate(0deg)}to{opacity:1;transform:translate3d(0,0,0) rotate(1.1deg)}}
@media(max-width:900px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:35px}.hero h1{font-size:clamp(50px,6.6vw,68px)}.story-shell{gap:44px;grid-template-columns:minmax(0,1fr) 240px}.related li a{font-size:19px}}
@media(max-width:700px){.site-header{padding:14px 19px;min-height:66px}.site-header nav{gap:13px}.site-header nav a{font-size:11px}.site-header nav a:last-child{display:none}.brand{font-size:11px}.brand img{width:29px;height:29px}.hero-inner{width:min(100% - 38px,560px);min-height:0;display:flex;flex-direction:column;align-items:stretch;padding:48px 0 58px;gap:38px}.hero h1{font-size:clamp(38px,9vw,62px);margin:16px 0 17px}.hero .eyebrow{font-size:9px;line-height:1.6}.deck{font-size:16px}.byline{font-size:11px;margin-top:21px}.hero-actions{margin-top:26px}.hero-art{width:min(90%,370px);align-self:center}.story-shell{width:min(100% - 38px,650px);display:block;padding:66px 0 75px}.story-body{font-size:17px;line-height:1.7}.story-body .intro{font-size:20px}.story-aside{position:static;margin-top:45px}.aside-card{padding:24px}.related ul{grid-template-columns:1fr}.related li{min-height:108px}.section-wrap{width:min(100% - 38px,650px)}.service-inner{display:block}.service .button{margin-top:28px}.site-footer{padding:29px 19px;align-items:flex-start;flex-direction:column}.site-footer nav{gap:15px}}
@media(max-width:700px){.hero--harmony .hero-inner{display:flex}.hero--harmony .hero-art{width:100%;max-width:500px}}
@media(max-width:700px){.hero--heritage .hero-inner{display:flex}.hero--heritage .hero-art{width:100%;max-width:500px}}
@media(max-width:400px){.site-header nav a:nth-child(2){display:none}.hero h1{font-size:clamp(36px,9vw,40px)}.byline span+span:before{padding-right:10px}.byline{gap:6px 10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
