:root{--clay:#9d3d2a;--clay-dark:#66261c;--sand:#d8cbb3;--cream:#f4eddf;--charcoal:#171916;--moss:#394238}
body{overflow-x:clip}body::-webkit-scrollbar{width:12px}body::-webkit-scrollbar-track{background:var(--paper)}body::-webkit-scrollbar-thumb{background:var(--tea);border:3px solid var(--paper)}
.menu-button{display:none}.hero,.hero>div{min-height:100svh;min-height:100dvh}.hero h1,.session h2,.origin h2,.collection h2,.teaware h2,.request h2{font-size:clamp(48px,6vw,96px)}.hero small{margin-top:42px;color:#ded6c8;letter-spacing:.08em}
main>section:not(.hero){position:relative}.opening,.water,.leaf,.batch,.corrections,.rhythm,.care,.storage,.questions{padding:clamp(76px,9vw,138px) clamp(20px,5vw,72px)}
.opening{background:var(--clay);color:var(--cream);min-height:88svh;display:grid;grid-template-columns:minmax(170px,.42fr) 1.58fr;align-content:space-between;gap:56px}.opening>p{margin:0;font-size:11px;letter-spacing:.12em}.opening h2{grid-column:2;margin:0;max-width:15ch;font:400 clamp(48px,7vw,96px)/.98 Prata,serif;letter-spacing:-.03em;text-wrap:balance}.opening>div{grid-column:2;display:grid;grid-template-columns:minmax(0,68ch) auto;align-items:end;gap:36px;border-top:1px solid rgba(255,255,255,.34);padding-top:24px}.opening>div p{margin:0;font-size:18px;max-width:68ch}.opening>div span{max-width:24ch;text-align:right;font-size:11px;text-transform:uppercase}
.water{background:var(--cream);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(56px,10vw,160px);align-items:start}.water h2,.leaf h2,.batch h2,.corrections h2,.rhythm h2,.care h2,.storage h2,.questions h2{margin:0 0 28px;max-width:13ch;font:400 clamp(42px,5.5vw,78px)/1 Prata,serif;letter-spacing:-.025em;text-wrap:balance}.water>div>p{max-width:65ch}.water dl{margin:0;border-top:1px solid var(--line)}.water dl div{display:grid;grid-template-columns:170px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}.water dt{color:var(--clay);font-size:11px;letter-spacing:.1em}.water dd{margin:0}
.leaf{padding:0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);background:var(--sand)}.leaf figure{margin:0;min-height:780px;min-width:0}.leaf img{display:block;width:100%;height:100%;object-fit:cover}.leaf>div{min-width:0;padding:clamp(72px,8vw,126px);align-self:center}.leaf>div>p{max-width:65ch;color:#504a40}.leaf ol{padding:0;margin:42px 0 0;list-style:none;border-top:1px solid #9f937e}.leaf li{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;padding:18px 0;border-bottom:1px solid #9f937e}.leaf li b{font-weight:600}.leaf li span{color:#5b5448}
.batch{background:var(--clay-dark);color:var(--cream);display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(56px,9vw,136px)}.batch-title p{max-width:58ch;color:#e0c9bd}.batch-sheet{border-top:1px solid rgba(255,255,255,.32)}.batch-sheet>div{display:grid;grid-template-columns:140px 1fr;gap:24px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.22)}.batch-sheet span{color:#e1a08d;font-size:10px;letter-spacing:.12em}.batch-sheet strong{font-weight:500}
.corrections{background:#ebe2d2}.corrections>div:first-child{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.corrections>div:first-child p{max-width:55ch;margin:0 0 28px}.correction-ledger{margin-top:58px;border-top:1px solid var(--line)}.correction-ledger article{display:grid;grid-template-columns:.55fr .8fr 1fr;gap:28px;padding:25px 0;border-bottom:1px solid var(--line);align-items:baseline}.correction-ledger span{color:var(--clay);font-size:10px;letter-spacing:.1em}.correction-ledger strong{font:400 24px/1.2 Prata,serif}.correction-ledger p{margin:0;color:#615a50}
.rhythm{background:var(--charcoal);color:var(--cream)}.rhythm-title{display:flex;justify-content:flex-end}.rhythm-title h2{max-width:11ch}.rhythm ol{margin:54px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #565a52}.rhythm li{min-height:290px;padding:24px 26px 32px 0;border-right:1px solid #565a52;display:flex;flex-direction:column}.rhythm li+li{padding-left:26px}.rhythm li:last-child{border-right:0}.rhythm li>span{color:#d98b74;font-variant-numeric:tabular-nums;font-size:11px}.rhythm li strong{margin-top:auto;font:400 24px/1.15 Prata,serif}.rhythm li p{color:#c5c7bf;margin-bottom:0}
.care{background:var(--clay);color:var(--cream);display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(54px,10vw,150px)}.care>div p{max-width:60ch;color:#efd9cf}.care ol{list-style:none;padding:0;margin:0;counter-reset:care}.care li{counter-increment:care;display:grid;grid-template-columns:58px .8fr 1.2fr;gap:18px;align-items:baseline;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.3)}.care li::before{content:counter(care,decimal-leading-zero);color:#f0aa95;font-size:11px}.care li b{font:400 24px/1.2 Prata,serif}.care li span{color:#efd9cf}
.storage{background:var(--cream)}.storage>h2{max-width:12ch;margin-left:auto}.storage-grid{margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.storage-grid article{min-height:250px;padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column}.storage-grid article:last-child{border-right:0}.storage-grid strong{margin-top:auto;font:400 30px/1.1 Prata,serif}.storage-grid p{color:#60594e}
.questions{background:var(--moss);color:var(--cream);display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(52px,9vw,132px)}.questions>div>p{color:#d8d8ce;max-width:45ch}.question-list{border-top:1px solid #697066}.question-list details{border-bottom:1px solid #697066}.question-list summary{cursor:pointer;padding:23px 42px 23px 0;font:400 22px/1.25 Prata,serif;position:relative;list-style:none}.question-list summary::-webkit-details-marker{display:none}.question-list summary::after{content:'+';position:absolute;right:4px;color:#efb19d}.question-list details[open] summary::after{content:'−'}.question-list details p{max-width:65ch;color:#d8d8ce;padding:0 40px 22px 0}
.request button{cursor:pointer;transition:background-color .25s ease-out,transform .25s cubic-bezier(.16,1,.3,1)}.request button:hover{background:#bd523d;transform:translateY(-2px)}.request button:active{transform:translateY(0)}.request #status:not(:empty){color:#efb19d}
@media(max-width:900px){header{position:absolute;flex-wrap:wrap;height:auto;min-height:72px}.menu-button{display:block;margin-left:auto;border:1px solid rgba(255,255,255,.55);background:transparent;color:white;padding:8px 12px}header>a:last-child{display:none}header nav{display:none;width:100%;margin:0;padding:14px 0 20px;flex-direction:column;gap:12px}header nav[data-open='true']{display:flex}.opening,.water,.batch,.care,.questions{grid-template-columns:1fr}.opening{min-height:auto}.opening h2,.opening>div{grid-column:1}.opening>div,.corrections>div:first-child{grid-template-columns:1fr}.opening>div span{text-align:left}.leaf{grid-template-columns:1fr}.leaf figure{min-height:560px}.leaf>div{padding:72px clamp(20px,5vw,72px)}.correction-ledger article{grid-template-columns:.55fr 1fr}.correction-ledger article p{grid-column:2}.rhythm ol,.storage-grid{grid-template-columns:repeat(2,1fr)}.rhythm li:nth-child(2){border-right:0}.storage-grid article:nth-child(2){border-right:0}.storage-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:600px){.hero h1,.session h2,.origin h2,.collection h2,.teaware h2,.request h2,.opening h2,.water h2,.leaf h2,.batch h2,.corrections h2,.rhythm h2,.care h2,.storage h2,.questions h2{font-size:clamp(40px,13vw,52px)}.opening,.water,.batch,.corrections,.rhythm,.care,.storage,.questions{padding-left:18px;padding-right:18px}.leaf>div{padding:64px 18px}.leaf figure{min-height:420px}.water dl div,.batch-sheet>div,.leaf li,.correction-ledger article,.care li{grid-template-columns:1fr;gap:7px}.correction-ledger article p{grid-column:1}.rhythm ol,.storage-grid{grid-template-columns:1fr}.rhythm li{border-right:0;border-bottom:1px solid #565a52;min-height:230px;padding-left:0!important}.rhythm li:last-child{border-bottom:0}.storage-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:190px}.storage-grid article:last-child{border-bottom:0}.collection figcaption{gap:18px}.session-table article{overflow:hidden}}
@media(prefers-reduced-motion:reduce){.request button{transition:none}}
@media(max-width:600px){.leaf h2{font-size:clamp(38px,11.5vw,46px);overflow-wrap:anywhere}}
.leaf h2{overflow-wrap:anywhere}

/* The figure only carries a min-height, so height:100% on the image resolved to
   auto and each tea photo resized the whole row. Pin the image to the frame so
   the session keeps one geometry no matter which leaf is selected. */
.session-table figure{overflow:hidden}
.session-table img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tea-frames{position:absolute;inset:0}
.tea-frame{opacity:0;transition:opacity .5s ease}
.tea-frame.is-active{opacity:1}
#teaOrigin{display:grid;justify-items:start}
#teaOrigin span{grid-area:1/1;opacity:0;transition:opacity .3s ease}
#teaOrigin span.is-active{opacity:1}
#teaTitle,#teaNote{display:grid}
#teaTitle>span,#teaNote>span{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s}
#teaTitle>span.is-active,#teaNote>span.is-active{opacity:1;visibility:visible}
#teaNote i{font-style:inherit;visibility:hidden}
#teaNote.late>span.is-active i{visibility:visible}
/* Reserved space is shared, so short names sit centred in it rather than
   leaving the gap all on one side; the smaller cap keeps the longest name
   to two lines so the reserve stays modest. */
#teaTitle{align-items:center;font-size:clamp(38px,4.1vw,58px)}
#teaNote{align-items:center}
