/* Dipped Website (Spec docs/spec/website.md).
   Mobile first: eine Spalte; ab 900px Designer zweispaltig. Grund #0B0B0B = Hintergrund der Handfotos, damit keine Kante
   zwischen Foto und Seite sichtbar ist. Pink nur für Lack und Akzente. Ein einziger Scroll-Effekt (Slider zoomt beim Verlassen). */

@font-face{font-family:"Instrument Sans";font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/fonts/instrument-sans.woff2) format("woff2-variations"),url(/fonts/instrument-sans.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/fonts/instrument-serif-italic.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-500.woff2) format("woff2")}

:root{
  --ink:#0B0B0B;
  --s1:#131315;
  --s2:#1C1C1F;
  --line:#26262A;
  --text:#F5F5F7;
  --muted:#8E8E93;
  --soft:#C7C7CC;
  --accent:#FF375F;
  --on-accent:#14020A;
  --sans:"Instrument Sans",-apple-system,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  --serif:"Instrument Serif","Iowan Old Style",Georgia,serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  --t-s:clamp(.75rem,.73rem + .1vw,.82rem);
  --t-0:clamp(1rem,.97rem + .15vw,1.0625rem);
  --t-1:clamp(1.12rem,1.04rem + .4vw,1.35rem);
  --t-2:clamp(1.7rem,1.25rem + 2vw,2.8rem);
  --t-3:clamp(2.5rem,1.6rem + 4.2vw,5.2rem);
  --gl:max(20px,env(safe-area-inset-left,0px));
  --gr:max(20px,env(safe-area-inset-right,0px));
  --hdr:52px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 12px)}
