/* Funnel design: the look of the sales pages built from the course-publishing funnel templates.
   The templates output structure and copy only (class names listed in funnel-templates/CONTRACT.md);
   this file owns every visual rule. A page opts in with <body data-funnel-theme="...">, so pages
   without the attribute (catalogue, older pages, thank-you steps) are not affected.

   Themes (colours, fonts, badge) are tokens; layouts (one-page-basic, vsl-sales-letter, book-sales-letter)
   use only the tokens. Change a token to restyle every page that uses the theme.
     control-room  grey operator-screen look, one amber action colour, blue guarantee badge (default)
     sprint-board  white board look, one Done-green action colour, green guarantee badge */

@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-normal-400-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-normal-500-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-normal-600-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-condensed-normal-500-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-condensed-normal-600-latin.woff2) format("woff2")}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/geist-normal-latin.woff2) format("woff2")}

/* ------------------------------------------------------------------ themes */
[data-funnel-theme]{
  --fx-bg:#e8ebee; --fx-panel:#f6f7f8; --fx-tint:#dfe3e7; --fx-ink:#16232e; --fx-muted:#4f5d69; --fx-line:#c3cad1;
  --fx-action:#f0a020; --fx-action-hover:#ffb02e; --fx-action-ink:#1a1206; --fx-highlight:#fff4dc;
  --fx-band:#16232e; --fx-band-ink:#e6ebef; --fx-band-muted:#aab6c0; --fx-band-line:#33434f; --fx-band-panel:#1f2f3c;
  --fx-hero-bg:var(--fx-band);
  --fx-radius:4px; --fx-radius-lg:4px; --fx-shadow:0 18px 40px -18px #16232e66;
  --fx-font:"IBM Plex Sans",Arial,sans-serif; --fx-display:"IBM Plex Sans Condensed","IBM Plex Sans",Arial,sans-serif;
  --fx-display-weight:600; --fx-display-track:-.01em;
  --fx-badge:url(../img/guarantee-30-days-blue.webp);
  --fx-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23f0a020' stroke-width='2'/%3E%3C/svg%3E");
  --fx-check-bg:var(--fx-ink);
}
[data-funnel-theme="sprint-board"]{
  --fx-bg:#fff; --fx-panel:#fff; --fx-tint:#f2f4f7; --fx-ink:#17202a; --fx-muted:#55606d; --fx-line:#dde2e8;
  --fx-action:#16794a; --fx-action-hover:#11653d; --fx-action-ink:#fff; --fx-highlight:#f1f8f4;
  --fx-band:#17202a; --fx-band-ink:#fff; --fx-band-muted:#b8c2cc; --fx-band-line:#33414f; --fx-band-panel:#1f2a35;
  --fx-hero-bg:radial-gradient(ellipse 70% 60% at 50% 0%,#2a3a4a 0%,transparent 70%) #17202a;
  --fx-radius:8px; --fx-radius-lg:14px; --fx-shadow:0 24px 50px -30px #17202a66;
  --fx-font:Geist,Arial,sans-serif; --fx-display:Geist,Arial,sans-serif;
  --fx-display-weight:600; --fx-display-track:-.03em;
  --fx-badge:url(../img/guarantee-30-days-green.webp);
  --fx-check:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
  --fx-check-bg:var(--fx-action);
}

/* ------------------------------------------------------------------ shared */
body[data-funnel-theme]{background:var(--fx-bg)}
[data-funnel-theme] main{color:var(--fx-ink);font-family:var(--fx-font);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
[data-funnel-theme] main :is(h1,h2,h3){font-family:var(--fx-display);font-weight:var(--fx-display-weight);letter-spacing:var(--fx-display-track);line-height:1.08;color:inherit;text-wrap:balance}
[data-funnel-theme] main p{text-wrap:pretty}
[data-funnel-theme] main :focus-visible{outline:3px solid var(--fx-action);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){[data-funnel-theme]{scroll-behavior:smooth}}

/* The one action colour. Every buy button on every layout. */
[data-funnel-theme] :is(.fn-buy,.page-buy,.up-yes,.library-enrol .review-checkout.is-ready){display:block;width:100%;border:0;border-radius:var(--fx-radius);background:var(--fx-action);color:var(--fx-action-ink);font:600 1.1rem/1.25 var(--fx-font);text-align:center;cursor:pointer;box-shadow:inset 0 -2px 0 #0000001f;transition:background .2s,transform .1s}
[data-funnel-theme] :is(.ty-action,.purchase-action){display:inline-block;margin-top:16px;padding:13px 24px;border-radius:var(--fx-radius);background:var(--fx-action);color:var(--fx-action-ink);font:600 1rem/1.25 var(--fx-font);text-decoration:none;box-shadow:inset 0 -2px 0 #0000001f;transition:background .2s,transform .1s}
[data-funnel-theme] :is(.fn-buy:not([disabled]),.up-yes:not([disabled]),.page-buy,.ty-action,.purchase-action,.library-enrol .review-checkout.is-ready):hover{background:var(--fx-action-hover);color:var(--fx-action-ink)}
[data-funnel-theme] :is(.fn-buy:not([disabled]),.up-yes:not([disabled]),.page-buy,.ty-action,.purchase-action,.library-enrol .review-checkout.is-ready):active{transform:translateY(1px)}
[data-funnel-theme] :is(.fn-buy[disabled],.up-yes[disabled],.library-enrol .review-checkout:not(.is-ready)){display:block;width:100%;border:0;border-radius:var(--fx-radius);background:var(--fx-tint);color:var(--fx-muted);font:600 1rem/1.25 var(--fx-font);cursor:not-allowed;box-shadow:none;padding:16px 20px}
[data-funnel-theme] .fn-buy{max-width:540px;margin:20px auto 6px;padding:16px 22px}
[data-funnel-theme] .fn-buy small{display:block;margin-top:4px;font-weight:400;font-size:.82rem;opacity:.9}

[data-funnel-theme] :is(.fn-consent,.library-enrol .review-consent){margin:10px 0;font-size:.84rem;color:var(--fx-muted);text-align:left}
[data-funnel-theme] :is(.fn-consent,.library-enrol .review-consent) label{display:flex;gap:8px;align-items:flex-start;margin-bottom:5px}
[data-funnel-theme] :is(.fn-consent,.library-enrol .review-consent) input{margin-top:3px;accent-color:var(--fx-ink)}

[data-funnel-theme] :is(.fn-notice,.course-review-notice){max-width:1000px;margin:16px auto;padding:14px 18px;border-left:4px solid var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-highlight);color:var(--fx-ink);font-size:.95rem}

/* FAQ, both layouts */
[data-funnel-theme] :is(.fn-faq,.page-faq) details{border-top:1px solid var(--fx-line);border-bottom:0;padding:16px 0}
[data-funnel-theme] :is(.fn-faq,.page-faq) summary{cursor:pointer;font-weight:600;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
[data-funnel-theme] :is(.fn-faq,.page-faq) summary::-webkit-details-marker{display:none}
[data-funnel-theme] :is(.fn-faq,.page-faq) summary::after{content:"+";color:var(--fx-muted);font-weight:500}
[data-funnel-theme] :is(.fn-faq,.page-faq) details[open] summary::after{content:"\2212"}
[data-funnel-theme] :is(.fn-faq,.page-faq) details p{margin:10px 0 0;color:var(--fx-muted)}

/* Check-mark list item marker, used by several lists below */
[data-funnel-theme] :is(.fn-checks li,.library-outcomes article,#what-you-get li,.fn-stack li,.up-reasons li,.ty-bought li)::before{content:"";position:absolute;left:0;width:18px;height:18px;border-radius:calc(var(--fx-radius) - 1px);background:var(--fx-check-bg) var(--fx-check) center/14px no-repeat}

/* ------------------------------------------------------------------ one-page-basic */
[data-funnel-theme] .library-breadcrumb{color:var(--fx-muted)}
[data-funnel-theme] .library-breadcrumb a{color:var(--fx-muted);text-decoration:underline;text-underline-offset:3px}
[data-funnel-theme] .library-profile{grid-template-columns:minmax(0,1fr) 360px;gap:48px;padding-bottom:80px}
[data-funnel-theme] .library-profile h1{font-size:clamp(2.1rem,4vw,3.2rem);color:var(--fx-ink);margin:.4rem 0 1rem}
[data-funnel-theme] .library-lead{color:var(--fx-muted);font-size:1.2rem;max-width:36em}
[data-funnel-theme] .library-facts span{padding:4px 10px;border:1px solid var(--fx-line);border-radius:var(--fx-radius);background:var(--fx-panel);color:var(--fx-ink);font:500 .85rem var(--fx-font)}
[data-funnel-theme] .library-facts span:first-child{border-color:var(--fx-action);background:var(--fx-highlight)}
[data-funnel-theme] .library-cover{border-radius:var(--fx-radius);overflow:hidden;box-shadow:var(--fx-shadow)}
[data-funnel-theme] .library-profile section{margin-top:56px}
[data-funnel-theme] .library-profile h2{font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--fx-ink);margin:0 0 .7em}
[data-funnel-theme] .library-outcomes{grid-template-columns:1fr 1fr;gap:0 32px}
[data-funnel-theme] .library-outcomes article{position:relative;padding:14px 0 14px 34px;background:none;border:0;border-top:1px solid var(--fx-line);border-radius:0}
[data-funnel-theme] .library-outcomes article::before{top:18px}
[data-funnel-theme] .library-outcomes span{display:none}
[data-funnel-theme] .library-outcomes p{margin:0;font-weight:400;font-size:1rem;color:var(--fx-ink)}
[data-funnel-theme] .library-copy :is(p,li){color:var(--fx-ink)}
[data-funnel-theme] .library-copy p{max-width:40em}
[data-funnel-theme] .library-copy ul{max-width:40em;padding-left:1.1em}
[data-funnel-theme] .library-copy h2:not(:first-child){margin-top:40px}
[data-funnel-theme] .library-about > p:first-of-type{max-width:none;padding:22px 24px;border-left:4px solid var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-band);color:var(--fx-band-ink);font:500 1.3rem/1.45 var(--fx-display)}
[data-funnel-theme] .library-chapters{border-top:0}
[data-funnel-theme] .library-chapters article{grid-template-columns:2.6rem 1fr;gap:12px;padding:12px 0;border-bottom:0;border-top:1px solid var(--fx-line)}
[data-funnel-theme] .library-chapters article>span{font:600 1rem/1.5 var(--fx-display);color:var(--fx-muted);font-variant-numeric:tabular-nums}
[data-funnel-theme] .library-chapters h3{font:600 1rem/1.4 var(--fx-font);letter-spacing:0;color:var(--fx-ink);margin:0}
[data-funnel-theme] .library-chapters p{font-size:.94rem;color:var(--fx-muted)}
[data-funnel-theme] #what-you-get ul{list-style:none;padding:0;margin:0;max-width:none;display:grid;gap:10px}
[data-funnel-theme] #what-you-get li{position:relative;margin:0;padding:14px 16px 14px 46px;background:var(--fx-panel);border:1px solid var(--fx-line);border-radius:var(--fx-radius)}
[data-funnel-theme] #what-you-get li::before{left:16px;top:17px}
[data-funnel-theme] .page-buy{max-width:520px;margin:24px 0 0;padding:16px 24px}
[data-funnel-theme] .library-guarantee{position:relative;padding-left:144px;min-height:120px}
[data-funnel-theme] .library-guarantee::before{content:"";position:absolute;left:0;top:0;width:120px;height:120px;background:var(--fx-badge) center/contain no-repeat}
[data-funnel-theme] .library-guarantee p:last-child{font-size:.9rem;color:var(--fx-muted)}
[data-funnel-theme] .library-enrol{top:108px;padding:28px;border:1px solid var(--fx-line);border-top:4px solid var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-panel);box-shadow:none}
[data-funnel-theme] .library-enrol h2{font:600 1.15rem/1.3 var(--fx-display);margin:0 0 10px}
[data-funnel-theme] .library-enrol strong.review-price{font:var(--fx-display-weight) 3rem/1 var(--fx-display);color:var(--fx-ink);font-variant-numeric:tabular-nums}
[data-funnel-theme] .library-enrol .review-currency{display:inline;font:500 1rem var(--fx-font);color:var(--fx-muted)}
[data-funnel-theme] .library-enrol p:not(.library-eyebrow){font-size:.9rem;color:var(--fx-muted)}
[data-funnel-theme] .library-enrol>span{font-size:.9rem;color:var(--fx-muted);padding:2px 0}
[data-funnel-theme] .library-enrol hr{border-top-color:var(--fx-line);opacity:1;margin:18px 0}
[data-funnel-theme] .library-enrol .review-checkout.is-ready{padding:14px 20px;min-height:56px}
[data-funnel-theme] .library-enrol small{font-size:.82rem;color:var(--fx-muted);margin-top:10px}
[data-funnel-theme] .library-enrol p.library-enrol-guarantee{display:flex;gap:10px;align-items:center;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--fx-line);font-size:.85rem}
[data-funnel-theme] .library-enrol p.library-enrol-guarantee::before{content:"";flex:none;width:60px;height:60px;background:var(--fx-badge) center/contain no-repeat}
[data-funnel-theme] .library-enrol .library-card-link{color:var(--fx-ink);font:600 .9rem var(--fx-font);text-decoration:underline;text-underline-offset:3px}

/* ------------------------------------------------------------------ fn-* layouts (vsl-sales-letter, book-sales-letter) */
[data-funnel-theme] .fn-page{overflow-wrap:anywhere}
[data-funnel-theme] :where(.fn-page) p{font-size:1.0625rem;line-height:1.65}
[data-funnel-theme] .fn-wrap{max-width:1100px;margin:0 auto;padding:0 24px}
[data-funnel-theme] .fn-narrow{max-width:760px;margin:0 auto;padding:0 24px}
[data-funnel-theme] .fn-center{text-align:center}
[data-funnel-theme] .fn-muted{display:block;color:var(--fx-muted);font-size:.88rem}
[data-funnel-theme] .fn-small{font-size:.9rem}
[data-funnel-theme] .fn-section{padding:88px 0}
[data-funnel-theme] .fn-section h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:18px}
[data-funnel-theme] .fn-tint{background:var(--fx-tint)}
[data-funnel-theme] .fn-card{background:var(--fx-panel);border:1px solid var(--fx-line);border-radius:var(--fx-radius-lg);box-shadow:var(--fx-shadow);padding:28px}
[data-funnel-theme] .fn-topbar{background:var(--fx-tint);border-bottom:1px solid var(--fx-line);text-align:center;padding:10px 16px;font-size:.95rem;font-weight:500}
[data-funnel-theme] .fn-topbar-band{background:var(--fx-band);color:var(--fx-band-ink);border-bottom:0}
[data-funnel-theme] .fn-price strong{font:var(--fx-display-weight) 2.6rem/1 var(--fx-display);letter-spacing:var(--fx-display-track);font-variant-numeric:tabular-nums}
[data-funnel-theme] .fn-price span{color:var(--fx-muted);margin-left:6px}
[data-funnel-theme] .fn-checks{list-style:none;padding:0}
[data-funnel-theme] .fn-checks li{position:relative;padding:12px 0 12px 32px;border-top:1px solid var(--fx-line)}
[data-funnel-theme] .fn-checks li::before{top:16px}
[data-funnel-theme] .fn-two-col{columns:2;column-gap:40px;max-width:960px;margin:28px auto 0}
[data-funnel-theme] .fn-two-col li{break-inside:avoid}
[data-funnel-theme] .fn-label{display:inline-block;margin-bottom:10px;padding:2px 8px;border:1px solid var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-highlight);color:var(--fx-ink);font-size:.82rem;font-weight:600;letter-spacing:0;text-transform:none}
[data-funnel-theme] .fn-included{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0}
[data-funnel-theme] .fn-included img{width:100%;height:auto;border-radius:var(--fx-radius);margin-bottom:12px}
[data-funnel-theme] .fn-included h3{font-size:1.3rem;margin:4px 0 8px}
[data-funnel-theme] .fn-quote{border-left:4px solid var(--fx-action);padding:8px 16px;margin:16px 0}
[data-funnel-theme] .fn-quote footer{font-size:.88rem;color:var(--fx-muted);font-weight:500}
[data-funnel-theme] .fn-bump{display:grid;grid-template-columns:auto 96px 1fr;gap:14px;align-items:start;margin:14px 0 4px;padding:16px;border:1.5px dashed var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-highlight);color:var(--fx-ink);text-align:left;font-size:.9rem;line-height:1.45;cursor:pointer}
[data-funnel-theme] .fn-bump input{width:20px;height:20px;margin-top:2px;accent-color:var(--fx-action)}
[data-funnel-theme] .fn-bump img{width:96px;height:auto;border-radius:calc(var(--fx-radius) - 2px)}
[data-funnel-theme] .fn-bump strong{display:block;font-size:1rem;margin-bottom:4px}
[data-funnel-theme] .fn-bump-text{display:block;color:var(--fx-muted)}
[data-funnel-theme] .fn-faq h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:18px}
[data-funnel-theme] .fn-final{background:var(--fx-band);color:var(--fx-band-ink)}
[data-funnel-theme] .fn-final h2{font-size:clamp(1.9rem,4vw,2.8rem)}
[data-funnel-theme] .fn-disclaimers{padding:22px 0;text-align:center;color:var(--fx-muted)}
[data-funnel-theme] .fn-disclaimers p{font-size:.85rem;margin:0 0 6px}
[data-funnel-theme] .fn-disclaimers a{color:inherit}

