/* v6.28 — two separate screen-sized chapters, matching The Art of Making. */
.tv628-home main#main{overflow:visible!important}
.tv625-approach{position:relative;isolation:isolate;background:#fff;border-bottom:1px solid #eeeae3}
.tv625-approach .tv625-approach-inner{box-sizing:border-box;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;align-items:center;gap:48px;width:100%;max-width:1280px;height:100svh;min-height:640px;margin:auto;padding:48px 5%}
.tv625-approach .tv625-approach-copy{display:block;width:100%;min-width:0}
.tv625-approach .tv625-eyebrow{margin:0 0 22px}
.tv625-approach h2{margin:0 0 18px;font-size:clamp(36px,4vw,58px);line-height:1.03}
.tv625-approach h3{margin:0 0 25px;font-size:clamp(38px,4.1vw,60px);line-height:1.05}
.tv625-approach .tv625-approach-description{width:100%;max-width:430px;margin:0;font-size:16px;line-height:1.65}
.tv625-approach .tv626-materials{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;max-width:none;margin:0;align-self:stretch}
.tv625-approach .tv626-materials img{display:block;width:100%;height:100%;max-height:72svh;object-fit:contain}
/* The viewport is filled by content and artwork, not an empty travel area. */
.tv625-process.is-scroll-ready{height:calc(var(--tv628-pin-height,100svh) + 210svh)}
.tv625-process .tv626-process-pin{box-sizing:border-box;display:grid;grid-template-rows:auto minmax(0,1fr) auto;position:relative;top:0;height:100svh;min-height:640px;max-width:1240px;padding:32px 0 30px;gap:22px;justify-content:normal;align-content:stretch}
.tv625-process.is-scroll-ready .tv626-process-pin{position:sticky}
.tv625-process .tv625-process-heading{margin:0;text-align:center}
.tv625-process .tv625-process-heading .tv625-eyebrow{margin:0 0 10px}
.tv625-process .tv625-process-body{height:100%;min-height:0;display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:minmax(0,1fr);gap:32px;align-items:center}
.tv625-process .tv625-process-art{width:100%;height:100%;min-width:0;min-height:0;margin:0;align-self:stretch;align-items:stretch}
.tv625-process .tv625-process-art img{display:block;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain}
.tv625-process .tv627-process-footer{margin:0;padding:16px 0 0;align-self:end}
@media(max-width:760px){
 /* Mobile composition: heading, supporting copy, then large materials artwork. */
 .tv625-approach .tv625-approach-inner{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100svh;min-height:650px;gap:18px;padding:32px 6% 28px}
 .tv625-approach .tv625-approach-copy{display:block;grid-column:1;grid-row:1}
 .tv625-approach .tv625-eyebrow{font-size:9px;letter-spacing:.2em;margin:0 0 18px}
 .tv625-approach h2{font-size:clamp(30px,7.4vw,44px);line-height:1.05;margin:0 0 15px;max-width:100%}
 .tv625-approach h2 br{display:none}
 .tv625-approach h3{font-size:clamp(31px,7.7vw,46px);line-height:1.05;margin:0 0 23px;max-width:100%}
 .tv625-approach .tv625-approach-description{font-size:14px;line-height:1.6;max-width:490px;margin:0}
 .tv625-approach .tv625-approach-description br{display:none}
 .tv625-approach .tv626-materials{grid-column:1;grid-row:2;width:100%;height:100%;margin:0;align-self:stretch}
 .tv625-approach .tv626-materials img{width:100%;height:100%;max-height:none;object-fit:contain}
 /* Process is its own full-height scene, with full-width text above the model. */
 .tv625-process .tv626-process-pin{height:100svh;min-height:650px;padding:28px 0 25px;gap:22px;grid-template-rows:auto minmax(0,1fr) auto}
 .tv625-process .tv625-process-heading h2{font-size:30px;line-height:1.05}
 .tv625-process .tv625-process-heading em{font-size:clamp(27px,6.9vw,36px);line-height:1.1}
 .tv625-process .tv625-process-body{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px;height:100%;min-height:0}
 .tv625-process .tv625-process-copy{min-width:0;align-self:start}
 .tv625-process .tv625-process-copy .tv625-eyebrow{font-size:9px;margin:0 0 10px}
 .tv625-process .tv625-process-copy h3{font-size:clamp(26px,6.3vw,34px);line-height:1.07;margin:0 0 12px;max-width:none}
 .tv625-process .tv625-process-description{max-width:100%;font-size:14px;line-height:1.55;margin:0;min-height:0}
 .tv625-process .tv625-process-art{grid-column:1;grid-row:2;width:100%;height:100%;margin:0;min-height:0}
 .tv625-process .tv625-process-art img{width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto;object-fit:contain}
 .tv625-process .tv627-process-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0;padding-top:14px}
 .tv625-process .tv627-process-footer .tv625-process-link{font-size:10px}
 .tv625-process .tv627-process-footer .tv625-tabs{gap:8px}
 .tv625-process .tv627-process-footer .tv625-tabs button{width:30px;height:30px}
}
@media(max-width:390px){
 .tv625-process .tv627-process-footer{gap:8px}
 .tv625-process .tv627-process-footer .tv625-process-link{font-size:9px}
 .tv625-process .tv627-process-footer .tv625-tabs{gap:6px}
 .tv625-process .tv627-process-footer .tv625-tabs button{width:28px;height:28px}
}
/* On short landscape screens the scene can grow and scroll normally. */
@media(max-height:600px) and (min-width:600px){
 .tv625-approach .tv625-approach-inner{grid-template-columns:1fr 1fr;grid-template-rows:1fr;min-height:540px;padding-top:25px;padding-bottom:25px;gap:24px}
 .tv625-approach .tv626-materials{grid-column:2;grid-row:1}
 .tv625-approach h2{font-size:32px}.tv625-approach h3{font-size:34px}
 .tv625-process .tv626-process-pin{height:100svh;min-height:540px;padding:20px 0;gap:14px}
 .tv625-process .tv625-process-body{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);gap:24px}
 .tv625-process .tv625-process-art{grid-column:2;grid-row:1}
}
