/* ============================================================
   THE DUNE® — SHARED CSS
   Design tokens, base styles, nav, footer, common components
   ============================================================ */

:root {
  --slate:#0F172A; --charcoal:#111827; --ivory:#F8F5EE; --sand:#D6C6A5;
  --gold:#C8A96B; --ochre:#8B6F3A; --teal:#0EA5A4; --muted:#6B7280;
  --ok:#3F6E4A; --alert:#A82F2F; --caution:#C28A1F;
  --font-display:'Space Grotesk', system-ui, sans-serif;
  --font-body:'Inter', system-ui, sans-serif;
  --font-mono:'JetBrains Mono', ui-monospace, monospace;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-body);color:var(--charcoal);line-height:1.65;
  background:#fff;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:0;background:none}
img{max-width:100%;height:auto;display:block}

/* Skip link */
.skip{position:absolute;left:-9999px;top:0;background:var(--slate);color:var(--ivory);padding:12px 18px;z-index:1000}
.skip:focus{left:8px;top:8px}

.container{max-width:1200px;margin:0 auto;padding:0 32px}

/* ============================================================
   PREVIEW BANNER  ·  for product-preview pages only
============================================================ */
.preview-banner{
  background:linear-gradient(90deg, rgba(194,138,31,0.12) 0%, rgba(194,138,31,0.06) 100%);
  border-bottom:0.5px solid rgba(194,138,31,0.25);
  padding:10px 0;
}
.preview-banner-inner{
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;
  color:var(--caution);font-weight:500;text-transform:uppercase;
}
.preview-banner-inner i{font-size:14px}

/* ============================================================
   NAV  ·  used on every page
============================================================ */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.94);backdrop-filter:saturate(180%) blur(12px);
  border-bottom:0.5px solid rgba(17,24,39,0.06);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 0;gap:24px;
}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-brand-text{font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:3px;color:var(--slate)}
.nav-menu{display:flex;gap:24px;font-size:13px;color:#374151;font-weight:500;align-items:center}
.nav-menu a{transition:color 0.15s ease}
.nav-menu a:hover{color:var(--gold)}
.nav-menu a.active{color:var(--gold)}
.nav-divider{width:1px;height:14px;background:rgba(17,24,39,0.12)}
.nav-cta{
  background:var(--slate);color:var(--ivory);padding:9px 16px;border-radius:5px;
  font-size:12px;font-weight:500;letter-spacing:0.02em;
  transition:transform 0.15s ease;
}
.nav-cta:hover{transform:translateY(-1px);color:var(--ivory)}
.nav-toggle{
  display:none;width:36px;height:36px;border-radius:5px;
  background:transparent;border:0.5px solid rgba(17,24,39,0.12);
  color:var(--slate);font-size:18px;align-items:center;justify-content:center;
}

/* ============================================================
   PAGE HEADER  ·  used on all interior pages
============================================================ */
.page-header{
  background:var(--slate);color:var(--ivory);
  padding:80px 0 90px;position:relative;overflow:hidden;
}
.page-header::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 18% 32%, rgba(200,169,107,0.1) 0%, transparent 45%),
    radial-gradient(circle at 82% 68%, rgba(14,165,164,0.06) 0%, transparent 45%);
  pointer-events:none;
}
.ph-inner{position:relative;z-index:1;max-width:880px}
.ph-breadcrumb{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;color:var(--gold);
  font-weight:500;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;
}
.ph-breadcrumb::before{content:"";width:24px;height:1px;background:var(--gold)}
.ph-h{
  font-family:var(--font-display);font-size:54px;font-weight:500;
  letter-spacing:-0.022em;line-height:1.05;color:var(--ivory);margin:18px 0 0;
}
.ph-h .gold{color:var(--gold)}
.ph-sub{font-size:16px;color:var(--sand);margin-top:22px;line-height:1.7;max-width:680px}