/* vsl-sales-letter */
[data-funnel-theme] .fn-hero{background:var(--fx-hero-bg);color:var(--fx-band-ink);text-align:center;padding:44px 0 150px}
[data-funnel-theme] .fn-breadcrumb{font-size:.85rem;color:var(--fx-band-muted);margin-bottom:22px}
[data-funnel-theme] .fn-breadcrumb a{color:var(--fx-band-ink)}
[data-funnel-theme] .fn-pre{font-size:1.25rem;font-weight:500;font-style:normal;color:var(--fx-band-muted);margin:0}
[data-funnel-theme] .fn-hero h1{font-size:clamp(2.8rem,7vw,5rem);letter-spacing:calc(var(--fx-display-track) - .015em);margin:10px 0 14px}
[data-funnel-theme] .fn-sub{font-size:1.25rem;font-weight:400;line-height:1.45;max-width:34em;margin:0 auto 8px}
[data-funnel-theme] .fn-tagline{font-weight:600}
[data-funnel-theme] .fn-video{max-width:860px;margin:34px auto 0}
[data-funnel-theme] .fn-watch{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;padding:0;background:none;color:var(--fx-band-muted);font-weight:600;font-size:.95rem}
[data-funnel-theme] .fn-watch .bi{color:var(--fx-action);font-size:1.4rem;line-height:1}
[data-funnel-theme] :is(.fn-video,.fn-book-grid) .ratio{border-radius:var(--fx-radius-lg);overflow:hidden;background:#0d141b;box-shadow:var(--fx-shadow)}
[data-funnel-theme] .fn-offer-wrap{position:relative;padding:0 24px;margin-top:-110px}
[data-funnel-theme] .fn-offer{max-width:940px;margin:0 auto;display:grid;grid-template-columns:minmax(0,260px) 1fr;gap:36px;align-items:center;padding:32px}
[data-funnel-theme] .fn-offer-img{width:100%;height:auto}
[data-funnel-theme] .fn-offer h2{font-size:2rem;margin-bottom:8px}
[data-funnel-theme] .fn-offer h2 + p{color:var(--fx-muted)}
[data-funnel-theme] .fn-offer .fn-muted{text-align:center}
[data-funnel-theme] .fn-stack{max-width:780px;margin:0 auto;padding:40px 36px;text-align:center;background:var(--fx-band);color:var(--fx-band-ink);border:0}
[data-funnel-theme] .fn-stack img{max-width:100%;height:auto;margin:0 auto 24px}
[data-funnel-theme] .fn-stack ul{list-style:none;padding:0;margin:0 auto 22px;max-width:580px;text-align:left}
[data-funnel-theme] .fn-stack li{position:relative;padding:11px 0 11px 34px;border-top:1px solid var(--fx-band-line)}
[data-funnel-theme] .fn-stack li::before{top:15px;background-color:var(--fx-action)}
[data-funnel-theme] .fn-stack-total{color:var(--fx-band-muted);font-weight:500;margin:0}
[data-funnel-theme] .fn-stack-price{font-size:1.5rem;font-weight:600;margin:4px 0 0}
[data-funnel-theme] .fn-stack-price strong{font-size:2.2rem;letter-spacing:var(--fx-display-track)}
[data-funnel-theme] .fn-stack .fn-bump{max-width:580px;margin-left:auto;margin-right:auto;background:var(--fx-band-panel);color:var(--fx-band-ink)}
[data-funnel-theme] .fn-stack .fn-bump-text{color:var(--fx-band-muted)}
[data-funnel-theme] .fn-guarantee{max-width:780px;margin:0 auto;padding:44px 40px;text-align:center}
[data-funnel-theme] .fn-guarantee p{font-size:1.1rem}
[data-funnel-theme] .fn-guarantee::before{content:"";display:block;width:150px;height:150px;margin:-120px auto 10px;background:var(--fx-badge) center/contain no-repeat;filter:drop-shadow(0 10px 14px #0003)}
[data-funnel-theme] .fn-guarantee:has(.fn-badge)::before{display:none}
[data-funnel-theme] .fn-badge{width:150px;height:auto;margin:-120px auto 10px}

/* book-sales-letter */
[data-funnel-theme] .fn-book-hero{background:var(--fx-bg);padding:44px 0 52px;text-align:center;border-bottom:1px solid var(--fx-line)}
[data-funnel-theme] .fn-book-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);font-style:normal;margin-bottom:8px}
[data-funnel-theme] .fn-book-hero .fn-sub{color:var(--fx-muted);font-weight:500;max-width:36em}
[data-funnel-theme] .fn-book-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:32px;align-items:start;margin-top:32px;text-align:left}
[data-funnel-theme] .fn-under{font-size:.95rem;color:var(--fx-muted);margin:14px 0 0;text-align:left}
[data-funnel-theme] .fn-under-img{display:block;max-width:100%;height:auto;margin:14px 0 0;border-radius:var(--fx-radius)}
[data-funnel-theme] .fn-cover{max-width:100%;height:auto}
[data-funnel-theme] .fn-buybox{text-align:center}
[data-funnel-theme] .fn-buybox-cover{display:block;max-width:100%;max-height:230px;width:auto;margin:0 auto 14px;filter:drop-shadow(0 14px 18px #16232e40)}
[data-funnel-theme] .fn-buybox h2{font-size:1.7rem;margin:0 0 6px}
[data-funnel-theme] .fn-buybox .fn-buy{max-width:none}
[data-funnel-theme] .fn-buybox-final{max-width:520px;margin:0 auto}
[data-funnel-theme] .fn-credibility{max-width:48em;margin:28px auto 0;padding-top:18px;border-top:1px solid var(--fx-line);color:var(--fx-muted);font-size:.88rem;font-weight:400;letter-spacing:0;text-transform:none}
[data-funnel-theme] .fn-band-section{background:var(--fx-band);color:var(--fx-band-ink)}
[data-funnel-theme] .fn-band-section a{color:inherit}
[data-funnel-theme] .fn-band-section > .fn-wrap > p{color:var(--fx-band-muted)}
[data-funnel-theme] .fn-proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:56px 20px;margin-top:56px;color:var(--fx-band-ink)}
[data-funnel-theme] .fn-proof .fn-card{background:var(--fx-band-panel);border-color:var(--fx-band-line);box-shadow:none;padding:0 24px 24px;text-align:left}
[data-funnel-theme] .fn-proof p{margin:16px 0 14px}
[data-funnel-theme] .fn-proof footer{font-size:.85rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--fx-action)}
[data-funnel-theme] .fn-round{width:84px;height:84px;border-radius:50%;object-fit:cover;margin-top:-42px;border:3px solid var(--fx-band)}
[data-funnel-theme] .fn-lead{color:var(--fx-muted);font-size:1.1rem;max-width:680px;margin:0 auto 12px}
[data-funnel-theme] .fn-row{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;align-items:center;max-width:960px;margin:20px auto;text-align:left;box-shadow:none}
[data-funnel-theme] .fn-row:nth-of-type(even){grid-template-columns:1fr 1.4fr}
[data-funnel-theme] .fn-row:nth-of-type(even) img{order:-1}
[data-funnel-theme] .fn-row img{width:100%;height:auto;border-radius:var(--fx-radius)}
[data-funnel-theme] .fn-row h3{font-size:1.4rem;margin-bottom:8px}
[data-funnel-theme] .fn-row p{margin:0;color:var(--fx-muted)}
[data-funnel-theme] .fn-band-section:has(.fn-guarantee-row){background:var(--fx-tint);color:var(--fx-ink);padding:64px 0}
[data-funnel-theme] .fn-guarantee-row{display:flex;gap:32px;align-items:center;justify-content:center;max-width:860px}
[data-funnel-theme] .fn-guarantee-row::before{content:"";flex:none;width:160px;height:160px;background:var(--fx-badge) center/contain no-repeat}
[data-funnel-theme] .fn-guarantee-row:has(.fn-badge-side)::before{display:none}
[data-funnel-theme] .fn-guarantee-row .fn-small{color:var(--fx-muted)}
[data-funnel-theme] .fn-badge-side{width:160px;height:auto}
[data-funnel-theme] .fn-author{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:center}
[data-funnel-theme] .fn-author img{width:100%;height:auto;border-radius:var(--fx-radius)}
[data-funnel-theme] .fn-pre-line{color:var(--fx-muted);font-weight:600;margin:0 0 6px}
[data-funnel-theme] .fn-section:has(> .fn-buybox-final){padding-top:0}

