/* Sole equipment layout: intrinsic copy and artwork proportions, never screen height. */
:root{--section-space:clamp(64px,6vw,112px)}
.field{position:relative;background:var(--fw-charcoal);color:var(--fw-ivory);height:auto;min-height:0;scroll-margin-top:60px;--art-travel:24px;--art-tilt:2deg;--copy-travel:16px}
.field .field-stage{position:relative;isolation:isolate;overflow:clip;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto auto;align-items:center;gap:24px 0;height:auto;min-height:0;padding:calc(var(--section-space)/2) var(--gutter)}
/* Proportional composition floor. Long copy grows naturally beyond it. */
.field-stage:before{content:'';grid-area:1/1/3/3;aspect-ratio:1.85;align-self:center;pointer-events:none}
.field .field-copy{grid-area:1/1;align-self:end;width:auto;max-width:640px;min-width:0;padding:0 clamp(24px,3vw,60px) 0 0;position:relative;z-index:2}
.field-copy>.eyebrow{color:var(--accent);font-size:.75rem;line-height:1.6;letter-spacing:.08em;margin-bottom:24px}
.field h2{font-size:clamp(2.625rem,4.6vw,4.875rem);font-weight:500;line-height:1.08;letter-spacing:-.05em;text-wrap:balance;overflow-wrap:break-word;margin:0 0 26px}
.field h2 em{color:var(--accent)}
.field .field-description{max-width:48ch;font-size:clamp(1rem,1.12vw,1.1875rem);line-height:1.75;color:var(--fw-ivory);margin:0 0 26px;text-wrap:pretty;overflow-wrap:anywhere}
.field-facts{margin:0;max-width:100%}
.field-facts>div{padding:14px 0;border-top:1px solid rgb(var(--fw-ivory-rgb) / 0.176)}
.field-facts dt{color:var(--accent);font-size:.75rem;font-weight:650;letter-spacing:.035em;line-height:1.5;margin:0 0 7px}
.field-facts dd{margin:0;color:var(--fw-muted-dark);font-size:.875rem;line-height:1.65;overflow-wrap:anywhere;text-wrap:pretty}
.field .field-art{position:absolute;inset:0;z-index:0;overflow:clip;width:100%;height:100%;margin:0;background:var(--fw-charcoal)}
.field .field-art img{display:block;position:relative;z-index:1;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:right center;transform:none;transform-origin:65% 50%}
.field-atmosphere,.field-ground{position:absolute;inset:0;pointer-events:none;display:block}
.field-atmosphere{background:radial-gradient(ellipse at 78% 48%,rgb(var(--fw-blue-rgb) / .13),transparent 62%)}
.field-power .field-atmosphere,.field-logistics .field-atmosphere{background:radial-gradient(ellipse at 78% 50%,rgb(var(--fw-amber-rgb) / .1),transparent 62%)}
.field-refrigeration .field-atmosphere,.field-compute .field-atmosphere{background:radial-gradient(ellipse at 22% 48%,rgb(var(--fw-blue-rgb) / .13),transparent 62%)}
.field-ground{z-index:0;opacity:.65;background:radial-gradient(ellipse at 72% 82%,rgb(var(--fw-blue-rgb) / .11) 0%,transparent 45%)}
.field-refrigeration .field-ground,.field-compute .field-ground{background:radial-gradient(ellipse at 28% 82%,rgb(var(--fw-blue-rgb) / .11) 0%,transparent 45%)}
.field .field-art img[data-editorial-source=authored]{mask-image:linear-gradient(180deg,transparent,black 7%,black 87%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,black 7%,black 87%,transparent)}
.field-power .field-art img[data-editorial-source=authored]{width:65%;margin-left:auto;mask-image:none;-webkit-mask-image:none;padding:40px 2% 60px;box-sizing:border-box}
@media(max-width:900px),(max-aspect-ratio:4/5){.field-power .field-art img[data-editorial-source=authored]{width:100%;padding:16px 2% 24px}}
.field .field-art:after{z-index:2}
.field .field-stage .field-art figcaption{z-index:3}
.field .field-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgb(var(--fw-charcoal-rgb) / 0.98) 0%,rgb(var(--fw-charcoal-rgb) / 0.969) 29%,rgb(var(--fw-charcoal-rgb) / 0.91) 39%,rgb(var(--fw-charcoal-rgb) / 0.651) 49%,rgb(var(--fw-charcoal-rgb) / 0.2) 61%,transparent 74%),linear-gradient(0deg,var(--fw-charcoal),transparent 16%,transparent 88%,rgb(var(--fw-charcoal-rgb) / 0.533))}
.field .field-art figcaption{position:absolute;bottom:calc(var(--section-space)/2 + 4px);right:var(--gutter);z-index:1;color:var(--fw-muted-dark);font-size:.625rem;line-height:1.6;letter-spacing:.065em;text-align:right;max-width:42ch}
.field .field-bottom{grid-area:2/1;align-self:start;position:relative;inset:auto;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;width:auto;max-width:none;margin:0 clamp(24px,3vw,60px) 0 0;padding:16px 0 0;border-top:1px solid rgb(var(--fw-ivory-rgb) / 0.188);font-size:.75rem;line-height:1.6;letter-spacing:.025em}
.field-bottom>span:last-child{margin:0;font-size:20px;flex:none}
.field-refrigeration .field-copy,.field-compute .field-copy{grid-column:2;padding:0 0 0 clamp(24px,3vw,60px)}
.field-refrigeration .field-bottom,.field-compute .field-bottom{grid-column:2;margin:0 0 0 clamp(24px,3vw,60px)}
.field-refrigeration .field-art img,.field-compute .field-art img{object-position:left center;transform-origin:30% 50%}
.field-refrigeration .field-art:after,.field-compute .field-art:after{background:linear-gradient(270deg,rgb(var(--fw-charcoal-rgb) / 0.98) 0%,rgb(var(--fw-charcoal-rgb) / 0.969) 29%,rgb(var(--fw-charcoal-rgb) / 0.91) 39%,rgb(var(--fw-charcoal-rgb) / 0.651) 49%,rgb(var(--fw-charcoal-rgb) / 0.2) 61%,transparent 74%),linear-gradient(0deg,var(--fw-charcoal),transparent 16%,transparent 88%,rgb(var(--fw-charcoal-rgb) / 0.533))}
.field-refrigeration .field-art figcaption,.field-compute .field-art figcaption{right:auto;left:var(--gutter);text-align:left}
.field-compute{--accent:var(--fw-blue)}
/* Custom uploads retain their proportions and a dedicated clear image area. */
.field .field-art:has(img[data-editorial-source=custom]){width:56%;left:auto;right:0}
.field-refrigeration .field-art:has(img[data-editorial-source=custom]),.field-compute .field-art:has(img[data-editorial-source=custom]){left:0;right:auto}
.field .field-art:has(img[data-editorial-source=custom]):after{background:linear-gradient(90deg,var(--fw-charcoal),transparent 25%),linear-gradient(0deg,var(--fw-charcoal),transparent 15%,transparent 90%,rgb(var(--fw-charcoal-rgb) / 0.4))}
.field-refrigeration .field-art:has(img[data-editorial-source=custom]):after,.field-compute .field-art:has(img[data-editorial-source=custom]):after{background:linear-gradient(270deg,var(--fw-charcoal),transparent 25%),linear-gradient(0deg,var(--fw-charcoal),transparent 15%,transparent 90%,rgb(var(--fw-charcoal-rgb) / 0.4))}
.field .field-art img[data-editorial-source=custom]{object-fit:contain;object-position:center}
.software-chapter{display:grid;grid-template-columns:1.15fr 1fr;column-gap:7%;padding-top:var(--section-space)}
.software-chapter>.section-label,.software-columns,.software-ribbon{grid-column:1/-1}
.software-heading{grid-column:1;grid-row:2;min-width:0;padding-top:48px}
.software-heading h2{font-size:clamp(2.6875rem,5.3vw,5.625rem);text-wrap:balance;overflow-wrap:break-word}
.software-thread-end{grid-column:2;grid-row:2;align-self:center;min-width:0;margin:64px 0 0;padding:28px 0 28px 30px;font-size:clamp(.875rem,1.45vw,1.5rem);line-height:2;color:var(--fw-ivory);border-color:rgb(var(--fw-ivory-rgb) / 0.376);overflow-wrap:anywhere;white-space:pre-wrap}
.software-thread-end .code-comment{color:var(--fw-ivory);font-size:.8em;letter-spacing:.015em}
.software-thread-end:before{border-color:rgb(var(--fw-ivory-rgb) / 0.502);width:40px;top:-40px;height:40px}
.software-columns{margin:48px 0 56px;column-gap:7%}
.field-copy .reveal-item,.software-heading .reveal-item{animation:none!important;opacity:1;transform:none}
.field-copy:focus-within,.software-heading:focus-within{animation:none!important;opacity:1!important;transform:none!important}
/* One entry sequence: art establishes the space, then flat copy settles.
   Named timelines share progress; no additional height or exit fade is needed. */
