  :root{
    --black:#0F1012;
    --charcoal:#1D2126;
    --slate:#3B3F46;
    --ivory:#F7F4EE;
    --stone:#E6E3DE;
    --gold:#D4B97A;
    --pale-gold:#E9D9A6;
    --deep-gold:#B58F46;
  }

  *{ box-sizing:border-box; margin:0; padding:0; }

  html,body{
    background:var(--ivory);
    font-family:'Inter', sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  img{ max-width:100%; display:block; }

  .serif{ font-family:'Playfair Display', serif; }

  .site{
    width:100%;
    background:var(--ivory);
  }

  /* ---------- shared ---------- */
  .container{
    width:100%;
    max-width:1240px;
    margin:0 auto;
    padding:0 40px;
  }
  .eyebrow{
    font-size:12px;
    font-weight:500;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--deep-gold);
  }
  .rule{
    width:64px;
    height:1px;
    background:var(--gold);
    border:none;
    margin:22px 0 0;
  }
  .rule-full{
    width:100%;
    height:1px;
    background:linear-gradient(to right, rgba(212,185,122,0) 0%, rgba(212,185,122,0.55) 50%, rgba(212,185,122,0) 100%);
    border:none;
  }
  a{ text-decoration:none; color:inherit; }

  .btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-family:'Inter', sans-serif;
    font-size:12px;
    font-weight:500;
    letter-spacing:.16em;
    text-transform:uppercase;
    padding:16px 34px;
    border-radius:2px;
    cursor:pointer;
    transition:opacity .2s ease, background .2s ease;
    white-space:nowrap;
  }
  .btn-primary{
    background:var(--gold);
    color:var(--charcoal);
    border:1px solid var(--gold);
  }
  .btn-primary:hover{ background:var(--pale-gold); border-color:var(--pale-gold); }
  .btn-outline-dark{
    background:transparent;
    color:var(--ivory);
    border:1px solid var(--gold);
  }
  .btn-outline-dark:hover{ background:rgba(212,185,122,0.08); }
  .btn-outline-light{
    background:transparent;
    color:var(--charcoal);
    border:1px solid var(--deep-gold);
  }
  .btn-outline-light:hover{ background:rgba(181,143,70,0.08); }

  .grain{
    position:absolute;
    inset:0;
    opacity:.035;
    pointer-events:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  }

  .numeral-mark{
    position:absolute;
    top:50%;
    right:-70px;
    transform:translateY(-50%);
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-weight:500;
    font-size:660px;
    line-height:1;
    color:transparent;
    -webkit-text-stroke:1.5px rgba(181,143,70,0.22);
    pointer-events:none;
    z-index:0;
    user-select:none;
  }

  .hero-scroll{
    position:absolute;
    left:140px;
    bottom:52px;
    display:flex;
    align-items:center;
    gap:14px;
    z-index:3;
  }
  .hero-scroll .scroll-line{ width:34px; height:1px; background:var(--gold); }
  .hero-scroll .scroll-label{
    font-size:10px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--gold);
  }

  /* ---------- header ---------- */
  header{
    background:var(--black);
    height:88px;
    display:flex;
    align-items:center;
    position:sticky;
    top:0;
    z-index:100;
    border-bottom:1px solid rgba(212,185,122,0.14);
  }
  .header-inner{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .logo{
    display:flex;
    align-items:center;
    gap:14px;
  }
  .mono{
    width:42px;
    height:42px;
    border:1px solid var(--gold);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-weight:500;
    font-size:16px;
    color:var(--gold);
    flex-shrink:0;
  }
  .logo-text .name{
    font-size:14px;
    font-weight:500;
    letter-spacing:.14em;
    color:var(--ivory);
  }
  .logo-text .cry{
    font-size:10px;
    letter-spacing:.1em;
    color:var(--gold);
    margin-top:3px;
  }
  nav.main-nav{
    display:flex;
    gap:40px;
  }
  nav.main-nav a{
    position:relative;
    font-size:13px;
    color:var(--stone);
    letter-spacing:.02em;
    padding-bottom:5px;
    transition:color .2s ease;
  }
  nav.main-nav a::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:0; height:1px;
    background:var(--gold);
    transition:width .25s ease;
  }
  nav.main-nav a:hover, nav.main-nav a.is-active{ color:var(--gold); }
  nav.main-nav a:hover::after, nav.main-nav a.is-active::after{ width:100%; }
  .header-actions{
    display:flex;
    align-items:center;
    gap:14px;
  }
  .header-actions .btn{ padding:13px 24px; }

  .nav-toggle{
    display:none;
    width:32px;
    height:32px;
    border:none;
    background:transparent;
    cursor:pointer;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    padding:0;
  }
  .nav-toggle span{
    display:block;
    width:22px;
    height:1px;
    background:var(--gold);
    transition:transform .25s ease, opacity .25s ease;
  }
  .nav-toggle.is-open span:nth-child(1){ transform:translateY(6px) rotate(45deg); }
  .nav-toggle.is-open span:nth-child(2){ opacity:0; }
  .nav-toggle.is-open span:nth-child(3){ transform:translateY(-6px) rotate(-45deg); }

  /* ---------- hero ---------- */
  .hero{
    background:var(--black);
    position:relative;
    display:grid;
    grid-template-columns:1fr 1fr;
    min-height:760px;
    overflow:hidden;
  }
  .hero-left{
    padding:0 60px 0 140px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:26px;
    position:relative;
    z-index:2;
  }
  .hero-left .container{ padding:0 0 0 0; width:auto; margin:0; }
  .hero-symbol{
    font-family:'Playfair Display', serif;
    font-style:italic;
    color:var(--gold);
    font-size:15px;
    letter-spacing:.08em;
  }
  .hero h1{
    font-size:76px;
    line-height:1.04;
    font-weight:500;
    color:var(--ivory);
    max-width:560px;
  }
  .hero h1 span{ color:var(--gold); font-style:italic; }
  .hero .kicker{
    font-size:19px;
    color:var(--pale-gold);
    font-family:'Playfair Display', serif;
    font-style:italic;
    max-width:460px;
  }
  .hero p.body{
    font-size:16px;
    line-height:1.75;
    color:#B7B4AC;
    max-width:440px;
    font-weight:300;
  }
  .hero-buttons{
    display:flex;
    gap:16px;
    margin-top:8px;
  }
  .hero-right{
    position:relative;
    overflow:hidden;
    min-height:420px;
  }
  .hero-right picture{
    display:block;
    width:100%;
    height:100%;
  }
  .hero-right svg{ display:block; width:100%; height:100%; }
  .hero-right img.hero-photo{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:52% 50%;
  }

  /* ---------- open letter ---------- */
  .letter{
    background:var(--ivory);
    padding:150px 0;
    position:relative;
    overflow:hidden;
  }
  .letter-grid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:100px;
  }
  .letter-grid h2{
    font-size:42px;
    font-weight:500;
    line-height:1.18;
    color:var(--charcoal);
    max-width:340px;
  }
  .letter-right .salutation{
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-size:22px;
    color:var(--deep-gold);
    margin-bottom:26px;
  }
  .letter-right p{
    font-size:17px;
    line-height:1.85;
    color:var(--slate);
    max-width:560px;
    margin-bottom:22px;
    font-weight:300;
  }
  .letter-right .sign-off{
    margin-top:36px;
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-size:18px;
    color:var(--charcoal);
  }

  /* ---------- seven reasons ---------- */
  .reasons{
    background:var(--stone);
    padding:150px 0;
    position:relative;
  }
  .reasons-head{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:100px;
    margin-bottom:64px;
  }
  .reasons-head h2{
    font-size:42px;
    font-weight:500;
    line-height:1.18;
    color:var(--charcoal);
    max-width:360px;
  }
  .reasons-head .link-row{
    display:flex;
    justify-content:flex-end;
    align-items:flex-start;
  }
  .reasons-head .link-row a{
    font-size:12px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--deep-gold);
    font-weight:500;
    border-bottom:1px solid var(--deep-gold);
    padding-bottom:3px;
  }
  .reason-row{
    display:grid;
    grid-template-columns:220px 1fr;
    align-items:center;
    padding:30px 8px;
    margin:0 -8px;
    border-bottom:1px solid rgba(59,63,70,0.14);
    transition:background .25s ease;
  }
  .reason-row:hover{ background:rgba(212,185,122,0.08); }
  .reason-row:first-child{ border-top:1px solid rgba(59,63,70,0.14); }
  .reason-row .num{
    font-family:'Playfair Display', serif;
    font-weight:500;
    font-style:italic;
    font-size:30px;
    color:var(--gold);
  }
  .reason-row .title{
    font-size:19px;
    color:var(--charcoal);
    font-weight:400;
    font-family:'Playfair Display', serif;
  }

  /* ---------- share poster ---------- */
  .poster{
    background:var(--black);
    padding:170px 0;
    text-align:center;
    position:relative;
  }
  .poster h2{
    font-size:46px;
    font-weight:500;
    color:var(--ivory);
    line-height:1.3;
    max-width:760px;
    margin:0 auto;
  }
  .poster .prompt{
    margin-top:34px;
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-size:21px;
    color:var(--pale-gold);
  }
  .poster .btn{ margin-top:48px; }

  /* ---------- asking ---------- */
  .asking{
    background:var(--ivory);
    padding:150px 0;
    position:relative;
  }
  .asking-grid{
    display:grid;
    grid-template-columns:1fr 1px 1fr;
    gap:80px;
  }
  .asking-grid .divider{ background:rgba(59,63,70,0.16); }
  .asking-col .eyebrow{ margin-bottom:26px; display:block; }
  .asking-col ul{ list-style:none; }
  .asking-col li{
    font-family:'Playfair Display', serif;
    font-size:22px;
    color:var(--charcoal);
    padding:16px 0;
    border-bottom:1px solid rgba(59,63,70,0.12);
  }
  .asking-col li:first-child{ border-top:1px solid rgba(59,63,70,0.12); }
  .asking-close{
    text-align:center;
    margin-top:90px;
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-size:24px;
    color:var(--deep-gold);
  }

  /* ---------- global movement ---------- */
  .global{
    background:var(--stone);
    padding:160px 0;
    text-align:center;
    position:relative;
  }
  .global h2{
    font-size:44px;
    font-weight:500;
    color:var(--charcoal);
    max-width:720px;
    margin:0 auto 22px;
  }
  .global .sub{
    font-size:16px;
    color:var(--slate);
    letter-spacing:.02em;
    margin-bottom:34px;
  }
  .global p.body{
    font-size:17px;
    line-height:1.8;
    color:var(--slate);
    max-width:600px;
    margin:0 auto 26px;
    font-weight:300;
  }
  .global .statement{
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-size:19px;
    color:var(--charcoal);
    margin-bottom:44px;
  }

  /* ---------- founder ---------- */
  .founder{
    background:var(--ivory);
    padding:150px 0;
    position:relative;
  }
  .founder-grid{
    display:grid;
    grid-template-columns:0.85fr 1.15fr;
    gap:100px;
  }
  .founder-grid h2{
    font-size:38px;
    font-weight:500;
    color:var(--charcoal);
    max-width:320px;
  }
  .founder-right p{
    font-size:17px;
    line-height:1.85;
    color:var(--slate);
    max-width:560px;
    margin-bottom:22px;
    font-weight:300;
  }
  .founder-sign{
    margin-top:40px;
  }
  .founder-sign .name{
    font-family:'Cormorant Garamond', serif;
    font-style:italic;
    font-weight:600;
    font-size:34px;
    color:var(--deep-gold);
  }
  .founder-sign .title{
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--slate);
    margin-top:6px;
  }

  /* ---------- signup ---------- */
  .signup{
    background:var(--charcoal);
    padding:130px 0;
    text-align:center;
    position:relative;
  }
  .signup h2{
    font-size:38px;
    font-weight:500;
    color:var(--ivory);
    margin-bottom:16px;
  }
  .signup .sub{
    font-size:15px;
    color:#B7B4AC;
    max-width:480px;
    margin:0 auto 48px;
    line-height:1.7;
  }
  .signup-form{
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr auto;
    gap:12px;
    max-width:1040px;
    margin:0 auto;
  }
  .signup-form input{
    height:52px;
    background:transparent;
    border:1px solid rgba(212,185,122,0.35);
    color:var(--ivory);
    font-family:'Inter', sans-serif;
    font-size:13px;
    padding:0 16px;
    border-radius:0;
  }
  .signup-form input::placeholder{ color:#8B8983; }
  .signup-form input:focus{ outline:none; border-color:var(--gold); }
  .signup-form .btn{ height:52px; padding:0 24px; }
  .privacy{
    margin-top:26px;
    font-size:12px;
    color:#78766F;
  }

  /* ---------- footer ---------- */
  footer{
    background:var(--black);
    padding:90px 0 40px;
    position:relative;
    border-top:1px solid rgba(212,185,122,0.14);
  }
  .footer-top{
    display:grid;
    grid-template-columns:1fr 1.3fr 1fr;
    gap:60px;
    padding-bottom:70px;
    border-bottom:1px solid rgba(212,185,122,0.16);
  }
  .footer-logo{ display:flex; gap:14px; align-items:flex-start; }
  .footer-logo .logo-text .name{ font-size:14px; }
  footer nav.footer-nav{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  footer nav.footer-nav a{
    font-size:13px;
    color:var(--stone);
  }
  footer nav.footer-nav a:hover{ color:var(--gold); }
  .footer-contact{ display:flex; flex-direction:column; gap:12px; align-items:flex-end; text-align:right; }
  .footer-contact a{ font-size:13px; color:var(--stone); }
  .footer-contact a:hover{ color:var(--gold); }
  .footer-mid{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:36px 0;
  }
  .legal-links{
    display:flex;
    gap:26px;
    flex-wrap:wrap;
  }
  .legal-links a{
    font-size:12px;
    color:#8B8983;
  }
  .legal-links a:hover{ color:var(--gold); }
  .social-icons{ display:flex; gap:16px; }
  .social-icons a{
    width:32px; height:32px;
    border:1px solid rgba(212,185,122,0.35);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
  }
  .social-icons svg{ width:14px; height:14px; }
  .disclaimer{
    font-size:12px;
    line-height:1.8;
    color:#6E6C66;
    max-width:900px;
    margin:0 auto 22px;
    text-align:center;
  }
  .copyright{
    text-align:center;
    font-size:12px;
    color:#6E6C66;
  }

  .col-label{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; }

  /* ---------- scroll + entrance animation ---------- */
  .reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .9s cubic-bezier(.16,.84,.44,1), transform .9s cubic-bezier(.16,.84,.44,1);
    will-change:opacity, transform;
  }
  .reveal.is-visible{
    opacity:1;
    transform:translateY(0);
  }

  .hero-reveal{
    opacity:0;
    transform:translateY(16px);
    transition:opacity .8s ease, transform .8s ease;
  }
  .hero-reveal.is-visible{
    opacity:1;
    transform:translateY(0);
  }
  .hero-reveal.d1{ transition-delay:.05s; }
  .hero-reveal.d2{ transition-delay:.18s; }
  .hero-reveal.d3{ transition-delay:.34s; }
  .hero-reveal.d4{ transition-delay:.46s; }
  .hero-reveal.d5{ transition-delay:.58s; }

  header{ transition:box-shadow .3s ease; }
  header.is-scrolled{ box-shadow:0 1px 0 rgba(212,185,122,0.16); }

  @media (prefers-reduced-motion: reduce){
    .reveal, .hero-reveal{
      transition:none !important;
      opacity:1 !important;
      transform:none !important;
    }
  }

  /* ================================================================
     NEW SHARED COMPONENTS — inner pages, forms, FAQ, cards
     ================================================================ */

  .eyebrow.on-dark{ color:var(--gold); }

  .container-narrow{
    width:100%;
    max-width:760px;
    margin:0 auto;
    padding:0 40px;
  }

  .section-ivory, .section-stone, .section-black{
    position:relative;
    padding:150px 0;
  }
  .section-ivory{ background:var(--ivory); }
  .section-stone{ background:var(--stone); }
  .section-black{ background:var(--black); }
  .section-tight{ padding:100px 0; }

  .prose{
    font-size:17px;
    line-height:1.85;
    color:var(--slate);
    font-weight:300;
  }
  .prose p{ margin-bottom:22px; }
  .prose p:last-child{ margin-bottom:0; }
  .prose strong{ color:var(--charcoal); font-weight:500; }
  .prose ul{ list-style:none; margin:22px 0; }
  .prose ul li{
    padding:8px 0 8px 22px;
    position:relative;
  }
  .prose ul li::before{
    content:"—";
    position:absolute;
    left:0;
    color:var(--deep-gold);
  }

  /* ---------- page hero (inner pages) ---------- */
  .page-hero{
    background:var(--black);
    position:relative;
    padding:200px 0 110px;
    text-align:center;
    overflow:hidden;
  }
  .page-hero .eyebrow{ display:block; margin-bottom:20px; }
  .page-hero h1{
    font-size:56px;
    font-weight:500;
    color:var(--ivory);
    line-height:1.12;
    max-width:820px;
    margin:0 auto;
  }
  .page-hero h1 em{ color:var(--gold); font-style:italic; }
  .page-hero .subhead{
    margin-top:26px;
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-size:21px;
    color:var(--pale-gold);
    max-width:640px;
    margin-left:auto;
    margin-right:auto;
  }
  .page-hero p.lede{
    margin-top:22px;
    font-size:16px;
    line-height:1.75;
    color:#B7B4AC;
    max-width:620px;
    margin-left:auto;
    margin-right:auto;
    font-weight:300;
  }
  .page-hero .btn-row{
    margin-top:38px;
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
  }

  /* ---------- divided list (asking-style, reusable) ---------- */
  .divided-list{ list-style:none; }
  .divided-list li{
    font-family:'Playfair Display', serif;
    font-size:20px;
    color:var(--charcoal);
    padding:15px 0;
    border-bottom:1px solid rgba(59,63,70,0.12);
  }
  .divided-list li:first-child{ border-top:1px solid rgba(59,63,70,0.12); }
  .divided-list.on-dark li{
    color:var(--ivory);
    border-bottom-color:rgba(212,185,122,0.16);
  }
  .divided-list.on-dark li:first-child{ border-top-color:rgba(212,185,122,0.16); }

  /* ---------- full reason blocks (Seven Reasons page) ---------- */
  .reason-full{
    padding:56px 0;
    border-bottom:1px solid rgba(59,63,70,0.14);
    display:grid;
    grid-template-columns:140px 1fr;
    gap:40px;
  }
  .reason-full:first-of-type{ border-top:1px solid rgba(59,63,70,0.14); }
  .reason-full .num{
    font-family:'Playfair Display', serif;
    font-style:italic;
    font-weight:500;
    font-size:52px;
    color:var(--gold);
    line-height:1;
  }
  .reason-full h3{
    font-family:'Playfair Display', serif;
    font-weight:500;
    font-size:28px;
    color:var(--charcoal);
    line-height:1.25;
    margin-bottom:18px;
    max-width:640px;
  }
  .reason-full p{
    font-size:16px;
    line-height:1.8;
    color:var(--slate);
    max-width:640px;
    font-weight:300;
  }

  /* ---------- forms ---------- */
  .form-panel{
    background:var(--ivory);
    border:1px solid rgba(59,63,70,0.14);
    padding:56px;
  }
  .form-panel.on-dark{
    background:transparent;
    border:1px solid rgba(212,185,122,0.22);
  }
  .form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
  .form-grid .field.full{ grid-column:1 / -1; }

  .field{ display:flex; flex-direction:column; gap:8px; }
  .field label{
    font-size:11px;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--deep-gold);
  }
  .form-panel.on-dark .field label{ color:var(--gold); }
  .field .hint{
    font-size:12px;
    color:var(--slate);
    font-weight:300;
    margin-top:2px;
  }
  .form-panel.on-dark .field .hint{ color:#9A968C; }

  .field input[type="text"],
  .field input[type="email"],
  .field input[type="tel"],
  .field input[type="url"],
  .field select,
  .field textarea{
    height:52px;
    background:transparent;
    border:1px solid rgba(59,63,70,0.3);
    color:var(--charcoal);
    font-family:'Inter', sans-serif;
    font-size:14px;
    padding:0 16px;
    border-radius:0;
    width:100%;
  }
  .form-panel.on-dark .field input[type="text"],
  .form-panel.on-dark .field input[type="email"],
  .form-panel.on-dark .field input[type="tel"],
  .form-panel.on-dark .field input[type="url"],
  .form-panel.on-dark .field select,
  .form-panel.on-dark .field textarea{
    border-color:rgba(212,185,122,0.3);
    color:var(--ivory);
  }
  .field textarea{
    height:auto;
    min-height:140px;
    padding:14px 16px;
    resize:vertical;
    line-height:1.6;
  }
  .field input::placeholder, .field textarea::placeholder{ color:#9A968C; }
  .field input:focus, .field select:focus, .field textarea:focus{
    outline:none;
    border-color:var(--gold);
  }
  .field select{ cursor:pointer; }

  .checkbox-field{
    display:flex;
    align-items:flex-start;
    gap:12px;
  }
  .checkbox-field input[type="checkbox"]{
    -webkit-appearance:none;
    appearance:none;
    width:18px;
    height:18px;
    border:1px solid var(--deep-gold);
    background:transparent;
    flex-shrink:0;
    margin-top:2px;
    cursor:pointer;
    position:relative;
  }
  .checkbox-field input[type="checkbox"]:checked{ background:var(--gold); }
  .checkbox-field input[type="checkbox"]:checked::after{
    content:"";
    position:absolute;
    left:5px; top:1px;
    width:5px; height:10px;
    border:solid var(--charcoal);
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
  }
  .checkbox-field label{
    font-size:13px;
    line-height:1.65;
    color:var(--slate);
    text-transform:none;
    letter-spacing:normal;
    font-weight:400;
  }
  .form-panel.on-dark .checkbox-field label{ color:#C9C6BE; }

  .toggle-row{ display:flex; gap:12px; flex-wrap:wrap; }
  .toggle-chip{
    position:relative;
  }
  .toggle-chip input{
    position:absolute;
    opacity:0;
    width:100%;
    height:100%;
    cursor:pointer;
    margin:0;
  }
  .toggle-chip span{
    display:inline-flex;
    align-items:center;
    padding:10px 20px;
    border:1px solid rgba(59,63,70,0.3);
    font-size:12px;
    letter-spacing:.06em;
    color:var(--slate);
    transition:border-color .2s ease, background .2s ease, color .2s ease;
  }
  .toggle-chip input:checked + span{
    border-color:var(--gold);
    background:rgba(212,185,122,0.12);
    color:var(--charcoal);
  }
  .form-panel.on-dark .toggle-chip span{
    border-color:rgba(212,185,122,0.3);
    color:#C9C6BE;
  }
  .form-panel.on-dark .toggle-chip input:checked + span{
    color:var(--ivory);
  }

  .form-submit-row{
    margin-top:36px;
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
  }

  .form-confirmation{
    display:none;
    text-align:center;
    padding:60px 40px;
  }
  .form-confirmation.is-visible{ display:block; }
  .form-confirmation h3{
    font-family:'Playfair Display', serif;
    font-size:30px;
    color:var(--charcoal);
    margin-bottom:16px;
  }
  .form-confirmation p{
    font-size:15px;
    color:var(--slate);
    max-width:480px;
    margin:0 auto 12px;
    line-height:1.7;
  }

  /* ---------- cards (Join page ways to participate) ---------- */
  .card-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:rgba(59,63,70,0.14);
    border:1px solid rgba(59,63,70,0.14);
  }
  .card{
    background:var(--ivory);
    padding:36px 30px;
  }
  .card h3{
    font-family:'Playfair Display', serif;
    font-size:20px;
    color:var(--charcoal);
    margin-bottom:10px;
  }
  .card p{
    font-size:14px;
    line-height:1.7;
    color:var(--slate);
    font-weight:300;
  }

  .contact-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:1px;
    background:rgba(59,63,70,0.14);
    border:1px solid rgba(59,63,70,0.14);
    margin-bottom:70px;
  }
  .contact-card{
    background:var(--ivory);
    padding:36px 30px;
  }
  .contact-card .label{
    font-size:11px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--deep-gold);
    margin-bottom:14px;
  }
  .contact-card a.email{
    font-family:'Playfair Display', serif;
    font-size:19px;
    color:var(--charcoal);
    display:block;
    margin-bottom:18px;
    word-break:break-word;
  }
  .contact-card ul{ list-style:none; }
  .contact-card ul li{
    font-size:13px;
    color:var(--slate);
    padding:5px 0;
  }

  /* ---------- FAQ accordion (native <details>) ---------- */
  .faq-item{
    border-bottom:1px solid rgba(59,63,70,0.14);
  }
  .faq-item:first-child{ border-top:1px solid rgba(59,63,70,0.14); }
  .faq-item summary{
    list-style:none;
    cursor:pointer;
    padding:28px 0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-family:'Playfair Display', serif;
    font-size:19px;
    color:var(--charcoal);
  }
  .faq-item summary::-webkit-details-marker{ display:none; }
  .faq-item summary .icon{
    flex-shrink:0;
    width:22px;
    height:22px;
    position:relative;
  }
  .faq-item summary .icon::before,
  .faq-item summary .icon::after{
    content:"";
    position:absolute;
    background:var(--deep-gold);
    transition:transform .25s ease;
  }
  .faq-item summary .icon::before{ left:0; top:50%; width:100%; height:1px; transform:translateY(-50%); }
  .faq-item summary .icon::after{ top:0; left:50%; width:1px; height:100%; transform:translateX(-50%); }
  .faq-item[open] summary .icon::after{ transform:translateX(-50%) rotate(90deg); opacity:0; }
  .faq-item .faq-answer{
    padding:0 0 30px;
    font-size:15px;
    line-height:1.8;
    color:var(--slate);
    max-width:720px;
    font-weight:300;
  }

  /* ---------- legal pages ---------- */
  .legal-page h2{
    font-family:'Playfair Display', serif;
    font-size:26px;
    color:var(--charcoal);
    margin:44px 0 16px;
  }
  .legal-page h2:first-child{ margin-top:0; }
  .legal-page .updated{
    font-size:12px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--deep-gold);
    margin-bottom:36px;
    display:block;
  }
  .legal-note{
    margin-top:60px;
    padding:24px 28px;
    border:1px solid rgba(181,143,70,0.35);
    background:rgba(212,185,122,0.06);
    font-size:13px;
    line-height:1.7;
    color:var(--slate);
  }

  /* ---------- role summary tag list ---------- */
  .tag-row{ display:flex; flex-wrap:wrap; gap:10px; margin:20px 0; }
  .tag-row span{
    font-size:12px;
    letter-spacing:.06em;
    color:var(--slate);
    border:1px solid rgba(59,63,70,0.25);
    padding:8px 16px;
  }

  /* ================================================================
     RESPONSIVE — tablet and mobile
     ================================================================ */

  @media (max-width: 1080px){
    .container{ padding:0 32px; }
    .hero-left{ padding:0 40px; }
    .hero h1{ font-size:60px; }
    .card-grid, .contact-grid{ grid-template-columns:repeat(2, 1fr); }
  }

  @media (max-width: 968px){
    .header-actions .btn{ padding:11px 18px; font-size:11px; }

    .hero{ grid-template-columns:1fr; min-height:auto; }
    .hero-left{ padding:120px 32px 60px; }
    .hero h1{ font-size:48px; max-width:100%; }
    .hero .kicker, .hero p.body{ max-width:100%; }
    .hero-right{ height:420px; }
    .hero-scroll{ display:none; }

    .letter-grid, .reasons-head, .founder-grid{
      grid-template-columns:1fr;
      gap:36px;
    }
    .letter-grid > div:first-child{ order:1; }
    .numeral-mark{ font-size:320px; right:-40px; opacity:.6; }

    .asking-grid{ grid-template-columns:1fr; gap:48px; }
    .asking-grid .divider{ display:none; }

    .reason-full{ grid-template-columns:1fr; gap:14px; }
    .reason-row{ grid-template-columns:70px 1fr; }

    .form-grid{ grid-template-columns:1fr; }
    .card-grid, .contact-grid{ grid-template-columns:1fr; }
    .form-panel{ padding:36px 24px; }

    .signup-form{ grid-template-columns:1fr; }
    .signup-form .btn{ height:52px; }

    .footer-top{ grid-template-columns:1fr; gap:44px; text-align:center; }
    .footer-logo{ justify-content:center; }
    .footer-contact{ align-items:center; text-align:center; }
    footer nav.footer-nav{ align-items:center; }
    .footer-mid{ flex-direction:column; gap:24px; text-align:center; }
    .legal-links{ justify-content:center; }

    .page-hero{ padding:150px 0 80px; }
    .page-hero h1{ font-size:38px; }
  }

  @media (max-width: 600px){
    .container, .container-narrow{ padding:0 22px; }
    header{ padding:0 8px; }
    .logo-text .name{ font-size:12px; }
    .hero-left{ padding:110px 22px 48px; }
    .hero h1{ font-size:38px; }
    .hero-buttons{ flex-direction:column; align-items:stretch; }
    .hero-buttons .btn{ text-align:center; }

    .section-ivory, .section-stone, .section-black{ padding:90px 0; }
    .poster{ padding:100px 0; }
    .poster h2{ font-size:32px; }
    .global h2, .founder-grid h2, .letter-grid h2, .reasons-head h2{ font-size:30px; }

    .reason-row{ grid-template-columns:1fr; gap:8px; padding:22px 0; }
    .reason-full{ padding:36px 0; }
    .reason-full .num{ font-size:38px; }
    .reason-full h3{ font-size:22px; }

    .btn{ padding:14px 24px; font-size:11px; }
    .header-actions .btn{ padding:9px 14px; font-size:10px; }

    .page-hero h1{ font-size:30px; }
    .page-hero .subhead{ font-size:17px; }

    .card-grid, .contact-grid{ display:block; background:none; border:none; }
    .card, .contact-card{ border:1px solid rgba(59,63,70,0.14); margin-bottom:1px; }

    .numeral-mark{ display:none; }
  }

  /* ---------- honeypot + form error ---------- */
  .hp-field{
    position:absolute;
    left:-9999px;
    top:-9999px;
    width:1px;
    height:1px;
    overflow:hidden;
  }
  .form-error{
    display:none;
    margin-top:16px;
    font-size:13px;
    color:#B5544A;
  }

