:root{--ink:#30281f;--muted:#776c60;--paper:#fffaf1;--cream:#f5ead6;--cream-deep:#ead8b8;--plum:#7b213f;--plum-dark:#54162e;--plum-soft:#f2dce2;--gold:#bb8532;--line:#4d342229;--shadow:0 24px 70px #4a281b1f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Meiryo,sans-serif;line-height:1.75}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #7b213f4d}.site-header{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffaf1e6;justify-content:space-between;align-items:center;min-height:72px;padding:12px clamp(20px,5vw,76px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:16px;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--plum);color:#fff9ec;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:13px;display:inline-flex}.operator{color:var(--muted);letter-spacing:.04em;font-size:12px}.hero{grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);min-height:650px;display:grid;overflow:hidden}.hero-copy{align-self:center;max-width:720px;padding:88px 7vw 82px max(24px,8vw)}.kicker,.section-heading p,.result-heading>p,.legal-kicker{color:var(--plum);letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px;font-size:12px;font-weight:800}.hero h1{letter-spacing:-.045em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(42px,5.6vw,78px);font-weight:600;line-height:1.22}.hero h1>span,.hero h1>em{display:block}.hero h1 em{color:var(--plum);letter-spacing:-.065em;white-space:nowrap;font-size:.82em;font-style:normal;position:relative}.hero h1 em:after{background:var(--gold);content:"";width:42%;height:2px;position:absolute;bottom:-7px;left:0}.hero-lead{color:var(--muted);max-width:560px;margin:36px 0 30px;font-size:16px;line-height:2}.hero-lead span{display:block}.hero-cta,.primary-button,.instagram-card a{background:var(--plum);border:1px solid var(--plum);color:#fff;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:16px;min-height:52px;padding:12px 26px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.hero-cta:hover,.primary-button:hover:not(:disabled),.instagram-card a:hover{background:var(--plum-dark);transform:translateY(-2px);box-shadow:0 12px 30px #53162d33}.primary-button:disabled{cursor:not-allowed;opacity:.42}.feature-pills{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.feature-pills span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;padding:5px 11px;font-size:11px}.hero-art{background:#1c120c;min-height:650px;position:relative;overflow:hidden}.hero-photo{object-fit:cover;object-position:52% center}.hero-photo-shade{background:linear-gradient(90deg,#fffaf12e,#0000 18%),linear-gradient(#0000 68%,#140a062e);position:absolute;inset:0}.how-it-works{background:var(--plum-dark);color:#fffaf2;grid-template-columns:repeat(3,1fr);padding:26px max(24px,8vw);display:grid}.how-it-works div{border-right:1px solid #ffffff2e;justify-content:center;align-items:center;gap:14px;min-height:54px;padding:0 20px;display:flex}.how-it-works div:last-child{border-right:0}.how-it-works strong{border:1px solid #ffffff7a;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-family:Georgia,serif;font-size:13px;font-style:italic;display:inline-flex}.how-it-works span{font-size:13px;font-weight:700}.builder-section{background:radial-gradient(circle at 10% 18%, #7b213f0d, transparent 30%), var(--cream);padding:90px max(18px,7vw) 110px}.section-heading{text-align:center;max-width:940px;margin:0 auto 36px}.section-heading h2,.result-heading h2{margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(30px,4vw,48px);font-weight:600}.builder-card{box-shadow:var(--shadow);background:#fffdf8f0;border:1px solid #62442b24;border-radius:30px;max-width:1040px;min-height:520px;margin:0 auto;overflow:hidden}.progress-wrap{border-bottom:1px solid var(--line);padding:22px 44px 18px}.progress-copy{color:var(--muted);letter-spacing:.1em;justify-content:space-between;font-size:11px;font-weight:800;display:flex}.progress-track{background:#eadfcd;border-radius:999px;height:5px;margin-top:10px;overflow:hidden}.progress-track span{background:linear-gradient(90deg, var(--plum), #c2736f);border-radius:999px;height:100%;transition:width .28s;display:block}.panel{border:0;margin:0;padding:50px clamp(24px,6vw,70px) 44px}.panel legend,.panel-title{color:var(--ink);text-align:center;width:100%;margin:0;padding:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(25px,3vw,36px);font-weight:600;line-height:1.4}.panel-lead{color:var(--muted);text-align:center;max-width:680px;margin:10px auto 32px}.choice-grid{gap:18px;display:grid}.choice-grid--two{grid-template-columns:repeat(2,1fr)}.choice{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:20px;flex-direction:column;align-items:center;min-height:190px;padding:26px 20px;transition:border .16s,background .16s,transform .16s;display:flex}.choice:hover{border-color:#7b213f73;transform:translateY(-2px)}.choice.active{border:2px solid var(--plum);background:#fff8f8;box-shadow:0 10px 28px #7b213f1a}.choice-icon{background:var(--plum-soft);color:var(--plum);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin-bottom:14px;font-size:20px;display:flex}.choice strong{font-size:18px}.choice small{color:var(--muted);margin-top:7px;font-size:12px}.legal-note{color:var(--muted);text-align:center;margin:20px 0 0;font-size:12px}.chip-grid{flex-wrap:wrap;justify-content:center;gap:11px;display:flex}.ingredient-tabs{background:#f4ecdf;border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;max-width:620px;margin:0 auto 22px;padding:6px;display:grid}.ingredient-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;min-height:46px;padding:8px 12px;font-weight:800}.ingredient-tabs button.active{color:var(--plum);background:#fff;box-shadow:0 5px 16px #462a1c14}.ingredient-groups{max-width:920px;margin:0 auto}.ingredient-limit{justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.ingredient-limit>div{gap:2px;display:grid}.ingredient-limit strong{font-size:15px}.ingredient-limit small,.ingredient-limit span{color:var(--muted);font-size:11px}.ingredient-group{border:1px solid var(--line);border-radius:14px;margin-top:10px;overflow:hidden}.ingredient-group summary{cursor:pointer;gap:2px;padding:15px 18px;list-style-position:inside;display:grid}.ingredient-group summary span{font-size:14px;font-weight:800}.ingredient-group summary small{color:var(--muted);padding-left:19px;font-size:11px}.ingredient-chip-grid{border-top:1px solid var(--line);justify-content:flex-start;padding:16px}.ingredient-chip-grid .chip{min-height:44px;padding:8px 12px}.ingredient-chip-grid .chip>small{color:var(--muted);font-size:9px}.ingredient-chip-grid .chip:disabled{cursor:not-allowed;opacity:.38}.selected-ingredients{border-left:3px solid var(--plum);text-align:left;background:#fff8f8;margin-top:18px;padding:12px 15px}.selected-ingredients strong{color:var(--plum);font-size:11px}.selected-ingredients p{margin:3px 0 0;font-size:12px;line-height:1.7}.alcohol-grid{grid-template-columns:repeat(4,1fr);display:grid}.chip{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:50px;padding:10px 16px;font-size:14px;font-weight:700;transition:all .16s;display:inline-flex;position:relative}.chip:hover,.chip.active{border-color:var(--plum);color:var(--plum);background:#fff5f6}.chip.recommended{border-color:var(--gold);padding-top:19px}.chip.recommended>span:first-child{background:var(--gold);color:#fff;letter-spacing:.08em;white-space:nowrap;border-radius:0 0 7px 7px;padding:1px 10px 2px;font-size:9px;position:absolute;top:0;left:50%;transform:translate(-50%)}.check-mark{border:1px solid;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;display:inline-flex}.text-field{max-width:650px;margin:28px auto 0;display:block}.text-field>span{margin-bottom:7px;font-size:13px;font-weight:800;display:block}.text-field input,.text-field select{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;width:100%;min-height:50px;padding:10px 15px}.text-field input:focus{border-color:var(--plum)}.custom-area{background:#f9f2e7;border-radius:18px;margin-top:30px;padding:4px 22px 22px}.custom-alcohol-area{padding-top:20px}.custom-alcohol-area h4{margin:0 0 4px}.custom-alcohol-area>p{color:var(--muted);margin:0;font-size:12px}.custom-alcohol-grid{grid-template-columns:1.25fr 1fr .6fr auto;align-items:end;gap:12px;display:grid}.custom-alcohol-grid .text-field{width:100%;margin-top:18px}.add-alcohol-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:50px;padding:10px 20px}.add-alcohol-button:disabled{cursor:not-allowed;opacity:.35}.input-with-button{grid-template-columns:1fr auto;gap:8px;display:grid}.input-with-button button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;min-width:86px;padding:0 18px}.input-with-button button:disabled{opacity:.35}.custom-tags{flex-wrap:wrap;gap:8px;max-width:650px;margin:14px auto 0;display:flex}.custom-tags button{background:var(--plum-soft);color:var(--plum-dark);cursor:pointer;border:0;border-radius:999px;padding:5px 11px;font-size:12px}.panel-actions{justify-content:space-between;align-items:center;margin-top:40px;display:flex}.panel-actions--end{justify-content:flex-end}.secondary-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;min-height:50px;padding:10px 24px}.secondary-button:hover{background:#fff}.taste-row{border:0;grid-template-columns:90px 1fr;gap:22px;max-width:680px;margin:0 auto;padding:18px 0;display:grid}.taste-row+.taste-row{border-top:1px solid var(--line)}.taste-row legend{float:left;text-align:left;align-self:center;font-family:inherit;font-size:14px;font-weight:800}.segmented{background:#eee3d3;border-radius:12px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.segmented--two{grid-template-columns:repeat(2,1fr)}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;min-height:42px}.segmented button.active{color:var(--plum);background:#fff;font-weight:800;box-shadow:0 3px 12px #49301f17}.email-panel{max-width:770px;margin:0 auto}.mail-mark{background:var(--plum-soft);color:var(--plum);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 18px;font-family:Georgia,serif;font-size:27px;display:flex}.demo-notice{color:#735a18;text-align:center;background:#fff5d9;border:1px solid #e6c86b;border-radius:12px;max-width:650px;margin:0 auto 22px;padding:10px 14px;font-size:12px}.check-row{cursor:pointer;align-items:flex-start;gap:11px;max-width:650px;margin:15px auto 0;font-size:13px;display:flex}.check-row input{accent-color:var(--plum);width:18px;height:18px;margin-top:4px}.check-row a{color:var(--plum);font-weight:700}.retention-note{color:var(--muted);max-width:650px;margin:17px auto 0;font-size:11px}.error-message{color:#a50026;text-align:center;margin:18px 0 0;font-size:13px}.result-panel{background:#fffdf9;padding:54px clamp(18px,5vw,56px) 48px}.result-heading{text-align:center;max-width:740px;margin:0 auto 32px}.result-heading>span{color:var(--muted);margin-top:13px;font-size:12px;display:block}.recipe-count{color:var(--plum);text-align:center;margin:-10px 0 8px;font-size:13px;font-weight:800}.recipe-card{border:1px solid var(--line);background:#fff;border-radius:24px;margin-top:24px;padding:35px;position:relative;overflow:hidden}.recipe-card:before{background:var(--gold);content:"";width:5px;height:100%;position:absolute;top:0;left:0}.recipe-card--umeshu{background:linear-gradient(135deg,#fff,#fff6f7);border-color:#7b213f47}.recipe-card--umeshu:before{background:var(--plum)}.recipe-card__top{grid-template-columns:minmax(210px,.5fr) 1fr;gap:28px;display:grid}.recipe-visual{aspect-ratio:1;border-radius:16px;position:relative;overflow:hidden}.recipe-visual img{object-fit:cover}.recipe-card__eyebrow{color:var(--plum);letter-spacing:.16em;font-size:10px;font-weight:800}.recipe-card h3{margin:5px 0 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(25px,4vw,38px);line-height:1.35}.recipe-concept{color:var(--muted);margin:9px 0 16px}.recipe-badges{flex-wrap:wrap;gap:8px;display:flex}.recipe-badges span,.recipe-badges strong{border-radius:999px;padding:5px 10px;font-size:11px}.recipe-badges span{background:var(--cream);color:var(--muted)}.recipe-badges strong{background:var(--plum-soft);color:var(--plum-dark)}.recipe-details{margin-top:25px}.recipe-details summary{color:var(--plum);cursor:pointer;font-size:13px;font-weight:800;list-style-position:inside}.recipe-details__content{padding-top:18px}.recipe-grid{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:.8fr 1.2fr;gap:34px;padding:27px 0;display:grid}.recipe-card h4{letter-spacing:.12em;margin:0 0 12px;font-size:12px}.ingredient-list{margin:0}.ingredient-list>div{justify-content:space-between;padding:5px 0;font-size:14px;display:flex}.ingredient-list dd{margin:0;font-weight:800}.steps-list{counter-reset:steps;margin:0;padding:0;list-style:none}.steps-list li{counter-increment:steps;padding:4px 0 4px 30px;font-size:14px;position:relative}.steps-list li:before{background:var(--cream);content:counter(steps);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:10px;font-weight:800;display:flex;position:absolute;top:7px;left:0}.recipe-note{grid-template-columns:150px 1fr;gap:10px;margin-top:20px;display:grid}.recipe-note span{color:var(--plum);font-size:11px;font-weight:800}.recipe-note p{margin:0;font-size:13px}.suggested-additions{background:#fff5dd;border:1px solid #e7c47a;border-radius:14px;margin-top:20px;padding:15px 18px}.suggested-additions strong{color:#7e5312;font-size:12px}.suggested-additions p{margin:4px 0;font-size:14px;font-weight:800}.suggested-additions small{color:var(--muted);font-size:11px}.shaker-tip{background:#f8efdf;border-radius:15px;align-items:flex-start;gap:13px;margin-top:22px;padding:15px 18px;display:flex}.shaker-tip>span{color:var(--gold);font-size:20px}.shaker-tip strong{font-size:12px}.shaker-tip p{color:var(--muted);margin:2px 0 0;font-size:12px}.instagram-card{background:var(--plum-dark);color:#fff9ef;border-radius:24px;grid-template-columns:1fr auto;align-items:center;gap:28px;margin-top:24px;padding:30px 34px;display:grid}.instagram-card>div>span{color:#e7bd73;letter-spacing:.13em;font-size:10px;font-weight:800}.instagram-card h3{margin:4px 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:22px;line-height:1.45}.instagram-card p{color:#ffffffb8;margin:0;font-size:12px}.instagram-card a{color:var(--plum-dark);white-space:nowrap;background:#fff9ef;border-color:#fff9ef}.result-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:30px;display:flex}.result-actions .secondary-button:disabled{cursor:not-allowed;opacity:.45}.result-message{color:var(--plum);text-align:center;margin:16px 0 0;font-size:13px}.responsible-note{color:var(--muted);text-align:center;margin:24px 0 0;font-size:11px}.trust-section{grid-template-columns:repeat(3,1fr);gap:46px;padding:88px max(24px,9vw);display:grid}.trust-section>div{border-top:1px solid var(--line);padding-top:20px}.trust-section span{color:var(--gold);font-family:Georgia,serif;font-size:13px;font-style:italic}.trust-section h3{margin:9px 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:20px}.trust-section p{color:var(--muted);margin:0;font-size:13px}footer{color:#f9f1e4;background:#2e261f;justify-content:space-between;align-items:flex-end;padding:48px max(24px,8vw);display:flex}footer>div{flex-direction:column;gap:4px;display:flex}footer strong{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:16px}footer span,footer a{color:#ffffffa6;font-size:11px}footer nav{gap:18px;display:flex}.legal-page{background:var(--cream);min-height:100vh;padding:56px 20px 90px}.legal-back{max-width:900px;margin:0 auto 20px;font-size:13px;text-decoration:none;display:block}.legal-page article{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf9;border-radius:24px;max-width:900px;margin:0 auto;padding:clamp(30px,6vw,70px)}.legal-page h1{margin:0 0 22px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(30px,5vw,46px);line-height:1.4}.legal-page h2{border-top:1px solid var(--line);margin:38px 0 10px;padding-top:28px;font-size:18px}.legal-page p,.legal-page li{color:#5f554c;font-size:14px}.legal-intro{font-size:15px!important}.legal-page a{color:var(--plum)}.retention-table{border:1px solid var(--line);border-radius:14px;overflow:hidden}.retention-table div{grid-template-columns:220px 1fr;font-size:13px;display:grid}.retention-table div+div{border-top:1px solid var(--line)}.retention-table strong,.retention-table span{padding:12px 15px}.retention-table strong{background:#f7edde}.legal-updated{background:#f8f1e7;border-radius:12px;margin-top:40px;padding:14px}@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:70px 24px 60px}.hero-art{min-height:460px}.how-it-works{grid-template-columns:1fr}.how-it-works div{border-bottom:1px solid #ffffff2e;border-right:0;justify-content:flex-start}.how-it-works div:last-child{border-bottom:0}.alcohol-grid{grid-template-columns:repeat(3,1fr)}.instagram-card{grid-template-columns:1fr}.instagram-card a{justify-self:start}.trust-section{grid-template-columns:1fr;gap:28px}}@media (max-width:640px){.site-header{min-height:60px;padding:10px 16px}.brand{font-size:13px}.brand-mark{width:30px;height:30px}.operator{display:none}.hero h1{font-size:40px}.hero h1 em{font-size:.77em}.hero-lead{font-size:14px}.hero-lead span:last-child{margin-top:3px}.builder-section{padding:68px 12px 80px}.builder-card{border-radius:22px}.progress-wrap{padding:18px 20px 15px}.panel{padding:38px 18px 30px}.choice-grid--two,.alcohol-grid{grid-template-columns:1fr 1fr}.choice{min-height:165px;padding:20px 12px}.choice strong{font-size:15px}.chip{min-height:46px;padding:9px 11px;font-size:12px}.ingredient-tabs{grid-template-columns:1fr}.ingredient-limit{align-items:flex-start;gap:6px}.ingredient-chip-grid{padding:12px}.custom-alcohol-grid{grid-template-columns:1fr}.taste-row{grid-template-columns:1fr;gap:8px}.taste-row legend{margin-bottom:6px}.panel-actions{gap:10px}.primary-button,.secondary-button{min-height:48px;padding:9px 18px}.result-panel{padding:40px 12px 30px}.recipe-card{border-radius:18px;padding:26px 18px}.recipe-card__top{grid-template-columns:1fr;gap:18px}.recipe-visual{aspect-ratio:16/9}.recipe-grid,.recipe-note{grid-template-columns:1fr}.instagram-card{border-radius:18px;padding:24px 20px}.instagram-card a{width:100%}footer{flex-direction:column;align-items:flex-start;gap:24px}footer nav{flex-direction:column;gap:7px}.retention-table div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.otp-input{font-variant-numeric:tabular-nums;letter-spacing:.28em;text-align:center;font-weight:700;font-size:24px!important}.text-button{appearance:none;color:var(--plum);cursor:pointer;font:inherit;text-underline-offset:4px;background:0 0;border:0;margin:16px auto 0;padding:8px;text-decoration:underline;display:block}.text-button:disabled{cursor:wait;opacity:.5}