@keyframes field-copy-flow{from{opacity:0;transform:translate3d(0,var(--copy-travel,16px),0)}to{opacity:1;transform:none}}
@keyframes field-art-flow{from{opacity:.42;transform:perspective(1400px) translate3d(0,var(--art-travel,24px),0) rotateX(var(--art-tilt,2deg)) scale(var(--art-scale,.925))}to{opacity:1;transform:none}}
@keyframes field-custom-flow{from{opacity:.42}to{opacity:1}}
@keyframes field-ground-flow{from{opacity:.273;transform:translate3d(0,calc(var(--art-travel)*.4),0)}to{opacity:.65;transform:none}}
@supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
 html[data-field-motion=native]:not(.reduced-motion) .field-stage{view-timeline-name:--field}
 html[data-field-motion=native]:not(.reduced-motion) [data-arrival-phase]{animation:field-copy-flow linear both;animation-timeline:--field;animation-range:entry 0% entry 30%}
 html[data-field-motion=native]:not(.reduced-motion) [data-arrival-phase="1"]{animation-range:entry 6% entry 36%}
 html[data-field-motion=native]:not(.reduced-motion) [data-arrival-phase="2"]{animation-range:entry 12% entry 42%}
 html[data-field-motion=native]:not(.reduced-motion) [data-arrival-phase="3"]{animation-range:entry 18% entry 48%}
 html[data-field-motion=native]:not(.reduced-motion) .field-art img{animation:field-art-flow linear both;animation-timeline:--field;animation-range:entry 0% entry 72%}
 html[data-field-motion=native]:not(.reduced-motion) .field-ground{animation:field-ground-flow linear both;animation-timeline:--field;animation-range:entry 0% entry 72%}
 html[data-field-motion=native]:not(.reduced-motion) .field-art img[data-editorial-source=custom]{animation-name:field-custom-flow}
 html[data-field-motion=native]:not(.reduced-motion) :is(.software-heading,.software-thread-end,.field-bottom){animation:field-copy-flow linear both;animation-timeline:view();animation-range:entry 0% entry 30%;--copy-travel:16px}
 html[data-field-motion=native]:not(.reduced-motion) .software-ribbon{view-timeline-name:--software-words}
 html[data-field-motion=native]:not(.reduced-motion) .software-ribbon span{animation-timeline:--software-words}
}}
@media(max-width:900px),(max-aspect-ratio:4/5){
 :root{--section-space:clamp(48px,6vw,72px)}
 .field{--art-travel:14px;--art-tilt:0deg;--art-scale:.96;--copy-travel:12px}
 .field .field-stage{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:0 0 var(--section-space)}
 .field-stage:before{display:none}
 .field .field-art{order:0;position:relative;inset:auto;width:100%;height:auto;aspect-ratio:16/10;max-height:720px;flex:none;margin:0}
 .field-power .field-art,.field-logistics .field-art{aspect-ratio:16/9}
 .field-refrigeration .field-art,.field-compute .field-art{aspect-ratio:4/5;max-height:680px}
 .field .field-art img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
 .field-atmosphere,.field-refrigeration .field-atmosphere,.field-compute .field-atmosphere,.field-power .field-atmosphere,.field-logistics .field-atmosphere{background:radial-gradient(ellipse at 50% 46%,rgb(var(--fw-blue-rgb) / .1),transparent 70%)}
 .field .field-ground{background:radial-gradient(ellipse at 50% 80%,rgb(var(--fw-blue-rgb) / .1),transparent 48%)}
 .field-refrigeration .field-art img,.field-compute .field-art img{object-fit:cover;object-position:left center}
 .field .field-art:after,.field .field-art:has(img[data-editorial-source=custom]):after{background:linear-gradient(180deg,var(--fw-charcoal) 0%,transparent 9%,transparent 73%,var(--fw-charcoal) 100%)}
 .field .field-art:has(img[data-editorial-source=custom]){width:100%;inset:auto;aspect-ratio:auto;max-height:none}
 .field .field-art img[data-editorial-source=custom]{width:100%;height:auto;max-height:720px;object-fit:contain}
 .field .field-art figcaption{inset:auto 24px 12px;text-align:right;max-width:none;font-size:.625rem}
 .field .field-copy{order:1;align-self:auto;margin:0;width:auto;max-width:none;padding:28px var(--editorial-gutter,24px) 0}
 .field .field-copy>.eyebrow{margin-bottom:20px}
 .field h2{font-size:clamp(2.25rem,6.4vw,4rem);max-width:18ch;line-height:1.1}
 .field .field-description{font-size:clamp(1rem,1.85vw,1.1875rem);max-width:58ch}
 .field .field-bottom{order:2;align-self:auto;inset:auto;width:auto;max-width:none;margin:24px var(--editorial-gutter,24px) 0;padding:16px 0 0}
 .software-chapter{display:block;padding-top:var(--section-space)}
 .software-heading{padding-top:36px}.software-heading h2{font-size:clamp(2.3125rem,7.5vw,4.25rem);max-width:17ch}
 .software-thread-end{margin:32px 0;padding:22px;font-size:clamp(.875rem,2.7vw,1.25rem);border:1px solid rgb(var(--fw-ivory-rgb) / 0.314);border-radius:10px;background:rgb(var(--fw-raised-rgb) / 0.188)}
 .software-thread-end:before{display:none}.software-columns{display:block;margin:32px 0 40px}.software-lead{font-size:clamp(1.875rem,4vw,2.75rem);margin-bottom:28px}
 @supports(animation-timeline:view()){@media(prefers-reduced-motion:no-preference){
  html[data-field-motion=native]:not(.reduced-motion) .field-copy{view-timeline-name:--field-copy}
  html[data-field-motion=native]:not(.reduced-motion) .field-copy>[data-arrival-phase]{animation-timeline:--field-copy}
  html[data-field-motion=native]:not(.reduced-motion) .field-art{view-timeline-name:--field-art}
  html[data-field-motion=native]:not(.reduced-motion) :is(.field-art img,.field-ground){animation-timeline:--field-art;animation-range:entry 0% entry 60%}
 }}
}
@media(prefers-reduced-motion:reduce){.field-ground{animation:none!important;transform:none!important;opacity:.65!important}}
.reduced-motion .field-ground,html[data-field-motion=reduce] .field-ground{animation:none!important;transform:none!important;opacity:.65!important}
@media print{.field-atmosphere,.field-ground{display:none}}
@media(prefers-reduced-motion:reduce){.field-copy,.field-art img,.software-heading,.software-thread-end{animation:none!important;transform:none!important;opacity:1!important}}
.reduced-motion :is(.field-copy,.field-art img,.software-heading,.software-thread-end),html[data-field-motion=reduce] :is(.field-copy,.field-art img,.software-heading,.software-thread-end){animation:none!important;transform:none!important;opacity:1!important}
@media print{.field .field-stage{display:block;min-height:0;padding:20px}.field-stage:before{display:none}.field .field-copy{padding:0;max-width:none}.field .field-bottom{display:none}.software-chapter{display:block}.field-copy,.field-art img,.software-heading,.software-thread-end{animation:none!important;transform:none!important;opacity:1!important}}

