/* Photographic prototype: full, sharp images with motion confined to the scene. */
#home{scroll-margin-top:90px}
.photo-scene{position:relative;display:block;margin:0;overflow:hidden;isolation:isolate;border-radius:18px;background:var(--surface);line-height:0}
.photo-scene>img{position:relative;display:block;width:100%;height:auto;object-fit:contain;filter:none;transform:none;animation:none}
.photo-scene>canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.photo-scene.scene-card{margin:0 0 24px}
.section .eyebrow,.section label,.section small,.section th,.section td,.section dt,.badge,.zone-kicker,.segment button,.topbar .nav a{font-size:.875rem}
.section p,.architecture article p,.bubble,.drip-steps p,.impact-flow p{font-size:1rem;line-height:1.6}
.weather-facts span{min-width:0;overflow-wrap:anywhere}
.assistant-card>.photo-scene{flex-shrink:0}
.hero{display:flex!important;flex-direction:column;min-height:0!important;padding:0!important;background:var(--surface)!important}
.hero .hero-scene{width:100%;border-radius:0;order:0}
.hero-heading{order:-1;padding:36px clamp(20px,4vw,56px) 32px;text-align:center;background:var(--surface);color:var(--text)}
.hero-heading .eyebrow{margin:0 0 16px;font-size:.875rem;line-height:1.5;letter-spacing:.055em;font-weight:600}
.hero .hero-heading h1{margin:0 auto;max-width:28ch;font-size:clamp(2rem,3.6vw,3.15rem)!important;line-height:1.16!important;font-weight:600!important;letter-spacing:-.025em!important;text-wrap:balance;text-shadow:none;color:var(--text)}
.hero-heading h1>span{display:block}
.hero-title-accent{color:var(--accent)}
.hero-heading .hero-lead{max-width:54ch;margin:20px auto 0;font-size:1.0625rem;line-height:1.65;color:var(--muted);text-wrap:pretty}
.hero-heading .primary-link{margin-top:22px;padding:13px 24px;font-size:1rem;font-weight:600;letter-spacing:0;border-radius:12px}
.hero-overlay{display:none}
.hero-content{position:relative!important;inset:auto!important;max-width:none!important;width:100%;padding:14px 24px!important;color:var(--text)!important;order:1}
.hero-content>*{opacity:1;transform:none;animation:none}
.hero-content h1{max-width:24ch;font-size:clamp(2rem,4.2vw,3.8rem)!important;line-height:1.13!important;color:var(--text)!important}
.hero-content>p:not(.eyebrow){max-width:64ch;color:var(--muted)!important;font-size:1.125rem}
.hero .eyebrow{color:var(--accent)!important;text-shadow:none}
.hero .status-line{color:var(--text);background:var(--surface-2,transparent);border-color:var(--line)}
.scene-controls{display:flex;align-items:center;justify-content:flex-end;padding:16px 0 0;gap:12px}
.scene-toggle{display:flex;align-items:center;gap:10px;font-size:.875rem;color:var(--muted);cursor:pointer;line-height:1.5}
.scene-toggle input{width:20px;height:20px;accent-color:var(--accent)}
.field-story{display:flex!important;flex-direction:column;min-height:0!important;gap:0;padding:0!important;margin-top:72px}
.field-story-photo{position:relative;min-height:0!important;width:100%;margin:0;border-radius:0}
.field-story-photo:after{display:none!important}
.field-story-photo img,.field-story.is-visible .field-story-photo img{position:relative!important;inset:auto!important;width:100%;height:auto!important;object-fit:contain!important;transform:none!important;filter:none!important;transition:none}
.field-story-copy{display:block;padding:32px clamp(24px,5vw,56px)!important}
.field-story-copy h2{max-width:28ch!important;font-size:clamp(1.6rem,3.4vw,2.6rem);line-height:1.2!important}
.field-story-copy>p:not(.eyebrow){max-width:70ch}
.field-signal span i{animation:none}
.field-signal{margin-top:18px}
.reveal-on-scroll{opacity:1;transform:none;transition:none}
.farmer-section>.photo-scene{margin:0 0 26px}
.farmer-section>.photo-scene img{height:auto;object-fit:contain}
.nature-banner{display:flex!important;flex-direction:column;padding:0!important;gap:0}
.nature-banner>div:not(.photo-scene){max-width:none;padding:32px clamp(24px,4vw,48px);order:1}
.nature-banner .photo-scene{width:100%;border-radius:0;order:0}
.nature-banner .nature-photo{position:relative;inset:auto;width:100%;height:auto!important;object-fit:contain;animation:none!important;transform:none!important;transition:none}
.crop-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 48px}
.crop-tile{min-width:0;margin:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface)}
.crop-tile .photo-scene{border-radius:0}
.crop-tile>figcaption{padding:16px 20px;font-size:1.0625rem;font-weight:600;line-height:1.4}
.drip-steps{gap:22px}
.drip-steps>article{padding:0 0 24px!important;overflow:hidden}
.drip-steps>article>.photo-scene{border-radius:0;margin-bottom:24px}
.drip-steps>article>h3,.drip-steps>article>p{margin-left:24px;margin-right:24px}
.drip-steps>article>span{display:inline-block;position:static!important;margin:0 24px 12px}
.drip-steps .step-icon{display:none}
.zones-layout{display:block!important;overflow:hidden;padding:24px!important}
.zone-map{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));min-height:0!important;gap:16px;padding:0!important;background:none!important;border:0!important;overflow:visible!important}
.zone-map:before,.zone-map:after{display:none!important}
.zone-shape{display:flex!important;flex-direction:column;position:static!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;transform:none!important;clip-path:none!important;border-radius:16px!important;padding:0 0 16px!important;background:var(--surface)!important;overflow:hidden;box-shadow:none!important;text-align:left;align-items:stretch;gap:0;border:2px solid var(--line)!important;color:var(--text)!important}
.zone-shape>.photo-scene{border-radius:0;margin:0 0 16px;pointer-events:none}
.zone-shape>b,.zone-shape>small{padding:0 16px;line-height:1.5}
.zone-shape>b{font-size:1.1rem}.zone-shape>small{font-size:.875rem;color:var(--muted)}
.zone-shape.active{border-color:var(--accent)!important;background:var(--surface)!important}
.zone-shape:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.zone-detail{padding:28px 4px 0!important;margin-top:24px;border-top:1px solid var(--line);border-left:0!important}
.zone-detail dl{display:grid;grid-template-columns:1fr 1fr 2fr;gap:24px}
.zone-detail dl>div{display:block!important}.zone-detail dd{margin:8px 0 0}
.impact-flow article,.architecture-grid article{overflow:hidden}
.impact-flow .photo-scene,.architecture-grid .photo-scene{margin:0 0 20px;border-radius:12px}
.scene-motion-off .photo-scene canvas{display:none}
body[data-precipitation]::after{display:none!important}
.weather-scene .weather-sky{background:linear-gradient(0deg,rgba(1,22,18,.75),rgba(1,22,18,.08)),url('/assets/weather-v47.jpg') center/cover!important}
.weather-scene .weather-sun,.weather-scene .weather-cloud,.weather-scene .weather-mountains,.weather-scene .weather-field{display:none!important}
.weather-scene .weather-particles{z-index:1}
.scene-motion-off .weather-particle{animation-play-state:paused!important}
@container(max-width:850px){
 .crop-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .zone-map{grid-template-columns:repeat(2,minmax(0,1fr))}
 .zone-detail dl{grid-template-columns:1fr}
 .hero-content{padding:14px 20px!important}
 .hero-content h1{font-size:2.2rem!important;max-width:22ch}
 .field-story-copy h2{max-width:100%!important}
}
@container(max-width:520px){
 .hero-heading{padding:26px 18px 28px}
 .hero .hero-heading h1{font-size:clamp(1.55rem,7.5cqw,1.95rem)!important;line-height:1.22!important;letter-spacing:-.02em!important}
 .hero-heading .eyebrow{letter-spacing:.025em;margin-bottom:14px}
 .hero-heading .hero-lead{font-size:1rem;line-height:1.6;margin-top:16px}
 .hero-heading .primary-link{margin-top:18px}
 .assistant-title{flex-wrap:wrap}
 .assistant-title>div{flex:1 0 100%}
 .crop-gallery{gap:12px}
 .crop-tile>figcaption{padding:12px;font-size:1rem}
 .photo-scene{border-radius:12px}
 .zones-layout{padding:14px!important}
 .zone-map{gap:12px}
 .zone-shape>b,.zone-shape>small{padding:0 10px}
 .zone-shape>b{font-size:1rem}.zone-shape>small{font-size:.875rem}
 .hero-content h1{font-size:1.9rem!important;line-height:1.2!important}
 .hero-content>p:not(.eyebrow){font-size:1rem}
 .scene-controls{justify-content:flex-start}
 .field-signal{flex-direction:row;align-items:center}
}
/* Wide preview keeps the lower crops and water unobstructed. Narrow screens
   retain the complete photo below the copy rather than cropping the fields. */
