/* Opening scenes on the editorial system: brand navy, Hubot Heavy leads, chalk type. */
:root{--scene-fertilizer-paper:#2f4f6a;--scene-fertilizer-shade:#162b3e;--scene-feed-paper:#ece8dd;--scene-feed-shade:#c9c3b3;--scene-water-paper:#e3ebee;--scene-water-shade:#a9bfcb;--scene-soil-paper:#ecebe3;--scene-soil-shade:#c3c7bb;--scene-turf-paper:#ecebe3;--scene-turf-shade:#a9bfcb}
.homepage .loader::before{background:radial-gradient(ellipse at 65% 100%,#2b485d 0%,#162a3c 42%,#080e16 100%)}
html.home-loading,.homepage .loader{background:#101d2c}
/* Hero buttons on every width: the brand chamfer, no legacy full-width rectangle. */
.journey[data-blue-study] .study-action{clip-path:polygon(0 12px,20px 0,calc(100% - 6px) 0,100% 6px,calc(100% - 5px) calc(100% - 12px),calc(100% - 19px) 100%,10px 100%,0 calc(100% - 9px))!important;position:relative;isolation:isolate;background:var(--button-bg);box-shadow:none;animation:none;border-radius:0}
.journey[data-blue-study] .opening .study-action{position:absolute}
@media(max-width:1100px){
 .journey[data-blue-study] .opening .primary-action.study-action{left:var(--edge);right:auto;bottom:44px;width:auto;min-width:0;min-height:52px;padding:14px 20px;gap:22px;font-size:14px;white-space:nowrap}
 /* Tablets (641-1100px): the statement stays bottom-left as on desktop, so the button takes the right edge instead of sitting on it. */
 @media(min-width:641px){.journey[data-blue-study] .opening .primary-action.study-action{left:auto;right:var(--edge)}}
 .journey[data-blue-study] .atmosphere{background:radial-gradient(ellipse at 65% 100%,#648795 0%,#2b485d 29%,#101d2c 62%,#080e16 100%)}
 .journey[data-blue-study] .atmosphere:after{display:none}
 /* Portrait: an unsized ellipse reaches the far corner, so on a tall screen the glow becomes a bright column. Size it as the
    same low dome the desktop has, one step dimmer because the statement and button sit on it. */
 @media(orientation:portrait){.journey[data-blue-study] .atmosphere{background:radial-gradient(ellipse 190% 88% at 65% 100%,#4b6d7d 0%,#27425a 27%,#101d2c 58%,#0a121d 100%)}}
 .journey[data-blue-study] .source-light{background:radial-gradient(ellipse at 56% 39%,#46616e 0%,#243c4c 37%,transparent 70%),linear-gradient(180deg,#09131e 0%,#152733 60%,#1c2f3b 100%)}
 .journey[data-blue-study] .opening h1{color:#f3efe6}
 /* Crack scene on phones and tablets: the same paper panel in a navy frame, stacked. Stone on top, statement and button below. */
 .journey[data-blue-study] .hero{--src:0;--f:min(1,calc((var(--src) - .08) * 1.25));--fr:14px;--frt:14px;--leave:1;background:#101d2c;height:100dvh;min-height:0}
 .journey[data-blue-study] .source-paper,.journey[data-blue-study] .source-light{height:100dvh}
 .journey[data-blue-study] .source-story{bottom:0}
 .journey[data-blue-study] .shadow{display:none}
 .journey[data-blue-study] .atmosphere{opacity:calc(1 - var(--f))}
 .journey[data-blue-study] .source-light{clip-path:inset(calc(50% - var(--f) * (50% - var(--frt))) var(--fr) calc(50% - var(--f) * (50% - var(--fr))) var(--fr) round 14px);opacity:calc(1 - var(--f))!important}
 .journey[data-blue-study] .source-paper{display:block;position:absolute;inset:0;z-index:0;background:#ecebe3;clip-path:inset(calc(50% - var(--f) * (50% - var(--frt))) var(--fr) calc(50% - var(--f) * (50% - var(--fr))) var(--fr) round 14px);pointer-events:none;opacity:var(--leave)}
 .journey[data-blue-study] .source-story{inset:auto 0 0 0!important;top:auto!important;width:auto!important;margin:0!important;padding:0 calc(var(--fr) + 20px) calc(var(--fr) + 40px)!important;display:block!important;text-align:left;color:#183343;z-index:3;transform:none!important;gap:0}
 .journey[data-blue-study] .source-story:before{content:'The source · Darlington, Idaho';display:block;margin:0 0 14px;font:500 11px/1 Geist,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#183343;opacity:calc((var(--src) - .55) * 4)}
 .journey[data-blue-study] .source-story h2{display:none}
 .journey[data-blue-study] p.source-statement{display:block!important;position:static!important;top:auto!important;width:auto!important;max-width:none!important;margin:0;transform:none!important;opacity:calc((var(--src) - .55) * 4)!important;clip-path:none!important;font:500 clamp(24px,6.6vw,34px)/1.08 'Hubot Wide',Geist,sans-serif;letter-spacing:-.04em;color:#183343;text-wrap:pretty}
 .journey[data-blue-study] p.source-statement b{font-family:'Hubot Wide Heavy','Hubot Wide',sans-serif;font-weight:800;letter-spacing:-.045em;color:#101d2c}
 .journey[data-blue-study] .source-story>p:not(.source-statement){display:none}
 .journey[data-blue-study] .source-story .process-action{position:relative!important;inset:auto!important;top:auto!important;left:auto!important;transform:none!important;margin:20px 0 0!important;--button-bg:#183343;--button-fg:#ecebe3;white-space:nowrap;min-width:0;width:auto;padding:12px 18px;gap:18px;opacity:calc((var(--src) - .55) * 4)}
 .journey[data-blue-study] .source-story:after{content:none}
 .journey[data-blue-study] .source-dial,.journey[data-blue-study] .source-ledger{display:none}
}
/* The crack scene: the light inside the stone floods the page into a navy frame. Statement left; the split stone right, haloed by the dial ring; a short ledger along the foot. */
.source-paper,.source-statement,.source-dial,.source-ledger{display:none}
@media(min-width:1101px){
 .journey[data-blue-study] .hero{--src:0;--f:min(1,calc((var(--src) - .08) * 1.25));--fr:22px;--frt:22px;--leave:1;--disc:min(66svh,34vw);background:#101d2c}
 .journey[data-blue-study] .shadow{display:none}
 .journey[data-blue-study] .atmosphere{opacity:calc(1 - var(--f))}
 .journey[data-blue-study] .source-light{clip-path:inset(calc(50% - var(--f) * (50% - var(--frt))) var(--fr) calc(50% - var(--f) * (50% - var(--fr))) var(--fr) round 16px);opacity:calc(1 - var(--f))!important}
 .journey[data-blue-study] .source-paper{display:block;position:absolute;inset:0;z-index:0;background:#ecebe3;clip-path:inset(calc(50% - var(--f) * (50% - var(--frt))) var(--fr) calc(50% - var(--f) * (50% - var(--fr))) var(--fr) round 16px);pointer-events:none;opacity:var(--leave);transform:translateY(calc((1 - var(--leave)) * -6vh)) scale(calc(.985 + var(--leave) * .015))}
 .journey[data-blue-study] .source-dial{display:block;position:absolute;left:76.5%;top:47%;width:var(--disc);aspect-ratio:1;transform:translate(-50%,-50%) scale(calc(.86 + var(--f) * .14));opacity:calc((var(--src) - .35) * 2.2 * var(--leave));z-index:0;pointer-events:none}
 .journey[data-blue-study] .source-dial svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(calc(var(--src) * 72deg));transform-origin:50% 50%}
 .journey[data-blue-study] .source-ticks{transform-origin:300px 300px;animation:src-spin 140s linear infinite}
 .journey[data-blue-study] .source-ticks line{stroke:#183343;stroke-width:1.2;opacity:.2}
 .journey[data-blue-study] .source-disc{animation:src-breathe 9s ease-in-out infinite}
 .journey[data-blue-study] .source-disc{position:absolute;inset:7%;border-radius:50%;border:1px solid #18334322}
 .journey[data-blue-study] .source-story{inset:0;width:auto;margin:0;padding:calc(var(--frt) + 40px) var(--edge) 0;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-content:center;justify-items:stretch;text-align:left;color:#183343;z-index:3}
 .journey[data-blue-study] .source-story:before{content:'The source · Darlington, Idaho';opacity:calc((var(--src) - .55) * 4);grid-column:1/8;margin:0 0 clamp(26px,4vh,44px);padding-top:0;border-top:0;font:500 11px/1 Geist,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#183343}
 .journey[data-blue-study] .source-story:after{content:'Mechanically processed · Certificate of analysis with every load';opacity:calc((var(--src) - .55) * 4);position:absolute;right:var(--edge);bottom:calc(var(--fr) + 30px);font:500 11px/1 Geist,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8a9ba4}
 .journey[data-blue-study] .source-story h2{display:none}
 .journey[data-blue-study] p.source-statement{display:block;grid-column:1/8;margin:0;text-align:left;font:500 clamp(30px,3.2vw,56px)/1.06 'Hubot Wide',Geist,sans-serif;letter-spacing:-.045em;color:#183343;text-wrap:pretty}
 .journey[data-blue-study] p.source-statement b{font-family:'Hubot Wide Heavy','Hubot Wide',sans-serif;font-weight:800;letter-spacing:-.045em;color:#101d2c}
 .journey[data-blue-study] .source-story>p:not(.source-statement){display:none}
 .journey[data-blue-study] .source-story .process-action{grid-column:1/8;justify-self:start;margin:clamp(28px,4.4vh,44px) 0 0;--button-bg:#183343;--button-fg:#ecebe3}
 .journey[data-blue-study] .source-ledger{display:none;position:absolute;left:var(--edge);right:var(--edge);bottom:calc(var(--fr) + 30px);margin:0;padding:0;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;z-index:3;opacity:calc((var(--src) - .6) * 3 * var(--leave));pointer-events:none}
 .journey[data-blue-study] .source-ledger>div{grid-column:span 2;padding:14px 0 0;border-top:1px solid #18334333;display:grid;gap:8px}
 .journey[data-blue-study] .source-ledger>div:first-child{grid-column:1/3}
 .journey[data-blue-study] .source-ledger dd{margin:0;font:500 clamp(26px,2.3vw,38px)/1 'Hubot Wide',Geist,sans-serif;letter-spacing:-.03em;color:#101d2c;white-space:nowrap}
 .journey[data-blue-study] .source-ledger dt{font:500 10px/1.5 Geist,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8a9ba4}
}
@keyframes src-spin{to{transform:rotate(360deg)}}
@keyframes src-breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.6}}
@media(prefers-reduced-motion:reduce){.journey[data-blue-study] .source-ticks,.journey[data-blue-study] .source-disc{animation:none}}
@media(min-width:1101px) and (max-height:760px){.journey[data-blue-study] p.source-statement{font-size:clamp(30px,3.3vw,52px)}.journey[data-blue-study] .source-ledger{display:none}.journey[data-blue-study] .hero{--disc:min(60svh,32vw)}}
/* Applications slider: same voice as the editorial pages. Motion untouched. */
.application-title{font-family:'Hubot Wide Heavy','Hubot Wide',sans-serif;font-weight:800;letter-spacing:-.05em;opacity:.1}
.application-benefit{font-family:'Hubot Wide',Geist,sans-serif;font-weight:500;letter-spacing:-.04em}
.application-benefit:before{content:'';display:block;width:44px;height:1px;background:currentColor;opacity:calc(.5 * var(--rule,1));margin-bottom:22px}
.application-detail p{font-size:15px;line-height:1.55;color:color-mix(in srgb,var(--app-ink) 78%,transparent)}
.application-nav{padding:0;gap:14px;border-top:0}
.application-nav a{font:500 12px/1 Geist,sans-serif;letter-spacing:.04em;padding:14px 0 13px;color:color-mix(in srgb,var(--app-ink) calc(58% + var(--active,0) * 42%),transparent)}
.application-nav a:before{top:0;left:0;right:0;height:1px;transform:none;background:color-mix(in srgb,var(--app-ink) 22%,transparent)}
.application-nav a:after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:currentColor;transform:scaleX(var(--active,0));transform-origin:left;transition:transform .5s var(--ease)}
@media(max-width:640px){.application-nav{gap:0}.application-nav a{padding:14px 2px 12px}.application-nav a:before{left:0;right:0;top:0}}
@media(max-width:640px){.application-title{opacity:.08}.application-detail .brand-button{font-size:13px;padding:12px 14px;gap:14px}.application-detail .brand-button svg{width:18px;height:18px;flex-basis:18px}}

/* Phone slider: a deliberate stack. Ghost title in the upper third, object in the middle, copy pinned above the tab row. */
@media(max-width:640px){
 .journey .application-title{top:14%;font-size:12vw;opacity:.09;white-space:nowrap}
 .journey .application-title--long{font-size:8vw}
 .journey .application-benefit{top:auto;bottom:calc(96px + 158px);left:var(--edge);right:var(--edge);font-size:clamp(24px,6.6vw,30px);line-height:1.08;max-width:none}
 .journey .application-benefit{display:block}
 .journey .application-benefit:before{display:block;width:36px;margin:0 0 14px}
 .journey .application-benefit:after{display:none}
 .journey .application-detail{top:auto;bottom:96px;left:var(--edge);right:var(--edge);width:auto;max-width:none}
 .journey .application-detail p{font-size:13px;line-height:1.5;max-width:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .journey .application-detail .brand-button{margin-top:14px;min-height:46px;padding:12px 16px;font-size:13px;gap:14px;white-space:nowrap}
 .journey .application-detail .brand-button svg{width:18px;height:18px;flex-basis:18px}
 .journey .application-nav{left:var(--edge);right:var(--edge);bottom:14px;gap:0}
 .journey .application-nav a{flex:1;text-align:center;font-size:11px;min-height:44px;padding:14px 2px 12px}
}
@media(max-width:640px) and (max-height:700px){
 .journey .application-benefit{bottom:calc(80px + 130px);font-size:22px}
 .journey .application-detail{bottom:80px}
 .journey .application-detail p{-webkit-line-clamp:2;font-size:12px}
 .journey .application-detail .brand-button{min-height:42px;margin-top:10px}
}

@media(max-width:640px){
 .journey .applications-field{background:radial-gradient(ellipse at var(--light-x,57%) var(--light-y,29%),var(--app-paper,#1c3347),var(--app-shade,#0b1620) 110%)!important}
 .journey .applications-field:after{opacity:.3}
 .journey .application-detail a:after{display:none}
}
.journey[data-blue-study] .study-action:after,.journey[data-blue-study] .study-action:before{content:none!important;display:none!important}

/* Source statement: words rise in with the opening stone, scrubbed by scroll. */
.journey[data-blue-study] .source-statement .sw{display:inline-block;--w:clamp(0,calc((var(--src,1) - var(--sw-a,.895) - var(--k) * var(--sw-s,.065)) * var(--sw-m,40)),1);opacity:var(--w);translate:0 calc((1 - var(--w)) * .28em);filter:blur(calc((1 - var(--w)) * 3px))}
@media(max-width:1100px){.journey[data-blue-study] .source-statement{--sw-a:.55;--sw-s:.2;--sw-m:9}}
@media(prefers-reduced-motion:reduce){.journey[data-blue-study] .source-statement .sw{opacity:1;translate:none;filter:none}}

/* One button size site-wide: 56px tall, 16px 24px, 14px type (matches Button.astro). */
.journey .brand-button.study-action,.journey .brand-button.application-action{min-height:56px!important;padding:16px 24px!important;font-size:14px!important;line-height:1.2}
@media(max-width:640px){.journey .brand-button.study-action,.journey .brand-button.application-action{padding:16px 20px!important;gap:20px!important}}
/* vw-type:start */
@media(min-width:1101px) and (max-width:1799px){.journey[data-blue-study] .source-story:before{font-size:0.7639vw}.journey[data-blue-study] .source-story:after{font-size:0.7639vw}.journey[data-blue-study] p.source-statement{font-size:3.2vw}.journey[data-blue-study] .source-ledger dd{font-size:2.3vw}.journey[data-blue-study] .source-ledger dt{font-size:0.6944vw}.application-detail p{font-size:1.0417vw}.application-nav a{font-size:0.8333vw}.journey .brand-button.study-action,.journey .brand-button.application-action{font-size:0.9722vw!important}}@media(min-width:1800px){.journey[data-blue-study] .source-story:before{font-size:13.75px}.journey[data-blue-study] .source-story:after{font-size:13.75px}.journey[data-blue-study] p.source-statement{font-size:57.6px}.journey[data-blue-study] .source-ledger dd{font-size:41.4px}.journey[data-blue-study] .source-ledger dt{font-size:12.5px}.application-detail p{font-size:18.75px}.application-nav a{font-size:15px}.journey .brand-button.study-action,.journey .brand-button.application-action{font-size:17.5px!important}}
/* vw-type:end */

/* Home desktop: fixed boxes and buttons scale with the page (QA pass). */
@media(min-width:1101px) and (max-width:1799px){
 .journey .application-detail{width:27vw!important;max-width:none!important}
 .journey .application-detail p{font-size:1.0417vw!important}
 .journey .application-benefit{max-width:22.222vw}
 .journey .application-benefit--wide{max-width:29.861vw}
 .ed .gs-text{width:min(20.833vw,calc(100% - 8px))}
 .journey .brand-button.study-action,.journey .brand-button.application-action{min-height:3.889vw!important;padding:1.111vw 1.667vw!important;font-size:.9722vw!important;gap:1.5vw!important}
}
@media(min-width:1800px){
 .journey .application-detail{width:486px!important;max-width:none!important}
 .journey .application-detail p{font-size:18.75px!important}
 .journey .application-benefit{max-width:400px}
 .journey .application-benefit--wide{max-width:537.5px}
 .ed .gs-text{width:min(375px,calc(100% - 8px))}
 .journey .brand-button.study-action,.journey .brand-button.application-action{min-height:70px!important;padding:20px 30px!important;font-size:17.5px!important;gap:27px!important}
}
