/* v18 — shared editorial rhythm for Japanese and English. Copy and assets stay intact. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1);--forest:#102f25}
.site-header{background:rgba(255,255,255,.94);backdrop-filter:blur(16px);transition:box-shadow .25s,border-color .25s}
.site-header.is-scrolled{box-shadow:0 6px 28px #102f2510;border-color:#d7dfd4}
.reading-progress{position:fixed;inset:0 0 auto;height:3px;background:#b2c58b;transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.site-content :is(.button,.text-link),.nav-contact,.km-button{transition:background .25s,color .25s,transform .25s,box-shadow .25s}
.site-content .button,.nav-contact{border-radius:4px}
.site-content .text-link{min-height:44px;align-items:center}
.site-content .button:hover,.nav-contact:hover{transform:translateY(-2px);box-shadow:0 8px 20px #102f2520}
.site-content :is(.button,.text-link) span[aria-hidden]{transition:transform .25s}
.site-content :is(.button,.text-link):hover span[aria-hidden]{transform:translateX(5px)}
.site-content :is(.card-art,.editorial-photo,.intl-product-photo,.split-art){overflow:hidden;border-radius:12px}
.site-content :is(.card-art,.editorial-photo,.intl-product-photo) img{transition:transform .7s var(--motion-ease)}
@media(hover:hover) and (pointer:fine){
 .site-content :is(.business-card,.intl-product):hover :is(.card-art,.intl-product-photo):not(.intl-packshot) img{transform:scale(1.035)}
}
/* Tea fields take the full first view. An opaque-enough gradient protects the text. */
.home .site-content .hero{min-height:680px;min-height:min(820px,calc(100svh - 90px));background:var(--forest);padding:0;display:flex;isolation:isolate;border-radius:0 0 0 80px}
.home .site-content .hero-photo{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;z-index:-2;aspect-ratio:auto}
.home .site-content .hero-photo img{object-position:center 57%}
.home .site-content .hero:after{display:block;position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,27,18,.9),rgba(7,27,18,.65) 46%,rgba(7,27,18,.12))}
.home .site-content .hero-copy{padding:78px 0 88px;max-width:780px}
.home .site-content .hero h1{color:#fff;font-size:clamp(36px,4.1vw,60px);line-height:1.5;letter-spacing:.035em;max-width:760px;margin-bottom:28px;text-wrap:initial}
.home .site-content .hero p{color:#f7f7ed;max-width:490px;font-size:16px;line-height:2}
.home .site-content .hero .eyebrow{color:#d6dfbf;font-size:12px;letter-spacing:.16em;margin-bottom:22px}
.home .site-content .hero .hero-identity{color:#eff5dd;font-size:15px;max-width:580px;margin-bottom:19px}
.home .site-content .hero-actions{margin-top:30px;gap:18px 28px}
.home .site-content .hero-actions .button{background:#f3f2e7;color:var(--forest);border:1px solid #f3f2e7;padding:18px 24px;font-size:15px}
.home .site-content .hero-actions .text-link{color:white;border-color:#dae3cc;font-size:14px}
.home .site-content .hero-bottom{color:#d6dfbf;font-size:10px;letter-spacing:.2em}
.site-content>.section,.site-content>.inner-section{padding-block:clamp(64px,7vw,112px)}
.site-content .section-title{margin-bottom:48px}
.site-content .section-title h2{font-size:clamp(28px,3vw,42px);line-height:1.65}
.site-content .business-grid{gap:36px}
.site-content .business-card{padding:24px;border:1px solid #dde3d7;border-radius:16px;background:#fff;min-width:0}
.site-content .business-card p{line-height:1.95}
.site-content .business-card .card-art{margin-bottom:24px}
.site-content .business-card .text-link{font-size:15px}
.site-content .story{gap:8%;align-items:center}
.site-content .story-visual{border-radius:0 100px 0 0}
.site-content .story-copy h2{font-size:clamp(27px,3vw,40px)}
.site-content .international-teaser{background:#e9eee1}
.site-content .international-teaser .editorial-photo{border-radius:80px 12px 12px 12px}
.site-content .values>.value,.site-content .reason-grid>.reason{border-top:2px solid #9cad80;padding-top:28px}
.site-content .steps>.step{border-radius:12px;border:1px solid #e0e5d8}
.site-content .cta-band{background:var(--forest);color:#fff;position:relative}
.site-content .cta-band :is(h2,p,.eyebrow){color:#fff}
.site-content .cta-band .button{border:1px solid #b5c79d}
.site-content .cta-band .button:first-child{background:#f4f2e8;color:var(--forest)}
.site-content .faq details{border-radius:8px}
.site-content .faq details[open]{background:#f2f5ed}
.site-content .representative-portrait{border-radius:12px 80px 12px 12px;overflow:hidden}
.page-heading{background:linear-gradient(125deg,#f2f4ec,#fff);border-bottom:1px solid #e2e6dc}
/* English has its own typographic scale, using the same forest / paper palette. */
.ogino-international .intl-hero{background:var(--forest);color:#fff;padding:0;border-radius:0 0 0 80px;overflow:hidden}
.ogino-international .intl-hero-grid{width:100%;max-width:none;grid-template-columns:1.05fr 1fr;gap:0;align-items:stretch}
.ogino-international .intl-hero-copy{padding:clamp(50px,6vw,96px) clamp(28px,5vw,80px);align-self:center}
.ogino-international .intl-hero h1{color:#fff;font-size:clamp(44px,4.7vw,70px);line-height:1.08;letter-spacing:-.04em;text-wrap:initial}
.ogino-international .intl-hero .eyebrow{color:#cddab7;font-size:12px;letter-spacing:.13em}
.ogino-international .intl-lead{color:#e3ebde;font-size:17px}
.ogino-international .intl-hero .hero-actions{gap:16px 24px}
.ogino-international .intl-hero .button{background:#f2f2e5;border:1px solid #f2f2e5;color:var(--forest);font-size:14px}
.ogino-international .intl-hero .text-link{color:#f6f6ec;border-color:#b6c4a6}
.ogino-international .site-content .intl-hero-photo{aspect-ratio:auto;min-height:600px;border-radius:0;margin:0;position:relative}
.ogino-international .site-content .intl-hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-position:54% center}
.ogino-international .intl-section{padding-block:clamp(60px,7vw,108px)}
.ogino-international .intl-section h2{font-size:clamp(34px,3.4vw,50px);max-width:800px}
.ogino-international .intl-products{gap:36px}
.ogino-international .intl-product{background:#fff;padding:24px;border-radius:16px;border:1px solid #dce3d4}
.ogino-international .intl-product p{margin-bottom:0}
.ogino-international .intl-product h3{font-size:30px}
.ogino-international .intl-audience{border-top:2px solid #8da375}
.ogino-international .intl-process-step{border-radius:12px;padding:28px;border:1px solid #dce3d4}
.ogino-international #inquiry{background:#eaf0e3}
.ogino-international #inquiry .ogino-contact{background:white;border-radius:16px;padding:30px;margin-top:32px;width:100%;max-width:none}
.ogino-international #data-use{background:#f7f7f2}
@media(min-width:851px){
 .home .site-content .business-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home .site-content .business-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;column-gap:40px;align-content:center}
 .home .site-content .business-card:first-child>.card-art{grid-column:1;grid-row:1/7;height:100%;min-height:350px;margin:0}
 .home .site-content .business-card:first-child>:not(.card-art){grid-column:2}
 .home .site-content .business-card:first-child>h3{font-size:34px}
 .home .site-content .business-card:first-child>.eyebrow{margin-top:16px}
}
@media(min-width:601px) and (max-width:1000px){
 .site-content .business-grid{grid-template-columns:1fr}
 .site-content .business-card{display:block}
 .site-content .business-card .card-art{height:auto;aspect-ratio:16/9}
 .ogino-international .intl-hero-grid{grid-template-columns:1fr 1fr}
 .ogino-international .intl-hero-copy{padding:48px 28px}
 .ogino-international .intl-hero h1{font-size:44px}
 .ogino-international .site-content .intl-hero-photo{min-height:540px}
}
@media(max-width:600px){
 .home .site-content .hero{min-height:0;border-radius:0 0 0 32px}
 .home .site-content .hero>.wrap{width:calc(100% - 40px)}
 .home .site-content .hero-copy{padding:44px 0 48px}
 .home .site-content .hero:after{background:linear-gradient(90deg,rgba(7,27,18,.9),rgba(7,27,18,.64))}
 .home .site-content .hero h1{font-size:clamp(24px,7.3vw,36px);line-height:1.65;letter-spacing:0;margin-bottom:22px}
 .home .site-content .hero h1 br{display:initial}
 .home .site-content .hero p{font-size:15px;line-height:1.95}
 .home .site-content .hero .hero-identity{font-size:14px;line-height:1.8}
 .home .site-content .hero .eyebrow{font-size:11px}
 .home .site-content .hero-actions{margin-top:26px;gap:14px}
 .home .site-content .hero-actions .button{font-size:14px;width:100%;padding:16px}
 .home .site-content .hero-photo{display:block;object-position:60% center}
 .site-content .business-grid{gap:22px}
 .site-content .business-card{padding:18px;border-radius:12px}
 .site-content .business-card .card-art{height:auto;aspect-ratio:3/2;border-radius:8px;margin-bottom:22px}
 .site-content .business-card h3{font-size:25px}
 .site-content .section-title{margin-bottom:30px}
 .site-content .section-title h2{font-size:28px;letter-spacing:.015em}
 .site-content .story-copy h2{font-size:28px}
 .site-content .international-teaser .editorial-photo{border-top-left-radius:48px}
 .ogino-international .intl-hero{border-radius:0 0 0 32px}
 .ogino-international .intl-hero-grid{grid-template-columns:1fr}
 .ogino-international .intl-hero-copy{padding:36px 20px 38px}
 .ogino-international .intl-hero h1{font-size:clamp(38px,10.5vw,48px);line-height:1.1}
 .ogino-international .intl-hero .eyebrow{font-size:11px}
 .ogino-international .intl-lead{font-size:16px}
 .ogino-international .site-content .intl-hero-photo{min-height:0;aspect-ratio:16/9}
 .ogino-international .intl-products{gap:24px}
 .ogino-international .intl-product{padding:18px;border-radius:12px}
 .ogino-international .intl-product h3{font-size:28px}
 .ogino-international .intl-section h2{font-size:34px}
 .ogino-international #inquiry .ogino-contact{padding:22px 16px}
 .ogino-international .ogino-contact .steps{gap:4px}
 .ogino-international .ogino-contact .steps li{font-size:11px}
}
/* Quiet feedback for mouse and keyboard, without moving the layout. */
@media(hover:hover) and (pointer:fine){
 .site-content :is(.business-card,.intl-product){transition:box-shadow .35s var(--motion-ease),border-color .35s var(--motion-ease)}
 .site-content :is(.business-card,.intl-product):hover{border-color:#9cad80;box-shadow:0 12px 32px #102f2512}
 .main-nav a{transition:color .2s,background-color .2s}
}
.site-content :is(.business-card,.intl-product):focus-within{border-color:#9cad80}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .site-content *, .site-header,.nav-contact,.km-button,.main-nav a{transition:none!important;animation:none!important}
 .site-content .button:hover,.nav-contact:hover,.site-content :is(.button,.text-link):hover span[aria-hidden],.site-content :is(.business-card,.intl-product):hover :is(.card-art,.intl-product-photo) img{transform:none!important}
 .reading-progress{display:none}
}