/* ------------------------------------------------------------------ offer after checkout (vsl upgrade/, book add-the-course/) */
[data-funnel-theme] .up-page{overflow-wrap:anywhere}
[data-funnel-theme] :where(.up-page) p{font-size:1.0625rem;line-height:1.65}
[data-funnel-theme] .up-wrap{max-width:1100px;margin:0 auto;padding:0 24px}
[data-funnel-theme] .up-narrow{max-width:760px;margin:0 auto;padding:0 24px}
[data-funnel-theme] .up-center{text-align:center}
[data-funnel-theme] .up-notice{max-width:1000px;margin:16px auto;padding:14px 18px;border-left:4px solid var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-highlight);color:var(--fx-ink)}
[data-funnel-theme] .up-bar{background:var(--fx-band);color:var(--fx-band-ink);text-align:center;padding:12px 16px;font-weight:500}
[data-funnel-theme] .up-bar i{margin-right:6px}
[data-funnel-theme] .up-hero{background:var(--fx-bg);padding:44px 0 56px;text-align:center;border-bottom:1px solid var(--fx-line)}
[data-funnel-theme] .up-pre{color:var(--fx-muted);font-weight:600;margin:0 0 6px}
[data-funnel-theme] .up-hero h1{font-size:clamp(2.1rem,5vw,3.4rem);margin:0 0 14px}
[data-funnel-theme] .up-hero .up-sub{max-width:36em;margin:0 auto 26px;font-size:1.2rem;color:var(--fx-muted);line-height:1.45}
[data-funnel-theme] .up-video{max-width:820px;margin:0 auto;border-radius:var(--fx-radius-lg);overflow:hidden;background:#0d141b;box-shadow:var(--fx-shadow)}
[data-funnel-theme] .up-yes{max-width:540px;margin:24px auto 8px;padding:16px 22px}
[data-funnel-theme] .up-no{display:inline-block;color:var(--fx-muted);font-size:.95rem;text-decoration:underline;text-underline-offset:3px}
[data-funnel-theme] .up-section{padding:72px 0}
[data-funnel-theme] .up-section h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:16px}
[data-funnel-theme] .up-tint{background:var(--fx-tint)}
[data-funnel-theme] .up-letter-pre{color:var(--fx-muted);font-weight:600;margin:0 0 6px}
[data-funnel-theme] .up-why{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center}
[data-funnel-theme] .up-why img{width:100%;height:auto;border-radius:var(--fx-radius)}
[data-funnel-theme] .up-reasons-head{text-align:center;margin-bottom:24px}
[data-funnel-theme] .up-reasons-head h2{margin-bottom:4px}
[data-funnel-theme] .up-reasons-head p{color:var(--fx-muted);font-size:1.15rem;font-weight:500;margin:0}
[data-funnel-theme] .up-reasons{list-style:none;padding:0;margin:0 auto;max-width:960px;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
[data-funnel-theme] .up-reasons li{position:relative;padding:12px 0 12px 32px;border-top:1px solid var(--fx-line);line-height:1.55}
[data-funnel-theme] .up-reasons li::before{top:16px}
[data-funnel-theme] .up-offer{background:var(--fx-band);color:var(--fx-band-ink);border-radius:var(--fx-radius-lg);padding:36px;display:grid;grid-template-columns:minmax(0,300px) 1fr;gap:36px;align-items:center}
[data-funnel-theme] .up-offer img{width:100%;height:auto;border-radius:var(--fx-radius)}
[data-funnel-theme] .up-offer h2{font-size:clamp(1.8rem,3.6vw,2.5rem);margin-bottom:8px}
[data-funnel-theme] .up-offer .up-offer-sub{font-size:1.15rem;font-weight:500;color:var(--fx-band-muted);margin-bottom:10px}
[data-funnel-theme] .up-offer-price{font:var(--fx-display-weight) 1.8rem/1.1 var(--fx-display);margin:10px 0 0}
[data-funnel-theme] .up-offer .up-yes{margin-left:0}
[data-funnel-theme] .up-offer .up-no{color:var(--fx-band-muted)}
[data-funnel-theme] .up-stack-section{padding:0}
[data-funnel-theme] .up-stack-band{background:var(--fx-band);color:var(--fx-band-ink);text-align:center;padding:44px 16px 124px}
[data-funnel-theme] .up-stack-band h2{margin:0;font-size:clamp(1.8rem,3.6vw,2.5rem)}
[data-funnel-theme] .up-stack{max-width:680px;margin:-96px auto 0;background:var(--fx-panel);border:1px solid var(--fx-line);border-radius:var(--fx-radius-lg);box-shadow:var(--fx-shadow);padding:32px}
[data-funnel-theme] .up-stack-hero{display:block;max-width:100%;height:auto;margin:0 auto 16px}
[data-funnel-theme] .up-items{list-style:none;padding:0;margin:0}
[data-funnel-theme] .up-items li{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--fx-line)}
[data-funnel-theme] .up-items img{width:72px;height:auto;border-radius:calc(var(--fx-radius) - 1px)}
[data-funnel-theme] .up-items h3{font:600 1.05rem/1.3 var(--fx-font);letter-spacing:0;margin:0 0 2px}
[data-funnel-theme] .up-items p{font-size:.92rem;color:var(--fx-muted);margin:0;line-height:1.45}
[data-funnel-theme] .up-value{font:var(--fx-display-weight) 1.3rem/1.1 var(--fx-display);text-align:right;font-variant-numeric:tabular-nums}
[data-funnel-theme] .up-value small{display:block;font:500 .72rem var(--fx-font);color:var(--fx-muted)}
[data-funnel-theme] .up-total{text-align:center;color:var(--fx-muted);font-weight:500;margin:18px 0 0}
[data-funnel-theme] .up-price{text-align:center;font:var(--fx-display-weight) clamp(1.6rem,4vw,2.1rem)/1.15 var(--fx-display);margin:4px 0 0}

