/* Image-led refinement: photograph geometry belongs to the photograph, not an
   intrinsic HTML height left behind by an unrelated column width. */
img{height:auto}
:root{--section-space:clamp(28px,4vw,48px)}
/* Reserve the complete opening viewport; only content that needs it extends it. */
[data-hero]{min-height:calc(100svh - var(--site-chrome,134px) + 1px)}

/* Human stories and Next Up: one natural-ratio portrait, broad editorial scale,
   edge masks on actual painted pixels, no coloured or blurred cutout halo. */
.human-cover{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:5%;padding:30px var(--gutter) 55px;align-items:center}
.human-cover-portrait{align-self:stretch;display:flex;align-items:center;justify-content:center;min-width:0}
.human-cover .human-photo{width:100%;height:auto;min-height:0}
.human-photo{background:none}
.human-photo img{display:block;aspect-ratio:var(--photo-ratio,auto);object-fit:contain!important;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(transparent,#000 3%,#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent),linear-gradient(transparent,#000 3%,#000 90%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.human-cover .human-photo img{width:auto;height:auto;max-width:100%;max-height:clamp(520px,76svh,780px);margin:auto}
.human-cover-copy{padding:10px 0;align-self:center}
.human-cover-copy h2{margin:20px 0 18px}
.human-cover-copy .text-link{margin:22px 0 14px}
.human-cover-credit{bottom:15px}
.human-introduction,.human-ending,.human-reading{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.human-chapter{padding-top:30px;padding-bottom:26px;gap:4%}
.human-chapter-portrait .human-photo img{width:auto;height:auto;max-width:100%;max-height:650px;margin:auto}
.human-lens{margin-top:20px}
.nextup-hero{gap:4%;padding:28px var(--gutter) 54px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
.nextup-image{align-self:center}
.nextup-image .human-photo{min-height:0;flex:none}
.nextup-image .human-photo img{width:auto;height:auto;max-width:100%;max-height:clamp(520px,76svh,780px);margin:auto}
.nextup-copy h1{margin-bottom:20px}.nextup-context{margin:16px 0 10px}.nextup-discovery{margin-top:20px;padding-top:15px}
.nextup-image .human-credit{margin-top:4px}.nextup-separation{bottom:15px}

/* The interview is a complete photographic spread, not contain-letterboxed
   inside an unrelated fixed height. Both faces and the source frame remain. */
body .media-hero.interview-cover{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:30px 0 22px;gap:24px;background:linear-gradient(#0c161c,#182326 48%,#0c161c);height:auto;max-height:none}
body .media-hero.interview-cover>.hero-content{position:relative;inset:auto;transform:none;order:0;max-width:var(--max);width:100%;margin:0 auto;padding:0 var(--gutter);grid-template-columns:.8fr 1.2fr}
body .media-hero.interview-cover>.hero-media{position:relative;inset:auto;order:1;width:100%;height:auto;max-width:none;margin:0;display:block;aspect-ratio:var(--photo-ratio,auto)}
body .media-hero.interview-cover>.hero-media:before{display:none}
body .media-hero.interview-cover>.hero-media>img{display:block;width:100%;height:auto;max-height:none;max-width:none;aspect-ratio:var(--photo-ratio,auto);object-fit:contain!important;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(transparent,#000 3%,#000 92%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(transparent,#000 3%,#000 92%,transparent)!important;mask-composite:intersect!important;-webkit-mask-composite:source-in!important}
body .media-hero.interview-cover>.hero-gradient{display:none}
body .media-hero.interview-cover>.hero-bottom{position:relative;inset:auto;order:2;margin:0 var(--gutter);font-size:9px}
.interview-introduction,.conversation-index{padding-top:var(--section-space);padding-bottom:var(--section-space)}

/* City After Dark: exact 4:3 source ratio. The previous width-only rule left
   HTML height=1200 active, creating a very tall crop at only 694px wide. */
body .culture-spread{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:clamp(24px,4vw,55px);padding-top:34px;padding-bottom:34px;background:radial-gradient(ellipse at 20% 40%,#1b2022,transparent 75%)}
body .culture-spread-image{display:block;min-width:0;align-self:center}
body .culture-spread-image>img{width:100%;height:auto;aspect-ratio:4/3;min-height:0;max-height:none;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 3%,#000 94%,transparent),linear-gradient(transparent,#000 3%,#000 91%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 94%,transparent),linear-gradient(transparent,#000 3%,#000 91%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.culture-spread-copy{padding:0}.culture-spread-copy .chapter-end{margin-top:22px;padding-top:18px}

/* A camera-led, full section-scale composition. Desktop crops only the empty
   sky/flags, retaining the entire camera and hand; phone retains the full photo. */
body .media-hero.submission-cover{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:4%;padding:0 var(--gutter) 42px 0;background:linear-gradient(110deg,#56635f,#263834 65%,#142326);overflow:hidden}
body .media-hero.submission-cover>.hero-media{position:relative;inset:auto;width:100%;height:100%;min-height:calc(100svh - var(--site-chrome) - 41px);max-width:none;margin:0;display:block;aspect-ratio:1.02}
body .media-hero.submission-cover>.hero-media>img{width:100%;height:100%;max-height:none;max-width:none;object-fit:cover!important;object-position:center bottom!important;mask-image:linear-gradient(90deg,#000 88%,transparent),linear-gradient(#000 91%,transparent)!important;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent),linear-gradient(#000 91%,transparent)!important;mask-composite:intersect!important;-webkit-mask-composite:source-in!important}
body .media-hero.submission-cover>.hero-content{position:relative;inset:auto;transform:none;width:auto;max-width:470px;flex:none;margin:0;padding:30px 0;align-self:center}
body .media-hero.submission-cover>.hero-content h1{font-size:clamp(34px,3.9vw,46px)}
body .media-hero.submission-cover>.hero-gradient{display:none}
body .media-hero.submission-cover>.hero-bottom{bottom:13px;left:var(--gutter);right:var(--gutter);font-size:8px}
.form-layout{padding-top:var(--section-space);padding-bottom:var(--section-space)}

/* IdentityMade is an editorial label moment with its own photography, palette
   and rhythm. The model is separate from the licensed BOSS editorial. */
.style-edition .label-campaign{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-rows:auto 1fr;gap:20px 5%;padding:36px var(--gutter) 30px;background:#edeae8;color:#26362e;overflow:hidden}
.label-campaign-heading{align-self:end;padding-top:15px;grid-column:1;grid-row:1}
.label-campaign-heading h2{font-size:clamp(34px,4.2vw,50px);font-weight:400;line-height:1.1;margin:22px 0 0}
.style-edition .label-campaign-photo{grid-column:2;grid-row:1/3;margin:0 calc(-1*var(--gutter)) 0 0;align-self:center}
.style-edition .label-campaign-photo>img{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 96%,transparent),linear-gradient(transparent,#000 2%,#000 96%,transparent);mask-composite:intersect}
.style-edition .label-campaign-photo .edition-credit{padding:8px var(--gutter) 0;font-size:8px;color:#546259}
.label-campaign-copy{grid-column:1;grid-row:2;max-width:430px;align-self:start;padding-bottom:18px}
.label-campaign-copy>p{font-size:15px;line-height:1.8;color:#4b594f}.label-campaign-copy>.text-link{margin:22px 0 0}
.label-campaign-copy>small{display:block;font-size:9px;line-height:1.8;color:#66716a;max-width:390px;margin-top:25px}

/* The launch clock is a preview of the approved absolute schedule. The only
   signup lives on the official Shopify store; there is no duplicate form. */
.drop-edition{background:#f7f5f5;color:#27392e}
.drop-cover{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:5%;padding:35px var(--gutter) 72px;align-items:center;overflow:hidden}
.drop-copy{max-width:510px;position:relative;z-index:1}
.drop-kicker{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#58705c}
.drop-copy h1{font-size:clamp(34px,4vw,49px);line-height:1.13;font-weight:400;margin:22px 0 22px;max-width:500px}
.drop-dek{font-size:16px;color:#49604d;margin-bottom:16px}
.drop-copy time{display:block;font-size:12px;line-height:1.7;color:#5b655d}
.drop-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0 28px;padding:18px 0;border-top:1px solid #afb9ad;border-bottom:1px solid #afb9ad}
.drop-clock>div{min-width:0}.drop-clock span{display:block;font-family:var(--font-display);font-size:40px;line-height:1.15;font-variant-numeric:tabular-nums;min-width:2ch}.drop-clock small{font-size:9px;color:#5f7162;text-transform:uppercase;letter-spacing:.12em}
.drop-copy>.text-link{background:#294537;color:#f7f5ed;padding:15px 23px;font-size:12px;min-height:46px;justify-content:center;border:0}
.drop-handoff{font-size:10px;line-height:1.8;color:#697569;max-width:340px;margin-top:15px}
.drop-photo{margin:0 calc(-1*var(--gutter)) 0 0;min-width:0}.drop-photo>img{width:100%;height:auto;aspect-ratio:var(--photo-ratio,auto);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent),linear-gradient(transparent,#000 2%,#000 98%,transparent);mask-composite:intersect}
.drop-photo figcaption{padding:0 var(--gutter);font-size:8px;color:#69756b}.drop-photo .edition-credit{font-size:8px;line-height:1.8}
.drop-signature{position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter);border-top:1px solid #b8c0b5;padding-top:12px;font-size:11px;display:flex;justify-content:space-between;gap:20px}.drop-signature>span{font-size:10px;color:#697569}
.drop-followthrough{display:grid;grid-template-columns:1fr 1.12fr;gap:5%;padding-top:32px;padding-bottom:38px;border-top:1px solid #c7cec5;background:#e8ede4}
.drop-followthrough h2{font-size:32px;line-height:1.15}.drop-followthrough p{font-size:13px;line-height:1.8;max-width:500px;color:#53624f}.drop-followthrough .small{font-size:10px;margin-top:15px}.drop-followthrough .text-link{margin-top:20px;color:#284431;font-size:11px}
.drop-zero{margin:23px 0;min-height:103px;font-size:16px;line-height:1.7;border-top:1px solid #afb9ad;border-bottom:1px solid #afb9ad;padding:18px 0}

@media(max-width:600px){
 .human-cover{display:flex;gap:18px;padding:25px var(--gutter) 23px;min-height:calc(100svh - var(--site-chrome) + 1px)}
 .human-cover-copy{align-self:stretch;padding:0}.human-cover-copy h2{margin:18px 0 14px}.human-cover-credit{position:static}
 .human-cover-portrait{align-self:auto;margin:0 calc(-1*var(--gutter));width:calc(100% + 2*var(--gutter))}
 .human-cover .human-photo img,.human-chapter-portrait .human-photo img{width:100%;height:auto;max-height:none;max-width:none}
 .human-photo img{mask-image:linear-gradient(transparent,#000 3%,#000 91%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 3%,#000 91%,transparent);mask-composite:add;-webkit-mask-composite:source-over}
 .nextup-hero{display:flex;padding:25px var(--gutter) 25px;gap:22px}.nextup-image{align-self:auto}.nextup-image .human-photo img{width:100%;height:auto;max-height:none}.nextup-separation{position:static;margin:0}.nextup-discovery{margin-top:18px}
 body .media-hero.interview-cover{padding:25px 0 24px;gap:24px;justify-content:flex-start}
 body .media-hero.interview-cover>.hero-content{display:block;padding:0 var(--gutter)}
 body .media-hero.interview-cover>.hero-media{margin-top:auto;margin-bottom:auto}
 body .media-hero.interview-cover>.hero-media>img{width:100%;height:auto;max-height:none;mask-image:linear-gradient(transparent,#000 3%,#000 93%,transparent)!important;-webkit-mask-image:linear-gradient(transparent,#000 3%,#000 93%,transparent)!important;mask-composite:add!important;-webkit-mask-composite:source-over!important}
 body .culture-spread{display:block;padding:26px 0 29px}.culture-spread-copy{padding:20px var(--gutter) 0}.culture-spread-copy p{max-width:none}.culture-spread-image>img{mask-image:linear-gradient(transparent,#000 3%,#000 92%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 3%,#000 92%,transparent)}
 body .media-hero.submission-cover{display:flex;flex-direction:column;align-items:stretch;padding:25px 0 24px;gap:22px;background:linear-gradient(#273b36,#5a6762 55%,#15272a)}
 body .media-hero.submission-cover>.hero-content{order:0;margin:0;padding:0 var(--gutter);max-width:none;width:100%;align-self:auto}
 body .media-hero.submission-cover>.hero-content h1{font-size:34px}
 body .media-hero.submission-cover>.hero-media{order:1;position:relative;width:100%;height:auto;min-height:0;aspect-ratio:var(--photo-ratio,auto);margin:0}
 body .media-hero.submission-cover>.hero-media>img{width:100%;height:auto;aspect-ratio:var(--photo-ratio,auto);object-fit:contain!important;mask-image:linear-gradient(transparent,#000 3%,#000 94%,transparent)!important;-webkit-mask-image:linear-gradient(transparent,#000 3%,#000 94%,transparent)!important;mask-composite:add!important;-webkit-mask-composite:source-over!important}
 body .media-hero.submission-cover>.hero-bottom{position:relative;order:2;inset:auto;margin:0 var(--gutter);font-size:8px}
 .style-edition .label-campaign{display:flex;flex-direction:column;align-items:stretch;padding:26px var(--gutter) 26px;gap:22px}
 .label-campaign-heading{padding:0}.label-campaign-heading h2{font-size:35px;margin-top:18px}
 .style-edition .label-campaign-photo{order:1;margin:0 calc(-1*var(--gutter));width:calc(100% + 2*var(--gutter))}.label-campaign-copy{order:2;max-width:none;padding:0}.label-campaign-copy>p{font-size:13px}
 .drop-cover{display:flex;flex-direction:column;align-items:stretch;padding:26px var(--gutter) 23px;gap:24px}.drop-copy h1{font-size:35px;margin:19px 0 18px}.drop-copy{max-width:none}.drop-clock{gap:10px;margin:22px 0}.drop-clock span{font-size:35px}.drop-clock small{font-size:8px}
 .drop-copy>.text-link{display:flex;width:100%}.drop-handoff{max-width:none;font-size:10px}.drop-photo{margin:0 calc(-1*var(--gutter));width:calc(100% + 2*var(--gutter))}.drop-signature{position:static;flex-direction:column;gap:7px}.drop-followthrough{display:block;padding-top:26px;padding-bottom:30px}.drop-followthrough h2{font-size:30px;margin-bottom:20px}
}
@media(prefers-reduced-motion:reduce){.drop-edition *{animation:none!important;transition:none!important}}

/* Cold-load reservation: the width follows the source ratio even before the
   decoded image has natural dimensions. The mask still hugs the real frame. */
@media(min-width:601px){
 .human-cover .human-photo img,.nextup-image .human-photo img{width:100%;height:auto;max-height:none;max-width:min(100%,calc(clamp(520px,76svh,780px) * var(--photo-ratio)));aspect-ratio:var(--photo-ratio)}
 .human-chapter-portrait .human-photo img{width:100%;height:auto;max-height:none;max-width:min(100%,calc(650px * var(--photo-ratio)));aspect-ratio:var(--photo-ratio)}
}
/* Phone Next Up gives the photograph the first screen too. Keep the complete
   sourced context, but remove stacked heading and paragraph spacing overhead. */
@media(max-width:600px){
 .nextup-copy h1{font-size:28px;line-height:1.15;margin-bottom:14px}
 .nextup-copy h1 br{display:none}.nextup-copy h1 em{font-size:36px;margin-left:.2em}
 .nextup-name{font-size:26px;margin-bottom:8px}
 .nextup-copy>p{font-size:13px;line-height:1.45}.nextup-copy>p br{display:none}
 .nextup-context{margin:12px 0 8px}
 .nextup-copy p.nextup-fact{font-size:11px;line-height:1.6;margin-bottom:10px}
 .nextup-discovery{margin-top:14px;padding-top:12px}
 .nextup-hero{gap:16px}
}

/* Let the player lead the phone cover; the complete sourced context follows
   the portrait, while desktop keeps it beside the same image. */
.nextup-copy{grid-column:1;grid-row:1;align-self:end}
.nextup-image{grid-column:2;grid-row:1/3}
.nextup-source{grid-column:1;grid-row:2;align-self:start;max-width:420px}
.nextup-source .nextup-fact{font-size:12px;line-height:1.7;color:#d1dce8;margin-bottom:13px}
.nextup-source>.text-link{font-size:10px}
@media(max-width:600px){
 .nextup-copy{order:0;align-self:auto}.nextup-image{order:1}.nextup-source{order:2;max-width:none}.nextup-separation{order:3}
 .nextup-source .nextup-fact{font-size:12px;line-height:1.7;margin-bottom:12px}
}

/* Final owner-marked phone gaps: short landscape heroes follow their content,
   not a stretched viewport. No automatic spacer sits around a photograph. */
@media(max-width:600px){
 body .media-hero.foundation-hero,body .media-hero.services-hero,body .media-hero.interview-cover{min-height:0;height:auto;max-height:none;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:22px;padding:26px 0 24px;border-bottom:1px solid #243238}
 body .media-hero.foundation-hero>.hero-content,body .media-hero.services-hero>.hero-content{order:0;position:relative;inset:auto;transform:none;width:auto;max-width:none;margin:0;padding:0 var(--gutter)}
 body .media-hero.foundation-hero>.hero-media,body .media-hero.services-hero>.hero-media,body .media-hero.interview-cover>.hero-media{order:1;position:relative;inset:auto;display:block;flex:none;width:100%;height:auto;min-height:0;max-height:none;margin:0;aspect-ratio:var(--photo-ratio,auto)}
 body .media-hero.foundation-hero>.hero-media>img,body .media-hero.services-hero>.hero-media>img{display:block;width:100%;height:auto;max-height:none;object-fit:contain!important}
 body .media-hero.foundation-hero>.hero-bottom,body .media-hero.services-hero>.hero-bottom,body .media-hero.interview-cover>.hero-bottom{order:2;position:static;inset:auto;margin:0;padding:0 var(--gutter);font-size:9px;line-height:1.7}
 body .media-hero.foundation-hero>.hero-gradient,body .media-hero.services-hero>.hero-gradient{display:none}
 .foundation-layout,.services-intro,.interview-introduction{padding-top:30px}
}

/* The actual official countdown campaign replaces the isolated product.
   Original campaign subject stays intact; only its empty blue side-field crops. */
.drop-edition{background:#183b5b;color:#f2f5f6}
.drop-cover{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);gap:3%;background:#183b5b;padding-top:34px;padding-bottom:70px;isolation:isolate}
.drop-copy{max-width:470px}.drop-kicker,.drop-dek,.drop-copy time,.drop-clock small,.drop-handoff{color:#d4e0e9}
.drop-clock{border-color:#66849b}.drop-copy>.text-link{background:#e7eef0;color:#17324a}
.drop-photo.drop-campaign{position:absolute;inset:0 0 0 38%;margin:0;width:auto;height:100%;z-index:-1}
.drop-campaign picture{display:block;width:100%;height:100%}
.drop-photo.drop-campaign img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;aspect-ratio:auto;mask-image:linear-gradient(90deg,transparent,#000 23%,#000 95%,transparent),linear-gradient(#000 90%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 23%,#000 95%,transparent),linear-gradient(#000 90%,transparent);mask-composite:intersect;-webkit-mask-composite:source-in}
.drop-photo.drop-campaign figcaption{position:absolute;bottom:47px;right:var(--gutter);font-size:8px;color:#d4e0e9;text-align:right;padding:0}
.drop-signature{border-color:#66849b}.drop-signature>span{color:#d4e0e9}
.drop-followthrough{background:#102b40;border-color:#35526a}.drop-followthrough p,.drop-followthrough .text-link{color:#d4e0e9}
@media(max-width:600px){
 .drop-cover{padding:26px var(--gutter) 24px;gap:20px;min-height:0}
 .drop-photo.drop-campaign{position:relative;inset:auto;z-index:0;margin:0 calc(-1*var(--gutter));width:calc(100% + 2*var(--gutter));height:auto}
 .drop-campaign picture{height:clamp(340px,108vw,480px)}
 .drop-photo.drop-campaign img{mask-image:linear-gradient(transparent,#000 5%,#000 92%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 5%,#000 92%,transparent);mask-composite:add;-webkit-mask-composite:source-over}
 .drop-photo.drop-campaign figcaption{position:static;padding:0 var(--gutter);text-align:left;font-size:8px;margin-top:6px}
 .drop-signature{padding-top:14px}
}
