/* ============================================================
   PLAYDAPT V2 — design system
   Warm paper · deep pine · forest action · gold moments
   Fraunces (display) + Inter (text)
   ============================================================ */
:root{
  --paper:#FAF7F1; --paper-2:#F4EFE6; --linen:#ECE5D7;
  --pine:#1C2A22; --pine-deep:#131F18;
  --forest:#2E5C42; --forest-deep:#224934;
  --gold:#B98A3E; --gold-soft:#E7CD9C; --gold-faint:#F6EBD6;
  --ink:#1C2A22; --ink-soft:#47544B; --mist:#7C877E;
  --line:#DFD7C7; --line-strong:#CFC5B0;
  --maxw:1200px; --rad:16px; --rad-sm:10px;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',system-ui,-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--gold-soft);color:var(--pine);}
:focus-visible{outline:2.5px solid var(--forest);outline-offset:3px;border-radius:4px;}

/* type */
h1,h2,h3,.serif{font-family:var(--serif);font-weight:480;line-height:1.04;letter-spacing:-.022em;font-variation-settings:"opsz" 72;}
h1{font-size:clamp(42px,6vw,84px);}
h2{font-size:clamp(32px,4.2vw,54px);}
h3{font-size:clamp(21px,2.2vw,26px);line-height:1.18;}
em{font-style:italic;}
.gold-em{font-style:italic;color:var(--gold);}
.lede{font-size:clamp(18px,1.6vw,21px);line-height:1.6;color:var(--ink-soft);font-weight:400;}
.kicker{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:22px;}
.small{font-size:14px;color:var(--mist);line-height:1.6;}
.measure{max-width:640px;}

/* layout */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(22px,4vw,56px);}
.sec{padding:clamp(72px,9vw,130px) 0;}
.sec-tight{padding:clamp(52px,6vw,84px) 0;}
.split{display:grid;grid-template-columns:5fr 6fr;gap:clamp(36px,6vw,90px);align-items:center;}
.split.rev{grid-template-columns:6fr 5fr;}
hr.rule{border:none;border-top:1px solid var(--line);margin:0;}

