/* Jam AI · v2 design system · shared across internal pages */
:root{
  --orange:#ff6b35; --orange-deep:#e5501d; --orange-soft:#fff1ea;
  --ink:#231a14; --ink-soft:#4c4038; --muted:#7a6d63;
  --cream:#faf5ee; --paper:#ffffff;
  --rose:#e35d76; --mint:#17b897; --sky:#3f9bd8; --gold:#c9a227;
  --serif:"Poppins", -apple-system, sans-serif; --script:"Caveat", cursive;
  --sans:"Poppins", -apple-system, sans-serif;
  --maxw:1180px;
}
*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans); color:var(--ink); background:var(--cream); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{text-decoration:none; color:inherit;}
h1,h2,h3{font-family:var(--serif); font-weight:700; line-height:1.12; letter-spacing:-.02em;}
em.tilt{font-style:italic; color:var(--orange); font-weight:600;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.spark{color:var(--orange); font-style:normal;}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:8px; font-family:var(--sans); font-weight:700; border-radius:999px; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; white-space:nowrap;}
.btn:hover{transform:translateY(-2px);}
.btn-solid{background:var(--orange); color:#fff; padding:15px 30px; font-size:15.5px; box-shadow:0 6px 20px rgba(255,107,53,.35);}
.btn-solid:hover{box-shadow:0 10px 26px rgba(255,107,53,.45);}
.btn-ink{background:var(--ink); color:#fff; padding:15px 30px; font-size:15.5px;}
.btn-line{border:2px solid var(--ink); color:var(--ink); padding:13px 28px; font-size:15px; background:transparent;}
.btn-white{background:#fff; color:var(--ink); padding:15px 30px; font-size:15.5px; box-shadow:0 6px 20px rgba(0,0,0,.18);}
.btn-sm{padding:10px 22px; font-size:14px;}
.btn-big{padding:18px 38px; font-size:17px;}

/* devnote */
.devnote{background:var(--ink); color:#ffd45c; text-align:center; font-size:12px; font-weight:600; padding:7px; letter-spacing:.04em;}

/* NAV (v2.1: slightly taller, larger type, stays flat) */
.nav{position:sticky; top:0; z-index:50; background:rgba(250,245,238,.92); backdrop-filter:blur(10px); border-bottom:1px solid rgba(35,26,20,.08);}
.nav-in{max-width:var(--maxw); margin:0 auto; padding:19px 28px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.brand{display:flex; align-items:center;}
.brand img{width:48px; height:48px;}
.nav-links{display:flex; align-items:center; gap:30px; font-size:15.5px; font-weight:500;}
.nav-links a:not(.btn){color:var(--ink-soft); position:relative;}
.nav-links a:not(.btn):hover{color:var(--orange);}
.nav-links a.current{color:var(--orange); font-weight:600;}
.nav-burger{display:none; background:none; border:none; font-size:26px; cursor:pointer; color:var(--ink);}

/* SECTION HEADS (v2.1: vertical rhythm tightened ~12%) */
section{padding:72px 0;}
.eyebrow2{display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--orange); margin-bottom:16px;}
.h2{font-size:clamp(32px,4vw,50px); margin-bottom:16px;}
.lede{font-size:17.5px; color:var(--ink-soft); max-width:640px;}
.center{text-align:center;}
.center .lede{margin:0 auto;}

/* PAGE HERO (split) */
.phero{overflow:hidden;}
.phero-in{max-width:var(--maxw); margin:0 auto; padding:64px 28px 76px; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
.phero h1{font-size:clamp(38px,4.8vw,62px);}
.phero .sub{font-size:clamp(16px,1.7vw,18.5px); color:var(--ink-soft); margin:22px 0 32px; max-width:540px;}
.phero-eyebrow{display:inline-flex; align-items:center; gap:10px; background:#fff; border:1.5px solid rgba(255,107,53,.4); color:var(--ink); font-size:13px; font-weight:600; padding:8px 18px; border-radius:999px; margin-bottom:24px; box-shadow:0 3px 12px rgba(255,107,53,.12);}
.phero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:22px;}
.phero-trust{font-size:13.5px; color:var(--muted); font-weight:500;}
.phero-trust b{color:var(--ink); font-weight:700;}
.phero-photo{position:relative; justify-self:end; width:min(460px,100%);}
.phero-arch{position:relative; border-radius:230px 230px 28px 28px; overflow:hidden; box-shadow:0 30px 60px rgba(35,26,20,.22); border:6px solid #fff;}
.phero-arch img{width:100%; aspect-ratio:4/5; object-fit:cover;}
.phero-frame{position:absolute; inset:-18px -18px auto auto; width:100%; height:100%; border:2.5px solid var(--orange); border-radius:230px 230px 28px 28px; z-index:-1; transform:translate(16px,16px);}
.phero-card{position:absolute; left:-56px; bottom:-24px; background:#fff; border-radius:18px; padding:16px 22px; box-shadow:0 18px 40px rgba(35,26,20,.25); transform:rotate(-4deg); z-index:3; text-align:center;}
.phero-card .n{font-family:var(--serif); font-weight:700; font-size:24px; color:var(--orange);}
.phero-card .l{font-size:12px; font-weight:600; color:var(--muted);}
.f-spark{position:absolute; color:var(--orange); font-size:26px; animation:twinkle 2.6s ease-in-out infinite;}
.f-spark.s2{animation-delay:1.2s; font-size:18px;}
@keyframes twinkle{0%,100%{opacity:.35; transform:scale(.85);}50%{opacity:1; transform:scale(1.1);}}

/* PLAQUES */
.plaques{padding:64px 0 10px;}
.plaque-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.plaque{background:#fff; border-radius:12px; padding:24px 22px 22px; text-align:center; border:1px solid rgba(35,26,20,.09); border-top:3px solid var(--orange); box-shadow:0 2px 8px rgba(35,26,20,.05); position:relative;}
.plaque .big{font-family:var(--serif); font-weight:700; font-size:30px; color:var(--ink);}
.plaque .big.glow{color:var(--ink);}
.plaque .lbl{font-size:13.5px; color:var(--ink-soft); font-weight:600; margin-top:5px; line-height:1.4;}

/* STAGE CHIPS (Jam Method mini) */
.stage-eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:12.5px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; padding:7px 16px; border-radius:999px; color:#fff;}

/* QUOTES */
.quote-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:44px;}
.quote{background:var(--cream); border-radius:12px; padding:32px 30px; position:relative; border:1px solid rgba(35,26,20,.07); box-shadow:0 2px 8px rgba(35,26,20,.04);}
.quote.on-white{background:var(--cream);}
.quote::before{content:"\201C"; font-family:Georgia,serif; font-size:64px; color:var(--orange); line-height:1; position:absolute; top:18px; left:24px; opacity:.35;}
.quote p{font-size:15.5px; color:var(--ink-soft); margin:26px 0 22px; font-family:var(--sans); line-height:1.55;}
.quote .who{display:flex; align-items:center; gap:13px;}
.quote .who img{width:46px; height:46px; border-radius:50%; object-fit:cover;}
.quote .who b{display:block; font-size:14.5px;}
.quote .who span{font-size:12.5px; color:var(--muted);}
.quote .who .avatar-mono{width:46px; height:46px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--serif); font-weight:700; font-size:19px; color:#fff; flex-shrink:0;}
/* Receipt card: verbatim quote + up to 3 orange-diamond outcome receipts (shared testimonial component) */
.quote .rc-list{list-style:none; margin:-4px 0 22px; padding:16px 0 0; border-top:1px dashed rgba(35,26,20,.16); display:flex; flex-direction:column; gap:9px;}
.quote .rc-list li{position:relative; padding-left:24px; font-family:var(--sans); font-style:normal; font-size:13.5px; font-weight:600; color:var(--ink); line-height:1.5;}
.quote .rc-list li::before{content:"\2726"; position:absolute; left:0; top:1px; color:var(--orange); font-size:13px;}
.quote-grid.duo{grid-template-columns:repeat(2,1fr);}

/* GUIDES */
.guides{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.guide{border-radius:12px; overflow:hidden; display:flex; background:#2f251d; border:1px solid rgba(255,255,255,.08); transition:transform .18s ease;}
.guide:hover{transform:translateY(-4px);}
.guide .spine{width:14px;}
.guide .gb{padding:18px 18px 20px;}
.guide .gt{font-weight:700; font-size:15.5px;}
.guide .gs{font-size:12.5px; color:#bdafa2; margin-top:3px;}
.guide.on-light{background:#fff; border:1px solid rgba(35,26,20,.09); box-shadow:0 2px 8px rgba(35,26,20,.05);}
.guide.on-light .gs{color:var(--muted);}

/* PHOTO PRINTS */
.gallery-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:26px; margin-top:44px; align-items:start;}
.gallery-strip.three{grid-template-columns:repeat(3,1fr);}
.print{background:#fff; padding:10px 10px 16px; box-shadow:0 14px 36px rgba(35,26,20,.14); transition:transform .2s ease;}
.print:nth-child(odd){transform:rotate(-2deg);}
.print:nth-child(even){transform:rotate(1.6deg) translateY(18px);}
.print:hover{transform:rotate(0) scale(1.04); z-index:5;}
.print img{aspect-ratio:4/5; object-fit:cover;}
.print.wide img{aspect-ratio:4/3;}
.print figcaption{font-family:var(--script); font-size:19px; text-align:center; margin-top:10px; color:var(--ink-soft);}

/* FINAL CTA */
.final{background:linear-gradient(160deg, var(--orange) 0%, var(--orange-deep) 100%); color:#fff; text-align:center; position:relative; overflow:hidden;}
.final .h2{color:#fff; max-width:760px; margin:0 auto 18px;}
.final p{max-width:560px; margin:0 auto 36px; color:#ffe8dc; font-size:17px;}
.final .f-spark{color:#fff;}
.final-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.final .fineprint{font-size:13px; color:#ffd7c4; margin-top:22px;}

/* FOOTER (v2.1: useful 3-column) */
.footer{background:var(--ink); color:#cfc3b8; padding:56px 0 36px; font-size:14px;}
.foot-grid{display:grid; grid-template-columns:1.35fr .9fr .9fr 1fr 1.45fr; gap:36px 28px; align-items:start;}
.foot-brand{display:flex; align-items:center; gap:10px; font-family:var(--serif); font-weight:700; font-size:20px; color:#fff; margin-bottom:10px;}
.foot-col h4{font-family:var(--sans); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#8d8074; margin-bottom:12px;}
.foot-col a{display:block; padding:4px 0; font-weight:500;}
.foot-col a:hover{color:var(--orange);}
.foot-news p{font-size:13px; color:#a89b8e; margin-bottom:12px;}
.foot-form{display:flex; gap:8px;}
.foot-form input{flex:1; min-width:0; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.06); color:#fff; border-radius:999px; padding:11px 16px; font-family:var(--sans); font-size:13.5px; outline:none;}
.foot-form input:focus{border-color:var(--orange);}
.foot-form input::placeholder{color:#8d8074;}
.foot-form .btn{padding:11px 18px; font-size:13.5px;}
.foot-news .jam-form-err{display:none; color:#ffb4a0; font-size:12.5px; margin-top:8px;}
.foot-news .jam-form-msg{display:none; font-size:14px; color:#fff; font-weight:600; text-align:left;}
.foot-news .jam-form.is-sent{display:none;}
.foot-news.show-msg .jam-form-msg{display:block;}
.foot-base{margin-top:40px; padding-top:22px; border-top:1px solid rgba(255,255,255,.1); display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; font-size:12.5px; color:#8d8074;}
.foot-base a:hover{color:var(--orange);}

/* MODULE TOUR */
.modules{background:#fff;}
.module-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px;}
.module{background:var(--cream); border-radius:12px; padding:26px 24px 28px; border:1px solid rgba(35,26,20,.07); box-shadow:0 2px 8px rgba(35,26,20,.04); position:relative; transition:transform .18s ease, box-shadow .18s ease; display:flex; flex-direction:column;}
.module:hover{transform:translateY(-4px); box-shadow:0 8px 20px rgba(35,26,20,.09);}
.module .mnum{font-family:var(--serif); font-weight:700; font-size:15px; color:#fff; width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
.module h3{font-size:19.5px; margin-bottom:8px;}
.module .mstage{font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px;}
.module p{font-size:14px; color:var(--ink-soft); margin-bottom:14px;}
.module .mdeliv{margin-top:auto; font-size:12.5px; color:var(--muted); font-weight:600; border-top:1px dashed rgba(35,26,20,.15); padding-top:12px;}
.module .mdeliv b{color:var(--ink);}

/* INCLUDED LIST */
.included{background:#f6ece1;}
.inc-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:40px;}
.inc{background:#fff; border-radius:12px; padding:28px 28px 30px; border:1px solid rgba(35,26,20,.08); box-shadow:0 2px 8px rgba(35,26,20,.05); display:flex; gap:18px; align-items:flex-start;}
.inc .ico{font-size:26px; width:54px; height:54px; border-radius:16px; background:var(--orange-soft); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.inc h3{font-size:18.5px; margin-bottom:6px;}
.inc p{font-size:14.5px; color:var(--ink-soft);}

/* PRICE / TEAM STRIP */
.pricecard{background:#fff; border-radius:20px; box-shadow:0 14px 36px rgba(35,26,20,.12); padding:44px 44px 48px; max-width:520px; margin:0 auto; text-align:center; position:relative; border:1px solid rgba(35,26,20,.06);}
.pricecard .tag{position:absolute; top:-16px; left:50%; transform:translateX(-50%); background:var(--ink); color:#fff; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:8px 18px; border-radius:999px;}
.pricecard .amount{font-family:var(--serif); font-weight:700; font-size:64px; line-height:1; margin:14px 0 4px;}
.pricecard .amount small{font-size:22px; vertical-align:super;}
.pricecard .per{font-size:14px; color:var(--muted); margin-bottom:24px;}
.pricecard ul{list-style:none; text-align:left; display:flex; flex-direction:column; gap:11px; margin:0 auto 30px; max-width:360px; font-size:14.5px; color:var(--ink-soft);}
.pricecard li::before{content:"✦"; color:var(--orange); margin-right:10px; font-size:12px;}
.teamstrip{margin-top:48px; background:var(--ink); color:#fff; border-radius:20px; padding:36px 40px; display:grid; grid-template-columns:1fr auto; gap:28px; align-items:center;}
.teamstrip h3{font-size:23px; margin-bottom:8px;}
.teamstrip p{font-size:14.5px; color:#cfc3b8; max-width:560px;}
.teamstrip .seat{font-family:var(--serif); font-weight:700; font-size:30px; color:var(--orange);}

/* CHOOSER */
.chooser{background:#fff;}
.choose-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:44px;}
.choose{border-radius:20px; padding:36px 34px 40px; border:1.5px solid rgba(35,26,20,.1); box-shadow:0 14px 36px rgba(35,26,20,.08);}
.choose.is-academy{background:var(--cream);}
.choose.is-club{background:var(--ink); color:#fff; border-color:var(--ink);}
.choose .ctag{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:12px;}
.choose h3{font-size:26px; margin-bottom:10px;}
.choose p.sub{font-family:var(--script); font-size:22px; margin-bottom:18px; color:var(--ink-soft);}
.choose.is-club p.sub{color:#e8ddd3;}
.choose ul{list-style:none; display:flex; flex-direction:column; gap:10px; font-size:14.5px; margin-bottom:26px; color:var(--ink-soft);}
.choose.is-club ul{color:#e8ddd3;}
.choose li::before{content:"✦"; color:var(--orange); margin-right:10px; font-size:12px;}
.choose-note{margin:44px auto 0; max-width:640px; text-align:center; font-family:var(--script); font-size:clamp(24px,2.8vw,30px); color:var(--ink-soft);}
.choose-note b{color:var(--orange); font-style:normal;}

/* FAQ */
.faq{background:#f6ece1;}
.faq-list{max-width:760px; margin:40px auto 0; display:flex; flex-direction:column; gap:14px;}
.faq-item{background:#fff; border-radius:12px; border:1px solid rgba(35,26,20,.08); box-shadow:0 2px 8px rgba(35,26,20,.04); overflow:hidden;}
.faq-item summary{cursor:pointer; list-style:none; padding:20px 26px; font-weight:600; font-size:16px; display:flex; justify-content:space-between; align-items:center; gap:16px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-family:var(--serif); font-size:24px; color:var(--orange); flex-shrink:0;}
.faq-item[open] summary::after{content:"–";}
.faq-item .a{padding:0 26px 22px; font-size:15px; color:var(--ink-soft);}

/* OFFER CARDS (work page) */
.offer-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:44px;}
.offer{background:#fff; border-radius:20px; overflow:hidden; border:1px solid rgba(35,26,20,.06); box-shadow:0 14px 36px rgba(35,26,20,.1); display:flex; flex-direction:column; transition:transform .2s ease;}
.offer:hover{transform:translateY(-5px);}
.offer .ophoto{height:220px;}
.offer .ophoto img{width:100%; height:100%; object-fit:cover;}
.offer .obody{padding:28px 30px 32px; display:flex; flex-direction:column; flex:1;}
.offer h3{font-size:23px; margin-bottom:8px;}
.offer p{font-size:14.5px; color:var(--ink-soft); margin-bottom:16px;}
.offer .obest{margin-top:auto; font-size:12.5px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.1em;}
.offer .obest b{color:var(--orange);}

/* WORDMARK moment */
.wordmark-hero img{height:74px; width:auto;}

/* RESPONSIVE */
@media(max-width:980px){
  .foot-grid{grid-template-columns:1fr 1fr;}
  .phero-in{grid-template-columns:1fr; padding-top:44px; gap:64px;}
  .phero-photo{justify-self:center;}
  .phero-card{left:-10px;}
  .plaque-grid{grid-template-columns:1fr 1fr;}
  .module-grid{grid-template-columns:1fr 1fr;}
  .inc-grid{grid-template-columns:1fr;}
  .choose-grid{grid-template-columns:1fr;}
  .offer-grid{grid-template-columns:1fr;}
  .quote-grid{grid-template-columns:1fr;}
  .quote-grid.duo{grid-template-columns:1fr;}
  .gallery-strip{grid-template-columns:1fr 1fr;}
  .gallery-strip.three{grid-template-columns:1fr 1fr;}
  .teamstrip{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .nav-burger{display:block;}
  .nav-links.open{display:flex; position:absolute; top:100%; left:0; right:0; background:var(--cream); flex-direction:column; padding:24px 28px; gap:18px; border-bottom:1px solid rgba(35,26,20,.1); box-shadow:0 20px 40px rgba(35,26,20,.12); align-items:flex-start;}
}
@media(max-width:560px){
  section{padding:54px 0;}
  .foot-grid{grid-template-columns:1fr;}
  .plaque-grid{grid-template-columns:1fr 1fr; gap:12px;}
  .plaque{padding:20px 12px;}
  .plaque .big{font-size:20px;}
  .module-grid{grid-template-columns:1fr;}
  .gallery-strip{grid-template-columns:1fr 1fr; gap:16px;}
  .phero-ctas .btn{width:100%; justify-content:center;}
  .final-ctas .btn{width:100%; justify-content:center;}
  .final .f-spark{display:none;}
  .pricecard{padding:36px 24px 40px;}
  .pricecard .btn-big{width:100%; justify-content:center; padding:15px 18px; font-size:14.5px;}
  .teamstrip{padding:28px 24px;}
  .wordmark-hero img{height:56px;}
}
