/* ============================================================
   PROXY age verification — shared stylesheet (2026-10-25)
   One implementation for every page. styles.css imports this file; pages that do not
   load styles.css (PROXY IQ) link it directly. The gate block below is the approved
   v6.1 design, moved here unchanged. The scoped tokens and button rules at the end
   repeat the site values so the gate renders identically without styles.css.
   ============================================================ */
/* stand-alone support: the same values as styles.css, scoped to the gate */
.agegate{--navy-900:#141B33;--navy:#1E2749;--gold:#C9962E;--gold-text:#8F6B1C;--cream:#FBF9F4;--ink:#3A3F52;--white:#FFFFFF;--r-sm:4px;--ease:cubic-bezier(.22,1,.36,1);--t-std:240ms;--shadow-hover:0 8px 24px rgba(30,39,73,.08);--font:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;--s5:24px;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--ink);text-align:left}
.agegate button,.agegate input{font:inherit;margin:0;text-transform:none;letter-spacing:normal}
.agegate .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font);font-size:15px;font-weight:600;border-radius:var(--r-sm);cursor:pointer;text-decoration:none;transition:all var(--t-std) var(--ease);border:1px solid transparent;padding:13px 28px;line-height:1}
.agegate .btn-primary{background:var(--navy);color:var(--white)}
.agegate .btn-primary:hover{background:var(--navy-900);transform:translateY(-1px);box-shadow:var(--shadow-hover)}
.agegate .btn-secondary{background:transparent;color:var(--navy);border-color:var(--navy)}
.agegate .btn-secondary:hover{background:rgba(30,39,73,.06)}

/* ============================================================
   AGE VERIFICATION — 21+ gate (v7 · editorial refinement, 40 / 60 split, 2026-10-26)
   Deep-navy brand panel left, two fifths (monogram, wordmark, tagline as one group), cream
   content panel right, three fifths (eyebrow, headline, one sentence, two actions with the
   primary dominant, remember). No watermark, no divider. Phones: a compact navy band
   above the content with the question and the primary action in the first screen.
   Same roles, persistence and rejection view as before.
   ============================================================ */
.agegate{position:fixed;inset:0;z-index:2000;display:grid;grid-template-columns:2fr 3fr;background:var(--cream);opacity:0;transition:opacity 360ms var(--ease);overflow:auto}
.agegate.on{opacity:1}
.agegate.leaving{opacity:0;pointer-events:none}
/* brand panel */
.agegate-lid{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:56px 32px;
  background:radial-gradient(ellipse 90% 70% at 50% 42%,#1C2548 0%,var(--navy-900) 75%);color:var(--gold)}
.agegate-lid::after{content:'';position:absolute;top:0;bottom:0;right:0;width:1px;background:linear-gradient(180deg,transparent,rgba(201,150,46,.6) 30%,rgba(201,150,46,.6) 70%,transparent)}
.agegate-px{display:block;width:clamp(112px,11.5vw,164px);height:auto;margin:0 0 30px}
.agegate-wm{display:block;font-size:clamp(15px,1.35vw,20px);font-weight:600;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);padding-left:.34em}
.agegate-tag{font-size:13.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);line-height:2;margin:26px 0 0;padding-left:.24em}
/* content panel */
.agegate-panel{position:relative;display:flex;align-items:center;justify-content:center;padding:56px clamp(32px,6vw,96px);overflow:hidden}
.agegate-body{position:relative;width:100%;max-width:520px}
.agegate-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--gold-text)}
.agegate-rule{width:48px;height:2px;background:var(--gold);border:0;margin:14px 0 24px}
.agegate h1,.agegate .agegate-heading{color:var(--navy);font-size:clamp(28px,3.4vw,45px);font-weight:800;letter-spacing:-.012em;line-height:1.12;margin-bottom:18px;max-width:16ch;text-wrap:balance;outline:none}
.agegate .agegate-copy{color:var(--ink);font-size:16.5px;line-height:1.65;max-width:44ch;margin:0 0 30px}
.agegate-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.agegate-actions .btn{flex:1 1 160px;min-height:52px;padding:0 24px;justify-content:center;font-size:15.5px;font-weight:700;letter-spacing:.01em;border-radius:var(--r-sm);transition:background-color 200ms var(--ease),transform 200ms var(--ease),box-shadow 200ms var(--ease)}
.agegate-actions .btn-primary{flex:1.4 1 220px}
.agegate .btn-primary{box-shadow:0 10px 26px rgba(30,39,73,.18)}
.agegate .btn-primary:hover{transform:translateY(-1px)}
.agegate .btn-secondary{background:transparent;border-width:1.5px}
.agegate .btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px;box-shadow:0 0 0 6px rgba(201,150,46,.18)}
.agegate-remember{display:inline-flex;gap:12px;align-items:center;color:var(--ink);font-size:15px;line-height:1.3;cursor:pointer;user-select:none}
.agegate-remember input{appearance:none;-webkit-appearance:none;width:22px;height:22px;margin:0;flex:none;border:1.5px solid var(--navy);border-radius:4px;background:#fff;cursor:pointer;display:grid;place-content:center}
.agegate-remember input::before{content:'';width:11px;height:11px;border-radius:2px;background:var(--navy);transform:scale(0);transition:transform 120ms var(--ease)}
.agegate-remember input:checked::before{transform:scale(1)}
.agegate-remember input:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
body.age-locked{overflow:hidden}
/* tablet: narrower split */
@media (max-width:1100px){
  .agegate{grid-template-columns:2fr 3fr}
  .agegate-lid{padding:40px 22px}
  .agegate-wm{font-size:15px;letter-spacing:.3em;padding-left:.3em}
  .agegate-tag{font-size:12px;letter-spacing:.18em;padding-left:.18em;margin-top:20px}
  .agegate-panel{padding:48px 40px}
}
/* phones: a compact brand band above the content */
@media (max-width:760px){
  .agegate{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .agegate-lid{padding:28px 24px 24px}
  .agegate-lid::after{top:auto;bottom:0;left:0;right:0;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(201,150,46,.6) 25%,rgba(201,150,46,.6) 75%,transparent)}
  .agegate-px{width:70px;margin-bottom:14px}
  .agegate-wm{font-size:13.5px;letter-spacing:.3em;padding-left:.3em}
  .agegate-tag{font-size:11px;letter-spacing:.2em;padding-left:.2em;line-height:1.8;margin-top:9px;color:var(--gold)}
  .agegate-panel{align-items:flex-start;padding:28px 24px 36px}
  .agegate h1,.agegate .agegate-heading{font-size:28px;margin-bottom:14px;max-width:none}
  .agegate .agegate-copy{font-size:16px;margin-bottom:24px}
  .agegate-actions{gap:12px;margin-bottom:20px}
  .agegate-actions .btn,.agegate-actions .btn-primary{flex-basis:100%}
}
@media (prefers-reduced-motion: reduce){
  .agegate,.agegate.leaving,.agegate-actions .btn,.agegate-remember input::before{transition:none}
}