/* ------------------------------------------------------------------ order confirmation (thank-you/, and /checkout/thank-you/ when a page opts in) */
[data-funnel-theme] .ty-page{overflow-wrap:anywhere;background:var(--fx-bg);padding:44px 0 56px}
[data-funnel-theme] .ty-wrap{max-width:780px;margin:0 auto;padding:0 24px}
[data-funnel-theme] :is(.ty-card,.purchase-card){background:var(--fx-panel);border:1px solid var(--fx-line);border-top:4px solid var(--fx-action);border-radius:var(--fx-radius-lg);padding:36px;box-shadow:none}
[data-funnel-theme] .purchase-card{max-width:780px;margin:44px auto 56px}
[data-funnel-theme] :is(.ty-card,.purchase-card) h1{font-size:clamp(1.8rem,4.2vw,2.4rem);margin:0 0 12px}
[data-funnel-theme] :is(.ty-card,.purchase-card) h2:not(.h5){font-size:1.2rem}
[data-funnel-theme] :is(.ty-card,.purchase-card) .h5{font:600 1.1rem/1.3 var(--fx-display);letter-spacing:0}
[data-funnel-theme] .ty-ready{color:var(--fx-ink);font-weight:600;font-size:1.15rem;margin:0 0 16px}
[data-funnel-theme] .ty-ready i{margin-right:6px;color:#278268}
[data-funnel-theme] .ty-bought{list-style:none;padding:0;margin:0 0 8px}
[data-funnel-theme] .ty-bought li{position:relative;padding:10px 0 10px 32px;border-top:1px solid var(--fx-line)}
[data-funnel-theme] .ty-bought li::before{top:14px}
[data-funnel-theme] .ty-steps-title{margin:28px 0 0}
[data-funnel-theme] :is(.ty-steps,.purchase-steps){counter-reset:step;list-style:none;padding:0;margin:14px 0 8px}
[data-funnel-theme] :is(.ty-steps,.purchase-steps) li{counter-increment:step;position:relative;margin:0;padding:14px 0 14px 50px;border-top:1px solid var(--fx-line)}
[data-funnel-theme] :is(.ty-steps,.purchase-steps) li::before{content:counter(step);position:absolute;left:0;top:11px;width:34px;height:34px;border-radius:50%;background:var(--fx-band);color:var(--fx-band-ink);font:600 1rem/34px var(--fx-display);text-align:center}
[data-funnel-theme] :is(.ty-muted,.purchase-muted){color:var(--fx-muted);font-size:.92rem}
[data-funnel-theme] .ty-added{margin-top:24px;padding:16px 18px;border-left:4px solid var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-highlight)}
[data-funnel-theme] .ty-added p{margin:0}
[data-funnel-theme] .ty-added .ty-action{margin-top:12px}
[data-funnel-theme] .ty-note{margin-top:24px}
[data-funnel-theme] :is(.ty-note,.ty-notes) h2{font-size:1.05rem;margin:0 0 6px}
[data-funnel-theme] .ty-notes{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:28px 0 0}
[data-funnel-theme] .ty-notes h2 i{color:var(--fx-ink);margin-right:6px}
[data-funnel-theme] .ty-notes p{font-size:.95rem;color:var(--fx-muted);margin:0}
[data-funnel-theme] .ty-card section{padding:0}
[data-funnel-theme] :is(.ty-preferences,.purchase-preferences){margin-top:28px;padding-top:24px;border-top:1px solid var(--fx-line)}
[data-funnel-theme] :is(.ty-preferences,.purchase-preferences) .form-check-input{accent-color:var(--fx-ink)}
[data-funnel-theme] :is(.ty-preferences,.purchase-preferences) .btn{border:1px solid var(--fx-ink);border-radius:var(--fx-radius);background:transparent;color:var(--fx-ink);font:600 .9rem var(--fx-font)}
[data-funnel-theme] :is(.ty-preferences,.purchase-preferences) .btn:hover{background:var(--fx-ink);color:var(--fx-bg)}
[data-funnel-theme] .ty-more{padding:48px 0 0}
[data-funnel-theme] .ty-more-head{text-align:center;margin-bottom:20px}
[data-funnel-theme] .ty-more-head h2{font-size:clamp(1.5rem,3.4vw,2rem);margin:0 0 4px}
[data-funnel-theme] .ty-more-head p{color:var(--fx-muted);margin:0}
[data-funnel-theme] .ty-suggestion{display:grid;grid-template-columns:120px 1fr;gap:20px;align-items:center;padding:16px;margin-bottom:12px;background:var(--fx-panel);border:1px solid var(--fx-line);border-radius:var(--fx-radius-lg);color:inherit;text-decoration:none}
[data-funnel-theme] .ty-suggestion:hover h3{text-decoration:underline}
[data-funnel-theme] .ty-suggestion img{width:120px;height:auto;border-radius:var(--fx-radius)}
[data-funnel-theme] .ty-suggestion h3{font-size:1.1rem;margin:0 0 4px}
[data-funnel-theme] .ty-suggestion p{font-size:.95rem;color:var(--fx-muted);margin:0;line-height:1.5}