/* ================================================================
   MATERIAL 3 REFINEMENT — full-bleed hero, tonal surfaces and motion
   ================================================================ */
:root{
  --md-primary:#D4B97A;
  --md-on-primary:#241C0B;
  --md-primary-container:#3B311C;
  --md-on-primary-container:#F4E2AE;
  --md-surface:#F7F4EE;
  --md-surface-container:#EFEBE4;
  --md-surface-container-high:#E7E2DA;
  --md-on-surface:#1D2126;
  --md-outline:rgba(59,63,70,.28);
  --md-outline-dark:rgba(233,217,166,.26);
  --md-radius-sm:12px;
  --md-radius-md:20px;
  --md-radius-lg:28px;
  --md-radius-xl:36px;
  --md-radius-full:999px;
  --md-elevation-1:0 1px 2px rgba(15,16,18,.12),0 1px 3px 1px rgba(15,16,18,.06);
  --md-elevation-2:0 2px 6px rgba(15,16,18,.16),0 6px 18px rgba(15,16,18,.08);
  --header-height:80px;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-height) + 20px);
}
body{
  font-family:'Roboto','Inter',sans-serif;
  color:var(--md-on-surface);
  line-height:1.5;
}
body.nav-open{ overflow:hidden; }
button,input,select,textarea{ font:inherit; }

