/* J.I.M Rochedale - purpose-built sections. Tokens from design-system/colors_and_type.css. Scoped under .jim to sit beside Breakdance chrome. */
.jim{--brand:#EF4030;--brand-hover:#D22B1C;--blush:#F0B7B5;--ink:#111;--ink2:#242424;--off:#FBFBFB;--beige:#F6EDE6;--border:#E3E3E3;--muted:#787E8B;font-family:Futura,system-ui,sans-serif;color:var(--ink);line-height:1.5}
.jim *{box-sizing:border-box}
/* beat Breakdance's global heading/link colours */
.breakdance .jim h1,.breakdance .jim h2,.breakdance .jim h3,.breakdance .jim p{color:inherit}
.breakdance .jim a{color:inherit;text-decoration:none}
.breakdance .jim .btn{color:#fff}.breakdance .jim .btn.ghost{color:inherit}
.breakdance .jim .eyebrow{color:var(--brand)}.breakdance .jim .hero .eyebrow{color:#fff}.breakdance .jim .blush .eyebrow{color:#111}
.breakdance .jim .muted{color:var(--muted)}.breakdance .jim .dark .muted{color:#C5C5C5}
.breakdance .jim .price div{color:var(--ink)}
.jim section{padding:56px 20px;background:#fff;color:var(--ink)}
.jim .wrap{max-width:1120px;margin:0 auto}
.jim .narrow{max-width:720px;margin:0 auto}
.jim h1,.jim h2,.jim h3{font-family:Futura,system-ui,sans-serif;font-weight:700;text-transform:uppercase;line-height:1.08;margin:0 0 14px}
.jim h1{font-size:clamp(30px,8vw,52px)}
.jim h2{font-size:clamp(24px,6vw,38px)}
.jim h3{font-size:17px;margin-bottom:6px}
.jim p{margin:0 0 12px;font-size:16px}
.jim .eyebrow{display:inline-block;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:12px}
.jim .lead{font-size:18px}
.jim .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 24px;border-radius:50px;background:var(--brand);color:#fff;font-weight:500;text-transform:uppercase;font-size:14px;letter-spacing:.03em;text-decoration:none;border:1px solid transparent;transition:background .3s}
.jim .btn:hover{background:var(--brand-hover)}
.jim .btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.jim .btn.dark{background:var(--ink)}
.jim .btns{display:flex;flex-direction:column;gap:10px;margin-top:18px}
.jim .btns .btn{width:100%}
.jim .dark{background:var(--ink);color:#fff}
.jim .brand{background:var(--brand);color:#fff}
.jim .blush{background:var(--blush)}
.jim .beige{background:var(--beige)}
.jim .off{background:var(--off)}
.jim .muted{color:var(--muted)}
.jim .dark .muted{color:#C5C5C5}
/* hero */
.jim .hero{position:relative;padding:0;min-height:min(88vh,720px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.jim .hero img,.jim .hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.jim .hero{background:var(--ink) url(/assets/wp-content/uploads/2026/03/jim-hero-poster.jpg) center 35%/cover no-repeat}
@media(prefers-reduced-motion:reduce){.jim .hero video{display:none}}
.jim .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.15) 0%,rgba(17,17,17,.35) 40%,rgba(17,17,17,.92) 100%)}
.jim .hero .wrap{position:relative;z-index:1;padding:110px 20px 36px;width:100%}
.jim .hero .eyebrow{color:#fff;background:var(--brand);padding:6px 10px;border-radius:4px}
.jim .hero p{font-size:17px;max-width:560px}
.jim .trust{font-size:13px;color:#C5C5C5;margin-top:18px}
/* facts */
.jim .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.jim .facts div{background:#fff;padding:18px 10px;text-align:center}
.jim .facts b{display:block;font-size:26px;font-weight:700;text-transform:uppercase;line-height:1}
.jim .facts span{display:block;font-size:12px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.04em}
/* video */
.jim lite-youtube{max-width:100%;border-radius:7px;overflow:hidden;margin:18px 0 0}
/* steps */
.jim .photo{width:100%;height:220px;object-fit:cover;border-radius:7px;display:block;margin-bottom:24px}
.jim .steps{display:grid;gap:14px;counter-reset:s}
.jim .step{display:grid;grid-template-columns:44px 1fr;gap:12px;background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:7px;padding:16px}
.jim .step::before{counter-increment:s;content:counter(s);width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center}
.jim .step p{margin:0;font-size:15px}
.jim .bring{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.jim .bring span{border:1px solid var(--border);border-radius:50px;padding:6px 12px;font-size:13px;background:#fff;color:var(--ink)}
/* benefits */
.jim .grid8{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}
.jim .grid8 div{text-align:center;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
.jim .grid8 img{width:56px;height:56px;display:block;margin:0 auto 8px}
/* memberships teaser */
.jim .price{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.jim .price div{background:#fff;color:var(--ink);border-radius:7px;padding:16px}
.jim .price b{display:block;font-size:28px;text-transform:uppercase;line-height:1}
.jim .price small{display:block;font-size:12px;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.03em}
/* find us */
.jim .findus{display:grid;gap:16px}
.jim .addr{font-size:17px;line-height:1.4}
.jim .social{display:flex;gap:10px;margin-top:8px}
.jim .social a{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:50px;padding:8px 14px;color:inherit;text-decoration:none;font-size:13px;font-weight:500}
.jim .apps{display:flex;gap:10px;margin-top:10px}
.jim .apps img{height:40px}
.jim .map{border-radius:7px;overflow:hidden;min-height:260px}
/* forms / widgets */
.jim .formwrap{background:#fff;color:var(--ink);border-radius:7px;padding:8px}
.jim .formwrap iframe{min-height:640px;width:100%;display:block}
/* book page */
.jim .tabs{display:flex;gap:8px;position:sticky;top:0;z-index:5;background:#fff;padding:12px 20px;border-bottom:1px solid var(--border)}
.breakdance .jim .tabs a{flex:1;text-align:center;border:1px solid var(--border);border-radius:50px;padding:10px;color:var(--ink);background:#fff;text-decoration:none;font-size:13px;font-weight:500;text-transform:uppercase}
.breakdance .jim .tabs a.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.jim .widget{background:#fff;color:var(--ink);border-radius:7px;padding:8px;min-height:300px;overflow-x:auto}
/* bottom tab bar (phones) */
@media(min-width:900px){
  .jim-tabbar{display:none}body.has-tabbar{padding-bottom:0}
  .jim section{padding:96px 20px}
  .jim .btns{flex-direction:row}.jim .btns .btn{width:auto}
  .jim .hero{min-height:min(78vh,820px)}.jim .hero .wrap{padding:160px 20px 72px}.jim .hero p{font-size:20px}
  .jim .facts b{font-size:34px}
  .jim .two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
  .jim .photo{height:100%;min-height:380px;margin:0}
  .jim .grid8{grid-template-columns:repeat(8,1fr)}.jim .grid8 img{width:64px;height:64px}
  .jim .price{grid-template-columns:1fr 1fr;max-width:560px}
  .jim .findus{grid-template-columns:1fr 1.2fr;gap:40px}
  .jim .tabs{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);justify-content:center;padding:12px 20px}.breakdance .jim .tabs a{flex:0 0 auto;padding:10px 24px}
}
/* book-now */
.jim .bn{padding-top:96px;background:var(--off)}
.jim .bn-grid{display:grid;gap:28px}
.jim .bn-right{order:-1}
/* /book-now on phones (Alex 8 Oct): the form sits UNDER the four ticks, above "What happens next" - bn-left's children become
   grid items so the form can slot between them; desktop (>=900) keeps the two columns with the form on the right.
   Scoped to .bn-book (templates/book-now.html only) - /book-now/thanks shares .bn-grid and must keep its own order (Codex review 8 Oct) */
@media(max-width:899px){
  .jim .bn-grid.bn-book{gap:0}
  .jim .bn-grid.bn-book .bn-left{display:contents}
  .jim .bn-grid.bn-book .bn-left>*{order:0}
  .jim .bn-grid.bn-book .bn-left>.eyebrow{justify-self:start}
  .jim .bn-grid.bn-book .bn-right{order:1;margin:24px 0 32px}
  .jim .bn-grid.bn-book .bn-left>.h3,.jim .bn-grid.bn-book .bn-left>.steps,.jim .bn-grid.bn-book .bn-left>.h3~*{order:2}
}
.jim .h3{font-size:18px;margin-top:28px}
.jim .ticks{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:8px}
.jim .ticks li{padding-left:28px;position:relative;font-size:15px}
.jim .ticks li::before{content:"✓";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--brand);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}
.jim .bn-form,.jim .bn-done{background:#fff;color:var(--ink);border:1px solid var(--border);border-radius:7px;padding:22px}
.jim .bn-form h2,.jim .bn-done h2{font-size:24px;margin-bottom:6px}
.jim .bn-form label{display:block;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 0}
.jim .bn-form input,.jim .bn-form select{display:block;width:100%;margin-top:6px;padding:13px 14px;border:1px solid var(--border);border-radius:7px;font:inherit;font-size:16px;color:var(--ink);background:#fff;text-transform:none;letter-spacing:0}
.jim .bn-form input:focus,.jim .bn-form select:focus{outline:2px solid var(--brand);outline-offset:0;border-color:var(--brand)}
.jim .bn-form .btn{width:100%;margin-top:18px;border:0;cursor:pointer}
.jim .bn-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;overflow:hidden}
.jim .bn-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}
.jim .fine{font-size:12px;color:var(--muted);margin:10px 0 0;text-align:center}
.jim .err{background:#FEF2F2;color:#B91C1C;border:1px solid #FECACA;border-radius:7px;padding:10px 12px;font-size:13px;margin-top:12px}
.jim .bn-done .steps{gap:10px}
@media(min-width:900px){
  .jim .bn{padding-top:140px}
  .jim .bn-grid{grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
  .jim .bn-right{order:0;position:sticky;top:96px}
  .jim .bn-form,.jim .bn-done{padding:30px}
}

/* book page without hero: tabs sit straight under the header */
.jim .tabs-top{padding-top:14px}
.jim #timetable{padding-top:32px}
@media(min-width:900px){.jim .tabs-top{padding-top:20px}.jim #timetable{padding-top:48px}}
.jim .tt-only{padding-top:32px}
@media(min-width:900px){.jim .tt-only{padding-top:48px}}

/* free-class landing page (lean: no nav, no tab bar) */
.jim .lp-hero{position:relative;overflow:hidden;padding-top:40px;padding-bottom:56px;background:var(--ink) url(/assets/wp-content/uploads/2026/03/jim-hero-poster.jpg) center 35%/cover no-repeat;color:#fff}
.jim .lp-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
@media(prefers-reduced-motion:reduce){.jim .lp-video{display:none}}
.jim .lp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.55) 0%,rgba(17,17,17,.72) 60%,rgba(17,17,17,.9) 100%)}
.jim .lp-hero .wrap{position:relative;z-index:1}
.breakdance .jim .lp-hero .eyebrow{color:#fff;background:var(--brand);padding:6px 10px;border-radius:4px}
.breakdance .jim .lp-hero .bn-left .muted{color:#C5C5C5}
.jim .lp-hero .ticks li::before{background:var(--brand)}
.breakdance .jim .lp-hero .bn-form,.breakdance .jim .lp-hero .bn-form h2,.breakdance .jim .lp-hero .bn-form p{color:var(--ink)}
.breakdance .jim .lp-hero .bn-form .muted{color:var(--muted)}
.jim .lp-trust{font-size:14px;margin-top:14px}
.jim .quotes{display:grid;gap:14px;margin:8px 0 24px}
.jim .quotes blockquote{margin:0;background:var(--off);border:1px solid var(--border);border-radius:7px;padding:20px}
.jim .quotes blockquote p{font-size:16px;line-height:1.55;margin:0 0 10px}
.jim .quotes cite{font-style:normal;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.jim details{border-bottom:1px solid var(--border);padding:14px 0}
.jim details summary{cursor:pointer;font-weight:700;text-transform:uppercase;font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px}
.jim details summary::-webkit-details-marker{display:none}
.jim details summary::after{content:"+";font-size:22px;line-height:1;color:var(--brand);flex:0 0 auto}
.jim details[open] summary::after{content:"–"}
.jim details p{margin:10px 0 0;font-size:15px}
.jim.lean .breakdance-menu,.jim.lean .breakdance-menu-toggle{display:none}
@media(min-width:900px){
  .jim .lp-hero{padding-top:64px}
  .jim .quotes{grid-template-columns:repeat(3,1fr);gap:18px}
}

/* free-class: single column hero, form opens inline under the CTA */
.jim .lp-one{max-width:760px;margin:0 auto}
.jim .lp-cta{margin-top:22px}
.jim .lp-formwrap{margin-top:26px;max-width:560px;scroll-margin-top:110px}
.jim .lp-formwrap.open{animation:lpIn .35s ease}
@keyframes lpIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:900px){.jim .lp-hero{padding-top:72px;padding-bottom:88px}.jim .lp-cta .btn{min-width:280px}}
.jim.lp-fc .lp-b .lp-after .lp-reviews{display:none}   /* desktop keeps the reviews link under the lead; the lp-after copy is phone-only (shown in the <900 block, no gap at 899-900 - Codex review 8 Oct) */

/* free-class: pop-up form for the CTAs below the hero */
.jim .lp-modal{position:fixed;inset:0;z-index:90;background:rgba(17,17,17,.72);display:flex;align-items:flex-end;justify-content:center;padding:0}
.jim .lp-modal[hidden]{display:none}
.jim .lp-modal-box{position:relative;width:100%;max-width:560px;max-height:92vh;overflow:auto;background:#fff;color:var(--ink);border-radius:14px 14px 0 0;padding:8px;animation:lpUp .3s ease}
.jim .lp-modal-box .bn-form{border:0;padding:22px 16px 26px}
.jim .lp-close{position:absolute;top:10px;right:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
body.lp-lock{overflow:hidden}
@keyframes lpUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(min-width:900px){.jim .lp-modal{align-items:center;padding:24px}.jim .lp-modal-box{border-radius:14px;padding:12px}.jim .lp-modal-box .bn-form{padding:30px}}

/* free-class variant B (A/B test from 1 Oct 2026): form in the hero, ticks under it, sticky button on phones */
.jim .lp-b .lp-formwrap{margin-top:18px;max-width:none}
.jim .lp-b .lp-after{margin-top:22px;max-width:560px}
/* B's hero form is a dark glass card over the video (white looked pasted on - Alex, 30 Sep 2026); the pop-up copy stays white */
.jim .lp-b .lp-formwrap .bn-form{background:rgba(17,17,17,.66);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);border-radius:10px}
.breakdance .jim .lp-hero.lp-b .lp-formwrap .bn-form,.breakdance .jim .lp-hero.lp-b .lp-formwrap .bn-form h2,.breakdance .jim .lp-hero.lp-b .lp-formwrap .bn-form p{color:#fff}
.breakdance .jim .lp-hero.lp-b .lp-formwrap .bn-form .muted{color:#C5C5C5}
.jim .lp-b .lp-formwrap .bn-form label{color:#D9D9D9}
.jim .lp-b .lp-formwrap .bn-form .fine{color:#B5B5B5}
.jim .lp-b .lp-formwrap .bn-form input,.jim .lp-b .lp-formwrap .bn-form select{background:rgba(255,255,255,.96);border-color:transparent}
/* desktop: copy left, form right */
@media(min-width:900px){
  .jim .lp-b .lp-one{max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) 440px;grid-template-rows:auto 1fr;column-gap:56px;row-gap:0;align-items:start}
  .jim .lp-b .bn-left:first-child{grid-column:1;grid-row:1}
  .jim .lp-b .lp-formwrap{grid-column:2;grid-row:1/3;margin-top:0;align-self:start}
  .jim .lp-b .lp-after{grid-column:1;grid-row:2;margin-top:18px;align-self:start}
  .jim .lp-b h1{font-size:clamp(36px,3.6vw,50px)}
}
@media(max-width:899px){
  .jim .lp-b{padding-top:18px;padding-bottom:40px}
  .jim .lp-b h1{font-size:clamp(28px,7.4vw,44px);margin-bottom:10px}
  .jim .lp-b .lead{font-size:16px;line-height:1.45;margin:0 0 2px}
  .jim .lp-b .lp-formwrap{margin-top:14px}
  .jim .lp-b .bn-form{padding:14px 14px 18px}
  .jim .lp-b .bn-form h2,.jim .lp-b .bn-form>p.muted{display:none}
  .jim .lp-b .bn-form label{margin-top:10px}
}
.jim .lp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(17,17,17,.92);backdrop-filter:blur(6px);display:flex;justify-content:center}
.jim .lp-sticky[hidden]{display:none}
.jim .lp-sticky .btn{width:100%;max-width:560px;text-align:center}
body.lp-lock .jim .lp-sticky{display:none}
@media(min-width:900px){.jim .lp-sticky{display:none}}

/* native form (1 Oct 2026): invisible Turnstile container */
.jim .bn-form .ts{margin-top:12px;line-height:0}
.jim .bn-form .ts:empty{margin:0}

/* free-class (v3, 2 Oct 2026): review cards - a verbatim pull-quote as the headline, the review, the first name.
   Horizontal scroller (BBB / Paris pattern): phone = one row of 78vw cards, full-bleed, snap; desktop = 2 rows, 3 columns in view, arrows */
.jim .quotes.reviews{display:flex;flex-flow:row nowrap;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:auto;margin:0 -20px;padding:4px 20px 8px;scroll-padding:0 20px}
.jim .quotes.reviews::-webkit-scrollbar{display:none}
.jim .quotes.reviews blockquote{position:relative;flex:0 0 calc(100% - 36px);width:calc(100% - 36px);scroll-snap-align:start;box-sizing:border-box;margin:0;background:#fff;border:1px solid var(--border);border-radius:10px;padding:22px 24px;display:flex;flex-direction:column}
.jim .quotes.reviews blockquote::before{content:"\201C";position:absolute;top:16px;left:22px;font-family:Georgia,"Times New Roman",serif;font-size:76px;line-height:.75;color:var(--brand)}
.breakdance .jim .quotes.reviews h3{margin:0 0 10px;padding-left:46px;min-height:40px;font-size:18px;line-height:1.2;text-transform:uppercase;color:var(--ink)}
.jim .quotes.reviews blockquote p{margin:0 0 12px;font-size:15px;line-height:1.55;color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:8;overflow:hidden}
.jim .quotes.reviews cite{margin-top:auto;font-style:normal;font-size:13px;font-weight:500;text-transform:none;letter-spacing:0;color:var(--muted)}
.jim .rv-nav{display:flex;gap:10px;justify-content:center;margin:14px 0 0}
.jim .rv-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--ink);font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 3px}
.jim .rv-nav button:hover{border-color:var(--ink)}
@media(min-width:900px){
  .jim .quotes.reviews{display:flex;grid-template-columns:none;gap:20px;width:auto;margin:0;padding:4px 0 8px;scroll-padding:0}
  .jim .quotes.reviews blockquote{flex:0 0 calc((100% - 40px) / 3);width:auto;scroll-snap-align:start;padding:24px 26px}
  .jim .quotes.reviews blockquote p{-webkit-line-clamp:7}
  .jim .rv-nav{margin-top:20px}
}

/* free-class (v3, 2 Oct 2026): spacing scale - design system section padding (100 desktop / 60 phone), one rhythm per block
   (eyebrow 14 > heading 16 > lead 14 > text 12 > CTA 24), last child flush so top and bottom padding match, h2 sized by us not Breakdance */
.jim.lp-fc section{padding:100px 20px}
.jim.lp-fc .lp-hero{padding:72px 20px 88px}
.breakdance .jim.lp-fc h2{font-size:clamp(26px,6.6vw,38px);margin:0 0 16px}
.jim.lp-fc .eyebrow{margin-bottom:14px}
.jim.lp-fc .lead{margin-bottom:14px}
.jim.lp-fc p{margin-bottom:12px}
.jim.lp-fc .narrow>:last-child,.jim.lp-fc .wrap>:last-child,.jim.lp-fc .two>div>:last-child{margin-bottom:0}
.jim.lp-fc .lp-b .lp-after{margin-top:12px}
.jim.lp-fc .ticks{margin-bottom:0}
.jim.lp-fc .lp-trust{margin-top:14px;margin-bottom:0}
.jim.lp-fc .lp-reviews{margin:14px 0 0;font-size:15px}
.breakdance .jim.lp-fc .lp-reviews a{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--brand);text-decoration-thickness:2px}
.jim.lp-fc .lp-reviews a:hover{text-decoration-color:#fff}
.jim.lp-fc #proof{scroll-margin-top:16px}
html{scroll-behavior:smooth}
.jim.lp-fc .facts div{padding:22px 10px}
.jim.lp-fc .facts b{font-size:clamp(20px,6vw,26px)}
.jim.lp-fc .steps{gap:16px}
.jim.lp-fc .bring{margin-top:20px}
.jim.lp-fc .two .btns{margin-top:24px}
.jim.lp-fc .quotes.reviews{margin:18px 0 0}
.jim.lp-fc details{padding:16px 0}
.jim.lp-fc .explain{display:grid;gap:22px;margin-top:28px}
.jim.lp-fc .ex img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-bottom:16px}
.jim.lp-fc .ex-label{display:block;font-size:12px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:8px}
.breakdance .jim.lp-fc .ex h3{font-size:20px;margin:0 0 8px}
.jim.lp-fc .ex p{margin:0;font-size:15px;line-height:1.55}
.jim.lp-fc .pick{margin-top:48px;background:var(--ink);color:#fff;border-radius:14px;padding:32px 24px}
.breakdance .jim.lp-fc .pick .eyebrow{color:var(--brand)}
.jim.lp-fc .pick-head{margin-bottom:8px}
.breakdance .jim.lp-fc .pick h3{font-size:clamp(22px,3vw,28px);margin:0 0 20px;color:#fff}
.jim.lp-fc .pick-rows{display:grid;gap:0}
.jim.lp-fc .pick-row{display:grid;gap:12px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}
.jim.lp-fc .pick-k b{display:block;font-size:15px;text-transform:uppercase;letter-spacing:.04em}
.jim.lp-fc .pick-k span{display:block;font-size:13px;color:#C5C5C5;margin-top:3px}
.jim.lp-fc .chips{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start}
.jim.lp-fc .chips span{border:1px solid rgba(255,255,255,.28);border-radius:50px;padding:7px 14px;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:#fff}
.jim.lp-fc .pick-note{margin:18px 0 0;font-size:14px;color:#C5C5C5}
.breakdance .jim.lp-fc .pick-note a{color:#fff;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--brand)}
.jim.lp-fc #what .btns{margin-top:28px}
@media(min-width:640px){.jim.lp-fc .pick-row{grid-template-columns:240px 1fr;align-items:start}}
@media(min-width:900px){.jim.lp-fc .explain{grid-template-columns:repeat(3,1fr);gap:28px}.jim.lp-fc .pick{padding:40px 44px}.jim.lp-fc .pick-row{grid-template-columns:300px 1fr}}
.jim.lp-fc details p{margin:10px 0 0}
.jim.lp-fc #claim .btns{margin-top:24px}
.jim.lp-fc #claim .muted{margin-top:16px}
@media(max-width:899px){
  .jim.lp-fc section{padding:60px 20px}
  .jim.lp-fc .lp-hero{padding:12px 20px 40px}
  .jim.lp-fc .lp-b .lp-after{margin-top:18px}
  .jim.lp-fc .lp-hero .eyebrow{display:none}   /* the h1 carries the offer and the ticks carry the suburb; keeps the form button above the 844px fold */
  /* Phone fold pass (8 Oct 2026, Alex: "not all above the fold" - a real iPhone first paint is ~660px, not 844): header 56px on every
     lp-fc page, LP hero through the submit button lands ~640px, home hero through the CTA ~520px. Desktop untouched. */
  body:has(.jim.lp-fc) .bde-header-builder__container{padding-top:10px;padding-bottom:10px}
  body:has(.jim.lp-fc) .bde-image-18-173,body:has(.jim.lp-fc) .bde-image-18-166,body:has(.jim.lp-fc) .bde-image-18-201{max-width:60px}
  .breakdance .jim.lp-fc .lp-b h1{font-size:24px;line-height:1.08;margin:0 0 8px}
  .jim.lp-fc .lp-b .lead{font-size:15px;line-height:1.4;margin:0}
  .jim.lp-fc .lp-b .lp-reviews{display:none}                       /* the phone copy sits under the form (make_form_in_hero) */
  .jim.lp-fc .lp-b .lp-after .lp-reviews{display:block;margin:12px 0 0}
  .jim.lp-fc .lp-b .lp-formwrap{margin-top:12px}
  .jim.lp-fc .lp-b .lp-formwrap .bn-form{padding:12px 14px 16px}
  .jim.lp-fc .lp-b .lp-formwrap .bn-form label{font-size:12px;line-height:18px;margin:8px 0 0}
  .jim.lp-fc .lp-b .lp-formwrap .bn-form input,.jim.lp-fc .lp-b .lp-formwrap .bn-form select{font-size:16px;line-height:22px;padding:11px 14px;margin-top:6px}
  .jim.lp-fc .lp-b .lp-formwrap .bn-form .ts{margin:0}
  .jim.lp-fc .lp-b .lp-formwrap .bn-form .btn{padding:13px 20px;line-height:20px;min-height:46px;margin-top:12px}
  /* home hero: .jim.lp-fc section's 60px padding was leaking onto .hero (same specificity, later rule); content-driven height with the video kept in view */
  .breakdance .jim.lp-fc .hero{padding:0;min-height:min(66vh,560px)}
  .jim.lp-fc .hero .wrap{padding:40px 20px 24px}
  .breakdance .jim.lp-fc .hero h1{font-size:clamp(28px,7.4vw,44px);line-height:1.08;margin:0 0 10px}
  .jim.lp-fc .hero .wrap>p{font-size:16px;line-height:1.45;margin:0}
  .jim.lp-fc .hero .btns{margin-top:14px;gap:6px}
  .jim.lp-fc .hero .btn{padding:13px 20px;line-height:20px}
  .jim.lp-fc .hero .btn.ghost{background:none;border:0;padding:8px 20px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--brand);text-decoration-thickness:2px}
  .jim.lp-fc .hero .trust{margin-top:10px}
}