/* Purchase-confirmation progress (purchase-progress.css, V39): same behaviour, theme colours */
[data-funnel-theme] .purchase-status{border-color:var(--fx-line);border-left-color:var(--fx-action);border-radius:var(--fx-radius);background:var(--fx-highlight);color:var(--fx-ink);font-family:var(--fx-font)}
[data-funnel-theme] .purchase-status button{border-color:var(--fx-ink);border-radius:var(--fx-radius);color:var(--fx-ink);background:var(--fx-panel)}
[data-funnel-theme] .purchase-spinner{border-color:var(--fx-line);border-top-color:var(--fx-action)}
[data-funnel-theme] .purchase-status[data-state=ready]{border-left-color:#278268;background:#f3faf7}
[data-funnel-theme] .purchase-transition-card{background:var(--fx-panel);color:var(--fx-ink);border-radius:var(--fx-radius-lg);font-family:var(--fx-font)}

/* ------------------------------------------------------------------ values, discounts and letter images (templates 2026-10-25) */
[data-funnel-theme] .fn-letter-img{display:block;width:100%;height:auto;margin:26px 0 8px;border:1px solid var(--fx-line);border-radius:var(--fx-radius-lg);background:var(--fx-panel)}
[data-funnel-theme] .fn-offer-value{margin:6px 0 0;color:var(--fx-muted);font-weight:600}
[data-funnel-theme] .fn-bump-label{display:inline-block;margin:16px 0 -8px;padding:3px 12px;border-radius:var(--fx-radius) var(--fx-radius) 0 0;background:var(--fx-action);color:var(--fx-action-ink);font-weight:600;font-size:.88rem;text-align:left}
[data-funnel-theme] .fn-bump-price{display:block;margin:6px 0 4px}
[data-funnel-theme] .fn-bump-price s{color:var(--fx-muted);margin-right:6px}
[data-funnel-theme] .fn-bump-price strong{font:var(--fx-display-weight) 1.25rem/1.2 var(--fx-display)}
[data-funnel-theme] .fn-stack .fn-stack-bonuses .fn-bump-price s,[data-funnel-theme] .fn-stack .fn-bump-price s{color:var(--fx-band-muted)}
[data-funnel-theme] .fn-stack-items{list-style:none;padding:0;margin:0 auto 18px;max-width:600px;text-align:left}
[data-funnel-theme] .fn-stack .fn-stack-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
[data-funnel-theme] .fn-stack-row > span:not(.fn-stack-value){flex:1;min-width:0}
[data-funnel-theme] .fn-stack-value{flex:none;font:var(--fx-display-weight) 1.05rem/1.4 var(--fx-display);white-space:nowrap;color:var(--fx-band-ink)}
[data-funnel-theme] .fn-stack-bonuses{margin-top:6px;padding-top:8px;border-top:2px dashed var(--fx-band-line)}
[data-funnel-theme] .fn-stack-price span{font-size:1rem;color:var(--fx-band-muted);font-weight:500}
[data-funnel-theme] .fn-total-line{margin:28px auto 8px;max-width:40em;font:var(--fx-display-weight) 1.25rem/1.35 var(--fx-display)}
[data-funnel-theme] .up-deal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 18px;max-width:560px;margin:0 auto 24px;padding:16px 22px;border:2px solid var(--fx-action);border-radius:var(--fx-radius-lg);background:var(--fx-highlight);color:var(--fx-ink)}
[data-funnel-theme] .up-deal-was{font-size:1.4rem;color:var(--fx-muted)}
[data-funnel-theme] .up-deal-was s{text-decoration-thickness:2px}
[data-funnel-theme] .up-deal-now{font:var(--fx-display-weight) clamp(2.3rem,6vw,3.1rem)/1 var(--fx-display);font-variant-numeric:tabular-nums}
[data-funnel-theme] .up-deal-save{padding:5px 14px;border-radius:var(--fx-radius);background:var(--fx-action);color:var(--fx-action-ink);font-weight:600;font-size:1.02rem}
[data-funnel-theme] .up-deal-note{flex-basis:100%;text-align:center;font-size:.95rem;color:var(--fx-muted)}
[data-funnel-theme] .up-offer .up-deal{margin:18px 0}
[data-funnel-theme] .up-stack .up-deal{margin:22px auto}
[data-funnel-theme] .up-guarantee{background:var(--fx-tint)}
[data-funnel-theme] .up-guarantee .up-narrow{position:relative;padding-left:168px;min-height:140px}
[data-funnel-theme] .up-guarantee .up-narrow::before{content:"";position:absolute;left:24px;top:0;width:120px;height:120px;background:var(--fx-badge) center/contain no-repeat}
[data-funnel-theme] .up-guarantee h2{margin-bottom:12px}