.skip-link{
  position:fixed;
  top:12px;
  left:12px;
  z-index:1000;
  padding:12px 18px;
  border-radius:var(--md-radius-full);
  background:var(--md-primary);
  color:var(--md-on-primary);
  font-weight:600;
  transform:translateY(-160%);
  transition:transform .2s ease;
}
.skip-link:focus{ transform:translateY(0); }

:where(a,button,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--pale-gold);
  outline-offset:3px;
}

.container{ max-width:1320px; }

.btn{
  min-height:48px;
  padding:0 26px;
  border-radius:var(--md-radius-full);
  font-family:'Roboto','Inter',sans-serif;
  font-size:14px;
  font-weight:600;
  letter-spacing:.02em;
  text-transform:none;
  box-shadow:none;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.btn:hover{
  transform:translateY(-1px);
  box-shadow:var(--md-elevation-1);
}
.btn:active{ transform:translateY(0); box-shadow:none; }
.btn-primary{ color:var(--md-on-primary); }
.btn-outline-dark,.btn-outline-light{ border-width:1px; }

/* App bar */
header{
  height:var(--header-height);
  background:rgba(15,16,18,.92);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  backdrop-filter:blur(18px) saturate(130%);
  border-bottom:1px solid rgba(233,217,166,.12);
}
header.is-scrolled{ box-shadow:0 4px 18px rgba(0,0,0,.2); }
.header-inner{ gap:24px; }
.logo{ gap:12px; flex-shrink:0; }
nav.main-nav{ gap:24px; }
nav.main-nav a{
  padding:10px 4px;
  font-size:14px;
  border-radius:8px;
}
.header-actions{ gap:10px; }
.header-actions .btn{ min-height:42px; padding:0 19px; font-size:13px; }
.nav-toggle{
  width:48px;
  height:48px;
  border-radius:var(--md-radius-full);
  transition:background-color .2s ease;
}
.nav-toggle:hover{ background:rgba(212,185,122,.1); }

/* Home hero: the photograph now fills the complete hero canvas. */
.hero{
  display:block;
  min-height:calc(100svh - var(--header-height));
  background:var(--black);
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,9,10,.94) 0%,rgba(8,9,10,.82) 34%,rgba(8,9,10,.42) 58%,rgba(8,9,10,.16) 76%,rgba(8,9,10,.3) 100%),
    linear-gradient(0deg,rgba(8,9,10,.58) 0%,transparent 36%,rgba(8,9,10,.18) 100%);
}
.hero-left{
  position:relative;
  z-index:2;
  width:100%;
  min-height:inherit;
  padding:clamp(42px,7vh,80px) 0;
  display:flex;
  justify-content:center;
}
.hero-left .container.hero-content{
  width:100%;
  max-width:1320px;
  margin:auto;
  padding-inline:40px;
}
.hero-panel{
  width:min(650px,56vw);
  padding:clamp(30px,3.4vw,48px);
  border:1px solid rgba(233,217,166,.2);
  border-radius:var(--md-radius-xl);
  background:linear-gradient(145deg,rgba(18,20,22,.78),rgba(18,20,22,.58));
  -webkit-backdrop-filter:blur(14px) saturate(115%);
  backdrop-filter:blur(14px) saturate(115%);
  box-shadow:0 16px 48px rgba(0,0,0,.28);
}
.hero h1{
  margin-top:18px;
  font-size:clamp(54px,5.4vw,78px);
  line-height:.98;
  letter-spacing:-.035em;
}
.hero .kicker{ margin-top:22px; font-size:clamp(18px,1.6vw,22px); }
.hero p.body{ margin-top:14px; max-width:520px; line-height:1.65; }
.hero .hero-belief{ margin-top:6px; }
.hero .hero-belief strong{ color:var(--ivory); font-weight:500; }
.hero-buttons{ margin-top:26px; flex-wrap:wrap; }
.hero-disclaimer{
  margin-top:24px;
  max-width:520px;
  color:rgba(247,244,238,.58);
  font-size:11px;
  line-height:1.55;
}
.hero-right{
  position:absolute;
  inset:0;
  z-index:0;
  min-height:0;
}
.hero-right picture,.hero-right img.hero-photo{ width:100%; height:100%; }
.hero-right img.hero-photo{ object-position:center center; }
.hero-right .grain{ z-index:1; }
.hero-scroll{
  left:max(40px,calc((100vw - 1320px)/2 + 40px));
  bottom:24px;
  z-index:3;
}

