:root{
  --paper:#f5f0e7; --paper2:#eee5d8; --ink:#102f5b; --brown:#8a4b24; --green:#4e6533; --mauve:#765f6c;
  --charcoal:#1d211f; --line:rgba(16,47,91,.22); --white:#fffdf7;
  --serif:"Iowan Old Style","Baskerville","Palatino Linotype","Book Antiqua",Palatino,"Times New Roman",serif;
  --jp:"Hiragino Mincho ProN","Yu Mincho","YuMincho",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}
.section-pad{padding:110px 0}

.site-header{height:74px;padding:0 34px;display:flex;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;z-index:20;color:#fffdf7;border-bottom:1px solid rgba(255,255,255,.18)}
.brand-mark{display:flex;align-items:center;gap:11px;letter-spacing:.15em;font-size:14px;font-weight:600;white-space:nowrap}
.header-crest{width:25px;height:31px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
.main-nav{display:flex;gap:28px;font-size:14px;letter-spacing:.07em}.main-nav a{opacity:.9}.main-nav a:hover{opacity:1}
.menu-toggle{display:none;background:none;border:0;color:inherit;font:inherit}

.hero{height:min(900px,100vh);min-height:690px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:#1a1b19}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,15,16,.13) 0%,rgba(10,15,16,.17) 36%,rgba(10,15,16,.64) 100%)}
.hero-copy{position:relative;z-index:2;width:calc(100% - 70px);margin:0 35px 52px;color:#fffdf7}
.hero-brandline{display:block;max-width:100%}
.hero h1{font-size:clamp(61px,8.6vw,148px);line-height:.84;font-weight:400;letter-spacing:.025em;margin:0 0 25px;white-space:nowrap;text-shadow:0 2px 18px rgba(0,0,0,.18)}
.hero-tagline{font-size:clamp(19px,2vw,29px);line-height:1.2;margin:0 0 10px;letter-spacing:.01em}
.hero .jp{font-family:var(--jp);font-size:18px;letter-spacing:.18em;margin:0 0 28px}
.hero-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 19px;border:1px solid currentColor;font-size:12px;letter-spacing:.09em}.button-light{background:rgba(255,253,247,.06)}
.text-link{font-size:12px;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px}.text-link span{margin-left:8px}

.intro{border-bottom:1px solid var(--line);background:#f6f1e8}
.dictionary{display:grid;grid-template-columns:1.05fr .95fr;gap:100px;align-items:end}
.dictionary-word{font-size:clamp(60px,6.8vw,94px);line-height:.88;font-style:italic;letter-spacing:-.045em;margin:0;color:var(--ink)}
.dictionary-meta{font-size:13px;letter-spacing:.09em;margin:20px 0 21px;color:#516176}.dictionary-meta span[lang="ja"]{font-family:var(--jp);letter-spacing:.16em}.dictionary-meta .slash{margin:0 9px;color:#97856f}
.dictionary-definition{font-size:clamp(27px,3vw,40px);line-height:1.16;letter-spacing:-.018em;margin:0;max-width:650px}
.dictionary-copy{font-size:19px;color:#33465d;padding-bottom:4px}.dictionary-copy p{margin:0 0 20px}.dictionary-copy p:last-child{margin-bottom:0}

.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;margin:0 0 20px}.eyebrow.light{color:#fffdf7}
.teas{background:#f8f4ed}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-heading h2,.origin h2,.craft h2,.landscape-title h2,.contact h2{font-weight:400;font-size:clamp(39px,5vw,66px);line-height:1.05;letter-spacing:-.03em;margin:0}
.section-note{max-width:380px;text-align:right;font-size:14px;letter-spacing:.08em;color:#516176;margin:0 0 7px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{padding:26px 26px 30px;border:1px solid rgba(16,47,91,.14);background:#f2ebdf;min-width:0}
.pouch-stage{display:flex;align-items:flex-end;justify-content:center;overflow:visible;aspect-ratio:966/1378;margin-bottom:0}
.pouch-stage img{display:block;height:auto;max-width:none}
.product-card.hojicha .pouch-stage img{width:100%}
.product-card.sencha .pouch-stage img{width:94%}
.product-card.wakocha .pouch-stage img{width:102.5%}
.product-meta{border-top:1px solid var(--line);padding-top:22px}.product-meta h3{text-transform:uppercase;letter-spacing:.16em;font-weight:400;font-size:26px;margin:1px 0 8px}.product-meta p{margin:0 0 18px}.product-jp{font-family:var(--jp);font-size:13px!important;letter-spacing:.2em}.shop-placeholder{font-size:11px;text-transform:uppercase;letter-spacing:.16em;opacity:.65}.hojicha h3{color:var(--brown)}.sencha h3{color:var(--green)}.wakocha h3{color:var(--mauve)}

.origin{display:grid;grid-template-columns:1.15fr .85fr;min-height:760px;background:#e7e0d5}.origin-image-wrap{position:relative;min-height:680px}.origin-image-wrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-caption{position:absolute;left:24px;bottom:20px;color:#fff;background:rgba(12,28,32,.55);padding:7px 10px;font-size:11px;letter-spacing:.08em}.origin-copy{display:flex;align-items:center}.narrow{width:min(560px,calc(100% - 70px));margin:0 auto}.origin .lede{font-size:23px;line-height:1.45;margin:31px 0 22px}.origin .narrow>p:not(.eyebrow):not(.lede){color:#33465d;margin:0 0 20px}

.craft{background:#f4efe6}.craft-head{align-items:flex-end}
.process-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:310px 310px 350px;gap:18px}
.process-grid figure{margin:0;position:relative;overflow:hidden;background:#ddd;min-width:0}.process-grid img{width:100%;height:100%;object-fit:cover}
.process-a{grid-column:1/8;grid-row:1/3}.process-b{grid-column:8/13;grid-row:1}.process-c{grid-column:8/13;grid-row:2}.process-d{grid-column:1/6;grid-row:3}.process-e{grid-column:6/13;grid-row:3}.process-e img{object-position:center 72%}
.process-grid figcaption{position:absolute;left:14px;bottom:12px;padding:6px 9px;background:rgba(247,242,232,.9);font-size:11px;letter-spacing:.04em;color:#20344d}

.landscape{background:#17314e;color:#f8f2e9}
.landscape-title{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;margin-bottom:56px}.landscape-title .eyebrow{grid-column:1/-1;margin-bottom:-24px}.landscape-title p:last-child{font-size:18px;color:rgba(255,255,255,.78);margin:0}
.landscape-gallery{display:grid;grid-template-columns:1.22fr .89fr .89fr;gap:16px;align-items:start;padding-bottom:70px}.landscape-card{margin:0;position:relative;overflow:hidden;background:#0b1a28}.landscape-card img{width:100%;height:100%;object-fit:cover}.landscape-card.mist{height:550px}.landscape-card.falls,.landscape-card.water{height:430px;margin-top:0}.landscape-card figcaption{position:absolute;left:14px;bottom:12px;background:rgba(9,26,39,.65);padding:6px 9px;font-size:11px;letter-spacing:.06em;color:#fff}

.details{background:#f8f4ed}.details-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.detail-block{padding:35px 42px 40px 0}.detail-block+.detail-block{border-left:1px solid var(--line);padding-left:42px}.detail-number{font-size:12px;letter-spacing:.14em;color:#8b765f}.detail-block h3{font-size:29px;font-weight:400;margin:13px 0 7px}.detail-block p{color:#44546a;margin:0}

.closing{height:610px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fffdf7;overflow:hidden}.closing>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.closing-shade{position:absolute;inset:0;background:rgba(11,28,43,.28)}.closing-copy{position:relative;z-index:2;text-shadow:0 2px 17px rgba(0,0,0,.24)}.closing-copy h2{font-family:var(--jp);font-weight:400;font-size:clamp(45px,6vw,80px);letter-spacing:.12em;margin:0}

.site-footer{padding:40px 0;background:#102f5b;color:#f8f3ea}.footer-grid{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:42px}.footer-brand{display:flex;align-items:center;gap:14px}.footer-crest{width:34px;height:43px;object-fit:contain}.footer-brand strong{display:block;font-size:13px;letter-spacing:.15em}.footer-brand span,.footer-meta,.footer-contact{font-size:11px;letter-spacing:.07em;color:rgba(255,255,255,.68)}.footer-contact{justify-self:center;text-align:center}.footer-contact span{display:block;margin-bottom:5px}.footer-contact a{color:#fffdf7;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:2px}.footer-meta{display:flex;gap:25px}

@media(max-width:900px){
  .section-pad{padding:78px 0}.site-header{padding:0 20px}.main-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#102f5b;padding:24px;flex-direction:column;gap:17px}.main-nav.open{display:flex}.menu-toggle{display:block}.brand-mark{font-size:12px}.header-crest{width:22px;height:28px}
  .hero{min-height:700px}.hero-copy{width:calc(100% - 42px);margin:0 21px 42px}.hero h1{font-size:clamp(54px,10.6vw,92px);white-space:normal;max-width:760px}.hero-tagline{font-size:23px;max-width:520px}
  .dictionary,.origin,.landscape-title{grid-template-columns:1fr;gap:42px}.dictionary-copy{padding:0}.dictionary-word{font-size:76px}
  .product-grid{grid-template-columns:1fr}.origin-image-wrap{min-height:520px}.origin-copy{padding:75px 0}
  .process-grid{grid-template-columns:1fr 1fr;grid-template-rows:420px 320px 320px}.process-a{grid-column:1/3;grid-row:1}.process-b{grid-column:1;grid-row:2}.process-c{grid-column:2;grid-row:2}.process-d{grid-column:1;grid-row:3}.process-e{grid-column:2;grid-row:3}
  .landscape-gallery{grid-template-columns:1fr}.landscape-card.mist,.landscape-card.falls,.landscape-card.water{height:430px;margin-top:0}.landscape-gallery{padding-bottom:0}
  .details-grid{grid-template-columns:1fr}.detail-block{padding:28px 0!important}.detail-block+.detail-block{border-left:0;border-top:1px solid var(--line)}
  .footer-grid{grid-template-columns:1fr;align-items:flex-start}.footer-contact{justify-self:start;text-align:left}.footer-meta{align-items:flex-start;flex-direction:column}.section-heading{align-items:flex-start;flex-direction:column}.section-note{text-align:left}
}
@media(max-width:560px){
  body{font-size:16px}.wrap{width:min(calc(100% - 30px),1180px)}.site-header{height:66px}.main-nav{top:66px}.brand-mark{gap:8px}.header-crest{width:20px;height:25px}
  .hero{min-height:690px}.hero-copy{width:calc(100% - 30px);margin:0 15px 34px}.hero h1{font-size:46px;line-height:.9;letter-spacing:.003em}.hero-tagline{font-size:19px;max-width:340px}.hero .jp{font-size:15px}.hero-actions{gap:18px}
  .dictionary-word{font-size:62px}.dictionary-definition{font-size:29px}.dictionary-copy{font-size:17px}
  .product-card{padding:18px}.origin-image-wrap{min-height:430px}.narrow{width:calc(100% - 30px)}
  .process-grid{grid-template-columns:1fr;grid-template-rows:390px 300px 300px 340px 390px}.process-a,.process-b,.process-c,.process-d,.process-e{grid-column:1;grid-row:auto}.process-e img{object-position:center}
  .closing{height:500px}
}

