@import url('https://fonts.googleapis.com/css2?family=Sansita:ital,wght@0,400;0,700;0,800;0,900;1,700;1,800&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,700&family=Hanken+Grotesk:wght@300;400;500;600;700&display=swap');

:root {
  --black:    #111010;
  --charcoal: #242220;
  --mid:      #3A3835;
  --muted:    #6A6560;
  --border:   #E0DDD8;
  --light:    #F6F4F1;
  --white:    #FFFFFF;
  --plum:     #3B1F4E;
  --plum-mid: #6B3D8A;
  --plum-lt:  #9B6BB5;
  --flame:    #E05A20;
  --flame-mid:#F07040;
  --flame-lt: #F8A882;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Hanken Grotesk',sans-serif;background:var(--white);color:var(--black);-webkit-font-smoothing:antialiased;overflow-x:hidden;}

/* NAV */
nav{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 60px;background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:200;transition:box-shadow 0.3s;}
nav.scrolled{box-shadow:0 2px 24px rgba(17,16,16,0.08);}
.nav-logo{font-family:'Fraunces',serif;font-weight:700;font-size:1.3rem;letter-spacing:0.01em;color:var(--black);text-decoration:none;}
.nav-logo em{font-style:normal;color:var(--plum-mid);}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-family:'Hanken Grotesk',sans-serif;font-size:0.76rem;font-weight:500;letter-spacing:0.04em;color:var(--muted);text-decoration:none;transition:color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--black);}
.nav-cta{font-family:'Hanken Grotesk',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:var(--flame);color:var(--white);text-decoration:none;padding:10px 24px;transition:background 0.2s;white-space:nowrap;}
.nav-cta:hover{background:var(--flame-mid);}

/* MARQUEE */
.marquee{background:var(--plum);padding:20px 0;overflow:hidden;white-space:nowrap;}
.marquee-track{display:inline-block;animation:ticker 34s linear infinite;}
.marquee-track span{font-family:'Hanken Grotesk',sans-serif;font-size:1.1rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:#FFFFFF;padding:0 36px;}
.marquee-track span.fl{color:var(--flame-lt);padding:0 12px;font-size:1.3rem;}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SHARED BUTTONS */
.btn-flame{font-family:'Hanken Grotesk',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:var(--flame);color:var(--white);text-decoration:none;padding:16px 36px;transition:background 0.2s;display:inline-block;}
.btn-flame:hover{background:var(--flame-mid);}
.btn-plum{font-family:'Hanken Grotesk',sans-serif;font-size:0.78rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:var(--plum-mid);text-decoration:none;padding:16px 36px;border:2px solid var(--plum-mid);transition:background 0.2s,color 0.2s;display:inline-block;}
.btn-plum:hover{background:var(--plum-mid);color:var(--white);}
.btn-white{font-family:'Hanken Grotesk',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;background:var(--white);color:var(--plum);text-decoration:none;padding:15px 34px;display:inline-block;transition:background 0.2s,color 0.2s;}
.btn-white:hover{background:var(--flame);color:var(--white);}
.text-link{font-family:'Hanken Grotesk',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--plum-mid);text-decoration:none;border-bottom:2px solid var(--plum-lt);padding-bottom:2px;display:inline-block;transition:color 0.2s;}
.text-link:hover{color:var(--plum);}

/* SHARED TYPOGRAPHY */
.eyebrow{font-family:'Hanken Grotesk',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--flame);margin-bottom:20px;display:block;}
.eyebrow-plum{font-family:'Hanken Grotesk',sans-serif;font-size:0.7rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--plum-mid);margin-bottom:20px;display:block;}
.plum-rule{width:40px;height:3px;background:var(--plum-mid);margin:0 0 20px;}
.flame-rule{width:40px;height:3px;background:var(--flame);margin:0 0 20px;}

/* PAGE HERO (inner pages) */
.page-hero{padding:100px 60px 80px;border-bottom:1px solid var(--border);}
.page-hero.dark{background:var(--black);border-top:5px solid var(--plum-mid);}
.page-hero.light{background:var(--light);border-top:5px solid var(--flame);}
.page-hero h1{font-family:'Sansita',sans-serif;font-weight:900;font-size:clamp(3rem,6vw,6rem);line-height:1.0;letter-spacing:-0.01em;color:var(--black);}
.page-hero.dark h1{color:var(--white);}
.page-hero h1 em{font-style:italic;color:var(--plum-mid);}
.page-hero.dark h1 em{color:var(--flame-lt);}
.page-hero-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;}
.page-hero-sub{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:400;line-height:1.75;color:var(--mid);}
.page-hero.dark .page-hero-sub{color:rgba(255,255,255,0.6);}

