:root{--wine:#761c32;--ink:#342725;--muted:#665b55;--cream:#fffaf2;--peach:#f7e5da;--line:#e4d4c8;--serif:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:.035em;line-height:1.6}h2{font-size:clamp(1.75rem,3vw,2.75rem);color:var(--wine)}h3{font-size:1.125rem;font-weight:600}p+p{margin-top:20px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b55e30;outline-offset:6px}.skip{position:absolute;top:-100px;left:20px;padding:8px 20px;background:white;z-index:100}.skip:focus{top:10px}.section-wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.header{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1440px;margin:auto;padding:21px 48px;border-bottom:1px solid var(--line);background:var(--cream)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-size:1.125rem;font-weight:600;letter-spacing:.03em}.brand img,.hero-stamp img,.visit-card img,.footer-brand img{mix-blend-mode:multiply;object-fit:contain}.brand small,.footer-brand small{display:block;font-size:.8125rem;font-weight:400;letter-spacing:.08em;color:var(--muted)}nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;font-size:.875rem;padding:10px 0}nav a:hover,.text-link:hover,.footer-links a:hover{color:var(--wine);text-decoration:underline}.nav-contact{border:1px solid var(--wine);color:var(--wine);padding:9px 18px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:.95fr 1.05fr;gap:65px;align-items:center;padding-block:72px 65px}.eyebrow{font-size:.875rem;letter-spacing:.1em;color:var(--wine);font-weight:600;margin-bottom:20px}.hero h1{font-size:clamp(2.6rem,4.5vw,4.2rem);line-height:1.5;color:var(--wine);letter-spacing:.05em}.hero h1 span{display:inline-block;border-bottom:1px solid #c8988d;padding-bottom:8px}.hero-description{margin-top:27px;color:var(--muted);line-height:2}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--wine);color:white;padding:15px 25px;font-size:.9375rem;text-decoration:none;border:1px solid var(--wine);line-height:1.5;transition:background .2s,transform .2s}.button:hover{background:#521125;transform:translateY(-2px)}.text-link{font-size:.875rem}.hero-note{font-size:.8125rem;color:var(--muted);margin-top:24px}.hero-visual{position:relative;padding:0 0 26px}.hero-visual>img{width:100%;height:550px;border-radius:180px 180px 8px 8px;object-position:center;box-shadow:18px 18px 0 var(--peach)}.hero-stamp{position:absolute;bottom:75px;left:-31px;width:122px;height:122px;border-radius:50%;background:var(--cream);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transform:rotate(-10deg);font-size:.875rem;line-height:1.4;text-align:center;color:var(--wine)}.hero-stamp img{width:46px;height:46px}.photo-caption{position:absolute;bottom:-10px;right:0;font-size:.8125rem;color:var(--muted)}.ingredients-band{display:flex;flex-wrap:wrap;gap:24px;justify-content:center;background:var(--peach);padding:23px 24px;font-size:.9375rem;color:var(--wine)}.ingredients-band span+span{border-left:1px solid #d0b4a4;padding-left:24px}.flavours{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:44px}.section-heading>p{color:var(--muted);font-size:.9375rem}.section-heading .eyebrow{margin-bottom:10px}.flavour-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:64px}.flavour-photo img{width:100%;height:400px;object-position:35% center;border-radius:6px}.flavour-photo p{font-family:var(--serif);color:var(--wine);font-size:1.125rem;margin-top:24px}.flavour{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:20px}.flavour-number{font-family:Georgia,serif;font-style:italic;color:#9e7764;font-size:1.125rem;padding-top:3px}.flavour h3{color:var(--wine);margin-bottom:6px}.flavour p,.extra-flavours p{color:var(--muted);font-size:.875rem}.tag{display:inline-block;padding:1px 8px;background:var(--peach);font-size:.75rem;font-weight:400;vertical-align:middle;margin-left:9px}.more-flavours{padding-top:0}.more-flavours summary{color:var(--wine);font-size:.9375rem}.extra-flavours{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin:22px 0}.extra-flavours h3{color:var(--wine);font-size:1rem}.small-note{font-size:.8125rem!important;color:var(--muted);margin-top:22px}.story{background:#f3e9df}.story-inner{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center;padding-block:80px}.story-photo img{width:100%;border-radius:6px;aspect-ratio:1.14;object-position:center}.story-photo p{font-size:.8125rem;color:var(--muted);margin-top:16px}.story-copy h2{margin-bottom:25px}.story-copy>p:not(.eyebrow){color:var(--muted);font-size:.9375rem}.signature{font-family:var(--serif);color:var(--wine);font-size:1.25rem;margin-top:24px;letter-spacing:.1em}.visit{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-block:95px}.visit h2{margin-bottom:23px}.visit>div>p:not(.eyebrow){color:var(--muted);font-size:.9375rem}.visit-card{border:1px solid #c99e8b;background:#fffdf8;text-align:center;padding:38px 24px;position:relative}.visit-card:before{content:'';position:absolute;inset:7px;border:1px solid var(--line);pointer-events:none}.visit-card>img{margin:0 auto 12px}.visit-card .eyebrow{margin-bottom:13px}.visit-card h3{font-family:var(--serif);font-size:1.5rem;line-height:1.7;color:var(--wine)}.visit-card p:not(.eyebrow){margin-top:16px}.visit-card .button{margin-top:25px}.account{display:block;margin-top:12px;font-size:.8125rem;color:var(--muted)}.contact{background:var(--wine);color:var(--cream)}.contact-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;align-items:center;padding-block:65px}.contact .eyebrow,.contact h2{color:var(--cream)}.contact h2{margin-bottom:18px}.contact p{font-size:.9375rem}.contact .eyebrow{opacity:.8}.contact-links{display:flex;flex-direction:column;align-items:center;gap:18px}.button-light{background:var(--cream);color:var(--wine);min-width:260px;border-color:var(--cream)}.button-light:hover{background:var(--peach)}.contact-mail{font-size:1.0625rem;text-decoration:none}.contact-dm{font-size:.875rem}.faq{padding-block:80px;max-width:850px}.faq h2{margin-bottom:32px}.faq>details{border-bottom:1px solid var(--line);padding:20px 0}.faq p{font-size:.9375rem;color:var(--muted);padding:18px 30px 4px 0}summary{display:flex;justify-content:space-between;align-items:center;gap:18px;cursor:pointer;list-style:none;font-size:1rem}summary::-webkit-details-marker{display:none}summary span{color:var(--wine);flex-shrink:0}details[open] summary span{transform:rotate(45deg)}.footer{border-top:1px solid var(--line);padding-block:35px 22px;display:flex;gap:24px;flex-wrap:wrap;align-items:center;justify-content:space-between;font-size:.9375rem}.footer-brand{display:flex;gap:12px;align-items:center;color:var(--wine);font-weight:600}.footer-links{display:flex;gap:24px;font-size:.875rem}.footer-links a{text-decoration:none}.footer-bottom{width:100%;display:flex;justify-content:space-between;gap:15px;font-size:.75rem;color:var(--muted);padding-top:22px;border-top:1px solid var(--line)}
@media(min-width:1440px){.hero{gap:85px}.hero-visual>img{height:600px}}@media(max-width:1100px){.header{padding-inline:28px}.section-wrap{width:calc(100% - 64px)}nav{gap:18px}.brand{font-size:1rem}.hero{gap:45px}.hero-visual>img{height:490px}.actions{gap:18px}.flavour-layout,.story-inner,.visit{gap:40px}.section-heading>p{max-width:300px}}@media(max-width:800px){html{scroll-padding-top:20px}.header{padding:14px 20px;flex-wrap:wrap;gap:12px}.brand img{width:45px;height:45px}.brand{font-size:.9375rem;gap:9px}.brand small{font-size:.75rem}.menu-toggle{display:block;background:transparent;border:1px solid var(--line);color:var(--wine);font-size:.8125rem;padding:7px 10px}nav{display:none;flex-direction:column;align-items:stretch;width:100%;padding:9px 0 4px;gap:2px}nav.is-open{display:flex}nav a{padding:10px 8px;border-bottom:1px solid var(--line)}nav .nav-contact{border:0;border-bottom:1px solid var(--line)}.section-wrap{width:calc(100% - 40px)}.hero{padding-block:38px 44px;gap:40px;grid-template-columns:1fr}.hero h1{font-size:clamp(2.5rem,8vw,3.5rem)}.hero-copy .eyebrow{margin-bottom:13px}.hero-description{margin-top:20px}.hero-note{margin-top:20px}.hero-visual{max-width:540px;width:100%;margin:auto}.hero-visual>img{height:380px;border-radius:150px 150px 5px 5px;box-shadow:10px 10px 0 var(--peach)}.hero-stamp{left:10px;bottom:50px;width:99px;height:99px;font-size:.75rem}.hero-stamp img{width:40px;height:40px}.photo-caption{bottom:-6px;font-size:.75rem}.ingredients-band{gap:10px 20px;padding:20px;flex-direction:column;align-items:center;font-size:.875rem}.ingredients-band span+span{border:0;padding:0}.flavours{padding-block:55px}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:17px;max-width:none}.flavour-layout,.story-inner,.visit,.contact-inner{grid-template-columns:1fr;gap:35px}.flavour-photo img{height:280px}.flavour-photo p{margin-top:14px}.flavour{gap:18px}.story-inner{padding-block:55px}.story-photo{order:2}.story-photo img{aspect-ratio:1.3}.story-copy h2{margin-bottom:20px}.visit{padding-block:55px}.visit-card{padding:30px 20px}.contact-inner{padding-block:45px}.contact-links{align-items:flex-start;gap:16px}.faq{padding-block:55px}.faq .eyebrow{margin-bottom:12px}.faq h2{margin-bottom:20px}.footer{padding-block:26px 20px;gap:25px}.footer-links{flex-wrap:wrap;gap:12px 22px}.footer-bottom{flex-direction:column;gap:5px}.desktop-break{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

.brand-banner{margin-top:28px;overflow:hidden;border-radius:12px;background:var(--cream)}.brand-banner img{width:100%;height:auto;object-fit:contain}.brand-banner+.hero{padding-top:48px}@media(max-width:800px){.brand-banner{width:100%;margin-top:12px;border-radius:0}.brand-banner+.hero{padding-top:30px}}
