/* Rice, landscape and a quiet Japanese editorial rhythm. */
:root{--paper:#f7f4ec;--white:#fffef9;--ink:#193c30;--deep:#14362a;--muted:#636a61;--gold:#a18b58;--line:#d9d8cb}
body{font-feature-settings:"palt";letter-spacing:.025em}
.header{padding:1.25rem 4%;gap:2.5rem;max-width:1680px}
.header .brand-symbol{width:3.15rem;height:3.15rem}
.header .brand-name{font-size:1.6rem;letter-spacing:.17em}
.header .brand-caption{font-size:.75rem;letter-spacing:.2em}
.navigation,.tsumugi-page .navigation{gap:2.25rem;font-size:.875rem}
.navigation>a{padding:.4rem 0}
.navigation>.nav-contact{padding:.5rem 0;border:0;border-bottom:1px solid #aab0a2;border-radius:0}
.nav-contact:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.navigation [aria-current="page"]::after{width:100%}
.tsumugi-cover{max-width:1616px;margin:0 auto;position:relative;isolation:isolate;background:var(--deep);color:var(--white)}
.cover-photo{margin:0;position:absolute;inset:0;z-index:-2}
.cover-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%}
.tsumugi-cover::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(9,28,20,.72),rgba(9,28,20,.48) 37%,rgba(9,28,20,.14) 65%,rgba(9,28,20,.58)),linear-gradient(0deg,rgba(9,28,20,.47),transparent 45%)}
.cover-photo figcaption{position:absolute;right:4%;bottom:.7rem;color:#fffef9;font-size:.75rem;letter-spacing:.04em;line-height:1.8}
.cover-copy{position:relative;min-height:43rem;padding:2.5rem 6% 4rem;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;gap:1.7rem 2rem;align-items:start}
.cover-copy .eyebrow{grid-column:1/-1;margin:0;font-size:.8125rem;letter-spacing:.16em;color:#f7f4ec;line-height:1.9}
.cover-copy h1{display:flex;flex-direction:row-reverse;justify-self:start;gap:.65em;font-size:clamp(2.2rem,3.3vw,3.15rem);font-weight:500;line-height:1.4;letter-spacing:.12em;margin:0;text-shadow:0 2px 18px #112c2755}
.cover-copy h1 span{display:block;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap}
.cover-copy h1 span:last-child{padding-top:.85em}
.cover-name{grid-column:2;grid-row:2;justify-self:end;writing-mode:vertical-rl;font:500 1.125rem/1.8 var(--serif);letter-spacing:.16em;margin:.3rem 0 0;padding-right:.2rem}
.cover-intro{grid-column:1;grid-row:3;font-size:.9375rem;line-height:2.1;letter-spacing:.06em;margin:0;max-width:34rem;color:#fffef9}
.cover-grain strong{display:block;font:500 clamp(1.9rem,2.8vw,2.6rem)/1.5 var(--serif);letter-spacing:.12em;margin-bottom:.4rem}
.cover-grain>span{display:block}
.cover-actions{grid-column:2;grid-row:3;display:flex;flex-direction:column;align-items:stretch;gap:.6rem;align-self:end;text-align:center}
.story-button,.rice-action{display:inline-flex;justify-content:center;align-items:center;min-height:3.5rem;padding:.95rem 1.9rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:400 .9375rem/1.8 var(--sans);letter-spacing:.045em;transition:background .2s,color .2s}
.story-button:hover,.rice-action:hover{background:var(--paper);color:var(--ink)}
.cover-actions .story-button{border-color:var(--paper);background:var(--paper);color:var(--ink)}
.cover-actions .story-button:hover{background:transparent;color:var(--paper)}
.story-text-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;font-size:.875rem;line-height:1.8;padding:.2rem 0;border-bottom:1px solid #b7c1b4}
.story-text-link:hover{border-color:currentColor}
.story-strip{max-width:1440px;margin:0 auto;padding:1.55rem 4%;display:flex;justify-content:space-between;align-items:center;gap:1rem 2rem;border-bottom:1px solid var(--line)}
.story-strip p{margin:0;font-size:.875rem;letter-spacing:.04em}
.story-strip .strip-origin{font-size:.75rem;letter-spacing:.15em;color:var(--muted)}
.story-strip .strip-prices{font-size:.875rem;letter-spacing:.03em}
.story-strip small{font-size:.75rem;margin-left:.7rem;color:var(--muted)}
.story-label{display:flex;gap:1rem;align-items:center;font:400 .875rem/1.8 var(--sans);letter-spacing:.13em;margin:0 0 1.8rem}
.story-label::before{content:"";display:block;width:2.5rem;height:1px;background:var(--gold);flex-shrink:0}
.rice.rice-teaser{grid-template-columns:minmax(0,.82fr) minmax(0,1fr);gap:14%;max-width:1290px;padding:8rem 7%}
.rice-teaser .rice-photo{min-height:0;align-self:center;margin:0}
.rice-teaser .rice-photo img{width:100%;height:auto;object-fit:contain;background:transparent}
.rice-teaser .rice-photo figcaption{font-size:.75rem;letter-spacing:.08em;padding:1rem 0 0;color:var(--muted)}
.rice-teaser .rice-copy h2{font-size:clamp(1.9rem,2.5vw,2.6rem);line-height:1.95;letter-spacing:.07em;margin-bottom:2rem}
.grain-heading-note{display:block;font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.9;letter-spacing:.05em;margin-bottom:.65rem}
.grain-heading-word{display:block;font-size:clamp(2.25rem,4.7vw,4.6rem);line-height:1.45;letter-spacing:.08em;white-space:nowrap}
.rice-teaser .rice-copy p{line-height:2.2}
.rice-teaser .rice-story-points{list-style:none;margin:2rem 0;padding:1.2rem 0;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;border-top:1px solid var(--line);font:500 1rem/1.8 var(--serif)}
.rice-teaser .story-button{margin-top:.5rem}
.michinori-home .about{border-top:1px solid var(--line)}
.about h2,.network h2,.contact h2{letter-spacing:.1em}
.service-number{font-size:4.2rem;color:#96835a;margin-bottom:1.25rem}
.text-link{border-bottom:1px solid var(--ink);padding:.5rem 0;min-height:3rem;gap:1rem}
.text-link>span:first-child{background:none}
.text-link:hover{color:#7e6b40;border-color:#7e6b40}
.network .text-link{border-color:#9caa96}
.network-word{font-size:clamp(3rem,10.6vw,9rem);letter-spacing:.01em;margin-top:5rem}
.email-button{font-size:clamp(1.25rem,2vw,1.65rem)}
.email-button>span:last-child{font-family:var(--serif);font-size:inherit;line-height:1.7}
.back-top{border-radius:0;font-size:.8125rem;width:3.2rem;height:3.2rem}
@media(min-width:1680px){.tsumugi-cover{margin-left:auto;margin-right:auto}}
@media(max-width:1100px){.navigation,.tsumugi-page .navigation{gap:1.5rem}.cover-copy{padding-inline:5%;min-height:41rem}.cover-copy h1{font-size:2.65rem}.story-strip{flex-wrap:wrap}.story-strip .strip-origin{display:none}.rice.rice-teaser{gap:9%;padding-block:6rem}}
@media(max-width:800px){.header{padding:1rem 5%;gap:1.2rem}.navigation,.tsumugi-page .navigation{gap:1.15rem}.navigation>.rice-nav{font-size:.875rem}.navigation>.nav-contact{font-size:.875rem}.cover-copy{min-height:39rem;padding:2.25rem 6% 3.75rem;column-gap:1rem}.cover-copy h1{font-size:2.45rem}.cover-intro{font-size:.875rem}.cover-actions .story-button{padding:.8rem 1.2rem}.story-strip{padding:1.25rem 6%;gap:.5rem}.rice.rice-teaser{gap:7%;padding:5rem 7%}.rice-teaser .rice-copy h2{font-size:1.8rem}.rice-teaser .rice-copy br{display:none}.rice-teaser .rice-copy h2 br{display:block}.rice-teaser .rice-story-points{gap:.6rem 1rem;font-size:.9375rem}}
@media(max-width:600px){.header .brand-symbol{width:2.65rem;height:2.65rem}.header .brand-name{font-size:1.4rem}.header .brand-caption{font-size:.75rem}.header{gap:1rem}.navigation{gap:.8rem}.navigation>.nav-contact{font-size:.8125rem}.cover-copy{min-height:36rem;padding:1.8rem 7% 3.3rem;grid-template-rows:auto 1fr auto;gap:1.35rem .8rem}.cover-copy .eyebrow{font-size:.75rem;letter-spacing:.1em}.cover-copy h1{font-size:clamp(1.95rem,6.9vw,2.55rem);gap:.5em;letter-spacing:.12em}.cover-name{font-size:1rem;letter-spacing:.12em}.cover-intro{display:none}.cover-actions{grid-column:1/-1;flex-direction:row;align-items:center;gap:1.2rem;justify-self:start;flex-wrap:wrap;text-align:left}.cover-actions .story-button{font-size:.875rem;padding:.8rem 1.1rem;min-height:3.25rem}.cover-actions .story-text-link{font-size:.8125rem;min-height:2.75rem}.cover-photo img{object-position:71% center}.cover-photo figcaption{font-size:.75rem;right:7%}.tsumugi-cover::before{background:linear-gradient(90deg,rgba(9,28,20,.72),rgba(9,28,20,.45) 55%,rgba(9,28,20,.58)),linear-gradient(0deg,rgba(9,28,20,.43),transparent 48%)}.story-strip p{font-size:.8125rem;letter-spacing:0}.story-strip .strip-prices{font-size:.8125rem}.story-strip small{font-size:.75rem;margin-left:.4rem}.rice.rice-teaser{display:flex;flex-direction:column-reverse;gap:2.8rem;padding:4.5rem 8%}.rice-teaser .rice-copy h2{font-size:clamp(1.7rem,6.3vw,2.2rem)}.rice-teaser .rice-photo{width:88%;margin:auto}.rice-teaser .rice-copy p{line-height:2.1}.rice-teaser .rice-story-points{font-size:1rem;margin-bottom:1rem}.story-label{margin-bottom:1.5rem}.network-word{margin-top:3rem;font-size:11.5vw}}
@media(max-width:360px){.header{flex-wrap:wrap}.header .brand-name{font-size:1.3rem}.navigation{margin-left:auto}.cover-copy{padding-inline:6%}.cover-actions{gap:.7rem}.cover-actions .story-button{font-size:.8125rem;padding:.75rem .95rem}}
@media(prefers-reduced-motion:reduce){.story-button,.rice-action{transition:none}}

/* Keep the grain promise visible alongside the story on small screens. */
@media(max-width:600px){
  .cover-copy{grid-template-rows:auto 1fr auto auto}
  .cover-intro.cover-grain{display:block;grid-column:1/-1;grid-row:3;font-size:.8125rem;line-height:1.9}
  .cover-grain strong{font-size:1.9rem;margin-bottom:.2rem}
  .cover-actions{grid-row:4}
}

/* Two clear destinations: rice and consulting. */
.consulting-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:10%;padding-top:4.5rem;padding-bottom:5.5rem;border-top:1px solid var(--line)}
.consulting-entry h2{font-size:clamp(2rem,3vw,2.8rem);line-height:1.9;letter-spacing:.08em}
.consulting-entry-copy>p{color:var(--muted);line-height:2.2}
.consulting-entry-fields{list-style:none;margin:1.8rem 0 2rem;padding:1.2rem 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;font-size:.9375rem}
.navigation>a{white-space:nowrap}
@media(max-width:1100px){.navigation,.tsumugi-page .navigation{gap:1.25rem}.consulting-entry{gap:7%}}
@media(max-width:800px){.navigation>a.rice-nav,.navigation>a.consult-nav{display:inline-flex;font-size:.875rem}.navigation,.tsumugi-page .navigation{flex-wrap:wrap;gap:.5rem 1rem}.consulting-entry{grid-template-columns:1fr;gap:1rem;padding-top:3.5rem;padding-bottom:4rem}.consulting-entry h2{margin-bottom:1rem}}
@media(max-width:600px){.header{flex-wrap:wrap;row-gap:.5rem}.navigation,.tsumugi-page .navigation{flex-basis:100%;justify-content:space-between;gap:.2rem .85rem;margin-left:0;border-top:1px solid var(--line);padding-top:.5rem}.navigation>a.rice-nav,.navigation>a.consult-nav,.navigation>.nav-contact{font-size:.875rem}.navigation>.nav-contact{padding:.4rem 0;border-bottom:0}.consulting-entry-fields{grid-template-columns:1fr;gap:.7rem}.consulting-entry h2{font-size:2rem}}
@media(max-width:1100px){.consulting-entry h2{font-size:clamp(1.6rem,2.6vw,2rem)}}
