/* Mobile layouts follow available width AND height; desktop art direction is retained. */
.nav-mobile-contact{display:none}
@media(max-width:1024px){
 :root{--mobile-gutter:clamp(20px,5vw,36px);--nav-height:68px}
 html{scroll-padding-top:88px}
 :root body .nav{top:0;left:0;width:100%;height:var(--nav-height);padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));gap:8px;border-radius:0 0 20px 20px}
 :root body.hero-nav .nav:not(.open){top:8px;left:2%;width:96%;padding-inline:12px;border-radius:20px}
 :root .nav .brand{font-size:16px;gap:7px;min-width:0;flex-shrink:0}
 :root .nav .brand-logo{width:30px;height:30px}
 :root .nav .brand small{display:none}
 :root .nav .nav-cta{display:none}
 :root .nav .language-switch{margin-left:auto;padding:2px;gap:0}
 :root .nav .language-switch a{min-height:40px;min-width:36px;font-size:12px}
 :root .nav .menu-toggle{display:flex;align-items:center;min-height:44px;min-width:52px;margin:0;padding:5px 3px;font-size:14px;border:0;background:none;color:inherit}
 :root .nav nav{display:none;position:absolute;left:8px;right:8px;top:calc(var(--nav-height) + 8px);max-height:calc(100dvh - var(--nav-height) - 32px - env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;flex-direction:column;gap:4px;padding:16px;border-radius:18px;background:var(--cream);color:var(--forest);box-shadow:0 20px 45px #10291e30;font-size:16px}
 :root .nav.open nav{display:flex}
 :root .nav nav>a,:root .nav nav summary{display:block;padding:12px;min-height:48px;font-size:16px;line-height:1.45;white-space:normal}
 :root .nav .nav-dropdown>div{position:static;width:auto;margin:0 0 8px 12px;padding:6px;border-radius:12px;background:#e9eddf;box-shadow:none}
 :root .nav .nav-dropdown>div a{min-height:44px;display:block;font-size:15px;line-height:1.45}
 :root .nav nav .nav-mobile-contact{display:block;background:var(--forest);color:#fff8e8;border-radius:12px;margin-top:8px}
 :root .button{font-size:14px;min-height:48px;gap:18px;line-height:1.45;max-width:100%;white-space:normal}
 :root .text-link{font-size:14px;min-height:44px;line-height:1.5;gap:14px}
 :root .eyebrow,:root .muted{font-size:12px;line-height:1.6;letter-spacing:.09em}
 :root .section{padding:64px var(--mobile-gutter)}
 :root .section-top{gap:20px;align-items:start;margin-bottom:28px;flex-wrap:wrap}
 :root :is(.intro-grid,.service-grid){grid-template-columns:1fr;gap:28px}
 :root :is(.intro-grid,.service-grid,.contact,.product-panel,.product-body,.editorial-grid)>*{min-width:0}
 :root h2{font-size:clamp(2rem,4.5vw,3rem);line-height:1.16;letter-spacing:-.035em}
 :root :is(.intro-grid,.product-detail,.service-list details,.insights,.contact,.mp-group) p{font-size:16px;line-height:1.75}
 :root .intro-grid .lead{font-size:19px;line-height:1.55}
 :root .heading-row{align-items:start;gap:24px}
 :root .heading-row>p{font-size:16px;line-height:1.65;max-width:30ch}
 :root .product-tabs{display:flex;gap:8px;margin:28px 0 20px;flex-wrap:wrap}
 :root .product-tabs button{min-height:48px;font-size:14px;line-height:1.45;white-space:normal;padding:12px 16px;gap:14px;text-align:left}
 :root .product-panel{gap:28px;padding:18px;border-radius:24px;align-items:start}
 :root .product-visual{height:auto;aspect-ratio:4/3;border-radius:16px}
 :root .product-tag{font-size:12px;letter-spacing:.06em;left:14px;bottom:14px;padding:8px 12px;max-width:calc(100% - 28px)}
 :root .product-detail h3{font-size:clamp(1.8rem,3.8vw,2.5rem);line-height:1.18;margin:16px 0}
 :root .chips{gap:4px 14px;margin:20px 0}
 :root .chips a{display:inline-flex;align-items:center;font-size:14px;min-height:44px;padding:6px 0}
 :root .service-list summary{font-size:20px;line-height:1.4;gap:16px;min-height:48px}
 :root .service-list details p{padding:16px 0 0}
 :root .insights{align-items:start}
 :root .contact{grid-template-columns:1fr;gap:36px}
 :root .contact h2{font-size:clamp(2rem,5vw,3.2rem);line-height:1.15;margin:20px 0}
 :root .contact form{width:100%;max-width:none}
 :root form label{font-size:14px;margin-bottom:20px}
 :root :is(input,select,textarea){font-size:16px;min-height:48px}
 :root .form-note{font-size:14px;line-height:1.6}
 :root .contact-email{font-size:18px;margin-top:20px}
 :root .motion-toggle{width:44px;height:44px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
 :root .page-heading{padding:120px var(--mobile-gutter) 44px}
 :root .page-heading h1{font-size:clamp(2.1rem,5.6vw,3.8rem);line-height:1.14;letter-spacing:-.035em;margin:20px 0;max-width:100%;text-wrap:pretty;overflow-wrap:anywhere}
 :root .page-heading>p{font-size:17px;line-height:1.7;max-width:65ch}
 :root :is(.catalog-section,.related,.editorial-grid,.additional-oils,.documents-panel){padding:36px var(--mobile-gutter) 48px}
 :root .catalog-grid,:root .journal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 22px}
 :root .catalog-card>div{height:auto;aspect-ratio:4/3}
 :root .catalog-card h3,:root .journal-card h2{font-size:23px;line-height:1.25;text-wrap:pretty}
 :root .catalog-card>.eyebrow,:root .journal-card>.eyebrow{font-size:12px;line-height:1.55}
 :root .journal-grid{padding:0 var(--mobile-gutter) 48px}
 :root .journal-card img{height:auto;aspect-ratio:3/2;margin-bottom:18px}
 :root .product-body{padding:0 var(--mobile-gutter) 44px;gap:28px}
 :root .product-photo{height:auto;aspect-ratio:4/5}
 :root .crop-facts>div{grid-template-columns:1fr;gap:5px;padding:14px 0}
 :root .crop-facts dt{font-size:14px;line-height:1.5;letter-spacing:0}
 :root .crop-facts dd{font-size:18px}
 :root .specifications{padding:36px var(--mobile-gutter);gap:24px}
 :root .spec-block{padding:22px 18px;border-radius:18px;flex-basis:100%}
 :root .spec-block h2{font-size:26px;line-height:1.2;margin-bottom:20px}
 :root .specifications th,:root .specifications td{font-size:14px;line-height:1.5;padding:12px 8px;overflow-wrap:anywhere}
 :root .specifications thead th{font-size:12px;letter-spacing:.03em}
 :root .spec-note{font-size:14px;line-height:1.65}
 :root .wide-photo,:root .article-photo{width:calc(100% - var(--mobile-gutter)*2);height:auto;aspect-ratio:16/10;border-radius:18px;margin-bottom:0}
 :root .editorial-grid{gap:28px}
 :root .editorial-grid p,:root .editorial-grid li{font-size:16px;line-height:1.75}
 :root .editorial-grid ol,:root .editorial-grid ul{padding-left:22px}
 :root .partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 var(--mobile-gutter) 48px;gap:16px}
 :root .partner-grid article{padding:18px;min-width:0}
 :root .partner-grid img{height:130px}
 :root .partner-grid h2{font-size:14px!important;overflow-wrap:anywhere}
 :root .port-stats{padding:28px var(--mobile-gutter);gap:28px}
 :root .big-stat{font-size:clamp(3.2rem,7vw,5rem)}
 :root .big-stat small{font-size:16px;line-height:1.5}
 :root .port-stats p{font-size:16px;line-height:1.6}
 :root .page-cta{padding:48px var(--mobile-gutter);gap:24px}
 :root .page-cta h2{font-size:clamp(2rem,5vw,3.2rem);line-height:1.16}
 :root .article-copy{padding:36px var(--mobile-gutter);box-sizing:border-box;width:100%;max-width:800px}
 :root .article-copy h2{font-size:27px;line-height:1.2;text-wrap:pretty}
 :root .article-copy p{font-size:17px;line-height:1.8}
 :root .article-copy .archive-note{font-size:14px;padding:16px 18px}
 :root .contact-choice{padding:0 var(--mobile-gutter) 52px}
 :root .contact-choice p{font-size:17px;line-height:1.7}
 :root .page-source{padding:0 var(--mobile-gutter) 36px}
 :root .full-footer{padding:40px var(--mobile-gutter) max(70px,env(safe-area-inset-bottom));gap:28px}
 :root .full-footer nav{gap:8px 24px;font-size:14px}
 :root .full-footer nav a{min-height:44px;display:flex;align-items:center;line-height:1.45}
 :root .footer-legal{font-size:12px;line-height:1.6}
 :root :is(h1,h2,h3) :is(.word-clip,.motion-letter-word,.mp-word){max-width:100%;white-space:normal;overflow-wrap:anywhere}
 :root .motion-word,:root .mp-token{max-width:100%;overflow-wrap:anywhere}
}
/* Tall phones: a clear reading column with the wheat in the right-hand margin. */
@media(max-width:767px) and (orientation:portrait){
 :root .grain-home .harvest-story{height:290svh;min-height:0}
 :root .grain-home .harvest-stage{height:100svh;min-height:0}
 :root .grain-home .hero-copy{left:var(--mobile-gutter);right:auto;top:110px;width:calc(100% - var(--mobile-gutter) - 88px);max-width:440px}
 :root .grain-home .hero-origin{font-size:12px;line-height:1.55;letter-spacing:.07em;gap:9px;margin-bottom:20px;max-width:100%}
 :root .hero-origin:before{width:18px}
 :root .grain-home .hero-copy h1{font-size:clamp(2.2rem,8.5vw,3.8rem);line-height:1.06;letter-spacing:-.04em;margin:0 0 20px;text-wrap:initial}
 :root .grain-home .hero-copy h1 em{font-size:1.02em;line-height:1.08}
 :root .grain-home .hero-copy p{font-size:16px;line-height:1.6;max-width:30ch;margin:0}
 :root .grain-home .hero-copy p br{display:none}
 :root .grain-home .hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:24px}
 :root .grain-home .hero-actions .button{font-size:14px;padding:14px 18px;min-height:48px}
 :root .grain-home .hero-actions .text-link{font-size:14px;line-height:1.5}
 :root .grain-home #wheat-canvas{top:100px;bottom:26px;height:auto}
 :root .grain-home .wheat-poster{height:84%;top:55%;left:var(--wheat-x,88%)}
 :root .grain-home .wheat-label{display:none}
 :root .grain-home .hero-bottom{left:var(--mobile-gutter);right:68px;bottom:24px}
 :root .grain-home .hero-bottom .hero-market,:root .grain-home .story-counter{display:none}
 :root .grain-home .hero-bottom a{font-size:12px;letter-spacing:.04em;line-height:1.5;gap:12px}
 :root .grain-home .harvest-caption{top:23%;left:var(--mobile-gutter);right:auto;width:66%;max-width:none;font-size:clamp(2rem,8.2vw,3.4rem);line-height:1.15}
 :root .grain-home .story-copy{left:var(--mobile-gutter);right:auto;top:18%;width:calc(100% - var(--mobile-gutter) - 92px)}
 :root .grain-home .story-copy h2{font-size:clamp(1.9rem,7.8vw,3.2rem);line-height:1.16;margin:18px 0}
 :root .grain-home .story-copy p{font-size:16px;line-height:1.6;max-width:none}
 :root .grain-home .story-copy .button{margin-top:20px;font-size:14px}
 :root .grain-home .hero-shade{background:linear-gradient(90deg,#112b21f2,#163523a8 58%,#21391e35),linear-gradient(0deg,#112b21d9,transparent 55%)}
 :root .heading-row{display:block}
 :root .heading-row>p{margin-top:20px}
 :root .product-tabs{display:grid;grid-template-columns:1fr;gap:8px}
 :root .product-tabs button{justify-content:space-between;border-radius:14px;width:100%}
 :root .product-tabs button span{display:inline;font-size:12px}
 :root .product-panel{grid-template-columns:1fr;padding:16px;gap:24px}
 :root .product-visual{aspect-ratio:4/3}
 :root .product-detail .button{width:100%}
 :root .catalog-grid,:root .journal-grid{grid-template-columns:1fr;gap:32px}
 :root .product-body{grid-template-columns:1fr;gap:24px}
 :root .product-photo{aspect-ratio:4/3}
 :root .crop-facts>div{grid-template-columns:1fr 1fr;gap:18px}
 :root .mp-group{grid-template-columns:1fr}
 :root .mp-group>div{padding:24px 0;border-right:0;border-bottom:1px solid var(--line)}
 :root .mp-group p{max-width:none}
 :root .insights{display:block}
 :root .insights>div+div{margin-top:28px;max-width:none}
 :root .form-row{grid-template-columns:1fr;gap:0}
 :root .full-footer{grid-template-columns:1fr}
 :root .footer-legal{flex-direction:column;gap:14px}
 :root .generative-journey{height:310svh;min-height:0}
 :root .generative-journey .journey-stage{height:100svh;min-height:0}
 :root .journey-topline{top:98px;left:var(--mobile-gutter);right:var(--mobile-gutter);font-size:12px;letter-spacing:.06em;flex-wrap:wrap;gap:6px}
 :root .journey-stage-label{font-size:12px}
 :root .journey-center{inset:150px var(--mobile-gutter) 150px;padding:0}
 :root .journey-center h2{font-size:clamp(1.95rem,7.4vw,3.1rem);line-height:1.15;letter-spacing:-.035em}
 :root .journey-center p{font-size:16px;line-height:1.65;margin:22px auto 14px}
 :root .journey-link{font-size:14px;min-height:44px}
 :root .journey-bottomline{bottom:50px;grid-template-columns:1fr;gap:14px;left:var(--mobile-gutter);right:var(--mobile-gutter);justify-items:center}
 :root .journey-detail{display:none}
 :root .journey-scroll-hint{font-size:12px;text-align:center;line-height:1.5}
 :root .journey-art-progress{bottom:24px;left:var(--mobile-gutter);right:var(--mobile-gutter)}
}
/* Short, wide phones: compact cinema above the fold and balanced two-column content. */
@media(max-width:1024px) and (max-height:600px) and (orientation:landscape){
 :root{--mobile-gutter:max(24px,env(safe-area-inset-left));--nav-height:58px}
 :root .grain-home .harvest-story{height:330svh;min-height:0}
 :root .grain-home .harvest-stage{height:100svh;min-height:360px}
 :root .grain-home .hero-copy{left:5%;right:auto;top:82px;width:65%;max-width:650px}
 :root .grain-home .hero-origin{display:none}
 :root .grain-home .hero-copy h1{font-size:clamp(1.9rem,4.4vw,2.7rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 14px}
 :root .grain-home .hero-copy h1 em{font-size:1em;line-height:1.04;display:inline}
 :root .grain-home .hero-copy p{font-size:16px;line-height:1.5;max-width:47ch;margin:0}
 :root .grain-home .hero-copy p br{display:none}
 :root .grain-home .hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:18px;flex-wrap:wrap}
 :root .grain-home .hero-actions .button{font-size:14px;padding:11px 16px;min-height:44px}
 :root .grain-home .hero-actions .text-link{font-size:14px;min-height:44px}
 :root .grain-home #wheat-canvas{top:76px;bottom:12px;height:auto}
 :root .grain-home .wheat-poster{height:100%;top:50%}
 :root .grain-home .wheat-label,:root .grain-home .hero-bottom{display:none}
 :root .grain-home .harvest-caption{top:31%;left:5%;width:55%;max-width:none;font-size:clamp(2rem,4.8vw,3.2rem);line-height:1.14}
 :root .grain-home .story-copy{left:43%;right:5%;top:88px;width:auto}
 :root .grain-home .story-copy .eyebrow{font-size:12px;line-height:1.4}
 :root .grain-home .story-copy h2{font-size:clamp(1.6rem,3.5vw,2.4rem);line-height:1.12;margin:10px 0}
 :root .grain-home .story-copy p{font-size:16px;line-height:1.5;max-width:none}
 :root .grain-home .story-copy .button{margin-top:12px;min-height:44px;padding:10px 16px}
 :root .section{padding:44px var(--mobile-gutter)}
 :root .section-top{margin-bottom:22px}
 :root .product-panel,:root .product-body{grid-template-columns:1fr 1fr;gap:24px}
 :root .product-photo{aspect-ratio:4/5}
 :root .product-visual{aspect-ratio:4/5}
 :root .product-detail h3{font-size:27px}
 :root .product-tabs button{flex:1;justify-content:space-between;gap:8px;padding:12px;font-size:14px}
 :root .heading-row{display:flex}
 :root .heading-row h2{max-width:65%}
 :root .heading-row>p{margin-top:0;max-width:28ch}
 :root .mp-group{grid-template-columns:repeat(3,minmax(0,1fr))}
 :root .mp-group>div{padding:24px 16px}
 :root .mp-group h3{font-size:23px}
 :root .mp-group p{font-size:16px;line-height:1.6}
 :root .page-heading{padding:96px var(--mobile-gutter) 32px}
 :root .page-heading h1{font-size:clamp(2rem,4.8vw,3.4rem);margin:16px 0;max-width:24ch}
 :root .page-heading>p{max-width:65ch}
 :root .wide-photo,:root .article-photo{aspect-ratio:2/1}
 :root .form-row{grid-template-columns:1fr 1fr;gap:20px}
 :root .generative-journey{height:350svh;min-height:0}
 :root .generative-journey .journey-stage{height:100svh;min-height:360px}
 :root .journey-topline,:root .journey-detail,:root .journey-scroll-hint{display:none}
 :root .journey-center{inset:78px 6% 62px;padding:0}
 :root .journey-center h2{font-size:clamp(1.65rem,3.7vw,2.35rem);line-height:1.12;letter-spacing:-.035em}
 :root .journey-center p{font-size:16px;line-height:1.5;max-width:70ch;margin:12px auto 4px}
 :root .journey-link{font-size:14px;min-height:40px;padding:6px 0}
 :root .journey-bottomline{bottom:18px;left:6%;right:6%;display:flex;justify-content:center;gap:0}
 :root .journey-art-controls{gap:18px;font-size:12px}
 :root .journey-art-controls button{width:40px;height:40px}
 :root .journey-art-progress{bottom:8px}
 :root .motion-toggle{width:40px;height:40px;bottom:12px}
}
@media(max-width:359px) and (orientation:portrait){
 :root .nav .brand{font-size:14px}.nav .brand-logo{width:28px;height:28px}
 :root .nav .language-switch a{min-width:33px}
 :root .grain-home .hero-copy{top:102px;width:calc(100% - var(--mobile-gutter) - 70px)}
 :root .grain-home .hero-copy h1{font-size:2.15rem}
 :root .grain-home .hero-origin{font-size:12px;margin-bottom:16px}
 :root .grain-home .hero-copy p{font-size:16px}
 :root .grain-home .hero-actions{margin-top:18px;gap:8px}
 :root .grain-home .story-copy{top:15%;width:calc(100% - var(--mobile-gutter) - 76px)}
 :root .grain-home .story-copy h2{font-size:1.8rem}
 :root .grain-home .story-copy p{font-size:16px}
 :root .page-heading h1{font-size:1.9rem}
 :root .partner-grid,:root .port-stats{grid-template-columns:1fr}
 :root .crop-facts>div{grid-template-columns:1fr}
 :root .journey-center{inset:140px var(--mobile-gutter) 145px}
 :root .journey-center h2{font-size:1.85rem}
}
/* Enlarged text / reduced motion stays readable in normal document flow. */
@media(max-width:1024px) and (prefers-reduced-motion:reduce){
 :root .grain-home .harvest-story{height:auto;min-height:0}
 :root .grain-home .harvest-stage{height:auto;min-height:0;display:grid;gap:50px;padding:120px var(--mobile-gutter) 50px}
 :root .grain-home .hero-copy,:root .grain-home .story-copy{position:relative!important;inset:auto;width:100%;max-width:none;opacity:1;visibility:visible;z-index:3}
 :root .grain-home .hero-copy{padding-bottom:24px}
 :root .grain-home .hero-copy h1{font-size:clamp(2rem,6vw,3.4rem)}
 :root .grain-home .hero-copy p{max-width:45ch}
 :root .grain-home .hero-shade,:root .grain-home .landscape{height:65%;bottom:auto}
 :root .grain-home #wheat-canvas{display:none}
 :root .grain-home .hero-bottom,:root .grain-home .harvest-caption{display:none}
 :root .generative-journey{height:auto;min-height:0}
 :root .generative-journey .journey-stage{position:relative;height:auto;min-height:700px}
}

@media(max-width:1024px){.intro,.services{overflow:clip}}
@media(max-width:767px) and (max-height:700px) and (orientation:portrait){
 :root .grain-home .hero-copy{top:94px}
 :root .grain-home .hero-origin{display:none}
 :root .grain-home .hero-copy h1{font-size:1.95rem;margin-bottom:16px}
 :root .grain-home .hero-actions{margin-top:16px;gap:8px}
 :root .grain-home .hero-actions .button{padding:11px 15px}
 :root .grain-home .hero-bottom{bottom:16px}
 :root .grain-home .story-copy{top:92px}
 :root .grain-home .story-copy h2{font-size:1.65rem;margin:12px 0}
 :root .grain-home .story-copy p{line-height:1.5}
 :root .grain-home .story-copy .button{margin-top:12px}
 :root .journey-topline{top:94px}
 :root .journey-center{inset:128px var(--mobile-gutter) 115px}
 :root .journey-center h2{font-size:1.65rem}
 :root .journey-center p{font-size:16px;line-height:1.5;margin:14px auto 6px}
 :root .journey-scroll-hint{display:none}
 :root .journey-bottomline{bottom:36px}
}
@media(max-width:1024px){:root .nav .menu-toggle{white-space:nowrap;flex-shrink:0}}