/* Material surface language across the remaining pages. */
.page-hero{
  padding:clamp(120px,14vw,180px) 0 clamp(78px,8vw,105px);
  border-radius:0 0 var(--md-radius-xl) var(--md-radius-xl);
  box-shadow:0 8px 28px rgba(15,16,18,.12);
}
.page-hero h1{ font-size:clamp(40px,5vw,60px); letter-spacing:-.025em; }

.letter,.reasons,.asking,.founder,
.section-ivory,.section-stone,.section-black{
  padding-top:clamp(96px,10vw,136px);
  padding-bottom:clamp(96px,10vw,136px);
}
.poster,.global{ padding-top:clamp(105px,11vw,150px); padding-bottom:clamp(105px,11vw,150px); }

.card-grid,.contact-grid{
  gap:20px;
  background:transparent;
  border:0;
}
.card,.contact-card{
  border:1px solid rgba(59,63,70,.12);
  border-radius:var(--md-radius-lg);
  box-shadow:var(--md-elevation-1);
  transition:transform .2s ease,box-shadow .2s ease;
}
.card:hover,.contact-card:hover{ transform:translateY(-2px); box-shadow:var(--md-elevation-2); }
.card-wide{ grid-column:1/-1; }

.form-panel{
  border-radius:var(--md-radius-lg);
  background:rgba(247,244,238,.96);
  box-shadow:var(--md-elevation-1);
}
.form-panel.on-dark{ border-radius:var(--md-radius-lg); }
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="url"],
.field select,
.field textarea,
.signup-form input{
  border-radius:var(--md-radius-sm);
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.field input:focus,.field select:focus,.field textarea:focus,.signup-form input:focus{
  box-shadow:0 0 0 3px rgba(212,185,122,.18);
}
.checkbox-field input[type="checkbox"]{ border-radius:4px; }
.toggle-chip span,.tag-row span{ border-radius:var(--md-radius-full); }
.toggle-chip span{ padding:11px 18px; }

.faq-item{
  margin-bottom:12px;
  padding:0 24px;
  border:1px solid rgba(59,63,70,.12) !important;
  border-radius:var(--md-radius-md);
  background:rgba(255,255,255,.36);
  box-shadow:0 1px 2px rgba(15,16,18,.04);
}
.faq-item[open]{ background:rgba(212,185,122,.08); }

.signup-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:860px;
  gap:14px;
}
.signup-form .btn{
  grid-column:1/-1;
  justify-self:center;
  min-width:250px;
  margin-top:8px;
}

