:root{
  --black:#050404;--ivory:#F4EFE7;--white:#FBF9F5;--cream:#ECE3D2;
  --champagne:#E4CBA0;--crimson:#8E1220;--amber:#C6752F;
  --muted:rgba(244,239,231,.42);
  --serif:'Cormorant Garamond','Playfair Display',Georgia,serif;
  --sans:'Inter Tight',-apple-system,'Helvetica Neue',sans-serif;
  --e:cubic-bezier(.16,1,.3,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{background:#000;scroll-behavior:smooth}
body{background:#000;color:var(--ivory);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--crimson);color:#fff}

.grain{position:fixed;inset:-50%;width:200%;height:200%;z-index:0;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-3%,2%)}80%{transform:translate(4%,-2%)}100%{transform:translate(0,0)}}

.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  padding:28px 40px;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.topbar .wm{font-size:13px;letter-spacing:.34em;text-transform:uppercase;font-weight:500;color:var(--white);text-decoration:none;transition:opacity .4s}
.topbar .wm:hover{opacity:.7}
.topbar .back{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne);text-decoration:none;
  border:1px solid rgba(228,203,160,.35);padding:10px 22px;transition:background .4s var(--e),border-color .4s}
.topbar .back:hover{background:rgba(228,203,160,.08);border-color:rgba(228,203,160,.6)}
@media(max-width:760px){.topbar{padding:20px 22px}}

.hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:180px 24px 100px;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;
  filter:brightness(.32) saturate(.9)}
.hero-bg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(0,0,0,.85) 100%),
             linear-gradient(180deg,rgba(0,0,0,.6),transparent 30%,transparent 70%,rgba(0,0,0,.85))}
.hero-inner{position:relative;z-index:1;max-width:820px}
.hero-kicker{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--champagne);opacity:.85;margin-bottom:22px}
.hero-title{font-family:var(--serif);font-weight:600;text-transform:uppercase;font-size:clamp(42px,7vw,96px);
  line-height:1;letter-spacing:.018em;
  background-image:linear-gradient(100deg,#F6E3B4,#E4CBA0 40%,#C6863B);
  background-size:100% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 2px 10px rgba(0,0,0,.5));margin-bottom:28px}
.hero-title em{font-style:italic}
.hero-sub{font-weight:300;font-size:clamp(14px,1.4vw,17px);color:var(--cream);opacity:.7;letter-spacing:.03em;line-height:1.8;max-width:52ch;margin:0 auto}
.hero-cta{display:inline-block;margin-top:44px;padding:16px 48px;font-size:12px;letter-spacing:.36em;text-transform:uppercase;
  font-weight:600;color:#221;border:0;border-radius:2px;text-decoration:none;cursor:pointer;
  background:linear-gradient(100deg,#F6E3B4,#E7A96A 60%,#D98A4A);
  box-shadow:0 10px 40px rgba(228,169,106,.28);transition:box-shadow .5s var(--e),letter-spacing .5s var(--e),filter .5s}
.hero-cta:hover{box-shadow:0 14px 60px rgba(228,169,106,.45);letter-spacing:.44em;filter:brightness(1.06)}
.hero-line{width:1px;height:70px;background:linear-gradient(to bottom,var(--champagne),transparent);margin:52px auto 0;opacity:.3}

.divider{width:100%;border:0;border-top:1px solid rgba(244,239,231,.06);margin:0}

.section{padding:clamp(80px,10vw,140px) clamp(24px,6vw,80px);max-width:1200px;margin:0 auto}
.sec-kicker{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--champagne);opacity:.6;margin-bottom:20px}
.sec-title{font-family:var(--serif);font-weight:500;font-size:clamp(32px,4.4vw,62px);line-height:1.06;
  letter-spacing:-.005em;color:var(--ivory);margin-bottom:36px}
.sec-title em{font-style:italic;color:var(--champagne)}
.sec-body{font-size:clamp(14px,1.05vw,16.5px);line-height:1.9;color:rgba(244,239,231,.65);font-weight:300;max-width:640px}
.sec-body+.sec-body{margin-top:20px}
.sec-body strong{color:var(--champagne);font-weight:500}

.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.split-img{width:100%;display:block;filter:brightness(.85) saturate(1.05)}
.split-frame{position:relative}
.split-frame::before{content:'';position:absolute;top:-18px;left:-18px;right:18px;bottom:18px;border:1px solid rgba(228,203,160,.1);pointer-events:none}
.split.reverse .split-frame{order:2}
@media(max-width:760px){.split,.split.reverse{grid-template-columns:1fr}.split.reverse .split-frame{order:0}}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:24px}
.pillar{background:rgba(244,239,231,.02);border:1px solid rgba(244,239,231,.06);padding:36px 30px;border-radius:4px;
  transition:transform .55s var(--e),border-color .55s,box-shadow .55s}
.pillar:hover{transform:translateY(-4px);border-color:rgba(228,203,160,.22);box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pillar-num{font-family:var(--serif);font-size:14px;letter-spacing:.3em;color:var(--champagne);opacity:.6;margin-bottom:16px}
.pillar-title{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--ivory);margin-bottom:12px;line-height:1.15}
.pillar-body{font-size:13.5px;line-height:1.75;color:rgba(244,239,231,.55);font-weight:300}
@media(max-width:760px){.pillars{grid-template-columns:1fr;gap:18px}}

.quote{padding:clamp(80px,10vw,140px) 24px;text-align:center;position:relative}
.quote::before{content:'\201C';font-family:var(--serif);font-size:clamp(100px,12vw,180px);color:rgba(228,203,160,.06);
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);line-height:1;pointer-events:none}
.quote-text{font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.8vw,38px);line-height:1.4;color:var(--ivory);max-width:820px;margin:0 auto 24px}
.quote-attr{font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--champagne);opacity:.55}

.cta-band{padding:clamp(90px,12vw,160px) 24px;text-align:center;position:relative;
  background:radial-gradient(ellipse at 50% 50%,rgba(228,203,160,.06),transparent 70%)}
.cta-eyebrow{font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--champagne);opacity:.7;margin-bottom:20px}
.cta-title{font-family:var(--serif);font-weight:600;text-transform:uppercase;font-size:clamp(32px,5vw,64px);
  line-height:1.04;letter-spacing:.02em;color:var(--ivory);margin-bottom:20px}
.cta-title em{font-style:italic;color:var(--champagne)}
.cta-sub{font-size:14px;line-height:1.8;color:rgba(244,239,231,.6);font-weight:300;max-width:52ch;margin:0 auto 40px}

.site-footer{padding:56px 24px;text-align:center;border-top:1px solid rgba(244,239,231,.08)}
.site-footer p{font-size:12px;letter-spacing:.12em;color:var(--muted);margin:4px 0}
.site-footer a{color:var(--muted);text-decoration:none;transition:color .4s}
.site-footer a:hover{color:var(--champagne)}

.sr{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--e),transform 1.1s var(--e)}
.sr.vis{opacity:1;transform:none}
.sr-d1{transition-delay:.1s}.sr-d2{transition-delay:.22s}.sr-d3{transition-delay:.34s}