/* ------------------------------------------------------------------ layout refinements (V42) */
/* The condensed control-room face carries long headlines; keep them to about three lines. */
[data-funnel-theme="control-room"] .fn-hero h1{font-size:clamp(2.3rem,4.8vw,3.7rem);letter-spacing:-.01em;max-width:18em;margin-left:auto;margin-right:auto}
[data-funnel-theme="control-room"] .fn-offer{align-items:start}
/* Curriculum without images: a two-column module list instead of a wall of identical cards. */
[data-funnel-theme] .fn-included:not(:has(img)){grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 40px;max-width:1000px;margin:28px auto}
[data-funnel-theme] .fn-included:not(:has(img)) .fn-card{background:none;border:0;border-top:2px solid var(--fx-ink);border-radius:0;box-shadow:none;padding:16px 0 22px}
[data-funnel-theme] .fn-included:not(:has(img)) .fn-label{border:0;background:none;padding:0;margin:0 0 4px;color:var(--fx-muted);font-family:var(--fx-display);font-weight:600;font-size:.85rem}
[data-funnel-theme] .fn-included:not(:has(img)) h3{font-size:1.2rem;margin:0 0 6px}
[data-funnel-theme] .fn-included:not(:has(img)) p{font-size:.98rem;color:var(--fx-muted);margin:0}
/* A section built for an image but given none uses the full width, not an empty column. */
[data-funnel-theme] .fn-row:not(:has(img)),[data-funnel-theme] .fn-row:nth-of-type(even):not(:has(img)){grid-template-columns:1fr}
[data-funnel-theme] .fn-row:not(:has(img)) > div{max-width:46em}
[data-funnel-theme] .fn-author:not(:has(img)){grid-template-columns:1fr;max-width:760px}
[data-funnel-theme] .up-offer:not(:has(> img)){grid-template-columns:1fr;max-width:760px;margin:0 auto}
[data-funnel-theme] .up-items li:not(:has(> img)){grid-template-columns:1fr auto}
[data-funnel-theme] .up-items li:not(:has(> img)) > span:first-child:empty{display:none}