.footer-nav-inline{
  flex-direction:row !important;
  justify-content:center;
  flex-wrap:wrap;
  gap:14px 24px !important;
}
.footer-nav-inline a{ padding:6px 0; }
.social-icons a{ transition:background-color .2s ease,transform .2s ease; }
.social-icons a:hover{ background:rgba(212,185,122,.1); transform:translateY(-1px); }

.submission-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
}
.submission-guidelines{
  margin-top:34px !important;
  columns:2;
  column-gap:40px;
}

@media (max-width:1120px){
  nav.main-nav{
    position:fixed;
    top:var(--header-height);
    left:0;
    right:0;
    bottom:0;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:24px;
    background:rgba(29,33,38,.98);
    -webkit-backdrop-filter:blur(20px);
    backdrop-filter:blur(20px);
    transform:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease,visibility 0s linear .22s;
    overflow-y:auto;
    z-index:99;
  }
  nav.main-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s;
  }
  nav.main-nav a{
    padding:16px 18px;
    border:0;
    border-radius:var(--md-radius-md);
    font-size:17px;
  }
  nav.main-nav a:hover,nav.main-nav a.is-active{ background:rgba(212,185,122,.1); }
  nav.main-nav a::after{ display:none; }
  .nav-toggle{ display:flex; }
  .header-actions .btn-outline-dark{ display:none; }
  .hero-panel{ width:min(650px,66vw); }
}

