@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--cream:#fffaf4;--ink:#292521;--muted:#756b62;--red:#ee1537;--pink:#f8e6de;--line:#e7dbd0}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.7 'DM Sans',sans-serif}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.12;margin:0 0 22px}h1{font-size:clamp(44px,6vw,82px);letter-spacing:-3px}h2{font-size:clamp(32px,4vw,48px);letter-spacing:-1px}h3{font-size:28px}p{margin:0 0 22px}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:absolute;top:-100px;left:20px;background:white;padding:12px;z-index:10}.skip:focus{top:10px}.announcement{text-align:center;background:#f4e8df;padding:7px 20px;font-size:10px;letter-spacing:2px;text-transform:uppercase}.header{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:18px 48px;gap:30px}.logo{width:180px;display:block;flex-shrink:0}.logo img{display:block;width:100%;height:auto}.nav{display:flex;gap:29px;align-items:center;font-size:12px}.nav a[aria-current]{color:var(--red);border-bottom:1px solid var(--red)}.partner-link{border-left:1px solid var(--line);padding-left:22px;font-size:10px;letter-spacing:1px}.menu{display:none;background:none;border:1px solid var(--line);padding:8px 14px}.hero{position:relative;min-height:650px;display:flex;align-items:center;background:url('../assets/hero.jpg') center/cover no-repeat}.hero-content{position:relative;width:100%;max-width:1280px;margin:auto;padding:70px 48px}.hero h1{max-width:620px;font-size:clamp(50px,6.6vw,88px);text-transform:uppercase;line-height:.99;letter-spacing:-3px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.8px;text-transform:uppercase;display:block;margin-bottom:20px}.japanese{font-family:serif;letter-spacing:3px;font-size:14px;margin-bottom:22px}.hero p{max-width:325px;color:#5a5149}.button{display:inline-flex;gap:25px;align-items:center;background:var(--red);color:white;border:1px solid var(--red);border-radius:30px;padding:12px 25px;font-size:12px;font-weight:600;cursor:pointer}.button:hover{background:#c60d2a;color:white}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.hero-note{position:absolute;bottom:25px;right:48px;font-size:11px;text-align:right;letter-spacing:2px}.benefits{display:grid;grid-template-columns:repeat(4,1fr);max-width:1120px;margin:auto;padding:35px 25px;text-align:center;border-bottom:1px solid var(--line)}.benefit{padding:8px 20px;border-right:1px solid var(--line)}.benefit:last-child{border:0}.icon{color:var(--red);font-size:30px;line-height:1.5}.benefit strong{display:block;font-size:12px}.benefit small{color:var(--muted);font-size:11px}.section{max-width:1180px;padding:85px 48px;margin:auto}.center{text-align:center}.intro{max-width:590px;margin:0 auto 40px;color:var(--muted)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.collection{position:relative;background:var(--pink);border:1px solid #f0d9cb;overflow:hidden;min-height:340px;padding:35px;display:flex;align-items:flex-end}.collection:after{content:'↗';position:absolute;right:30px;bottom:30px;border:1px solid #b69c8e;border-radius:50%;height:35px;width:35px;text-align:center;line-height:33px}.collection.soup{background:linear-gradient(0deg,#f9e5d8 0%,#f9e5d800 90%),url('../assets/hero.jpg') 80% 85%/cover}.collection.mousse{background:radial-gradient(ellipse at 85% 20%,#fff6ed 0%,#edd0bc 45%,#f9e8df 75%)}.collection h3{margin-bottom:12px}.collection p{max-width:270px;font-size:13px;margin:0}.collection .number{position:absolute;top:28px;left:35px;letter-spacing:2px;font-size:10px}.quote{padding:70px 25px;background:#f6e9e0;text-align:center}.quote h2{max-width:700px;margin:0 auto 24px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}.editorial-photo{width:100%;height:440px;object-fit:cover;object-position:83% center;border-radius:3px}.text-link{font-size:12px;border-bottom:1px solid var(--ink);padding-bottom:6px;display:inline-block}.page-heading{padding:60px 25px 35px;text-align:center;max-width:800px;margin:auto}.page-heading h1{font-size:clamp(42px,5vw,62px)}.page-heading p{color:var(--muted);max-width:580px;margin:0 auto}.page-heading+.section{padding-top:30px}.pill{display:inline-block;border:1px solid var(--line);border-radius:25px;padding:5px 14px;font-size:10px;letter-spacing:1px;margin:0 5px 12px 0}.product-card{padding:35px;background:#f5e7dc;border:1px solid var(--line)}.product-card h3{margin:15px 0}.product-card .editorial-photo{height:280px}.filter-bar{display:flex;justify-content:center;gap:10px;margin:0 0 35px}.filter{border:1px solid var(--line);background:transparent;border-radius:25px;padding:9px 22px;cursor:pointer;font-size:12px}.filter[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}[hidden]{display:none!important}.detail-image{height:500px;object-position:88% center}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:45px 0 25px;overflow:auto}.tab{background:none;border:0;border-bottom:2px solid transparent;padding:15px 0;white-space:nowrap;font-size:12px;cursor:pointer}.tab[aria-selected=true]{border-bottom-color:var(--red);color:var(--red)}.tab-panel{max-width:760px;min-height:150px}.note{font-size:12px;color:var(--muted);border-left:2px solid #d6b8a7;padding-left:15px}.faq{max-width:780px;margin:auto}.faq details{border-bottom:1px solid var(--line)}.faq summary{padding:22px 0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px;font-size:14px}.faq summary:after{content:'+';color:var(--red)}.faq details[open] summary:after{content:'−'}.faq details p{padding-right:35px;color:var(--muted);font-size:14px}.steps{counter-reset:steps}.step{padding:25px 0;border-bottom:1px solid var(--line)}.step h3{font-size:23px}.step h3:before{counter-increment:steps;content:'0' counter(steps) ' / ';color:#bd8c77;font:12px 'DM Sans',sans-serif}.contact-box{background:#f7e9df;padding:35px}.field{margin-bottom:20px}.field label{display:block;font-size:12px;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:12px;background:var(--cream);border:1px solid #cbbbad;border-radius:2px}.field textarea{min-height:140px;resize:vertical}.footer{background:#292521;color:#fffaf4;padding:60px 48px 25px}.footer-inner{max-width:1084px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:50px}.footer h2{font-size:32px}.footer p{font-size:12px;color:#d6c5b8}.footer nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px}.footer .eyebrow{color:#e3b8a7}.footer-bottom{max-width:1084px;margin:40px auto 0;border-top:1px solid #51453c;padding-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#c8b9ad}.fade-in{animation:appear .7s ease both}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.hero{background-position:center 55%;min-height:740px}}@media(max-width:900px){.header{padding:15px 25px}.nav{gap:16px}.partner-link{display:none}.hero{min-height:580px;background-position:58% center}.hero-content{padding:50px 30px}.hero h1{max-width:450px}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#fffaf4b0,transparent)}.split{gap:30px}.section{padding:65px 30px}.footer{padding:45px 30px}.footer-inner{gap:25px}}@media(max-width:640px){.announcement{font-size:8px}.header{padding:10px 20px;flex-wrap:wrap;gap:0}.logo{width:145px}.menu{display:block}.nav{display:none;width:100%;padding:20px 0;flex-wrap:wrap;gap:18px 24px}.nav.open{display:flex}.hero{min-height:740px;align-items:flex-start;background-position:72% bottom;background-size:auto 520px;background-color:#fff8ef}.hero:before{background:linear-gradient(180deg,#fffaf4 0%,#fffaf4ee 32%,#fffaf400 65%)}.hero-content{padding:40px 24px}.hero h1{font-size:53px;max-width:360px;letter-spacing:-2px}.hero p{font-size:13px;max-width:260px}.hero-note{right:20px;bottom:12px;font-size:9px}.benefits{grid-template-columns:1fr 1fr;padding:20px 15px;gap:20px 0}.benefit:nth-child(2){border:0}.grid,.split{grid-template-columns:1fr}.section{padding:50px 24px}.collection{min-height:320px}.editorial-photo{height:330px}.page-heading{padding:40px 24px 25px}.page-heading h1{letter-spacing:-1.5px}.footer-inner{grid-template-columns:1fr}.footer-bottom{gap:20px;align-items:flex-start}.contact-box{padding:25px}.tabs{gap:22px}.detail-image{height:350px}.filter-bar{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.fade-in{animation:none}}