/* Focus and motion preference always override a partial entrance. */
html [data-arrival-phase]:focus-within{animation:none!important;opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){[data-arrival-phase],.field-bottom{animation:none!important;opacity:1!important;transform:none!important}}
.reduced-motion :is([data-arrival-phase],.field-bottom),html[data-field-motion=reduce] :is([data-arrival-phase],.field-bottom){animation:none!important;opacity:1!important;transform:none!important}
@media print{[data-arrival-phase],.field-bottom{animation:none!important;opacity:1!important;transform:none!important}}
/* An unavailable image must not leave half an empty composition. */
.field .field-stage:has(.field-art[data-unavailable]){display:flex;flex-direction:column;align-items:stretch;padding:calc(var(--section-space)/2) var(--gutter);gap:24px}
.field-stage:has(.field-art[data-unavailable]):before{display:none}
.field .field-stage .field-art[data-unavailable]{position:relative;inset:auto;width:min(100%,760px);height:auto;aspect-ratio:auto;max-height:none;order:0;align-self:center;overflow:visible;background:none}
.field-art[data-unavailable] :is(img,.field-atmosphere,.field-ground),.field-art[data-unavailable]:after{display:none!important}
.field .field-art[data-unavailable] figcaption{position:static;text-align:left;max-width:none;font-size:.75rem}
.field-stage:has(.field-art[data-unavailable]) :is(.field-copy,.field-bottom){width:min(100%,760px);max-width:760px;align-self:center;padding:0;margin:0;box-sizing:border-box}
.field-stage:has(.field-art[data-unavailable]) .field-bottom{padding-top:16px}
