:root{
  --charcoal:#222223;
  --lavender:#BCB4FF;
  --lavender-deep:#8F84F0;
  --matcha:#8DB84A;
  --matcha-deep:#6E9536;
  --paper:#FAF9F6;
  --line:rgba(34,34,35,0.1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--charcoal);
  font-family:'Space Grotesk', sans-serif;
}
img,svg{max-width:100%;display:block;}

/* ticker */
.ticker-wrap{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--charcoal);overflow:hidden;padding:10px 0;}
.ticker{display:flex;gap:48px;white-space:nowrap;animation:locale-scroll 18s linear infinite;font-size:13px;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--paper);}
.ticker span{opacity:0.6;}
.ticker b{color:var(--matcha);opacity:1;}
@keyframes locale-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* nav */
.site-nav{position:sticky;top:0;z-index:30;background:rgba(250,249,246,0.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.site-nav .inner{max-width:1180px;margin:0 auto;padding:0 56px;height:76px;display:flex;align-items:center;justify-content:space-between;}
.wordmark{font-family:'Fraunces', serif;font-weight:600;font-size:22px;color:var(--charcoal);text-decoration:none;}
.wordmark .a{color:var(--matcha-deep);}
.wordmark .e{color:var(--lavender-deep);}
.nav-links{display:flex;gap:32px;list-style:none;margin:0;padding:0;}
.nav-links a{color:rgba(34,34,35,0.7);text-decoration:none;font-size:14.5px;font-weight:500;}
.nav-links a:hover{color:var(--charcoal);}
.nav-cta{height:44px;padding:0 22px;border-radius:10px;background:var(--charcoal);color:white;display:inline-flex;align-items:center;font-weight:600;font-size:14px;text-decoration:none;transition:background 0.2s, transform 0.15s;}
.nav-cta:hover{background:var(--matcha-deep);transform:translateY(-1px);}
@media (max-width:900px){
  .site-nav .inner{padding:0 24px;}
  .nav-links{display:none;}
}

/* footer */
.site-footer{position:relative;z-index:2;border-top:1px solid var(--line);padding:48px 56px;}
.site-footer .inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;}
.footer-links{display:flex;gap:24px;list-style:none;margin:0;padding:0;}
.footer-links a{color:rgba(34,34,35,0.6);text-decoration:none;font-size:14px;}
.footer-links a:hover{color:var(--charcoal);}
.footer-copy{color:rgba(34,34,35,0.45);font-size:13px;}
@media (max-width:900px){
  .site-footer{padding:40px 24px;}
}

/* shared buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 26px;border-radius:12px;border:none;font-family:'Space Grotesk', sans-serif;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;transition:transform 0.15s, background 0.2s;}
.btn-dark{background:var(--charcoal);color:white;}
.btn-dark:hover{background:var(--matcha-deep);transform:translateY(-1px);}
.btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--charcoal);}
.btn-ghost:hover{border-color:var(--charcoal);}
.field-input{height:52px;border-radius:12px;border:1.5px solid var(--line);background:white;font-family:'Space Grotesk', sans-serif;font-size:15px;padding:0 18px;outline:none;width:100%;transition:border-color 0.2s;}
.field-input:focus{border-color:var(--lavender-deep);}
textarea.field-input{height:auto;padding:14px 18px;resize:vertical;}
.form-error{color:#c0392b;font-size:13px;margin-top:10px;}

/* legal / simple content pages */
.legal-page{max-width:720px;margin:0 auto;padding:64px 24px 100px;}
.legal-page .eyebrow{font-style:italic;font-size:15px;color:var(--lavender-deep);margin:0 0 14px;}
.legal-page h1{font-family:'Fraunces', serif;font-size:clamp(32px,4vw,46px);font-weight:600;margin:0 0 8px;}
.legal-page .updated{color:rgba(34,34,35,0.45);font-size:13px;margin:0 0 48px;}
.legal-page section{margin-bottom:32px;}
.legal-page h2{font-family:'Fraunces', serif;font-size:19px;font-weight:600;color:var(--lavender-deep);margin:0 0 12px;}
.legal-page p{font-size:15px;line-height:1.8;color:rgba(34,34,35,0.75);margin:0 0 12px;}
.legal-page ul{font-size:15px;line-height:1.9;color:rgba(34,34,35,0.75);padding-left:20px;margin:8px 0 0;}
.legal-page a{color:var(--lavender-deep);}
