/* Aether Energy & Art: preview v1. Fonts: Cormorant Garamond and Lato (SIL OFL 1.1), self-hosted. */
@font-face{font-family:"Cormorant";src:url(/fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(/fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Lato";src:url(/fonts/lato-light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Lato";src:url(/fonts/lato-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Lato";src:url(/fonts/lato-bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--ink:#05080f;--navy:#0a1222;--navy2:#0F1A2E;--line:rgba(212,149,90,.22);--copper:#B87333;--copper2:#D4955A;--ivory:#F5EFE6;--mist:#b9c0cc;--aur1:#3fd0a4;--aur2:#8a6ad8;--r:14px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ivory);font:300 1.0625rem/1.75 Lato,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(1200px 600px at 80% -10%,rgba(138,106,216,.12),transparent 60%),radial-gradient(900px 500px at -10% 30%,rgba(63,208,164,.07),transparent 60%),radial-gradient(800px 600px at 50% 120%,rgba(184,115,51,.10),transparent 60%),var(--ink)}
#stars{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.7}
img{max-width:100%;height:auto;display:block}
a{color:var(--copper2);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--ivory)}
h1,h2,h3,h4{font-family:Cormorant,Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:.01em;margin:0 0 .5em;color:var(--ivory)}
h1{font-size:clamp(2.6rem,7vw,5.4rem);font-weight:400}h2{font-size:clamp(2rem,4.4vw,3.2rem)}h3{font-size:1.6rem}
p{margin:0 0 1.1em}.lede{font-size:1.2rem;color:var(--mist);max-width:42rem}
.eyebrow{font:400 .78rem/1 Lato,sans-serif;letter-spacing:.32em;text-transform:uppercase;color:var(--copper2);margin-bottom:1.1rem;display:inline-flex;gap:.8rem;align-items:center}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--copper)}
.enigma{font-family:Cormorant,serif;font-style:italic;font-size:clamp(1.4rem,3vw,2rem);color:var(--copper2);opacity:.9}
.wrap{width:min(var(--max),100% - 2.5rem);margin-inline:auto}
.section{padding:clamp(4rem,10vw,8rem) 0;position:relative}
.center{text-align:center}.center .lede{margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--copper);color:#000;padding:.6rem 1rem;z-index:100}.skip:focus{left:1rem}
:focus-visible{outline:2px solid var(--copper2);outline-offset:3px;border-radius:4px}
/* header */
.site-head{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .4s,backdrop-filter .4s;padding:.6rem 0}
.site-head.solid{background:rgba(5,8,15,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ivory);font-family:Cormorant,serif;font-size:1.3rem;letter-spacing:.04em}
.brand img{width:40px;height:40px}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.6rem}
.nav a{color:var(--ivory);text-decoration:none;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;opacity:.8;padding:.4rem 0;border-bottom:1px solid transparent}
.nav a:hover,.nav a[aria-current=page]{opacity:1;border-color:var(--copper)}
.menu-btn{display:none;background:none;border:1px solid var(--line);color:var(--ivory);border-radius:999px;padding:.5rem 1rem;font:inherit;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}
@media (max-width:980px){.menu-btn{display:block}.nav{position:fixed;inset:0;top:62px;background:rgba(5,8,15,.97);transform:translateY(-110%);transition:transform .45s ease;padding:2rem 1.5rem}.nav.open{transform:none}.nav ul{flex-direction:column;gap:1.2rem}.nav a{font-size:1rem}}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.95rem 1.6rem;border-radius:999px;border:1px solid var(--copper);background:linear-gradient(135deg,var(--copper),#8a4f1f);color:#fff;text-decoration:none;font:400 .82rem/1 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;transition:transform .3s,box-shadow .3s}
.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 40px -10px rgba(212,149,90,.6)}
.btn.ghost{background:transparent;color:var(--ivory);border-color:rgba(245,239,230,.35)}.btn.ghost:hover{border-color:var(--copper2)}
.btn.small{padding:.7rem 1.1rem;font-size:.72rem}
.btns{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;overflow:hidden;isolation:isolate}
.hero .bg,.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,8,15,.55),rgba(5,8,15,.25) 40%,rgba(5,8,15,.95) 96%)}
.hero .inner{padding:7rem 1.25rem 5rem;max-width:56rem}
.hero p.lede{margin-inline:auto;color:#d9dde4}
.scroll-cue{position:absolute;bottom:1.6rem;left:50%;width:1px;height:56px;background:linear-gradient(var(--copper2),transparent);animation:cue 2.6s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.2;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
.page-hero{min-height:62svh}
.page-hero h1{font-size:clamp(2.4rem,6vw,4.4rem)}
/* geometry ornament */
.geo{width:72px;height:72px;margin:0 auto 1.6rem;opacity:.85;animation:spin 60s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.divider{display:flex;align-items:center;gap:1rem;justify-content:center;color:var(--copper);margin:0 auto;max-width:420px}.divider::before,.divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--copper),transparent)}
/* grids/cards */
.grid{display:grid;gap:1.4rem}.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.split{display:grid;gap:clamp(2rem,5vw,5rem);align-items:center;grid-template-columns:1fr}
@media (min-width:880px){.split{grid-template-columns:1fr 1fr}.split.rev>:first-child{order:2}}
.frame{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 60px -30px rgba(212,149,90,.35)}
.frame img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform 1.6s ease}.frame:hover img{transform:scale(1.04)}
.card{background:linear-gradient(180deg,rgba(15,26,46,.75),rgba(5,8,15,.9));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .5s,border-color .5s,box-shadow .5s}
.card:hover{transform:translateY(-4px);border-color:rgba(212,149,90,.55);box-shadow:0 30px 60px -30px rgba(212,149,90,.35)}
.card .media{aspect-ratio:4/3;overflow:hidden;background:#000}.card .media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.card:hover .media img{transform:scale(1.05)}
.card .body{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.card h3{margin:0;font-size:1.55rem}.card p{color:var(--mist);font-size:.98rem;margin:0}
.card .meta{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.9rem;gap:.6rem;flex-wrap:wrap}
.tag{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--copper2)}
.price{font-family:Cormorant,serif;font-style:italic;color:var(--mist);font-size:1.05rem}
.badge{position:absolute;top:.8rem;left:.8rem;background:rgba(5,8,15,.8);border:1px solid var(--line);color:var(--copper2);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;padding:.35rem .6rem;border-radius:999px}
.card .media{position:relative}
/* band */
.band{position:relative;overflow:hidden;isolation:isolate;border-block:1px solid var(--line)}
.band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.55}
.band::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center,rgba(5,8,15,.3),rgba(5,8,15,.92))}
.quote{font-family:Cormorant,serif;font-style:italic;font-size:clamp(1.8rem,4.5vw,3.2rem);line-height:1.25;max-width:52rem;margin:0 auto}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin-bottom:2.4rem}
.chip{background:transparent;border:1px solid var(--line);color:var(--ivory);border-radius:999px;padding:.55rem 1.1rem;font:inherit;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.chip[aria-pressed=true],.chip:hover{border-color:var(--copper);background:rgba(184,115,51,.18)}
/* modal */
dialog{border:1px solid var(--line);background:#070b14;color:var(--ivory);border-radius:18px;padding:0;max-width:min(980px,94vw);width:100%;box-shadow:0 40px 120px rgba(0,0,0,.8)}
dialog::backdrop{background:rgba(2,4,8,.8);backdrop-filter:blur(6px)}
.modal-grid{display:grid;grid-template-columns:1fr}@media(min-width:800px){.modal-grid{grid-template-columns:1.1fr 1fr}}
.modal-grid .gal img{width:100%;aspect-ratio:1/1;object-fit:cover}
.thumbs{display:flex;gap:.4rem;padding:.5rem;overflow-x:auto}.thumbs button{padding:0;border:1px solid var(--line);background:none;border-radius:6px;overflow:hidden;cursor:pointer;flex:0 0 64px}.thumbs img{width:64px;height:64px;object-fit:cover}
.modal-body{padding:1.8rem}.close{position:absolute;top:.6rem;right:.8rem;background:rgba(5,8,15,.8);border:1px solid var(--line);color:var(--ivory);width:40px;height:40px;border-radius:50%;font-size:1.3rem;cursor:pointer;z-index:2}
.opts{margin:1rem 0;padding:0;list-style:none;font-size:.95rem;color:var(--mist)}.opts li{padding:.35rem 0;border-bottom:1px dashed rgba(212,149,90,.15)}.opts b{color:var(--ivory);font-weight:400}
/* builder */
.builder{display:grid;gap:2rem;grid-template-columns:1fr}@media(min-width:960px){.builder{grid-template-columns:1.25fr .85fr;align-items:start}}
.steps{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.6rem;counter-reset:s}
.steps button{flex:1 1 auto;min-width:5.4rem;background:none;border:1px solid var(--line);color:var(--mist);border-radius:999px;padding:.5rem .8rem;font:inherit;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.steps button[aria-current=step]{border-color:var(--copper);color:var(--ivory);background:rgba(184,115,51,.2)}.steps button.done{color:var(--copper2)}
.step{display:none;animation:fade .6s ease}.step.active{display:block}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
fieldset{border:0;padding:0;margin:0}legend{font-family:Cormorant,serif;font-size:2rem;margin-bottom:.4rem;padding:0}
.choices{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-top:1rem}
.choice{position:relative}.choice input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.choice label{display:flex;flex-direction:column;gap:.35rem;height:100%;border:1px solid var(--line);border-radius:12px;padding:1rem;background:rgba(15,26,46,.5);transition:.3s;cursor:pointer}
.choice label small{color:var(--mist);font-size:.82rem;line-height:1.4}
.choice input:checked+label{border-color:var(--copper2);background:rgba(184,115,51,.16);box-shadow:0 0 30px -10px rgba(212,149,90,.6)}
.choice input:focus-visible+label{outline:2px solid var(--copper2);outline-offset:2px}
.swatch{width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,255,255,.25)}
.step-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}
.preview{position:sticky;top:90px;border:1px solid var(--line);border-radius:18px;background:radial-gradient(circle at 50% 30%,rgba(184,115,51,.12),transparent 60%),#060a13;padding:1.4rem}
.preview svg{width:100%;height:auto;max-height:340px}
.summary{list-style:none;margin:1rem 0 0;padding:0;font-size:.95rem}.summary li{display:flex;justify-content:space-between;gap:1rem;padding:.45rem 0;border-bottom:1px dashed rgba(212,149,90,.18)}.summary li span:first-child{color:var(--mist)}.summary li span:last-child{text-align:right}
textarea,input[type=text],input[type=email],input[type=tel],select{width:100%;background:rgba(15,26,46,.6);border:1px solid var(--line);border-radius:10px;color:var(--ivory);padding:.85rem 1rem;font:inherit;font-size:1rem}
textarea{min-height:140px;resize:vertical}label.f{display:block;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mist);margin:1.1rem 0 .4rem}
.note{font-size:.88rem;color:var(--mist);border-left:2px solid var(--copper);padding:.4rem 0 .4rem 1rem;margin:1.2rem 0}
/* video */
.player{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#000}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.facade{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;cursor:pointer;background:#000;color:#fff}
.facade img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:opacity .4s}.facade:hover img{opacity:.95}
.facade .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:rgba(184,115,51,.85);display:grid;place-items:center;box-shadow:0 0 0 12px rgba(184,115,51,.2),0 0 60px rgba(212,149,90,.6)}
.facade .play::after{content:"";border-left:24px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px}
.facade .cap{position:absolute;left:1rem;right:1rem;bottom:.9rem;text-align:left;font-family:Cormorant,serif;font-size:1.3rem;text-shadow:0 2px 12px #000}
.playlist{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.playlist button{display:grid;grid-template-columns:120px 1fr;gap:.9rem;align-items:center;width:100%;text-align:left;background:rgba(15,26,46,.5);border:1px solid var(--line);border-radius:12px;padding:.5rem;color:var(--ivory);font:inherit;cursor:pointer}
.playlist button[aria-current=true]{border-color:var(--copper2);background:rgba(184,115,51,.15)}
.playlist img{width:120px;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.playlist span{font-size:.95rem;line-height:1.35}.playlist small{display:block;color:var(--mist);font-size:.78rem;margin-top:.2rem}
.watch-grid{display:grid;gap:1.6rem}@media(min-width:960px){.watch-grid{grid-template-columns:1.7fr 1fr}}
.consent{font-size:.82rem;color:var(--mist);margin-top:.8rem}
/* article */
.article{max-width:46rem;margin:0 auto}.article h2{font-size:2rem;margin-top:2.2rem}.article p{color:#dfe2e8}
.article .hero-img{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);margin:0 0 2.4rem}
.article .hero-img img{width:100%;aspect-ratio:16/9;object-fit:cover}
/* footer */
.site-foot{border-top:1px solid var(--line);padding:4rem 0 2rem;background:linear-gradient(180deg,transparent,rgba(15,26,46,.4));font-size:.92rem;color:var(--mist)}
.foot-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.site-foot h4{font-size:1.2rem;margin-bottom:.8rem}.site-foot ul{list-style:none;margin:0;padding:0}.site-foot li{margin:.35rem 0}.site-foot a{color:var(--mist);text-decoration:none}.site-foot a:hover{color:var(--copper2)}
.disclaimer{margin-top:2.6rem;padding-top:1.4rem;border-top:1px solid rgba(212,149,90,.12);font-size:.85rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}
.preview-flag{position:fixed;bottom:12px;right:12px;z-index:60;background:rgba(5,8,15,.85);border:1px solid var(--line);color:var(--copper2);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;padding:.4rem .7rem;border-radius:999px}
/* reveal */
.reveal{opacity:0;transform:translateY(28px);filter:blur(4px);transition:opacity 1.2s ease,transform 1.2s ease,filter 1.2s ease}
.reveal.in{opacity:1;transform:none;filter:none}
.mist{position:absolute;inset:auto 0 0 0;height:40%;pointer-events:none;background:radial-gradient(ellipse at 30% 100%,rgba(185,192,204,.12),transparent 60%),radial-gradient(ellipse at 70% 100%,rgba(185,192,204,.1),transparent 60%);animation:drift 26s ease-in-out infinite alternate;z-index:-1}
@keyframes drift{from{transform:translateX(-4%)}to{transform:translateX(4%)}}
.kicker-list{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));margin-top:2rem}
.kicker-list div{border-top:1px solid var(--copper);padding-top:1rem}.kicker-list h3{font-size:1.4rem}.kicker-list p{color:var(--mist);font-size:.95rem}
.lessons{counter-reset:l;list-style:none;padding:0;margin:2rem 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.lessons li{counter-increment:l;border:1px solid var(--line);border-radius:12px;padding:1.2rem 1.2rem 1.2rem 4rem;position:relative;background:rgba(15,26,46,.45)}
.lessons li::before{content:counter(l,upper-roman);position:absolute;left:1.1rem;top:1rem;font-family:Cormorant,serif;font-size:1.8rem;color:var(--copper2)}
.lessons li .lock{float:right;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--mist)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none;filter:none}.hero video{display:none}}
[hidden]{display:none!important}