@container(min-width:851px){
 .hero{display:grid!important;grid-template-columns:1fr;position:relative}
 .hero .hero-scene{grid-area:1/1;align-self:start}
 .hero .hero-overlay{display:block;grid-area:1/1;position:relative;inset:auto;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,32,23,.94) 0%,rgba(0,32,23,.78) 28%,rgba(0,32,23,.4) 48%,transparent 72%)}
 .hero-heading{grid-area:1/1;align-self:center;z-index:3;position:relative;width:min(64%,780px);text-align:left;padding:34px clamp(32px,5vw,72px);background:transparent;color:white}
 .hero .hero-heading h1{margin:0;max-width:18ch;font-size:clamp(2.7rem,4.6cqw,4.7rem)!important;line-height:1.04!important;font-weight:750!important;letter-spacing:-.045em!important;color:#fff;text-shadow:0 2px 20px rgba(0,26,19,.15)}
 .hero .hero-heading .eyebrow{color:#a9f3ca!important;font-size:.875rem;margin:0 0 22px;letter-spacing:.12em}
 .hero-heading .hero-title-accent{color:#fff}
 .hero-heading .hero-lead{color:#fff;margin:22px 0 0;font-size:1.3rem;line-height:1.5;max-width:36ch}
 .hero-heading .primary-link{margin-top:30px;padding:16px 25px;color:#fff;background:#079a6d;border-radius:14px;font-size:1.05rem}
 .hero-content{grid-area:2/1}
}
.account-links{display:flex;gap:9px;align-items:center;white-space:nowrap}
.account-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid #168f69;border-radius:11px;padding:9px 14px;color:#087e59;background:var(--surface);text-decoration:none;font-size:.875rem;font-weight:700;line-height:1.2}
.account-links .account-register{color:#fff;background:#087e59;border-color:#087e59}
.account-links a:hover,.account-links a:focus-visible{outline:2px solid #168f69;outline-offset:2px}
#farmerRegisterForm,#farmerLoginForm{scroll-margin-top:105px}
@media(min-width:1180px){.topbar{gap:12px}.nav{gap:13px}.nav a{white-space:nowrap}.toolbar{margin-left:auto}.toolbar .segment{padding:1px}.toolbar .segment button{padding:6px;font-size:.75rem}}
@media(max-width:1179px){.topbar{flex-wrap:wrap}.account-links{margin-left:auto;margin-bottom:9px}}
@media(max-width:700px){.account-links{width:100%;margin:2px 0 8px}.account-links a{flex:1}}
/* Keep the public desktop header as clear as the approved reference: language
   and account actions stay visible; display preferences remain on narrow views. */
@media(min-width:850px){
 .topbar{flex-wrap:nowrap}
 .toolbar{margin-left:auto}
 .toolbar .segment:nth-child(2),.toolbar .segment:nth-child(3){display:none}
 .account-links{margin:0}
}
@media(prefers-reduced-motion:reduce){.photo-scene canvas{display:none}.weather-particle{animation:none!important}}
@media print{.photo-scene,.scene-controls,.crop-gallery{display:none!important}}
