:root{--night:#1B2A3A;--night-2:#24364a;--seal:#5A4636;--snow:#F4F1EA;--white:#fffdf9;--sinew:#C8B79A;--teal:#2A9D9B;--teal-d:#1f7674;--purple:#7B5EA7;--ember:#B5543C;
--serif:"Cormorant Garamond",Georgia,serif;--sc:"Cormorant SC","Cormorant Garamond",Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--r:14px;--max:1120px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;color:var(--night);background:var(--snow)}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal-d)}
a:focus-visible,button:focus-visible{outline:3px solid var(--purple);outline-offset:3px;border-radius:6px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--night);color:var(--snow);padding:.6rem 1rem;z-index:100}
.skip-link:focus{left:1rem;top:1rem}
.wrap{width:min(100% - 2.5rem,var(--max));margin-inline:auto}
.narrow{max-width:720px}
h1,h2,h3{font-family:var(--sc);font-weight:600;letter-spacing:.04em;line-height:1.15;margin:0 0 .6em}
h1,h2{font-size:clamp(2rem,5vw,3rem)}
h3{font-size:1.45rem}
.eyebrow{font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--seal);margin:0 0 .75rem}
.eyebrow::after{content:"";display:block;width:56px;margin-top:.6rem;border-top:2px dashed var(--teal)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.94);backdrop-filter:blur(8px);border-bottom:1px solid rgba(200,183,154,.5)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:72px}
.logo-mark{width:170px;height:auto}
.nav{display:none;gap:1.6rem;align-items:center}
.nav a{color:var(--night);text-decoration:none;font-weight:500;font-size:.95rem}
.nav a:hover{color:var(--teal-d)}
.nav-cta{border:1.5px solid var(--night);padding:.45rem 1rem;border-radius:999px}
.nav-toggle{background:none;border:0;padding:.6rem;cursor:pointer;display:flex;flex-direction:column;gap:5px}
.nav-toggle span{width:24px;height:2px;background:var(--night);display:block}
.mobile-nav{display:flex;flex-direction:column;padding:.5rem 1.25rem 1.25rem;border-top:1px solid rgba(200,183,154,.5)}
.mobile-nav[hidden]{display:none}
.mobile-nav a{padding:.7rem 0;color:var(--night);text-decoration:none;font-weight:500;border-bottom:1px dashed rgba(200,183,154,.7)}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--snow);padding:4rem 0 5rem;text-align:center}
.hero-aurora{position:absolute;inset:-30% -10% auto;height:85%;background:radial-gradient(60% 50% at 30% 40%,rgba(42,157,155,.22),transparent 70%),radial-gradient(55% 45% at 72% 35%,rgba(123,94,167,.2),transparent 70%);filter:blur(10px);pointer-events:none}
.hero-inner{position:relative}
.hero-logo{width:min(420px,88%);margin:0 auto}
.hero-tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.4rem,3.5vw,1.9rem);color:var(--seal);margin:.5rem 0 .25rem}
.hero-lede{max-width:34rem;margin:0 auto 2rem;font-size:1.1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:999px;font-weight:600;text-decoration:none;font-size:.98rem;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--night);color:var(--snow)}
.btn-primary:hover{background:var(--night-2)}
.btn-ghost{border:1.5px solid var(--night);color:var(--night)}

/* sections */
.section{padding:4.5rem 0}
.about{background:var(--white)}
.quote{margin:1.5rem 0 2rem;padding:1.25rem 1.5rem;border-left:3px dashed var(--purple);background:linear-gradient(90deg,rgba(123,94,167,.08),transparent)}
.quote p{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.5vw,2rem);line-height:1.3;margin:0;color:var(--night)}
.card-grid{display:grid;gap:1.1rem;grid-template-columns:1fr}
.card{background:var(--white);border:1px solid rgba(200,183,154,.6);border-radius:var(--r);padding:1.6rem}
.card p{margin:0}
.card-icon{width:48px;height:48px;color:var(--teal-d);margin-bottom:.8rem}

/* boxes: polar night */
.boxes{background:var(--night);color:var(--snow);position:relative;overflow:hidden}
.boxes::before{content:"";position:absolute;inset:-40% -20% auto;height:70%;background:radial-gradient(50% 50% at 25% 50%,rgba(42,157,155,.28),transparent 70%),radial-gradient(45% 45% at 75% 40%,rgba(123,94,167,.3),transparent 70%);pointer-events:none}
.boxes .wrap{position:relative}
.boxes .eyebrow{color:var(--sinew)}
.section-lede{max-width:40rem;font-size:1.1rem;color:#e6e1d6}
.tier-grid{display:grid;gap:1.1rem;margin:2rem 0 1.5rem}
.tier{background:rgba(255,255,255,.05);border:1px solid rgba(200,183,154,.35);border-radius:var(--r);padding:1.6rem;position:relative}
.tier-featured{border:1.5px dashed #6fd0cd;background:rgba(42,157,155,.12)}
.tier-badge{position:absolute;top:-.8rem;left:1.4rem;margin:0;background:var(--teal);color:var(--night);font-size:.75rem;font-weight:600;padding:.2rem .7rem;border-radius:999px}
.tier-name{font-family:var(--sc);font-size:1.8rem;letter-spacing:.06em;margin:0}
.tier-approx{color:#8fe0dc;font-weight:600;margin:.1rem 0 .6rem}
.tier-desc{margin:0;color:#e6e1d6}
.order-note{color:#e6e1d6;margin-bottom:1.5rem}
.order-note strong{color:var(--snow)}
.boxes .btn-primary{background:var(--snow);color:var(--night)}
.boxes .btn-primary:hover{background:#fff}

/* social */
.social-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:.9rem;grid-template-columns:1fr 1fr}
.social-card{display:flex;flex-direction:column;padding:1.2rem 1.3rem;border-radius:var(--r);background:var(--white);border:1px solid rgba(200,183,154,.6);text-decoration:none;color:var(--night);transition:border-color .15s,transform .15s}
a.social-card:hover{border-color:var(--teal);transform:translateY(-2px)}
.social-label{font-family:var(--sc);font-size:1.3rem;letter-spacing:.05em}
.social-handle{color:var(--teal-d);font-weight:500;font-size:.95rem}
.social-card--soon{opacity:.75}
.social-card--soon .social-handle{color:var(--seal)}

/* contact */
.contact{background:var(--white)}
.contact-list{list-style:none;padding:0;margin:1.5rem 0 0}
.contact-list li{display:flex;flex-direction:column;padding:1rem 0;border-bottom:1px dashed var(--sinew)}
.contact-label{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--seal)}
.contact-list a{font-size:1.2rem;font-weight:500;word-break:break-word}

/* footer */
.site-footer{background:var(--night);color:#d9d3c7;padding:2.5rem 0;text-align:center}
.footer-logo{width:150px;margin:0 auto 1rem;filter:brightness(0) invert(.95)}
.footer-copy,.footer-note{margin:.2rem 0;font-size:.9rem}

@media (min-width:640px){.card-grid{grid-template-columns:1fr 1fr}.social-list{grid-template-columns:repeat(4,1fr)}}
@media (min-width:900px){.nav{display:flex}.nav-toggle,.mobile-nav{display:none!important}.card-grid{grid-template-columns:repeat(4,1fr)}.tier-grid{grid-template-columns:repeat(3,1fr)}.hero{padding:5.5rem 0 6.5rem}.section{padding:6rem 0}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.social-card{transition:none}}
