:root{
    --bg-void: #08070a;
    --bg-panel: #0f0d10;
    --ember-gold: #c8a45e;
    --ember-gold-bright: #e6c581;
    --ember-gold-dim: #8a6f3f;
    --parchment: #ece4d3;
    --ash: #a89d8b;
    --hairline: rgba(200,164,94,0.22);
    --shadow-deep: 0 20px 60px rgba(0,0,0,0.55);
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg-void);
    color:var(--parchment);
    font-family:'EB Garamond', serif;
    font-size:18px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .display{font-family:'Cinzel', serif;}
  .wordmark{font-family:'Cinzel Decorative', serif;}

  /* subtle vignette + film-grain-ish backdrop for whole page */
  body::before{
    content:"";
    position:fixed; inset:0;
    background:
      radial-gradient(ellipse at 50% -10%, rgba(200,164,94,0.06), transparent 60%),
      var(--bg-void);
    z-index:-2;
  }

  .container{
    max-width:1400px;
    margin:0 auto;
    padding:0 48px;
  }

  /* ============ NAV ============ */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(8,7,10,0.86);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--hairline);
  }
  .nav-inner{
    display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
    padding:20px 48px;
    max-width:1400px; margin:0 auto;
  }
  .nav-inner nav.links{justify-self:center;}
  .nav-inner .brand{justify-self:start;}
  .brand{display:flex; align-items:center; gap:14px;}
  .brand-mark{width:46px; height:46px; flex-shrink:0;}
  .brand-text .name{
    font-size:22px; letter-spacing:0.04em; color:var(--ember-gold-bright);
  }
  .brand-text .tagline{
    font-size:10.5px; letter-spacing:0.32em; color:var(--ash); font-family:'Cinzel',serif; margin-top:2px;
  }
  nav.links{display:flex; gap:40px;}
  nav.links a{
    font-family:'Cinzel', serif;
    font-size:13px; letter-spacing:0.12em;
    color:var(--ash);
    padding-bottom:6px;
    border-bottom:1px solid transparent;
    transition:color .25s ease, border-color .25s ease;
  }
  nav.links a:hover{color:var(--parchment);}
  nav.links a.active{color:var(--ember-gold-bright); border-bottom-color:var(--ember-gold);}
  .nav-social{display:flex; gap:20px;}
  .nav-social a{color:var(--ash); transition:color .2s ease;}
  .nav-social a:hover{color:var(--ember-gold-bright);}
  .nav-toggle{display:none;}

  /* ============ HERO ============ */
  .hero{
    position:relative;
    min-height:92vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    border-bottom:1px solid var(--hairline);
  }
  .hero-bg{
    position:absolute; inset:0;
    background-image:url('/static/img/hero-bg.jpg');
    background-size:cover;
    background-position:70% center;
  }
  .hero-scrim{
    position:absolute; inset:0;
    background:
      linear-gradient(100deg, rgba(6,5,7,0.97) 0%, rgba(6,5,7,0.88) 26%, rgba(6,5,7,0.45) 52%, rgba(6,5,7,0.15) 70%, rgba(6,5,7,0.35) 100%),
      linear-gradient(0deg, rgba(6,5,7,0.9) 0%, transparent 22%);
  }
  .hero-content{
    position:relative; z-index:2;
    max-width:1400px; margin:0 auto;
    width:100%;
    padding:0 48px;
  }
  .hero-inner{max-width:560px;}
  .eyebrow-rule{
    display:flex; align-items:center; gap:16px;
    margin-bottom:26px;
  }
  .eyebrow-rule .diamond{
    width:8px; height:8px; background:var(--ember-gold); transform:rotate(45deg);
  }
  .eyebrow-rule .line{
    height:1px; flex:1; max-width:120px;
    background:linear-gradient(90deg, var(--ember-gold-dim), transparent);
  }
  .eyebrow-rule span.label{
    font-family:'Cinzel', serif; font-size:12px; letter-spacing:0.28em; color:var(--ember-gold);
  }
  h1.hero-title{
    font-family:'Cinzel Decorative', serif;
    font-weight:700;
    font-size:clamp(42px, 5.2vw, 68px);
    line-height:1.05;
    color:var(--parchment);
    margin-bottom:28px;
    text-shadow:0 4px 30px rgba(0,0,0,0.6);
  }
  .hero-desc{
    color:#cfc6b4;
    font-size:19px;
    line-height:1.75;
    margin-bottom:40px;
    max-width:480px;
  }
  .hero-desc strong{color:var(--ember-gold-bright); font-weight:600;}
  .cta-row{display:flex; flex-wrap:wrap; gap:18px;}
  .btn{
    display:inline-flex; align-items:center; gap:12px;
    font-family:'Cinzel', serif;
    font-size:13.5px; letter-spacing:0.1em;
    padding:18px 30px;
    border:1px solid var(--ember-gold-dim);
    transition:all .25s ease;
    white-space:nowrap;
  }
  .btn-solid{
    background:linear-gradient(180deg, #c9a866, #a9803c);
    color:#1a1408;
    border-color:transparent;
    box-shadow:0 12px 30px rgba(160,120,50,0.25);
  }
  .btn-solid:hover{transform:translateY(-2px); box-shadow:0 16px 36px rgba(160,120,50,0.38);}
  .btn-ghost{
    background:rgba(20,17,14,0.4);
    color:var(--parchment);
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .btn-ghost .link-url{color:var(--ember-gold-bright); font-family:'EB Garamond', serif; font-size:14px; letter-spacing:0;}
  .btn-ghost:hover{border-color:var(--ember-gold);}
  .btn-ghost .btn-top{display:flex; align-items:center; gap:10px;}

  /* ============ FEATURES STRIP ============ */
  .features{
    border-bottom:1px solid var(--hairline);
    background:linear-gradient(180deg, #0a090b, #08070a);
  }
  .features-grid{
    display:grid;
    grid-template-columns:repeat(5, 1fr);
    max-width:1400px; margin:0 auto;
  }
  .feature{
    padding:56px 30px;
    text-align:center;
    border-right:1px solid var(--hairline);
  }
  .feature:last-child{border-right:none;}
  .feature-icon{
    width:64px; height:64px;
    margin:0 auto 22px;
    border:1px solid var(--ember-gold-dim);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--ember-gold);
    transition:border-color .3s ease, transform .3s ease;
  }
  .feature:hover .feature-icon{border-color:var(--ember-gold); transform:translateY(-3px);}
  .feature h3{
    font-family:'Cinzel', serif; font-size:14.5px; letter-spacing:0.06em;
    color:var(--parchment); margin-bottom:12px;
  }
  .feature p{color:var(--ash); font-size:15px; line-height:1.6;}

  /* ============ STATS STRIP ============ */
  .stats-wrap{
    position:relative;
    background:var(--bg-void);
    overflow:hidden;
  }
  .stats-deco-left, .stats-deco-right{
    position:absolute; bottom:0; width:220px; opacity:0.5; filter:saturate(0.7);
  }
  .stats-deco-left{left:0;}
  .stats-deco-right{right:0;}
  .stats-grid{
    position:relative; z-index:2;
    display:grid; grid-template-columns:repeat(4,1fr);
    max-width:1100px; margin:0 auto;
    padding:64px 48px;
  }
  .stat{text-align:center;}
  .stat .num{
    font-family:'Cinzel Decorative', serif; font-weight:700;
    font-size:44px; color:var(--ember-gold-bright);
  }
  .stat .label{
    font-family:'Cinzel', serif; font-size:11.5px; letter-spacing:0.18em; color:var(--ash);
    margin-top:8px;
  }

  /* ============ SECTIONS (about / pricing / faq placeholders) ============ */
  section.page-section{
    padding:120px 48px;
    border-bottom:1px solid var(--hairline);
  }
  .section-head{max-width:640px; margin:0 auto 64px; text-align:center;}
  .section-head .eyebrow{
    font-family:'Cinzel', serif; font-size:12px; letter-spacing:0.28em; color:var(--ember-gold);
    margin-bottom:18px; display:block;
  }
  .section-head h2{
    font-family:'Cinzel', serif; font-weight:600;
    font-size:clamp(30px, 3.4vw, 44px);
    color:var(--parchment);
  }
  .section-head p{color:var(--ash); margin-top:20px; font-size:17px;}

  .cards-3{
    display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
    max-width:1200px; margin:0 auto;
  }
  .card{
    background:linear-gradient(180deg, rgba(200,164,94,0.05), transparent);
    border:1px solid var(--hairline);
    padding:44px 36px;
  }
  .card .rank{font-family:'Cinzel Decorative', serif; color:var(--ember-gold-dim); font-size:13px; letter-spacing:0.2em; margin-bottom:16px;}
  .card h3{font-family:'Cinzel', serif; font-size:22px; margin-bottom:14px; color:var(--parchment);}
  .card p{color:var(--ash); font-size:15.5px;}
  .card .price{font-family:'Cinzel Decorative', serif; font-size:34px; color:var(--ember-gold-bright); margin:20px 0;}

  footer{
    padding:56px 48px 40px;
    text-align:center;
  }
  footer .brand-text .name{font-size:18px;}
  footer p{color:var(--ash); font-size:14px; margin-top:18px;}
  footer .foot-social{display:flex; justify-content:center; gap:26px; margin-top:24px;}
  footer .foot-social a{color:var(--ash); transition:color .2s ease;}
  footer .foot-social a:hover{color:var(--ember-gold-bright);}

  @media (max-width: 980px){
    .features-grid{grid-template-columns:repeat(2,1fr);}
    .feature:nth-child(2n){border-right:none;}
    .stats-grid{grid-template-columns:repeat(2,1fr); gap:36px;}
    .cards-3{grid-template-columns:1fr;}
    nav.links{display:none;}
    .hero{min-height:100vh;}
    .hero-bg{background-position:75% center;}
  }
  @media (max-width: 620px){
    .container, .nav-inner, .hero-content, section.page-section{padding-left:24px; padding-right:24px;}
    .features-grid{grid-template-columns:1fr;}
    .feature{border-right:none; border-bottom:1px solid var(--hairline);}
    .stats-grid{grid-template-columns:repeat(2,1fr); padding:48px 24px;}
    .cta-row{flex-direction:column; align-items:stretch;}
  }

  footer{
    background:var(--bg-void);
    padding:26px 48px;
    border-top:1px solid var(--hairline);
  }
  .foot-social{
    display:flex; justify-content:center; align-items:center; gap:34px;
  }
  .foot-social a{color:var(--ash); transition:color .2s ease;}
  .foot-social a:hover{color:var(--ember-gold-bright);}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{transition:none !important;}
  }