/* skip link */
.skip{position:absolute;left:-9999px;top:0;background:var(--pine);color:#fff;padding:12px 20px;z-index:999;border-radius:0 0 10px 0;font-weight:600;font-size:14px;}
.skip:focus{left:0;}

/* nav */
nav.v2{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,border-color .3s,box-shadow .3s;border-bottom:1px solid transparent;}
nav.v2 .nav-i{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:var(--maxw);margin:0 auto;padding:20px clamp(22px,4vw,56px);transition:padding .3s;}
nav.v2.sc{background:rgba(250,247,241,.94);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom-color:var(--line);}
nav.v2.sc .nav-i{padding-top:13px;padding-bottom:13px;}
.logo-img{display:block;height:auto;width:auto;max-width:clamp(150px,15vw,190px);}
.nl{display:flex;align-items:center;gap:34px;}
.nl a{font-size:14.5px;font-weight:500;color:var(--ink-soft);transition:color .2s;}
.nl a:hover{color:var(--forest);}
.nb{background:var(--forest);color:#fff;font-weight:600;font-size:14px;padding:11px 22px;border-radius:var(--rad-sm);transition:background .25s,transform .25s;white-space:nowrap;}
.nb:hover{background:var(--forest-deep);}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;background:none;border:none;cursor:pointer;padding:10px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.3s;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;background:var(--forest);color:#fff;font-family:var(--sans);font-weight:600;font-size:15.5px;padding:16px 30px;border-radius:var(--rad-sm);border:none;cursor:pointer;transition:background .25s,transform .25s,box-shadow .25s;box-shadow:0 1px 2px rgba(28,42,34,.14);}
.btn:hover{background:var(--forest-deep);transform:translateY(-1px);box-shadow:0 8px 22px rgba(34,73,52,.22);}
.btn .arr{transition:transform .25s;}
.btn:hover .arr{transform:translateX(4px);}
.btn.big{font-size:16.5px;padding:18px 36px;}
.btn.on-dark{background:var(--paper);color:var(--pine);}
.btn.on-dark:hover{background:#fff;}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:550;color:var(--ink-soft);border-bottom:1.5px solid var(--line-strong);padding-bottom:3px;transition:color .2s,border-color .2s;}
.btn-ghost:hover{color:var(--forest);border-color:var(--forest);}
.link-arrow{font-size:15px;font-weight:600;color:var(--forest);display:inline-flex;align-items:center;gap:7px;}
.link-arrow:hover{text-decoration:underline;text-underline-offset:4px;}
.trust-row{font-size:13px;color:var(--mist);letter-spacing:.01em;margin-top:18px;}
.trust-row b{color:var(--ink-soft);font-weight:550;}

/* dark band */
.band{background:var(--pine);color:var(--paper);}
.band .kicker{color:var(--gold-soft);}
.band .lede{color:rgba(250,247,241,.72);}
.band .small{color:rgba(250,247,241,.5);}
.band h2,.band h3{color:var(--paper);}

/* gold chip */
.chip{display:inline-flex;align-items:center;gap:8px;background:var(--gold-faint);border:1px solid var(--gold-soft);color:#7A5A22;font-size:13px;font-weight:600;padding:7px 15px;border-radius:100px;}
.band .chip{background:rgba(231,205,156,.12);border-color:rgba(231,205,156,.35);color:var(--gold-soft);}

/* numbered editorial rows */
.rows{border-top:1px solid var(--line);}
.row-item{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:clamp(20px,4vw,64px);padding:clamp(28px,3.5vw,44px) 0;border-bottom:1px solid var(--line);align-items:baseline;}
.row-num{font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);color:var(--gold);font-style:italic;}
.row-item h3{margin:0;}
.row-item p{color:var(--ink-soft);font-size:16px;}

/* cards (used sparingly) */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:clamp(24px,3vw,36px);}

/* figure */
.fig{border-radius:var(--rad);overflow:hidden;background:var(--linen);}
.fig img{width:100%;height:100%;object-fit:cover;}
.fig-cap{font-size:13px;color:var(--mist);margin-top:12px;font-style:italic;}

/* FAQ accordion — class contract kept for existing JS (.qi/.qh/.qb) */
.faq{max-width:760px;margin:0 auto;border-top:1px solid var(--line);}
.qi{border-bottom:1px solid var(--line);}
.qh{width:100%;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;text-align:left;font-family:var(--serif);font-size:clamp(18px,1.8vw,21px);color:var(--ink);letter-spacing:-.01em;line-height:1.3;}
.qh:hover{color:var(--forest);}
.qicon{width:22px;height:22px;position:relative;flex-shrink:0;}
.qicon::before,.qicon::after{content:"";position:absolute;background:var(--gold);border-radius:1px;}
.qicon::before{top:10px;left:0;right:0;height:1.5px;}
.qicon::after{left:10px;top:0;bottom:0;width:1.5px;transition:.3s;}
.qi.open .qicon::after{transform:scaleY(0);}
.qb{max-height:0;overflow:hidden;transition:max-height .38s ease;}
.qb p{padding:0 40px 26px 0;font-size:16px;color:var(--ink-soft);line-height:1.7;}
.qb p+p{margin-top:-14px;}

/* journey timeline */
.journey{max-width:780px;margin:0 auto;}
.j-step{display:grid;grid-template-columns:64px 1fr;gap:clamp(20px,3vw,40px);padding:clamp(30px,4vw,46px) 0;border-bottom:1px solid var(--line);}
.j-step:last-child{border-bottom:none;}
.j-num{font-family:var(--serif);font-style:italic;font-size:clamp(26px,3vw,38px);color:var(--gold);line-height:1;padding-top:4px;}
.j-step h3{margin-bottom:10px;}
.j-step p{color:var(--ink-soft);font-size:16px;max-width:580px;}
.j-note{display:inline-block;margin-top:14px;background:var(--gold-faint);border:1px solid var(--gold-soft);border-radius:100px;padding:6px 16px;font-size:12.5px;color:#7A5A22;font-weight:600;}

/* forms */
.field{margin-bottom:18px;}
.field label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:8px;}
.field input,.field select,.field textarea{width:100%;font-family:var(--sans);font-size:16px;padding:14px 16px;border:1.5px solid var(--line-strong);border-radius:var(--rad-sm);background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px rgba(46,92,66,.12);}

/* footer */
footer.v2{background:var(--pine-deep);color:rgba(250,247,241,.75);padding:clamp(56px,7vw,90px) 0 40px;}
footer.v2 .foot-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;}
footer.v2 h5{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin-bottom:16px;}
footer.v2 a{display:block;font-size:14.5px;color:rgba(250,247,241,.72);padding:4px 0;transition:color .2s;}
footer.v2 a:hover{color:#fff;}
footer.v2 .foot-tag{font-size:14px;line-height:1.65;max-width:280px;margin-top:14px;color:rgba(250,247,241,.55);}
footer.v2 .foot-b{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding-top:24px;border-top:1px solid rgba(250,247,241,.14);font-size:12.5px;color:rgba(250,247,241,.45);}
.foot-logo{max-width:200px;}

/* reveal — class contract kept (.rv/.in) */
.rv{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.rv.in{opacity:1;transform:none;}
.d1{transition-delay:.08s;}.d2{transition-delay:.16s;}.d3{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .rv{opacity:1;transform:none;transition:none;}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important;}
}

/* responsive */
@media(max-width:960px){
  .split,.split.rev{grid-template-columns:1fr;gap:36px;}
  .row-item{grid-template-columns:56px 1fr;grid-template-rows:auto auto;}
  .row-item p{grid-column:2;}
  footer.v2 .foot-g{grid-template-columns:1fr 1fr;}
  .nav-toggle{display:flex;margin-left:auto;margin-right:6px;}
  .nl{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:rgba(250,247,241,.98);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(19,31,24,.12);padding:10px 22px 18px;}
  .nl.open{display:flex;}
  .nl a{padding:15px 2px;font-size:16.5px;border-bottom:1px solid var(--line);}
  .nl a:last-child{border-bottom:none;}
}
@media(max-width:600px){
  footer.v2 .foot-g{grid-template-columns:1fr;}
  nav.v2 .nav-i{padding-left:16px;padding-right:16px;gap:10px;}
  .nb{font-size:12px;padding:8px 12px;}
  nav.v2 .logo-img{max-width:112px;}
  .nav-toggle{margin-right:0;width:38px;height:38px;}
}
