/* Logo files: *_light = for light backgrounds (header); *_dark = for dark backgrounds (footer). */
/* Uses only the variables from /theme.css (generated from src/config/theme.ts). */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ffp-paper);color:var(--ffp-ink);font-family:var(--ffp-font-body);font-size:18px;line-height:1.55}
h1,h2,h3{font-family:var(--ffp-font-heading);font-variation-settings:var(--ffp-heading-variation);font-weight:500;color:var(--ffp-fern);line-height:1.1;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(40px,5vw,56px);line-height:1.05}
h2{font-size:clamp(30px,3.4vw,38px)}
h3{font-size:clamp(21px,2vw,24px);font-weight:600;line-height:1.25}
a{color:var(--ffp-clay)}
p{max-width:68ch}
.amp{font-style:var(--ffp-amp-style);color:var(--ffp-amp-color);font-variation-settings:var(--ffp-amp-variation)}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:720px}
.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.17em;font-size:14px;color:var(--ffp-fern);margin:0 0 10px}
.note{font-family:var(--ffp-font-accent);font-weight:600;font-size:28px;color:var(--ffp-clay);line-height:1.05}
.fine{font-size:13.5px;line-height:1.45;letter-spacing:.02em;color:var(--ffp-ink)}
header.site{border-bottom:1px solid var(--ffp-parch);background:var(--ffp-paper)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:76px;gap:16px}
header.site img{height:44px;display:block}
header.site nav a{color:var(--ffp-fern);text-decoration:none;font-weight:700;margin-left:22px;font-size:16px}
header.site nav a:hover{text-decoration:underline}
.btn{display:inline-block;border:0;cursor:pointer;background:var(--ffp-fern);color:var(--ffp-paper);font:800 15px/1 var(--ffp-font-body);text-transform:uppercase;letter-spacing:.12em;padding:17px 26px;border-radius:var(--ffp-radius);text-decoration:none}
.btn:hover{filter:brightness(1.12)}
.btn.clay{background:var(--ffp-clay)}
.btn.ghost{background:transparent;color:var(--ffp-fern);border:2px solid var(--ffp-fern)}
.btn.block{display:block;width:100%;text-align:center}
.btn.disabled,.btn.disabled:hover{opacity:.55;cursor:not-allowed;filter:none}
.link-btn{background:none;border:0;color:var(--ffp-ink);text-decoration:underline;cursor:pointer;font:inherit;font-size:15px}
.hero{padding:72px 0 56px}
.hero .grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.hero .frond{width:100%;max-width:320px;opacity:.9;justify-self:center}
.section{padding:56px 0}
.section.parch{background:var(--ffp-parch)}
.section.fern{background:var(--ffp-fern);color:var(--ffp-fiddle)}
.section.fern h2,.section.fern h3{color:var(--ffp-paper)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}
.card{background:var(--ffp-paper);border:1px solid var(--ffp-parch);border-radius:var(--ffp-radius);padding:24px;display:flex;flex-direction:column}
.section.parch .card{border-color:#d9cbad}
.card .price{font-weight:800;font-size:22px;color:var(--ffp-fern);margin:auto 0 14px}
.price s{color:#5d5d5d;font-weight:400;font-size:.8em;margin-left:6px}
.panel{background:var(--ffp-fiddle);border-radius:var(--ffp-radius);padding:22px 24px}
ul.ticks{list-style:none;padding:0;margin:0 0 20px}
ul.ticks li{padding-left:30px;position:relative;margin:8px 0}
ul.ticks li:before{content:"";position:absolute;left:4px;top:.55em;width:12px;height:7px;border-left:3px solid var(--ffp-fern);border-bottom:3px solid var(--ffp-fern);transform:rotate(-45deg)}
form.stack label{display:block;font-weight:700;font-size:15px;margin:14px 0 6px}
input[type=text],input[type=email],input[type=password],input[type=number],select{width:100%;padding:14px;border:1.5px solid #c9bb9c;border-radius:10px;background:#fffdf7;font:inherit;color:var(--ffp-ink)}
input:focus,select:focus{outline:3px solid var(--ffp-fiddle);border-color:var(--ffp-fern)}
.hp{position:absolute;left:-9999px}
.checkout{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;padding:48px 0}
.summary{background:var(--ffp-paper);border:1px solid var(--ffp-parch);border-radius:var(--ffp-radius);padding:24px}
.summary table{width:100%;border-collapse:collapse;font-size:16px}
.summary td{padding:8px 0;border-bottom:1px dashed var(--ffp-parch)}
.summary td:last-child{text-align:right;font-weight:700}
.summary tr.total td{border:0;font-size:20px;color:var(--ffp-fern);padding-top:14px}
.bump{border:2.5px dashed var(--ffp-clay);background:#fbf0e6;border-radius:var(--ffp-radius);padding:18px 20px;margin:22px 0}
.bump label{display:flex;gap:12px;align-items:flex-start;font-weight:800;color:var(--ffp-clay);cursor:pointer}
.bump input{width:22px;height:22px;margin-top:3px;accent-color:var(--ffp-clay)}
.bump p{margin:8px 0 0 34px;font-size:15.5px}
.offer{max-width:760px;margin:0 auto;padding:44px 24px;text-align:center}
.offer .panel{text-align:left;margin:24px 0}
.progress{display:flex;gap:6px;justify-content:center;margin-bottom:22px}
.progress span{width:44px;height:6px;border-radius:3px;background:var(--ffp-parch)}
.progress span.on{background:var(--ffp-fern)}
.player{display:grid;grid-template-columns:280px 1fr;gap:32px;padding:36px 0}
.player nav{border-right:1px solid var(--ffp-parch);padding-right:20px}
.player nav a{display:block;padding:10px 12px;border-radius:10px;color:var(--ffp-ink);text-decoration:none;font-size:16px}
.player nav a.on{background:var(--ffp-fiddle);font-weight:800;color:var(--ffp-fern)}
.player nav a .done{color:var(--ffp-fern);font-weight:800}
.video{aspect-ratio:16/9;background:var(--ffp-fern);border-radius:var(--ffp-radius);display:grid;place-items:center;color:var(--ffp-fiddle);margin-bottom:24px}
.lesson-body{max-width:70ch}
.tag{display:inline-block;background:var(--ffp-fiddle);color:var(--ffp-fern);font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:99px}
.tag.clay{background:#f4dccf;color:var(--ffp-clay)}
.flash{background:var(--ffp-fiddle);border-radius:10px;padding:12px 16px;margin:16px 0}
.flash.err{background:#f4dccf}
.admin table{width:100%;border-collapse:collapse;font-size:14.5px;background:#fffdf7}
.admin th,.admin td{border-bottom:1px solid var(--ffp-parch);padding:8px 10px;text-align:left;vertical-align:top}
.admin th{background:var(--ffp-parch)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
.stat{background:var(--ffp-fiddle);border-radius:12px;padding:16px}
.stat b{display:block;font-size:26px;color:var(--ffp-fern)}
.devbar{background:var(--ffp-ink);color:var(--ffp-fiddle);font-size:13px;text-align:center;padding:6px}
footer.site{background:var(--ffp-fern);color:var(--ffp-fiddle);padding:44px 0 32px;margin-top:40px}
footer.site a{color:var(--ffp-paper)}
footer.site .cols{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}
footer.site img{height:40px}
footer.site .fine{color:var(--ffp-fiddle);max-width:none}
.legal h2{margin-top:1.4em}
@media (max-width:820px){.hero .grid,.checkout,.player{grid-template-columns:1fr}.hero .frond{display:none}.stats{grid-template-columns:1fr 1fr}header.site nav a{margin-left:12px}.player nav{border:0}}
.lesson-body table{border-collapse:collapse;width:100%;margin:14px 0 22px;font-size:16px;background:var(--ffp-paper)}
.lesson-body th,.lesson-body td{border:1px solid var(--ffp-parch);padding:8px 10px;text-align:left;vertical-align:top}
.lesson-body th{background:var(--ffp-parch)}
.lesson-body hr{border:none;border-top:1px solid var(--ffp-parch);margin:28px 0}
.lesson-body blockquote{margin:16px 0;padding:12px 18px;background:var(--ffp-fiddle);border-radius:10px}
header.site nav a{white-space:nowrap}
@media (max-width:560px){header.site .wrap{height:auto;padding-top:12px;padding-bottom:12px;flex-wrap:wrap;justify-content:center}header.site img{height:36px}header.site nav a{font-size:14px;margin:0 8px}.devbar{font-size:11px}}
.stacked-mark{display:block;height:72px;width:auto;margin:0 0 16px}
.offer .stacked-mark{margin:0 auto 16px}