/* ============================================================
   TYPOGRAPHY · sections
============================================================ */
section{padding:88px 0;border-bottom:0.5px solid rgba(17,24,39,0.06);scroll-margin-top:72px}
section.dark{background:var(--slate);color:var(--ivory);border-bottom-color:rgba(248,245,238,0.08)}
section.ivory{background:var(--ivory)}
.sec-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:0.18em;color:var(--gold);font-weight:500;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.sec-eyebrow::before{content:"";width:24px;height:1px;background:var(--gold)}
.sec-h{font-family:var(--font-display);font-size:38px;font-weight:500;color:var(--slate);margin:18px 0 0;letter-spacing:-0.018em;line-height:1.14;max-width:780px}
section.dark .sec-h{color:var(--ivory)}
.sec-h .gold{color:var(--gold)}
.sec-sub{font-size:16px;color:#374151;line-height:1.7;margin-top:18px;max-width:680px}
section.dark .sec-sub{color:var(--sand)}

/* ============================================================
   BUTTONS
============================================================ */
.btn-primary{
  background:var(--gold);color:var(--slate);padding:14px 22px;border-radius:5px;
  font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:7px;
  transition:transform 0.15s ease;
}
.btn-primary:hover{transform:translateY(-1px)}
.btn-secondary{
  background:transparent;color:var(--slate);border:0.5px solid var(--slate);
  padding:13px 22px;border-radius:5px;font-size:13px;font-weight:500;
  display:inline-flex;align-items:center;gap:7px;
  transition:background 0.15s ease, color 0.15s ease;
}
.btn-secondary:hover{background:var(--slate);color:var(--ivory)}
.btn-on-dark{
  background:transparent;color:var(--ivory);border:0.5px solid rgba(248,245,238,0.3);
  padding:13px 22px;border-radius:5px;font-size:13px;font-weight:500;
  display:inline-flex;align-items:center;gap:7px;
  transition:background 0.15s ease;
}
.btn-on-dark:hover{background:rgba(248,245,238,0.06)}

/* ============================================================
   TRUST BADGES  ·  reusable component
============================================================ */
.tbadge{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.08em;font-weight:500;
  padding:5px 10px;border-radius:4px;text-transform:uppercase;
}
.tbadge i{font-size:11px}
.tbadge-verified{background:rgba(14,165,164,0.1);color:var(--teal);border:0.5px solid rgba(14,165,164,0.3)}
.tbadge-docs{background:var(--slate);color:var(--gold)}
.tbadge-escrow{background:var(--gold);color:var(--slate)}
.tbadge-trust{background:var(--ivory);color:var(--slate);border:0.5px solid var(--sand)}
.tbadge-legal{background:rgba(139,111,58,0.1);color:var(--ochre);border:0.5px solid rgba(139,111,58,0.3)}

/* Verification seal — circular for high-value */
.tseal{
  width:64px;height:64px;border-radius:50%;
  background:var(--slate);color:var(--gold);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:2px solid var(--gold);position:relative;
}
.tseal::before{
  content:"";position:absolute;inset:-5px;border-radius:50%;border:0.5px solid rgba(200,169,107,0.3);
}
.tseal-mark{font-family:var(--font-mono);font-size:8px;letter-spacing:0.12em;font-weight:500;text-transform:uppercase}
.tseal-tier{font-family:var(--font-display);font-size:14px;font-weight:500;line-height:1;margin-top:2px}

/* ============================================================
   FLAG PILLS
============================================================ */
.flag-pill{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.08em;color:var(--ivory);
  padding:6px 10px;border-radius:4px;
  background:rgba(248,245,238,0.05);border:0.5px solid rgba(248,245,238,0.12);
}
.flag-pill .em{font-size:14px;line-height:1}
.flag-pill.live{background:rgba(200,169,107,0.12);border-color:rgba(200,169,107,0.35);color:var(--gold)}
.flag-pill-light{
  background:#fff;border:0.5px solid rgba(17,24,39,0.1);color:var(--charcoal);
}
.flag-pill-light.live{background:rgba(200,169,107,0.08);border-color:rgba(200,169,107,0.4);color:var(--ochre)}

/* ============================================================
   FOOTER
============================================================ */
.foot{
  background:var(--slate);color:var(--sand);padding:60px 0 36px;
  border-top:0.5px solid rgba(248,245,238,0.08);
}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:36px}
.foot-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.foot-brand-text{font-family:var(--font-display);font-size:14px;font-weight:500;letter-spacing:3px;color:var(--ivory)}
.foot-tagline{font-size:13px;color:var(--sand);max-width:280px;line-height:1.7}
.foot-col-h{font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;color:var(--gold);font-weight:500;text-transform:uppercase;margin-bottom:18px}
.foot-link{display:block;font-size:13px;color:var(--sand);padding:4px 0;transition:color 0.15s ease}
.foot-link:hover{color:var(--ivory)}
.foot-bottom{
  margin-top:48px;padding-top:24px;border-top:0.5px solid rgba(248,245,238,0.08);
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px;
}
.foot-legal{font-family:var(--font-mono);font-size:10px;letter-spacing:0.04em;color:var(--muted);line-height:1.7}
.foot-social{display:flex;gap:14px;align-items:center}
.foot-social a{
  width:32px;height:32px;border-radius:50%;
  background:rgba(248,245,238,0.06);color:var(--sand);
  display:flex;align-items:center;justify-content:center;font-size:14px;
  transition:background 0.15s ease, color 0.15s ease;
}
.foot-social a:hover{background:var(--gold);color:var(--slate)}