/* Comfortable touch controls and narrow-screen layout. */
.grid > *, .split > *, .footer-inner > * { min-width: 0; }
.menu, .button, .filter, .tab { min-height: 44px; min-width: 44px; }
.text-link { display: inline-flex; align-items: center; min-height: 44px; }
.nav a, .footer nav a { display: flex; align-items: center; min-height: 44px; min-width: 44px; }
.field input, .field select, .field textarea { font-size: 16px; min-height: 48px; }
@media (max-width: 900px) {
  .header { flex-wrap: wrap; gap: 0; }
  .menu { display: block; }
  .nav { display: none; width: 100%; padding: 12px 0; gap: 4px 20px; }
  .nav.open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav a { padding: 8px; font-size: 14px; }
  .footer nav { gap: 4px 12px; }
}
@media (max-width: 640px) {
  .hero-content { margin: 0; }
  .hero h1 { font-size: clamp(40px, 13vw, 53px); }
  .button { max-width: 100%; gap: 15px; text-align: left; }
  .product-card { padding: 24px; }
  .footer-bottom { flex-wrap: wrap; }
}

/* Shared hamburger navigation at every screen width. */
.menu {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  font-size: 13px;
}
.menu-icon { position: relative; display: block; flex: 0 0 20px; width: 20px; height: 2px; margin-right: 10px; background: currentColor; }
.menu-icon::before, .menu-icon::after {
  content: '';
  position: absolute;
  left: 0;
  width: 20px;
  height: 2px;
  background: currentColor;
}
.menu-icon::before { top: -6px; }
.menu-icon::after { top: 6px; }
.menu[aria-expanded="true"] .menu-icon { background: transparent; }
.menu[aria-expanded="true"] .menu-icon::before { top: 0; transform: rotate(45deg); }
.menu[aria-expanded="true"] .menu-icon::after { top: 0; transform: rotate(-45deg); }
.header { position: relative; z-index: 2; flex-wrap: wrap; gap: 0; }
.header .menu { display: inline-flex; gap: 0; }
.header .nav { display: none; flex: 0 0 100%; width: 100%; min-width: 0; gap: 0; padding: 12px 0 0; }
.header .menu[aria-expanded="true"] ~ .nav { display: grid; grid-template-columns: minmax(0, 1fr); }
.header .nav a { padding: 12px 16px; border: 0; font-size: 14px; }
.header .nav a[aria-current] { background: transparent; border: 0; border-radius: 0; }
@media (max-width: 640px) {
  .contact-box { padding: 20px; }
  .contact-box .button { width: 100%; justify-content: space-between; }
  .contact-heading p, .note { overflow-wrap: anywhere; }
}