@media (max-width:760px){
  :root{ --header-height:72px; }
  .container,.container-narrow{ padding-inline:22px; }
  header{ padding:0; }
  .logo-text .cry{ display:none; }
  .header-actions > .btn-primary{ display:none; }
  nav.main-nav{ padding:18px; }

  .hero{ min-height:calc(100svh - var(--header-height)); }
  .hero::before{
    background:
      linear-gradient(0deg,rgba(8,9,10,.96) 0%,rgba(8,9,10,.84) 62%,rgba(8,9,10,.22) 100%),
      linear-gradient(90deg,rgba(8,9,10,.52),rgba(8,9,10,.08));
  }
  .hero-left{ padding:32px 0; align-items:flex-end; }
  .hero-left .container.hero-content{ padding-inline:18px; }
  .hero-panel{
    width:100%;
    padding:18px 7px 20px;
    border:0;
    border-radius:var(--md-radius-lg);
    background:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
    box-shadow:none;
  }
  .hero h1{ margin-top:14px; font-size:clamp(39px,12.5vw,54px); }
  .hero .kicker{ margin-top:16px; }
  .hero p.body{ font-size:15px; }
  .hero-buttons{ display:grid; grid-template-columns:1fr; gap:10px; margin-top:20px; }
  .hero-buttons .btn{ width:100%; }
  .hero-disclaimer{ margin-top:18px; font-size:10px; }
  .hero-right img.hero-photo{ object-position:70% center; }
  .hero-scroll{ display:none; }

  .page-hero{ border-radius:0 0 var(--md-radius-lg) var(--md-radius-lg); }
  .form-panel{ padding:30px 22px; }
  .submission-options{ grid-template-columns:1fr; gap:32px; }
  .submission-guidelines{ columns:1; }
  .signup-form{ grid-template-columns:1fr; }
  .signup-form .btn{ grid-column:auto; width:100%; min-width:0; }
}

