
:root{--bg:#0b0a08;--bg2:#15130f;--fg:#f4ecd8;--mut:#b3a98e;--gold:#d8b24a;--gold2:#f7e08a;--line:#2e2a20;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){--bg:#faf5e6;--bg2:#fffdf6;--fg:#1b1710;--mut:#6a604a;--gold:#98780f;--gold2:#c29a1d;--line:#e4d9b8}}
:root[data-theme="dark"]{--bg:#0b0a08;--bg2:#15130f;--fg:#f4ecd8;--mut:#b3a98e;--gold:#d8b24a;--gold2:#f7e08a;--line:#2e2a20}
*,*::before,*::after{box-sizing:inherit}
html{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px))}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1.05rem/1.7 Outfit,system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.1;margin:0 0 .5em}
h2{font-size:clamp(2rem,5vw,3.4rem)}
a{color:inherit}
p{margin:0 0 1em;max-width:62ch}
.wrap{max-width:1100px;margin:auto;padding:0 1.25rem}
section{padding:6rem 0}
.gold{background:linear-gradient(100deg,var(--gold) 20%,var(--gold2) 45%,var(--gold) 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
@keyframes shine{to{background-position:-220% 0}}
#bar{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--gold),var(--gold2));z-index:60}
header.nav{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .3s,box-shadow .3s}
header.nav.on{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.5rem;text-decoration:none;color:#f4ecd8}
header.nav.on .brand{color:var(--fg)}
nav a{margin-left:1.4rem;text-decoration:none;font-size:.95rem;color:#e8dfc6}
header.nav.on nav a{color:var(--mut)}
nav a:hover{color:var(--gold)}
.btn{display:inline-block;padding:.85rem 1.7rem;border:1px solid var(--gold);color:#1a1405;background:linear-gradient(120deg,var(--gold),var(--gold2));border-radius:999px;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit;font-size:1rem;transition:transform .25s,box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(216,178,74,.35)}
.btn.ghost{background:transparent;color:#f4ecd8}
.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.hero{min-height:100svh;display:grid;align-items:center;text-align:center;padding:7rem 0 4rem;position:relative;overflow:hidden;background:#0b0a08;color:#f4ecd8}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(216,178,74,.18),transparent 55%)}
.hero .wrap{position:relative}
.logo{width:min(440px,78vw);margin:0 auto 1.5rem;display:block;-webkit-mask-image:radial-gradient(ellipse at center,#000 52%,transparent 74%);mask-image:radial-gradient(ellipse at center,#000 52%,transparent 74%);will-change:transform;opacity:0;animation:enter 1.4s .1s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes enter{from{opacity:0;scale:.88}to{opacity:1;scale:1}}
.hero h1{font-size:clamp(3rem,12.5vw,9.5rem);letter-spacing:-.01em;line-height:1;margin:0 0 .2em;white-space:nowrap}
.hero h1 span{display:inline-block;background:linear-gradient(100deg,#d8b24a 20%,#f7e08a 45%,#d8b24a 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 6s linear infinite}
.hero p{margin:0 auto 1.6rem;color:#cfc5a9}
.hero .cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.eq{display:flex;gap:5px;justify-content:center;align-items:flex-end;height:34px;margin-top:2.5rem}
.eq i{width:5px;background:var(--gold);border-radius:3px;animation:eq 1s ease-in-out infinite alternate;height:100%;transform-origin:bottom}
@keyframes eq{from{transform:scaleY(.15)}to{transform:scaleY(1)}}
.marq{overflow:hidden;border-block:1px solid var(--line);padding:1rem 0;background:var(--bg2)}
.marq div{display:flex;gap:3rem;width:max-content;animation:slide 32s linear infinite;font-family:'Cormorant Garamond',serif;font-size:1.6rem;color:var(--gold)}
@keyframes slide{to{transform:translateX(-50%)}}
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.lf{transform:translateX(-50px)}.rt{transform:translateX(50px)}
.grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:1.6rem;transition:border-color .3s,transform .3s}
.card:hover{border-color:var(--gold);transform:translateY(-4px)}
.card h3{font-size:1.5rem;color:var(--gold)}
.card p{color:var(--mut);margin:0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:2rem}
.stats b{display:block;font-family:'Cormorant Garamond',serif;font-size:3.2rem;color:var(--gold);line-height:1}
.stats span{color:var(--mut)}
.about{display:grid;gap:3rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:center}
.pull{border-left:3px solid var(--gold);padding-left:1.2rem;font-family:'Cormorant Garamond',serif;font-size:1.8rem;line-height:1.3}
.alt{background:var(--bg2)}
.chips{display:flex;flex-wrap:wrap;gap:.7rem}
.chips span{border:1px solid var(--line);padding:.55rem 1.1rem;border-radius:999px;color:var(--fg);transition:.3s}
.chips span:hover{border-color:var(--gold);color:var(--gold)}
.steps{position:relative;display:grid;gap:2rem;padding-left:2.2rem;max-width:640px}
.steps::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--gold),var(--gold2));transform-origin:top;transform:scaleY(var(--p,0))}
.steps div{position:relative}
.steps div::before{content:"";position:absolute;left:-2.2rem;top:.45rem;width:18px;height:18px;border-radius:50%;background:var(--bg);border:2px solid var(--gold)}
.steps h3{font-size:1.6rem;margin:0}
.steps p{color:var(--mut);margin:0}
blockquote{margin:0;font-family:'Cormorant Garamond',serif;font-size:1.35rem;line-height:1.45}
blockquote cite{display:block;margin-top:.8rem;font:400 .9rem Outfit,sans-serif;color:var(--mut)}
details{border-bottom:1px solid var(--line);padding:1rem 0}
summary{cursor:pointer;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:1rem}
summary::after{content:"+";color:var(--gold);font-size:1.4rem;line-height:1;transition:transform .3s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--mut);margin:.7rem 0 0}
form{display:grid;gap:1rem;grid-template-columns:1fr 1fr;max-width:760px}
form .full{grid-column:1/-1}
label{display:grid;gap:.35rem;font-size:.9rem;color:var(--mut)}
input,select,textarea{font:inherit;color:var(--fg);background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;width:100%}
#ok{display:none;color:var(--gold);font-weight:500}
footer{border-top:1px solid var(--line);padding:2.5rem 0;text-align:center;color:var(--mut);font-size:.95rem}
@media (max-width:720px){form{grid-template-columns:1fr}section{padding:4.2rem 0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv,.logo,.hero h1,.hero p,.hero .cta{opacity:1;transform:none}html{scroll-behavior:auto}}
.rings{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.rings path{fill:none;stroke:rgba(216,178,74,.5);stroke-width:1;stroke-linecap:butt;vector-effect:non-scaling-stroke}
.cc{position:absolute;z-index:2;font:400 clamp(.7rem,1.05vw,.88rem)/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:-.025em;text-transform:uppercase;color:#f4ecd8;white-space:nowrap;text-align:left}
.cc-tl{left:2rem;top:calc(6rem + env(safe-area-inset-top,0px))}
.cc-tr{right:2rem;top:calc(6rem + env(safe-area-inset-top,0px));text-align:right}
.cc-bl{left:2rem;bottom:2rem}
.cc-br{right:2rem;bottom:2rem;text-align:right}
.ln{display:block}.ln>span{display:inline-block}
@media (max-width:720px){.cc{display:none}}
.px-intro .rings path{stroke-dasharray:0 100000}
.px-intro .hero h1,.px-intro .ln{overflow:hidden}
.px-intro .hero h1 span,.px-intro .ln>span{translate:0 105%}
.px-intro header.nav{clip-path:inset(0 50% 0 50%)}
.px-intro header.nav .brand,.px-intro header.nav nav,.px-intro .hero p{opacity:0}
.photos{display:grid;gap:1rem;grid-template-columns:1fr 1.2fr 1fr;align-items:end;margin-top:2rem}
.ph{margin:0;position:relative;overflow:hidden;border-radius:14px;border:1px solid var(--line);background:var(--bg2);z-index:1}
.ph img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.12) translateY(var(--py,0px));will-change:transform}
.ph::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--gold),var(--gold2));transform-origin:right;transition:transform 1.1s cubic-bezier(.77,0,.18,1) .15s}
.ph.in::after,.in .ph::after{transform:scaleX(0)}
.ph figcaption{position:absolute;z-index:2;left:1rem;bottom:1rem;font:500 .78rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#f4ecd8;background:rgba(11,10,8,.68);padding:.5rem .85rem;border-radius:999px;backdrop-filter:blur(6px)}
.photos .ph{aspect-ratio:3/4}
.photos .ph:nth-child(2){aspect-ratio:4/5;margin-bottom:2.5rem}
.about-photos{position:relative;padding-bottom:3rem;margin-bottom:2rem}
.about-photos::before{content:"";position:absolute;inset:1.2rem -1rem 1rem 1.2rem;border:1px solid var(--gold);border-radius:14px}
.about-photos .main{aspect-ratio:4/5}
.about-photos .inset{position:absolute;width:42%;right:-.8rem;bottom:0;aspect-ratio:1/1;border:3px solid var(--bg2)}
@media (max-width:720px){.photos{grid-template-columns:1fr}.photos .ph,.photos .ph:nth-child(2){aspect-ratio:4/5;margin:0}.about-photos .inset{right:.5rem}}
@media (prefers-reduced-motion:reduce){.ph::after{display:none}.ph img{transform:none}}
.px-intro .hero .btn{clip-path:inset(0 100% 0 0)}

.phero{background:#0b0a08;color:#f4ecd8;padding:9rem 0 4rem;text-align:center;position:relative;overflow:hidden}
.phero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 100%,rgba(216,178,74,.2),transparent 60%)}
.phero .wrap{position:relative}
.phero h1{font-size:clamp(2.6rem,8vw,5.5rem);margin:0 0 .3em}
.phero .gold{background-image:linear-gradient(100deg,#d8b24a 20%,#f7e08a 45%,#d8b24a 70%)}
.phero p{margin:0 auto;color:#cfc5a9}
nav a[aria-current]{color:var(--gold)!important}
a.card{display:block;text-decoration:none;color:inherit}
.mb{display:none;background:none;border:0;width:42px;height:42px;cursor:pointer;position:relative}
.mb::before,.mb::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:#f4ecd8;transition:.3s}
.mb::before{top:15px}.mb::after{bottom:15px}
header.nav.on .mb::before,header.nav.on .mb::after{background:var(--fg)}
@media (max-width:860px){
.mb{display:block}
header.nav nav{display:none;position:absolute;left:0;right:0;top:100%;padding:1rem 1.25rem 1.5rem;background:var(--bg);flex-direction:column;border-bottom:1px solid var(--line)}
header.nav nav.open{display:flex}
header.nav nav a{margin:0;padding:.8rem 0;color:var(--fg)!important;border-bottom:1px solid var(--line)}
header.nav nav a[aria-current]{color:var(--gold)!important}
header.nav nav a.btn{color:#1a1405!important;margin-top:1rem;text-align:center;padding:.8rem 1.2rem!important}}
.soc{display:flex;gap:.8rem;justify-content:center;margin:1.2rem 0}
.soc a{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--fg);transition:.3s}
.soc a:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px)}
.soc svg{width:20px;height:20px;fill:currentColor}
.flinks{margin-bottom:.4rem}.flinks a{margin:0 .7rem;color:var(--mut);text-decoration:none}.flinks a:hover{color:var(--gold)}

.cdet{margin:0 0 2rem}.cdet h3{font-size:1.3rem}.cdet p{word-break:break-word}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
