/* 御松饼 YUSONGBING · Original editorial bakery system · 2026 */
:root{--ink:#23392c;--muted:#677467;--cream:#f9f6ec;--paper:#fffdf7;--forest:#264636;--forest-2:#173226;--peach:#f0ab88;--gold:#f9da95;--line:#d9dfcf;--sage:#e6ecdc;--pink:#f5ddcb;--radius:25px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;--serif:"Songti SC","STSong","Noto Serif CJK SC","SimSun",serif;--shadow:0 20px 55px rgba(29,62,43,.09)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:98px}body{margin:0;background:var(--cream);font:16px/1.7 var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}::selection{background:#f6d49e;color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e68e68;outline-offset:4px}img{max-width:100%;display:block}svg{display:block}p,h1,h2,h3,h4{margin-top:0}p{margin-bottom:1em}h1,h2,h3,h4{line-height:1.28}ul{margin:0;padding:0;list-style:none}.wrap{width:min(1300px,calc(100% - 68px));margin:auto}.wrap-narrow{width:min(900px,calc(100% - 68px));margin:auto}.eyebrow{font-weight:780;letter-spacing:.22em;font-size:.72rem;text-transform:uppercase;color:#57725a}.eyebrow.light{color:#e6cfa9}.section-title{font:normal clamp(2.4rem,4.4vw,4.35rem)/1.18 var(--serif);letter-spacing:.015em;margin:0}.section-title em{font-style:normal;color:#ce8a64}.text-small{font-size:.9rem}.muted{color:var(--muted)}.pill-label{display:inline-flex;align-items:center;gap:9px;border:1px solid #ccd6c5;border-radius:30px;padding:7px 13px;color:#4e6954;font-size:.76rem;letter-spacing:.1em;font-weight:700}.pill-label::before{content:"";width:7px;height:7px;background:#d49571;border-radius:50%}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:1px solid transparent;background:var(--forest);color:#fffaf0;padding:15px 23px;border-radius:100px;font-weight:720;letter-spacing:.04em;white-space:nowrap;transition:.22s ease}.button:hover{transform:translateY(-2px);background:#355a45;box-shadow:0 8px 24px rgba(20,47,31,.15)}.button:active{transform:scale(.98)}.button.alt{background:var(--gold);color:var(--forest)}.button.alt:hover{background:#ffe3aa}.button.outline{background:transparent;color:var(--forest);border-color:#c2cdbd}.button.outline:hover{background:#eff3e8}.button.white{background:#fffcf4;color:var(--forest)}.button.mini{font-size:.8rem;padding:10px 15px}.button.block{width:100%}.arrow{font-size:1.25rem;line-height:1;font-weight:400}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fineprint{font-size:.76rem;color:#738071}.divider{height:1px;background:var(--line)}
/* Navigation: compact bracketed wordmark + editorial rail */
.top-strip{background:var(--forest-2);color:#fbebc9;text-align:center;font-size:.7rem;letter-spacing:.19em;padding:7px 12px}.site-header{background:rgba(249,246,236,.93);position:sticky;top:0;z-index:90;border-bottom:1px solid #d9dfd2;backdrop-filter:blur(17px);-webkit-backdrop-filter:blur(17px)}.header-inner{height:83px;display:flex;align-items:center;gap:38px}.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{width:49px;height:49px;border-radius:16px;box-shadow:0 5px 14px #35594520}.brand-text{display:flex;flex-direction:column;line-height:1.2;gap:4px}.brand-text strong{font-family:var(--serif);font-size:1.28rem;letter-spacing:.19em}.brand-text small{font-size:.56rem;letter-spacing:.22em;font-weight:800}.nav{display:flex;align-items:center;gap:35px;margin-left:auto}.nav a{font-size:.87rem;font-weight:700;position:relative;padding:9px 0}.nav a::after{content:"";position:absolute;bottom:3px;left:0;right:100%;height:2px;background:#d58665;transition:.2s}.nav a:hover::after,.nav a[aria-current="page"]::after{right:0}.header-actions{display:flex;align-items:center;gap:12px}.cart-trigger{position:relative;border:1px solid #cbd6c8;background:#fff9ee;color:var(--ink);padding:10px 15px;border-radius:30px;display:inline-flex;align-items:center;gap:9px;font-size:.83rem;font-weight:800}.cart-count{font-size:.71rem;display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 3px;border-radius:50px;background:var(--forest);color:#fff}.menu-trigger{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:transparent;border:1px solid #cad4c5;border-radius:50%;width:44px;height:44px}.menu-trigger span{width:17px;height:2px;background:var(--forest);border-radius:3px}
/* Home hero: dramatic dark split composition */
.hero{background:var(--forest-2);color:#fff9e9;overflow:hidden;position:relative}.hero::before{content:"";position:absolute;width:55vw;height:55vw;border:1px solid #ffffff13;border-radius:50%;left:-22vw;top:-30vw;pointer-events:none}.hero-grid{display:grid;grid-template-columns: .93fr 1.07fr;min-height:680px;align-items:center}.hero-copy{padding:85px 0 95px;position:relative;z-index:2}.hero-copy h1{font:normal clamp(4.9rem,8vw,8.8rem)/1.04 var(--serif);letter-spacing:.05em;margin:29px 0 22px;white-space:nowrap}.hero-copy h1 .soft{color:#f6c7a1}.hero-copy h1 .line2{display:block;margin-left:.93em}.hero-copy p{max-width:460px;color:#d6e1cf;font-size:1rem;line-height:2}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:34px 0 60px}.hero-note{display:flex;gap:15px;align-items:center;color:#d2e0c9;font-size:.79rem;letter-spacing:.1em}.hero-note i{width:41px;height:1px;background:#9fae9b}.hero-visual{height:650px;position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;margin-right:-50px}.hero-visual::before{content:"";position:absolute;width:680px;height:680px;max-width:99%;aspect-ratio:1;border-radius:50%;background:#e9ac85;box-shadow:inset 25px -27px 0 #ffffff17;transform:translate(30px,28px)}.hero-image{position:relative;width:110%;max-width:820px;transform:rotate(-6deg) translate(11px,18px);filter:drop-shadow(0 36px 40px #07170b53);border-radius:48%;mix-blend-mode:normal}.hero-badge{position:absolute;z-index:2;top:45px;right:5%;background:#ffebbf;color:var(--forest);width:131px;height:131px;border-radius:50%;display:grid;place-items:center;transform:rotate(14deg);text-align:center;font-size:.69rem;line-height:1.8;letter-spacing:.11em;font-weight:800;border:2px dotted #b07d51;box-shadow:0 0 0 8px #ffebbf}.hero-count{position:absolute;bottom:45px;right:12%;z-index:2;color:#fff6e4;font:italic 1.65rem/1.1 Georgia,serif;letter-spacing:.03em}
.ticker{overflow:hidden;border-bottom:1px solid var(--line);background:#fff8ea}.ticker-track{display:flex;gap:48px;white-space:nowrap;padding:17px 0;width:max-content;animation:move 36s linear infinite;font:italic 1.15rem Georgia,serif;color:#64806b}.ticker-track span::before{content:'✳';font-style:normal;color:#d98a6e;margin-right:48px;font-size:.85rem}@keyframes move{to{transform:translateX(-50%)}}
.section-pad{padding:105px 0}.section-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-end;margin-bottom:38px}.section-head p{max-width:320px;color:var(--muted);margin-bottom:2px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card{border:1px solid #e0e4d9;border-radius:20px;overflow:hidden;background:var(--paper);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s;min-width:0}.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.product-media{position:relative;overflow:hidden;aspect-ratio:1.22;background:#e9ddc9}.product-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.product-card:hover img{transform:scale(1.05)}.product-tag{position:absolute;top:13px;left:13px;background:#fff9eeeb;padding:7px 11px;border-radius:100px;font-size:.67rem;font-weight:800;letter-spacing:.03em;backdrop-filter:blur(9px)}.product-content{padding:21px 20px 19px;flex:1;display:flex;flex-direction:column}.product-title{font-family:var(--serif);font-size:1.28rem;margin:0 0 5px}.product-en{font:italic .77rem Georgia,serif;letter-spacing:.045em;color:#879280}.product-description{color:var(--muted);font-size:.81rem;line-height:1.7;margin:12px 0 20px;flex:1}.product-bottom{display:flex;align-items:center;justify-content:space-between;gap:6px}.price{font:normal 1.4rem Georgia,serif;letter-spacing:-.01em;color:var(--forest)}.price small{font-size:.77rem;margin-right:4px}.add-button{width:37px;height:37px;border:1px solid #cbd6c8;border-radius:50%;font-size:1.4rem;background:#e8eee1;color:var(--ink);line-height:1;display:grid;place-items:center;transition:.2s}.add-button:hover{background:var(--forest);color:#fff;transform:rotate(90deg)}.more-link{display:inline-flex;gap:8px;align-items:center;font-size:.87rem;font-weight:800;padding:13px 0;border-bottom:1px solid #c3cec3}.more-link:hover{color:#b06b50}
.story-feature{background:#e7ecdf;overflow:hidden}.story-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:9%;align-items:center}.story-art{position:relative;min-height:510px;background:#f4ddc4;border-radius:180px 180px 26px 26px;display:grid;place-items:center;overflow:hidden}.story-art::before{content:"";position:absolute;width:85%;height:85%;border:1px solid #ba8e7090;border-radius:50%;top:6%;left:7%}.story-art img{position:relative;object-fit:cover;width:98%;max-width:620px;transform:rotate(-8deg)}.story-sticker{position:absolute;right:12px;bottom:22px;background:#304b3a;color:#ffedce;border-radius:50%;width:105px;height:105px;display:grid;place-items:center;font:1rem var(--serif);transform:rotate(-16deg);z-index:2}.story-copy p{color:#677867;line-height:2;max-width:570px}.story-points{display:flex;gap:30px;border-top:1px solid #c9d4c3;padding-top:21px;margin:31px 0}.story-points strong{font:normal 2rem Georgia,serif;color:var(--forest)}.story-points span{display:block;font-size:.75rem;color:#647460}
.ritual{background:#faf6e9}.ritual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.ritual-item{border-top:2px solid #aabc9c;padding-top:28px}.ritual-no{font:italic 2.7rem Georgia,serif;color:#c98667}.ritual-item h3{font:normal 1.5rem var(--serif);margin:22px 0 8px}.ritual-item p{color:var(--muted);font-size:.9rem;line-height:1.95}.quote-band{background:#e8b399;color:#3b392d;padding:72px 0;position:relative;overflow:hidden}.quote-band::after{content:"✳";font-size:280px;line-height:1;position:absolute;right:6%;top:-44px;opacity:.16}.quote-band p{font:normal clamp(2.15rem,3.8vw,4rem)/1.5 var(--serif);max-width:1000px;margin:0}.quote-band small{display:block;margin-top:14px;letter-spacing:.24em;font-weight:800}.cta-band{padding:65px 0;background:var(--forest);color:#fff6e6}.cta-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-grid h2{font:normal clamp(2rem,3.5vw,3rem) var(--serif);margin:8px 0}.cta-grid p{color:#d2dfd0;margin:0}
/* Shared inner pages */
.inner-hero{padding:80px 0 64px;background:#e8ede0;position:relative;overflow:hidden}.inner-hero::before{content:"";width:375px;height:375px;border:1px solid #aec1ad;border-radius:50%;position:absolute;top:-190px;right:4%}.inner-hero .section-title{font-size:clamp(3rem,6vw,6rem);margin:13px 0 18px}.inner-hero p{max-width:560px;color:#667466;line-height:2}.crumb{font-size:.8rem;color:#6b7d69;display:flex;gap:9px;align-items:center}.crumb span{opacity:.5}.count-note{font-size:.78rem;letter-spacing:.1em;color:#7e897a}.menu-area{padding:60px 0 110px}.menu-controls{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:30px;flex-wrap:wrap}.filter-list{display:flex;gap:10px;flex-wrap:wrap}.filter-btn{background:#f8f7f0;border:1px solid #d8dfd1;color:#53715c;padding:9px 19px;border-radius:30px;font-size:.85rem;font-weight:750}.filter-btn:hover,.filter-btn.active{background:var(--forest);color:#fff;border-color:var(--forest)}.sort-select,.search-input{background:#fffcf5;border:1px solid #d8dfd0;border-radius:26px;padding:12px 15px;color:var(--forest);font-size:.83rem}.search-input{min-width:190px}.sort-controls{display:flex;gap:10px;flex-wrap:wrap}.menu-count{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dae1d6;padding:0 0 20px;margin-bottom:22px}.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.empty-state{grid-column:1/-1;text-align:center;background:white;border:1px dashed #bcc9b6;border-radius:22px;padding:80px 25px}.empty-state p{color:var(--muted)}
/* Brand story: collage and timeline */
.story-hero{background:#ead3b9}.story-intro{padding:100px 0 60px;display:grid;grid-template-columns:.7fr 1.3fr;gap:12%;align-items:start}.story-intro .section-title{margin-bottom:0}.story-intro p{font-size:1.08rem;line-height:2.1;color:#5e705f}.story-poster{min-height:590px;border-radius:24px;overflow:hidden;background:#cdd3b0;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.poster-image{border-radius:16px;overflow:hidden;display:grid;place-items:center;background:#f3c6a5}.poster-image:nth-child(2){background:#ddc6bb;transform:translateY(40px)}.poster-image img{height:100%;width:100%;object-fit:cover}.poster-label{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%) rotate(-10deg);border-radius:70px;background:#273c30;color:#fff8dd;padding:22px 38px;font:italic clamp(1.3rem,2vw,2.3rem) Georgia,serif;white-space:nowrap;box-shadow:0 16px 20px #13362244}.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:35px 0 100px}.promise-card{padding:40px 30px;background:#fffaf1;border:1px solid #e4e3d9;border-radius:23px}.promise-card .icon-circle{width:64px;height:64px;background:#e2ecd9;border-radius:50%;display:grid;place-items:center;font:normal 1.65rem Georgia,serif;color:#3c674b;margin-bottom:24px}.promise-card h3{font:1.52rem var(--serif);margin-bottom:12px}.promise-card p{font-size:.91rem;color:#6d786c;line-height:1.9}.timeline{border-top:1px solid #b8c9b5}.timeline-row{display:grid;grid-template-columns:145px 1fr 1fr;gap:40px;padding:32px 0;border-bottom:1px solid #cdd7ca;align-items:start}.timeline-row strong{font:italic 2.25rem Georgia,serif;color:#ae795f}.timeline-row h3{font:normal 1.6rem var(--serif)}.timeline-row p{color:#70806e;margin:0;font-size:.91rem}.promise-section{background:#e6ecdf;padding:90px 0}
/* Contact */
.contact-layout{display:grid;grid-template-columns:.88fr 1.12fr;gap:55px;padding:85px 0 110px}.contact-panel{background:#e6ecdf;border-radius:26px;padding:45px;align-self:start}.contact-panel h2{font:normal 2.2rem var(--serif)}.contact-line{padding:25px 0;border-bottom:1px solid #cad7c8}.contact-line:last-child{border:0}.contact-line label{font-size:.73rem;letter-spacing:.17em;color:#6d7c70;display:block;margin-bottom:9px}.contact-line strong{font-size:1rem;line-height:1.8;overflow-wrap:anywhere}.copy-small{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;color:#385a41;margin-left:12px;font-size:.8rem;font-weight:800}.copy-small[disabled]{cursor:not-allowed;opacity:.4}.form-card{border-radius:26px;background:var(--paper);padding:43px 46px;border:1px solid #e4e6da}.form-card h2{font:normal 2.4rem var(--serif);margin-bottom:11px}.form-card p{font-size:.88rem;color:var(--muted);line-height:1.9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 18px}.field label{font-size:.79rem;font-weight:800}.field input,.field textarea,.field select{border:1px solid #ced9c9;border-radius:11px;padding:14px 15px;outline:0;background:#fafaf6;color:var(--ink);min-width:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:#709279;box-shadow:0 0 0 3px #a4c7a044}.field textarea{min-height:144px;resize:vertical}.copy-result{display:none;margin-top:23px;border:1px solid #b8c9ab;background:#eaf1e4;padding:18px;border-radius:13px;white-space:pre-wrap;font-size:.83rem;overflow-wrap:anywhere}.copy-result.visible{display:block}.local-notice{padding:30px;border-radius:18px;background:#f8ebdd;border:1px solid #e9d1bb;color:#6c5949;font-size:.84rem;line-height:1.9}
/* Cart overlay and detail dialog */
.drawer-shade{position:fixed;inset:0;background:#142419a8;z-index:120;opacity:0;pointer-events:none;transition:opacity .3s}.drawer-shade.open{opacity:1;pointer-events:auto}.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(490px,100%);background:#fffcf6;z-index:121;transform:translateX(104%);transition:transform .33s ease;display:flex;flex-direction:column;box-shadow:-8px 0 45px #04180738}.cart-drawer.open{transform:translateX(0)}.cart-heading{padding:27px 27px 22px;border-bottom:1px solid #dce3d7;display:flex;justify-content:space-between;align-items:center}.cart-heading h2{font:normal 2rem var(--serif);margin:0}.close-round{width:42px;height:42px;display:grid;place-items:center;border:1px solid #cbd5c6;border-radius:50%;background:#fff7ee;color:var(--forest);font-size:1.45rem}.cart-items{padding:21px 26px;flex:1;overflow-y:auto}.cart-empty{text-align:center;padding:80px 12px;color:#657a6b}.cart-empty .empty-icon{font-size:3.4rem;line-height:1;margin-bottom:18px}.cart-row{display:grid;grid-template-columns:88px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid #e6e8dd}.cart-row img{border-radius:11px;aspect-ratio:1;object-fit:cover}.cart-row h3{font:1.04rem var(--serif);margin:0 0 4px}.cart-row p{margin:0;font-size:.8rem;color:#899486}.quantity{display:flex;align-items:center;gap:8px;margin-top:10px}.quantity button{width:27px;height:27px;border-radius:50%;border:1px solid #cbd8c8;background:#f4f8ee;font-size:1rem}.quantity span{min-width:18px;text-align:center;font-size:.82rem}.remove{border:0;background:transparent;color:#ac7661;font-size:.75rem;padding:2px 7px;text-decoration:underline}.cart-footer{padding:23px 27px 32px;border-top:1px solid #dae1d6;box-shadow:0 -10px 30px #14241908}.cart-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.cart-total strong{font:2rem Georgia,serif}.cart-hint{font-size:.77rem;color:#788574;line-height:1.7;margin:13px 0 0}dialog{border:0;padding:0;max-width:min(780px,calc(100vw - 32px));width:100%;border-radius:25px;color:var(--ink);box-shadow:0 25px 85px #001a1147;overflow:hidden}dialog::backdrop{background:#152a20b4;backdrop-filter:blur(4px)}.dialog-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center}.dialog-img{height:100%;min-height:350px;object-fit:cover;width:100%}.dialog-copy{padding:42px}.dialog-copy h2{font:normal 2rem var(--serif);margin:16px 0 9px}.dialog-copy p{line-height:1.9;color:var(--muted)}.dialog-close{position:absolute;right:16px;top:16px;z-index:2}.toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%,20px);opacity:0;z-index:250;background:#243e30;color:#fff7e7;border-radius:30px;padding:12px 23px;font-size:.86rem;pointer-events:none;transition:.22s;box-shadow:0 10px 35px #142a1c4b;text-align:center;max-width:calc(100vw - 32px)}.toast.show{transform:translate(-50%,0);opacity:1}
/* Footer */
.site-footer{background:#193729;color:#f2e8d5;padding:70px 0 22px}.footer-main{display:grid;grid-template-columns:1.45fr .8fr .8fr 1fr;gap:42px;padding-bottom:66px}.footer-logo .brand-text strong{font-size:1.58rem}.footer-logo .brand-mark{background:#ffead0}.footer-motto{color:#b2c3b2;max-width:340px;line-height:2;margin-top:23px;font-size:.9rem}.footer-head{color:#e8dbc3;font-weight:800;font-size:.86rem;letter-spacing:.12em;margin-bottom:18px}.footer-col a,.footer-col p{display:block;font-size:.85rem;color:#b6c8ba;margin-bottom:11px}.footer-col a:hover{color:#fff}.footer-bottom{border-top:1px solid #3b5545;padding-top:19px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.75rem;color:#a9baaa}.footer-bottom a{text-decoration:underline;text-underline-offset:3px}
/* Motion */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.js [data-reveal].visible{opacity:1;transform:translateY(0)}
@media(max-width:1100px){.wrap{width:min(100% - 42px,1100px)}.nav{gap:20px}.header-inner{gap:20px}.hero-grid{min-height:585px}.hero-visual{height:580px}.hero-visual::before{width:555px;height:555px}.hero-copy h1{font-size:clamp(4.5rem,7.5vw,7rem)}.product-grid,.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.story-grid{gap:5%}}
@media(max-width:780px){.top-strip{font-size:.6rem;letter-spacing:.1em}.header-inner{height:70px}.brand-mark{width:43px;height:43px;border-radius:12px}.brand-text strong{font-size:1.14rem}.nav{position:absolute;left:0;right:0;top:100%;background:#faf8f0;flex-direction:column;gap:0;align-items:stretch;border-bottom:1px solid #d6decf;box-shadow:0 18px 32px #23453515;padding:11px 24px 22px;display:none}.nav.open{display:flex}.nav a{padding:15px 5px;border-bottom:1px solid #e6e9dd}.menu-trigger{display:flex}.header-actions{margin-left:auto}.cart-trigger{padding:10px 12px}.cart-trigger .cart-label{display:none}.hero-grid{display:flex;flex-direction:column;min-height:auto}.hero-copy{padding:70px 0 0;width:100%}.hero-copy h1{font-size:clamp(4.35rem,12vw,6.6rem);margin:17px 0}.hero-copy h1 .line2{margin-left:.5em}.hero-copy p{font-size:.92rem;max-width:480px}.hero-actions{margin:25px 0 35px}.hero-note{display:none}.hero-visual{height:450px;width:100%;margin:0}.hero-visual::before{width:min(520px,99vw);height:min(520px,99vw);transform:translate(0,28px)}.hero-image{width:107%;transform:rotate(-7deg) translate(0,10px)}.hero-badge{width:95px;height:95px;top:8px;right:5%;font-size:.54rem;box-shadow:0 0 0 5px #ffebbf}.hero-count{bottom:26px}.section-pad{padding:75px 0}.section-head{align-items:start;flex-direction:column}.section-head p{max-width:600px}.product-grid,.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.product-content{padding:17px 15px}.product-title{font-size:1.11rem}.product-description{font-size:.77rem;margin:7px 0 14px}.product-media{aspect-ratio:1.15}.story-grid{grid-template-columns:1fr}.story-art{min-height:390px;max-width:520px}.story-copy{margin-top:35px}.ritual-grid{grid-template-columns:1fr}.ritual-item{display:grid;grid-template-columns:80px 1fr;column-gap:15px}.ritual-no{grid-row:span 2}.ritual-item h3{margin:5px 0}.ritual-item p{margin:0}.cta-grid{align-items:start;flex-direction:column}.footer-main{grid-template-columns:1fr 1fr;gap:30px}.footer-main>div:first-child{grid-column:1/-1}.story-intro{grid-template-columns:1fr;gap:25px;padding:70px 0 35px}.story-poster{min-height:390px}.promise-grid{grid-template-columns:1fr;margin:20px 0 70px}.timeline-row{grid-template-columns:100px 1fr;gap:10px}.timeline-row p{grid-column:2}.contact-layout{grid-template-columns:1fr;gap:23px;padding:55px 0 75px}.contact-panel,.form-card{padding:32px}.inner-hero{padding:55px 0 40px}.menu-area{padding:42px 0 75px}}
@media(max-width:520px){.wrap,.wrap-narrow{width:calc(100% - 32px)}.brand{gap:7px}.brand-text strong{font-size:1.02rem}.brand-text small{font-size:.48rem;letter-spacing:.14em}.header-inner{gap:7px}.header-actions{gap:7px}.cart-trigger{padding:9px 10px;gap:5px}.hero-copy{padding-top:53px}.hero-copy h1{font-size:clamp(3.85rem,15vw,5.4rem)}.hero-visual{height:350px}.hero-visual::before{width:calc(100vw - 48px);height:calc(100vw - 48px);max-height:390px}.hero-badge{width:75px;height:75px;font-size:.46rem;top:14px;right:-2px}.hero-count{font-size:1rem;right:5%;bottom:19px}.hero-actions{gap:9px}.hero-actions .button{padding:12px 16px;font-size:.85rem}.section-title{font-size:2.52rem}.section-pad{padding:60px 0}.product-grid,.menu-grid{gap:10px}.product-media{aspect-ratio:1.03}.product-content{padding:15px 12px 14px}.product-title{font-size:1rem}.product-en{font-size:.68rem}.product-tag{font-size:.57rem;top:9px;left:9px;padding:5px 8px}.price{font-size:1.2rem}.add-button{width:32px;height:32px}.story-art{min-height:300px}.story-sticker{width:77px;height:77px;font-size:.77rem}.quote-band{padding:52px 0}.quote-band p{font-size:2rem}.quote-band::after{right:-60px;top:30px;font-size:210px}.story-points{gap:15px}.story-points strong{font-size:1.6rem}.menu-controls{align-items:stretch}.sort-controls{width:100%;gap:8px}.sort-select,.search-input{flex:1;min-width:0;max-width:calc(50% - 4px);width:100%}.filter-btn{padding:8px 13px;font-size:.77rem}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.site-footer{padding-top:52px}.footer-bottom{line-height:1.85}.form-grid{grid-template-columns:1fr;gap:0}.form-card,.contact-panel{padding:26px 20px}.story-poster{min-height:320px;padding:10px;gap:10px}.poster-label{font-size:1.15rem;padding:13px 20px}.dialog-grid{grid-template-columns:1fr}.dialog-img{min-height:0;max-height:245px}.dialog-copy{padding:24px 26px 28px}.dialog-copy h2{font-size:1.6rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.js [data-reveal]{opacity:1;transform:none}}
