:root{
  --navy:#0b1f26;
  --navy-2:#102f38;
  --teal:#0f6b6d;
  --teal-2:#159091;
  --mint:#dff3ec;
  --sky:#e6f2f7;
  --cream:#fff8ee;
  --paper:#f6fbf9;
  --coral:#ff7a59;
  --coral-2:#ff9a7e;
  --ink:#102127;
  --muted:#667b80;
  --line:rgba(16,33,39,.10);
  --white:#ffffff;
  --shadow:0 18px 55px rgba(11,31,38,.12);
  --radius:28px;
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;width:100%;max-width:100%;overflow-x:hidden}
body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Tahoma,Arial,sans-serif;line-height:1.75}
body.modal-open{overflow:hidden}
img,svg{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
button{cursor:pointer}
.ltr{direction:ltr;unicode-bidi:isolate}
.app{width:100%;max-width:100%;overflow-x:clip;position:relative}
.app::before{content:"";position:fixed;z-index:-2;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(15,107,109,.12),rgba(15,107,109,0) 70%);top:18%;right:-160px}
.app::after{content:"";position:fixed;z-index:-2;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(255,122,89,.10),rgba(255,122,89,0) 70%);bottom:8%;left:-120px}
.topbar{width:min(var(--max),calc(100% - 32px));margin:16px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);background:rgba(11,31,38,.88);backdrop-filter:blur(18px);border-radius:20px;position:sticky;top:12px;z-index:60;box-shadow:0 12px 38px rgba(11,31,38,.18)}
.brand{display:flex;align-items:center;gap:11px;min-width:0;color:white}
.brand img{width:42px;height:42px;border-radius:13px;flex:0 0 auto}
.brand-copy{min-width:0}.brand-copy strong{display:block;font-size:17px;line-height:1.05;white-space:nowrap}.brand-copy small{display:block;color:#b8d0d2;font-size:9px;letter-spacing:1.25px;margin-top:5px;white-space:nowrap}
.nav-desktop{display:flex;gap:6px;align-items:center}.nav-desktop a{color:#c8d9da;padding:9px 13px;border-radius:999px;font-size:12px;font-weight:700;transition:.2s}.nav-desktop a:hover{background:rgba(255,255,255,.08);color:white}
.top-actions{display:flex;gap:8px;flex:0 0 auto}.lang-button,.menu-button{height:42px;min-width:42px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.07);color:white;border-radius:13px;font-weight:800}.lang-button{padding:0 13px}.menu-button{display:none;place-items:center}.menu-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.nav-mobile{display:none;width:calc(100% - 32px);margin:8px auto 0;background:var(--navy);border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;position:sticky;top:78px;z-index:55}.nav-mobile.open{display:block}.nav-mobile a{display:block;color:#e9f4f3;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;font-weight:700}.nav-mobile a:last-child{border-bottom:0}
.hero{width:100%;max-width:100%;min-height:760px;margin-top:-94px;padding:150px max(16px,calc((100% - var(--max))/2)) 70px;background:linear-gradient(135deg,#07191f 0%,#0b2831 44%,#0f4f56 100%);display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center;position:relative;overflow:hidden;color:white}
.hero-bg-shape{position:absolute;border-radius:50%;pointer-events:none}.shape-a{width:520px;height:520px;background:radial-gradient(circle,rgba(255,122,89,.22),rgba(255,122,89,0) 68%);right:-140px;top:40px}.shape-b{width:420px;height:420px;background:radial-gradient(circle,rgba(21,144,145,.28),rgba(21,144,145,0) 70%);left:-170px;bottom:-60px}
.hero-copy,.hero-art{position:relative;z-index:2}.brand-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-size:10px;font-weight:800;letter-spacing:1.4px;color:#d5e7e7}.brand-pill span{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(255,122,89,.13)}
.hero h1{font-size:clamp(48px,6.3vw,92px);line-height:.98;letter-spacing:-3px;margin:20px 0 0;max-width:760px}.hero h1 em{font-style:normal;color:#6fe0d5}.hero-copy>p{font-size:17px;color:#c5dadc;max-width:680px;margin:24px 0 0;line-height:1.9}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 20px;border-radius:14px;font-size:13px;font-weight:800;transition:.22s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--coral);color:#fff;box-shadow:0 14px 30px rgba(255,122,89,.23)}.btn-secondary{background:rgba(255,255,255,.08);color:white;border:1px solid rgba(255,255,255,.12)}.btn-coral{background:var(--coral);color:white}
.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:30px}.quick-stats>div{padding:14px;border-radius:17px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}.quick-stats b{display:block;font-size:18px}.quick-stats span{display:block;font-size:10px;color:#bad1d3;margin-top:5px}
.hero-art{min-width:0}.hero-illustration{width:min(100%,590px);margin:auto;filter:drop-shadow(0 28px 50px rgba(0,0,0,.28))}.float-chip{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:var(--shadow);max-width:230px}.float-chip .mini{width:34px;height:34px;border-radius:11px;background:var(--mint);display:grid;place-items:center;color:var(--teal);font-weight:900;flex:0 0 auto}.float-chip b{font-size:12px;display:block}.float-chip small{font-size:9px;color:var(--muted);display:block}.chip-one{top:9%;left:0;animation:floaty 5s ease-in-out infinite}.chip-two{right:0;bottom:12%;animation:floaty 5.8s ease-in-out infinite 1s}@keyframes floaty{50%{transform:translateY(-7px)}}
.ticker{width:100%;max-width:100%;overflow:hidden;background:var(--coral);color:#fff}.ticker-track{display:flex;width:max-content;gap:20px;align-items:center;padding:11px 0;font-size:11px;font-weight:900;letter-spacing:1.8px;animation:tickerMove 34s linear infinite;direction:ltr}.ticker i{font-style:normal;opacity:.65}@keyframes tickerMove{to{transform:translateX(-50%)}}
.section{width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:86px 0}.section-title{max-width:760px;margin-bottom:34px}.kicker{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:900;letter-spacing:1.7px;text-transform:uppercase;color:var(--teal);margin-bottom:10px}.kicker::before{content:"";width:24px;height:3px;border-radius:999px;background:var(--coral)}.kicker.light{color:#9ce3dd}.section-title h2,.story-copy h2,.lab-copy h2,.milk-copy h2,.calc-copy h2,.final-banner h2{font-size:clamp(34px,4.6vw,60px);line-height:1.04;letter-spacing:-1.5px;margin:0}.section-title p,.story-copy>p,.lab-copy>p,.calc-copy p{font-size:15px;color:var(--muted);line-height:1.9;margin:14px 0 0}
.basics-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.basic-card{background:white;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(11,31,38,.06);transition:.2s}.basic-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.basic-head{display:flex;align-items:center;gap:11px;margin-bottom:16px}.basic-icon{width:42px;height:42px;border-radius:13px;background:var(--sky);display:grid;place-items:center;color:var(--teal);flex:0 0 auto}.basic-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.basic-card h3{margin:0;font-size:17px}.basic-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}
.bean-story,.lab-section,.milk-section{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.story-art,.lab-art,.milk-art{background:linear-gradient(145deg,var(--mint),var(--sky));border-radius:34px;min-height:500px;display:grid;place-items:center;padding:24px;position:relative;overflow:hidden}.story-art::before,.lab-art::before,.milk-art::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.55);filter:blur(2px);right:-100px;top:-100px}.story-art img,.lab-art img,.milk-art img{width:min(95%,560px);position:relative;z-index:1}.origin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.origin-tab{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px;color:var(--ink);font-size:11px;font-weight:800}.origin-tab.active{background:var(--navy);color:white;border-color:var(--navy)}.origin-panel{margin-top:12px;background:var(--navy);color:white;border-radius:20px;padding:17px}.origin-panel b{display:block;font-size:14px}.origin-panel p{margin:5px 0 0;color:#bfd0d3;font-size:12px}.roast-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.roast-step{border-radius:16px;padding:13px;color:var(--ink)}.roast-step b{display:block;font-size:12px}.roast-step span{display:block;font-size:9px;margin-top:5px;line-height:1.5}.roast-step.light{background:#f7e4c0}.roast-step.medium{background:#d9a46d}.roast-step.dark{background:#5f4b45;color:white}
.methods-section{padding-top:66px}.methods-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.method-card{background:white;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 10px 30px rgba(11,31,38,.055);transition:.2s}.method-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.method-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.method-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}.method-icon{width:46px;height:46px;border-radius:14px;background:var(--mint);display:grid;place-items:center;color:var(--teal);flex:0 0 auto}.method-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.method-title h3{margin:0;font-size:18px}.method-title span{display:block;color:var(--teal);font-size:10px;font-weight:800;margin-top:2px}.ratio-pill{background:var(--sky);border-radius:14px;padding:8px 10px;text-align:center;flex:0 0 auto;direction:ltr}.ratio-pill b{display:block;font-size:11px}.ratio-pill small{display:block;font-size:9px;color:#59737a;margin-top:3px}.method-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.meta{background:#f7faf9;border-radius:14px;padding:10px}.meta span{display:block;color:#809297;font-size:9px;margin-bottom:4px}.meta b{display:block;font-size:11px}
.lab-section{background:linear-gradient(135deg,#e8f8f3,#edf6fa);width:100%;max-width:100%;padding:74px max(16px,calc((100% - var(--max))/2));margin-top:10px}.taste-card{margin-top:22px;background:white;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.taste-labels{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px}.taste-card input{width:100%;margin:18px 0 12px;accent-color:var(--coral)}.taste-result{background:var(--navy);color:white;border-radius:15px;padding:12px;font-size:11px;line-height:1.8}
.recipes-section{padding-top:76px}.recipe-filter-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.filter-button{border:1px solid var(--line);background:white;color:var(--ink);border-radius:999px;padding:9px 14px;font-size:11px;font-weight:800}.filter-button.active{background:var(--teal);color:white;border-color:var(--teal)}.recipes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.recipe-card{border:1px solid var(--line);background:white;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(11,31,38,.055);transition:.2s}.recipe-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.recipe-art{height:130px;background:linear-gradient(135deg,var(--sky),var(--mint));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.recipe-art::before{content:"";width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.55);position:absolute}.recipe-art img{width:110px;height:110px;object-fit:contain;position:relative;z-index:1}.recipe-body{padding:15px}.recipe-body h3{margin:0;font-size:17px}.recipe-body p{margin:6px 0 12px;color:var(--muted);font-size:10px;line-height:1.7}.recipe-chips{display:flex;flex-wrap:wrap;gap:5px}.recipe-chips span{font-size:8px;background:#f2f7f6;color:#557079;padding:5px 7px;border-radius:999px}.recipe-open{margin-top:12px;width:100%;border:0;background:var(--navy);color:white;border-radius:12px;padding:9px;font-size:10px;font-weight:800}
.milk-section{padding-top:74px}.milk-steps{display:grid;gap:9px;margin-top:22px}.milk-step{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid var(--line);background:white;border-radius:16px}.milk-step b{width:28px;height:28px;border-radius:9px;background:var(--coral);color:white;display:grid;place-items:center;font-size:10px;flex:0 0 auto}.milk-step span{font-size:11px;color:var(--muted);line-height:1.8}
.calculator-section{width:100%;max-width:100%;background:linear-gradient(135deg,var(--navy),#11414b);padding:74px max(16px,calc((100% - var(--max))/2));margin-top:16px}.calculator-shell{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}.calc-copy{color:white}.calc-copy p{color:#b9ced1}.calc-panel{background:white;border-radius:26px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.22)}.calc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.calc-tab{border:1px solid var(--line);background:#f3f7f6;color:var(--ink);border-radius:12px;padding:10px;font-size:10px;font-weight:800}.calc-tab.active{background:var(--teal);color:white;border-color:var(--teal)}.field{display:block;margin-top:12px}.field>span{display:block;font-size:10px;font-weight:800;color:#536a70;margin-bottom:6px}.field input,.field select{width:100%;min-height:48px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:13px;padding:0 12px;outline:none}.calc-result{margin-top:12px;background:var(--navy);border-radius:18px;padding:15px;color:white}.calc-result small{display:block;color:#9cc6c6;font-size:9px}.calc-result strong{display:block;font-size:40px;line-height:1.1;margin-top:3px;color:white}.calc-result span{display:block;color:#c1d7d8;font-size:10px;margin-top:4px}
.fix-section{padding-top:78px}.fix-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.fix-card{background:white;border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 10px 28px rgba(11,31,38,.05)}.fix-card-head{display:flex;align-items:center;gap:10px}.fix-icon{width:38px;height:38px;border-radius:12px;background:var(--sky);display:grid;place-items:center;color:var(--teal);flex:0 0 auto}.fix-card h3{margin:0;font-size:15px}.fix-card p{margin:8px 0;color:var(--muted);font-size:10px}.fix-card ul{margin:0;padding-inline-start:18px;color:#30484f;font-size:10px;line-height:1.9}
.final-banner{background:linear-gradient(135deg,var(--teal),var(--teal-2));color:white;border-radius:30px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:74px}.final-banner h2{font-size:clamp(30px,4vw,48px);max-width:780px}.footer{width:min(var(--max),calc(100% - 32px));margin:0 auto 28px;display:grid;grid-template-columns:1fr 2fr auto;gap:18px;align-items:center;border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:10px}.footer-brand{display:flex;align-items:center;gap:9px}.footer-brand img{width:38px;height:38px}.footer-brand b{display:block;color:var(--ink);font-size:13px}.footer-brand span{display:block;font-size:8px;letter-spacing:1px;margin-top:3px}.footer p{margin:0;text-align:center}
.recipe-modal{display:none;position:fixed;inset:0;z-index:100;place-items:center;padding:16px}.recipe-modal.open{display:grid}.modal-overlay{position:absolute;inset:0;background:rgba(5,18,22,.68);backdrop-filter:blur(7px)}.modal-card{position:relative;z-index:1;width:min(690px,100%);max-height:88vh;overflow:auto;background:white;border-radius:26px;padding:24px;box-shadow:0 25px 80px rgba(0,0,0,.3)}.modal-close{position:absolute;top:12px;inset-inline-end:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#f2f7f6;font-size:20px;color:var(--ink)}.modal-top{display:flex;gap:14px;align-items:center;padding-inline-end:42px}.modal-top img{width:80px;height:80px;object-fit:contain;border-radius:20px;background:var(--sky);padding:10px}.modal-top h3{margin:0;font-size:26px}.modal-top p{margin:5px 0 0;color:var(--muted);font-size:11px}.modal-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:18px;margin-top:20px}.modal-grid h4{margin:0 0 8px;color:var(--teal);font-size:11px;text-transform:uppercase;letter-spacing:1px}.modal-grid ul,.modal-grid ol{margin:0;padding-inline-start:20px;font-size:11px;color:#455c63;line-height:1.9}.modal-tip{margin-top:16px;background:var(--mint);border-radius:15px;padding:12px;font-size:10px;color:#37575a}
.reveal{opacity:1;transform:none}.hero-copy{animation:riseIn .65s ease both}.hero-art{animation:riseIn .8s ease .08s both}@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
html[dir="ltr"] .hero h1,html[dir="ltr"] .section-title h2,html[dir="ltr"] .story-copy h2,html[dir="ltr"] .lab-copy h2,html[dir="ltr"] .milk-copy h2,html[dir="ltr"] .calc-copy h2,html[dir="ltr"] .final-banner h2{letter-spacing:-1.8px}
@media(max-width:1100px){.nav-desktop{display:none}.menu-button{display:grid}.hero{grid-template-columns:1fr;min-height:auto;padding-top:145px}.hero-copy{max-width:800px}.hero-art{max-width:680px;width:100%;margin:auto}.basics-grid{grid-template-columns:repeat(3,1fr)}.recipes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.section{padding:68px 0}.bean-story,.lab-section,.milk-section,.calculator-shell{grid-template-columns:1fr;gap:28px}.story-art,.lab-art,.milk-art{min-height:360px}.methods-grid{grid-template-columns:1fr}.quick-stats{grid-template-columns:1fr}.hero{gap:28px}.calc-copy{max-width:680px}.footer{grid-template-columns:1fr;text-align:center}.footer-brand{justify-content:center}.footer p{text-align:center}.final-banner{display:grid}.final-banner .btn{width:100%}}
@media(max-width:560px){
  :root{--radius:22px}
  .topbar{width:calc(100% - 18px);margin-top:8px;padding:9px 10px;top:8px;border-radius:16px;gap:8px}.brand img{width:36px;height:36px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:7px;letter-spacing:.8px}.lang-button,.menu-button{height:38px;min-width:38px;border-radius:11px}.lang-button{padding:0 10px;font-size:12px}.nav-mobile{width:calc(100% - 18px);top:61px}
  .hero{width:100%;max-width:100%;margin:0;padding:118px 13px 42px;grid-template-columns:minmax(0,1fr);gap:24px;overflow:hidden}.brand-pill{font-size:8px}.hero h1{font-size:42px;letter-spacing:-1.7px;max-width:100%;overflow-wrap:break-word}.hero-copy>p{font-size:14px}.hero-buttons{display:grid;grid-template-columns:1fr}.btn{width:100%}.quick-stats{grid-template-columns:1fr;gap:7px}.quick-stats>div{padding:12px}.hero-art{min-width:0;width:100%;max-width:100%;padding:0 5px}.hero-illustration{width:100%;max-width:420px}.float-chip{position:relative;inset:auto!important;margin:7px auto 0;max-width:100%;width:100%;animation:none}.chip-one,.chip-two{left:auto;right:auto;top:auto;bottom:auto}
  .ticker-track{font-size:9px;gap:14px}
  .section{width:calc(100% - 20px);max-width:100%;padding:58px 0}.section-title{margin-bottom:24px}.section-title h2,.story-copy h2,.lab-copy h2,.milk-copy h2,.calc-copy h2,.final-banner h2{font-size:34px;letter-spacing:-1px}.section-title p,.story-copy>p,.lab-copy>p,.calc-copy p{font-size:13px}.basics-grid{grid-template-columns:1fr;gap:9px}.basic-card{padding:14px}.basic-head{margin-bottom:10px}.basic-icon{width:38px;height:38px}
  .bean-story,.milk-section{width:calc(100% - 20px)}.story-art,.lab-art,.milk-art{min-height:270px;border-radius:24px;padding:15px}.origin-tabs{display:grid;grid-template-columns:1fr 1fr}.origin-tab{text-align:center}.roast-scale{grid-template-columns:1fr}
  .lab-section,.calculator-section{width:100%;max-width:100%;padding:54px 10px}.lab-copy,.lab-art,.calc-copy,.calc-panel{min-width:0}
  .method-card{padding:14px}.method-top{align-items:flex-start}.method-title-wrap{min-width:0}.method-icon{width:40px;height:40px}.method-title h3{font-size:15px}.ratio-pill{padding:7px 8px}.ratio-pill b{font-size:10px}.ratio-pill small{font-size:8px}.method-meta{grid-template-columns:1fr;gap:6px}.meta{padding:9px}
  .recipe-filter-row{overflow:auto;flex-wrap:nowrap;scrollbar-width:none}.recipe-filter-row::-webkit-scrollbar{display:none}.filter-button{flex:0 0 auto}.recipes-grid{grid-template-columns:1fr}.recipe-art{height:120px}.recipe-card{border-radius:19px}
  .milk-step{padding:10px}.calc-panel{padding:14px;border-radius:20px}.calc-result strong{font-size:34px}.fix-grid{grid-template-columns:1fr}.final-banner{width:calc(100% - 20px);padding:22px;margin-bottom:56px;border-radius:22px}.footer{width:calc(100% - 20px);padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .modal-card{padding:18px;border-radius:20px}.modal-top{align-items:flex-start}.modal-top img{width:64px;height:64px}.modal-top h3{font-size:20px}.modal-grid{grid-template-columns:1fr}
}


/* Preferences modal + theme support + light tints */
.pref-button{height:44px;min-width:44px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;font-size:18px;font-weight:700}
.setup-modal{display:none;position:fixed;inset:0;z-index:110;place-items:center;padding:16px}.setup-modal.open{display:grid}.setup-overlay{position:absolute;inset:0;background:rgba(5,18,22,.70);backdrop-filter:blur(10px)}.setup-card{position:relative;z-index:1;width:min(560px,100%);background:#fff;border-radius:28px;padding:24px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.setup-brand{display:flex;align-items:center;gap:12px;margin-bottom:12px}.setup-brand img{width:48px;height:48px}.setup-brand b{display:block;font-size:18px;color:var(--ink)}.setup-brand span{display:block;font-size:10px;letter-spacing:1px;color:var(--muted);margin-top:4px}.setup-kicker{display:inline-block;color:var(--teal);font-size:11px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase}.setup-card h3{margin:10px 0 8px;font-size:32px;line-height:1.08}.setup-card p{margin:0 0 18px;color:var(--muted);font-size:13px;line-height:1.9}.setup-group{margin-top:16px}.setup-group label{display:block;margin-bottom:8px;color:#49626a;font-size:12px;font-weight:800}.setup-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.setup-option{border:1px solid var(--line);background:#f5faf9;color:var(--ink);border-radius:16px;padding:14px 12px;font-size:13px;font-weight:800}.setup-option.active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 10px 24px rgba(21,126,127,.16)}#setupRatioOptions{grid-template-columns:repeat(2,1fr)}.setup-save{margin-top:20px;width:100%;border:0;background:linear-gradient(135deg,var(--coral),#f58a73);color:#fff;border-radius:18px;padding:16px;font-size:14px;font-weight:900;box-shadow:0 18px 36px rgba(255,122,89,.22)}
body.modal-open{overflow:hidden}
.basic-card,.method-card,.recipe-card,.fix-card,.milk-step,.origin-panel,.meta,.origin-tab{position:relative;overflow:hidden}
.basic-card::after,.method-card::after,.recipe-card::after,.fix-card::after{content:'';position:absolute;inset:auto -20px -20px auto;width:120px;height:120px;border-radius:50%;opacity:.18;pointer-events:none}
.basic-card:nth-child(4n+1)::after,.method-card.tint-1::after,.recipe-card.tint-1::after,.fix-card:nth-child(4n+1)::after{background:var(--coral)}
.basic-card:nth-child(4n+2)::after,.method-card.tint-2::after,.recipe-card.tint-2::after,.fix-card:nth-child(4n+2)::after{background:var(--teal)}
.basic-card:nth-child(4n+3)::after,.method-card.tint-3::after,.recipe-card.tint-3::after,.fix-card:nth-child(4n+3)::after{background:#8fc9b8}
.basic-card:nth-child(4n+4)::after,.method-card.tint-4::after,.recipe-card.tint-4::after,.fix-card:nth-child(4n+4)::after{background:#ffd4ae}
.basic-card:nth-child(4n+1),.method-card.tint-1,.recipe-card.tint-1,.fix-card:nth-child(4n+1){background:linear-gradient(180deg,#ffffff,#fff7f5)}
.basic-card:nth-child(4n+2),.method-card.tint-2,.recipe-card.tint-2,.fix-card:nth-child(4n+2){background:linear-gradient(180deg,#ffffff,#f5fdfc)}
.basic-card:nth-child(4n+3),.method-card.tint-3,.recipe-card.tint-3,.fix-card:nth-child(4n+3){background:linear-gradient(180deg,#ffffff,#f6fbf8)}
.basic-card:nth-child(4n+4),.method-card.tint-4,.recipe-card.tint-4,.fix-card:nth-child(4n+4){background:linear-gradient(180deg,#ffffff,#fffbf4)}
body[data-theme="light"]{background:linear-gradient(180deg,#eff8fa 0,#eff8fa 420px,#f8fcfc 420px,#f8fcfc 100%)}
body[data-theme="light"] .topbar{background:rgba(255,255,255,.88);border-color:rgba(11,31,38,.09)}
body[data-theme="light"] .brand-copy strong,body[data-theme="light"] .nav-desktop a,body[data-theme="light"] .lang-button,body[data-theme="light"] .pref-button,body[data-theme="light"] .menu-button{color:var(--ink)}
body[data-theme="light"] .brand-copy small{color:#557079}
body[data-theme="light"] .nav-desktop a:hover,body[data-theme="light"] .lang-button,body[data-theme="light"] .pref-button,body[data-theme="light"] .menu-button{background:#fff;border-color:rgba(11,31,38,.08)}
body[data-theme="light"] .nav-mobile{background:#fff;border-color:rgba(11,31,38,.08)}
body[data-theme="light"] .nav-mobile a{color:var(--ink);border-color:rgba(11,31,38,.06)}
body[data-theme="light"] .hero{background:linear-gradient(180deg,#e9f8fb,#f8fcfc);border-bottom-left-radius:42px;border-bottom-right-radius:42px}
body[data-theme="light"] .brand-pill{background:#fff;color:var(--teal)}
body[data-theme="light"] .hero h1{color:#10242a}
body[data-theme="light"] .hero-copy>p{color:#506870}
body[data-theme="light"] .btn-secondary{background:#fff;color:var(--ink);border-color:rgba(11,31,38,.08)}
body[data-theme="light"] .quick-stats>div{background:#fff;border-color:rgba(11,31,38,.07)}
body[data-theme="light"] .quick-stats>div b{color:#0f242c}
body[data-theme="light"] .quick-stats>div span{color:#5a7279}
body[data-theme="light"] .float-chip{background:#fff;border-color:rgba(11,31,38,.08)}
body[data-theme="light"] .ticker{background:#dff1f1;color:#19414c}
body[data-theme="light"] .calculator-section{background:linear-gradient(135deg,#dff4f2,#ebfaf8)}
body[data-theme="light"] .calc-copy{color:var(--ink)}
body[data-theme="light"] .calc-copy p{color:#567178}
body[data-theme="light"] .calc-panel{background:#fff}
body[data-theme="light"] .final-banner{background:linear-gradient(135deg,#17838b,#41a7a0)}
@media(max-width:560px){.pref-button{height:38px;min-width:38px;border-radius:11px;font-size:15px}.setup-card{padding:18px;border-radius:22px}.setup-card h3{font-size:26px}.setup-options{grid-template-columns:1fr}.setup-save{padding:14px}.hero{padding-top:118px}}

.ratio-pill.single-ratio{display:flex;align-items:center;justify-content:center;min-height:52px;min-width:128px;padding:10px 14px}
.ratio-pill.single-ratio b{font-size:14px;line-height:1.2;white-space:nowrap}
.ratio-choice{display:grid;gap:4px;text-align:center}.ratio-choice b{font-size:16px}.ratio-choice small{font-size:9px;opacity:.72;font-weight:700}
@media(max-width:560px){.ratio-pill.single-ratio{min-width:112px;min-height:46px}.ratio-pill.single-ratio b{font-size:12px}}