/* SECTION WRAPPERS */
.section{padding:110px 60px;max-width:1280px;margin:0 auto;}
.section-full{padding:110px 60px;}
.section-full.light{background:var(--light);}
.section-full.dark{background:var(--black);}
.section-full.plum{background:var(--plum);}

/* SECTION HEADING */
.section-h2{font-family:'Sansita',sans-serif;font-weight:900;font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.0;color:var(--black);margin-bottom:16px;}
.section-h2 em{font-style:italic;color:var(--plum-mid);}
.section-h2.white{color:var(--white);}
.section-h2.white em{color:var(--flame-lt);}
.section-h3{font-family:'Sansita',sans-serif;font-weight:800;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.15;color:var(--black);margin-bottom:12px;}
.section-h3 em{font-style:italic;color:var(--plum-mid);}
.body-lg{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:400;color:var(--mid);line-height:1.75;margin-bottom:16px;}
.body-md{font-size:1rem;font-weight:400;color:var(--mid);line-height:1.8;margin-bottom:16px;}
.body-md strong{font-weight:700;color:var(--black);}

/* PILLS */
.pills{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0 36px;}
.pill{font-family:'Hanken Grotesk',sans-serif;font-size:0.68rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:7px 14px;border:1px solid rgba(255,255,255,0.2);color:rgba(255,255,255,0.45);}
.pill.flame{border-color:var(--flame-lt);color:var(--flame-lt);}
.pill.plum{border-color:var(--plum-lt);color:var(--plum-lt);}
.pill.dark{border-color:var(--border);color:var(--muted);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.75s ease,transform 0.75s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.d1{transition-delay:0.1s;}.d2{transition-delay:0.2s;}.d3{transition-delay:0.3s;}

/* FOOTER */
footer{background:var(--black);padding:0 60px;display:flex;flex-direction:column;border-top:5px solid var(--plum-mid);}
.footer-top{display:flex;justify-content:space-between;align-items:center;padding:48px 0;border-bottom:1px solid rgba(255,255,255,0.08);flex-wrap:wrap;gap:20px;}
.footer-logo{font-family:'Fraunces',serif;font-weight:700;font-size:1.2rem;letter-spacing:0.01em;color:var(--white);}
.footer-logo em{font-style:normal;color:var(--flame-lt);}
footer a{color:inherit;background:none !important;-webkit-tap-highlight-color:transparent;}
footer nav{background:none !important;}
.footer-nav{display:flex;gap:28px;flex-wrap:wrap;background:none !important;}
.footer-nav a{font-family:'Hanken Grotesk',sans-serif;font-size:0.88rem;font-weight:500;color:var(--plum-lt) !important;text-decoration:none;transition:color 0.2s;background:none !important;border:none;padding:0;outline:none;}
.footer-nav a:hover{color:var(--flame-lt) !important;background:none !important;}
.footer-cta{font-family:'Hanken Grotesk',sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--flame-lt);text-decoration:none;border-bottom:1px solid var(--flame);padding-bottom:2px;}
.footer-wordmark{font-family:'Fraunces',serif;font-weight:700;font-size:clamp(5rem,12vw,12rem);letter-spacing:0.01em;color:rgba(255,255,255,0.04);line-height:1;padding:16px 0 28px;white-space:nowrap;overflow:hidden;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-bottom:32px;flex-wrap:wrap;gap:12px;}
footer small{font-size:0.72rem;color:rgba(255,255,255,0.2);letter-spacing:0.06em;}

/* MOBILE */
@media(max-width:960px){
  nav{padding:0 20px;}
  .nav-links{display:none;}
  .nav-links.open{display:flex;flex-direction:column;position:fixed;top:68px;left:0;right:0;bottom:0;background:var(--white);z-index:998;padding:40px 24px;gap:0;overflow-y:auto;}
  .nav-links.open li{border-bottom:1px solid var(--border);}
  .nav-links.open li a{display:block;padding:20px 0;font-size:1.1rem;font-weight:600;color:var(--black);letter-spacing:0.02em;}
  .hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;cursor:pointer;background:none;border:none;padding:4px;margin-right:-4px;}
  .hamburger span{display:block;width:24px;height:2px;background:var(--black);transition:all 0.3s;}
  .hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .hamburger.open span:nth-child(2){opacity:0;}
  .hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .page-hero{padding:72px 24px 56px;}
  .page-hero-inner{grid-template-columns:1fr;gap:24px;}
  .section{padding:80px 24px;}
  .section-full{padding:80px 24px;}
  footer{padding:0 24px;}
  .footer-nav{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(255,255,255,0.08);margin-top:8px;}
  .footer-nav a{font-size:0.95rem;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.06);}
  .footer-top{flex-direction:column;align-items:flex-start;gap:16px;padding:32px 0;border-bottom:none;}
  .footer-wordmark{font-size:16vw;}
}
@media(min-width:961px){
  .hamburger{display:none;}
}
