/* Responsive editorial composition, shared by mobile and desktop. */
.hero { min-height:0; padding:142px 0 64px; }
.hero-grid { grid-template-columns:1.08fr 1fr; grid-template-areas:"title photo" "action photo"; gap:26px 60px; }
.hero-copy { grid-area:title; align-self:end; }
.hero h1 { font-size:clamp(2.6rem,4.4vw,4.6rem); line-height:1.02; margin:0; }
.hero h1 em { margin-top:10px; }
.hero-actions { grid-area:action; align-self:start; }
.hero-actions .hero-lead { font-size:1rem; line-height:1.65; margin:0 0 24px; color:#d0c6cb; }
.hero-media { grid-area:photo; width:100%; }
.hero-visual-stage { padding:0; border-radius:28px; overflow:hidden; transform:none; }
.hero-visual-stage::before,.hero-visual-stage::after,.stage-rail,.stage-caption { display:none; }
.hero .media-frame { border:0; border-radius:28px; }
.hero .media-frame::after { border:0; }
.hero .hero-operation-image { aspect-ratio:4/5; max-height:570px; object-fit:cover; object-position:center 37%; }
.hero .floating-note { bottom:22px; left:22px; border-radius:10px; }
.button { border-radius:12px; }
.context-strip { padding:24px 0; border:0; }
.context-grid { gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.context-grid p,.context-grid p:first-child { border:1px solid #2d2d2d20; border-radius:18px; padding:24px; min-height:155px; background:#ffffff45; }
.opportunity { overflow:hidden; padding:46px 0; background:radial-gradient(ellipse at 85% 0,#641932,transparent 65%),#191015; color:#fff; border-block:1px solid #e7437833; }
.opportunity-inner { display:grid; grid-template-columns:1.2fr 1fr; gap:18px 60px; align-items:center; }
.opportunity-label { grid-column:1/-1; font-size:.68rem; font-weight:800; letter-spacing:.16em; color:#f29bbb; }
.opportunity h2 { font-size:clamp(1.65rem,2.7vw,2.6rem); line-height:1.15; letter-spacing:-.035em; margin:0; }
.opportunity p { color:#d1bec7; font-size:.92rem; }
.opportunity small { display:block; margin-top:12px; color:#bba7b0; font-size:.7rem; }
.episode-grid[data-carousel],.proof-grid[data-carousel] { display:flex; gap:20px; border:0; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding:0; overscroll-behavior-x:contain; scrollbar-width:none; padding:8px 0 24px; max-width:100%; }
[data-carousel]::-webkit-scrollbar { display:none; }
.episode-grid[data-carousel] > * { flex:0 0 calc((100% - 40px)/3); min-width:0; scroll-snap-align:start; border:1px solid #ffffff25; border-radius:24px; min-height:320px; padding:30px; background:radial-gradient(ellipse at top right,#52203660,transparent 70%),#1e1b1d; }
.episode-card:hover { transform:none; background:#302029; }
.episode-card span { font-size:1rem; margin-bottom:64px; }
.proof-grid[data-carousel] > * { flex:0 0 calc((100% - 40px)/3); scroll-snap-align:start; min-width:0; height:420px; min-height:420px; border-radius:24px; overflow:hidden; }
.carousel-controls { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 24px; font-size:.75rem; }
.carousel-buttons { display:flex; gap:10px; }
.carousel-controls button { width:48px; height:48px; border:1px solid currentColor; border-radius:50%; color:inherit; background:transparent; cursor:pointer; }
.carousel-controls button:disabled { opacity:.3; cursor:default; }
.js [data-reveal][data-direction="left"] { transform:translate3d(-36px,0,0); }
.js [data-reveal][data-direction="right"] { transform:translate3d(36px,0,0); }
.js [data-reveal][data-direction].is-visible { transform:none; }
.section,.bridge { overflow-x:clip; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .hero-operation-image,.proof-card img { transition:transform 1.2s cubic-bezier(.2,.7,.2,1); }
 .hero-media:hover .hero-operation-image,.proof-card:hover img { transform:scale(1.035); }
}
@media(max-width:64rem) {
 .hero-grid { gap:24px 32px; }
 .hero h1 { font-size:clamp(2.2rem,4.6vw,3.6rem); }
 .episode-grid[data-carousel] > *,.proof-grid[data-carousel] > * { flex-basis:calc((100% - 20px)/2); }
}
@media(max-width:48rem) {
 .hero { padding:102px 0 32px; }
 .hero-grid { grid-template-columns:1fr; grid-template-areas:"title" "photo" "action"; gap:20px; }
 .hero .eyebrow { font-size:.56rem; letter-spacing:.11em; margin-bottom:16px; }
 .hero h1 { font-size:clamp(2rem,8.3vw,3rem); line-height:1.04; }
 .hero .hero-media { max-width:none; margin:0; }
 .hero .hero-operation-image { aspect-ratio:1.45/1; max-height:320px; object-position:center 34%; }
 .hero .hero-visual-stage,.hero .media-frame { border-radius:20px; }
 .hero .floating-note { padding:8px 12px; bottom:14px; left:14px; }
 .hero .floating-note strong { font-size:.65rem; }
 .hero-actions .hero-lead { font-size:.87rem; margin-bottom:16px; }
 .hero-actions { max-width:none; }
 .opportunity { padding:32px 0; }
 .opportunity-inner { grid-template-columns:1fr; gap:16px; }
 .opportunity h2 { font-size:1.75rem; }
 .opportunity .button { width:100%; justify-content:space-between; }
 .context-grid { grid-template-columns:1fr; gap:10px; }
 .context-grid p,.context-grid p:first-child { min-height:0; padding:18px 20px; }
 .context-grid span { font-size:.8rem; margin-top:6px; }
 .section { padding:56px 0; }
 .episode-grid[data-carousel],.proof-grid[data-carousel] { gap:14px; }
 .episode-grid[data-carousel] > * { flex-basis:88%; min-height:290px; padding:26px; border-radius:22px; }
 .proof-grid[data-carousel] > * { flex-basis:88%; height:370px; min-height:370px; }
 .split-heading,.proof-heading { margin-bottom:28px; }
}
@media(prefers-reduced-motion:reduce) {
 .js [data-reveal][data-direction] { transform:none; opacity:1; }
}
