/* craft skin: German for Beginners — bakery cream + pine green + cranberry + amber; paper-bag cards, Fahrkarte chips, Fachwerk section edges. Space Grotesk 700 + Caveat 600 + Nunito. Tokens also come from theme_config.tokens. */
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:300 700;font-display:swap;src:url(../../fonts/space-grotesk-latin-wght.woff2) format('woff2')}
@font-face{font-family:'Caveat';font-style:normal;font-weight:500 700;font-display:swap;unicode-range:U+00A0,U+00A7,U+00AB,U+00B0,U+00BB,U+00C0-00FF;src:url(../../fonts/caveat-latin1-wght.woff2) format('woff2')}
.cfs-german{--bg:#F8F4EC;--bg2:#EFE4D2;--paper:#FFFDF9;--deep:#22372F;--ink:#262B2F;--mute:#5C6368;--line:#E2D8C6;--accent:#C9A063;--accent-ink:#9B2F3B;--pop:#E0A43A;--pop2:#3F6B57;--pop3:#F1DFC0;--sig-bg:#EEF0E9;--rye:#6B4A2B;--rad:14px;--shd:0 12px 30px rgba(34,55,47,.12)}
.cfs-german .cf-head{border-bottom:1px solid var(--line)}
.cfs-german .cf-h1,.cfs-german .cf-h2,.cfs-german :is(.cf-card,.cf-step,.cf-done) h3{font-family:var(--f-disp);font-weight:700;letter-spacing:-.015em}
.cfs-german .cf-h1{line-height:1.02;max-width:14ch;font-size:clamp(36px,6vw,70px)}
.cfs-german .cf-ac{font-family:var(--f-hand);font-weight:600;font-style:normal;color:var(--accent-ink);font-size:1.18em;line-height:.9;margin-inline:.03em}
.cfs-german .cf-kicker{font:700 12px/1.2 var(--f-disp);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
.cfs-german .cf-ul path{stroke:var(--pop);stroke-width:4}
.cfs-german .cf-btn{border:0;background:var(--accent-ink);box-shadow:0 8px 20px rgba(155,47,59,.26);font-weight:700}
.cfs-german .cf-btn:active,.cfs-german .cf-btn.press{transform:translateY(2px)}
.cfs-german .cf-btn-ghost{background:var(--paper);color:var(--accent-ink)!important;border:1.5px solid var(--accent-ink);box-shadow:none}
.cfs-german .cf-btn-sm{box-shadow:0 5px 12px rgba(155,47,59,.2)}
.cfs-german .cf-sticker{position:relative;background:var(--pop3);color:var(--deep);border:1.5px solid var(--rye);border-radius:8px 14px 14px 8px;font:700 12px/1 var(--f-disp);letter-spacing:.12em;text-transform:uppercase;padding:9px 12px 9px 20px;transform:rotate(-4deg)}
.cfs-german .cf-sticker::before{content:"";position:absolute;left:7px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--bg);border:1.5px solid var(--rye);transform:translateY(-50%)}
.cfs-german .cf-chip{position:relative;border:1px solid var(--line);background:var(--paper);border-radius:6px;font-weight:700;color:var(--ink);padding-left:22px}
.cfs-german .cf-chip::before{content:"";position:absolute;left:8px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);transform:translateY(-50%)}
.cfs-german .cf-chip::after{content:"";position:absolute;left:17px;top:4px;bottom:4px;border-left:1px dashed var(--line)}
.cfs-german .cf-chip:nth-child(2n){background:#F6ECDC}
.cfs-german .cf-chip:nth-child(3n){background:#EEF0E9}
.cfs-german .cf-nav a{white-space:nowrap;font-size:14px;padding:10px 9px}
/* hero: wheat disc, Fachwerk band, shop-window arch + plate + ticket collage */
.cfs-german .cf-hero{background:linear-gradient(180deg,var(--bg) 0,#F3EBDD 100%)}
.cfs-german .cf-hero::before{content:"";position:absolute;z-index:-1;width:min(70vw,520px);aspect-ratio:1;right:-14%;top:-22%;border-radius:50%;background:var(--pop3);opacity:.75}
.cfs-german .cf-hero::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:16px;background-image:repeating-linear-gradient(45deg,var(--rye) 0 1px,transparent 1px 14px),repeating-linear-gradient(-45deg,var(--rye) 0 1px,transparent 1px 14px);opacity:.22}
.cfs-german .cf-collage{aspect-ratio:1/1.08}
.cfs-german .cf-collage figure{border:7px solid var(--paper);box-shadow:var(--shd)}
.cfs-german .cf-c1{left:14%;top:0;width:76%;aspect-ratio:4/5;border-radius:46% 46% 14px 14px / 34% 34% 14px 14px}
.cfs-german .cf-c2{--rr:-6deg;left:-2%;bottom:3%;width:42%;aspect-ratio:1;border-radius:50%}
.cfs-german .cf-c3{--rr:4deg;right:-3%;bottom:-2%;width:40%;aspect-ratio:3/2;border-radius:8px;border-left:7px dotted var(--line)}
.cfs-german .cf-dec svg{--m1:var(--paper);--m2:var(--accent-ink);--m3:var(--pop);--mi:var(--ink)}
.cfs-german .cf-dec1{right:2%;top:3%;rotate:8deg;width:clamp(44px,8vw,66px)}.cfs-german .cf-dec2{left:2%;top:14%;width:clamp(40px,8vw,60px)}.cfs-german .cf-dec3{right:10%;bottom:28%;rotate:-14deg;width:clamp(34px,6vw,48px)}
@keyframes de-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(4deg)}}
.cfs-german .cf-hero.on .cf-dec{animation:de-bob 6.5s ease-in-out infinite}
.cfs-german .cf-hero.on .cf-dec2{animation-duration:8s;animation-delay:-2s}.cfs-german .cf-hero.on .cf-dec3{animation-duration:7.2s;animation-delay:-3.5s}
/* section edges: previous colour hangs down 14px with a faint timber lattice */
.cfs-german .cf-sec{padding-top:calc(clamp(56px,8vw,104px) + 10px)}
.cfs-german .cf-sec::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background-color:var(--prev,var(--bg));background-image:repeating-linear-gradient(45deg,rgba(107,74,43,.25) 0 1px,transparent 1px 14px),repeating-linear-gradient(-45deg,rgba(107,74,43,.25) 0 1px,transparent 1px 14px);opacity:.9}
.cfs-german #scenes{--prev:#F3EBDD}.cfs-german #baeckerei{--prev:var(--bg)}.cfs-german #flow{--prev:var(--bg2)}.cfs-german #why{--prev:var(--paper)}.cfs-german #kit{--prev:var(--bg)}.cfs-german #wortschatz{--prev:var(--paper)}.cfs-german #album{--prev:var(--bg2)}.cfs-german #faq{--prev:var(--paper)}.cfs-german #join{--prev:var(--bg2)}
.cfs-german .cf-bg-pop{background:var(--deep)}
.cfs-german .cf-bg-pop :is(h2,.cf-kicker,.cf-lead,.cf-note,p,li,legend,label){color:#fff}
.cfs-german .cf-bg-pop .cf-ac,.cfs-german .cf-bg-pop a{color:var(--pop)}
.cfs-german .cf-bg-pop .cf-formcard :is(p,li,legend,label,span){color:var(--ink)}
.cfs-german .cf-bg-pop .cf-formcard .cf-consent,.cfs-german .cf-bg-pop .cf-formcard .cf-msg{color:var(--mute)!important}
.cfs-german .cf-bg-pop .cf-facts li,.cfs-german .cf-bg-pop .cf-contact{color:#fff}
.cfs-german .cf-bg-pop .cf-ul path{stroke:var(--pop)}
.cfs-german .cf-bg-pop .cf-formcard .cf-btn,.cfs-german .cf-bg-pop .cf-formcard .cf-btn span{color:#fff!important}
.cfs-german .cf-bg-pop .cf-formcard a{color:var(--accent-ink)}
/* scene cards = paper bags */
.cfs-german .cf-card{position:relative;border:1px solid var(--line);border-radius:6px 6px 14px 14px;box-shadow:var(--shd);padding:14px 8px 0;background:var(--paper)}
.cfs-german .cf-card::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(135deg,var(--bg) 50%,transparent 50%) 0 0/12px 8px repeat-x,linear-gradient(225deg,var(--bg) 50%,transparent 50%) 6px 0/12px 8px repeat-x}
.cfs-german .cf-card-img{border-radius:8px}
.cfs-german .cf-card-mo{background:var(--paper);border:1px solid var(--line);top:-26px;right:12px}
.cfs-german .cf-card-mo svg{--m1:var(--paper);--m2:var(--accent-ink);--m3:var(--pop);--mi:var(--ink)}
.cfs-german .cf-card-b{padding:18px 12px 20px}
.cfs-german .cf-tag{text-transform:none;letter-spacing:0;border:0;padding:0;font:600 20px/1.1 var(--f-hand);color:var(--accent-ink)}
.cfs-german .cf-k1,.cfs-german .cf-k3{margin-top:18px}
@media (max-width:1099px){.cfs-german .cf-k1,.cfs-german .cf-k3{margin-top:0}}
.cfs-german .cf-sigsec{overflow:hidden}
/* steps */
.cfs-german .cf-rail{background:var(--bg2);border-bottom:1px solid var(--line)}
.cfs-german .cf-rail a[aria-current=step] b{background:var(--accent-ink);border-color:var(--accent-ink)}
.cfs-german .cf-step{border:1px solid var(--line);border-radius:14px;box-shadow:var(--shd)}
.cfs-german .cf-no{background:var(--pop);border:0;color:var(--ink);font-family:var(--f-disp);font-weight:700}
.cfs-german .cf-step-img{border-radius:8px}
/* materials = tickets */
.cfs-german .cf-mat{border:1px solid var(--line);border-left:6px solid var(--pop2);border-radius:8px;padding:12px 18px 12px 14px;box-shadow:0 6px 16px rgba(34,55,47,.08)}
.cfs-german .cf-mat-mo{--m1:var(--paper);--m2:var(--accent-ink);--m3:var(--pop);--mi:var(--ink)}
/* story media */
.cfs-german .cf-media figure{border:7px solid var(--paper);border-radius:12px;box-shadow:var(--shd)}
.cfs-german .cf-media .cf-m1{border-radius:46% 46% 12px 12px / 30% 30% 12px 12px}
.cfs-german .cf-media .cf-m2{width:78%;margin-left:auto;border-radius:12px}
.cfs-german .cf-pull{border-left:0;padding:10px 0 0;font:600 clamp(26px,3.4vw,38px)/1.15 var(--f-hand);color:var(--accent-ink);position:relative}
.cfs-german .cf-pull::before{content:"";display:block;width:56px;height:6px;border-radius:6px;background:var(--pop2);margin-bottom:14px}
/* gallery (polaroid) */
.cfs-german .cf-cell{border:0;border-radius:8px;box-shadow:var(--shd);background:var(--paper)}
.cfs-german .cf-cell figcaption{font:600 20px/1.2 var(--f-hand);color:var(--ink)}
.cfs-german details.cf-acc{border:1px solid var(--line);border-radius:12px}
.cfs-german .cf-formcard{border:1px solid var(--line);border-radius:20px;box-shadow:0 22px 50px rgba(0,0,0,.22)}
.cfs-german .cf-fld input,.cfs-german .cf-opt span{border:1.5px solid #D6CDBD}
.cfs-german .cf-opt input:checked+span{background:var(--pop3);box-shadow:inset 0 0 0 1.5px var(--accent-ink)}
.cfs-german .cf-done-c{fill:var(--pop3);stroke:var(--accent-ink)}
.cfs-german .cf-end{background:var(--bg2)}
.cfs-german .cf-bar,.cfs-german .cf-share a{border-color:var(--line)}
@media (prefers-reduced-motion:reduce){.cfs-german .cf-hero.on .cf-dec{animation:none}}
@media (min-width:900px){.cfs-german .cf-rail{background:none;border:0}}

/* ===== Japanese (html:lang(ja) only) ===== */
html:lang(ja) body.cfs-german :is(.cf-h1,.cf-h2){max-width:none;letter-spacing:0;font-weight:800}
html:lang(ja) body.cfs-german .cf-h2{max-width:22em}
html:lang(ja) body.cfs-german .cf-kicker{text-transform:none;letter-spacing:.06em}
html:lang(ja) body.cfs-german .cf-ac{font-family:inherit;font-weight:800;font-style:normal}
