/* Backbone Studios - website UI kit layout styles.
   Consumes tokens from colors_and_type.css */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper-50);color:var(--fg2);font-family:var(--font-body)}
#app{overflow-x:hidden}

.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 32px}
.section{padding:104px 0}
.section-sm{padding:72px 0}

/* ---------- buttons ---------- */
.btn{font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);line-height:1;
  padding:14px 24px;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;
  transition:transform .12s cubic-bezier(.2,.6,.2,1),background .18s,color .18s,box-shadow .18s;white-space:nowrap}
.btn:active{transform:scale(.985)}
.btn-primary{background:var(--brand-navy);color:#fff}
.btn-primary:hover{background:var(--ink-700)}
.btn-gold{background:var(--gold-400);color:var(--brand-navy)}
.btn-gold:hover{background:var(--gold-200)}
.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--fg1)}
.btn-ghost:hover{border-color:var(--ink-700);background:rgba(13,30,47,.03)}
.on-navy .btn-ghost{color:#fff;border-color:var(--border-strong)}
.on-navy .btn-ghost:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4)}
.btn-link{background:none;border:none;padding:0;color:var(--accent-ink);font-weight:600;
  cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm);font-family:var(--font-body)}
.btn-link:hover{color:var(--accent-hover);gap:9px}

/* ---------- header ---------- */
.hdr{position:sticky;top:0;z-index:50;transition:background .25s,box-shadow .25s,backdrop-filter .25s}
.hdr-inner{display:flex;align-items:center;justify-content:space-between;height:76px}
.hdr-logo{height:26px;width:auto;display:block}
.hdr.scrolled{background:rgba(13,30,47,.88);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.hdr-nav{display:flex;align-items:center;gap:34px}
.hdr-nav a{font-size:var(--text-sm);font-weight:500;color:#c8d4df;letter-spacing:.01em;text-decoration:none;transition:color .15s}
.hdr-nav a:hover{color:var(--gold-300)}
.hdr-menu-btn{display:none;background:none;border:none;cursor:pointer;color:#fff}

/* mobile drawer */
.drawer{position:fixed;inset:0;z-index:60;background:var(--brand-navy);display:flex;flex-direction:column;
  padding:28px 32px;gap:8px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.25s}
.drawer.open{transform:none;opacity:1;pointer-events:auto}
.drawer a{color:#fff;font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);
  padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1);text-decoration:none}
.drawer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.drawer-top img{height:24px}

/* ---------- hero ---------- */
.hero{padding-block:118px 96px}
.hero h1{font-size:clamp(2.4rem,4.6vw,3.65rem);max-width:14ch;margin:18px 0 0}
.hero .lead{margin:26px 0 0;max-width:60ch}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.hero-reassure{margin-top:22px;font-size:var(--text-sm);color:var(--fg-muted)}

/* ---------- generic section head ---------- */
.sec-head{max-width:62ch}
.sec-head h2{margin:14px 0 0}
.sec-head .lead{margin:18px 0 0}

/* ---------- cta band ---------- */
.cta-band{text-align:center;padding-block:104px}
.cta-band h2{margin:0 auto;max-width:18ch}
.cta-band p{margin:20px auto 0;max-width:56ch;font-size:var(--text-md);color:var(--fg2)}
.cta-band .row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.cta-rule{width:46px;margin:0 auto 4px}

/* ---------- footer ---------- */
.ftr{padding:56px 0 48px}
.ftr-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:32px;flex-wrap:wrap}
.ftr img{height:24px;margin-bottom:12px}
.ftr .tag{font-size:var(--text-sm);color:var(--fg3)}
.ftr .meta{font-size:var(--text-xs);color:var(--fg-muted)}
.ftr a{color:var(--gold-300)}

.eyebrow{display:inline-block}

/* ---------- responsive ---------- */
@media(max-width:880px){
  .hdr-nav{display:none}
  .hdr-menu-btn{display:inline-flex}
  .section{padding:72px 0}
}