/* ============================================================
   CTA STRIP  ·  bottom of every page
============================================================ */
.cta-strip{padding:88px 0}
.cta-card{
  background:var(--slate);color:var(--ivory);border-radius:12px;
  padding:56px 56px;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;
  position:relative;overflow:hidden;
}
.cta-card::before{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 15% 30%, rgba(200,169,107,0.12) 0%, transparent 50%),
    radial-gradient(circle at 85% 70%, rgba(14,165,164,0.08) 0%, transparent 50%);
}
.cta-body{position:relative;z-index:1}
.cta-h{font-family:var(--font-display);font-size:34px;font-weight:500;color:var(--ivory);letter-spacing:-0.018em;line-height:1.12}
.cta-h .gold{color:var(--gold)}
.cta-sub{font-size:15px;color:var(--sand);margin-top:16px;line-height:1.7;max-width:520px}
.cta-form-side{position:relative;z-index:1}

/* Waitlist form (reused across pages) */
.wl-form{
  background:rgba(248,245,238,0.06);
  border:0.5px solid rgba(248,245,238,0.15);border-radius:8px;
  padding:6px;display:flex;gap:6px;
}
.wl-input{
  flex:1;background:transparent;border:0;outline:0;
  padding:14px 16px;font-family:var(--font-body);font-size:14px;color:var(--ivory);
}
.wl-input::placeholder{color:var(--sand);opacity:0.7}
.wl-submit{
  background:var(--gold);color:var(--slate);padding:14px 22px;border-radius:5px;
  font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:7px;
  transition:transform 0.15s ease;
}
.wl-submit:hover{transform:translateY(-1px)}
.wl-submit i{font-size:14px}
.wl-disclaimer{
  margin-top:14px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.04em;
  color:var(--sand);opacity:0.7;
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 968px) {
  .container{padding:0 24px}
  .nav-menu{display:none}
  .nav-toggle{display:inline-flex}
  .nav-menu.open{
    display:flex;flex-direction:column;gap:14px;align-items:flex-start;
    position:absolute;top:100%;left:0;right:0;
    background:#fff;border-bottom:0.5px solid rgba(17,24,39,0.08);
    padding:18px 24px;
  }
  .page-header{padding:56px 0 64px}
  .ph-h{font-size:36px}
  section{padding:56px 0}
  .sec-h{font-size:28px}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .cta-card{grid-template-columns:1fr;padding:36px 28px;gap:28px}
  .cta-h{font-size:26px}
  .wl-form{flex-direction:column;background:transparent;border:0;padding:0;gap:10px}
  .wl-input{background:rgba(248,245,238,0.06);border:0.5px solid rgba(248,245,238,0.15);border-radius:6px;padding:14px 16px}
  .wl-submit{justify-content:center;width:100%}
}
@media (max-width: 540px){
  .ph-h{font-size:30px}
  .sec-h{font-size:24px}
  .foot-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion: reduce) {
  *{transition:none !important;animation:none !important}
  html{scroll-behavior:auto}
}