/* ------------------------------------------------------------------ small screens */
@media (max-width:900px){
  [data-funnel-theme] .library-profile{grid-template-columns:1fr;gap:24px}
  [data-funnel-theme] .library-outcomes{grid-template-columns:1fr}
  [data-funnel-theme] .library-enrol{position:static}
  [data-funnel-theme] :is(.fn-book-grid,.fn-row,.fn-row:nth-of-type(even),.fn-author){grid-template-columns:1fr}
  [data-funnel-theme] .fn-row:nth-of-type(even) img{order:0}
  [data-funnel-theme] .fn-two-col{columns:1}
  [data-funnel-theme] .fn-guarantee-row{flex-direction:column;text-align:center}
  [data-funnel-theme] :is(.up-why,.up-offer){grid-template-columns:1fr}
  [data-funnel-theme] .up-reasons{grid-template-columns:1fr}
  [data-funnel-theme] .up-offer{text-align:center}
  [data-funnel-theme] .up-offer .up-yes{margin-left:auto}
}
@media (max-width:640px){
  [data-funnel-theme] :is(.ty-card,.purchase-card){padding:24px}
  [data-funnel-theme] .ty-notes{grid-template-columns:1fr}
  [data-funnel-theme] .ty-suggestion{grid-template-columns:80px 1fr}
  [data-funnel-theme] .ty-suggestion img{width:80px}
  [data-funnel-theme] :is(.up-wrap,.up-narrow,.ty-wrap){padding:0 16px}
  [data-funnel-theme] .up-section{padding:56px 0}
  [data-funnel-theme] .up-guarantee .up-narrow{padding-left:16px;padding-top:132px}
  [data-funnel-theme] .up-guarantee .up-narrow::before{left:16px}
  [data-funnel-theme] .fn-stack .fn-stack-row{flex-direction:column;gap:2px}
}
@media (max-width:420px){
  [data-funnel-theme] .up-items li{grid-template-columns:56px 1fr}
  [data-funnel-theme] .up-items img{width:56px}
  [data-funnel-theme] .up-value{grid-column:2;text-align:left}
}
@media (max-width:760px){
  [data-funnel-theme] .fn-section{padding:60px 0}
  [data-funnel-theme] :is(.fn-wrap,.fn-narrow){padding:0 16px}
  [data-funnel-theme] .fn-hero{padding-bottom:130px}
  [data-funnel-theme] .fn-offer-wrap{padding:0 16px}
  [data-funnel-theme] .fn-offer{grid-template-columns:1fr;text-align:center;padding:24px}
  [data-funnel-theme] .fn-offer-img{max-width:260px;margin:0 auto}
  [data-funnel-theme] .fn-bump{grid-template-columns:auto 1fr}
  [data-funnel-theme] .fn-bump img{display:none}
  [data-funnel-theme] :is(.fn-stack,.fn-guarantee){padding:32px 20px}
  [data-funnel-theme] .library-guarantee{padding-left:0;padding-top:132px}
}