body{margin:0;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:var(--t-0);line-height:1.5;overflow-x:clip;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--ink)}
img{max-width:100%}
[hidden]{display:none!important}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:10px}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:650;letter-spacing:-.035em;line-height:.98;text-wrap:balance;font-stretch:88%}
.it{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em;font-stretch:100%}
.pink{color:var(--accent)}
.wrap{max-width:1200px;margin-inline:auto;padding-left:var(--gl);padding-right:var(--gr)}
.lbl{font-family:var(--mono);font-size:var(--t-s);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.mut{color:var(--muted)}
.gap{margin-top:12px}
.skip{position:absolute;left:-9999px;top:8px;z-index:80;background:var(--text);color:#000;padding:8px 12px;border-radius:8px}
.skip:focus{left:12px}
section{position:relative}

/* ---------- Kopf ---------- */
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(11,11,11,.72);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid rgba(255,255,255,.06)}
.bar{height:var(--hdr);display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:650;font-size:1.15rem;letter-spacing:-.03em}
.brand img{width:24px;height:24px;border-radius:6px}
.bar nav{display:none;gap:26px;margin-left:auto;font-size:.85rem}
.bar nav a{text-decoration:none;color:var(--soft)}
.bar nav a:hover{color:var(--text)}
.lang{margin-left:auto;display:flex;gap:2px;font-family:var(--mono);font-size:.75rem}
.lang a{padding:6px 8px;border-radius:8px;color:var(--muted);text-decoration:none}
.lang a[aria-current="true"]{color:var(--text);background:var(--s2)}
.getbtn{font-size:.8rem;font-weight:600;padding:7px 14px;border-radius:999px;background:var(--accent);color:var(--on-accent);text-decoration:none;white-space:nowrap}
@media (min-width:900px){.bar nav{display:flex}.lang{margin-left:0}}

/* ---------- Hero mit Slider (R-W4) ---------- */
.hero{padding-top:26px;padding-bottom:20px}
.hero .copy{text-align:center}
.hero h1{font-size:var(--t-3);font-weight:700;margin-top:14px}
.hero .sub{margin:14px auto 0;font-size:var(--t-1);color:var(--soft);max-width:32ch}
.slider{margin-top:28px;transform:scale(var(--z,1));transform-origin:50% 0;opacity:var(--o,1)}
.slides{display:flex;gap:12px;margin:0;padding:0 calc(50% - min(41vw,190px));list-style:none;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.slides::-webkit-scrollbar{display:none}
.slide{flex:0 0 min(82vw,380px);margin:0;scroll-snap-align:center;position:relative;aspect-ratio:4/5;border-radius:30px;overflow:hidden;background:radial-gradient(90% 70% at 50% 35%,color-mix(in oklab,var(--bg,#FF375F) 48%,transparent),var(--ink) 75%);transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .5s;transform:scale(.92);opacity:.55}
.slide.on{transform:scale(1);opacity:1}
.slide img{position:absolute;left:50%;bottom:0;translate:-50% 0;height:92%;width:auto;max-width:none;-webkit-mask-image:radial-gradient(75% 80% at 50% 45%,#000 62%,transparent 100%);mask-image:radial-gradient(75% 80% at 50% 45%,#000 62%,transparent 100%)}
.slide .cap{position:absolute;left:0;right:0;bottom:0;padding:60px 20px 18px;background:linear-gradient(transparent,rgba(0,0,0,.78));display:grid;gap:2px}
.slide .cap .lbl{font-size:.68rem;color:var(--soft)}
.slide .cap h3{font-size:1.75rem;letter-spacing:-.03em}
.slide .cap .it{font-size:1.25rem;color:var(--soft)}
.sctl{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}
.bars{display:flex;gap:6px}
.bars button{all:unset;cursor:pointer;width:22px;padding-block:8px;position:relative}
.bars button::before{content:"";display:block;height:4px;border-radius:2px;background:var(--line)}
.bars button i{position:absolute;left:0;top:8px;height:4px;width:calc(var(--p,0) * 100%);background:var(--text);border-radius:2px}
.arrow{all:unset;cursor:pointer;width:40px;height:40px;border-radius:50%;background:var(--s2);display:none;place-items:center}
.arrow svg{width:16px;height:16px;stroke:var(--text);fill:none;stroke-width:2}
@media (min-width:900px){.arrow{display:grid}.slides{gap:20px}.slide{flex-basis:380px}}

/* ---------- Designer, bewusst minimal (R-W5) ---------- */
.designer{padding-block:80px 40px}
.designer .head{text-align:center;margin-bottom:22px}
.designer h2{font-size:var(--t-3)}
.studio{border:1px solid var(--line);border-radius:34px;background:var(--s1);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr)}
.view{position:relative;display:flex;justify-content:center;align-items:flex-end;padding-top:64px;background:radial-gradient(70% 60% at 50% 32%,color-mix(in oklab,var(--halo,#FF375F) 34%,transparent),transparent 72%),var(--ink);transition:background .7s;min-height:0}
.view canvas{display:block;height:min(52svh,470px);width:auto;max-width:100%;-webkit-mask-image:linear-gradient(#000 78%,transparent);mask-image:linear-gradient(#000 78%,transparent)}
.readout{position:absolute;left:16px;top:14px;display:grid;gap:2px;z-index:2;pointer-events:none}
.readout strong{font-size:1.15rem;letter-spacing:-.02em}
.readout span{font-family:var(--mono);font-size:.72rem;color:var(--soft)}
.panel{padding:18px var(--gr) 22px var(--gl);display:grid;gap:18px;border-top:1px solid var(--line)}
.panel > *{min-width:0}
.panel h3{font-family:var(--mono);font-weight:500;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-stretch:100%;margin-bottom:10px}
.shelf{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding:14px 4px 4px;margin:-14px -4px 0}
.shelf::-webkit-scrollbar{display:none}
.bottle{all:unset;cursor:pointer;flex:0 0 44px;height:74px;position:relative;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.bottle::before{content:"";position:absolute;left:50%;top:0;width:16px;height:26px;translate:-50% 0;border-radius:4px 4px 2px 2px;background:linear-gradient(90deg,#1a1a1c,#4a4a50 45%,#1a1a1c)}
.bottle::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;border-radius:12px 12px 14px 14px;background:radial-gradient(60% 50% at 30% 30%,rgba(255,255,255,.55),transparent 60%),linear-gradient(160deg,color-mix(in oklab,var(--c,#888) 75%,white),var(--c,#888) 40%,color-mix(in oklab,var(--c,#888) 65%,black));box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.bottle[aria-pressed="true"]{transform:translateY(-10px)}
.bottle[aria-pressed="true"]::after{box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 10px 24px -6px var(--c,#888)}
.fins{display:flex;gap:8px;flex-wrap:wrap}
.fin{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 16px 0 8px;border-radius:14px;background:var(--s2);font-weight:550}
.fin i{width:20px;height:30px;border-radius:50% 50% 44% 44% / 64% 64% 36% 36%;background:var(--c,#FF375F);position:relative;overflow:hidden}
.fin[data-fin="gloss"] i::after{content:"";position:absolute;left:22%;top:12%;width:22%;height:50%;border-radius:50%;background:linear-gradient(rgba(255,255,255,.95),transparent)}
.fin[data-fin="matte"] i{filter:saturate(.85) brightness(.9)}
.fin[data-fin="chrome"] i{background:linear-gradient(115deg,color-mix(in oklab,var(--c,#FF375F) 50%,black),color-mix(in oklab,var(--c,#FF375F) 30%,white) 35%,color-mix(in oklab,var(--c,#FF375F) 70%,black) 55%,#fff 70%,color-mix(in oklab,var(--c,#FF375F) 60%,black))}
.fin[aria-pressed="true"]{background:var(--text);color:#000}
.fin.lock{color:var(--muted);padding-left:14px}
.lock svg,.locks svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.hint{font-size:.85rem;color:var(--muted)}
.nails{display:flex;gap:8px;flex-wrap:wrap}
.nail{all:unset;cursor:pointer;flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;background:var(--s2);font-weight:550;font-size:.9rem;transition:background .3s,color .3s}
.nail i{width:12px;height:17px;border-radius:50% 50% 44% 44% / 64% 64% 36% 36%;background:var(--c,#FF375F);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:background .5s}
.nail[aria-pressed="true"]{background:var(--text);color:#000}
.nail.mix{background:linear-gradient(100deg,#FF375F,#5B2A86 35%,#1E4FD8 60%,#1F5135 80%,#D4AF37);color:#fff}
.nail:focus-visible,.fin:focus-visible,.bottle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.tap{font-size:.8rem;color:var(--muted);margin-top:8px}
.view canvas{cursor:pointer;touch-action:manipulation}
@media (min-width:900px){
  .studio{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
  .view{padding-top:14px}
  .view canvas{height:auto;width:100%;max-width:600px}
  .panel{border-top:0;border-left:1px solid var(--line);padding:30px;align-content:start}
  .shelf{display:grid;grid-template-columns:repeat(4,44px);gap:14px 18px;overflow:visible}
}

/* ---------- In der App ---------- */
.more{padding-block:40px 90px}
.more .box{border:1px solid var(--line);border-radius:34px;padding:28px 22px;background:radial-gradient(80% 90% at 100% 0%,rgba(255,55,95,.18),transparent 60%),var(--s1)}
.more h2{font-size:var(--t-2)}
.more p.mut{margin-top:10px;max-width:46ch}
.locks{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.locks li{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;border:1px solid var(--line);color:var(--soft);font-size:.92rem}
.locks svg{stroke:var(--accent);stroke-width:2.2;width:13px;height:13px}
.more .stores{justify-content:flex-start}
@media (min-width:900px){.more .box{padding:44px}}

/* ---------- So geht's ---------- */
.how{padding-block:40px 90px}
.how h2{font-size:var(--t-2)}
.steps{list-style:none;margin:26px 0 0;padding:0;display:grid}
.steps li{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;padding:20px 0;border-top:1px solid var(--line)}
.steps .n{font-family:var(--serif);font-style:italic;font-size:2.6rem;line-height:.9;color:var(--accent);grid-row:span 2}
.steps h3{font-size:1.4rem;letter-spacing:-.02em}
.steps p{color:var(--muted);max-width:44ch}
@media (min-width:900px){.steps{grid-template-columns:repeat(3,1fr);gap:28px}.steps li{grid-template-columns:1fr}.steps .n{grid-row:auto}}

/* ---------- Privatsphäre ---------- */
.priv{padding-block:40px 110px}
.priv .lines{margin-top:22px}
.priv .line{font-size:var(--t-3);font-weight:650;letter-spacing:-.04em;line-height:1;font-stretch:85%}
.priv .line + .line{margin-top:.15em}
.priv .line .dim{color:var(--muted)}
.priv p.mut{margin-top:24px;font-size:var(--t-1);max-width:40ch}

/* ---------- Store und Abschluss ---------- */
.stores{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;justify-content:center}
.store{display:inline-flex;align-items:center;gap:9px;padding:9px 16px 9px 12px;border-radius:12px;background:var(--text);color:#000;text-decoration:none;min-height:48px}
.store svg{width:20px;height:20px;fill:currentColor;flex:none}
.store small{display:block;font-size:.66rem;line-height:1.1;opacity:.7}
.store strong{display:block;font-weight:650;line-height:1.15}
.cta{background:var(--accent);color:var(--on-accent);text-align:center;padding-block:90px 60px}
.cta h2{font-size:var(--t-3);font-weight:700}
.cta p{font-size:var(--t-1);margin-top:12px}
.cta .store{background:var(--on-accent);color:#fff}
.drips{position:relative;height:6px;background:var(--accent);filter:url(#goo)}
.drips i{position:absolute;top:0;width:var(--w);height:var(--h);left:var(--x);margin-left:calc(var(--w) / -2);background:var(--accent);border-radius:0 0 999px 999px;transform-origin:top;animation:drip var(--d) ease-in-out var(--del) infinite alternate}
.drips b{position:absolute;top:var(--h);left:var(--x);width:calc(var(--w) * .7);height:calc(var(--w) * .7);margin-left:calc(var(--w) * -.35);background:var(--accent);border-radius:50%;animation:fall var(--d) cubic-bezier(.55,0,1,.45) var(--del) infinite}
@keyframes drip{from{transform:scaleY(.3)}to{transform:scaleY(1)}}
@keyframes fall{0%,55%{transform:translateY(-10px) scale(.5);opacity:0}60%{opacity:1}100%{transform:translateY(140px) scale(.9);opacity:0}}
footer{padding-block:110px 40px;font-size:.85rem;color:var(--muted)}
.foot{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px}
.foot nav{display:flex;gap:22px}
.foot a{color:var(--soft);text-decoration:none}
.foot a:hover{color:var(--text)}
.foot strong{color:var(--text)}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));translate:-50% 0;z-index:70;background:var(--text);color:#000;padding:12px 18px;border-radius:14px;font-weight:600;font-size:.92rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.7);max-width:calc(100vw - 40px)}
.toast a{color:#C8102E}

/* ---------- Rechtstexte und 404 ---------- */
.doc{padding-block:56px 40px}
.doc h1{font-size:var(--t-2);margin-bottom:8px}
.doc .stand{color:var(--muted);font-family:var(--mono);font-size:.8rem;margin-bottom:28px}
.doc h2{font-size:1.35rem;letter-spacing:-.02em;margin:36px 0 10px;line-height:1.2;font-stretch:100%}
.doc h3{font-size:1.05rem;letter-spacing:-.01em;margin:22px 0 6px;font-stretch:100%}
.doc p,.doc li{color:var(--soft);max-width:68ch}
.doc p + p{margin-top:10px}
.doc ul{padding-left:1.2em}
.doc a{color:var(--text)}
.nf{min-height:70svh;display:grid;place-content:center;text-align:center;gap:16px}
.nf h1{font-size:var(--t-3)}

/* ---------- Landingpage für Design-Links (R-W11.4) ---------- */
.ln-main{display:grid;gap:36px;padding-block:20px 8px}
.ln-view{position:relative;margin:0;border-radius:34px;overflow:hidden;background:var(--ink);border:1px solid var(--line);padding:56px 12px 0;display:grid;justify-items:center}
.ln-hand{display:grid;width:min(100%,430px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 6%,#000 80%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent),linear-gradient(transparent,#000 6%,#000 80%,transparent);mask-composite:intersect}
.ln-hand > *{grid-area:1/1;width:100%;height:auto;display:block}
.ln-hand::before{content:"";grid-area:1/1;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.5;background:radial-gradient(60% 46% at 50% 38%,var(--halo,#FF375F),transparent 100%)}
.ln-hand canvas{opacity:0;transition:opacity .35s}
.ln-view.ready canvas{opacity:1}
.ln-cap{position:absolute;left:14px;top:14px;max-width:calc(100% - 28px);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--soft);background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.12);padding:6px 11px;border-radius:999px}
.ln-copy{display:grid;gap:20px;align-content:start}
.ln-copy h1{font-size:clamp(2.3rem,1.4rem + 4.4vw,4.4rem);font-weight:700;line-height:.98}
.ln-lead{font-size:var(--t-1);color:var(--soft);max-width:34ch;line-height:1.4}
.ln-swatches{display:flex;flex-wrap:wrap;gap:8px 14px;margin:0;padding:0;list-style:none}
.ln-swatches li{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;color:var(--soft)}
.ln-swatches svg{flex:none;display:block}
.ln-actions{display:grid;gap:12px;justify-items:start;margin-top:6px}
.ln-open{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;padding:0 28px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:1.1rem;font-weight:650;letter-spacing:-.01em;text-decoration:none;box-shadow:0 18px 36px -14px rgba(255,55,95,.6);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.ln-open:hover{transform:translateY(-2px);box-shadow:0 22px 40px -14px rgba(255,55,95,.75)}
.ln-open:active{transform:translateY(0)}
.ln-note{font-size:.9rem;color:var(--muted);max-width:40ch}
.ln-stores{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.ln-stores .store{background:#000;color:#fff;border:1px solid #A6A6A6;border-radius:10px;padding-right:18px}
.ln-stores .store:hover{border-color:var(--text)}
.ln-stores .soon{border-color:var(--line);color:var(--soft);cursor:default}
.ln-stores .soon:hover{border-color:var(--line)}
.ln-stores .soon small{opacity:1;color:var(--muted)}
.ln-perks{border-top:1px solid var(--line);padding-top:28px}
.ln-h{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-stretch:100%;line-height:1.2;margin-bottom:6px}
.ln-perks ul{list-style:none;margin:0;padding:0;display:grid}
.ln-perk{padding:18px 0;border-bottom:1px solid var(--line)}
.ln-perk h3{font-size:1.3rem;letter-spacing:-.02em;line-height:1.1}
.ln-perk p{margin-top:6px;color:var(--muted);max-width:44ch}
.ln-more{display:inline-block;margin-top:22px;color:var(--soft);text-underline-offset:4px}
.ln-more:hover{color:var(--text)}
.ln footer{padding-top:60px}
@media (min-width:900px){
  .ln-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px 64px;padding-block:40px 8px;align-items:center}
  .ln-view{padding-top:40px}
  .ln-copy{gap:24px}
  .ln-open{width:auto;min-width:280px}
  .ln-perks{grid-column:1/-1;margin-top:28px}
  .ln-perks ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
}
@media (prefers-reduced-motion:reduce){.ln-open,.ln-hand canvas,.ln-view{transition:none}.ln-open:hover{transform:none}}

@media (prefers-reduced-motion:reduce){
  .drips i,.drips b{animation:none}
  .drips b{display:none}
  .slide,.bottle,.view{transition:none}
}
.defs{position:absolute;width:0;height:0;overflow:hidden}