@media (max-height:760px) and (min-width:761px){
  .hero-left{ padding:28px 0; }
  .hero-panel{ padding:28px 34px; }
  .hero h1{ font-size:54px; }
  .hero .kicker{ margin-top:14px; }
  .hero p.body{ margin-top:8px; line-height:1.5; }
  .hero-buttons{ margin-top:16px; }
  .hero-disclaimer{ margin-top:14px; }
  .hero-scroll{ display:none; }
}
/* Ensure legacy mobile image height cannot override the full-bleed canvas. */
.hero-right{ height:auto; }
/* ============================================================
   PHASE 1 COPY / SUBMISSION ALIGNMENT
   ============================================================ */
.reason-copy{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-width:820px;
}
.reason-copy p{
  margin:0;
  color:var(--slate);
  font-size:14px;
  line-height:1.7;
  font-weight:300;
}
.prompt-label{
  margin:24px 0 -10px;
  color:#B7B4AC;
  font-size:12px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.field input[type="file"]{
  width:100%;
  min-height:58px;
  padding:8px;
  border:1px solid rgba(59,63,70,.3);
  border-radius:var(--md-radius-sm);
  background:rgba(255,255,255,.38);
  color:var(--charcoal);
  font-family:'Roboto',sans-serif;
  font-size:13px;
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
.field input[type="file"]::file-selector-button{
  min-height:40px;
  margin-right:14px;
  padding:0 18px;
  border:0;
  border-radius:var(--md-radius-full);
  background:var(--charcoal);
  color:var(--ivory);
  font:500 11px/1 'Roboto',sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  cursor:pointer;
}
.field input[type="file"]:hover{ background:rgba(212,185,122,.08); }
.field input[type="file"]:focus{
  outline:none;
  border-color:var(--gold);
  box-shadow:0 0 0 3px rgba(212,185,122,.18);
}

@media (max-width:600px){
  .reason-copy p{ font-size:13px; }
  .field input[type="file"]::file-selector-button{
    display:block;
    width:100%;
    margin:0 0 8px;
  }
}

/* Decorative numerals must be clipped by their section rather than extending
   the document canvas. */
.section-ivory{ overflow-x:hidden; }

/* Navbar brand: original standalone mark only */
header .logo{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  flex:0 0 auto;
  width:72px;
  height:52px;
  overflow:visible;
  border-radius:16px;
}
header .logo:hover,
header .logo:focus-visible{
  background:rgba(212,185,122,.10);
}
@media (max-width:760px){
  header .logo{
    width:64px;
    height:46px;
  }
}

/* Shared presentation primitives used across page templates. */
.footer-rule{ margin-bottom:36px; }
.legal-hero{ padding:150px 0 70px; }
.legal-hero-title{ font-size:40px; }
.text-link{ color:var(--deep-gold); }
.text-link-underlined{ text-decoration:underline; }
.gold-italic{ color:var(--gold); font-style:italic; }
.campaign-actions{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}
.campaign-actions-spaced{ margin-top:34px; }
.letter-salutation{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:22px;
  color:var(--deep-gold);
  margin-bottom:26px;
}
.letter-closing{
  font-family:'Playfair Display',serif;
  font-style:italic;
  font-size:26px;
  color:var(--deep-gold);
  margin-top:30px;
}
.page-hero-title-spaced{ margin-top:18px; }
.content-section-title{ margin-top:16px; font-size:34px; }
.prose-spaced,.divided-list-spaced{ margin-top:26px; }
.container-flush{ padding:0; }
.reasons-title{ margin-top:14px; }
.poster-supporting-copy,.promise-copy{
  color:#B7B4AC;
  font-weight:300;
  max-width:560px;
  margin:22px auto 0;
  line-height:1.8;
}
.poster-supporting-note{ color:#8B8983; font-size:13px; max-width:480px; margin:18px auto 0; }
.poster-primary-action{ margin-top:34px; }
.poster-publication-note{ color:#6E6C66; font-size:12px; max-width:440px; margin:22px auto 0; line-height:1.7; }
.centered-heading-block{ text-align:center; margin-bottom:60px; }
.body-spaced{ margin-top:22px; }
.body-compact{ margin-top:10px; }
.tag-row-centered{ justify-content:center; }
.button-block-spaced{ margin-top:30px; }
.section-intro-centered{ text-align:center; margin-bottom:50px; }
.join-philosophy-title{ margin-top:16px; font-size:32px; }
.prose-top-24,.divided-list-top-24{ margin-top:24px; }
.checkboxes-spaced{ margin-top:30px; }
.community-rules-title{ margin-top:16px; font-size:28px; }
.submission-option-copy{ margin-top:14px; }
.submission-example{ font-size:13px; color:var(--slate); font-style:italic; margin-top:10px; }
.submission-length{ font-size:12px; color:var(--deep-gold); margin-top:10px; text-transform:uppercase; letter-spacing:.08em; }
.video-suggestion{ font-size:13px; color:var(--slate); margin-top:10px; }
.field-bottom-28{ margin-bottom:28px; }
[data-block="video"]{ display:none; }
.consent-stack{ margin-top:34px; display:flex; flex-direction:column; gap:16px; }
.confirmation-statement{ font-family:'Playfair Display',serif; font-style:italic; color:var(--deep-gold); margin-top:20px; }
.confirmation-action{ margin-top:20px; }
.founder-sign-spaced{ margin-top:34px; }
.centered-dark-section{ text-align:center; }
.promise-title{ margin-top:16px; color:var(--ivory); font-size:36px; }
.promise-prose{ max-width:560px; margin:26px auto 0; color:#B7B4AC; text-align:left; }

/* Original brand SVG. The source file is preserved unchanged; this viewport
   selects only the 7R symbol from the original vertical logo lockup. */
.logo-mark-window{
  position:relative;
  display:block;
  width:58px;
  aspect-ratio:871.640625 / 608.578125;
  overflow:hidden;
  flex:0 0 auto;
}
.logo-mark-window .logo-mark{
  position:absolute;
  display:block;
  width:165.206%;
  height:auto;
  max-width:none;
  left:-32.606%;
  top:-48.657%;
}

header .logo .logo-mark-window{
  width:58px;
}

.footer-logo .logo-mark-window{
  width:58px;
}

@media (max-width:760px){
  header .logo .logo-mark-window{
    width:52px;
  }
}

/* ============================================================
   SERVER-RENDERED MOBILE NAVIGATION
   The menu is an absolute viewport sheet below the sticky app bar. Using
   position: absolute avoids the fixed-position containing block created by
   backdrop-filter on the header, which previously collapsed the menu.
   ============================================================ */
.mobile-nav-actions{ display:none; }
.site-header{ position:sticky; top:0; overflow:visible; z-index:300; }
.header-inner{ min-height:var(--header-height); }

@media (max-width:1120px){
  nav.main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    bottom:auto;
    width:100%;
    height:calc(100dvh - var(--header-height));
    min-height:320px;
    padding:22px max(24px,calc((100vw - 760px)/2));
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    background:rgba(20,22,25,.99);
    border-top:1px solid rgba(233,217,166,.14);
    box-shadow:0 18px 42px rgba(0,0,0,.42);
    -webkit-backdrop-filter:blur(22px) saturate(120%);
    backdrop-filter:blur(22px) saturate(120%);
    overflow-y:auto;
    overscroll-behavior:contain;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s;
    z-index:310;
  }
  nav.main-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
    transition-delay:0s;
  }
  nav.main-nav > a{
    display:flex;
    align-items:center;
    min-height:54px;
    padding:13px 18px;
    border-radius:18px;
    color:var(--ivory);
    font-size:17px;
    font-weight:500;
  }
  nav.main-nav > a:hover,
  nav.main-nav > a:focus-visible,
  nav.main-nav > a.is-active{
    color:var(--pale-gold);
    background:rgba(212,185,122,.12);
  }
  .mobile-nav-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:auto;
    padding-top:24px;
    padding-bottom:max(22px,env(safe-area-inset-bottom));
    border-top:1px solid rgba(233,217,166,.12);
  }
  .mobile-nav-actions .btn{
    width:100%;
    min-height:50px;
    padding-inline:18px;
    text-align:center;
  }
  .nav-toggle{ position:relative; z-index:320; }
}

@media (max-width:760px){
  .site-header,
  .header-inner{ height:var(--header-height); }
  .header-inner{ padding-inline:18px; }
  nav.main-nav{
    padding:16px 18px max(18px,env(safe-area-inset-bottom));
  }
  nav.main-nav > a{
    min-height:52px;
    padding:12px 16px;
    font-size:16px;
  }
  .mobile-nav-actions{
    grid-template-columns:1fr;
    gap:10px;
    padding-top:18px;
  }
}
