.story-page{background:#071321}.story-hero{padding:180px 8% 90px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:6%;min-height:90svh}.story-hero h1{font-size:clamp(39px,4.5vw,69px);text-transform:none;line-height:1.08;letter-spacing:-.05em}.story-hero h1 span,.story-hero h1 em{display:block}.story-hero h1 em{font-style:normal;color:#d9c6a7;margin-top:12px}.story-lead{font-size:15px;line-height:1.9;margin:28px 0;max-width:520px}.story-jump{font-size:12px;border-bottom:1px solid #a6bdce;padding-bottom:7px}.story-hero-visual{position:relative;padding-bottom:100px}.story-hero-visual>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:3px;filter:saturate(.65)}.image-caption{position:absolute;left:16px;top:16px;font-size:9px;background:#071321b0;padding:7px 10px;color:#eee8db}.story-stat{position:absolute;bottom:0;left:-25px;right:25px;padding:27px 30px;background:#d8c6a8;color:#102737;display:flex;align-items:center;gap:25px}.story-stat strong{font:500 clamp(60px,6vw,90px)/1 'Space Grotesk',sans-serif;letter-spacing:-.06em}.story-stat strong span{font-size:.6em;vertical-align:top}.story-stat p{color:#203641;font-size:13px;line-height:1.6;margin:0;max-width:180px}.story-origin{display:grid;grid-template-columns:1fr 2fr;gap:7%;border-top:1px solid #ffffff15}.story-origin h2,.story-section-title h2,.story-next h2,.story-invitation h2{font-size:clamp(32px,3.6vw,52px);color:#f0e8dc;margin-bottom:26px}.story-origin p{font-size:15px}.story-partners{background:#0e1d2a}.story-section-title{max-width:690px}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:50px}.partner-card{padding:35px;border:1px solid #cad8e020;background:#091622}.partner-initial{display:flex;width:75px;height:75px;align-items:center;justify-content:center;border:1px solid #d8c6a844;border-radius:50%;font:400 28px 'Space Grotesk',sans-serif;color:#d8c6a8;margin-bottom:32px}.partner-card .eyebrow{font-size:8px;line-height:1.7;margin-bottom:16px}.partner-card h3{font-size:34px;margin-bottom:12px}.partner-card .partner-business{color:#d8c6a8;font-size:12px}.partner-card p{font-size:14px}.partner-card a{font-size:12px;text-decoration:underline;text-underline-offset:5px}.story-next{display:grid;grid-template-columns:1fr 1fr;gap:9%}.story-next p{font-size:15px}.story-invitation{text-align:center;background:#102431}.story-invitation>div{display:flex;justify-content:center;gap:20px;margin-top:35px}.story-invitation .button:last-child{background:transparent;color:#c8e9f7}.story-footer{padding:35px 8% 70px}.story-footer footer{position:relative}.story-footer .archive-link{display:none}@media(max-width:760px){.story-hero{padding:145px 8% 55px;grid-template-columns:1fr;gap:45px}.story-hero h1{font-size:43px}.story-hero-visual{padding-bottom:80px}.story-hero-visual>img{aspect-ratio:1.3}.story-stat{left:0;right:0;padding:22px;gap:25px}.story-stat strong{font-size:68px}.story-origin,.partner-grid,.story-next{grid-template-columns:1fr;gap:20px}.partner-card{padding:27px}.story-invitation>div{flex-direction:column}.story-invitation .button{font-size:11px}.story-footer{padding-bottom:40px}}
/* Partner portraits: original photography with embroidered 805 marks. */
.story-partners .partner-card{padding:0;overflow:hidden}
.partner-portrait{height:520px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#5b6e72 0%,#2b414a 43%,#162b37 78%);border-bottom:1px solid #cad8e020}
.partner-portrait::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 78%,#091622 100%)}
.partner-portrait img{display:block;position:absolute;top:18px;left:50%;width:112%;max-width:none;height:auto;transform:translateX(-50%)}.partner-card:nth-child(2) .partner-portrait img{width:122%}
.partner-bio{padding:32px 35px 38px}
@media(max-width:760px){.partner-portrait{height:auto;aspect-ratio:4/5}.partner-bio{padding:27px}.partner-card h3{font-size:clamp(26px,7vw,34px)}}



.partner-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.65,.3,1)}
.partner-reveal.partner-visible{opacity:1;transform:none}
.watch-surprise{position:absolute;z-index:3;left:31%;top:calc(18px + 67%);width:44px;height:44px;border:0;background:transparent;border-radius:50%;cursor:pointer;transform:translate(-50%,-50%)}
.watch-surprise:focus-visible{outline:2px solid #c8e9f7;outline-offset:3px;background:#c8e9f720}
.partner-portrait{container-type:inline-size}.watch-surprise{left:37%;top:calc(18px + 68cqw)}
.partner-grid{position:relative;isolation:isolate}
.inline-punch{position:absolute;z-index:5;pointer-events:none;max-width:none;opacity:0;transform-origin:75% 30%;clip-path:inset(0 0 2% 0);visibility:hidden}
.partner-animation-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.punch-active .inline-punch{visibility:visible;animation:inline-jab 2.2s cubic-bezier(.22,.61,.36,1) both}
.punch-active .partner-card:nth-child(2) .partner-portrait>img{animation:eddie-windup 2.2s ease both}
.punch-active .partner-card:first-child .partner-portrait>img{transform-origin:50% 75%;animation:raul-reaction 2.2s ease both}
@keyframes inline-jab{
0%,12%{opacity:0;transform:translateX(7%) scaleX(.72)}
24%{opacity:1;transform:translateX(6%) scaleX(.76)}
43%,52%{opacity:1;transform:translateX(-7%) scaleX(1)}
72%{opacity:1;transform:translateX(5%) scaleX(.78)}
88%,100%{opacity:0;transform:translateX(7%) scaleX(.72)}
}
@keyframes eddie-windup{0%,100%{opacity:1;transform:translateX(-50%)}12%{opacity:1;transform:translateX(-47%) rotate(2deg)}26%,73%{opacity:0;transform:translateX(-50%)}90%{opacity:1;transform:translateX(-50%)}}
@keyframes raul-reaction{0%,34%,100%{transform:translateX(-50%) rotate(0)}49%,58%{transform:translateX(-56%) rotate(-7deg)}78%{transform:translateX(-48%) rotate(2deg)}}
.punch-reduced .partner-portrait{outline:2px solid #c8e9f7;outline-offset:-2px}
@media(max-width:760px){
.partner-grid{overflow:clip}
.punch-active .inline-punch{animation-name:inline-jab-mobile}
@keyframes inline-jab-mobile{0%,12%,100%{opacity:0;transform:translate(7%,0) scaleX(.72)}24%{opacity:1;transform:translate(5%,0) scaleX(.78)}43%,52%{opacity:1;transform:translate(-3%,-6%) rotate(12deg)}72%{opacity:1;transform:translate(5%,0) scaleX(.78)}88%{opacity:0;transform:translate(7%,0) scaleX(.72)}}
}
@media(prefers-reduced-motion:reduce){.partner-reveal{opacity:1;transform:none;transition:none}.punch-active .inline-punch{display:none}.punch-active .partner-portrait>img{animation:none!important}}
.inline-punch{transform-origin:80% 40%}
.punch-active .inline-punch,.punch-active .partner-card:nth-child(2) .partner-portrait>img,.punch-active .partner-card:first-child .partner-portrait>img{animation-duration:1.25s}
@keyframes inline-jab{0%{opacity:0;transform:scaleX(.86)}12%{opacity:1;transform:scaleX(.94)}29%,42%{opacity:1;transform:translateX(-7%) scaleX(1.06)}65%{opacity:1;transform:scaleX(.94)}85%,100%{opacity:0;transform:scaleX(.86)}}
@keyframes eddie-windup{0%,100%{opacity:1;transform:translateX(-50%)}12%,65%{opacity:0;transform:translateX(-50%)}85%{opacity:1;transform:translateX(-50%)}}
@keyframes raul-reaction{0%,19%,100%{transform:translateX(-50%) rotate(0)}35%,46%{transform:translateX(-56%) rotate(-7deg)}72%{transform:translateX(-49%) rotate(1deg)}}
@media(max-width:760px){@keyframes inline-jab-mobile{0%,100%{opacity:0;transform:scaleX(.86)}12%{opacity:1;transform:scaleX(.94)}29%,42%{opacity:1;transform:translate(-4%,-3%) rotate(6deg)}65%{opacity:1;transform:scaleX(.94)}85%{opacity:0;transform:scaleX(.86)}}}


/* Mobile-only inline two-partner scene; desktop punch is unchanged. */
.mobile-partner-duo{display:none}
@media(max-width:760px){
.mobile-partner-duo{display:block;position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;visibility:hidden;overflow:hidden;background:radial-gradient(ellipse at 50% 35%,#5b6e72,#2b414a 43%,#162b37 78%)}
.partner-card:nth-child(2) .mobile-partner-duo img{top:19%;height:auto;max-width:none;transform:none}
.partner-card:nth-child(2) .mobile-partner-duo .duo-raul{left:-6%;width:60%;transform-origin:50% 80%}
.partner-card:nth-child(2) .mobile-partner-duo .duo-eddie{left:46%;width:60%}
.partner-card:nth-child(2) .mobile-partner-duo .duo-punch{left:35%;width:60%;opacity:0;transform-origin:80% 40%}
.duo-names{position:absolute;left:10%;right:10%;bottom:8%;font-size:10px;letter-spacing:.2em;color:#f0e8dc}
.duo-names span{float:right}
.mobile-duo-active .mobile-partner-duo{visibility:visible;animation:duo-scene 2.8s ease both}
.mobile-duo-active .duo-eddie{animation:duo-rest 2.8s ease both}
.mobile-duo-active .duo-punch{animation:duo-jab 2.8s cubic-bezier(.22,.61,.36,1) both}
.mobile-duo-active .duo-raul{animation:duo-dodge 2.8s ease both}
.mobile-duo-static .mobile-partner-duo{opacity:1;visibility:visible}
@keyframes duo-scene{0%,100%{opacity:0}14%,85%{opacity:1}}
@keyframes duo-rest{0%,25%,76%,100%{opacity:1}36%,62%{opacity:0}}
@keyframes duo-jab{0%,25%,76%,100%{opacity:0;transform:scaleX(.85)}36%{opacity:1;transform:scaleX(.96)}45%,52%{opacity:1;transform:translateX(-6%) scaleX(1.06)}62%{opacity:1;transform:scaleX(.95)}}
@keyframes duo-dodge{0%,38%,78%,100%{transform:none}49%,56%{transform:translateX(-5%) rotate(-7deg)}67%{transform:rotate(1deg)}}
}
@media(prefers-reduced-motion:reduce){.mobile-partner-duo,.mobile-partner-duo img{animation:none!important}}


/* Contain the effect within both cards, including tablet widths. Hidden poses must not establish overflow. */
.partner-grid{overflow:clip;overflow-clip-margin:8px}
.inline-punch{display:none}
.punch-active .inline-punch{display:block}
/* Temporary speech bubble: created only with ?prank=raul. */
.raul-prank-bubble{position:absolute;z-index:9;top:4%;left:7%;max-width:82%;padding:15px 20px;border:2px solid #172d3b;border-radius:24px;background:#fff8ec;color:#172d3b;box-shadow:0 8px 24px #0004;font:600 clamp(17px,2vw,25px)/1.2 'Space Grotesk',sans-serif;text-align:center;opacity:0;visibility:hidden;transform:translateY(12px) scale(.85);transform-origin:35% 100%;transition:opacity .22s ease,transform .35s cubic-bezier(.2,.8,.2,1.2),visibility .22s;pointer-events:none}
.raul-prank-bubble:after{content:'';position:absolute;bottom:-12px;left:30%;width:20px;height:20px;background:#fff8ec;border-right:2px solid #172d3b;border-bottom:2px solid #172d3b;transform:rotate(45deg)}
.raul-prank-bubble.bubble-visible{opacity:1;visibility:visible;transform:none}
@media(max-width:760px){.mobile-partner-duo .raul-prank-bubble{top:7%;left:4%;max-width:88%;padding:12px 16px;font-size:18px}.prank-mobile-hold .mobile-partner-duo{animation:none;opacity:1;visibility:visible}}
@media(prefers-reduced-motion:reduce){.raul-prank-bubble{transition:none;transform:none}}
