
:root{--cream:#f4eee1;--paper:#fffdf8;--ink:#171b18;--green:#153a2a;--green2:#24563f;--gold:#c5a45f;--line:#ded8cc;--muted:#6e746f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}
.header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:14px 5vw;background:#fffdf8ee;backdrop-filter:blur(12px);border-bottom:1px solid #00000010}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.08em}.jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:34px;font-weight:400;letter-spacing:-.08em;line-height:1;-webkit-text-stroke:1.1px currentColor;paint-order:stroke fill;text-shadow:0.8px 1.2px 0 currentColor,0 4px 12px rgba(0,0,0,.18);transform:rotate(-2deg)}.header nav{display:flex;gap:22px;font-size:14px}
.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:72vh;background:var(--cream)}.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:7vw}.eyebrow{margin:0 0 10px;color:var(--green2);font-size:12px;font-weight:900;letter-spacing:.18em}.pale{color:#d7c89f}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;margin:0 0 18px}h1{font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-.045em}h2{font-size:clamp(34px,4vw,54px);line-height:1.08;letter-spacing:-.03em}h3{font-size:26px;line-height:1.2}.lead{max-width:650px;font-size:21px;color:#4f5550}.btn{display:inline-block;align-self:flex-start;margin-top:18px;padding:13px 22px;border-radius:999px;background:var(--green);color:white;font-weight:900}
.hero-art{position:relative;overflow:hidden;min-height:480px;background:linear-gradient(#e7e8d7,#bccbaa 38%,#47704b 39%,#173a25)}.sun{position:absolute;right:16%;top:12%;width:170px;height:170px;border-radius:50%;background:#e0c286}.hill{position:absolute;left:-10%;width:120%;height:35%;border-radius:50%;transform:rotate(-7deg)}.h1{bottom:30%;background:#507a51}.h2{bottom:12%;background:#2f5d3b}.h3{bottom:-8%;background:#173924}.hero-jp{position:absolute;right:9%;bottom:6%;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(96px,13vw,188px);font-weight:400;letter-spacing:-.11em;line-height:.9;color:#fffffff2;-webkit-text-stroke:1.8px rgba(255,255,255,.95);paint-order:stroke fill;text-shadow:1.2px 2px 0 rgba(255,255,255,.95),0 8px 28px rgba(0,0,0,.26);transform:rotate(-4deg) scaleX(1.04)}
.strip{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);background:white}.strip span{padding:18px;text-align:center;font-size:13px;font-weight:900;border-right:1px solid var(--line)}.strip span:last-child{border-right:0}
.section{padding:clamp(70px,8vw,120px) 5vw}.grid{display:grid;gap:24px}.three{grid-template-columns:repeat(3,1fr)}.two{grid-template-columns:repeat(2,1fr)}
.card{overflow:hidden;background:white;border:1px solid var(--line);box-shadow:0 12px 40px #0000000a}.premium{border-color:#bfa66e}.pack{height:330px;margin:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 14px 28px #0002}.pouch{height:250px;border-radius:30px;background:linear-gradient(145deg,#fffaf2,#f1e7d5 60%,#e8dcc8);border:1px solid rgba(21,58,42,.10);transform:none;clip-path:none}.tin{height:250px;border-radius:30px;background:radial-gradient(circle at 70% 20%,#18563c 0%,#102b20 45%,#07110d 100%);border:1px solid rgba(198,164,95,.20)}.pack-jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:90px;font-weight:400;letter-spacing:-.12em;line-height:.92;-webkit-text-stroke:1.4px currentColor;paint-order:stroke fill;text-shadow:0.9px 1.4px 0 currentColor,0 3px 10px rgba(0,0,0,.12);transform:rotate(-4deg) scaleX(1.04)}.pack small{margin-top:10px;letter-spacing:.16em;font-weight:900}.gold{color:#d2b062}.body{padding:0 28px 30px}.price{display:flex;justify-content:space-between;align-items:end;margin:24px 0 10px}.price b{font-size:29px}.price span,.soon{font-size:13px;color:var(--muted)}.soon{font-weight:900;color:var(--green2)}
.taste{height:250px;margin:28px;display:flex;align-items:center;justify-content:center;gap:16px;background:linear-gradient(145deg,#fffaf2,#f1e7d5 60%,#e8dcc8);border-radius:30px;border:1px solid rgba(21,58,42,.10);box-shadow:0 14px 28px #0002}.mini{display:grid;place-items:center;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:38px;font-weight:400;letter-spacing:-.08em;-webkit-text-stroke:1.1px currentColor;paint-order:stroke fill;text-shadow:.8px 1.2px 0 currentColor,0 3px 10px rgba(0,0,0,.12);box-shadow:0 12px 24px #0002}.light{width:150px;height:110px;border-radius:22px;background:#f4ead8;color:#171b18;border:1px solid rgba(21,58,42,.08)}.dark{width:150px;height:110px;border-radius:22px;background:#102b20;color:#d2b062;border:1px solid rgba(198,164,95,.16)}
.direct{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:clamp(70px,8vw,120px) 5vw;background:var(--green);color:white}.direct p{color:#dfe8e2}
.region{min-height:380px;display:grid;grid-template-columns:1fr 1fr;color:white}.shizuoka{background:linear-gradient(135deg,#729268,#21462e)}.kagoshima{background:linear-gradient(135deg,#a1a06c,#284728)}.region-name{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:28px;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:64px;font-weight:400;letter-spacing:-.08em;-webkit-text-stroke:1.2px currentColor;paint-order:stroke fill;text-shadow:.8px 1.2px 0 currentColor,0 4px 14px rgba(0,0,0,.22);text-align:center}.region-copy{padding:34px;background:#00000038}.region-copy .eyebrow{color:#ead9ac}
.story{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center;background:#faf6ed}.big-jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(126px,18vw,238px);font-weight:400;letter-spacing:-.13em;line-height:.88;text-align:center;-webkit-text-stroke:1.8px currentColor;paint-order:stroke fill;text-shadow:1px 1.6px 0 currentColor,0 8px 24px rgba(0,0,0,.15);transform:rotate(-4deg) scaleX(1.04)}.prep{padding:34px;border:1px solid var(--line);background:white}.prep>b{font-size:12px;letter-spacing:.16em;color:var(--green2)}
.faq{background:#f7f3e9}.faq details{max-width:900px;padding:18px 0;margin:auto;border-bottom:1px solid var(--line)}.faq summary{font-weight:900;cursor:pointer}
.contact{display:grid;grid-template-columns:1fr 1fr}.contact>div:last-child{display:flex;flex-direction:column;justify-content:center;gap:10px;font-weight:800}
footer{display:flex;justify-content:space-between;align-items:center;padding:28px 5vw;background:#101712;color:white}footer p{font-size:13px;color:#bdc7bf}
@media(max-width:900px){.header nav{display:none}.hero,.direct,.story,.contact{grid-template-columns:1fr}.hero-art{min-height:360px}.three,.two{grid-template-columns:1fr}.strip{grid-template-columns:1fr 1fr}.region{grid-template-columns:1fr}}
@media(max-width:520px){.section{padding:60px 22px}.hero-copy{padding:50px 22px}.strip{grid-template-columns:1fr}.strip span{border-right:0;border-bottom:1px solid var(--line)}footer{flex-direction:column;gap:8px}}

.brush-jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:400;letter-spacing:-.08em;-webkit-text-stroke:1.2px currentColor;paint-order:stroke fill;}


/* Strong brush treatment for Japanese display typography */
.jp,
.hero-jp,
.pack-jp,
.mini,
.region-name,
.big-jp,
.brush-jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:400;letter-spacing:-.08em;-webkit-text-stroke:1.2px currentColor;paint-order:stroke fill;}

.hero-jp,
.big-jp,
.pack-jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:90px;font-weight:400;letter-spacing:-.12em;line-height:.92;-webkit-text-stroke:1.4px currentColor;paint-order:stroke fill;text-shadow:0.9px 1.4px 0 currentColor,0 3px 10px rgba(0,0,0,.12);transform:rotate(-4deg) scaleX(1.04)}

.hero-jp{position:absolute;right:9%;bottom:6%;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(96px,13vw,188px);font-weight:400;letter-spacing:-.11em;line-height:.9;color:#fffffff2;-webkit-text-stroke:1.8px rgba(255,255,255,.95);paint-order:stroke fill;text-shadow:1.2px 2px 0 rgba(255,255,255,.95),0 8px 28px rgba(0,0,0,.26);transform:rotate(-4deg) scaleX(1.04)}
.pack-jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:90px;font-weight:400;letter-spacing:-.12em;line-height:.92;-webkit-text-stroke:1.4px currentColor;paint-order:stroke fill;text-shadow:0.9px 1.4px 0 currentColor,0 3px 10px rgba(0,0,0,.12);transform:rotate(-4deg) scaleX(1.04)}
.big-jp{font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(126px,18vw,238px);font-weight:400;letter-spacing:-.13em;line-height:.88;text-align:center;-webkit-text-stroke:1.8px currentColor;paint-order:stroke fill;text-shadow:1px 1.6px 0 currentColor,0 8px 24px rgba(0,0,0,.15);transform:rotate(-4deg) scaleX(1.04)}
.region-name{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:28px;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:64px;font-weight:400;letter-spacing:-.08em;-webkit-text-stroke:1.2px currentColor;paint-order:stroke fill;text-shadow:.8px 1.2px 0 currentColor,0 4px 14px rgba(0,0,0,.22);text-align:center}

.pack b{display:block}

.card .body h3{margin-bottom:12px}

.header nav a:hover{color:var(--green2)}

.pack.pouch,.pack.tin{height:250px;border-radius:30px;}


.brand-stack,.footer-brand{display:flex;flex-direction:column;align-items:center;line-height:1.18}
.brand-stack b,.footer-brand b{display:block;font-weight:900;letter-spacing:.08em;text-align:center}
.brand-stack small,.footer-brand small{margin-top:7px !important;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:14px;letter-spacing:.02em;font-weight:400;text-align:center;width:100%}
.roman-name{margin-top:-8px;color:var(--muted);font-weight:700;letter-spacing:.04em}
.contact h2{
  font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;
  font-weight:400;
  letter-spacing:-.06em;
  -webkit-text-stroke:1px currentColor;
  paint-order:stroke fill;
}

/* Product card vertical alignment */
.card{display:flex;flex-direction:column}
.body{display:flex;flex-direction:column;flex:1}
.body h3{min-height:64px}
.body>p:not(.eyebrow){min-height:64px}
.price{margin-top:auto}


.route{
  align-self:center;
  padding:36px 40px;
  border:1px solid rgba(214,192,137,.35);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 18px 50px rgba(0,0,0,.08)
}
.route-top{display:grid;grid-template-columns:1fr 1.35fr 1fr;align-items:center;gap:20px}
.route-place{text-align:center}
.route-place small{display:block;color:#d7c89f;font-size:10px;font-weight:900;letter-spacing:.22em;margin-bottom:8px}
.route-place strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:30px;letter-spacing:.08em}
.route-place em{display:block;margin-top:4px;color:#cfdcd3;font-style:normal;font-family:"Yuji Syuku","Yu Mincho",serif;font-size:18px}
.route-path{display:flex;align-items:center;justify-content:center}
.route-path .dot{width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(198,164,95,.12)}
.route-path .line{height:1px;flex:1;background:linear-gradient(90deg,var(--gold),rgba(198,164,95,.35));margin:0 8px}
.route-path .plane{color:#e3c982;font-size:18px;transform:rotate(-8deg)}
.route-caption{margin-top:28px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);text-align:center;color:#dbe5dd;font-size:11px;font-weight:800;letter-spacing:.12em}

.contact>div:first-child{display:flex;flex-direction:column;align-items:flex-start}
.contact h2{width:max-content;text-align:center;margin-bottom:4px}
.contact .roman-name{width:100%;max-width:220px;text-align:center;margin-top:0;margin-bottom:10px}

.brand-stack{align-items:center}
.brand-stack small{text-align:center;width:100%}
.footer-brand{display:flex;flex-direction:column;align-items:center;line-height:1.18}
.footer-brand small{margin-top:7px !important;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:14px;letter-spacing:.02em;font-weight:400;text-align:center;width:100%}

@media(max-width:700px){
  .route-top{grid-template-columns:1fr;gap:18px}
  .route-path{max-width:260px;width:100%;margin:auto}
}


/* Refine relationship between 和織 and WAORI MATCHA */
.pack-jp{
  margin-top:-12px !important;
  margin-bottom:18px !important;
}
.pack .pack-jp + b{
  margin-top:2px;
  letter-spacing:.04em;
}
.hero-jp{
  bottom:10% !important;
}
.brand{
  align-items:flex-start;
}
.brand .jp{
  margin-top:-6px;
}
.brand-stack{
  line-height:1.18;
  margin-top:-1px;
}
.brand-stack b{
  display:block;
}
.brand-stack small{
  margin-top:7px !important;
}
.footer-brand{display:flex;flex-direction:column;align-items:center;line-height:1.18}
.footer-brand small{margin-top:7px !important;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:14px;letter-spacing:.02em;font-weight:400;text-align:center;width:100%}

footer>div{display:flex;gap:12px;align-items:center}

footer .jp{margin-top:0;line-height:1}

.region-name{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:28px;font-family:"Yuji Syuku","Hiragino Mincho ProN","Yu Mincho",serif;font-size:64px;font-weight:400;letter-spacing:-.08em;-webkit-text-stroke:1.2px currentColor;paint-order:stroke fill;text-shadow:.8px 1.2px 0 currentColor,0 4px 14px rgba(0,0,0,.22);text-align:center}
.region-romaji{display:block;margin-top:12px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;font-weight:800;letter-spacing:.16em;line-height:1.1;color:rgba(255,255,255,.95);text-transform:uppercase;text-shadow:none;-webkit-text-stroke:0 transparent;transform:none !important;font-style:normal;text-align:center;width:100%}

.region-kanji{display:block;transform:rotate(-2deg);transform-origin:center bottom;text-align:center}
