/* NSBJJ own checkout mockup (trial → gi → welcome). Loads after styles.css. Mobile-first. */
body.co{background:var(--ink)}
.co-header{position:relative;z-index:5;border-bottom:1px solid var(--line);background:rgba(11,11,12,.92)}
.co-header .nav{height:68px}
.co-secure{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 var(--sans);letter-spacing:.06em;color:var(--muted)}
.co-secure svg{width:16px;height:16px;color:var(--accent)}
.steps{list-style:none;display:flex;gap:6px;margin:22px 0 0;font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.steps li{flex:1;padding-top:10px;border-top:3px solid var(--line)}
.steps li.done{border-color:rgba(242,183,5,.55);color:rgba(245,243,239,.85)}
.steps li.on{border-color:var(--accent);color:#fff}
.co-main{padding:8px 0 56px}
.co-grid{display:grid;gap:28px}
.co h1.display{font-size:clamp(46px,12.5vw,96px);margin:16px 0 14px;max-width:13ch}
.co .lede{max-width:46ch}

/* click-to-play video */
.vfacade{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;padding:0;border-radius:var(--r);overflow:hidden;background:var(--char);cursor:pointer;color:#fff;text-align:left;margin-top:22px}
.vfacade img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.vfacade:hover img{transform:scale(1.04)}
.vfacade::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(11,11,12,.85),rgba(11,11,12,.05) 60%)}
.vfacade .video-meta{position:absolute;left:16px;bottom:14px;right:16px;padding:0}
.vfacade .play{width:56px;height:56px}
.vfacade .vm-text b{font:800 clamp(20px,4vw,30px)/1 var(--display);text-transform:uppercase}
.vframe{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;margin-top:22px}
.vframe iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* benefits */
.benefits{list-style:none;display:grid;gap:12px;margin:24px 0 0}
.benefits li{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;padding:12px 14px;background:var(--char);border:1px solid var(--line);border-radius:12px;font-weight:600;line-height:1.35}
.benefits li small{display:block;font-weight:400;color:var(--muted);font-size:13px;margin-top:2px}
.benefits .ic{width:40px;height:40px;border-radius:50%;background:rgba(242,183,5,.14);display:grid;place-items:center;color:var(--accent);font:800 17px/1 var(--display)}
.benefits .ic svg{width:20px;height:20px}

/* payment card */
.pay{background:var(--bone);color:var(--ink);border-radius:calc(var(--r) + 4px);padding:24px 20px 22px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.pay h2{font:800 clamp(30px,7vw,40px)/1 var(--display);text-transform:uppercase}
.summary{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:14px 0 18px;padding:14px 0;border-block:1px solid rgba(11,11,12,.14)}
.summary span{font-size:14px;color:#4a4741;line-height:1.35}
.summary span b{display:block;color:var(--ink);font-size:16px}
.summary strong{font:800 44px/.9 var(--display)}
.field{display:grid;gap:6px;margin-bottom:12px}
.field label{font:700 12px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#4a4741}
.field input{width:100%;min-height:52px;border:1.5px solid rgba(11,11,12,.2);border-radius:10px;background:#fff;padding:0 14px;font:500 16px/1 var(--sans);color:var(--ink)}
.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(242,183,5,.25)}
.stripe-ph{margin:6px 0 14px;border:2px dashed #A8841A;border-radius:12px;background:repeating-linear-gradient(135deg,#fff 0 12px,#f8f1dc 12px 24px);padding:18px 16px;font-size:14px;line-height:1.45;color:#4a4741}
.stripe-ph b{display:block;font:700 12px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#6B500C;margin-bottom:8px}
.stripe-ph .fake{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-top:12px}
.stripe-ph .fake span{height:44px;border-radius:8px;background:#fff;border:1.5px solid rgba(11,11,12,.14);display:flex;align-items:center;padding:0 12px;font-size:13px;color:#9a948a}
.stripe-ph .fake span:first-child{grid-column:1 / -1}
.rollover{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1.5px solid var(--ink);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45;font-weight:600;margin-bottom:12px}
.rollover svg{flex:none;width:20px;height:20px;margin-top:1px;color:#A8841A}
.pay .btn-pay{width:100%;min-height:60px;font-size:17px;border:0;cursor:pointer;background:var(--accent);color:var(--ink)}
.pay .btn-pay:hover{background:var(--ink);color:#fff}
.consent{font-size:12px;line-height:1.45;color:#6b665d;margin-top:10px}
.trust{list-style:none;display:grid;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(11,11,12,.14);font-size:13px;color:#4a4741}
.trust li{display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.trust svg{flex:none;width:16px;height:16px;margin-top:1px;color:#A8841A}
.terms{margin-top:12px;font-size:13px;color:#4a4741}
.terms summary{cursor:pointer;font-weight:700;color:var(--ink);padding:6px 0}
.terms ol{padding-left:18px;display:grid;gap:6px;margin-top:6px}
.mock-note{font-size:12px;color:var(--muted);margin-top:14px}

/* gi upsell */
.paid-banner{display:flex;gap:10px;align-items:center;background:rgba(46,204,113,.12);border:1px solid rgba(46,204,113,.45);color:#c9f3d9;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:600;margin-top:20px}
.paid-banner svg{flex:none;width:20px;height:20px;color:#2ecc71}
.gi-card{background:linear-gradient(180deg,#161618,#111113);border:1px solid var(--line);border-radius:calc(var(--r) + 4px);overflow:hidden}
.gi-layout{display:grid;gap:20px;margin-top:22px}
.gi-photo{position:relative;aspect-ratio:4/5;background:var(--char);border-radius:calc(var(--r) + 4px);overflow:hidden}
.gi-photo img{width:100%;height:100%;object-fit:cover}
.gi-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(17,17,19,.9))}
.gi-photo figcaption{position:absolute;z-index:1;left:14px;bottom:14px;right:14px;font-size:12px;font-weight:600;background:rgba(11,11,12,.78);backdrop-filter:blur(6px);padding:8px 12px;border-radius:12px;width:max-content;max-width:calc(100% - 28px)}
.price-tag{position:absolute;z-index:1;right:14px;top:14px;width:112px;height:112px;border-radius:50%;background:var(--accent);color:var(--ink);display:grid;place-content:center;text-align:center;font:800 13px/1 var(--display);text-transform:uppercase;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.price-tag b{display:block;font-size:44px;line-height:.9}
.price-tag s{display:block;font:600 12px/1.2 var(--sans);text-transform:none;opacity:.8;margin-top:2px}
.gi-body{padding:22px 20px 24px}
.gi-points{list-style:none;display:grid;gap:12px;margin:0 0 22px}
.gi-points li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;line-height:1.4}
.gi-points li b{display:block}
.gi-points li span{color:var(--muted);font-size:14px}
.gi-points .tick{width:28px;height:28px;border-radius:50%;background:var(--accent);display:grid;place-items:center}
.gi-points .tick svg{width:15px;height:15px;color:var(--ink)}
.gi-points li.tbc .tick{background:transparent;border:1.5px dashed #ffd23f}
.gi-points li.tbc .tick svg{color:#ffd23f}
.btn-yes{width:100%;min-height:64px;font-size:18px}
.btn-no{display:block;width:100%;text-align:center;margin-top:10px;padding:14px;color:var(--muted);font-size:15px;text-decoration:underline;text-underline-offset:3px}
.btn-no:hover{color:#fff}
.charge-note{display:flex;gap:8px;justify-content:center;align-items:center;font-size:13px;color:var(--muted);margin-top:12px;text-align:center}
.charge-note svg{flex:none;width:15px;height:15px;color:var(--accent)}

/* welcome */
.next{list-style:none;counter-reset:n;display:grid;gap:12px;margin-top:8px}
.next li{counter-increment:n;display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 16px;background:var(--char);border:1px solid var(--line);border-radius:var(--r)}
.next li::before{content:counter(n,decimal-leading-zero);font:800 26px/1 var(--display);color:var(--accent)}
.next h3{font:800 24px/1 var(--display);text-transform:uppercase;margin-bottom:6px}
.next p{color:var(--muted);font-size:15px}
.next .btn{margin-top:14px;width:100%}
.panel{background:var(--char);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.panel h2{font:800 28px/1 var(--display);text-transform:uppercase;margin-bottom:12px}
.bring{list-style:none;display:grid;gap:10px}
.bring li{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.bring li::before{content:"";flex:none;width:7px;height:7px;margin-top:9px;background:var(--accent);transform:rotate(45deg)}
.panel .contact-list li{padding:14px 0}
.panel .contact-list a,.panel .contact-list span{font-size:18px}
.terms-box{background:var(--bone);color:var(--ink);border-radius:var(--r);padding:20px}
.terms-box h2{font:800 28px/1 var(--display);text-transform:uppercase;margin-bottom:10px}
.terms-box ol{padding-left:20px;display:grid;gap:8px;font-size:15px;color:#2b2925}
.gi-added{display:none}
.has-gi .gi-added{display:flex}
.co-foot{border-top:1px solid var(--line);padding:24px 0 32px;font-size:13px;color:var(--muted)}
.co-foot .wrap{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.co-foot a{text-decoration:none}

@media (min-width:720px){
  .pay{padding:30px 28px 26px}
  .benefits{grid-template-columns:1fr 1fr}
  .next .btn{width:auto}
}
@media (min-width:1000px){
  .co-main{padding:16px 0 80px}
  .co-grid{grid-template-columns:7fr 5fr;gap:56px;align-items:start}
  .co-grid .pay{position:sticky;top:24px;margin-top:40px}
  .gi-layout{grid-template-columns:5fr 6fr;grid-template-areas:"media copy" "media body";gap:20px 56px;align-content:start;max-width:1100px}
  .gi-layout .gi-media{grid-area:media;display:grid;gap:16px;align-self:start}
  .gi-layout .gi-copy{grid-area:copy}
  .gi-layout .gi-body{grid-area:body;align-self:start}
  .gi-layout h1.display{font-size:clamp(56px,6vw,84px);margin-top:12px}
  .welcome-grid{grid-template-columns:7fr 5fr}
  .welcome-grid aside{display:grid;gap:18px;margin-top:40px}
}

/* gi upsell: gallery, sizes, video (shop images, 4 Oct) */
.gi-media{display:contents}
.gi-copy{order:1}.gi-gallery{order:2}.gi-body{order:3}.gi-video{order:4}
.gi-photo{aspect-ratio:1/1;background:#e9e6e1}
.gi-photo::after{display:none}
.gi-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px}
.gi-thumbs button{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:var(--char);cursor:pointer;aspect-ratio:1/1}
.gi-thumbs button img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:opacity .2s ease}
.gi-thumbs button.on{border-color:var(--accent)}
.gi-thumbs button.on img,.gi-thumbs button:hover img{opacity:1}
.gi-video .vfacade{margin-top:0}
.gi-name{font:800 clamp(26px,5.5vw,34px)/1 var(--display);text-transform:uppercase;margin-bottom:16px}
.sizes{border:0;margin:0 0 18px;padding:16px 0 0;border-top:1px solid var(--line)}
.sizes legend{font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;float:left;width:100%}
.size-opts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;clear:both}
.size-opts label{position:relative;cursor:pointer}
.size-opts input{position:absolute;opacity:0;inset:0}
.size-opts span{display:grid;place-items:center;min-height:50px;border:1.5px solid rgba(255,255,255,.3);border-radius:10px;font:700 16px/1 var(--sans);transition:background .2s ease,border-color .2s ease,color .2s ease}
.size-opts label:hover span{border-color:#fff}
.size-opts input:checked+span{background:#fff;color:var(--ink);border-color:#fff}
.size-opts input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.size-help{font-size:13px;color:var(--muted);margin-top:10px}
.size-help a{color:var(--accent);font-weight:600;white-space:nowrap}
.size-err{font-size:14px;font-weight:700;color:#E9CF87;margin-top:8px}
@media (min-width:1000px){.gi-copy,.gi-gallery,.gi-body,.gi-video{order:0}}
.gi-photo .price-tag{top:auto;bottom:14px}

/* gi upsell v3: premium range, in-person fitting (4 Oct, Reiss feedback) */
.gi-photo figcaption{top:auto}
.gi-thumbs{grid-template-columns:repeat(6,1fr);gap:8px}
.gi-thumbs button{border-radius:8px}
.gi-intro{color:var(--muted);margin:-4px 0 18px;font-size:16px;line-height:1.5}
.how{list-style:none;counter-reset:h;display:grid;gap:10px;margin:0 0 16px;padding:0}
.how li{counter-increment:h;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03)}
.how li::before{content:counter(h);grid-row:span 2;width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--ink);display:grid;place-items:center;font:800 20px/1 var(--display)}
.how b{font-weight:700;line-height:1.3}
.how span{color:var(--muted);font-size:14px;line-height:1.4}
.gi-patch{display:flex;gap:10px;align-items:center;font-size:14px;font-weight:600;margin:0 0 18px}
.gi-patch .tick{flex:none;width:24px;height:24px;border-radius:50%;background:rgba(242,183,5,.16);color:var(--accent);display:grid;place-items:center}
.gi-patch .tick svg{width:13px;height:13px}
@media (max-width:719px){.gi-thumbs{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.how{grid-template-columns:repeat(3,1fr)}.how li{grid-template-columns:1fr;row-gap:6px}.how li::before{grid-row:auto}}

/* gi upsell v4: conversion copy (4 Oct, Reiss feedback round 3) */
.gi-hero{display:grid;gap:22px;margin-top:22px}
.gi-hero h1.display{font-size:clamp(44px,11.5vw,88px);max-width:14ch}
.gi-hero .lede{margin-bottom:20px}
.cta-block .btn-yes{width:100%}
.cta-top .btn-no{padding:10px}
.gi-sec{margin-top:clamp(44px,8vw,80px)}
.gi-why h2.display,.gi-h2,.gi-final h2.display{font-size:clamp(36px,8vw,64px);margin:0 0 18px;max-width:16ch}
.gi-why p{color:var(--muted);font-size:17px;max-width:62ch;margin-bottom:12px}
.gi-benefits{list-style:none;display:grid;gap:12px;margin:0;padding:0}
.gi-benefits li{display:grid;grid-template-columns:44px 1fr;gap:12px;padding:20px 18px;background:linear-gradient(180deg,#161618,#111113);border:1px solid var(--line);border-radius:var(--r)}
.gi-benefits .n{font:800 26px/1 var(--display);color:var(--accent)}
.gi-benefits h3{font:800 clamp(22px,5vw,28px)/1.05 var(--display);text-transform:uppercase;margin-bottom:8px}
.gi-benefits p{color:var(--muted);font-size:15px;line-height:1.55}
.gi-quote{margin:clamp(36px,7vw,64px) 0 0;padding:26px 22px;border-radius:var(--r);background:var(--accent);color:var(--ink)}
.gi-quote blockquote{font:800 clamp(28px,6.5vw,48px)/1.02 var(--display);text-transform:uppercase;max-width:22ch}
.gi-quote figcaption{margin-top:14px;font-weight:700;font-size:14px}
.gi-quote .stars{letter-spacing:2px;margin-right:6px}
.gi-vf{display:grid;gap:22px;align-items:start}
.gi-video .vfacade{margin-top:0}
.gi-faq details{border-color:var(--line)}
.gi-faq summary{font-size:17px;padding:18px 0}
.gi-faq summary::after{border-color:rgba(255,255,255,.5);width:32px;height:32px;font-size:18px}
.gi-faq details[open] summary::after{background:#fff;color:var(--ink)}
.gi-faq details p{color:var(--muted);padding-bottom:18px}
.gi-final{margin-top:clamp(48px,9vw,90px);padding:30px 22px 22px;border:1px solid rgba(242,183,5,.45);border-radius:calc(var(--r) + 4px);background:radial-gradient(120% 120% at 0% 0%,rgba(242,183,5,.16),transparent 60%),var(--char);text-align:center}
.gi-final h2.display{margin:0 auto 10px}
.gi-final>p{color:var(--muted);margin-bottom:20px}
.gi-final .cta-block{max-width:460px;margin:0 auto}
@media (min-width:720px){
  .gi-benefits{grid-template-columns:1fr 1fr}
  .gi-quote{padding:34px 40px}
}
@media (min-width:1000px){
  .gi-hero{grid-template-columns:6fr 5fr;gap:56px;align-items:center}
  .gi-hero .gi-copy{order:2}
  .gi-hero .gi-gallery{order:1}
  .gi-hero h1.display{font-size:clamp(56px,5.6vw,80px)}
  .cta-top{max-width:440px}
  .gi-why{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:start}
  .gi-why h2.display{margin:0}
  .gi-why p{margin-top:4px}
  .gi-sec .how{max-width:none}
  .gi-vf{grid-template-columns:6fr 5fr;gap:56px}
  .gi-final{padding:48px 40px 34px}
}
.gi-h2{max-width:none}
.gi-quote .stars{color:var(--ink)}
.gi-h2{font-size:clamp(34px,5vw,56px)!important}

/* gi upsell v5: wide lead image + detail tiles (4 Oct) */
.gi-hero{gap:18px}
.gi-lead{order:-1;position:relative;margin:0 calc(var(--pad)*-1);overflow:hidden;background:var(--char)}
.gi-lead img{width:100%;aspect-ratio:2.15/1;object-fit:cover;object-position:50% 40%}
.gi-lead figcaption{font-size:12px;font-weight:600;color:var(--muted);padding:8px var(--pad) 0;background:var(--ink)}
.gi-hero h1.display{font-size:clamp(40px,10.6vw,88px);margin:12px 0 12px}
.gi-hero .lede{font-size:16px;margin-bottom:16px}
.gi-details{display:grid;grid-auto-flow:column;grid-auto-columns:44%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:30px calc(var(--pad)*-1) 0;padding:0 var(--pad) 4px;scrollbar-width:none;scroll-padding-inline:var(--pad)}
.gi-details::-webkit-scrollbar{display:none}
.gi-details figure{scroll-snap-align:start;margin:0}
.gi-details img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;background:var(--char)}
.gi-details figcaption{font-size:13px;font-weight:600;color:var(--muted);margin-top:8px}
@media (min-width:720px){
  .gi-lead{margin:0;border-radius:calc(var(--r) + 4px)}
  .gi-lead img{aspect-ratio:1598/655}
  .gi-lead figcaption{position:absolute;left:18px;bottom:18px;padding:9px 14px;border-radius:999px;background:rgba(11,11,12,.8);backdrop-filter:blur(6px);color:#fff;font-size:13px}
  .gi-details{grid-auto-flow:row;grid-template-columns:repeat(4,1fr);overflow:visible;margin:22px 0 0;padding:0}
  .gi-hero .lede{font-size:18px}
}
@media (min-width:1000px){
  .gi-hero{grid-template-columns:1fr;gap:34px}
  .gi-hero .gi-copy{order:0;display:grid;grid-template-columns:7fr 5fr;gap:56px;align-items:end}
  .gi-hero .gi-lead{order:1}
  .gi-hero h1.display{font-size:clamp(60px,6.4vw,92px);margin-bottom:0}
  .cta-top{max-width:none}
}
@media (max-width:719px){
  .co .steps{margin-top:14px}
  .co .paid-banner{margin-top:12px;padding:9px 12px;font-size:13px}
  .gi-hero{margin-top:14px;gap:14px}
  .gi-lead img{aspect-ratio:2.35/1}
  .gi-hero h1.display{font-size:clamp(36px,9.6vw,44px);margin:10px 0 10px}
  .gi-hero .lede{font-size:15px;line-height:1.5;margin-bottom:14px}
  .cta-top .charge-note{margin-top:8px}
}

/* gi upsell v6: video at the top (muted autoplay + Tap for sound), sharper copy (4 Oct) */
.gi-hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "video" "cta";gap:16px;margin-top:22px}
.gi-copy-head{grid-area:head}
.gi-vid{grid-area:video;position:relative;aspect-ratio:16/9;overflow:hidden;background:#000;border-radius:var(--r)}
.gi-vid picture,.gi-vid img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gi-vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sound-btn{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding:0 0 16px;border:0;background:linear-gradient(0deg,rgba(0,0,0,.5),rgba(0,0,0,0) 45%);cursor:pointer;color:inherit;font:inherit}
.sound-btn[hidden]{display:none}
.sound-pill{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px 0 18px;border-radius:999px;background:#fff;color:var(--ink);font-weight:800;font-size:17px;letter-spacing:.01em;box-shadow:0 8px 28px rgba(0,0,0,.45);animation:soundPulse 2.2s ease-out infinite}
.sound-pill svg{width:24px;height:24px;flex:none}
.sound-btn:hover .sound-pill,.sound-btn:focus-visible .sound-pill{transform:scale(1.04)}
.sound-btn:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
@keyframes soundPulse{0%{box-shadow:0 8px 28px rgba(0,0,0,.45),0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 8px 28px rgba(0,0,0,.45),0 0 0 14px rgba(255,255,255,0)}100%{box-shadow:0 8px 28px rgba(0,0,0,.45),0 0 0 0 rgba(255,255,255,0)}}
@media (prefers-reduced-motion:reduce){.sound-pill{animation:none}}
.cta-top{grid-area:cta}
.gi-hero h1.display{max-width:none}
.gi-hero .lede{margin:0;color:var(--muted)}
.gi-lead{position:relative;margin:34px calc(var(--pad)*-1) 0;overflow:hidden;background:var(--char)}
.gi-lead img{width:100%;aspect-ratio:1598/655;object-fit:cover}
.gi-lead figcaption{font-size:13px;font-weight:600;color:var(--muted);padding:9px var(--pad) 0;background:var(--ink)}
.gi-faq-sec .gi-h2{margin-bottom:6px}
@media (max-width:719px){
  .co .steps{margin-top:12px}
  .co .paid-banner{margin-top:10px}
  .gi-hero{margin-top:14px;gap:12px}
  .gi-hero .eyebrow{display:none}
  .gi-hero h1.display{font-size:clamp(34px,9.4vw,42px);margin:0 0 8px;line-height:.95}
  .gi-hero .lede{font-size:15px;line-height:1.45}
  .gi-vid{margin:2px calc(var(--pad)*-1) 0;border-radius:0}
  .sound-pill{min-height:48px;font-size:16px}
  .cta-top{margin-top:4px}
  .cta-top .charge-note{margin-top:8px}
}
@media (min-width:720px){
  .gi-lead{margin:48px 0 0;border-radius:calc(var(--r) + 4px)}
  .gi-lead figcaption{position:absolute;left:18px;bottom:18px;padding:9px 14px;border-radius:999px;background:rgba(11,11,12,.8);backdrop-filter:blur(6px);color:#fff;font-size:13px}
  .gi-hero .lede{font-size:18px}
}
@media (min-width:1000px){
  .gi-hero{grid-template-columns:5fr 7fr;grid-template-areas:"head video" "cta video";column-gap:48px;row-gap:26px;align-items:center;margin-top:34px}
  .gi-copy-head{align-self:end}
  .cta-top{align-self:start;max-width:440px}
  .gi-hero h1.display{font-size:clamp(54px,5.2vw,76px);margin:12px 0 16px}
  .gi-vid{border-radius:calc(var(--r) + 4px);box-shadow:0 30px 80px rgba(0,0,0,.5)}
  .gi-faq-sec{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:start}
}

/* gi upsell v7: value story (4 Oct) */
.btn-yes .was{font-weight:600;text-decoration:line-through;text-decoration-thickness:2px;opacity:.6;margin:0 2px 0 6px}
.gi-value-head h2.display{font-size:clamp(34px,7.6vw,60px);margin:0 0 12px;max-width:16ch}
.gi-value-head p{color:var(--muted);font-size:17px;margin:0 0 18px}
.gi-value-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#111113}
.gi-value-list li{display:grid;grid-template-columns:minmax(0,9.5em) 1fr;gap:12px;align-items:baseline;padding:15px 18px;border-top:1px solid var(--line)}
.gi-value-list li:first-child{border-top:0}
.gi-value-list span{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.gi-value-list b{font-weight:600;font-size:16px;line-height:1.35}
.gi-value-list li.now{background:var(--accent);color:var(--ink)}
.gi-value-list li.now span{color:var(--ink)}
.gi-value-list li.now b{font:800 24px/1 var(--display);text-transform:uppercase}
@media (min-width:1000px){
  .gi-value{display:grid;grid-template-columns:5fr 6fr;gap:56px;align-items:center}
  .gi-value-head p{margin:0}
  .gi-value-list li{padding:18px 24px}
}
@media (min-width:1000px){.gi-hero h1.display{font-size:clamp(52px,4.9vw,68px)}}
.price-line{font-size:15px;font-weight:700;color:#fff;margin:0 0 10px;text-align:center}
.gi-final .price-line{margin-bottom:12px}
@media (min-width:1000px){.gi-hero h1.display{font-size:clamp(52px,4.9vw,68px)}.cta-top .price-line{text-align:left}.gi-blocks{grid-template-columns:repeat(3,1fr)}}
@media (min-width:720px) and (max-width:999px){.gi-blocks li:last-child{grid-column:1/-1}}
.gi-blocks h3{font-size:clamp(24px,5.6vw,30px);line-height:1.05}
.gi-hero .lede,.gi-blocks h3,.gi-blocks p{text-wrap:balance}

/* welcome v2: receipt + one primary action (4 Oct) */
.wl:not(.has-gi) .if-gi,.wl.has-gi .if-nogi{display:none!important}
.steps-done li.on{border-color:var(--accent)}
.wl-top{display:grid;gap:22px;margin-top:22px}
.wl-paid{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.04em;color:#c9f3d9}
.wl-paid svg{width:22px;height:22px;padding:4px;border-radius:50%;background:#2ecc71;color:var(--ink)}
.wl-hero h1.display{font-size:clamp(40px,10.4vw,96px);margin:14px 0 12px;max-width:13ch}
.wl-hero .lede{margin:0 0 20px}
.wl-cta{padding:20px;border:1px solid rgba(242,183,5,.5);border-radius:calc(var(--r) + 4px);background:radial-gradient(120% 140% at 0% 0%,rgba(242,183,5,.16),transparent 60%),var(--char)}
.wl-cta h2{font:800 26px/1 var(--display);text-transform:uppercase;margin:0 0 8px}
.wl-cta>p{color:var(--muted);font-size:15px;line-height:1.5;margin:0}
.wl-btn{width:100%;min-height:64px;font-size:18px;margin-top:16px}
.wl-cta .wl-alt{font-size:14px;margin-top:12px;text-align:center;color:var(--muted)}
.wl-receipt{background:var(--bone);color:var(--ink);border-radius:calc(var(--r) + 4px);padding:20px 20px 18px;position:relative}
.wl-receipt::after{content:"";position:absolute;left:14px;right:14px;bottom:-7px;height:14px;background:radial-gradient(circle at 7px 0,transparent 6px,var(--bone) 6.5px) 0 0/14px 14px repeat-x;display:none}
.rc-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(11,11,12,.14)}
.rc-head h2{font:800 26px/1 var(--display);text-transform:uppercase}
.rc-no{font-size:13px;font-weight:600;color:#5b5750;white-space:nowrap}
.rc-lines{list-style:none;margin:0;padding:0}
.rc-lines li{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 0;border-bottom:1px dashed rgba(11,11,12,.2)}
.rc-lines b{display:block;font-weight:700;font-size:16px}
.rc-lines small{display:block;font-size:13px;color:#5b5750;margin-top:2px}
.rc-amt{font-weight:700;font-variant-numeric:tabular-nums}
.rc-total{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 10px}
.rc-total span{font-weight:700}
.rc-total b{font:800 34px/1 var(--display);font-variant-numeric:tabular-nums}
.rc-meta{font-size:13px;color:#5b5750;line-height:1.5;margin:0;overflow-wrap:anywhere}
.rc-meta b{color:var(--ink);font-weight:600}
.wl-sec{margin-top:clamp(44px,8vw,72px)}
.wl-h2{font-size:clamp(34px,7vw,56px)!important;margin:0 0 18px!important}
.wl-next{list-style:none;counter-reset:w;display:grid;gap:10px;margin:0;padding:0}
.wl-next li{counter-increment:w;display:grid;grid-template-columns:38px 1fr;column-gap:14px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--char)}
.wl-next li::before{content:counter(w);grid-row:span 2;width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--ink);display:grid;place-items:center;font:800 20px/1 var(--display)}
.wl-next b{font-weight:700;font-size:16px;line-height:1.3}
.wl-next span{color:var(--muted);font-size:14px;line-height:1.45;margin-top:2px}
.wl-img{position:relative;margin:clamp(36px,7vw,64px) calc(var(--pad)*-1) 0;overflow:hidden;background:var(--char)}
.wl-img img{width:100%;aspect-ratio:1598/655;object-fit:cover}
.wl-img figcaption{position:absolute;left:var(--pad);bottom:14px;padding:8px 13px;border-radius:999px;background:rgba(11,11,12,.8);backdrop-filter:blur(6px);font-size:13px;font-weight:600}
.wl-info{display:grid;gap:16px;margin-top:clamp(28px,5vw,44px)}
.wl-map{display:inline-block;margin-top:6px;font-size:14px!important;font-weight:700;color:var(--accent)}
.wl .contact-list li a:first-of-type{display:block}
.wl .terms-box h2{margin-bottom:12px}
@media (max-width:719px){
  .co.wl .steps{margin-top:14px}
  .wl-top{margin-top:18px}
  .wl-hero h1.display{font-size:clamp(36px,10vw,44px);margin:10px 0 10px}
  .wl-hero .lede{font-size:16px;margin-bottom:16px}
  .wl-cta{padding:18px 16px}
}
@media (min-width:720px){
  .wl-img{margin-left:0;margin-right:0;border-radius:calc(var(--r) + 4px)}
  .wl-img figcaption{left:18px;bottom:18px}
  .wl-next{grid-template-columns:1fr 1fr}
}
@media (min-width:1000px){
  .wl-top{grid-template-columns:7fr 5fr;gap:56px;align-items:start;margin-top:34px}
  .wl-receipt{margin-top:38px;padding:26px 26px 22px}
  .wl-hero h1.display{font-size:clamp(60px,6vw,88px)}
  .wl-cta{padding:26px}
  .wl-btn{width:auto;padding-left:34px;padding-right:34px}
  .wl-cta .wl-alt{text-align:left}
  .wl-next{grid-template-columns:repeat(4,1fr)}
  .wl-next li{grid-template-columns:1fr;row-gap:8px}
  .wl-next li::before{grid-row:auto}
  .wl-info{grid-template-columns:1fr 1fr 1.3fr;align-items:start}
}
.wl-next li{align-content:start}
.wl .contact-list li>a{display:block}
.wl .contact-list li>a.wl-map{display:inline-block}
.wl .panel .contact-list a{font-size:17px}
/* welcome v3: team photo band */
.wl-team img{aspect-ratio:4/3;object-position:50% 40%}
.wl-team figcaption{position:static;display:block;padding:14px var(--pad) 0;background:var(--ink);border-radius:0;backdrop-filter:none}
.wl-team figcaption b{display:block;font:800 clamp(30px,8vw,40px)/1 var(--display);text-transform:uppercase;color:#fff}
.wl-team figcaption span{display:block;font-size:14px;font-weight:600;color:var(--muted);margin-top:6px}
@media (min-width:720px){
  .wl-team img{aspect-ratio:1200/474}
  .wl-team::after{content:"";position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(0deg,rgba(11,11,12,.8),rgba(11,11,12,0));pointer-events:none}
  .wl-team figcaption{position:absolute;z-index:1;left:28px;bottom:24px;padding:0;background:none}
  .wl-team figcaption b{font-size:clamp(40px,4.6vw,60px)}
  .wl-team figcaption span{color:rgba(255,255,255,.85)}
}
.co-legal{display:inline-flex;gap:14px;flex-wrap:wrap}
.co-legal a{text-decoration:underline;text-underline-offset:3px}
/* gi video click-to-play (no cookie consent yet) */
.vid-play{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;border:0;background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,.1) 60%);color:#fff;font:inherit;cursor:pointer;padding:16px}
.vid-play[hidden]{display:none}
.vid-play-ico{width:76px;height:76px;border-radius:50%;background:var(--accent);display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .2s ease}
.vid-play-ico svg{width:30px;height:30px;margin-left:4px;fill:var(--ink)}
.vid-play-lbl{font-weight:700;font-size:15px;text-shadow:0 1px 8px rgba(0,0,0,.6);text-align:center}
.vid-play:hover .vid-play-ico,.vid-play:focus-visible .vid-play-ico{transform:scale(1.06)}
.vid-play:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
@media (max-width:719px){.vid-play-ico{width:62px;height:62px}.vid-play-lbl{font-size:14px}}

/* One-click gi: status message + busy state (gi.html, live only) */
.upsell-msg{margin:10px 0 0;font-size:14px;line-height:1.45;color:#fff;text-align:center}
.upsell-msg:empty{display:none}
.btn-yes.is-busy{opacity:.7;pointer-events:none}

/* 6 October 2026: one trial-button action with readable agreement beneath. */
.trial .trial-agreement{margin-top:14px}
.trial .trial-agreement .consent{color:#57534b;font-size:12px;line-height:1.5}
.trial .trial-agreement strong{color:var(--ink);font-weight:700}

/* Pablo review fix 4 (12 Oct 2026): no sideways scroll on welcome.html at 390px.
   Grid items defaulted to min-width:auto, so the nowrap CTA pushed .wl-hero/.wl-cta/.lede to 396-416px. */
.wl-top{grid-template-columns:minmax(0,1fr)}
.wl-top>*{min-width:0;max-width:100%}
.wl-hero,.wl-paid,.wl-hero .lede,.wl-cta{max-width:100%;overflow-wrap:anywhere}
.wl-paid{flex-wrap:wrap}
.wl-btn{white-space:normal;text-align:center;line-height:1.2}
@media(min-width:1000px){.wl-top{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}}

/* v14: two-step order form, offer stack, sticky mobile CTA (Russel review M4/S3) */
.co-step{border:0;margin:0;padding:0;min-width:0}
.step-tag{display:block;font:700 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#6B500C;margin:0 0 12px;padding:0}
.pay .btn-lead{width:100%;min-height:60px;font-size:17px;border:0;cursor:pointer;background:var(--ink);color:var(--accent);margin-top:4px}
.pay .btn-lead:hover{background:var(--accent);color:var(--ink)}
.lead-done{font-weight:600;margin-bottom:12px}
.linkish{background:none;border:0;padding:0;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer;color:var(--ink)}
.co-jump{margin-top:18px;width:100%}
.stack{margin-top:24px;padding:20px;border:1px solid rgba(242,183,5,.45);border-radius:var(--r);background:rgba(242,183,5,.06)}
.stack h2{font:800 26px/1 var(--display);text-transform:uppercase;margin-bottom:12px}
.stack ul{list-style:none;display:grid;gap:10px}
.stack li{position:relative;padding-left:28px;line-height:1.4}
.stack li::before{content:"";position:absolute;left:0;top:3px;width:16px;height:16px;border-radius:50%;background:var(--accent);-webkit-mask:none}
.stack-total{margin-top:14px;font:800 30px/1 var(--display);text-transform:uppercase}
.stack-total b{color:var(--accent)}
.co-sticky{position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:30;padding:5px;border-radius:999px;background:rgba(11,11,12,.88);border:1px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.45);transition:transform .25s ease,opacity .25s ease}
.co-sticky .btn{width:100%;min-height:44px;padding-top:0;padding-bottom:0;font-size:15px}
.co-sticky.is-hidden{transform:translateY(140%);opacity:0;pointer-events:none;visibility:hidden;transition:transform .25s ease,opacity .25s ease,visibility 0s .25s}
@media (prefers-reduced-motion:reduce){.co-sticky,.co-sticky.is-hidden{transition:none}}
.has-cookie-banner .co-sticky{display:none}
@media (min-width:1000px){.co-sticky,.co-jump{display:none}}
/* v14 welcome video slot (M5) */
.wl-video{position:relative;margin:18px 0 0;border-radius:var(--r);overflow:hidden;aspect-ratio:16/9;background:var(--char)}
.wl-video img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.7)}
.wl-video figcaption{position:absolute;inset:auto 12px 12px 12px}
.wl-cta #signup{color:inherit;font-weight:700;text-decoration:underline}

/* v15: welcome booking bar. Mobile only; the page gets bottom room so the bar never covers the last lines. */
@media (max-width:999px){body:has(.wl-sticky) .co-foot{padding-bottom:84px}}

/* v3 copy (C2): one-line reassurance under each main button. Light text on the dark sections; .btn-note-light on the cream pay card. */
.btn-note{font-size:12px;line-height:1.4;margin:8px 0 0;color:rgba(255,255,255,.72)}
.btn-note-light{color:#57534b}
.co-sticky .btn-note{margin:3px 8px 4px;text-align:center;font-size:11.5px}
.co-sticky:has(.btn-note){border-radius:26px}
/* welcome: "Included in your £20 month" shows only once payment is confirmed (body.wl-confirmed is set with the 'Payment received' state; not while checking or failed) */
.wl-incl{display:none;text-align:center}
body.wl-confirmed .wl-incl{display:block}
