:root{
  --bg:#0d0c0b;
  --ink:#161310;
  --ink-soft:#2c2620;
  --cream:#f2eee8;
  --cream-deep:#ddd2c3;
  --warm:#d8c7ae;
  --line:rgba(255,255,255,.16);
  --line-dark:rgba(0,0,0,.14);
  --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Times New Roman",Georgia,serif;
  --shadow:0 16px 70px rgba(0,0,0,.2);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:#f4efe8;font-family:var(--sans);overflow-x:hidden}
img,video{max-width:100%}
button,a{font:inherit}
button{cursor:pointer}
.container{width:min(1240px,calc(100% - 48px));margin:0 auto}
.section-dark{background:#0d0c0b;color:#f4efe8}
.section-light{background:#f2eee8;color:#171411}
.section-cream{background:#ddd2c3;color:#171411}
.topbar{position:fixed;z-index:50;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px 28px;color:#fff;mix-blend-mode:difference}
.brand{font-size:14px;font-weight:700;letter-spacing:.22em;text-decoration:none;color:inherit}
.nav{display:flex;gap:22px;align-items:center}
.nav a,.nav-cta{color:inherit;text-decoration:none;background:none;border:0;font-size:13px}
.nav-cta{border:1px solid currentColor;border-radius:999px;padding:10px 16px}
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden}
.hero-video,.final-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,6,.8) 0%,rgba(7,7,6,.34) 45%,rgba(7,7,6,.18) 70%),linear-gradient(0deg,rgba(7,7,6,.72),transparent 58%)}
.hero-noise{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}
.hero-content{position:relative;z-index:2;padding-bottom:72px}
.eyebrow,.kicker{font-size:11px;letter-spacing:.25em;text-transform:uppercase;font-weight:700}
.hero h1,.section-copy h2,.manifesto h2,.ceremony h2,.cases h2,.about h2,.price h2,.final-cta h2,.prep-grid h2,.guests h2,.reviews h2,.showreel-band h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;margin:.18em 0;line-height:.86}
.hero h1{font-size:clamp(70px,12vw,172px);max-width:950px}
.hero-lead{font-family:var(--serif);font-size:clamp(24px,3vw,42px);line-height:1.06;max-width:700px;margin:24px 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{border:0;border-radius:999px;padding:15px 22px;font-weight:650}
.btn-primary{background:#f2eee8;color:#171411}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px)}
.btn-dark{background:#171411;color:#fff}
.hero-scroll{position:absolute;right:28px;bottom:36px;z-index:3;font-size:9px;letter-spacing:.24em;writing-mode:vertical-rl;display:flex;align-items:center;gap:10px}
.hero-scroll span{display:block;width:1px;height:52px;background:currentColor;opacity:.5}
.sixty,.ceremony,.cases,.price,.reviews{padding:120px 0}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.split-60{min-height:720px}
.section-copy h2,.manifesto h2,.ceremony h2,.cases h2,.prep-grid h2,.guests h2,.price h2,.final-cta h2,.reviews h2,.showreel-band h2{font-size:clamp(54px,7vw,104px)}
em{font-style:italic;font-weight:400}
.large-copy,.prep-sub,.reviews-copy{font-family:var(--serif);font-size:clamp(22px,2.3vw,34px);line-height:1.25;max-width:700px}
.text-link{margin-top:28px;background:none;border:0;padding:0;border-bottom:1px solid currentColor;font-weight:650}
.video-card,.wide-video,.cinema-card,.review-card{position:relative;border:0;padding:0;background:#111;overflow:hidden;color:#fff}
.video-card img,.wide-video img,.cinema-card img,.review-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.video-card:hover img,.wide-video:hover img,.cinema-card:hover img,.review-card:hover img{transform:scale(1.03)}
.portrait-video{justify-self:end;width:min(470px,100%);aspect-ratio:9/14;border-radius:2px;box-shadow:var(--shadow)}
.play-button{position:absolute;left:28px;bottom:28px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(248,243,235,.92);color:#111;font-size:16px;box-shadow:0 6px 28px rgba(0,0,0,.22)}
.play-button.large{left:50%;top:50%;bottom:auto;transform:translate(-50%,-50%);width:78px;height:78px}
.video-label{position:absolute;right:24px;bottom:28px;font-size:10px;letter-spacing:.18em}
.showreel-band{padding:110px 0;background:#11100f}
.band-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:32px}
.showreel-band .cinema-card{width:100%;aspect-ratio:16/9}
.manifesto{padding:130px 0 110px}
.manifesto-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}
.sticky-title{align-self:start;position:sticky;top:120px}
.manifesto-copy{padding-top:80px}
.quote{font-family:var(--serif);font-size:clamp(30px,4vw,58px);line-height:1.05;margin:0 0 70px}
.quote.small{font-size:clamp(24px,2.8vw,42px);max-width:680px}
.format-card{display:grid;grid-template-columns:54px 1fr;gap:22px;padding:28px 0;border-top:1px solid var(--line)}
.format-card:last-child{border-bottom:1px solid var(--line)}
.format-card span{font-size:11px;opacity:.5}
.format-card h3{font-family:var(--serif);font-size:34px;font-weight:400;margin:0 0 8px}
.format-card p{opacity:.76;line-height:1.55;max-width:620px}
.media-pair{margin-top:110px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.wide-video{aspect-ratio:16/9}
.ceremony-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end;margin-bottom:56px}
.ceremony-side img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--shadow)}
.fullbleed{display:block;width:min(1500px,calc(100% - 48px));height:min(72vw,780px);margin:0 auto}
.caption{position:absolute;left:24px;bottom:22px;font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.preparation{padding:120px 0}
.prep-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.prep-path{display:flex;flex-direction:column}
.prep-path div{display:grid;grid-template-columns:50px 1fr;align-items:center;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.18)}
.prep-path span{font-size:10px;opacity:.5}
.prep-path strong{font-family:var(--serif);font-size:28px;font-weight:400}
.editorial-grid{margin-top:90px;display:grid;grid-template-columns:.75fr 1fr;grid-template-rows:auto auto;gap:20px}
.editorial-grid-alt .img-tall{grid-row:1/3;width:100%;height:100%;object-fit:cover;min-height:760px}
.editorial-copy{padding:46px 36px 30px;display:flex;flex-direction:column;justify-content:space-between;background:rgba(255,255,255,.28)}
.editorial-copy>p{font-family:var(--serif);font-size:clamp(26px,3vw,44px);line-height:1.08;margin:0}
.micro-proof{border-top:1px solid rgba(0,0,0,.2);padding-top:20px;margin-top:80px}
.micro-proof span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.5}
.micro-proof strong{display:block;font-family:var(--serif);font-size:28px;font-weight:400;margin:6px 0}
.micro-proof p{opacity:.74;max-width:520px}
.img-wide{width:100%;height:420px;object-fit:cover}
.guests{padding:120px 0 110px}
.guests-head{margin-bottom:58px}
.mosaic-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;grid-auto-rows:300px}
.mosaic{margin:0;overflow:hidden;background:#111}
.mosaic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.mosaic:hover img{transform:scale(1.03)}
.mosaic.large{grid-row:span 2}
.mosaic.wide{grid-column:2;aspect-ratio:auto}
.guests-note{margin-top:70px;display:flex;justify-content:flex-end}
.guests-note p{font-family:var(--serif);font-size:clamp(28px,3.3vw,48px);max-width:760px;line-height:1.08}
.cases-head{margin-bottom:54px}
.cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.case{background:#e5dfd6}
.case img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.case div{padding:24px}
.case span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.55}
.case h3{font-family:var(--serif);font-size:28px;line-height:1.04;font-weight:400;margin:14px 0 12px}
.case p{opacity:.72;line-height:1.55}
.about{padding:120px 0}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}
.about-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover}
.facts{display:flex;flex-wrap:wrap;gap:8px;margin:38px 0 52px}
.facts span{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 14px;font-size:12px}
.reviews-head{margin-bottom:42px}
.reviews-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr .8fr .8fr;gap:16px;align-items:stretch}
.review-card{min-height:280px;box-shadow:var(--shadow)}
.review-card.landscape{aspect-ratio:16/10}
.review-card.portrait{aspect-ratio:9/16}
.price-grid{display:grid;grid-template-columns:1fr .8fr;gap:70px}
.price-copy{align-self:end;font-family:var(--serif);font-size:26px;line-height:1.2}
.price-copy .muted{opacity:.55;font-size:19px;margin:18px 0 28px}
.final-cta{position:relative;min-height:760px;display:grid;align-items:end;overflow:hidden}
.final-bg{filter:saturate(.9);object-position:center center}
.final-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,7,6,.84),rgba(7,7,6,.32)),linear-gradient(0deg,rgba(7,7,6,.68),transparent 60%)}
.final-content{position:relative;z-index:2;padding-bottom:70px}
.final-content p{font-family:var(--serif);font-size:26px}
.socials{display:flex;gap:22px;margin-top:42px;flex-wrap:wrap}
.socials a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);font-size:13px}
.mobile-sticky{display:none}
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:24px}
.modal.open{display:flex}
.modal-backdrop{position:absolute;inset:0;background:rgba(4,4,4,.84);backdrop-filter:blur(12px)}
.video-modal-card{position:relative;z-index:2;width:min(1100px,96vw);max-height:90vh;display:flex;justify-content:center}
.video-modal-card video{width:100%;max-height:88vh;display:block;background:#000;box-shadow:var(--shadow)}
.video-modal-card.is-portrait{width:min(540px,96vw)}
.video-modal-card.is-portrait video{width:auto;max-width:100%;aspect-ratio:9/16;object-fit:contain}
.close{position:absolute;z-index:4;top:-46px;right:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.28);color:#fff;font-size:24px}
.quiz-card{position:relative;z-index:2;width:min(720px,96vw);background:#141311;color:#f4efe8;padding:52px;min-height:560px}
.quiz-card .close{top:14px;right:14px}
.quiz-progress{height:2px;background:rgba(255,255,255,.12);margin-bottom:48px}
.quiz-progress span{display:block;height:100%;width:20%;background:#f4efe8;transition:width .3s}
.quiz-step,.quiz-done{display:none}
.quiz-step.active,.quiz-done.active{display:block}
.quiz-count{font-size:10px;letter-spacing:.2em;opacity:.5}
.quiz-card h3{font-family:var(--serif);font-size:50px;font-weight:400;letter-spacing:-.03em;margin:16px 0 34px}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choices input{position:absolute;opacity:0}
.choices span{display:block;border:1px solid rgba(255,255,255,.18);padding:16px;border-radius:2px}
.choices input:checked+span{background:#f4efe8;color:#171411}
.big-input{width:100%;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.28);color:#fff;padding:16px 0;font-size:24px;outline:none;margin-bottom:18px}
.big-input::placeholder{color:rgba(255,255,255,.36)}
.quiz-nav{position:absolute;left:52px;right:52px;bottom:40px;display:flex;justify-content:space-between}
.quiz-nav button{background:none;border:0;color:#fff}
.quiz-back{opacity:.5}
.quiz-next{border-bottom:1px solid currentColor!important}
.submit{margin-top:16px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:1100px){
  .reviews-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){
  .container{width:min(100% - 28px,760px)}
  .topbar{padding:18px 16px}
  .nav a{display:none}
  .hero-content{padding-bottom:38px}
  .hero h1{font-size:clamp(66px,20vw,112px)}
  .hero-lead{font-size:28px;max-width:520px}
  .hero-scroll{display:none}
  .sixty,.ceremony,.cases,.price,.preparation,.guests,.about,.showreel-band,.manifesto,.reviews{padding:84px 0}
  .split,.manifesto-grid,.prep-grid,.about-grid,.price-grid,.ceremony-layout{grid-template-columns:1fr;gap:42px}
  .split-60{min-height:auto}
  .portrait-video{justify-self:start;width:min(430px,100%)}
  .sticky-title{position:static}
  .manifesto-copy{padding-top:0}
  .media-pair{grid-template-columns:1fr;margin-top:64px}
  .fullbleed{width:calc(100% - 28px);height:62vw;min-height:340px}
  .editorial-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .editorial-grid-alt .img-tall{grid-row:auto;min-height:520px;max-height:760px}
  .img-wide{height:auto}
  .cases-grid{grid-template-columns:1fr}
  .mosaic-grid{grid-template-columns:1fr;grid-auto-rows:auto}
  .mosaic,.mosaic.large,.mosaic.wide{grid-column:auto;grid-row:auto;aspect-ratio:4/3}
  .reviews-grid{grid-template-columns:1fr 1fr;align-items:stretch}
  .review-card{min-height:240px}
  .final-cta{min-height:680px}
  .mobile-sticky{display:block;position:fixed;z-index:40;left:14px;right:14px;bottom:12px;border:0;border-radius:999px;padding:15px;background:#f3eee7;color:#171411;font-weight:700;box-shadow:0 8px 40px rgba(0,0,0,.22)}
  .quiz-card{padding:42px 22px;min-height:540px}
  .quiz-nav{left:22px;right:22px}
  .quiz-card h3{font-size:38px}
  .choices{grid-template-columns:1fr}
  .socials{margin-bottom:70px}
  .band-head{display:block}
}
@media(max-width:560px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .section-copy h2,.manifesto h2,.ceremony h2,.cases h2,.prep-grid h2,.guests h2,.price h2,.final-cta h2,.reviews h2,.showreel-band h2{font-size:50px}
  .hero-video{object-position:58% center}
  .fullbleed{height:62vh}
  .format-card h3{font-size:28px}
  .about-photo img{aspect-ratio:1/1.25}
  .quote{font-size:34px}
  .case h3{font-size:26px}
  .play-button{width:52px;height:52px;left:18px;bottom:18px}
  .video-label{right:18px;bottom:20px}
  .reviews-grid{grid-template-columns:1fr}
  .review-card.landscape,.review-card.portrait{aspect-ratio:16/10}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .video-card img,.wide-video img,.cinema-card img,.review-card img,.mosaic img{transition:none}
}

/* ===== V3 REVIEW OVERRIDES ===== */
/* Core principle: do not crop faces or people to fit a template. */
.video-card img,.wide-video img,.cinema-card img{object-fit:contain;background:#0d0c0b}
.portrait-video{aspect-ratio:9/16;background:#0d0c0b}
.portrait-video img{object-fit:contain}

/* More cinematic, but restrained motion */
.reveal{opacity:0;transform:translateY(28px);clip-path:inset(0 0 10% 0);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1),clip-path .9s ease}
.reveal.visible{opacity:1;transform:none;clip-path:inset(0)}
.reveal-fast{opacity:0;transform:translateY(18px);animation:heroIn .85s cubic-bezier(.2,.7,.2,1) forwards}
.reveal-fast.delay-1{animation-delay:.12s}.reveal-fast.delay-2{animation-delay:.24s}.reveal-fast.delay-3{animation-delay:.36s}
@keyframes heroIn{to{opacity:1;transform:none}}
.lift-card{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease}
.lift-card:hover{transform:translateY(-7px);box-shadow:0 28px 90px rgba(0,0,0,.22)}
.media-dim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.25));pointer-events:none;transition:opacity .35s ease}
.lift-card:hover .media-dim{opacity:.6}
.parallax-card{will-change:transform;transition:transform .12s linear}

/* Ceremony: keep the whole real photograph visible */
.ceremony-photo{margin:0;align-self:end;background:#e6e0d8;box-shadow:var(--shadow)}
.ceremony-photo img{display:block;width:100%;height:auto;object-fit:contain}
.ceremony .fullbleed{height:auto;aspect-ratio:16/9;background:#0d0c0b}
.ceremony .fullbleed img{object-fit:contain}

/* Preparation: natural photo proportions, no forced face crop */
.editorial-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto auto;align-items:start}
.photo-natural{margin:0;background:#cfc4b5}
.photo-natural img{display:block;width:100%;height:auto;object-fit:contain}
.photo-natural.wide-photo{grid-column:2;align-self:end}
.editorial-copy{min-height:100%;padding:44px;background:rgba(255,255,255,.28)}

/* Guests: editorial story gallery using the original image ratios */
.story-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.story-column{display:grid;gap:18px}
.story-column.offset{padding-top:92px}
.story-frame{margin:0;background:#181512;overflow:hidden}
.story-frame img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.story-frame:hover img{transform:scale(1.012)}

/* About: preserve full portrait instead of cropping to an imposed frame */
.about-photo{margin:0;background:#171411}
.about-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block}

/* Video reviews: one clean carousel, no overlapping cards */
.reviews{overflow:hidden}
.reviews-head{max-width:980px}
.reviews-carousel{width:100%;overflow:hidden;padding:12px 0 20px}
.reviews-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:0 max(24px,calc((100vw - 1240px)/2));scrollbar-width:none}
.reviews-track::-webkit-scrollbar{display:none}
.review-slide{position:relative;flex:0 0 auto;height:430px;border:0;padding:0;background:#181512;overflow:hidden;scroll-snap-align:center;box-shadow:0 18px 65px rgba(0,0,0,.16);transition:transform .4s ease,opacity .4s ease}
.review-slide:hover{transform:translateY(-5px)}
.review-slide.review-landscape{width:min(700px,72vw)}
.review-slide.review-portrait{width:min(285px,45vw)}
.review-slide img{display:block;width:100%;height:100%;object-fit:contain;background:#181512}
.review-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.38));pointer-events:none}
.review-slide .play-button{left:22px;bottom:22px}
.reviews-controls{display:flex;justify-content:space-between;align-items:center;margin-top:22px;padding-top:18px;border-top:1px solid rgba(0,0,0,.18)}
.reviews-controls span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.55}
.reviews-controls button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(0,0,0,.28);background:transparent;font-size:20px;transition:background .25s ease,color .25s ease,transform .25s ease}
.reviews-controls button:hover{background:#171411;color:#fff;transform:scale(1.04)}

/* Final background: keep central person safe */
.final-bg{object-position:50% 45%}

/* Quiz: visual dialogue rather than a generic form */
.quiz-card{width:min(760px,96vw);min-height:610px;padding:48px 52px 42px;background:linear-gradient(160deg,#171512 0%,#0f0e0d 100%);border:1px solid rgba(255,255,255,.11);box-shadow:0 32px 100px rgba(0,0,0,.42);border-radius:22px;overflow:hidden}
.quiz-card::before{content:"";position:absolute;inset:-35% auto auto -15%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(216,199,174,.10),transparent 68%);pointer-events:none}
.quiz-topline{position:relative;z-index:1;display:flex;justify-content:space-between;gap:20px;margin-bottom:14px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.56}
.quiz-progress{position:relative;z-index:1;margin-bottom:42px;height:3px;border-radius:999px;overflow:hidden}
.quiz-progress span{border-radius:999px;background:linear-gradient(90deg,#f4efe8,#cdbb9f)}
.quiz-step,.quiz-done{position:relative;z-index:1}
.quiz-step.active,.quiz-done.active{animation:quizIn .36s cubic-bezier(.2,.7,.2,1)}
@keyframes quizIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.quiz-card h3{font-size:clamp(38px,5vw,58px);line-height:.98;margin:10px 0 30px;max-width:610px}
.choices-rich{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.choices-rich label,.contact-choices label{position:relative;cursor:pointer}
.choices-rich input,.contact-choices input{position:absolute;opacity:0;pointer-events:none}
.choices-rich span{min-height:104px;border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 18px 16px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:5px 12px;align-content:center;background:rgba(255,255,255,.025);transition:transform .22s ease,border-color .22s ease,background .22s ease,color .22s ease}
.choices-rich b{font-family:var(--serif);font-size:25px;font-weight:400}
.choices-rich small{grid-column:1;font-size:11px;line-height:1.35;opacity:.55}
.choices-rich i{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-size:19px;opacity:.5;transition:transform .2s ease}
.choices-rich label:hover span{transform:translateY(-2px);border-color:rgba(255,255,255,.34)}
.choices-rich label:hover i{transform:translateX(3px)}
.choices-rich input:checked+span{background:#f2eee8;color:#171411;border-color:#f2eee8;transform:scale(.985)}
.choices-rich.compact span{min-height:78px}
.field-label{display:block;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.52);margin:18px 0}
.big-input{font-family:var(--serif);font-size:30px;padding:15px 0 13px;margin:4px 0 8px;border-bottom:1px solid rgba(255,255,255,.3);transition:border-color .2s ease}
.big-input:focus{border-color:#f4efe8}
.contact-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.contact-choices span{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.025);transition:all .22s ease}
.contact-choices strong{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);font-size:11px;letter-spacing:.04em}
.contact-choices b{font-family:var(--serif);font-size:24px;font-weight:400}
.contact-choices i{font-style:normal;opacity:.55}
.contact-choices label:hover span{transform:translateY(-2px);border-color:rgba(255,255,255,.34)}
.contact-choices input:checked+span{background:#f2eee8;color:#171411;border-color:#f2eee8}
.contact-choices input:checked+span strong{border-color:rgba(0,0,0,.22)}
.contact-fields{max-height:0;opacity:0;transform:translateY(10px);overflow:hidden;transition:max-height .45s ease,opacity .35s ease,transform .35s ease}
.contact-fields.visible{max-height:330px;opacity:1;transform:none}
.quiz-nav{left:52px;right:52px;bottom:34px;align-items:center}
.quiz-nav button{padding:10px 0;font-size:13px}
.quiz-next{border-bottom:0!important;background:#f2eee8!important;color:#171411!important;border-radius:999px!important;padding:11px 18px!important;font-weight:650}
.quiz-back{opacity:.58}
.quiz-done p{font-family:var(--serif);font-size:25px;line-height:1.25;opacity:.82}

@media(max-width:900px){
  .editorial-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .photo-natural.wide-photo{grid-column:auto}
  .story-gallery{grid-template-columns:1fr}
  .story-column.offset{padding-top:0}
  .review-slide{height:390px}
  .review-slide.review-landscape{width:78vw}
  .review-slide.review-portrait{width:50vw}
  .quiz-card{padding:42px 24px 34px;min-height:600px;border-radius:18px}
  .quiz-nav{left:24px;right:24px;bottom:26px}
}
@media(max-width:560px){
  .ceremony-photo img,.photo-natural img,.story-frame img,.about-photo img{width:100%;height:auto;object-fit:contain}
  .reviews-track{padding-left:14px;padding-right:14px;gap:12px}
  .review-slide{height:360px}
  .review-slide.review-landscape{width:88vw}
  .review-slide.review-portrait{width:64vw}
  .reviews-controls span{display:none}
  .choices-rich{grid-template-columns:1fr}
  .choices-rich span{min-height:84px}
  .contact-choices{grid-template-columns:1fr 1fr}
  .contact-choices span{grid-template-columns:34px 1fr auto;padding:13px 12px;gap:8px}
  .contact-choices strong{width:32px;height:32px}
  .contact-choices b{font-size:20px}
  .quiz-card h3{font-size:38px}
  .big-input{font-size:25px}
  .quiz-card{min-height:640px}
}
@media(prefers-reduced-motion:reduce){
  .reveal-fast{animation:none;opacity:1;transform:none}
  .parallax-card{transform:none!important}
  .review-slide,.lift-card{transition:none}
}

/* ===== V4 visual direction ===== */
:root{--accent:#efe2cf;--accent-deep:#d8c2a2}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn i{font-style:normal;font-size:16px}
.btn-primary,.btn-accent{background:var(--accent);color:#15120f;box-shadow:0 10px 30px rgba(0,0,0,.16)}
.btn-accent{border:1px solid rgba(23,19,15,.12)}
.btn:hover{transform:translateY(-2px)}
.btn-primary:hover,.btn-accent:hover{box-shadow:0 14px 38px rgba(0,0,0,.22)}
.nav-cta{background:rgba(255,255,255,.08);backdrop-filter:blur(9px)}

/* 60 seconds: proper centered vertical composition */
.sixty{overflow:hidden}
.sixty-media{position:relative;display:grid;place-items:center;min-height:690px;padding:28px}
.sixty-media:before{content:"";position:absolute;width:min(560px,90%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(201,175,139,.22),rgba(201,175,139,0) 66%);filter:blur(2px);pointer-events:none}
.portrait-video{justify-self:center;width:min(390px,78%);aspect-ratio:9/16;background:#111;border-radius:22px;padding:8px;box-shadow:0 28px 90px rgba(42,32,23,.28)}
.portrait-video img{width:100%;height:100%;object-fit:contain;border-radius:16px;background:#111}
.portrait-video .play-button{left:50%;bottom:34px;transform:translateX(-50%)}
.portrait-video .video-label{right:auto;left:50%;bottom:14px;transform:translateX(-50%);white-space:nowrap;opacity:.72}

/* Cover images: do not stack a second Play over artwork that already has one */
.cover-only{position:relative}
.cover-only .media-dim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.34),rgba(0,0,0,.04) 55%,rgba(0,0,0,.08));transition:background .35s ease}
.cover-only:hover .media-dim{background:linear-gradient(0deg,rgba(0,0,0,.42),rgba(0,0,0,.06) 55%,rgba(0,0,0,.1))}
.watch-badge{position:absolute;left:22px;bottom:20px;display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:rgba(245,239,231,.92);color:#171411;font-size:12px;font-weight:650;letter-spacing:.02em;box-shadow:0 8px 28px rgba(0,0,0,.2)}
.watch-badge b{font-size:14px}
.media-item{min-width:0}
.media-caption{display:grid;grid-template-columns:minmax(160px,.55fr) 1fr;gap:22px;padding:18px 2px 0;border-top:1px solid rgba(255,255,255,.14);margin-top:14px}
.media-caption strong{font-family:var(--serif);font-size:23px;font-weight:400}
.media-caption span{opacity:.68;font-size:14px;line-height:1.55}

/* Ceremony: always show the whole people/photo rather than forcing a crop */
.ceremony-photo{margin:0;display:flex;justify-content:center;align-items:flex-end;overflow:visible}
.ceremony-photo img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;object-position:center bottom;box-shadow:var(--shadow)}
.fullbleed{height:auto;aspect-ratio:16/9}
.fullbleed img{object-fit:contain;background:#111}

/* Preparation becomes an animated process, not an album layout */
.preparation{position:relative;overflow:hidden;padding:130px 0 140px}
.prep-intro{max-width:1240px}
.prep-intro h2{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;line-height:.88;font-size:clamp(54px,7vw,104px);margin:.18em 0 56px;max-width:1040px}
.prep-stage{display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:start;margin-top:26px}
.prep-timeline{position:relative;padding-left:48px}
.prep-rail{position:absolute;left:15px;top:4px;bottom:4px;width:1px;background:rgba(0,0,0,.16);overflow:hidden}
.prep-rail span{position:absolute;left:0;top:0;width:100%;height:0;background:#161310;transition:height 1.5s cubic-bezier(.22,.75,.2,1)}
.prep-stage.visible .prep-rail span{height:100%}
.prep-step{position:relative;padding:0 0 32px;opacity:.28;transform:translateX(12px);transition:opacity .55s ease,transform .55s ease}
.prep-step:before{content:"";position:absolute;left:-39px;top:6px;width:9px;height:9px;border-radius:50%;background:#161310;box-shadow:0 0 0 7px rgba(22,19,16,.07)}
.prep-stage.visible .prep-step{opacity:1;transform:none}
.prep-stage.visible .prep-step:nth-child(2){transition-delay:.12s}.prep-stage.visible .prep-step:nth-child(3){transition-delay:.24s}.prep-stage.visible .prep-step:nth-child(4){transition-delay:.36s}.prep-stage.visible .prep-step:nth-child(5){transition-delay:.48s}.prep-stage.visible .prep-step:nth-child(6){transition-delay:.60s}
.prep-step small{display:block;font-size:10px;letter-spacing:.18em;opacity:.5;margin-bottom:5px}
.prep-step strong{display:block;font-family:var(--serif);font-size:clamp(28px,3vw,42px);font-weight:400;line-height:1.03;margin-bottom:8px}
.prep-step p{margin:0;max-width:610px;line-height:1.55;opacity:.68}
.prep-note{position:sticky;top:110px;background:#151310;color:#f4efe8;padding:42px;border-radius:2px;box-shadow:0 22px 60px rgba(50,35,20,.18)}
.prep-note p{font-family:var(--serif);font-size:clamp(25px,2.7vw,40px);line-height:1.12;margin:0 0 60px}
.prep-note strong{display:block;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);font-size:13px;letter-spacing:.04em;font-weight:600}

/* Guests: natural aspect ratios, no cropped heads/faces */
.story-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.story-frame{margin:0;background:#171411;overflow:hidden}
.story-frame img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .7s ease}
.story-frame:hover img{transform:scale(1.012)}
.story-frame:nth-child(2),.story-frame:nth-child(4){margin-top:72px}

/* Stronger CTA pause */
.date-strip{border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11)}
.date-strip-inner{min-height:210px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.date-strip-inner div{display:flex;flex-direction:column;gap:6px}
.date-strip-inner span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.date-strip-inner strong{font-family:var(--serif);font-size:clamp(32px,4vw,58px);font-weight:400;letter-spacing:-.035em}

/* About facts: editorial, not same-line pills */
.about-facts{display:grid;grid-template-columns:.55fr 1fr;gap:0;margin:42px 0 54px;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}
.fact{display:flex;flex-direction:column;justify-content:space-between;min-height:132px;padding:22px 22px 20px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.fact:nth-child(2){padding-left:24px;border-left:1px solid rgba(255,255,255,.12)}
.fact:nth-child(3){grid-column:1/3;border-bottom:0}
.fact strong{font-family:var(--serif);font-size:clamp(24px,2.5vw,36px);font-weight:400;line-height:1.08}
.fact span{margin-top:18px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.52}
.fact-number strong{font-size:clamp(60px,7vw,98px);line-height:.75}

/* Reviews: all previews vertical, blurred backdrop, no black bars, automatic motion */
.reviews{overflow:hidden;padding-bottom:130px}
.reviews-head{margin-bottom:54px}
.reviews-viewport{width:100%;overflow:hidden;position:relative;padding:8px 0 18px;mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.reviews-track{display:flex;gap:16px;width:max-content;will-change:transform}
.review-slide{position:relative;flex:0 0 250px;width:250px;aspect-ratio:9/16;border:0;padding:0;overflow:hidden;background:#111;border-radius:18px;box-shadow:0 18px 50px rgba(50,35,20,.16);isolation:isolate}
.review-bg{position:absolute;inset:-18px;background-image:var(--poster);background-size:cover;background-position:center;filter:blur(22px) brightness(.58) saturate(.9);transform:scale(1.12);z-index:0}
.review-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;z-index:1}
.review-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(0,0,0,.35),transparent 46%,rgba(0,0,0,.05))}
.review-play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:rgba(245,239,231,.92);color:#171411;font-size:14px;box-shadow:0 8px 28px rgba(0,0,0,.25);transition:transform .25s ease}
.review-slide:hover .review-play{transform:translate(-50%,-50%) scale(1.08)}
.review-slide:hover>img{transform:none}

/* Photos: use natural ratio wherever a face can be present */
.about-photo{overflow:visible}
.about-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}

/* Video modal follows source orientation */
.video-modal-card.is-portrait{width:min(520px,94vw)}
.video-modal-card.is-portrait video{width:auto;max-width:100%;max-height:88vh;aspect-ratio:9/16;object-fit:contain}

/* Quiz: stronger UI and selected-state feedback */
.quiz-card{background:linear-gradient(145deg,#171512,#0f0e0c);border:1px solid rgba(255,255,255,.09);box-shadow:0 28px 90px rgba(0,0,0,.45)}
.choices-rich span,.contact-choices span{transition:transform .22s ease,background .22s ease,border-color .22s ease,box-shadow .22s ease}
.choices-rich label:hover span,.contact-choices label:hover span{transform:translateY(-2px);border-color:rgba(255,255,255,.34)}
.choices-rich input:checked+span,.contact-choices input:checked+span{box-shadow:0 10px 28px rgba(0,0,0,.2)}

/* Slightly richer reveals */
.reveal.visible h2,.reveal.visible .quote{animation:textMaskIn .8s cubic-bezier(.2,.7,.2,1) both}
@keyframes textMaskIn{from{clip-path:inset(0 0 100% 0);transform:translateY(18px)}to{clip-path:inset(0 0 0 0);transform:none}}

@media(max-width:900px){
  .sixty-media{min-height:auto;padding:18px 0 8px}.portrait-video{width:min(360px,78vw)}
  .media-caption{grid-template-columns:1fr;gap:6px}
  .prep-stage{grid-template-columns:1fr;gap:28px}.prep-note{position:static;padding:32px}.prep-note p{margin-bottom:36px}
  .story-gallery{grid-template-columns:1fr}.story-frame:nth-child(2),.story-frame:nth-child(4){margin-top:0}
  .date-strip-inner{min-height:230px;align-items:flex-start;justify-content:center;flex-direction:column;padding:38px 0}
  .about-facts{grid-template-columns:1fr}.fact:nth-child(2){padding-left:0;border-left:0}.fact:nth-child(3){grid-column:auto}
  .review-slide{flex-basis:220px;width:220px}
}
@media(max-width:560px){
  .sixty .split{justify-items:center}.sixty .section-copy{width:100%}.portrait-video{width:min(330px,88vw)}
  .watch-badge{left:14px;bottom:12px;padding:9px 12px}
  .ceremony-photo img,.story-frame img,.about-photo img{height:auto!important;object-fit:contain!important}
  .fullbleed{width:calc(100% - 28px);aspect-ratio:16/9;height:auto;min-height:0}
  .prep-timeline{padding-left:40px}.prep-step:before{left:-31px}.prep-rail{left:13px}
  .review-slide{flex-basis:190px;width:190px;border-radius:14px}
  .date-strip-inner .btn{width:100%}
  .btn-primary,.btn-accent{width:100%}
}

/* Final V4 overrides */
.reviews-track{overflow:visible!important;scroll-snap-type:none!important;scroll-behavior:auto!important;padding:0!important;scrollbar-width:none!important}
.review-slide{height:auto!important;scroll-snap-align:none!important}
.hero-video{animation:heroBreath 18s ease-in-out infinite alternate;transform-origin:center center}
@keyframes heroBreath{from{transform:scale(1.01)}to{transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.hero-video{animation:none}.reviews-track{transform:none!important}}
.final-bg{object-fit:contain!important;object-position:center!important;background:#0d0c0b}

/* ===== V5 motion pass: cinematic, restrained, no face-cropping ===== */
:root{--ease-cinema:cubic-bezier(.22,.72,.18,1);--ease-soft:cubic-bezier(.2,.7,.2,1)}

/* Hero exit + title mask */
.hero{--hero-content-opacity:1;--hero-content-y:0px;--hero-scale:1.02;--hero-shade-opacity:1;transform-origin:center top}
.hero-video{animation:none!important;transform:scale(var(--hero-scale))!important;transition:transform .08s linear}
.hero-content{opacity:var(--hero-content-opacity);transform:translate3d(0,var(--hero-content-y),0);transition:opacity .08s linear,transform .08s linear}
.hero-shade{opacity:var(--hero-shade-opacity);transition:opacity .08s linear}
.hero h1.reveal-fast{clip-path:inset(100% 0 0 0);transform:translateY(24px);animation:heroTitleMask 1.05s var(--ease-cinema) .12s forwards!important}
@keyframes heroTitleMask{to{clip-path:inset(0 0 0 0);transform:none;opacity:1}}

/* Section wipes on the three deliberate scene changes */
.section-wipe{position:relative;isolation:isolate;overflow:hidden}
.section-wipe>*{position:relative;z-index:1}
.section-wipe:after{content:"";position:absolute;z-index:20;inset:-2px;pointer-events:none;transform:translate3d(0,0,0);transition:transform 1.05s var(--ease-cinema)}
.section-wipe.wipe-dark:after{background:#0d0c0b}
.section-wipe.wipe-light:after{background:#f2eee8}
.section-wipe.wipe-cream:after{background:#ddd2c3}
.section-wipe.is-wiped:after{transform:translate3d(0,-102%,0)}

/* 60 seconds as an editorial object instead of a pasted phone */
.sixty-media{isolation:isolate}
.sixty-media:after{content:"60";position:absolute;z-index:-1;left:50%;top:50%;transform:translate(-50%,-52%);font-family:var(--serif);font-size:clamp(180px,28vw,430px);line-height:.72;letter-spacing:-.08em;color:rgba(57,43,31,.055);pointer-events:none}
.sixty-media:before{z-index:-2}
.portrait-video{transition:transform .55s var(--ease-cinema),box-shadow .55s var(--ease-cinema)}
.portrait-video:hover{transform:translateY(-8px) scale(1.012);box-shadow:0 34px 100px rgba(42,32,23,.34)}
.sixty .section-copy>*{transition:transform .7s var(--ease-cinema),opacity .7s var(--ease-cinema)}
.sixty .section-copy.visible .kicker{transition-delay:.04s}.sixty .section-copy.visible h2{transition-delay:.1s}.sixty .section-copy.visible .large-copy{transition-delay:.18s}.sixty .section-copy.visible .text-link{transition-delay:.24s}

/* Showreel grows into a cinema screen while entering the viewport */
.showreel-band{overflow:hidden}
.showreel-band .cinema-card{width:88%;margin-inline:auto;transform-origin:center center;transition:width .08s linear,transform .08s linear,box-shadow .5s var(--ease-soft);box-shadow:0 24px 80px rgba(0,0,0,.26)}
.showreel-band .cinema-card:hover{box-shadow:0 30px 100px rgba(0,0,0,.36)}
.showreel-band .watch-badge{transition:transform .35s var(--ease-cinema),background .35s ease}
.showreel-band .cinema-card:hover .watch-badge{transform:translateX(5px)}

/* Approach cards react to scroll position, not all at once */
.format-card{opacity:.36;transform:translateX(0);transition:opacity .5s ease,transform .5s var(--ease-cinema),border-color .5s ease}
.format-card.is-active{opacity:1;transform:translateX(12px);border-color:rgba(255,255,255,.35)}
.format-card.is-past{opacity:.67}
.format-card.is-active>span{opacity:1}
.format-card.is-active h3{transform:translateX(2px)}
.format-card h3{transition:transform .45s var(--ease-cinema)}
.wide-video img{transition:transform 1.05s var(--ease-cinema),filter .5s ease}
.wide-video:hover img{transform:scale(1.045) translate3d(-1.2%,0,0);filter:saturate(1.04)}
.media-caption{transition:transform .45s var(--ease-cinema),opacity .45s ease}
.media-item:hover .media-caption{transform:translateY(-3px)}

/* Ceremony two-phase title reveal */
.ceremony-title{clip-path:inset(0 0 100% 0);transform:translateY(18px)}
.ceremony-main.visible .ceremony-title{animation:ceremonyTitleIn .8s var(--ease-cinema) forwards}
.ceremony-title em{display:inline-block;opacity:0;transform:translateY(14px)}
.ceremony-main.visible .ceremony-title em{animation:ceremonyEmIn .7s var(--ease-cinema) .24s forwards}
@keyframes ceremonyTitleIn{to{clip-path:inset(0 0 0 0);transform:none}}
@keyframes ceremonyEmIn{to{opacity:1;transform:none}}
.ceremony-photo{transition:filter .6s ease}
.ceremony-photo:hover{filter:saturate(1.04)}

/* Preparation: scroll-drawn rail, one active chapter at a time */
.prep-stage{--prep-progress:0%}
.prep-stage.visible .prep-rail span{height:var(--prep-progress)!important;transition:none!important}
.prep-step,.prep-stage.visible .prep-step{opacity:.28!important;transform:translateX(0)!important;transition:opacity .45s ease,transform .45s var(--ease-cinema)!important}
.prep-step.is-past{opacity:.62!important}
.prep-step.is-active{opacity:1!important;transform:translateX(10px)!important}
.prep-step:before{transition:transform .4s var(--ease-cinema),background .4s ease,box-shadow .4s ease}
.prep-step.is-active:before{transform:scale(1.32);background:#161310;box-shadow:0 0 0 10px rgba(22,19,16,.09)}
.prep-step.is-active strong{transform:translateX(3px)}
.prep-step strong{transition:transform .4s var(--ease-cinema)}
.prep-note{transition:transform .55s var(--ease-cinema),background .55s ease}
.prep-note.is-changing{transform:translateY(-4px)}
.prep-note p,.prep-note strong{transition:opacity .2s ease,transform .35s var(--ease-cinema)}
.prep-note.is-changing p,.prep-note.is-changing strong{opacity:.2;transform:translateY(8px)}

/* Guest collage: move whole natural-ratio frames, never crop a face */
.story-gallery{grid-template-columns:1.08fr .92fr;gap:26px 18px;position:relative}
.story-frame{transform:translate3d(0,var(--story-y,0px),0);transition:transform .09s linear,box-shadow .55s var(--ease-soft);box-shadow:0 18px 55px rgba(0,0,0,.08)}
.story-frame:nth-child(1){width:92%;justify-self:start}
.story-frame:nth-child(2){width:86%;justify-self:end;margin-top:112px}
.story-frame:nth-child(3){width:82%;justify-self:end;margin-top:10px}
.story-frame:nth-child(4){width:94%;justify-self:start;margin-top:86px}
.story-frame:hover{box-shadow:0 26px 72px rgba(0,0,0,.18)}
.story-frame img{transform:none!important}

/* CTA punctuation: a quiet pulse once it enters */
.date-strip-inner.visible .btn-accent{animation:ctaArrival .75s var(--ease-cinema) .18s both}
.date-strip-inner .btn i,.hero-actions .btn i,.price .btn i,.final-content .btn i{transition:transform .25s ease}
.date-strip-inner .btn:hover i,.hero-actions .btn:hover i,.price .btn:hover i,.final-content .btn:hover i{transform:translate(3px,-3px)}
@keyframes ctaArrival{0%{transform:scale(.965);opacity:.55}100%{transform:scale(1);opacity:1}}

/* About facts appear as an editorial sequence */
.about-facts .fact{opacity:0;transform:translateY(18px)}
.about-copy.visible .about-facts .fact{animation:factIn .72s var(--ease-cinema) forwards}
.about-copy.visible .about-facts .fact:nth-child(1){animation-delay:.12s}.about-copy.visible .about-facts .fact:nth-child(2){animation-delay:.25s}.about-copy.visible .about-facts .fact:nth-child(3){animation-delay:.38s}
@keyframes factIn{to{opacity:1;transform:none}}

/* Reviews: central card is alive, neighbours recede */
.review-slide{opacity:.48;filter:brightness(.78) saturate(.82);transform:scale(.94);transition:transform .55s var(--ease-cinema),opacity .55s ease,filter .55s ease,box-shadow .55s ease}
.review-slide.is-center{opacity:1;filter:brightness(1) saturate(1);transform:scale(1.055);box-shadow:0 28px 80px rgba(50,35,20,.25)}
.review-slide .review-play{opacity:0;transform:translate(-50%,-50%) scale(.82);transition:opacity .35s ease,transform .35s var(--ease-cinema)}
.review-slide.is-center .review-play,.review-slide:hover .review-play{opacity:1;transform:translate(-50%,-50%) scale(1)}
.review-slide.is-center:hover .review-play{transform:translate(-50%,-50%) scale(1.08)}

/* Price gets a proper pause and one strong number */
.price-intro h2{margin-bottom:22px}
.price-hero{display:flex;align-items:flex-end;gap:18px;overflow:hidden;padding:6px 0 12px}
.price-hero span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;opacity:.52;margin-bottom:16px}
.price-hero strong{font-family:var(--serif);font-size:clamp(64px,8.4vw,132px);line-height:.76;font-weight:400;letter-spacing:-.065em;display:block;opacity:0;transform:translateY(34px)}
.price-intro.visible .price-hero strong{animation:priceIn .85s var(--ease-cinema) .14s forwards}
@keyframes priceIn{to{opacity:1;transform:none}}

/* Quiz transitions behave like a short dialogue */
.quiz-step.active{animation:none!important}
.quiz-step.active.slide-forward{animation:quizSlideForward .42s var(--ease-cinema) both!important}
.quiz-step.active.slide-back{animation:quizSlideBack .42s var(--ease-cinema) both!important}
@keyframes quizSlideForward{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:none}}
@keyframes quizSlideBack{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:none}}
.quiz-progress span{transition:width .55s var(--ease-cinema)!important}
.choices-rich input:checked+span,.contact-choices input:checked+span{animation:choiceConfirm .28s var(--ease-cinema) both}
@keyframes choiceConfirm{50%{transform:scale(.972)}100%{transform:scale(.985)}}
.contact-fields.visible{animation:contactReveal .5s var(--ease-cinema) both}
@keyframes contactReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media(max-width:900px){
  .section-wipe:after{transition-duration:.8s}
  .showreel-band .cinema-card{width:100%!important;transform:none!important}
  .story-gallery{grid-template-columns:1fr}
  .story-frame:nth-child(n){width:100%;justify-self:stretch;margin-top:0;transform:none!important}
  .prep-step.is-active{transform:translateX(5px)!important}
}
@media(max-width:560px){
  .sixty-media:after{font-size:58vw;color:rgba(57,43,31,.045)}
  .portrait-video{margin-inline:auto!important;justify-self:center!important}
  .review-slide{opacity:.58;transform:scale(.96)}
  .review-slide.is-center{opacity:1;transform:scale(1.035)}
  .price-hero{gap:12px;align-items:flex-end}.price-hero strong{font-size:19vw}.price-hero span{margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){
  .section-wipe:after{display:none}.hero-video,.hero-content,.hero-shade{transition:none!important}
  .format-card,.prep-step,.story-frame,.review-slide{transform:none!important;transition:none!important}
  .about-facts .fact,.price-hero strong{opacity:1!important;transform:none!important;animation:none!important}
}
/* Ceremony atmosphere warms subtly through the scroll */
.ceremony{position:relative;isolation:isolate;--ceremony-warm-opacity:0}
.ceremony:before{content:"";position:absolute;inset:0;background:#eadfce;opacity:var(--ceremony-warm-opacity);pointer-events:none;z-index:0}
.ceremony>*{position:relative;z-index:1}
/* Only enable wipe overlays after JS has booted */
.section-wipe:after{display:none}
.motion-ready .section-wipe:after{display:block}

/* ============================
   V6 PREMIUM PASS
   typography / motion / media
   ============================ */
:root{
  --sans:"Manrope",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --serif:"Instrument Serif","Times New Roman",Georgia,serif;
  --accent:#e6d7c2;
  --accent-strong:#f3e7d5;
  --soft-white:#f7f2ea;
  --ease-premium:cubic-bezier(.22,.75,.18,1);
}
body{font-family:var(--sans);font-weight:500;letter-spacing:-.01em}
.hero h1,.section-copy h2,.manifesto h2,.ceremony h2,.about h2,.price h2,.final-cta h2,.prep-intro h2,.guests h2,.reviews h2,.showreel-band h2,.quote,.large-copy,.prep-note p,.date-strip-inner strong{font-family:var(--serif)}
.kicker,.eyebrow{font-family:var(--sans);font-weight:700;letter-spacing:.22em}

/* very short brand cue – under a second, no long intro screen */
.brand-splash{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#0d0c0b;color:#f7f2ea;pointer-events:none;animation:splashOut 1.05s var(--ease-premium) forwards}
.brand-splash span{font-size:clamp(26px,5vw,68px);font-weight:700;letter-spacing:.26em;transform:translateX(.13em);animation:splashWord .78s var(--ease-premium) both}
@keyframes splashWord{0%{opacity:0;transform:translate(.13em,16px);letter-spacing:.36em}55%{opacity:1}100%{opacity:1;transform:translate(.13em,0);letter-spacing:.26em}}
@keyframes splashOut{0%,66%{opacity:1}100%{opacity:0;visibility:hidden}}

/* navigation becomes a compact premium capsule after leaving hero */
.topbar{transition:padding .45s var(--ease-premium),background .45s ease,border .45s ease,box-shadow .45s ease,transform .45s var(--ease-premium);mix-blend-mode:difference}
.topbar.is-scrolled{left:50%;right:auto;top:14px;width:min(920px,calc(100% - 28px));transform:translateX(-50%);padding:10px 12px 10px 16px;border-radius:999px;background:rgba(16,15,14,.78);border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 60px rgba(0,0,0,.22);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);mix-blend-mode:normal}
.topbar.is-scrolled .brand{font-size:12px}.topbar.is-scrolled .nav-cta{background:var(--accent);color:#171411;border-color:transparent}

/* 60 seconds: let the portrait media feel intentional, not stuck to one side */
.sixty-media{display:grid;place-items:center;min-width:0}
.portrait-video{margin-inline:auto;transform-origin:center center}
@media(max-width:900px){.split-60 .section-copy{text-align:left}.sixty-media{width:100%;place-items:center}.portrait-video{justify-self:center!important;width:min(390px,78vw)}}

/* preparation: light editorial stage, no black text box */
.preparation{background:linear-gradient(180deg,#eee6da 0%,#e5d9c9 55%,#eee7dc 100%);position:relative;overflow:hidden}
.preparation:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 28%,rgba(255,255,255,.68),transparent 34%),linear-gradient(90deg,rgba(255,255,255,.2),transparent 45%);pointer-events:none}
.prep-intro,.prep-stage{position:relative;z-index:1}
.prep-intro h2{max-width:1120px;margin-bottom:72px}
.prep-stage{grid-template-columns:1.05fr .95fr;gap:90px;align-items:start}
.prep-timeline{padding-left:58px}
.prep-rail{left:17px;background:rgba(31,25,20,.12);width:2px}
.prep-rail span{background:linear-gradient(#2b241e,#8d755c)}
.prep-step{margin:0 0 10px;padding:20px 24px 24px 12px;border-radius:22px;transition:opacity .45s ease,transform .5s var(--ease-premium),background .5s ease,box-shadow .5s ease!important}
.prep-step small{font-family:var(--sans);font-weight:700;letter-spacing:.18em;color:#7f6e5d}
.prep-step strong{font-family:var(--serif);font-size:clamp(32px,3.2vw,48px);letter-spacing:-.035em}
.prep-step p{font-family:var(--sans);font-size:15px;line-height:1.65;max-width:650px}
.prep-step:before{left:-48px;top:28px;width:10px;height:10px;background:#7f6e5d;box-shadow:0 0 0 8px rgba(74,56,39,.06)}
.prep-step.is-past{opacity:.48!important}
.prep-step.is-active{opacity:1!important;transform:translateX(14px)!important;background:rgba(255,255,255,.46);box-shadow:0 22px 70px rgba(66,47,29,.08)}
.prep-step.is-active:before{background:#171310;box-shadow:0 0 0 12px rgba(23,19,16,.08)}
.prep-note{position:sticky;top:118px;min-height:510px;background:rgba(250,247,242,.82);color:#171411;padding:48px 48px 42px;border-radius:28px;border:1px solid rgba(54,42,31,.1);box-shadow:0 30px 90px rgba(72,49,28,.12);backdrop-filter:blur(16px);overflow:hidden}
.prep-note:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-100px;bottom:-130px;background:radial-gradient(circle,rgba(168,139,105,.18),transparent 68%)}
.prep-note-index{font-family:var(--serif);font-size:clamp(72px,8vw,126px);line-height:.78;letter-spacing:-.07em;color:#c7b39b;margin-bottom:70px;transition:opacity .3s ease,transform .45s var(--ease-premium)}
.prep-note p{font-size:clamp(28px,3vw,46px);line-height:1.02;letter-spacing:-.035em;margin:0 0 48px;color:#1d1814}
.prep-note strong{font-family:var(--sans);font-size:13px;line-height:1.5;letter-spacing:.01em;border:0;padding:0;max-width:430px;color:#6f5d4b}
.prep-note-line{position:absolute;left:48px;right:48px;bottom:36px;height:2px;background:rgba(39,31,25,.1);overflow:hidden}
.prep-note-line span{display:block;height:100%;width:var(--prep-note-progress,20%);background:#2e271f;transition:width .6s var(--ease-premium)}
.prep-note.is-changing .prep-note-index{opacity:.18;transform:translateY(8px)}
@media(max-width:900px){.prep-stage{grid-template-columns:1fr;gap:30px}.prep-note{position:relative;top:auto;min-height:auto;padding:36px;border-radius:22px}.prep-note-index{font-size:76px;margin-bottom:36px}.prep-note-line{left:36px;right:36px;bottom:26px}.prep-timeline{padding-left:46px}.prep-step:before{left:-37px}}

/* guest moments become a cinematic reel with natural image proportions */
.guests{overflow:hidden}
.story-reel-viewport{width:100%;overflow:hidden;cursor:grab;touch-action:pan-y;padding:22px 0 44px;mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 3%,#000 97%,transparent 100%)}
.story-reel-viewport.is-dragging{cursor:grabbing}
.story-reel{display:flex;align-items:center;gap:18px;width:max-content;padding:0 4vw;will-change:transform}
.story-reel-card{margin:0;flex:0 0 auto;position:relative;background:#151310;border-radius:18px;overflow:hidden;box-shadow:0 18px 70px rgba(0,0,0,.2);opacity:.55;transform:scale(.94);transition:opacity .5s ease,transform .6s var(--ease-premium),filter .5s ease,box-shadow .5s ease;filter:saturate(.72) brightness(.84)}
.story-reel-card img{display:block;height:clamp(330px,46vw,560px);width:auto;max-width:none;object-fit:contain!important;object-position:center!important}
.story-reel-card.is-center,.story-reel-card:hover{opacity:1;transform:scale(1.015);filter:saturate(1) brightness(1);box-shadow:0 28px 90px rgba(0,0,0,.34);z-index:2}
.story-reel-card.story-tall img{height:clamp(360px,49vw,590px)}
.guests-note{margin-top:46px}
@media(max-width:700px){.story-reel{gap:12px;padding-inline:14px}.story-reel-card img,.story-reel-card.story-tall img{height:min(66vh,450px)}.story-reel-viewport{mask-image:none;-webkit-mask-image:none}}

/* About: editorial facts + brighter media wall */
.about-facts{grid-template-columns:.42fr 1fr;margin-bottom:32px}
.fact-number strong{font-size:clamp(76px,9vw,142px)!important;line-height:.75!important;color:var(--accent-strong)}
.fact-education strong{font-family:var(--serif)!important;font-size:clamp(30px,3.2vw,48px)!important;line-height:.98!important}
.media-experience{margin:10px 0 56px;border-top:1px solid rgba(255,255,255,.15);padding-top:26px}
.media-experience-head{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:18px;color:rgba(255,255,255,.62)}
.media-experience-head span{font-size:10px;text-transform:uppercase;letter-spacing:.18em}.media-experience-head b{font-size:12px;font-weight:600}
.media-logos{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.media-logo{min-height:82px;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font-weight:800;letter-spacing:-.04em;line-height:.92;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .4s var(--ease-premium),filter .4s ease}
.media-logo:hover{transform:translateY(-3px);filter:brightness(1.08)}
.media-logo.dfm{background:#ec2a78;color:white;font-size:28px}
.media-logo.energy{background:#65e20c;color:#0a0a0a;font-size:21px;letter-spacing:.03em}
.media-logo.rr{background:#e53028;color:white;font-size:15px;letter-spacing:.01em}
.media-logo.terra{background:#f0a23a;color:#201811;font-size:17px;letter-spacing:.01em}
.media-logo.mir{background:#16b7a7;color:white;font-size:30px}
.media-logo.first{background:#f2f2f2;color:#18244a;gap:10px}.media-logo.first i{font-style:normal;font-size:42px;line-height:1}.media-logo.first small{font-size:10px;line-height:1.2;text-align:left;letter-spacing:.02em}
@media(max-width:560px){.media-logos{grid-template-columns:1fr 1fr}.media-experience-head{display:block}.media-experience-head b{display:block;margin-top:6px}}

/* Reviews: milky idle look, full colour on hover / center */
.reviews-viewport{cursor:default;touch-action:pan-y}
.reviews-track{will-change:transform}
.review-slide{cursor:pointer;opacity:.56!important;filter:grayscale(.35) saturate(.52) brightness(1.22) contrast(.9)!important;transform:scale(.94)!important;transition:transform .48s var(--ease-premium),opacity .45s ease,filter .45s ease,box-shadow .5s ease!important}
.review-slide.is-center{opacity:.88!important;filter:grayscale(.12) saturate(.78) brightness(1.08)!important;transform:scale(1.025)!important}
.review-slide.is-hovered,.review-slide:hover{opacity:1!important;filter:none!important;transform:translateY(-6px) scale(1.045)!important;box-shadow:0 32px 90px rgba(50,35,20,.30)!important;z-index:5}
.review-slide.is-hovered .review-shade,.review-slide:hover .review-shade{opacity:.08}
.review-slide.is-hovered .review-play,.review-slide:hover .review-play{opacity:1!important}

/* CTA feels more important without glow */
.btn-primary,.btn-accent{position:relative;overflow:hidden;transition:transform .3s var(--ease-premium),box-shadow .3s ease,background .3s ease}
.btn-primary:before,.btn-accent:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0,rgba(255,255,255,.42) 48%,transparent 52%);transform:translateX(-120%);transition:transform .7s var(--ease-premium)}
.btn-primary:hover:before,.btn-accent:hover:before{transform:translateX(120%)}
.btn-primary:hover,.btn-accent:hover{transform:translateY(-2px)}

/* price becomes a calm hero moment */
.price-hero strong{font-family:var(--serif);font-weight:400;letter-spacing:-.055em}

@media(prefers-reduced-motion:reduce){.brand-splash{display:none}.story-reel-card,.review-slide,.media-logo{transition:none!important}.topbar{transition:none!important}}

/* ===== V7 refinements ===== */

/* 01 / ВЕДУ — darker, more cinematic, centered vertical media */
.sixty-premium{position:relative;overflow:hidden;background:#0e0d0c;color:#f5f0e9;isolation:isolate}
.sixty-premium:before{content:"";position:absolute;inset:-12%;background:linear-gradient(90deg,rgba(9,8,7,.96) 0%,rgba(9,8,7,.82) 42%,rgba(9,8,7,.55) 100%),url('assets/cover_vedu.webp') center/cover no-repeat;filter:blur(34px) saturate(.72);transform:scale(1.13);opacity:.48;z-index:-3}
.sixty-premium:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 48%,rgba(216,192,160,.13),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.2));z-index:-2}
.sixty-ambient{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 28% 16%,rgba(235,216,189,.07),transparent 35%);z-index:-1}
.sixty-giant{position:absolute;right:-.02em;top:50%;transform:translateY(-54%);font-family:var(--serif);font-size:clamp(240px,37vw,650px);line-height:.72;letter-spacing:-.09em;color:rgba(238,225,207,.045);pointer-events:none;user-select:none}
.sixty-layout{position:relative;z-index:2}
.sixty-copy .kicker{color:#c7b39a}
.sixty-copy h2{color:#fff}
.sixty-copy h2>span{color:#d8c2a4}
.sixty-copy .large-copy{color:rgba(245,240,233,.72);max-width:640px}
.sixty-meta{display:flex;gap:8px;margin:24px 0 2px;flex-wrap:wrap}
.sixty-meta span{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:8px 11px;font-size:10px;letter-spacing:.15em;color:rgba(255,255,255,.62)}
.text-link-light{color:#f5f0e9}
.sixty-media{position:relative;min-height:760px;display:grid;place-items:center!important;padding:34px 20px}
.sixty-media:before{content:"";position:absolute;width:min(590px,94%);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(201,175,139,.18),rgba(201,175,139,0) 66%);filter:blur(4px);pointer-events:none;z-index:-1}
.sixty-media:after{content:none!important}
.sixty-poster{width:min(430px,82%);aspect-ratio:9/16;border-radius:24px;overflow:hidden;box-shadow:0 48px 120px rgba(0,0,0,.5);transform:translateY(var(--sixty-float,0px));transition:transform .6s var(--ease-premium),box-shadow .5s ease}
.sixty-poster img{object-fit:cover!important;object-position:center!important}
.sixty-poster:hover{box-shadow:0 58px 150px rgba(0,0,0,.62)}
.sixty-caption{position:absolute;bottom:28px;right:12px;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.46)}

/* Preparation becomes a full scroll chapter. All stages remain visible. */
.preparation{padding:0!important;overflow:clip;background:linear-gradient(180deg,#efe7dc 0%,#e6d9c8 60%,#eee7dd 100%)!important}
.prep-scroll{position:relative;height:470vh;min-height:3200px}
.prep-sticky{position:sticky;top:0;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:74px 0 54px;overflow:hidden}
.prep-intro{margin-bottom:36px}
.prep-intro h2{margin-bottom:0!important;max-width:1160px}
.prep-stage{grid-template-columns:1.06fr .94fr!important;gap:86px!important;align-items:center!important;margin-top:18px!important}
.prep-timeline{padding-left:62px!important;display:flex;flex-direction:column;justify-content:center}
.prep-rail{left:18px!important;top:18px!important;bottom:18px!important;width:2px!important}
.prep-step,.prep-stage.visible .prep-step{padding:12px 16px 14px 10px!important;margin:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;opacity:.22!important;transform:none!important;transition:opacity .42s ease,transform .48s var(--ease-premium),color .42s ease!important}
.prep-step small{font-family:var(--sans)!important;color:#8f7d69!important;font-size:9px!important;letter-spacing:.2em!important;margin-bottom:3px!important}
.prep-step strong{font-family:var(--sans)!important;font-size:clamp(25px,2.4vw,38px)!important;line-height:1.03!important;font-weight:500!important;letter-spacing:-.035em!important;color:#75695d!important;transition:font-size .45s var(--ease-premium),font-weight .35s ease,color .35s ease,transform .45s var(--ease-premium)!important}
.prep-step p{max-height:0;opacity:0!important;overflow:hidden;font-family:var(--sans)!important;font-size:13px!important;line-height:1.55!important;margin-top:0!important;color:#6f6257!important;transition:max-height .5s var(--ease-premium),opacity .35s ease,margin .35s ease!important}
.prep-step:before{left:-49px!important;top:22px!important;width:9px!important;height:9px!important;background:#b7a38c!important;box-shadow:0 0 0 7px rgba(73,56,40,.045)!important}
.prep-step.is-past{opacity:.38!important}
.prep-step.is-active{opacity:1!important;transform:translateX(12px)!important}
.prep-step.is-active strong{font-size:clamp(34px,3vw,50px)!important;font-weight:700!important;color:#171310!important;transform:translateX(2px)!important}
.prep-step.is-active p{max-height:72px;opacity:.72!important;margin-top:7px!important}
.prep-step.is-active:before{background:#171310!important;transform:scale(1.35)!important;box-shadow:0 0 0 11px rgba(23,19,16,.07)!important}
.prep-note{position:relative!important;top:auto!important;min-height:430px!important;padding:50px 50px 44px!important;background:rgba(252,249,244,.58)!important;color:#171411!important;border:1px solid rgba(61,47,35,.09)!important;border-radius:32px!important;box-shadow:0 30px 90px rgba(72,49,28,.08)!important;backdrop-filter:blur(12px)}
.prep-note-kicker{font-size:9px;letter-spacing:.22em;color:#907b67;margin-bottom:20px;font-weight:700}
.prep-note-index{font-size:clamp(88px,8.8vw,140px)!important;color:#c3ad93!important;margin-bottom:48px!important}
.prep-note p{font-family:var(--serif)!important;font-size:clamp(28px,2.8vw,44px)!important;line-height:1.04!important;letter-spacing:-.035em!important;color:#1d1814!important;margin-bottom:38px!important}
.prep-note strong{font-family:var(--sans)!important;font-size:13px!important;line-height:1.55!important;color:#66584c!important;font-weight:600!important;max-width:460px!important}
.prep-note-line{left:50px!important;right:50px!important;bottom:34px!important}
.prep-note-line span{background:#1f1a16!important}

/* Photo table: many frames visible immediately, falling into place, draggable */
.photo-table-wrap{position:relative;margin-top:36px}
.photo-table{position:relative;height:min(66vw,820px);min-height:650px;isolation:isolate;perspective:1400px}
.photo-card{position:absolute;left:var(--x);top:var(--y);width:var(--w);margin:0;background:#171411;border-radius:14px;overflow:hidden;box-shadow:0 24px 75px rgba(0,0,0,.34);transform:translate3d(var(--dx,0px),calc(var(--dy,0px) - 120px),0) rotate(calc(var(--r) - 6deg)) scale(.94);opacity:0;transition:transform .9s var(--ease-premium),opacity .7s ease,box-shadow .35s ease,filter .35s ease;transition-delay:var(--delay);cursor:grab;touch-action:none;user-select:none;will-change:transform}
.photo-table.is-ready .photo-card{opacity:1;transform:translate3d(var(--dx,0px),var(--dy,0px),0) rotate(var(--r)) scale(1)}
.photo-card img{display:block;width:100%;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;pointer-events:none}
.photo-card:hover{box-shadow:0 38px 100px rgba(0,0,0,.5);filter:saturate(1.04) brightness(1.02)}
.photo-card.is-dragging{cursor:grabbing;transition:none!important;box-shadow:0 46px 130px rgba(0,0,0,.6);z-index:80!important}
.photo-table-hint{position:absolute;right:2px;bottom:-8px;margin:0;color:rgba(255,255,255,.4);font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.guest-quote{position:relative;padding:110px 0 60px;display:grid;grid-template-columns:140px 1fr;align-items:start;border-top:1px solid rgba(255,255,255,.1);margin-top:72px}
.quote-mark{font-family:var(--serif);font-size:180px;line-height:.64;color:#c7ac89;opacity:.7}
.guest-quote blockquote{margin:0;max-width:980px}
.guest-quote p,.guest-quote strong{display:block;font-family:var(--serif);font-weight:400;letter-spacing:-.045em;line-height:.98}
.guest-quote p{font-size:clamp(38px,4.3vw,66px);color:rgba(255,255,255,.5);margin:0 0 12px}
.guest-quote strong{font-size:clamp(46px,5.4vw,84px);color:#f5efe8}

/* Actual radio / TV logos instead of text placeholders */
.media-experience{margin-top:42px;padding-top:28px;border-top:1px solid rgba(255,255,255,.15)}
.media-experience-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}
.media-experience-head span{font-family:var(--serif);font-size:30px}
.media-experience-head b{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:600}
.logo-groups{display:grid;gap:22px}
.logo-group>small{display:block;margin-bottom:9px;font-size:9px;letter-spacing:.19em;color:rgba(255,255,255,.36)}
.logo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;background:#f5f1eb;border-radius:18px}
.logo-row img{width:100%;height:82px;object-fit:contain!important;object-position:center!important;background:#fff;border-radius:10px;padding:8px;filter:saturate(.9);transition:transform .35s var(--ease-premium),filter .35s ease}
.logo-row img:hover{transform:translateY(-3px);filter:saturate(1.08)}
.logo-row-tv img{height:76px}

/* Reviews: manual and auto modes cannot highlight two cards at once */
.reviews-viewport{position:relative}
.reviews-viewport.manual-mode .review-slide.is-center:not(.is-hovered){transform:scale(.94)!important;filter:saturate(.45) brightness(1.08)!important;opacity:.66!important}
.reviews-viewport.manual-mode .review-slide.is-center:not(.is-hovered) .review-shade{opacity:.34!important}
.reviews-viewport.manual-mode .review-slide.is-center:not(.is-hovered) .review-play{opacity:0!important;transform:translate(-50%,-50%) scale(.82)!important}
.reviews-viewport.manual-mode .review-slide.is-hovered{transform:scale(1.02)!important;filter:saturate(1) brightness(1)!important;opacity:1!important;z-index:5}
.reviews-viewport.manual-mode .review-slide.is-hovered .review-shade{opacity:0!important}
.reviews-viewport.manual-mode .review-slide.is-hovered .review-play{opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}

/* Slightly richer section pacing */
.date-strip{position:relative;overflow:hidden}
.date-strip:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 30%,rgba(194,160,119,.09),transparent 32%);pointer-events:none}

@media(max-width:1000px){
  .prep-scroll{height:auto;min-height:0}
  .prep-sticky{position:relative;min-height:auto;padding:90px 0}
  .prep-stage{grid-template-columns:1fr!important;gap:28px!important}
  .prep-timeline{padding-left:48px!important}
  .prep-note{min-height:auto!important}
  .photo-table{height:980px;min-height:980px}
  .photo-card{width:36%!important}
  .photo-card:nth-child(1){left:0!important;top:5%!important}.photo-card:nth-child(2){left:28%!important;top:1%!important}.photo-card:nth-child(3){left:59%!important;top:7%!important}.photo-card:nth-child(4){left:4%!important;top:34%!important}.photo-card:nth-child(5){left:35%!important;top:31%!important}.photo-card:nth-child(6){left:62%!important;top:37%!important}.photo-card:nth-child(7){left:10%!important;top:65%!important}.photo-card:nth-child(8){left:49%!important;top:66%!important}
  .guest-quote{grid-template-columns:90px 1fr;padding-top:82px}.quote-mark{font-size:120px}
}
@media(max-width:700px){
  .sixty-layout{grid-template-columns:1fr!important;text-align:left}
  .sixty-media{min-height:auto!important;padding:28px 0 12px!important}
  .sixty-poster{width:min(340px,82vw)!important;justify-self:center!important}
  .sixty-giant{font-size:72vw;right:-.06em;top:66%;opacity:.72}
  .sixty-caption{position:static;margin-top:14px;justify-self:center}
  .prep-step strong{font-size:25px!important}.prep-step.is-active strong{font-size:32px!important}
  .prep-step p{font-size:12px!important}
  .prep-note{padding:34px!important;border-radius:22px!important}.prep-note-index{font-size:80px!important;margin-bottom:28px!important}.prep-note-line{left:34px!important;right:34px!important}
  .photo-table{height:820px;min-height:820px}
  .photo-card{width:45%!important;border-radius:10px}
  .photo-card:nth-child(1){left:0!important;top:4%!important}.photo-card:nth-child(2){left:42%!important;top:0!important}.photo-card:nth-child(3){left:4%!important;top:25%!important}.photo-card:nth-child(4){left:48%!important;top:24%!important}.photo-card:nth-child(5){left:0!important;top:48%!important}.photo-card:nth-child(6){left:45%!important;top:50%!important}.photo-card:nth-child(7){left:7%!important;top:70%!important}.photo-card:nth-child(8){left:49%!important;top:72%!important}
  .photo-table-hint{bottom:-22px}
  .guest-quote{grid-template-columns:1fr;padding:82px 0 20px}.quote-mark{font-size:92px;margin-bottom:10px}.guest-quote p{font-size:34px}.guest-quote strong{font-size:44px}
  .media-experience-head{display:block}.media-experience-head b{display:block;margin-top:7px}.logo-row{grid-template-columns:repeat(3,1fr);padding:8px;gap:6px}.logo-row img,.logo-row-tv img{height:58px;padding:5px}
}
@media(prefers-reduced-motion:reduce){
  .photo-card{opacity:1!important;transform:translate3d(var(--dx,0px),var(--dy,0px),0) rotate(var(--r))!important;transition:none!important}
}
.prep-intro h2{font-size:clamp(46px,5.2vw,82px)!important;line-height:.9!important}


/* ===== V8 premium refinements ===== */
:root{--gold:#d3b182;--gold-soft:#bfa07a;--ceremony-bg:#2a211b;--ceremony-ink:#f4ece1}

/* 60 sec — cleaner, no tech metadata */
.sixty-meta{display:none!important}
.sixty-poster .video-label{display:none!important}
.sixty-poster{border-radius:18px}
.sixty-copy .kicker,.sixty-copy h2>span{color:var(--gold)!important}

/* Showreel — more atmosphere, more desire to click */
.showreel-band{position:relative;background:radial-gradient(circle at 50% 20%,rgba(211,177,130,.08),transparent 34%),#0d0c0b}
.showreel-card-premium{position:relative;overflow:hidden}
.showreel-card-premium:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
.showreel-atmosphere{position:absolute;left:34px;top:34px;z-index:3;display:flex;gap:10px;flex-wrap:wrap;pointer-events:none}
.showreel-atmosphere i{font-style:normal;font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.16);padding:9px 12px;border-radius:999px;background:rgba(10,9,8,.22);backdrop-filter:blur(8px);transform:translateY(8px);opacity:.15;transition:opacity .45s ease,transform .45s var(--ease-premium),color .35s ease,border-color .35s ease}
.showreel-card-premium:hover .showreel-atmosphere i{opacity:1;transform:none;color:var(--gold);border-color:rgba(211,177,130,.35)}
.showreel-card-premium:hover .showreel-atmosphere i:nth-child(2){transition-delay:.06s}
.showreel-card-premium:hover .showreel-atmosphere i:nth-child(3){transition-delay:.12s}
.showreel-line{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(.1);opacity:.25;transform-origin:center;transition:transform .7s var(--ease-premium),opacity .4s ease;z-index:3}
.showreel-card-premium:hover .showreel-line{transform:scaleX(.9);opacity:.85}

/* Approach — active idea and media labels share the gold activation language */
.format-card.is-active>span,.format-card.is-active h3{color:var(--gold)!important}
.format-card.is-active{border-color:rgba(211,177,130,.36)!important}
.media-caption strong{color:var(--gold)!important}
.media-caption span{color:rgba(255,255,255,.68)}

/* Ceremony — softer dark editorial palette */
.section-ceremony{position:relative;background:linear-gradient(180deg,#2b221c 0%,#332820 58%,#241d18 100%);color:var(--ceremony-ink)}
.section-ceremony:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 26%,rgba(211,177,130,.11),transparent 28%);pointer-events:none}
.section-ceremony .kicker{color:var(--gold)}
.section-ceremony .large-copy{color:rgba(244,236,225,.78)}
.section-ceremony .text-link{color:var(--ceremony-ink)}
.section-ceremony .ceremony-photo{background:#201914;box-shadow:0 30px 90px rgba(0,0,0,.28)}
.section-ceremony .fullbleed{background:#1a1512}
.section-ceremony .cinema-card{box-shadow:0 32px 110px rgba(0,0,0,.34)}

/* Preparation — short interactive chapter, scroll OR click */
.preparation{background:linear-gradient(180deg,#efe6d9 0%,#e9ddcd 100%)!important}
.prep-scroll{height:165vh!important;min-height:1180px!important}
.prep-sticky{min-height:100svh!important;padding:78px 0 62px!important;overflow:visible!important}
.prep-intro{margin-bottom:18px!important}
.prep-intro h2{font-size:clamp(44px,5vw,76px)!important;max-width:1030px!important}
.prep-stage{grid-template-columns:.98fr 1.02fr!important;gap:64px!important;align-items:center!important;margin-top:8px!important}
.prep-interaction-hint{margin:0 0 18px 10px;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:#8e765e}
.prep-step,.prep-stage.visible .prep-step{cursor:pointer;opacity:.26!important;padding:9px 14px 11px 10px!important}
.prep-step strong{font-family:var(--serif)!important;font-size:clamp(26px,2.25vw,36px)!important;font-weight:400!important;color:#827465!important;letter-spacing:-.025em!important}
.prep-step p{font-family:var(--sans)!important;font-size:12px!important}
.prep-step:hover{opacity:.7!important}
.prep-step.is-active{opacity:1!important;transform:translateX(9px)!important}
.prep-step.is-active small{color:var(--gold-soft)!important;opacity:1!important}
.prep-step.is-active strong{font-size:clamp(31px,2.65vw,43px)!important;color:#b0814a!important;font-weight:500!important}
.prep-step.is-active:before{background:var(--gold)!important;box-shadow:0 0 0 10px rgba(211,177,130,.12)!important}
.prep-step.is-locked:after{content:"ВЫБРАНО";position:absolute;right:8px;top:16px;font-size:8px;letter-spacing:.14em;color:#9b7d5e}
.prep-note{min-height:350px!important;padding:38px 40px 34px!important;background:rgba(255,252,247,.7)!important;border-radius:24px!important}
.prep-note-index{font-size:clamp(68px,7vw,104px)!important;margin-bottom:24px!important;color:#c7a677!important}
.prep-note p{font-size:clamp(24px,2.35vw,36px)!important;margin-bottom:26px!important}
.prep-note-line{left:40px!important;right:40px!important;bottom:28px!important}
.prep-note-line span{background:var(--gold)!important}
.prep-rail span{background:var(--gold)!important}

/* Guests — quote belongs to the same scene */
.photo-table-wrap{margin-bottom:20px}
.photo-table-hint{color:rgba(211,177,130,.62)!important}
.guest-quote-integrated{margin-top:28px!important;padding:46px 0 24px!important;border-top:1px solid rgba(211,177,130,.18)!important;grid-template-columns:110px 1fr!important}
.quote-label{position:absolute;top:18px;left:110px;font-size:9px;letter-spacing:.18em;color:var(--gold);font-weight:700}
.guest-quote-integrated .quote-mark{font-size:132px;color:var(--gold)}
.guest-quote-integrated p{font-size:clamp(30px,3.4vw,50px)!important}
.guest-quote-integrated strong{font-size:clamp(36px,4.1vw,62px)!important;color:#fff0de!important}

/* About — logos float directly on the page */
.logo-row{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:30px!important;flex-wrap:wrap!important;padding:8px 0!important;background:transparent!important;border-radius:0!important}
.logo-row img,.logo-row-tv img{width:auto!important;max-width:180px!important;height:58px!important;object-fit:contain!important;background:transparent!important;border-radius:0!important;padding:0!important;filter:saturate(.95) drop-shadow(0 0 14px rgba(255,255,255,.08))!important;opacity:.92}
.logo-row-radio img:nth-child(2){height:54px!important}.logo-row-radio img:nth-child(3){height:50px!important}
.logo-row-tv img{height:52px!important;max-width:150px!important}
.logo-row img:hover{transform:translateY(-2px) scale(1.02);filter:saturate(1.08) drop-shadow(0 0 18px rgba(211,177,130,.18))!important}
.about-quote{position:relative;margin-top:44px;padding:34px 0 0 66px;border-top:1px solid rgba(211,177,130,.22)}
.about-quote-mark{position:absolute;left:0;top:26px;font-family:var(--serif);font-size:82px;line-height:.8;color:var(--gold);opacity:.88}
.about-quote p{margin:0;font-family:var(--serif);font-size:clamp(27px,3vw,44px);line-height:1.03;letter-spacing:-.035em;color:rgba(255,255,255,.58)}
.about-quote strong{font-weight:400;color:#f5eee5}

/* Reviews — hand-driven drum */
.reviews-viewport{cursor:grab;touch-action:pan-y}
.reviews-viewport.is-dragging{cursor:grabbing}
.review-slide{will-change:transform,filter,opacity}
.reviews-track{will-change:transform}

/* Final CTA — black + gold + portrait, no letterboxed background image */
.final-portrait{position:relative;min-height:100svh;background:radial-gradient(circle at 74% 42%,rgba(211,177,130,.11),transparent 26%),#090807;overflow:hidden;display:flex;align-items:center}
.final-portrait:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,8,7,1) 0%,rgba(9,8,7,.94) 42%,rgba(9,8,7,.42) 70%,rgba(9,8,7,.12) 100%);z-index:1;pointer-events:none}
.final-gold-word{position:absolute;left:-.02em;top:5%;font-family:var(--serif);font-size:clamp(110px,17vw,300px);letter-spacing:-.07em;line-height:.8;color:rgba(211,177,130,.055);white-space:nowrap;z-index:0;pointer-events:none}
.final-split{position:relative;z-index:2;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:40px;min-height:100svh}
.final-portrait .final-content{padding:100px 0 80px!important}
.final-portrait .kicker{color:var(--gold)}
.final-portrait h2 em{color:var(--gold)}
.final-portrait-wrap{align-self:end;justify-self:end;margin:0;position:relative;width:min(520px,42vw);z-index:-1}
.final-portrait-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#090807 0%,transparent 18%,transparent 80%,#090807 100%),linear-gradient(0deg,#090807 0%,transparent 28%);pointer-events:none}
.final-portrait-wrap img{display:block;width:100%;height:auto;object-fit:contain;filter:saturate(.9) contrast(1.02)}
.final-portrait .btn-primary{background:var(--gold);color:#15100b}
.final-portrait .socials a{color:#f3e6d4}

@media(max-width:1000px){
  .prep-scroll{height:auto!important;min-height:0!important}
  .prep-sticky{position:relative!important;min-height:auto!important}
  .prep-step.is-locked:after{display:none}
  .final-split{grid-template-columns:1fr;min-height:auto}
  .final-portrait{min-height:auto;padding-top:80px}
  .final-portrait-wrap{width:min(520px,78vw);justify-self:center}
  .final-portrait .final-content{padding:50px 0 10px!important}
}
@media(max-width:700px){
  .showreel-atmosphere{left:16px;top:16px;gap:6px}.showreel-atmosphere i{padding:7px 9px;font-size:8px}
  .prep-intro h2{font-size:44px!important}.prep-stage{gap:22px!important}.prep-note{padding:30px!important}
  .guest-quote-integrated{grid-template-columns:1fr!important;padding-top:50px!important}.quote-label{left:0;top:18px}.guest-quote-integrated .quote-mark{font-size:78px}
  .logo-row{gap:18px!important}.logo-row img,.logo-row-tv img{height:42px!important;max-width:120px!important}
  .about-quote{padding-left:44px}.about-quote-mark{font-size:62px}
  .final-gold-word{font-size:26vw}
}


/* ===== V9 adaptive cleanup ===== */

/* 01 / ВЕДУ — no floating helper captions, one obvious action */
.sixty-copy .text-link-light,
.sixty-caption,
.sixty-poster .video-label{display:none!important}
.sixty-media{align-content:center!important;justify-content:center!important}
.sixty-poster{margin-inline:auto!important}
.sixty-poster .play-button{left:50%!important;top:50%!important;bottom:auto!important;transform:translate(-50%,-50%)!important}
.sixty-poster:hover .play-button{transform:translate(-50%,-50%) scale(1.06)!important}

/* ABOUT — stable editorial composition */
.about{padding:118px 0 112px!important;overflow:hidden}
.about-editorial{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  grid-template-areas:
    "photo copy"
    "quote quote";
  column-gap:72px;
  row-gap:58px;
  align-items:start;
}
.about-editorial .about-photo{
  grid-area:photo;
  margin:72px 0 0;
  width:100%;
  align-self:start;
  background:transparent!important;
}
.about-editorial .about-photo img{
  width:100%;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block;
}
.about-editorial .about-copy{grid-area:copy;min-width:0}
.about-heading{margin-bottom:24px}
.about-heading .kicker{margin-bottom:18px}
.about-heading h2{
  margin:0!important;
  font-size:clamp(58px,6vw,92px)!important;
  line-height:.82!important;
}
.about-facts{
  display:grid!important;
  grid-template-columns:.52fr 1fr!important;
  margin:32px 0 34px!important;
  border-top:1px solid rgba(255,255,255,.15)!important;
  border-bottom:1px solid rgba(255,255,255,.15)!important;
}
.about-facts .fact{
  min-height:142px!important;
  padding:20px 20px 18px 0!important;
  border:0!important;
}
.about-facts .fact+.fact{
  padding-left:28px!important;
  border-left:1px solid rgba(255,255,255,.12)!important;
}
.about-facts .fact strong{font-family:var(--serif)!important;font-weight:400!important}
.about-facts .fact-number strong{font-size:clamp(70px,7.4vw,112px)!important;line-height:.72!important;color:#f3e6d3}
.about-facts .fact-education strong{font-size:clamp(27px,2.5vw,40px)!important;line-height:.98!important}
.about-facts .fact span{font-size:9px!important;letter-spacing:.14em!important;margin-top:16px!important;color:rgba(255,255,255,.56)!important}

.media-experience{margin-top:0!important;padding-top:24px!important;border-top:1px solid rgba(255,255,255,.12)!important}
.media-experience-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:28px!important;
  margin-bottom:28px!important;
}
.media-experience-head span{
  font-family:var(--serif)!important;
  font-size:clamp(30px,3vw,44px)!important;
  line-height:1!important;
  color:#e8ded1!important;
}
.media-experience-head b{
  max-width:150px;
  font-size:9px!important;
  line-height:1.35!important;
  letter-spacing:.14em!important;
  text-align:right;
  color:rgba(255,255,255,.42)!important;
}
.media-brand-group{margin-top:24px}
.media-brand-group>small{
  display:block;
  margin-bottom:14px;
  font-size:8px;
  letter-spacing:.2em;
  color:rgba(255,255,255,.38);
}
.brand-cloud{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:28px 34px;
  min-height:72px;
}
.brand-cloud img{
  display:block;
  width:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center!important;
  background:transparent!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  filter:drop-shadow(0 0 10px rgba(255,255,255,.06)) saturate(.96)!important;
  opacity:.98!important;
  transition:transform .3s ease,filter .3s ease!important;
}
.brand-cloud img:hover{transform:translateY(-2px);filter:drop-shadow(0 0 16px rgba(211,177,130,.18)) saturate(1.05)!important}

/* Optical rather than identical logo sizing */
.brand-dfm{height:58px!important}
.brand-energy{height:54px!important}
.brand-rusradio{height:48px!important}
.brand-terra{height:46px!important}
.brand-mir{height:54px!important}
.brand-first{height:58px!important}

.about-quote-wide{
  grid-area:quote;
  position:relative;
  display:grid;
  grid-template-columns:92px minmax(0,980px);
  gap:18px;
  align-items:start;
  margin:0!important;
  padding:44px 0 0!important;
  border-top:1px solid rgba(211,177,130,.22)!important;
}
.about-quote-wide .about-quote-mark{
  position:static!important;
  font-size:100px!important;
  line-height:.72!important;
  color:var(--gold)!important;
}
.about-quote-wide small{
  display:block;
  margin-bottom:16px;
  font-size:9px;
  letter-spacing:.2em;
  color:var(--gold);
}
.about-quote-wide p,
.about-quote-wide strong{
  display:block;
  margin:0;
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.035em;
  line-height:1.02;
}
.about-quote-wide p{font-size:clamp(30px,3vw,46px);color:rgba(255,255,255,.5);margin-bottom:6px}
.about-quote-wide strong{font-size:clamp(38px,4vw,62px);color:#f5eee5}

/* REVIEWS — grabbing works directly on video cards/images */
.reviews-viewport,
.review-slide{cursor:grab!important}
.reviews-viewport.is-dragging,
.reviews-viewport.is-dragging .review-slide{cursor:grabbing!important}
.review-slide{
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  -webkit-user-drag:none!important;
}
.review-slide img,
.review-slide .review-bg,
.review-slide .review-shade,
.review-slide .review-play{
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}

/* FINAL CTA — portrait is part of the grid, always anchored to the bottom */
.final-portrait{
  min-height:clamp(720px,100svh,980px)!important;
  padding:0!important;
  display:block!important;
}
.final-portrait:before{
  background:linear-gradient(90deg,#090807 0%,rgba(9,8,7,.98) 42%,rgba(9,8,7,.58) 66%,rgba(9,8,7,.12) 100%)!important;
}
.final-split{
  min-height:clamp(720px,100svh,980px)!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  grid-template-rows:1fr!important;
  align-items:stretch!important;
  gap:32px!important;
}
.final-portrait .final-content{
  align-self:center!important;
  padding:110px 0 90px!important;
  max-width:720px;
}
.final-portrait-wrap{
  position:relative!important;
  z-index:2!important;
  margin:0!important;
  width:100%!important;
  height:100%!important;
  min-height:clamp(620px,92svh,900px)!important;
  align-self:end!important;
  justify-self:stretch!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:hidden!important;
}
.final-portrait-wrap:before{
  content:"";
  position:absolute;
  inset:18% 4% 6% 4%;
  background:radial-gradient(circle at 50% 45%,rgba(211,177,130,.14),transparent 62%);
  pointer-events:none;
}
.final-portrait-wrap:after{
  background:
    linear-gradient(90deg,#090807 0%,transparent 12%,transparent 88%,#090807 100%),
    linear-gradient(0deg,#090807 0%,transparent 24%)!important;
}
.final-portrait-wrap img{
  position:relative;
  z-index:0;
  width:auto!important;
  height:auto!important;
  max-height:min(78svh,760px)!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  margin:0 auto!important;
  flex:0 1 auto;
}
.final-portrait h2{font-size:clamp(58px,6.4vw,102px)!important}

@media(max-width:1100px){
  .about-editorial{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);column-gap:46px}
  .brand-cloud{gap:22px 26px}
  .brand-dfm{height:50px!important}.brand-energy{height:47px!important}.brand-rusradio{height:42px!important}
  .brand-terra{height:40px!important}.brand-mir{height:47px!important}.brand-first{height:50px!important}
  .final-split{grid-template-columns:minmax(0,1fr) minmax(320px,.82fr)!important}
}
@media(max-width:900px){
  .about-editorial{
    grid-template-columns:1fr;
    grid-template-areas:"copy" "photo" "quote";
    row-gap:38px;
  }
  .about-editorial .about-photo{margin:0;width:min(620px,100%)}
  .about-heading h2{font-size:clamp(54px,10vw,82px)!important}
  .media-experience-head{align-items:flex-start!important}
  .about-quote-wide{grid-template-columns:70px 1fr}
  .final-split{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    min-height:auto!important;
  }
  .final-portrait{min-height:auto!important}
  .final-portrait .final-content{padding:100px 0 20px!important}
  .final-portrait-wrap{
    min-height:0!important;
    height:auto!important;
    width:min(650px,92vw)!important;
    justify-self:center!important;
    overflow:visible!important;
  }
  .final-portrait-wrap img{max-height:none!important;width:100%!important;height:auto!important}
  .final-portrait:before{
    background:linear-gradient(180deg,#090807 0%,rgba(9,8,7,.98) 45%,rgba(9,8,7,.7) 72%,rgba(9,8,7,.15) 100%)!important;
  }
}
@media(max-width:620px){
  .about{padding:84px 0!important}
  .about-facts{grid-template-columns:1fr!important}
  .about-facts .fact+.fact{padding-left:0!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.12)!important}
  .media-experience-head{display:block!important}
  .media-experience-head b{display:block;margin-top:8px;text-align:left}
  .brand-cloud{gap:18px 22px}
  .brand-dfm{height:43px!important}.brand-energy{height:41px!important}.brand-rusradio{height:37px!important}
  .brand-terra{height:35px!important}.brand-mir{height:41px!important}.brand-first{height:43px!important}
  .about-quote-wide{grid-template-columns:1fr;gap:0}
  .about-quote-wide .about-quote-mark{font-size:74px!important;margin-bottom:8px}
  .final-portrait h2{font-size:50px!important}
}

/* V9 review drag safety */
.review-slide{touch-action:pan-y!important}


/* ===== V10 immersive media + cloud gallery ===== */

/* Shared media immersion: images dissolve softly into the section instead of sitting as hard cards */
.immersive-mask{
  position:relative;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
}
.immersive-mask>img{
  -webkit-mask-image:radial-gradient(ellipse 92% 90% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.92) 82%,transparent 100%);
  mask-image:radial-gradient(ellipse 92% 90% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.92) 82%,transparent 100%);
  border-radius:24px;
}
.immersive-mask:before{
  content:"";
  position:absolute;
  inset:5% 4%;
  border-radius:32px;
  background:radial-gradient(circle at 50% 46%,rgba(211,177,130,.09),transparent 68%);
  filter:blur(20px);
  pointer-events:none;
  z-index:-1;
}
.immersive-mask .media-dim{border-radius:24px}

/* 60 seconds: remove phone-card feeling and blend the portrait into the black scene */
.sixty-poster{
  width:min(410px,76%)!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.sixty-poster>img{
  border-radius:26px!important;
  -webkit-mask-image:radial-gradient(ellipse 76% 94% at 50% 50%,#000 0%,#000 74%,rgba(0,0,0,.94) 84%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 76% 94% at 50% 50%,#000 0%,#000 74%,rgba(0,0,0,.94) 84%,transparent 100%)!important;
}
.sixty-poster .play-button{
  background:rgba(245,239,231,.9)!important;
  backdrop-filter:blur(8px);
  box-shadow:0 10px 34px rgba(0,0,0,.32)!important;
}
.sixty-media:before{
  width:min(650px,98%)!important;
  background:radial-gradient(circle,rgba(211,177,130,.15),rgba(211,177,130,.035) 38%,transparent 70%)!important;
}

/* Showreel and approach videos lose hard edges */
.showreel-card-premium,
.media-item .wide-video{
  border-radius:0!important;
}
.showreel-card-premium>img,
.media-item .wide-video>img{
  border-radius:26px!important;
}
.media-item .wide-video{
  min-height:0;
}
.media-pair{gap:28px!important}

/* Ceremony: merge it back into the same cinematic universe */
.section-ceremony{
  background:
    radial-gradient(circle at 74% 28%,rgba(188,145,98,.11),transparent 26%),
    radial-gradient(circle at 22% 74%,rgba(255,255,255,.035),transparent 30%),
    linear-gradient(180deg,#11100f 0%,#17130f 48%,#0f0e0d 100%)!important;
  color:#f3ece3!important;
  padding-top:132px!important;
  padding-bottom:118px!important;
}
.section-ceremony:before{
  background:linear-gradient(180deg,rgba(211,177,130,.025),transparent 30%,rgba(211,177,130,.025))!important;
}
.section-ceremony .ceremony-layout{
  align-items:center!important;
  gap:68px!important;
  margin-bottom:76px!important;
}
.section-ceremony .ceremony-main{
  padding:44px 0 34px;
}
.section-ceremony .ceremony-title em{color:var(--gold)}
.section-ceremony .large-copy{
  max-width:620px;
  color:rgba(245,237,228,.72)!important;
}
.ceremony-image-mask{
  background:transparent!important;
  box-shadow:none!important;
}
.ceremony-image-mask>img{
  -webkit-mask-image:radial-gradient(ellipse 90% 88% at 50% 50%,#000 0%,#000 68%,rgba(0,0,0,.9) 80%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 90% 88% at 50% 50%,#000 0%,#000 68%,rgba(0,0,0,.9) 80%,transparent 100%)!important;
  border-radius:32px!important;
}
.ceremony-video-mask{
  width:min(1380px,calc(100% - 48px))!important;
  margin-top:10px!important;
}
.ceremony-video-mask>img{
  -webkit-mask-image:radial-gradient(ellipse 95% 88% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.94) 82%,transparent 100%)!important;
  mask-image:radial-gradient(ellipse 95% 88% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.94) 82%,transparent 100%)!important;
  border-radius:28px!important;
}
.section-ceremony .watch-badge{
  background:rgba(12,10,9,.42)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#fff!important;
  backdrop-filter:blur(14px);
}

/* Photo gallery: slow cloud-like drift, immediate visibility, overlap + drag remain */
.photo-table{
  height:min(62vw,780px)!important;
  min-height:620px!important;
  overflow:visible!important;
}
.photo-card{
  opacity:1!important;
  transform:translate3d(var(--dx,0px),var(--dy,0px),0) rotate(var(--r))!important;
  transition:box-shadow .3s ease,filter .3s ease!important;
  background:transparent!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.photo-table.is-ready .photo-card{
  opacity:1!important;
  transform:translate3d(var(--dx,0px),var(--dy,0px),0) rotate(var(--r))!important;
}
.photo-float{
  position:relative;
  width:100%;
  border-radius:15px;
  overflow:hidden;
  box-shadow:0 26px 70px rgba(0,0,0,.34);
  animation:cloudFloatA 12s ease-in-out infinite alternate;
  will-change:transform;
}
.photo-float img{
  display:block;
  width:100%;
  height:auto!important;
  object-fit:contain!important;
  pointer-events:none;
}
.photo-card:nth-child(2) .photo-float{animation-name:cloudFloatB;animation-duration:14s;animation-delay:-4s}
.photo-card:nth-child(3) .photo-float{animation-name:cloudFloatC;animation-duration:11.5s;animation-delay:-7s}
.photo-card:nth-child(4) .photo-float{animation-name:cloudFloatD;animation-duration:15s;animation-delay:-2s}
.photo-card:nth-child(5) .photo-float{animation-name:cloudFloatB;animation-duration:13s;animation-delay:-8s}
.photo-card:nth-child(6) .photo-float{animation-name:cloudFloatD;animation-duration:12.5s;animation-delay:-5s}
.photo-card:nth-child(7) .photo-float{animation-name:cloudFloatA;animation-duration:16s;animation-delay:-10s}
.photo-card:nth-child(8) .photo-float{animation-name:cloudFloatC;animation-duration:14.5s;animation-delay:-6s}
.photo-card:hover .photo-float{box-shadow:0 38px 100px rgba(0,0,0,.48)}
.photo-card.is-dragging .photo-float{animation-play-state:paused!important}
.photo-card.is-dragging{filter:saturate(1.04) brightness(1.03)}
@keyframes cloudFloatA{
  0%{transform:translate3d(-8px,-5px,0) rotate(-.7deg)}
  50%{transform:translate3d(10px,8px,0) rotate(.6deg)}
  100%{transform:translate3d(-2px,14px,0) rotate(-.2deg)}
}
@keyframes cloudFloatB{
  0%{transform:translate3d(5px,8px,0) rotate(.5deg)}
  45%{transform:translate3d(-12px,-6px,0) rotate(-.8deg)}
  100%{transform:translate3d(8px,-12px,0) rotate(.2deg)}
}
@keyframes cloudFloatC{
  0%{transform:translate3d(-6px,10px,0) rotate(-.4deg)}
  55%{transform:translate3d(13px,-4px,0) rotate(.8deg)}
  100%{transform:translate3d(2px,-13px,0) rotate(.1deg)}
}
@keyframes cloudFloatD{
  0%{transform:translate3d(9px,-8px,0) rotate(.3deg)}
  50%{transform:translate3d(-10px,7px,0) rotate(-.5deg)}
  100%{transform:translate3d(5px,12px,0) rotate(.7deg)}
}
.photo-table-hint{
  bottom:-18px!important;
  color:rgba(211,177,130,.64)!important;
}

/* Final CTA: portrait scales with viewport and stays visually tied to the copy */
.final-split{
  grid-template-columns:minmax(0,1.05fr) minmax(260px,.72fr)!important;
  gap:clamp(20px,4vw,70px)!important;
  align-items:center!important;
}
.final-portrait .final-content{
  align-self:center!important;
  padding:clamp(76px,9vh,120px) 0!important;
}
.final-portrait-wrap{
  align-self:center!important;
  justify-self:center!important;
  width:clamp(260px,28vw,470px)!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.final-portrait-wrap img{
  width:100%!important;
  height:auto!important;
  max-height:min(66vh,700px)!important;
  object-fit:contain!important;
  object-position:center!important;
}
.final-portrait-wrap:after{
  background:
    linear-gradient(90deg,#090807 0%,transparent 12%,transparent 88%,#090807 100%),
    linear-gradient(0deg,#090807 0%,transparent 22%)!important;
}
.final-portrait:before{
  background:linear-gradient(90deg,#090807 0%,rgba(9,8,7,.98) 44%,rgba(9,8,7,.58) 68%,rgba(9,8,7,.12) 100%)!important;
}

@media(max-width:900px){
  .final-split{
    grid-template-columns:1fr!important;
    grid-template-areas:"avatar" "copy"!important;
    gap:18px!important;
    align-items:start!important;
  }
  .final-portrait-wrap{
    grid-area:avatar!important;
    order:-1;
    width:132px!important;
    height:132px!important;
    min-height:132px!important;
    margin-top:78px!important;
    justify-self:start!important;
    border-radius:50%!important;
    overflow:hidden!important;
    border:1px solid rgba(211,177,130,.42);
    box-shadow:0 16px 44px rgba(0,0,0,.28);
  }
  .final-portrait-wrap img{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    object-fit:cover!important;
    object-position:center 22%!important;
  }
  .final-portrait-wrap:after{
    background:linear-gradient(0deg,rgba(9,8,7,.18),transparent 42%)!important;
  }
  .final-portrait .final-content{
    grid-area:copy!important;
    padding:0 0 82px!important;
  }
  .final-portrait:before{
    background:linear-gradient(180deg,#090807 0%,rgba(9,8,7,.98) 58%,rgba(9,8,7,.92) 100%)!important;
  }
  .section-ceremony{padding-top:96px!important;padding-bottom:92px!important}
  .section-ceremony .ceremony-layout{gap:38px!important;margin-bottom:44px!important}
  .ceremony-video-mask{width:calc(100% - 28px)!important}
}
@media(max-width:700px){
  .photo-table{
    height:760px!important;
    min-height:760px!important;
  }
  .photo-float{border-radius:12px}
  .immersive-mask>img{border-radius:20px}
  .sixty-poster{width:min(330px,78vw)!important}
}
@media(prefers-reduced-motion:reduce){
  .photo-float{animation:none!important}
}

/* Keep overlays as soft as the masked image itself */
.immersive-mask>.media-dim{
  -webkit-mask-image:radial-gradient(ellipse 92% 90% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.92) 82%,transparent 100%);
  mask-image:radial-gradient(ellipse 92% 90% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.92) 82%,transparent 100%);
}
.ceremony-video-mask>.media-dim{
  -webkit-mask-image:radial-gradient(ellipse 95% 88% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.94) 82%,transparent 100%);
  mask-image:radial-gradient(ellipse 95% 88% at 50% 50%,#000 0%,#000 72%,rgba(0,0,0,.94) 82%,transparent 100%);
}


/* ===== V10.2 — conversion-first CTA system, no public price block ===== */
.nav-cta{
  border-color:rgba(211,177,130,.48)!important;
  background:rgba(211,177,130,.10)!important;
  color:#f7efe5!important;
  box-shadow:0 0 0 1px rgba(211,177,130,.04),0 8px 28px rgba(0,0,0,.12);
}
.topbar.is-scrolled .nav-cta{
  background:var(--gold)!important;
  color:#17120d!important;
}
.cta-main{
  min-width:min(100%,340px);
  justify-content:space-between;
  background:var(--gold)!important;
  color:#17120d!important;
  box-shadow:0 16px 46px rgba(211,177,130,.17),0 10px 30px rgba(0,0,0,.2)!important;
}
.cta-main:hover{box-shadow:0 20px 56px rgba(211,177,130,.24),0 14px 36px rgba(0,0,0,.24)!important}
.cta-microcopy{
  font-family:var(--sans)!important;
  font-size:11px!important;
  line-height:1.4!important;
  letter-spacing:.02em;
  color:rgba(255,255,255,.52)!important;
}
.hero-cta-note{margin:12px 0 0 2px!important}
.final-cta-note{margin:12px 0 0!important;font-size:11px!important;color:rgba(255,255,255,.48)!important}

.conversion-prompt{
  position:relative;
  overflow:hidden;
  padding:0!important;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.conversion-prompt:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 78% 50%,rgba(211,177,130,.10),transparent 30%);
  pointer-events:none;
}
.conversion-prompt-inner{
  position:relative;
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:42px;
}
.conversion-prompt-inner>div{display:flex;flex-direction:column;gap:8px;max-width:760px}
.conversion-prompt-inner span:first-child{
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(211,177,130,.72);
}
.conversion-prompt-inner strong{
  font-family:var(--serif);
  font-size:clamp(30px,3.3vw,50px);
  line-height:1.02;
  letter-spacing:-.035em;
  font-weight:400;
  color:#f5eee6;
}
.conversion-prompt-inner .btn{flex:0 0 auto}

.date-strip-inner strong{max-width:820px}
.date-strip-inner .btn-accent{
  background:var(--gold)!important;
  box-shadow:0 14px 42px rgba(211,177,130,.14),0 9px 26px rgba(0,0,0,.17)!important;
}

.mobile-sticky{
  background:var(--gold)!important;
  color:#17120d!important;
  box-shadow:0 12px 46px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.12)!important;
}
.quiz-topline span:last-child{color:rgba(211,177,130,.78)}
.quiz-card .submit{margin-top:6px}

@media(max-width:900px){
  .conversion-prompt-inner{min-height:auto;padding:34px 0;flex-direction:column;align-items:stretch;gap:24px}
  .conversion-prompt-inner .btn{width:100%}
  .hero-cta-note{text-align:center;margin-left:0!important}
  .final-cta-note{text-align:left}
}


/* ===== V10.3 responsive media audit ===== */

/* ABOUT: stable composition across widths */
.about-responsive{
  display:grid;
  grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);
  grid-template-areas:
    "photo copy"
    "rail rail"
    "quote quote";
  column-gap:clamp(38px,5vw,76px);
  row-gap:clamp(32px,4vw,54px);
  align-items:start;
}
.about-responsive .about-photo{
  grid-area:photo;
  margin:0;
  align-self:start;
  width:100%;
  max-width:560px;
  justify-self:start;
  background:transparent!important;
}
.about-responsive .about-photo img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-height:min(70vh,760px)!important;
  object-fit:contain!important;
  object-position:center top!important;
}
.about-responsive .about-copy{
  grid-area:copy;
  min-width:0;
  align-self:start;
}
.about-responsive .about-heading{margin-bottom:28px}
.about-responsive .about-facts{
  margin:26px 0 0!important;
}

/* media rail replaces shrinking static logos */
.media-rail{
  grid-area:rail;
  min-width:0;
  margin-top:2px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.14);
}
.media-rail-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:16px;
}
.media-rail-head span{
  font-family:var(--serif);
  font-size:clamp(28px,3.2vw,46px);
  line-height:1;
  letter-spacing:-.035em;
  color:#eadfce;
}
.media-rail-head b{
  font-size:9px;
  line-height:1.4;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(255,255,255,.42);
  font-weight:600;
  text-align:right;
}
.media-rail-window{
  position:relative;
  overflow:hidden;
  min-height:92px;
  display:flex;
  align-items:center;
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}
.media-rail-track{
  display:flex;
  width:max-content;
  align-items:center;
  animation:mediaRailMove 28s linear infinite;
  will-change:transform;
}
.media-rail:hover .media-rail-track{animation-play-state:paused}
.media-rail-set{
  display:flex;
  align-items:center;
  gap:clamp(26px,3vw,48px);
  padding-right:clamp(26px,3vw,48px);
  flex:0 0 auto;
}
.media-rail-set img{
  display:block;
  width:auto!important;
  max-width:none!important;
  object-fit:contain!important;
  background:transparent!important;
  border-radius:0!important;
  padding:0!important;
  opacity:.94;
  filter:drop-shadow(0 0 12px rgba(255,255,255,.05)) saturate(.96);
}
.media-rail-set .rail-dfm{height:48px!important}
.media-rail-set .rail-energy{height:44px!important}
.media-rail-set .rail-rusradio{height:38px!important}
.media-rail-set .rail-terra{height:38px!important}
.media-rail-set .rail-mir{height:48px!important}
.media-rail-set .rail-first{height:52px!important}
.rail-divider{
  flex:0 0 auto;
  font-size:9px;
  letter-spacing:.18em;
  color:rgba(211,177,130,.58);
  padding-inline:4px;
}
@keyframes mediaRailMove{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.about-responsive .about-quote-wide{
  grid-area:quote;
  margin-top:0!important;
}

/* 60 seconds */
.sixty-layout{align-items:center!important}
.sixty-copy{min-width:0}
.sixty-media{min-width:0!important}
.sixty-poster{
  width:clamp(280px,30vw,420px)!important;
  max-width:100%!important;
  margin-inline:auto!important;
}
.sixty-poster img{
  display:block;
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Showreel + approach video covers */
.showreel-card-premium,
.media-item .wide-video,
.ceremony-video-mask{
  max-width:100%!important;
}
.showreel-card-premium img,
.media-item .wide-video img,
.ceremony-video-mask img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Approach: prevent captions/media from becoming too narrow */
.media-pair{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(20px,3vw,34px)!important;
}
.media-item{min-width:0}

/* Ceremony: no forced crop, balanced ratios */
.ceremony-layout{
  grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr)!important;
  align-items:center!important;
  gap:clamp(34px,5vw,70px)!important;
}
.ceremony-photo{min-width:0!important}
.ceremony-photo img{
  width:100%!important;
  height:auto!important;
  max-height:min(72vh,760px)!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Cloud gallery: relative sizing instead of fixed desktop proportions */
.photo-table{
  height:clamp(580px,62vw,820px)!important;
  min-height:580px!important;
}
.photo-card img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Final CTA: portrait remains visually tied to copy */
.final-split{
  grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)!important;
  gap:clamp(24px,5vw,68px)!important;
  align-items:center!important;
}
.final-portrait-wrap{
  width:clamp(260px,28vw,450px)!important;
  height:auto!important;
  min-height:0!important;
  align-self:center!important;
  justify-self:center!important;
  overflow:visible!important;
}
.final-portrait-wrap img{
  width:100%!important;
  height:auto!important;
  max-height:min(68vh,700px)!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* Large tablet: keep ABOUT two-column instead of dropping the photo far below */
@media(max-width:1100px){
  .about-responsive{
    grid-template-columns:minmax(270px,.78fr) minmax(0,1.22fr);
    column-gap:34px;
  }
  .about-responsive .about-photo img{max-height:620px!important}
  .media-rail-set .rail-dfm{height:44px!important}
  .media-rail-set .rail-energy{height:41px!important}
  .media-rail-set .rail-rusradio{height:35px!important}
  .media-rail-set .rail-terra{height:35px!important}
  .media-rail-set .rail-mir{height:44px!important}
  .media-rail-set .rail-first{height:48px!important}

  .ceremony-layout{
    grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr)!important;
    gap:32px!important;
  }
}

/* Tablet */
@media(max-width:900px){
  .about-responsive{
    grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
    grid-template-areas:
      "photo copy"
      "rail rail"
      "quote quote";
    column-gap:28px;
    row-gap:30px;
  }
  .about-responsive .about-photo{
    align-self:start!important;
    margin-top:34px;
  }
  .about-responsive .about-photo img{
    max-height:500px!important;
  }
  .about-responsive .about-heading h2{
    font-size:clamp(52px,8vw,76px)!important;
  }
  .about-responsive .about-facts{
    grid-template-columns:1fr!important;
  }
  .about-responsive .about-facts .fact+.fact{
    padding-left:0!important;
    border-left:0!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
  }
  .media-rail-head{
    align-items:flex-start;
  }

  .media-pair{
    grid-template-columns:1fr!important;
    gap:36px!important;
  }
  .media-item{
    width:min(760px,100%);
    margin-inline:auto;
  }

  .ceremony-layout{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .ceremony-photo{
    width:min(760px,100%);
    justify-self:center;
  }
  .ceremony-photo img{
    max-height:none!important;
  }

  .final-split{
    grid-template-columns:minmax(0,1fr) minmax(220px,.58fr)!important;
    gap:24px!important;
  }
  .final-portrait-wrap{
    width:clamp(220px,31vw,330px)!important;
  }
}

/* Phone: intentional mobile compositions */
@media(max-width:720px){
  .about-responsive{
    grid-template-columns:1fr;
    grid-template-areas:
      "copy"
      "photo"
      "rail"
      "quote";
    row-gap:26px;
  }
  .about-responsive .about-copy{grid-area:copy}
  .about-responsive .about-photo{
    grid-area:photo;
    margin:0 auto!important;
    width:min(72vw,340px)!important;
    justify-self:center!important;
  }
  .about-responsive .about-photo img{
    max-height:none!important;
    width:100%!important;
  }
  .media-rail{grid-area:rail}
  .media-rail-head{
    display:block;
    margin-bottom:12px;
  }
  .media-rail-head span{
    font-size:32px;
  }
  .media-rail-head b{
    display:block;
    margin-top:7px;
    text-align:left;
  }
  .media-rail-window{min-height:78px}
  .media-rail-track{animation-duration:24s}
  .media-rail-set{gap:26px;padding-right:26px}
  .media-rail-set .rail-dfm{height:40px!important}
  .media-rail-set .rail-energy{height:38px!important}
  .media-rail-set .rail-rusradio{height:32px!important}
  .media-rail-set .rail-terra{height:32px!important}
  .media-rail-set .rail-mir{height:40px!important}
  .media-rail-set .rail-first{height:44px!important}
  .about-responsive .about-quote-wide{grid-area:quote}

  .sixty-layout{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }
  .sixty-poster{
    width:min(330px,82vw)!important;
  }

  .showreel-card-premium,
  .media-item .wide-video,
  .ceremony-video-mask{
    width:100%!important;
  }

  .photo-table{
    height:760px!important;
    min-height:760px!important;
  }

  .final-split{
    grid-template-columns:1fr!important;
    grid-template-areas:"portrait" "copy"!important;
    gap:12px!important;
  }
  .final-portrait-wrap{
    grid-area:portrait!important;
    width:min(42vw,170px)!important;
    margin:70px 0 0!important;
    justify-self:start!important;
    overflow:visible!important;
    border:0!important;
    box-shadow:none!important;
  }
  .final-portrait-wrap img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .final-portrait .final-content{
    grid-area:copy!important;
    padding:0 0 84px!important;
  }
}

@media(max-width:480px){
  .about-responsive .about-photo{width:min(78vw,320px)!important}
  .media-rail-window{
    margin-inline:-12px;
  }
  .media-rail-set .rail-dfm{height:36px!important}
  .media-rail-set .rail-energy{height:34px!important}
  .media-rail-set .rail-rusradio{height:28px!important}
  .media-rail-set .rail-terra{height:28px!important}
  .media-rail-set .rail-mir{height:36px!important}
  .media-rail-set .rail-first{height:40px!important}
  .photo-table{
    height:700px!important;
    min-height:700px!important;
  }
}

/* pause animated rail for users asking for reduced motion */
@media(prefers-reduced-motion:reduce){
  .media-rail-track{animation:none!important}
}


/* ===== V10.4 — dedicated mobile art direction ===== */

/* New final portrait: whole source stays visible, no face crop */
.final-portrait-new{
  z-index:0!important;
}
.final-portrait-new img{
  object-fit:contain!important;
  object-position:center!important;
  border-radius:0!important;
}

/* Tablet refinement: keep layouts composed, not mechanically stacked */
@media(max-width:900px) and (min-width:721px){
  .hero-content{max-width:760px}
  .sixty-layout{
    grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)!important;
    gap:30px!important;
    align-items:center!important;
  }
  .sixty-poster{width:min(330px,36vw)!important}

  .manifesto-grid{
    grid-template-columns:.72fr 1.28fr!important;
    gap:38px!important;
  }
  .sticky-title{position:sticky!important;top:92px!important}

  .ceremony-layout{
    grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr)!important;
  }

  .prep-stage{
    grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr)!important;
  }

  .final-split{
    grid-template-columns:minmax(0,1fr) minmax(260px,.66fr)!important;
    min-height:720px!important;
  }
  .final-portrait-new{
    width:min(340px,34vw)!important;
    justify-self:end!important;
    align-self:center!important;
  }
}

/* Dedicated phone composition */
@media(max-width:720px){

  /* Global rhythm */
  .container{
    width:min(100% - 32px,560px)!important;
  }
  .sixty,.ceremony,.preparation,.guests,.about,.showreel-band,.manifesto,.reviews{
    padding:72px 0!important;
  }
  .kicker,.eyebrow{
    font-size:9px!important;
    letter-spacing:.22em!important;
  }

  /* Top bar: brand + one clear action */
  .topbar{
    padding:14px 16px!important;
    align-items:center!important;
    mix-blend-mode:normal!important;
    background:linear-gradient(180deg,rgba(7,7,6,.74),rgba(7,7,6,0))!important;
    backdrop-filter:none!important;
  }
  .brand{font-size:11px!important;letter-spacing:.18em!important}
  .nav{gap:0!important}
  .nav a{display:none!important}
  .nav-cta{
    display:block!important;
    font-size:10px!important;
    padding:9px 12px!important;
    border-color:rgba(255,255,255,.42)!important;
    background:rgba(12,11,10,.22)!important;
    backdrop-filter:blur(10px)!important;
  }

  /* HERO: one cinematic mobile scene, not desktop stacked vertically */
  .hero{
    min-height:100svh!important;
    align-items:end!important;
  }
  .hero-video{
    object-position:60% center!important;
  }
  .hero-shade{
    background:
      linear-gradient(180deg,rgba(5,5,5,.12) 0%,rgba(5,5,5,.18) 35%,rgba(5,5,5,.82) 77%,rgba(5,5,5,.97) 100%),
      linear-gradient(90deg,rgba(5,5,5,.55),transparent 70%)!important;
  }
  .hero-content{
    width:100%!important;
    padding:0 16px 28px!important;
    margin:0!important;
  }
  .hero .eyebrow{
    margin-bottom:12px!important;
    max-width:250px;
  }
  .hero h1{
    font-size:clamp(58px,17.5vw,82px)!important;
    line-height:.82!important;
    letter-spacing:-.065em!important;
    margin:0!important;
    max-width:100%!important;
  }
  .hero-lead{
    font-size:22px!important;
    line-height:1.02!important;
    max-width:310px!important;
    margin:18px 0 22px!important;
  }
  .hero-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 54px!important;
    gap:10px!important;
    align-items:stretch!important;
  }
  .hero-actions .btn-primary{
    width:100%!important;
    min-height:54px!important;
    padding:12px 15px!important;
    text-align:left!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  .hero-actions .btn-primary span{
    font-size:12px!important;
    line-height:1.12!important;
  }
  .hero-actions .btn-ghost{
    width:54px!important;
    min-width:54px!important;
    height:54px!important;
    padding:0!important;
    border-radius:50%!important;
    font-size:0!important;
    display:grid!important;
    place-items:center!important;
    background:rgba(255,255,255,.10)!important;
  }
  .hero-actions .btn-ghost:after{
    content:"▶";
    font-size:14px;
    transform:translateX(1px);
  }
  .hero-cta-note{
    font-size:9px!important;
    margin-top:10px!important;
    opacity:.58!important;
  }

  /* 01 / 60 seconds: poster floats inside one composition */
  .sixty{
    min-height:630px!important;
    overflow:hidden!important;
    position:relative!important;
  }
  .sixty-layout{
    position:relative!important;
    display:block!important;
    min-height:520px!important;
  }
  .sixty-copy{
    position:relative!important;
    z-index:3!important;
    width:66%!important;
    padding-top:10px!important;
  }
  .sixty-copy h2{
    font-size:clamp(40px,11vw,50px)!important;
    line-height:.91!important;
    margin-top:14px!important;
  }
  .sixty-copy .large-copy{
    font-size:18px!important;
    line-height:1.18!important;
    margin-top:24px!important;
    max-width:240px!important;
  }
  .sixty-media{
    position:absolute!important;
    right:-26px!important;
    top:86px!important;
    width:49%!important;
    z-index:2!important;
  }
  .sixty-poster{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-shadow:0 26px 80px rgba(0,0,0,.34)!important;
  }
  .sixty-giant{
    right:-.04em!important;
    left:auto!important;
    top:12%!important;
    font-size:52vw!important;
    opacity:.035!important;
  }

  /* SHOWREEL: edge-to-edge cinema strip */
  .showreel-band{
    padding-bottom:50px!important;
    overflow:hidden!important;
  }
  .showreel-band .band-head{
    margin-bottom:20px!important;
  }
  .showreel-band h2{
    font-size:48px!important;
    line-height:.9!important;
  }
  .showreel-card-premium{
    width:calc(100% + 32px)!important;
    margin-left:-16px!important;
    border-radius:0!important;
  }
  .showreel-card-premium .watch-badge{
    left:16px!important;
    right:auto!important;
    bottom:14px!important;
    padding:10px 13px!important;
    font-size:10px!important;
  }
  .showreel-atmosphere{
    left:14px!important;
    top:14px!important;
    flex-wrap:wrap!important;
    max-width:72%!important;
  }

  /* Conversion prompt: compact editorial bar, not another stacked section */
  .conversion-prompt{
    padding:0!important;
  }
  .conversion-prompt-inner{
    min-height:112px!important;
    padding:22px 0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 48px!important;
    gap:14px!important;
    align-items:center!important;
  }
  .conversion-prompt-inner>div{
    gap:5px!important;
  }
  .conversion-prompt-inner strong{
    font-size:21px!important;
    line-height:1.02!important;
  }
  .conversion-prompt-inner .btn{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    padding:0!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
  }
  .conversion-prompt-inner .btn span{display:none!important}
  .conversion-prompt-inner .btn i{
    font-size:18px!important;
    margin:0!important;
  }

  /* 03 / APPROACH: intentionally staggered editorial rhythm */
  .manifesto-grid{
    display:block!important;
  }
  .sticky-title{
    position:relative!important;
    top:auto!important;
    width:82%!important;
    margin-bottom:32px!important;
  }
  .manifesto h2{
    font-size:50px!important;
    line-height:.9!important;
  }
  .manifesto-copy{
    padding:0!important;
  }
  .manifesto-copy .quote{
    width:78%!important;
    margin:0 0 34px auto!important;
    font-size:29px!important;
    line-height:1.03!important;
    color:rgba(255,255,255,.72)!important;
  }
  .format-card{
    grid-template-columns:34px 1fr!important;
    gap:12px!important;
    padding:23px 18px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    background:rgba(255,255,255,.025)!important;
    margin:0 0 12px!important;
  }
  .format-card:nth-of-type(2){
    width:91%!important;
    margin-right:auto!important;
  }
  .format-card:nth-of-type(3){
    width:86%!important;
    margin-left:auto!important;
  }
  .format-card:nth-of-type(4){
    width:94%!important;
    margin-right:auto!important;
  }
  .format-card h3{
    font-size:26px!important;
    line-height:1!important;
  }
  .format-card p{
    font-size:13px!important;
    line-height:1.5!important;
    margin-bottom:0!important;
  }

  .media-pair{
    display:block!important;
    margin-top:58px!important;
  }
  .media-item{
    width:94%!important;
    margin:0 0 40px!important;
  }
  .media-item:nth-child(2){
    margin-left:auto!important;
  }
  .media-item .wide-video{
    width:100%!important;
  }
  .media-caption{
    width:88%!important;
    margin-top:-18px!important;
    position:relative!important;
    z-index:3!important;
    padding:16px 16px 2px!important;
    background:#0d0c0b!important;
  }
  .media-item:nth-child(2) .media-caption{
    margin-left:auto!important;
    text-align:left!important;
  }
  .media-caption strong{
    font-size:20px!important;
  }
  .media-caption span{
    font-size:12px!important;
    line-height:1.45!important;
  }

  /* 04 / CEREMONY: title → image → floating copy, not a generic column */
  .section-ceremony{
    overflow:hidden!important;
  }
  .ceremony-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto auto auto!important;
    gap:0!important;
    margin-bottom:34px!important;
  }
  .ceremony-main{
    display:contents!important;
  }
  .ceremony-main .kicker{
    grid-row:1!important;
    margin-bottom:12px!important;
  }
  .ceremony-title{
    grid-row:2!important;
    font-size:49px!important;
    line-height:.9!important;
    margin:0 0 24px!important;
    position:relative!important;
    z-index:2!important;
  }
  .ceremony-photo{
    grid-row:3!important;
    width:calc(100% + 32px)!important;
    margin-left:-16px!important;
    min-width:0!important;
  }
  .ceremony-photo img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .ceremony-main .large-copy{
    grid-row:4!important;
    position:relative!important;
    z-index:4!important;
    width:88%!important;
    margin:-34px 0 0 auto!important;
    padding:22px 20px 14px!important;
    background:#17130f!important;
    border-top:1px solid rgba(211,177,130,.28)!important;
    font-size:20px!important;
    line-height:1.18!important;
  }
  .ceremony-main .text-link{
    grid-row:5!important;
    justify-self:end!important;
    margin:0!important;
    width:88%!important;
    padding:8px 20px 18px!important;
    text-align:left!important;
    background:#17130f!important;
    border:0!important;
    border-bottom:1px solid rgba(211,177,130,.18)!important;
    font-size:12px!important;
  }
  .ceremony-video-mask{
    width:calc(100% - 32px)!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
  }

  /* 05 / PREPARATION: swipeable chapter deck */
  .prep-scroll{
    height:auto!important;
    min-height:0!important;
  }
  .prep-sticky{
    position:relative!important;
    top:auto!important;
    min-height:0!important;
  }
  .prep-intro h2{
    font-size:43px!important;
    line-height:.94!important;
    margin-bottom:28px!important;
  }
  .prep-stage{
    display:block!important;
  }
  .prep-timeline{
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    padding:8px 16px 18px 0!important;
    margin-right:-16px!important;
    scrollbar-width:none!important;
  }
  .prep-timeline::-webkit-scrollbar{display:none!important}
  .prep-rail,.prep-interaction-hint{display:none!important}
  .prep-step{
    flex:0 0 min(78vw,310px)!important;
    scroll-snap-align:start!important;
    padding:22px!important;
    min-height:210px!important;
    border:1px solid rgba(0,0,0,.16)!important;
    background:rgba(255,255,255,.22)!important;
    transform:none!important;
  }
  .prep-step:before,.prep-step:after{display:none!important}
  .prep-step small{
    display:block!important;
    margin-bottom:24px!important;
  }
  .prep-step strong{
    font-size:25px!important;
    line-height:1!important;
  }
  .prep-step p{
    font-size:13px!important;
    line-height:1.45!important;
  }
  .prep-step.is-active,.prep-step.is-locked{
    background:#181410!important;
    color:#f3eee7!important;
    border-color:#181410!important;
  }
  .prep-note{
    position:relative!important;
    top:auto!important;
    width:92%!important;
    margin:-2px 0 0 auto!important;
    padding:26px 22px 30px!important;
    border-radius:0!important;
    min-height:230px!important;
    box-shadow:none!important;
  }
  .prep-note-index{
    font-size:62px!important;
    margin-bottom:24px!important;
  }

  /* 06 / PEOPLE: horizontal floating photo cloud instead of tiny absolute cards */
  .photo-table-wrap{
    width:100%!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .photo-table{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    align-items:center!important;
    gap:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding:44px 34px 66px 18px!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    touch-action:pan-x!important;
  }
  .photo-table::-webkit-scrollbar{display:none!important}
  .photo-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    flex:0 0 66vw!important;
    max-width:280px!important;
    scroll-snap-align:center!important;
    margin-right:-18vw!important;
    transform:translateY(0) rotate(var(--r))!important;
    touch-action:pan-x!important;
  }
  .photo-card:nth-child(2n){transform:translateY(28px) rotate(var(--r))!important}
  .photo-card:nth-child(3n){transform:translateY(-24px) rotate(var(--r))!important}
  .photo-card:last-child{margin-right:0!important}
  .photo-card .photo-float{
    animation:none!important;
  }
  .photo-card img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .photo-table-hint{
    font-size:0!important;
    margin:0 16px!important;
  }
  .photo-table-hint:after{
    content:"Листайте кадры";
    font-size:9px!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
  }
  .guest-quote-integrated{
    margin-top:16px!important;
    padding-top:44px!important;
  }
  .guest-quote-integrated p{
    font-size:27px!important;
  }
  .guest-quote-integrated strong{
    font-size:34px!important;
    line-height:.98!important;
  }

  /* 07 / ABOUT: portrait and identity remain in one editorial stage */
  .about-responsive{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(128px,42%)!important;
    grid-template-rows:auto auto auto auto!important;
    column-gap:8px!important;
    row-gap:24px!important;
    align-items:start!important;
  }
  .about-responsive .about-copy{
    display:contents!important;
  }
  .about-responsive .about-heading{
    grid-column:1 / -1!important;
    grid-row:1!important;
    position:relative!important;
    z-index:3!important;
    align-self:start!important;
    padding-top:4px!important;
    pointer-events:none!important;
  }
  .about-responsive .about-heading h2{
    font-size:clamp(54px,15vw,72px)!important;
    line-height:.82!important;
    margin:8px 0 0!important;
    width:76%!important;
    text-shadow:0 4px 34px rgba(0,0,0,.42)!important;
  }
  .about-responsive .about-photo{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    width:100%!important;
    margin:36px 0 0!important;
    justify-self:end!important;
    position:relative!important;
    z-index:1!important;
  }
  .about-responsive .about-photo img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .about-responsive .about-facts{
    grid-column:1!important;
    grid-row:2!important;
    display:block!important;
    margin:110px 0 0!important;
    position:relative!important;
    z-index:4!important;
  }
  .about-responsive .about-facts .fact{
    padding:14px 0!important;
    border:0!important;
    border-top:1px solid rgba(255,255,255,.13)!important;
  }
  .about-responsive .fact-number strong{
    font-size:56px!important;
  }
  .about-responsive .fact-education strong{
    font-size:20px!important;
    line-height:1.02!important;
  }
  .media-rail{
    grid-column:1 / -1!important;
    grid-row:3!important;
    margin-top:6px!important;
  }
  .media-rail-head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:14px!important;
  }
  .media-rail-head span{
    font-size:28px!important;
  }
  .media-rail-head b{
    max-width:130px!important;
    text-align:right!important;
    font-size:7px!important;
  }
  .media-rail-window{
    min-height:72px!important;
    margin-inline:-16px!important;
    padding-inline:16px!important;
  }
  .media-rail-track{animation-duration:22s!important}
  .media-rail-set{gap:28px!important;padding-right:28px!important}
  .media-rail-set .rail-dfm{height:38px!important}
  .media-rail-set .rail-energy{height:35px!important}
  .media-rail-set .rail-rusradio{height:30px!important}
  .media-rail-set .rail-terra{height:30px!important}
  .media-rail-set .rail-mir{height:38px!important}
  .media-rail-set .rail-first{height:42px!important}
  .about-responsive .about-quote-wide{
    grid-column:1 / -1!important;
    grid-row:4!important;
    margin:0!important;
    padding:28px 0 0 42px!important;
  }

  /* Reviews: large centered cards with a visible next-card peek */
  .reviews{
    overflow:hidden!important;
  }
  .reviews-head{
    margin-bottom:28px!important;
  }
  .reviews h2{
    font-size:47px!important;
    line-height:.92!important;
  }
  .reviews-viewport{
    overflow:visible!important;
    padding:0!important;
  }
  .review-slide{
    flex-basis:min(62vw,238px)!important;
    width:min(62vw,238px)!important;
    border-radius:15px!important;
  }

  /* FINAL: copy + portrait share one mobile editorial grid */
  .final-portrait{
    min-height:auto!important;
    padding:82px 0 92px!important;
    display:block!important;
  }
  .final-portrait:before{
    background:
      radial-gradient(circle at 82% 26%,rgba(211,177,130,.12),transparent 24%),
      linear-gradient(180deg,rgba(9,8,7,.25),#090807 80%)!important;
  }
  .final-gold-word{
    top:52px!important;
    left:-10px!important;
    font-size:24vw!important;
  }
  .final-split{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(112px,34%)!important;
    grid-template-rows:auto auto auto auto auto auto!important;
    min-height:0!important;
    gap:10px 10px!important;
    align-items:start!important;
  }
  .final-portrait .final-content{
    display:contents!important;
  }
  .final-content .kicker{
    grid-column:1!important;
    grid-row:1!important;
    align-self:end!important;
    margin:0 0 6px!important;
  }
  .final-content h2{
    grid-column:1!important;
    grid-row:2!important;
    font-size:45px!important;
    line-height:.88!important;
    margin:0!important;
    position:relative!important;
    z-index:2!important;
  }
  .final-content > h2 + p{
    grid-column:1!important;
    grid-row:3!important;
    font-size:18px!important;
    line-height:1.15!important;
    margin:12px 0 0!important;
    max-width:215px!important;
  }
  .final-portrait-new{
    grid-column:2!important;
    grid-row:1 / span 3!important;
    width:100%!important;
    margin:0!important;
    justify-self:end!important;
    align-self:start!important;
    position:relative!important;
    z-index:1!important;
  }
  .final-portrait-new:after{
    display:none!important;
  }
  .final-portrait-new img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    box-shadow:0 20px 60px rgba(0,0,0,.28)!important;
  }
  .final-content .btn{
    grid-column:1 / -1!important;
    grid-row:4!important;
    width:100%!important;
    margin-top:28px!important;
    min-height:54px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:14px 17px!important;
  }
  .final-cta-note{
    grid-column:1 / -1!important;
    grid-row:5!important;
    margin:0!important;
    font-size:9px!important;
  }
  .final-content .socials{
    grid-column:1 / -1!important;
    grid-row:6!important;
    margin:22px 0 0!important;
    gap:18px!important;
    padding-bottom:0!important;
  }

  /* Mobile sticky CTA: clear but not a cheap full-width slab */
  .mobile-sticky{
    left:16px!important;
    right:16px!important;
    bottom:12px!important;
    padding:14px 18px!important;
    border:1px solid rgba(255,255,255,.30)!important;
    background:rgba(242,238,232,.94)!important;
    box-shadow:0 14px 40px rgba(0,0,0,.30)!important;
    backdrop-filter:blur(12px)!important;
  }
}

/* Extra-small phones */
@media(max-width:430px){
  .hero h1{font-size:16.8vw!important}
  .sixty-copy{width:63%!important}
  .sixty-media{width:51%!important;right:-32px!important}
  .manifesto-copy .quote{width:84%!important}
  .about-responsive{
    grid-template-columns:minmax(0,1fr) 138px!important;
  }
  .about-responsive .about-heading h2{font-size:14.5vw!important}
  .about-responsive .about-facts{margin-top:92px!important}
  .final-split{
    grid-template-columns:minmax(0,1fr) 122px!important;
  }
  .final-content h2{font-size:42px!important}
}

/* No autoplay-heavy motion when reduced motion is requested */
@media(prefers-reduced-motion:reduce){
  .media-rail-track{animation:none!important}
}


/* ===== V10.5 — media rail integrated back into About ===== */

/* Desktop: the rail belongs to the right-hand About column, not to the whole page */
.about-responsive{
  grid-template-areas:
    "photo copy"
    "quote quote"!important;
}
.about-responsive .about-copy{
  grid-area:copy!important;
}
.about-responsive .media-rail{
  grid-area:auto!important;
  width:min(100%,520px)!important;
  max-width:520px!important;
  margin:30px 0 0!important;
  padding-top:16px!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
}
.media-rail-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:8px;
}
.media-rail-label span{
  font-size:8px;
  letter-spacing:.20em;
  color:rgba(255,255,255,.58);
  font-weight:650;
}
.media-rail-label b{
  font-size:7px;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(255,255,255,.30);
  font-weight:500;
  text-align:right;
}
.about-responsive .media-rail-window{
  min-height:64px!important;
  width:100%!important;
}
.about-responsive .media-rail-track{
  animation-duration:19s!important;
}
.about-responsive .media-rail-set{
  gap:28px!important;
  padding-right:28px!important;
}
.about-responsive .media-rail-set .rail-dfm{height:36px!important}
.about-responsive .media-rail-set .rail-energy{height:34px!important}
.about-responsive .media-rail-set .rail-rusradio{height:29px!important}
.about-responsive .media-rail-set .rail-terra{height:29px!important}
.about-responsive .media-rail-set .rail-mir{height:36px!important}
.about-responsive .media-rail-set .rail-first{height:39px!important}

/* Tablet: still visibly attached to the facts */
@media(max-width:1100px) and (min-width:721px){
  .about-responsive .media-rail{
    width:min(100%,440px)!important;
    max-width:440px!important;
    margin-top:24px!important;
  }
  .about-responsive .media-rail-window{min-height:60px!important}
}

/* Phone: rail stays inside the About composition, directly after facts */
@media(max-width:720px){
  .about-responsive .media-rail{
    grid-column:1 / -1!important;
    grid-row:3!important;
    width:calc(100% - 18px)!important;
    max-width:none!important;
    margin:2px 0 0 18px!important;
    padding-top:14px!important;
  }
  .media-rail-label{
    margin-bottom:4px!important;
    padding-right:10px!important;
  }
  .media-rail-label span{
    font-size:7px!important;
  }
  .media-rail-label b{
    font-size:6px!important;
    max-width:120px!important;
  }
  .about-responsive .media-rail-window{
    min-height:58px!important;
    margin:0!important;
    padding:0!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%)!important;
  }
  .about-responsive .media-rail-track{
    animation-duration:18s!important;
  }
  .about-responsive .media-rail-set{
    gap:24px!important;
    padding-right:24px!important;
  }
  .about-responsive .media-rail-set .rail-dfm{height:34px!important}
  .about-responsive .media-rail-set .rail-energy{height:32px!important}
  .about-responsive .media-rail-set .rail-rusradio{height:27px!important}
  .about-responsive .media-rail-set .rail-terra{height:27px!important}
  .about-responsive .media-rail-set .rail-mir{height:34px!important}
  .about-responsive .media-rail-set .rail-first{height:37px!important}
}


/* ===== V10.7 — About mobile composition + optical logo sizing ===== */

/* Русское Радио визуально было меньше остальных из-за слишком маленькой заданной высоты.
   Выравниваем не математически, а оптически. */
.about-responsive .media-rail-set .rail-rusradio{
  height:36px!important;
  transform:scale(1.22);
  transform-origin:center center;
  margin-inline:8px;
}

/* На узком экране media rail НЕ уходит отдельной строкой вниз.
   Он остаётся в той же композиции: факты слева, портрет справа,
   ticker — внизу левой колонки. */
@media(max-width:720px){
  .about-responsive{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(132px,40%)!important;
    grid-template-rows:auto minmax(300px,auto) auto!important;
    column-gap:12px!important;
    row-gap:22px!important;
    align-items:stretch!important;
  }

  .about-responsive .about-copy{
    display:contents!important;
  }

  .about-responsive .about-heading{
    grid-column:1 / -1!important;
    grid-row:1!important;
    padding-top:0!important;
    margin:0!important;
    z-index:4!important;
  }

  .about-responsive .about-heading h2{
    width:74%!important;
    margin:8px 0 0!important;
  }

  .about-responsive .about-photo{
    grid-column:2!important;
    grid-row:2!important;
    width:100%!important;
    margin:8px 0 0!important;
    align-self:start!important;
    justify-self:end!important;
    z-index:1!important;
  }

  .about-responsive .about-photo img{
    width:100%!important;
    height:auto!important;
    max-height:315px!important;
    object-fit:contain!important;
    object-position:center top!important;
  }

  .about-responsive .about-facts{
    grid-column:1!important;
    grid-row:2!important;
    align-self:start!important;
    margin:14px 0 0!important;
    z-index:3!important;
  }

  .about-responsive .about-facts .fact{
    padding:12px 0!important;
  }

  .about-responsive .fact-number strong{
    font-size:52px!important;
    line-height:.86!important;
  }

  .about-responsive .fact-education strong{
    font-size:18px!important;
    line-height:1.02!important;
  }

  .about-responsive .fact span{
    font-size:9px!important;
    line-height:1.25!important;
  }

  .about-responsive .media-rail{
    grid-column:1!important;
    grid-row:2!important;
    align-self:end!important;
    width:100%!important;
    max-width:none!important;
    margin:0 0 6px!important;
    padding-top:10px!important;
    border-top:1px solid rgba(255,255,255,.13)!important;
    z-index:3!important;
  }

  .about-responsive .media-rail-label{
    display:block!important;
    margin:0 0 5px!important;
    padding:0!important;
  }

  .about-responsive .media-rail-label span{
    display:block!important;
    font-size:7px!important;
    letter-spacing:.16em!important;
  }

  .about-responsive .media-rail-label b{
    display:none!important;
  }

  .about-responsive .media-rail-window{
    width:100%!important;
    min-height:54px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%)!important;
    mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%)!important;
  }

  .about-responsive .media-rail-track{
    animation-duration:16s!important;
  }

  .about-responsive .media-rail-set{
    gap:23px!important;
    padding-right:23px!important;
  }

  .about-responsive .media-rail-set .rail-dfm{height:34px!important}
  .about-responsive .media-rail-set .rail-energy{height:32px!important}
  .about-responsive .media-rail-set .rail-rusradio{
    height:34px!important;
    transform:scale(1.24)!important;
    margin-inline:9px!important;
  }
  .about-responsive .media-rail-set .rail-terra{height:29px!important}
  .about-responsive .media-rail-set .rail-mir{height:34px!important}
  .about-responsive .media-rail-set .rail-first{height:37px!important}

  .about-responsive .about-quote-wide{
    grid-column:1 / -1!important;
    grid-row:3!important;
    margin:0!important;
    padding:26px 0 0 40px!important;
  }
}

@media(max-width:430px){
  .about-responsive{
    grid-template-columns:minmax(0,1fr) 128px!important;
    grid-template-rows:auto minmax(286px,auto) auto!important;
    column-gap:10px!important;
  }

  .about-responsive .about-photo img{
    max-height:292px!important;
  }

  .about-responsive .fact-number strong{
    font-size:48px!important;
  }

  .about-responsive .fact-education strong{
    font-size:17px!important;
  }

  .about-responsive .media-rail-set .rail-dfm{height:32px!important}
  .about-responsive .media-rail-set .rail-energy{height:30px!important}
  .about-responsive .media-rail-set .rail-rusradio{
    height:33px!important;
    transform:scale(1.25)!important;
  }
  .about-responsive .media-rail-set .rail-terra{height:27px!important}
  .about-responsive .media-rail-set .rail-mir{height:32px!important}
  .about-responsive .media-rail-set .rail-first{height:35px!important}
}


/* ===== V10.8 — CTA readability + Русское Радио optical sizing ===== */

/* Русское Радио — ещё крупнее оптически */
.about-responsive .media-rail-set .rail-rusradio{
  height:42px!important;
  transform:scale(1.34)!important;
  transform-origin:center center!important;
  margin-inline:13px!important;
}

@media(max-width:720px){
  .about-responsive .media-rail-set .rail-rusradio{
    height:39px!important;
    transform:scale(1.34)!important;
    margin-inline:12px!important;
  }
}

@media(max-width:430px){
  .about-responsive .media-rail-set .rail-rusradio{
    height:38px!important;
    transform:scale(1.36)!important;
    margin-inline:12px!important;
  }
}

/* Блок "Нравится такой формат?" — CTA должен читаться сразу */
.conversion-prompt .btn-accent,
.conversion-prompt-inner .btn-accent{
  background:#eee7dc!important;
  color:#16120f!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
}
.conversion-prompt .btn-accent span,
.conversion-prompt-inner .btn-accent span{
  color:#16120f!important;
  opacity:1!important;
  font-weight:650!important;
  text-shadow:none!important;
}
.conversion-prompt .btn-accent i,
.conversion-prompt-inner .btn-accent i{
  color:#16120f!important;
  opacity:1!important;
}
.conversion-prompt .btn-accent:hover,
.conversion-prompt-inner .btn-accent:hover{
  background:#fffaf2!important;
  color:#120f0d!important;
  transform:translateY(-1px);
}

/* Main CTA wording is longer now — preserve clean wrapping/readability */
.btn-primary span,
.btn-accent span{
  text-wrap:balance;
}

@media(max-width:720px){
  .conversion-prompt-inner .btn-accent{
    background:#eee7dc!important;
    color:#16120f!important;
  }
  .conversion-prompt-inner .btn-accent i{
    color:#16120f!important;
  }
}


/* ===== V10.9 — conversion CTA correction ===== */
/* Return the button itself to the original gold/accent style.
   Only the typography/icon stays dark for contrast. */
.conversion-prompt .btn-accent,
.conversion-prompt-inner .btn-accent{
  background:var(--accent)!important;
  color:#15120f!important;
  border-color:transparent!important;
  box-shadow:0 10px 30px rgba(0,0,0,.16)!important;
}
.conversion-prompt .btn-accent span,
.conversion-prompt-inner .btn-accent span,
.conversion-prompt .btn-accent i,
.conversion-prompt-inner .btn-accent i{
  color:#15120f!important;
  opacity:1!important;
  text-shadow:none!important;
}
.conversion-prompt .btn-accent:hover,
.conversion-prompt-inner .btn-accent:hover{
  background:var(--accent)!important;
  color:#15120f!important;
}


/* ===== V10.10 — Русское Радио: final optical scale correction ===== */
.about-responsive .media-rail-set .rail-rusradio{
  height:48px!important;
  transform:scale(1.46)!important;
  transform-origin:center center!important;
  margin-inline:17px!important;
}

@media(max-width:720px){
  .about-responsive .media-rail-set .rail-rusradio{
    height:44px!important;
    transform:scale(1.46)!important;
    margin-inline:15px!important;
  }
}

@media(max-width:430px){
  .about-responsive .media-rail-set .rail-rusradio{
    height:42px!important;
    transform:scale(1.48)!important;
    margin-inline:15px!important;
  }
}


/* ===== V10.11 — copy, CTA system, date emphasis, custom wordmark ===== */

:root{
  --brand-gold:#d3b274;
  --brand-gold-hover:#dfc18a;
  --brand-ink:#17120d;
}

/* Custom SERGEY CHERNIKOV wordmark */
.brand-lockup{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#f7f2ea!important;
  text-decoration:none!important;
  letter-spacing:0!important;
}
.brand-mark{
  position:relative;
  display:block;
  flex:0 0 38px;
  width:38px;
  height:34px;
}
.brand-mark i,
.brand-mark b{
  position:absolute;
  top:50%;
  font-family:var(--serif);
  font-style:normal;
  font-weight:400;
  line-height:.8;
  transform:translateY(-50%);
  user-select:none;
}
.brand-mark i{
  left:0;
  font-size:34px;
  color:var(--brand-gold);
  z-index:2;
}
.brand-mark b{
  left:13px;
  top:53%;
  font-size:31px;
  color:#f7f2ea;
  opacity:.94;
  z-index:1;
}
.brand-mark:after{
  content:"";
  position:absolute;
  left:31px;
  top:4px;
  width:1px;
  height:25px;
  background:rgba(211,178,116,.46);
}
.brand-word{
  display:grid;
  gap:1px;
  line-height:1;
  transform:translateY(1px);
}
.brand-word small{
  font-size:7px;
  font-weight:600;
  letter-spacing:.32em;
  color:rgba(247,242,234,.58);
}
.brand-word strong{
  font-size:10px;
  font-weight:700;
  letter-spacing:.17em;
  color:#f7f2ea;
}

/* Splash uses the same identity at a larger scale */
.brand-splash{
  background:
    radial-gradient(circle at 50% 45%,rgba(211,178,116,.08),transparent 28%),
    #0d0c0b!important;
}
.brand-splash-logo{
  display:flex;
  align-items:center;
  gap:22px;
  animation:splashLogoIn .8s var(--ease-premium) both;
}
.brand-splash-logo .brand-mark{
  width:92px;
  height:78px;
  flex-basis:92px;
}
.brand-splash-logo .brand-mark i{font-size:78px}
.brand-splash-logo .brand-mark b{left:31px;font-size:71px}
.brand-splash-logo .brand-mark:after{
  left:80px;
  top:7px;
  height:62px;
  background:rgba(211,178,116,.42);
}
.brand-splash-logo .brand-word{gap:5px}
.brand-splash-logo .brand-word small{
  font-size:10px;
  letter-spacing:.38em;
}
.brand-splash-logo .brand-word strong{
  font-size:22px;
  letter-spacing:.18em;
}
@keyframes splashLogoIn{
  0%{opacity:0;transform:translateY(14px) scale(.985)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}

/* One visual language for all conversion buttons */
button[data-open-quiz],
.btn-primary,
.btn-accent,
.nav-cta,
.mobile-sticky{
  position:relative!important;
  overflow:hidden!important;
  background-color:var(--brand-gold)!important;
  background-image:linear-gradient(105deg,transparent 0 42%,rgba(255,255,255,.22) 49%,transparent 56%)!important;
  background-size:230% 100%!important;
  background-position:125% 0!important;
  color:var(--brand-ink)!important;
  border:1px solid rgba(23,18,13,.13)!important;
  border-radius:999px!important;
  font-family:var(--sans)!important;
  font-size:11.5px!important;
  line-height:1.15!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
  text-shadow:none!important;
  box-shadow:0 10px 30px rgba(0,0,0,.16)!important;
  transition:
    transform .28s var(--ease-premium),
    box-shadow .28s ease,
    background-position .65s var(--ease-premium),
    background-color .28s ease!important;
}
button[data-open-quiz] span,
.btn-primary span,
.btn-accent span,
.mobile-sticky span,
.nav-cta span{
  color:var(--brand-ink)!important;
  opacity:1!important;
}
button[data-open-quiz] i,
.btn-primary i,
.btn-accent i{
  color:var(--brand-ink)!important;
  transition:transform .28s var(--ease-premium)!important;
}
button[data-open-quiz]:hover,
.btn-primary:hover,
.btn-accent:hover,
.nav-cta:hover,
.mobile-sticky:hover{
  background-color:var(--brand-gold-hover)!important;
  background-position:-115% 0!important;
  transform:translateY(-2px)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.23)!important;
}
button[data-open-quiz]:hover i,
.btn-primary:hover i,
.btn-accent:hover i{
  transform:translate(3px,-3px)!important;
}

/* Header CTA is the compact version of the same system */
.nav-cta{
  min-height:42px!important;
  padding:10px 17px!important;
}

/* Secondary buttons: same typography + motion, quieter treatment */
.btn-ghost{
  min-height:52px!important;
  border-radius:999px!important;
  border:1px solid rgba(211,178,116,.45)!important;
  background:rgba(13,12,11,.36)!important;
  color:#f7f2ea!important;
  font-family:var(--sans)!important;
  font-size:11.5px!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
  backdrop-filter:blur(10px)!important;
  transition:transform .28s var(--ease-premium),border-color .28s ease,background .28s ease!important;
}
.btn-ghost:hover{
  transform:translateY(-2px)!important;
  border-color:rgba(211,178,116,.78)!important;
  background:rgba(211,178,116,.10)!important;
}
.text-link{
  font-family:var(--sans)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.055em!important;
  border-bottom-color:rgba(211,178,116,.55)!important;
  transition:color .25s ease,border-color .25s ease!important;
}
.text-link:hover{
  color:var(--brand-gold)!important;
  border-bottom-color:var(--brand-gold)!important;
}
.watch-badge{
  font-family:var(--sans)!important;
  font-size:10.5px!important;
  font-weight:700!important;
  letter-spacing:.045em!important;
  transition:transform .28s var(--ease-premium),background .28s ease!important;
}
.cover-only:hover .watch-badge{
  transform:translateY(-2px)!important;
}

/* Manifesto: "Истории." becomes the gold accent */
.manifesto .sticky-title h2 em{
  color:var(--brand-gold)!important;
}

/* Date strip: the question must lead the composition */
.date-strip{
  background:
    radial-gradient(circle at 17% 50%,rgba(211,178,116,.08),transparent 28%),
    #0d0c0b!important;
}
.date-strip-inner{
  min-height:240px!important;
}
.date-strip-copy{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  max-width:720px;
}
.date-strip-inner .date-strip-question{
  display:block!important;
  font-family:var(--serif)!important;
  font-size:clamp(46px,5.6vw,78px)!important;
  line-height:.88!important;
  letter-spacing:-.045em!important;
  text-transform:none!important;
  color:var(--brand-gold)!important;
  opacity:1!important;
  font-weight:400!important;
}
.date-strip-inner .date-strip-copy strong{
  font-family:var(--sans)!important;
  font-size:clamp(16px,1.6vw,21px)!important;
  line-height:1.3!important;
  letter-spacing:-.02em!important;
  font-weight:500!important;
  color:rgba(247,242,234,.72)!important;
}

/* After deleting the old people quote, keep the gallery ending deliberate */
.guests{
  padding-bottom:clamp(72px,8vw,112px)!important;
}

/* Mobile wordmark + button system */
@media(max-width:720px){
  .brand-lockup{gap:7px!important}
  .brand-lockup .brand-mark{
    width:30px;
    height:28px;
    flex-basis:30px;
  }
  .brand-lockup .brand-mark i{font-size:28px}
  .brand-lockup .brand-mark b{left:10px;font-size:25px}
  .brand-lockup .brand-mark:after{
    left:25px;
    top:3px;
    height:21px;
  }
  .brand-lockup .brand-word small{
    font-size:5.5px;
    letter-spacing:.28em;
  }
  .brand-lockup .brand-word strong{
    font-size:8px;
    letter-spacing:.14em;
  }

  .date-strip-inner{
    min-height:0!important;
    padding:58px 0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:28px!important;
    align-items:start!important;
  }
  .date-strip-inner .date-strip-question{
    font-size:clamp(43px,12vw,58px)!important;
  }
  .date-strip-inner .date-strip-copy strong{
    font-size:16px!important;
    max-width:310px;
  }
  .date-strip-inner .btn-accent{
    width:100%!important;
    min-height:54px!important;
    justify-content:space-between!important;
    padding:14px 18px!important;
  }

  button[data-open-quiz],
  .btn-primary,
  .btn-accent,
  .mobile-sticky{
    font-size:11px!important;
    letter-spacing:.025em!important;
  }

  .brand-splash-logo{
    gap:14px;
  }
  .brand-splash-logo .brand-mark{
    width:66px;
    height:58px;
    flex-basis:66px;
  }
  .brand-splash-logo .brand-mark i{font-size:58px}
  .brand-splash-logo .brand-mark b{left:23px;font-size:52px}
  .brand-splash-logo .brand-mark:after{
    left:57px;
    top:6px;
    height:45px;
  }
  .brand-splash-logo .brand-word small{font-size:7px}
  .brand-splash-logo .brand-word strong{font-size:15px}
}

@media(max-width:430px){
  .brand-word strong{letter-spacing:.11em}
  .nav-cta{
    font-size:9px!important;
    padding:9px 12px!important;
  }
}

/* Motion accessibility */
@media(prefers-reduced-motion:reduce){
  button[data-open-quiz],
  .btn-primary,.btn-accent,.nav-cta,.mobile-sticky,.btn-ghost,.watch-badge{
    transition:none!important;
  }
}


/* ===== V11 Motion & Conversion Pass ===== */
:root{
  --motion-gold:#d1ad70;
  --motion-gold-hover:#dec18b;
  --motion-ink:#17120d;
}

/* Early proof rail */
.proof-rail{
  position:relative;
  z-index:6;
  overflow:hidden;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#0b0a09!important;
  min-height:42px;
  display:flex;
  align-items:center;
}
.proof-rail:before,
.proof-rail:after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:9vw;
  z-index:2;
  pointer-events:none;
}
.proof-rail:before{left:0;background:linear-gradient(90deg,#0b0a09,transparent)}
.proof-rail:after{right:0;background:linear-gradient(-90deg,#0b0a09,transparent)}
.proof-rail-track{
  display:flex;
  width:max-content;
  animation:proofRail 27s linear infinite;
  will-change:transform;
}
.proof-rail-set{
  display:flex;
  align-items:center;
  gap:22px;
  padding-right:22px;
  white-space:nowrap;
}
.proof-rail-set span{
  font-size:9px;
  font-weight:700;
  letter-spacing:.19em;
  color:rgba(247,242,234,.72);
}
.proof-rail-set i{
  font-style:normal;
  color:var(--motion-gold);
  opacity:.72;
}
@keyframes proofRail{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

/* Hero -> content feels like one continuous scene */
.hero{
  isolation:isolate;
}
.hero:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-1px;
  height:18vh;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,transparent,#0b0a09 96%);
}
.sixty-premium{
  position:relative;
  z-index:2;
}
.sixty-premium:before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(1160px,86vw);
  height:1px;
  transform:translateX(-50%) scaleX(.2);
  transform-origin:center;
  background:linear-gradient(90deg,transparent,var(--motion-gold),transparent);
  opacity:.62;
  transition:transform 1.15s var(--ease-premium),opacity .8s ease;
}
.sixty-premium.is-wiped:before{
  transform:translateX(-50%) scaleX(1);
}

/* Showreel becomes the main cinema moment */
.showreel-band{
  overflow:hidden!important;
}
.showreel-band>.container{
  width:min(1500px,calc(100% - 32px))!important;
}
.showreel-card-premium{
  margin-inline:auto!important;
  overflow:hidden!important;
  border-radius:var(--show-radius,18px)!important;
  box-shadow:0 30px 90px rgba(0,0,0,var(--show-shadow,.20))!important;
  transition:border-radius .35s ease,box-shadow .35s ease!important;
}
.showreel-band .band-head{
  opacity:calc(1 - var(--show-focus,0) * .34);
  transform:translateY(calc(var(--show-focus,0) * -10px));
  transition:opacity .16s linear,transform .16s linear;
}
.showreel-card-premium .watch-badge{
  backdrop-filter:blur(14px);
}

/* Gold reveal for "Истории." */
.stories-word{
  position:relative;
  display:inline-block;
  color:var(--motion-gold)!important;
}
.stories-word span{
  position:relative;
  z-index:2;
  display:inline-block;
  background:linear-gradient(90deg,#b98f50 0%,#d1ad70 34%,#f0dba9 49%,#d1ad70 62%,#b98f50 100%);
  background-size:220% 100%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  transform:translateY(10px);
  opacity:.05;
}
.sticky-title.visible .stories-word span{
  animation:storyGoldIn 1.05s var(--ease-premium) .18s forwards,
            storyGoldSweep 2.1s var(--ease-premium) 1.05s 1 forwards;
}
.stories-word:after{
  content:"";
  position:absolute;
  left:2%;right:0;bottom:-7px;
  height:1px;
  background:linear-gradient(90deg,var(--motion-gold),rgba(209,173,112,0));
  transform:scaleX(0);
  transform-origin:left;
  opacity:.9;
}
.sticky-title.visible .stories-word:after{
  animation:storyLine 1s var(--ease-premium) .55s forwards;
}
@keyframes storyGoldIn{
  to{transform:translateY(0);opacity:1}
}
@keyframes storyGoldSweep{
  from{background-position:120% 0}
  to{background-position:-100% 0}
}
@keyframes storyLine{
  to{transform:scaleX(1)}
}

/* One CHERNIKOV button system. Header remains compact, all main CTAs match it. */
.btn-primary,
.btn-accent,
.submit,
.final-date-submit,
.mobile-sticky{
  min-height:54px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  border:1px solid rgba(20,15,10,.14)!important;
  background-color:var(--motion-gold)!important;
  background-image:none!important;
  color:var(--motion-ink)!important;
  font-family:var(--sans)!important;
  font-size:11.5px!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:.035em!important;
  box-shadow:0 10px 30px rgba(0,0,0,.17)!important;
  isolation:isolate;
  overflow:hidden!important;
  transition:transform .3s var(--ease-premium),box-shadow .3s ease,background-color .3s ease!important;
}
.btn-primary:before,
.btn-accent:before,
.submit:before,
.final-date-submit:before,
.mobile-sticky:before{
  content:"";
  position:absolute;
  inset:-40% auto -40% -35%;
  width:26%;
  transform:skewX(-18deg) translateX(-220%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);
  opacity:.52;
  transition:transform .72s var(--ease-premium);
  pointer-events:none;
  z-index:-1;
}
.btn-primary:hover,
.btn-accent:hover,
.submit:hover,
.final-date-submit:hover,
.mobile-sticky:hover{
  background-color:var(--motion-gold-hover)!important;
  transform:translateY(-2px) scale(1.012)!important;
  box-shadow:0 17px 42px rgba(0,0,0,.23)!important;
}
.btn-primary:hover:before,
.btn-accent:hover:before,
.submit:hover:before,
.final-date-submit:hover:before,
.mobile-sticky:hover:before{
  transform:skewX(-18deg) translateX(650%);
}
.btn-primary:active,
.btn-accent:active,
.submit:active,
.final-date-submit:active,
.mobile-sticky:active{
  transform:translateY(0) scale(.982)!important;
}
.btn-primary i,
.btn-accent i,
.submit i,
.final-date-submit i{
  display:grid!important;
  place-items:center!important;
  width:27px!important;
  height:27px!important;
  border-radius:50%!important;
  background:rgba(23,18,13,.10)!important;
  color:var(--motion-ink)!important;
  transition:transform .3s var(--ease-premium),background .3s ease!important;
}
.btn-primary:hover i,
.btn-accent:hover i,
.submit:hover i,
.final-date-submit:hover i{
  transform:translate(2px,-2px)!important;
  background:rgba(23,18,13,.14)!important;
}

/* Keep the header button design the user already liked */
.nav-cta{
  min-height:42px!important;
  padding:9px 16px!important;
  background:var(--motion-gold)!important;
  background-image:none!important;
  color:var(--motion-ink)!important;
  border:1px solid rgba(20,15,10,.14)!important;
  font-size:10.5px!important;
  letter-spacing:.035em!important;
  box-shadow:none!important;
}
.topbar:not(.is-scrolled) .nav-cta{
  background:rgba(12,11,10,.34)!important;
  color:#f7f2ea!important;
  border-color:rgba(209,173,112,.55)!important;
}
.topbar:not(.is-scrolled) .nav-cta:hover{
  background:rgba(209,173,112,.14)!important;
}

/* Secondary media actions are the same family, quieter */
.btn-ghost,
.watch-badge{
  border:1px solid rgba(209,173,112,.50)!important;
  background:rgba(13,12,11,.54)!important;
  color:#f7f2ea!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.16)!important;
}
.watch-badge{
  min-height:44px!important;
  padding:0 15px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
}
.cover-only:hover .watch-badge,
.btn-ghost:hover{
  background:rgba(209,173,112,.13)!important;
  border-color:rgba(209,173,112,.85)!important;
  transform:translateY(-2px)!important;
}

/* FAQ: compact, calm and premium */
.faq{
  padding:120px 0 128px;
  border-top:1px solid rgba(255,255,255,.09);
}
.faq-layout{
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:clamp(50px,7vw,110px);
  align-items:start;
}
.faq-heading{
  position:sticky;
  top:110px;
}
.faq-heading h2{
  font-family:var(--serif);
  font-size:clamp(52px,6.4vw,92px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.052em;
  margin:.18em 0 0;
}
.faq-heading h2 em{color:var(--motion-gold)}
.faq-list{
  border-top:1px solid rgba(255,255,255,.14);
}
.faq-item{
  border-bottom:1px solid rgba(255,255,255,.14);
}
.faq-question{
  width:100%;
  min-height:88px;
  display:grid;
  grid-template-columns:1fr 34px;
  align-items:center;
  gap:20px;
  padding:0;
  border:0;
  background:none;
  color:#f6f0e8;
  text-align:left;
}
.faq-question span{
  font-family:var(--serif);
  font-size:clamp(25px,2.3vw,34px);
  line-height:1;
  letter-spacing:-.025em;
}
.faq-question i{
  width:32px;height:32px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid rgba(209,173,112,.44);
  color:var(--motion-gold);
  font-style:normal;
  font-size:18px;
  transition:transform .32s var(--ease-premium),background .32s ease;
}
.faq-item.is-open .faq-question i{
  transform:rotate(45deg);
  background:rgba(209,173,112,.10);
}
.faq-answer{
  display:grid;
  grid-template-rows:0fr;
  opacity:.15;
  transition:grid-template-rows .42s var(--ease-premium),opacity .35s ease;
}
.faq-answer p{
  overflow:hidden;
  margin:0;
  max-width:720px;
  color:rgba(247,242,234,.67);
  font-size:15px;
  line-height:1.6;
}
.faq-item.is-open .faq-answer{
  grid-template-rows:1fr;
  opacity:1;
}
.faq-item.is-open .faq-answer p{
  padding:0 62px 28px 0;
}

/* Date-first final conversion */
.final-date-entry{
  width:min(650px,100%);
  margin-top:30px;
}
.final-date-entry>label{
  display:block;
  margin:0 0 9px;
  font-size:9px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(247,242,234,.52);
}
.final-date-row{
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto;
  gap:10px;
  align-items:stretch;
}
.final-date-row input{
  width:100%;
  min-height:54px;
  border:1px solid rgba(209,173,112,.38);
  border-radius:999px;
  padding:0 19px;
  background:rgba(255,255,255,.035);
  color:#f7f2ea;
  font:600 13px var(--sans);
  outline:none;
  color-scheme:dark;
  transition:border-color .28s ease,background .28s ease,box-shadow .28s ease;
}
.final-date-row input:focus{
  border-color:rgba(209,173,112,.88);
  background:rgba(209,173,112,.055);
  box-shadow:0 0 0 4px rgba(209,173,112,.06);
}
.final-date-submit{
  min-width:190px;
  justify-content:space-between!important;
}
.final-no-date{
  margin-top:13px;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  background-image:none!important;
  color:rgba(247,242,234,.58)!important;
  box-shadow:none!important;
  font:650 10px var(--sans)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
  overflow:visible!important;
  transition:color .25s ease!important;
}
.final-no-date:before{display:none!important}
.final-no-date:hover{
  color:var(--motion-gold)!important;
  transform:none!important;
  box-shadow:none!important;
  background:none!important;
}
.final-cta-note{
  margin-top:10px!important;
}

/* Mobile refinements for new elements */
@media(max-width:900px){
  .faq{padding:84px 0 92px}
  .faq-layout{
    grid-template-columns:1fr;
    gap:32px;
  }
  .faq-heading{position:relative;top:auto}
}

@media(max-width:720px){
  .proof-rail{min-height:38px}
  .proof-rail-set{gap:17px;padding-right:17px}
  .proof-rail-set span{font-size:8px;letter-spacing:.16em}

  .showreel-band>.container{
    width:calc(100% - 28px)!important;
  }

  .faq{
    padding:74px 0 88px!important;
  }
  .faq-heading h2{
    font-size:48px;
  }
  .faq-question{
    min-height:76px;
    grid-template-columns:1fr 30px;
  }
  .faq-question span{
    font-size:25px;
  }
  .faq-question i{
    width:29px;height:29px;
  }
  .faq-item.is-open .faq-answer p{
    padding:0 42px 24px 0;
    font-size:14px;
  }

  .final-date-entry{
    grid-column:1 / -1!important;
    grid-row:4!important;
    width:100%!important;
    margin-top:25px!important;
  }
  .final-date-row{
    grid-template-columns:1fr!important;
  }
  .final-date-submit{
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
  }
  .final-cta-note{
    grid-column:1 / -1!important;
    grid-row:5!important;
  }
  .final-content .socials{
    grid-row:6!important;
  }

  .btn-primary,
  .btn-accent,
  .submit,
  .final-date-submit,
  .mobile-sticky{
    min-height:52px!important;
  }
}

@media(max-width:430px){
  .proof-rail-track{animation-duration:23s}
  .faq-heading h2{font-size:44px}
}

/* Motion accessibility */
@media(prefers-reduced-motion:reduce){
  .proof-rail-track{animation:none!important}
  .sticky-title.visible .stories-word span,
  .sticky-title.visible .stories-word:after{animation:none!important}
  .stories-word span{opacity:1!important;transform:none!important;background-position:0 0!important}
}


/* V11 mobile CTA consistency: undo old circle-only exceptions */
@media(max-width:720px){
  .hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    width:100%!important;
    min-width:0!important;
    height:52px!important;
    min-height:52px!important;
    border-radius:999px!important;
    padding:0 18px!important;
    font-size:11px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .hero-actions .btn-ghost{
    justify-content:center!important;
  }
  .hero-actions .btn-ghost:after{
    display:none!important;
  }

  .conversion-prompt-inner{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:28px 0!important;
  }
  .conversion-prompt-inner .btn-accent{
    width:100%!important;
    height:52px!important;
    min-width:0!important;
    min-height:52px!important;
    padding:0 18px!important;
    border-radius:999px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .conversion-prompt-inner .btn-accent span{
    display:inline!important;
    color:var(--motion-ink)!important;
  }
  .conversion-prompt-inner .btn-accent i{
    display:grid!important;
    margin:0!important;
  }
}


/* ===== V12 — About moved forward + editorial art direction ===== */

.about-feature{
  position:relative;
  overflow:hidden;
  min-height:100svh;
  padding:118px 0 112px!important;
  background:
    radial-gradient(circle at 18% 46%,rgba(209,173,112,.085),transparent 28%),
    radial-gradient(circle at 72% 34%,rgba(255,255,255,.025),transparent 22%),
    #0d0c0b!important;
  isolation:isolate;
}

.about-feature:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(115deg,rgba(255,255,255,.018),transparent 28% 72%,rgba(209,173,112,.025)),
    radial-gradient(circle at 50% 120%,rgba(209,173,112,.07),transparent 44%);
}

.about-feature-bg-number{
  position:absolute;
  z-index:0;
  left:clamp(-24px,3vw,48px);
  top:50%;
  transform:translate3d(var(--about-number-x,0),calc(-50% + var(--about-number-y,0px)),0);
  font-family:var(--serif);
  font-size:clamp(330px,44vw,720px);
  line-height:.72;
  letter-spacing:-.095em;
  color:transparent;
  -webkit-text-stroke:1px rgba(209,173,112,.16);
  opacity:var(--about-number-opacity,.72);
  pointer-events:none;
  user-select:none;
  will-change:transform,opacity;
}

.about-feature-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(330px,.92fr) minmax(0,1.08fr);
  gap:clamp(48px,7vw,110px);
  align-items:center;
  min-height:720px;
}

.about-feature-photo{
  position:relative;
  margin:0;
  align-self:end;
  width:min(100%,540px);
  justify-self:center;
  transform:translate3d(0,var(--about-photo-y,0px),0) scale(var(--about-photo-scale,1));
  transform-origin:center bottom;
  will-change:transform;
}

.about-feature-photo:before{
  content:"";
  position:absolute;
  inset:10% -10% -3%;
  z-index:-1;
  background:radial-gradient(ellipse at 50% 54%,rgba(209,173,112,.15),transparent 66%);
  filter:blur(38px);
  opacity:.9;
}

.about-feature-photo img{
  display:block;
  width:100%;
  height:auto;
  max-height:74vh;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 34px 64px rgba(0,0,0,.36));
}

.about-feature-copy{
  position:relative;
  align-self:center;
  padding-top:12px;
  transform:translate3d(0,var(--about-copy-y,0px),0);
  will-change:transform;
}

.about-feature-copy .kicker{
  margin-bottom:18px;
}

.about-feature-copy h2{
  position:relative;
  z-index:2;
  margin:0;
  font-family:var(--serif);
  font-size:clamp(72px,8.6vw,132px);
  font-weight:400;
  line-height:.78;
  letter-spacing:-.07em;
}

.about-feature-copy h2 em{
  color:var(--motion-gold);
}

.about-feature-facts{
  display:grid;
  grid-template-columns:.58fr 1fr;
  margin:46px 0 0;
  border-top:1px solid rgba(255,255,255,.15);
  border-bottom:1px solid rgba(255,255,255,.15);
}

.about-feature-fact{
  min-height:152px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:23px 22px 22px 0;
}

.about-feature-fact + .about-feature-fact{
  border-left:1px solid rgba(255,255,255,.13);
  padding-left:26px;
}

.about-feature-fact strong{
  font-family:var(--serif);
  font-size:clamp(27px,2.8vw,44px);
  font-weight:400;
  line-height:.98;
  letter-spacing:-.035em;
}

.about-feature-fact:first-child strong{
  font-size:clamp(82px,8vw,126px);
  line-height:.67;
  color:var(--motion-gold);
}

.about-feature-fact span{
  margin-top:18px;
  font-size:9px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(247,242,234,.48);
}

.about-feature-rail{
  width:min(100%,540px)!important;
  max-width:540px!important;
  margin:30px 0 0!important;
  padding-top:14px!important;
  border-top:0!important;
}

.about-feature-rail .media-rail-label{
  margin-bottom:7px;
}

.about-feature-rail .media-rail-window{
  min-height:62px!important;
}

.about-feature-rail .media-rail-track{
  animation-duration:18s!important;
}

.about-feature-note{
  max-width:580px;
  margin:28px 0 0;
  padding-left:22px;
  border-left:1px solid rgba(209,173,112,.56);
  font-family:var(--serif);
  font-size:clamp(20px,1.8vw,27px);
  line-height:1.22;
  letter-spacing:-.025em;
  color:rgba(247,242,234,.68);
}

/* The next CTA visually grows out of About instead of looking detached. */
.about-feature + .conversion-prompt{
  border-top-color:rgba(209,173,112,.14)!important;
}

/* Tablet: still one art-directed composition */
@media(max-width:1050px) and (min-width:721px){
  .about-feature{
    min-height:auto;
    padding:96px 0!important;
  }
  .about-feature-grid{
    grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);
    gap:38px;
    min-height:640px;
  }
  .about-feature-photo img{
    max-height:610px;
  }
  .about-feature-copy h2{
    font-size:clamp(66px,9vw,96px);
  }
  .about-feature-facts{
    margin-top:34px;
  }
  .about-feature-fact{
    min-height:138px;
  }
  .about-feature-rail{
    width:min(100%,460px)!important;
    max-width:460px!important;
  }
}

/* Mobile: magazine cover composition, not a stacked desktop block */
@media(max-width:720px){
  .about-feature{
    min-height:760px;
    padding:72px 0 78px!important;
  }

  .about-feature-bg-number{
    left:-42px;
    top:43%;
    font-size:94vw;
    -webkit-text-stroke:1px rgba(209,173,112,.13);
    opacity:.9;
  }

  .about-feature-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(132px,42%)!important;
    grid-template-rows:auto auto auto auto!important;
    gap:0 8px!important;
    min-height:640px!important;
    align-items:start!important;
  }

  .about-feature-copy{
    display:contents!important;
  }

  .about-feature-copy .kicker{
    grid-column:1 / -1;
    grid-row:1;
    margin:0 0 12px!important;
    position:relative;
    z-index:5;
  }

  .about-feature-copy h2{
    grid-column:1 / -1;
    grid-row:2;
    width:76%;
    position:relative;
    z-index:5;
    font-size:clamp(56px,15.6vw,74px);
    line-height:.78;
    margin:0!important;
    text-shadow:0 8px 38px rgba(0,0,0,.46);
  }

  .about-feature-photo{
    grid-column:2;
    grid-row:2 / span 2;
    width:100%;
    margin:42px 0 0!important;
    justify-self:end;
    align-self:start;
    z-index:2;
  }

  .about-feature-photo img{
    width:100%;
    max-height:390px;
    object-fit:contain;
    object-position:center top;
  }

  .about-feature-facts{
    grid-column:1;
    grid-row:3;
    display:block;
    width:100%;
    margin:92px 0 0!important;
    border-bottom:0;
    position:relative;
    z-index:4;
  }

  .about-feature-fact{
    min-height:0;
    padding:13px 0!important;
    border-bottom:1px solid rgba(255,255,255,.13);
  }

  .about-feature-fact + .about-feature-fact{
    border-left:0;
    padding-left:0;
  }

  .about-feature-fact:first-child strong{
    font-size:56px;
  }

  .about-feature-fact strong{
    font-size:20px;
  }

  .about-feature-fact span{
    margin-top:9px;
    font-size:7px;
  }

  .about-feature-rail{
    grid-column:1 / -1;
    grid-row:4;
    width:calc(100% - 24px)!important;
    max-width:none!important;
    margin:24px 0 0 24px!important;
    padding-top:13px!important;
    border-top:1px solid rgba(255,255,255,.13)!important;
    position:relative;
    z-index:5;
  }

  .about-feature-rail .media-rail-label{
    display:flex!important;
    margin-bottom:3px!important;
  }

  .about-feature-rail .media-rail-label span{
    font-size:7px!important;
  }

  .about-feature-rail .media-rail-label b{
    display:none!important;
  }

  .about-feature-rail .media-rail-window{
    min-height:56px!important;
  }

  .about-feature-rail .media-rail-track{
    animation-duration:16s!important;
  }

  .about-feature-note{
    grid-column:1 / -1;
    grid-row:5;
    width:88%;
    margin:24px 0 0 auto!important;
    padding-left:16px;
    font-size:20px;
    position:relative;
    z-index:5;
  }
}

@media(max-width:430px){
  .about-feature{
    min-height:735px;
  }
  .about-feature-grid{
    grid-template-columns:minmax(0,1fr) 130px!important;
  }
  .about-feature-copy h2{
    font-size:14.9vw;
  }
  .about-feature-photo img{
    max-height:360px;
  }
  .about-feature-facts{
    margin-top:80px!important;
  }
  .about-feature-note{
    font-size:19px;
  }
}

@media(prefers-reduced-motion:reduce){
  .about-feature-bg-number,
  .about-feature-photo,
  .about-feature-copy{
    transform:none!important;
  }
}


/* V12 gallery performance fix:
   no cursor parallax; dragging updates only the grabbed photograph. */
@media(min-width:721px){
  .photo-table .photo-card{
    will-change:auto!important;
  }
  .photo-table .photo-card.is-dragging{
    will-change:transform!important;
    transition:none!important;
    filter:none!important;
  }
  .photo-table .photo-card.is-dragging .photo-float{
    animation-play-state:paused!important;
    box-shadow:0 38px 90px rgba(0,0,0,.46)!important;
  }
}


/* ===== V13 — About directly after Hero ===== */

.about-hero-feature{
  position:relative;
  min-height:88svh;
  padding:86px 0 74px!important;
  overflow:hidden;
  background:
    radial-gradient(circle at 72% 46%,rgba(209,173,112,.105),transparent 29%),
    radial-gradient(circle at 17% 26%,rgba(255,255,255,.025),transparent 24%),
    #0d0c0b!important;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.about-hero-feature:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.012),transparent 24% 76%,rgba(255,255,255,.012)),
    radial-gradient(circle at 55% 115%,rgba(209,173,112,.08),transparent 38%);
}

.about-hero-feature .about-feature-bg-number{
  left:auto!important;
  right:-2.5vw!important;
  top:50%!important;
  font-size:clamp(360px,47vw,760px)!important;
  color:rgba(209,173,112,.018)!important;
  -webkit-text-stroke:1px rgba(209,173,112,.19)!important;
  opacity:var(--about-number-opacity,.8)!important;
  transform:translate3d(var(--about-number-x,0),calc(-50% + var(--about-number-y,0px)),0)!important;
}

.about-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);
  gap:clamp(38px,5vw,86px);
  min-height:690px;
  align-items:end;
}

.about-hero-copy{
  align-self:center;
  position:relative;
  z-index:5;
  padding:18px 0 30px;
  transform:translate3d(0,var(--about-copy-y,0px),0);
  will-change:transform;
}

.about-hero-copy .kicker{
  margin:0 0 22px;
  color:rgba(247,242,234,.52);
}

.about-hero-copy h2{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(82px,9.4vw,148px);
  font-weight:400;
  line-height:.77;
  letter-spacing:-.073em;
  max-width:760px;
}

.about-hero-copy h2 em{
  color:var(--motion-gold);
}

.about-hero-years{
  display:flex;
  align-items:flex-end;
  gap:13px;
  margin-top:38px;
}

.about-hero-years strong{
  font-family:var(--serif);
  font-size:clamp(64px,6vw,94px);
  font-weight:400;
  line-height:.67;
  color:var(--motion-gold);
}

.about-hero-years span{
  max-width:76px;
  padding-bottom:4px;
  font-size:9px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:rgba(247,242,234,.52);
}

.about-hero-meta{
  margin:17px 0 0;
  max-width:540px;
  font-size:11px;
  line-height:1.4;
  font-weight:600;
  letter-spacing:.085em;
  text-transform:uppercase;
  color:rgba(247,242,234,.48);
}

.about-hero-feature .about-feature-rail{
  width:min(100%,540px)!important;
  max-width:540px!important;
  margin:26px 0 0!important;
  padding-top:13px!important;
  border-top:1px solid rgba(255,255,255,.13)!important;
}

.about-hero-feature .about-feature-rail .media-rail-window{
  min-height:58px!important;
}

.about-hero-feature .about-feature-rail .media-rail-track{
  animation-duration:17s!important;
}

.about-hero-photo{
  position:relative;
  z-index:3;
  width:min(100%,550px)!important;
  margin:0!important;
  justify-self:end!important;
  align-self:end!important;
  transform:translate3d(0,var(--about-photo-y,0px),0) scale(var(--about-photo-scale,1))!important;
  transform-origin:center bottom!important;
  will-change:transform;
}

.about-hero-photo:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:12% -9% 2%;
  background:radial-gradient(ellipse at center,rgba(209,173,112,.18),transparent 65%);
  filter:blur(30px);
  opacity:.88;
}

.about-hero-photo img{
  display:block;
  width:100%!important;
  height:auto!important;
  max-height:76vh!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  filter:drop-shadow(0 34px 64px rgba(0,0,0,.42));
}

.about-hero-rule{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:32px;
  width:min(1240px,calc(100% - 48px));
  height:1px;
  transform:translateX(-50%);
  background:rgba(255,255,255,.07);
  overflow:hidden;
}

.about-hero-rule span{
  display:block;
  width:36%;
  height:100%;
  background:linear-gradient(90deg,transparent,var(--motion-gold),transparent);
  transform:translateX(-110%);
  animation:aboutHeroRule 4.8s var(--ease-premium) 1.2s infinite;
}

@keyframes aboutHeroRule{
  0%,12%{transform:translateX(-110%);opacity:0}
  25%{opacity:.85}
  72%{opacity:.85}
  88%,100%{transform:translateX(380%);opacity:0}
}

/* Hero and About should visually read as one opening sequence */
.hero + .about-hero-feature{
  margin-top:-1px;
}

.hero + .about-hero-feature:after{
  content:"";
  position:absolute;
  top:0;
  left:0;right:0;
  height:110px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.24),transparent);
}

/* Tablet */
@media(max-width:1040px) and (min-width:721px){
  .about-hero-feature{
    min-height:760px;
    padding:82px 0 66px!important;
  }

  .about-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(280px,.76fr);
    gap:28px;
    min-height:620px;
  }

  .about-hero-copy h2{
    font-size:clamp(72px,10vw,106px);
  }

  .about-hero-photo{
    width:min(100%,440px)!important;
  }

  .about-hero-photo img{
    max-height:620px!important;
  }
}

/* Mobile: a cover-like second screen, not a stacked biography */
@media(max-width:720px){
  .about-hero-feature{
    min-height:760px;
    padding:64px 0 58px!important;
  }

  .about-hero-feature .about-feature-bg-number{
    right:-27vw!important;
    top:46%!important;
    font-size:116vw!important;
    -webkit-text-stroke:1px rgba(209,173,112,.15)!important;
  }

  .about-hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(128px,41%)!important;
    grid-template-rows:auto auto auto auto!important;
    gap:0 8px!important;
    min-height:640px!important;
    align-items:start!important;
  }

  .about-hero-copy{
    display:contents!important;
  }

  .about-hero-copy .kicker{
    grid-column:1 / -1;
    grid-row:1;
    margin:0 0 13px!important;
    position:relative;
    z-index:6;
  }

  .about-hero-copy h2{
    grid-column:1 / -1;
    grid-row:2;
    width:79%;
    margin:0!important;
    position:relative;
    z-index:6;
    font-size:clamp(57px,15.4vw,75px);
    line-height:.78;
    text-shadow:0 10px 38px rgba(0,0,0,.46);
  }

  .about-hero-photo{
    grid-column:2;
    grid-row:2 / span 2;
    width:100%!important;
    margin:40px 0 0!important;
    align-self:start!important;
    justify-self:end!important;
    z-index:3;
  }

  .about-hero-photo img{
    width:100%!important;
    max-height:375px!important;
    object-position:center top!important;
  }

  .about-hero-years{
    grid-column:1;
    grid-row:3;
    margin:82px 0 0!important;
    position:relative;
    z-index:6;
  }

  .about-hero-years strong{
    font-size:55px;
  }

  .about-hero-meta{
    grid-column:1 / -1;
    grid-row:4;
    margin:22px 0 0!important;
    width:74%;
    position:relative;
    z-index:6;
    font-size:8px;
    line-height:1.45;
  }

  .about-hero-feature .about-feature-rail{
    grid-column:1 / -1;
    grid-row:5;
    width:calc(100% - 22px)!important;
    max-width:none!important;
    margin:25px 0 0 22px!important;
    padding-top:11px!important;
    position:relative;
    z-index:7;
  }

  .about-hero-feature .media-rail-label b{
    display:none!important;
  }

  .about-hero-feature .media-rail-label span{
    font-size:7px!important;
  }

  .about-hero-rule{
    left:14px;
    right:14px;
    width:auto;
    transform:none;
    bottom:22px;
  }
}

@media(max-width:430px){
  .about-hero-feature{
    min-height:730px;
  }

  .about-hero-grid{
    grid-template-columns:minmax(0,1fr) 128px!important;
  }

  .about-hero-copy h2{
    font-size:14.8vw;
  }

  .about-hero-photo img{
    max-height:350px!important;
  }

  .about-hero-years{
    margin-top:70px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  .about-hero-rule span{
    animation:none!important;
    transform:none!important;
    width:100%!important;
    opacity:.35!important;
  }
}


/* ===== V14 — FAQ becomes part of "Подход" ===== */

.approach-faq{
  position:relative;
  margin-top:clamp(96px,10vw,150px)!important;
  padding-top:clamp(54px,6vw,82px);
  padding-bottom:clamp(20px,3vw,44px);
  border-top:1px solid rgba(255,255,255,.12);
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
}

.approach-faq:before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:24%;
  height:1px;
  background:linear-gradient(90deg,var(--motion-gold),transparent);
}

.approach-faq-head{
  position:sticky;
  top:116px;
}

.approach-faq-kicker{
  margin:0 0 17px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:rgba(247,242,234,.43);
}

.approach-faq-head h3{
  margin:0;
  font-family:var(--serif);
  font-size:clamp(48px,5.1vw,76px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.052em;
}

.approach-faq-head h3 em{
  color:var(--motion-gold);
}

.approach-faq-list{
  border-top:1px solid rgba(255,255,255,.14);
}

.approach-faq .faq-item{
  border-bottom:1px solid rgba(255,255,255,.14);
}

.approach-faq .faq-question{
  min-height:82px;
}

.approach-faq .faq-question span{
  font-size:clamp(24px,2.05vw,31px);
}

.approach-faq .faq-answer p{
  max-width:680px;
  color:rgba(247,242,234,.66);
}

.approach-faq .faq-item.is-open .faq-answer p{
  padding:0 58px 27px 0;
}

/* Visually link the FAQ to the approach formats instead of making it a new section. */
.manifesto{
  padding-bottom:clamp(104px,10vw,150px)!important;
}

@media(max-width:900px){
  .approach-faq{
    grid-template-columns:1fr;
    gap:28px;
    margin-top:82px!important;
    padding-top:48px;
  }

  .approach-faq-head{
    position:relative;
    top:auto;
    max-width:560px;
  }
}

@media(max-width:720px){
  .approach-faq{
    margin-top:68px!important;
    padding-top:40px;
    padding-bottom:0;
    gap:24px;
  }

  .approach-faq:before{
    width:42%;
  }

  .approach-faq-head h3{
    font-size:46px;
  }

  .approach-faq .faq-question{
    min-height:72px;
  }

  .approach-faq .faq-question span{
    font-size:23px;
    line-height:1.02;
  }

  .approach-faq .faq-item.is-open .faq-answer p{
    padding:0 38px 23px 0;
  }
}


/* ===== V15 — practical questions are part of Preparation ===== */

.prep-practical{
  position:relative;
  z-index:3;
  margin-top:clamp(34px,5vw,74px)!important;
  padding-top:clamp(48px,6vw,80px);
  padding-bottom:clamp(88px,9vw,132px);
  border-top:1px solid rgba(23,18,13,.16);
  display:grid;
  grid-template-columns:minmax(290px,.78fr) minmax(0,1.22fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
  color:#171411;
}

.prep-practical:before{
  content:"";
  position:absolute;
  left:0;
  top:-1px;
  width:22%;
  height:1px;
  background:linear-gradient(90deg,#aa824b,transparent);
}

.prep-practical-head{
  position:sticky;
  top:116px;
}

.prep-practical-kicker{
  margin:0 0 17px;
  font-size:9px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(23,18,13,.46);
}

.prep-practical-head h3{
  margin:0;
  max-width:520px;
  font-family:var(--serif);
  font-size:clamp(48px,5.2vw,78px);
  font-weight:400;
  line-height:.88;
  letter-spacing:-.052em;
  color:#171411;
}

.prep-practical-head h3 em{
  color:#9b7440;
}

/* Reuse the same accordion mechanics, recoloured for the cream preparation scene. */
.prep-practical-list{
  border-top:1px solid rgba(23,18,13,.16)!important;
}

.prep-practical .faq-item{
  border-bottom:1px solid rgba(23,18,13,.16)!important;
}

.prep-practical .faq-question{
  min-height:86px;
  color:#171411!important;
}

.prep-practical .faq-question span{
  font-family:var(--serif);
  font-size:clamp(24px,2.15vw,33px);
  line-height:1;
  letter-spacing:-.025em;
}

.prep-practical .faq-question i{
  border-color:rgba(126,91,47,.32)!important;
  color:#8c6738!important;
  background:rgba(255,255,255,.18);
}

.prep-practical .faq-item.is-open .faq-question i{
  background:rgba(126,91,47,.09)!important;
}

.prep-practical .faq-answer p{
  max-width:690px;
  color:rgba(23,18,13,.66)!important;
  font-size:15px;
  line-height:1.62;
}

.prep-practical .faq-item.is-open .faq-answer p{
  padding:0 58px 28px 0;
}

/* Preparation now ends as one continuous light editorial chapter. */
.preparation{
  padding-bottom:0!important;
}

@media(max-width:900px){
  .prep-practical{
    grid-template-columns:1fr;
    gap:30px;
    margin-top:24px!important;
    padding-top:48px;
    padding-bottom:92px;
  }

  .prep-practical-head{
    position:relative;
    top:auto;
    max-width:620px;
  }
}

@media(max-width:720px){
  .prep-practical{
    margin-top:18px!important;
    padding-top:40px;
    padding-bottom:78px;
    gap:24px;
  }

  .prep-practical:before{
    width:42%;
  }

  .prep-practical-head h3{
    font-size:44px;
  }

  .prep-practical .faq-question{
    min-height:74px;
    grid-template-columns:1fr 30px;
  }

  .prep-practical .faq-question span{
    font-size:23px;
    line-height:1.03;
  }

  .prep-practical .faq-question i{
    width:29px;
    height:29px;
  }

  .prep-practical .faq-item.is-open .faq-answer p{
    padding:0 38px 23px 0;
    font-size:14px;
  }
}


/* ===== V16 — Ceremony is part of Approach, not a standalone section ===== */

.approach-media-grid{
  margin-top:clamp(82px,9vw,132px)!important;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
  grid-template-rows:1fr 1fr;
  gap:24px 22px;
  align-items:start;
}

.approach-media-grid .media-item{
  min-width:0;
}

.approach-media-main{
  grid-column:1;
  grid-row:1 / span 2;
  align-self:stretch;
}

.approach-media-main .wide-video{
  width:100%;
  aspect-ratio:4/3;
  min-height:100%;
}

.approach-media-small{
  grid-column:2;
}

.approach-media-small .wide-video{
  width:100%;
  aspect-ratio:16/9;
}

.approach-media-grid .wide-video{
  display:block;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}

.approach-media-grid .wide-video img{
  object-fit:cover;
}

.approach-media-main .wide-video img{
  object-position:center;
}

.approach-media-grid .media-caption{
  grid-template-columns:minmax(150px,.55fr) 1fr;
}

.approach-media-main .media-caption strong{
  font-size:27px;
}

/* The ceremony card should feel like a third example, not a detached service block. */
.approach-media-grid .media-item:last-child .watch-badge{
  border-color:rgba(209,173,112,.72)!important;
}

.approach-media-grid .media-item:last-child .media-caption strong{
  color:var(--motion-gold);
}

/* Ceremony image moved into the people cloud. Preserve its wide composition. */
.ceremony-gallery-card .photo-float{
  background:#111;
}
.ceremony-gallery-card img{
  width:100%!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* With the standalone ceremony removed, Preparation follows Approach directly. */
.manifesto{
  padding-bottom:clamp(112px,11vw,164px)!important;
}

@media(max-width:980px){
  .approach-media-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:20px;
  }

  .approach-media-main{
    grid-column:1 / -1;
    grid-row:1;
  }

  .approach-media-main .wide-video{
    aspect-ratio:16/9;
    min-height:0;
  }

  .approach-media-small{
    grid-row:2;
  }
}

@media(max-width:720px){
  .approach-media-grid{
    display:flex!important;
    overflow-x:auto;
    gap:14px;
    margin-top:62px!important;
    padding-bottom:10px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .approach-media-grid::-webkit-scrollbar{
    display:none;
  }

  .approach-media-grid .media-item{
    flex:0 0 87%;
    scroll-snap-align:center;
  }

  .approach-media-grid .wide-video,
  .approach-media-main .wide-video,
  .approach-media-small .wide-video{
    aspect-ratio:16/9!important;
    min-height:0!important;
    border-radius:14px;
  }

  .approach-media-grid .media-caption{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding-top:13px!important;
  }

  .approach-media-grid .media-caption strong{
    font-size:22px!important;
  }

  .approach-media-grid .media-caption span{
    font-size:12px!important;
    line-height:1.45!important;
  }

  .ceremony-gallery-card{
    --w:70%!important;
  }
}


/* ===== V17 — Approach video reel ===== */

.approach-reel-wrap{
  margin-top:clamp(82px,9vw,132px);
  overflow:hidden;
}

.approach-reel-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-bottom:18px!important;
}

.approach-reel-head span{
  font-size:9px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase;
  color:rgba(247,242,234,.52);
}

.approach-reel-head small{
  font-size:9px;
  line-height:1;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:rgba(247,242,234,.36);
}

.approach-reel-viewport{
  overflow:hidden;
  cursor:grab;
  touch-action:pan-y;
  user-select:none;
}

.approach-reel-viewport.is-dragging{
  cursor:grabbing;
}

.approach-reel-track{
  display:flex;
  gap:22px;
  width:max-content;
  padding:0 max(24px,calc((100vw - min(1240px,calc(100vw - 48px)))/2));
  will-change:transform;
}

.approach-reel-card{
  flex:0 0 min(66vw,920px);
  width:min(66vw,920px);
  min-width:620px;
}

.approach-reel-video{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16/9;
  padding:0;
  border:0;
  border-radius:18px;
  overflow:hidden;
  background:#111;
  color:#fff;
  box-shadow:0 26px 76px rgba(0,0,0,.25);
}

.approach-reel-video img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .75s var(--ease-premium);
}

.approach-reel-video:hover img{
  transform:scale(1.025);
}

.approach-reel-card .watch-badge{
  pointer-events:none;
}

.approach-reel-caption{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:14px;
  align-items:start;
  padding:17px 2px 0;
}

.approach-reel-caption>span{
  padding-top:4px;
  font-size:9px;
  letter-spacing:.12em;
  color:rgba(247,242,234,.38);
}

.approach-reel-caption strong{
  display:block;
  font-family:var(--serif);
  font-size:clamp(24px,2.2vw,34px);
  line-height:1;
  font-weight:400;
  letter-spacing:-.025em;
}

.approach-reel-caption p{
  margin:8px 0 0;
  max-width:560px;
  font-size:14px;
  line-height:1.5;
  color:rgba(247,242,234,.62);
}

.approach-reel-card:nth-child(3n+3) .approach-reel-caption strong{
  color:var(--motion-gold);
}

.approach-reel-card.is-center .approach-reel-video{
  box-shadow:0 30px 92px rgba(0,0,0,.34);
}

.approach-reel-card.is-center .approach-reel-video img{
  transform:scale(1.018);
}

@media(max-width:900px){
  .approach-reel-card{
    flex-basis:78vw;
    width:78vw;
    min-width:0;
  }
}

@media(max-width:720px){
  .approach-reel-wrap{
    margin-top:64px;
  }

  .approach-reel-head{
    padding-right:0!important;
  }

  .approach-reel-head small{
    display:none;
  }

  .approach-reel-viewport{
    overflow-x:auto;
    overflow-y:hidden;
    cursor:auto;
    touch-action:pan-x;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }

  .approach-reel-viewport::-webkit-scrollbar{
    display:none;
  }

  .approach-reel-track{
    transform:none!important;
    gap:14px;
    padding-left:18px;
    padding-right:18px;
  }

  .approach-reel-card{
    flex:0 0 87vw;
    width:87vw;
    min-width:0;
    scroll-snap-align:center;
  }

  .approach-reel-card.is-clone{
    display:none;
  }

  .approach-reel-video{
    border-radius:14px;
  }

  .approach-reel-caption{
    grid-template-columns:28px 1fr;
    gap:10px;
    padding-top:13px;
  }

  .approach-reel-caption strong{
    font-size:23px;
  }

  .approach-reel-caption p{
    margin-top:6px;
    font-size:12px;
  }
}

@media(prefers-reduced-motion:reduce){
  .approach-reel-track{
    transform:none!important;
  }
}


/* =========================================================
   V18.1 — authoritative responsive pass
   Desktop / tablet / phone are treated as separate layouts.
   This block intentionally overrides older experimental media rules.
   ========================================================= */

/* ----- shared cleanup ----- */
.nav-toggle{
  display:none;
  appearance:none;
  border:0;
  background:none;
  color:inherit;
}

.approach-reel-caption strong{
  color:var(--motion-gold)!important;
}
.approach-reel-card:nth-child(3n+3) .approach-reel-caption strong{
  color:var(--motion-gold)!important;
}
.approach-reel-caption>span{
  color:rgba(247,242,234,.42)!important;
}

.approach-play{
  position:absolute;
  z-index:4;
  left:50%;
  top:50%;
  width:58px;
  height:58px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  display:grid;
  place-items:center;
  background:rgba(247,242,234,.94);
  color:#17120d;
  font-size:15px;
  line-height:1;
  box-shadow:0 10px 34px rgba(0,0,0,.28);
  pointer-events:none;
  transition:transform .25s ease,background .25s ease;
}
.approach-reel-video:hover .approach-play{
  transform:translate(-50%,-50%) scale(1.08);
  background:#fffaf2;
}
.review-play{pointer-events:none!important}

.btn-primary,
.btn-accent,
.submit,
.final-date-submit{
  width:max-content!important;
  max-width:100%!important;
}

.approach-reel-video,
.review-slide,
.photo-card{
  -webkit-tap-highlight-color:transparent;
}

/* ----- compact desktop / tablet 768–1099 ----- */
@media (min-width:768px) and (max-width:1099px){
  .container{
    width:min(100% - 40px,980px)!important;
  }

  .topbar{
    padding:16px 20px!important;
    gap:18px!important;
    mix-blend-mode:normal!important;
  }
  .topbar.is-scrolled{
    width:calc(100% - 28px)!important;
    max-width:960px!important;
    padding:9px 12px 9px 15px!important;
  }
  .brand-lockup{flex:0 0 auto}
  .nav{
    gap:14px!important;
    margin-left:auto;
  }
  .nav a{
    display:block!important;
    font-size:11px!important;
    white-space:nowrap;
  }
  .nav-cta{
    font-size:10px!important;
    padding:9px 13px!important;
    white-space:nowrap;
  }

  .hero h1{
    font-size:clamp(88px,12vw,128px)!important;
  }
  .hero-lead{
    max-width:590px!important;
  }

  /* About: stable two-column editorial layout, rail below facts */
  .about-hero-feature{
    min-height:auto!important;
    padding:88px 0 72px!important;
  }
  .about-hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)!important;
    gap:28px!important;
    min-height:620px!important;
  }
  .about-hero-copy h2{
    font-size:clamp(70px,9vw,100px)!important;
  }
  .about-hero-photo{
    width:min(100%,420px)!important;
  }
  .about-hero-photo img{
    max-height:590px!important;
  }
  .about-hero-feature .about-feature-rail{
    width:100%!important;
    max-width:500px!important;
    overflow:hidden!important;
  }
  .about-hero-feature .media-rail-window{
    width:100%!important;
    overflow:hidden!important;
  }

  .sixty{
    padding:82px 0!important;
  }
  .sixty-layout{
    grid-template-columns:minmax(0,.95fr) minmax(300px,.7fr)!important;
    gap:28px!important;
    align-items:center!important;
  }
  .sixty-copy{
    width:auto!important;
    padding:0!important;
  }
  .sixty-copy h2{
    font-size:clamp(58px,7vw,78px)!important;
  }
  .sixty-media{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    min-height:560px!important;
    padding:0!important;
  }
  .sixty-poster{
    width:min(330px,100%)!important;
  }
  .sixty-giant{
    font-size:38vw!important;
    right:-4vw!important;
    opacity:.45!important;
  }

  /* Approach: one readable flow, animation still active */
  .manifesto-grid{
    grid-template-columns:1fr!important;
    gap:36px!important;
  }
  .sticky-title{
    position:relative!important;
    top:auto!important;
    max-width:760px;
  }
  .sticky-title h2{
    font-size:clamp(68px,9vw,96px)!important;
  }
  .manifesto-copy{
    padding-top:0!important;
    max-width:780px;
    margin-left:auto;
  }
  .quote{
    font-size:clamp(34px,5vw,50px)!important;
    margin-bottom:44px!important;
  }

  .approach-reel-card{
    flex:0 0 72vw!important;
    width:72vw!important;
    min-width:560px!important;
  }
  .approach-reel-head{
    width:min(100% - 40px,980px)!important;
  }

  /* Preparation: stop sticky scene before it starts colliding */
  .prep-scroll{
    height:auto!important;
    min-height:0!important;
  }
  .prep-sticky{
    position:relative!important;
    top:auto!important;
    min-height:0!important;
    height:auto!important;
    padding:92px 0 34px!important;
  }
  .prep-intro h2{
    font-size:clamp(62px,8vw,88px)!important;
  }
  .prep-stage{
    grid-template-columns:minmax(0,1fr) minmax(280px,.78fr)!important;
    gap:38px!important;
  }
  .prep-note{
    position:sticky!important;
    top:100px!important;
  }

  /* Gallery: tablet uses native horizontal rail, no draggable absolute cloud */
  .photo-table-wrap{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    overflow:visible!important;
  }
  .photo-table{
    position:relative!important;
    display:flex!important;
    align-items:flex-start!important;
    gap:18px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:32px 20px 46px!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
    touch-action:auto!important;
  }
  .photo-table::-webkit-scrollbar{display:none!important}
  .photo-card,
  .photo-table.is-ready .photo-card{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    flex:0 0 min(42vw,360px)!important;
    max-width:none!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    scroll-snap-align:center!important;
    touch-action:auto!important;
    cursor:default!important;
  }
  .photo-card .photo-float{
    animation:none!important;
    width:100%!important;
  }
  .photo-card img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .photo-table-hint{
    position:relative!important;
    inset:auto!important;
    margin:0 20px 0!important;
  }
  .photo-table-hint:after{
    content:"Листайте кадры";
  }

  .final-split{
    min-height:680px!important;
    grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)!important;
    gap:30px!important;
  }
}

/* ----- phone 0–767 ----- */
@media (max-width:767px){
  html,body{
    overflow-x:hidden!important;
  }

  .container{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }

  section{
    scroll-margin-top:82px;
  }

  /* Real mobile navigation instead of hiding it */
  .topbar,
  .topbar.is-scrolled{
    position:fixed!important;
    left:12px!important;
    right:12px!important;
    top:10px!important;
    width:auto!important;
    transform:none!important;
    padding:9px 10px 9px 12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    border-radius:18px!important;
    background:rgba(14,13,12,.84)!important;
    border:1px solid rgba(255,255,255,.11)!important;
    box-shadow:0 14px 40px rgba(0,0,0,.24)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    mix-blend-mode:normal!important;
    z-index:1000!important;
  }
  .brand-lockup{
    position:relative!important;
    z-index:2!important;
    gap:8px!important;
    min-width:0;
  }
  .brand-lockup .brand-mark{
    width:28px!important;
    height:26px!important;
    flex-basis:28px!important;
  }
  .brand-lockup .brand-mark i{font-size:26px!important}
  .brand-lockup .brand-mark b{left:9px!important;font-size:23px!important}
  .brand-lockup .brand-mark:after{
    left:23px!important;
    height:19px!important;
  }
  .brand-lockup .brand-word small{
    font-size:5px!important;
  }
  .brand-lockup .brand-word strong{
    font-size:7.8px!important;
    letter-spacing:.105em!important;
  }

  .nav-toggle{
    display:grid!important;
    place-items:center!important;
    gap:5px!important;
    width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
    border:1px solid rgba(209,173,112,.42)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.035)!important;
    z-index:3!important;
  }
  .nav-toggle span{
    display:block;
    width:16px;
    height:1px;
    background:#f7f2ea;
    transition:transform .28s ease;
  }
  .topbar.nav-open .nav-toggle span:first-child{
    transform:translateY(3px) rotate(45deg);
  }
  .topbar.nav-open .nav-toggle span:last-child{
    transform:translateY(-3px) rotate(-45deg);
  }

  .topbar .nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    border-radius:18px!important;
    background:rgba(14,13,12,.96)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 22px 52px rgba(0,0,0,.36)!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(-8px)!important;
    pointer-events:none!important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  }
  .topbar.nav-open .nav{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .topbar .nav a{
    display:block!important;
    padding:13px 12px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    font-size:13px!important;
    text-decoration:none!important;
  }
  .topbar .nav-cta{
    display:flex!important;
    width:100%!important;
    justify-content:center!important;
    margin-top:9px!important;
    min-height:46px!important;
    font-size:10px!important;
    background:var(--motion-gold)!important;
    color:var(--motion-ink)!important;
    border-color:transparent!important;
  }

  /* Hero */
  .hero{
    min-height:100svh!important;
  }
  .hero-content{
    padding:0 16px 28px!important;
  }
  .hero h1{
    font-size:clamp(54px,16.3vw,76px)!important;
    line-height:.82!important;
    max-width:100%!important;
  }
  .hero-lead{
    font-size:clamp(20px,6vw,26px)!important;
    max-width:330px!important;
    margin:16px 0 20px!important;
  }
  .hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:9px!important;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    width:max-content!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:48px!important;
    padding:0 16px!important;
    border-radius:999px!important;
  }
  .hero-actions .btn-primary span{
    font-size:10.5px!important;
    white-space:normal!important;
  }
  .hero-actions .btn-ghost{
    min-height:44px!important;
    font-size:10px!important;
  }
  .hero-scroll{display:none!important}

  /* Hide giant side typography on phone: it was causing the "letters at the side" problem */
  .about-feature-bg-number,
  .sixty-giant,
  .final-gold-word{
    display:none!important;
  }

  /* About — title, facts + portrait, then logos below. No overlap. */
  .about-hero-feature{
    min-height:0!important;
    padding:76px 0 68px!important;
  }
  .about-hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 118px!important;
    grid-template-rows:auto auto auto auto auto!important;
    column-gap:12px!important;
    row-gap:0!important;
    min-height:0!important;
    align-items:start!important;
  }
  .about-hero-copy{
    display:contents!important;
  }
  .about-hero-copy .kicker{
    grid-column:1 / -1!important;
    grid-row:1!important;
    margin-bottom:12px!important;
  }
  .about-hero-copy h2{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    font-size:clamp(54px,14.8vw,68px)!important;
    line-height:.79!important;
    margin:0 0 28px!important;
  }
  .about-hero-years{
    grid-column:1!important;
    grid-row:3!important;
    margin:4px 0 0!important;
    align-self:start!important;
  }
  .about-hero-years strong{font-size:54px!important}
  .about-hero-meta{
    grid-column:1!important;
    grid-row:4!important;
    width:100%!important;
    margin:15px 0 0!important;
    font-size:7.5px!important;
    line-height:1.45!important;
  }
  .about-hero-photo{
    grid-column:2!important;
    grid-row:3 / span 2!important;
    width:118px!important;
    margin:0!important;
    align-self:end!important;
    justify-self:end!important;
    transform:none!important;
  }
  .about-hero-photo img{
    width:100%!important;
    max-height:300px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .about-hero-feature .about-feature-rail{
    grid-column:1 / -1!important;
    grid-row:5!important;
    width:100%!important;
    max-width:100%!important;
    margin:26px 0 0!important;
    padding-top:12px!important;
    overflow:hidden!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
  }
  .about-hero-feature .media-rail-window{
    width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .about-hero-feature .media-rail-track{
    max-width:none!important;
    animation-duration:19s!important;
  }
  .about-hero-feature .media-rail-set{
    gap:24px!important;
    padding-right:24px!important;
  }
  .about-hero-feature .media-rail-set img{
    max-width:110px!important;
    object-fit:contain!important;
  }
  .about-hero-feature .media-rail-set .rail-rusradio{
    height:38px!important;
    transform:scale(1.22)!important;
    margin-inline:10px!important;
  }
  .about-hero-feature .media-rail-set .rail-dfm,
  .about-hero-feature .media-rail-set .rail-energy,
  .about-hero-feature .media-rail-set .rail-terra{
    height:30px!important;
  }
  .about-hero-feature .media-rail-set .rail-mir,
  .about-hero-feature .media-rail-set .rail-first{
    height:34px!important;
  }

  /* 60 seconds — stable mobile composition */
  .sixty{
    min-height:0!important;
    padding:78px 0 64px!important;
  }
  .sixty-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:26px!important;
    min-height:0!important;
  }
  .sixty-copy{
    position:relative!important;
    width:100%!important;
    padding:0!important;
  }
  .sixty-copy h2{
    font-size:clamp(43px,12.4vw,58px)!important;
    line-height:.89!important;
  }
  .sixty-copy .large-copy{
    max-width:340px!important;
    font-size:17px!important;
    line-height:1.24!important;
    margin-top:18px!important;
  }
  .sixty-media{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
  .sixty-poster{
    width:min(72vw,310px)!important;
    margin:0 auto!important;
  }

  /* Approach — no collapsed sticky desktop composition */
  .manifesto{
    padding:82px 0 78px!important;
  }
  .manifesto-grid{
    display:block!important;
  }
  .sticky-title{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    max-width:none!important;
  }
  .sticky-title h2{
    font-size:clamp(52px,14vw,68px)!important;
    line-height:.84!important;
  }
  .sticky-title.visible .stories-word span{
    animation:storyGoldIn .78s var(--ease-premium) .18s forwards,
              storyGoldSweep 1.15s var(--ease-premium) .55s forwards!important;
  }
  .sticky-title.visible .stories-word:after{
    animation:storyLine .9s var(--ease-premium) .55s forwards!important;
  }
  .manifesto-copy{
    padding-top:40px!important;
    width:100%!important;
  }
  .quote{
    font-size:clamp(30px,8.3vw,40px)!important;
    line-height:1.02!important;
    margin-bottom:36px!important;
  }
  .format-card{
    grid-template-columns:30px 1fr!important;
    gap:12px!important;
    padding:22px 0!important;
  }
  .format-card h3{
    font-size:28px!important;
    line-height:1!important;
    margin-bottom:8px!important;
  }
  .format-card p{
    font-size:14px!important;
    line-height:1.55!important;
  }

  /* Approach reel — native swipe, clear PLAY, all titles consistent */
  .approach-reel-wrap{
    margin-top:58px!important;
    overflow:visible!important;
  }
  .approach-reel-head{
    width:calc(100% - 32px)!important;
    margin:0 16px 14px!important;
  }
  .approach-reel-head small{display:none!important}
  .approach-reel-viewport{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    width:100%!important;
    cursor:auto!important;
    touch-action:auto!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .approach-reel-viewport::-webkit-scrollbar{display:none!important}
  .approach-reel-track{
    transform:none!important;
    gap:14px!important;
    padding:0 16px 12px!important;
  }
  .approach-reel-card{
    flex:0 0 86vw!important;
    width:86vw!important;
    min-width:0!important;
    scroll-snap-align:center!important;
  }
  .approach-reel-card.is-clone{display:none!important}
  .approach-reel-video{
    border-radius:14px!important;
  }
  .approach-play{
    width:54px!important;
    height:54px!important;
    font-size:14px!important;
  }
  .approach-reel-caption strong{
    color:var(--motion-gold)!important;
    font-size:24px!important;
  }
  .approach-reel-caption p{
    font-size:12.5px!important;
  }

  /* Conversion prompt — compact, not a stretched full-width button */
  .conversion-prompt-inner{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:34px 0!important;
  }
  .conversion-prompt-inner .btn-accent,
  .date-strip-inner .btn-accent{
    width:max-content!important;
    max-width:100%!important;
    min-height:48px!important;
    padding:0 16px!important;
    justify-content:flex-start!important;
    gap:14px!important;
  }
  .conversion-prompt-inner .btn-accent span,
  .date-strip-inner .btn-accent span{
    white-space:normal!important;
    text-align:left!important;
    font-size:10.5px!important;
  }

  /* Preparation — remove fragile sticky desktop mechanics on phone */
  .preparation{
    overflow:hidden!important;
  }
  .prep-scroll{
    height:auto!important;
    min-height:0!important;
  }
  .prep-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:78px 0 24px!important;
  }
  .prep-intro h2{
    font-size:clamp(48px,12.8vw,62px)!important;
    line-height:.88!important;
    margin-bottom:38px!important;
  }
  .prep-stage{
    display:block!important;
    margin-top:0!important;
  }
  .prep-timeline{
    padding-left:34px!important;
  }
  .prep-step{
    opacity:1!important;
    transform:none!important;
    padding-bottom:26px!important;
  }
  .prep-step strong{
    font-size:25px!important;
  }
  .prep-step p{
    max-width:100%!important;
    font-size:13px!important;
  }
  .prep-note{
    position:relative!important;
    top:auto!important;
    margin-top:18px!important;
    padding:26px!important;
    border-radius:18px!important;
  }
  .prep-note-index{
    font-size:64px!important;
    margin-bottom:18px!important;
  }
  .prep-practical{
    grid-template-columns:1fr!important;
    gap:24px!important;
    margin-top:28px!important;
    padding:44px 0 72px!important;
  }
  .prep-practical-head{
    position:relative!important;
    top:auto!important;
  }
  .prep-practical-head h3{
    font-size:42px!important;
    line-height:.92!important;
  }

  /* Gallery — phone gets a fast native horizontal gallery. All 8 photos stay accessible. */
  .guests{
    padding:78px 0 72px!important;
  }
  .guests-head h2{
    font-size:clamp(47px,12.5vw,60px)!important;
  }
  .photo-table-wrap{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    overflow:visible!important;
  }
  .photo-table{
    position:relative!important;
    display:flex!important;
    align-items:flex-start!important;
    gap:14px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:28px 16px 38px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    touch-action:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .photo-table::-webkit-scrollbar{display:none!important}
  .photo-card,
  .photo-table.is-ready .photo-card,
  .photo-card:nth-child(2n),
  .photo-card:nth-child(3n){
    position:relative!important;
    left:auto!important;
    top:auto!important;
    width:auto!important;
    flex:0 0 78vw!important;
    max-width:310px!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    scroll-snap-align:center!important;
    touch-action:auto!important;
    cursor:auto!important;
  }
  .photo-card .photo-float{
    animation:none!important;
    transform:none!important;
    width:100%!important;
  }
  .photo-card img,
  .ceremony-gallery-card img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .photo-table-hint{
    position:relative!important;
    inset:auto!important;
    margin:0 16px!important;
    font-size:0!important;
  }
  .photo-table-hint:after{
    content:"Листайте кадры";
    font-size:9px!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
  }

  /* Date strip */
  .date-strip-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
    min-height:0!important;
    padding:54px 0!important;
  }
  .date-strip-inner .date-strip-question{
    font-size:clamp(42px,11.8vw,56px)!important;
  }

  /* Reviews stay a moving carousel, but fit the viewport */
  .reviews{
    padding:76px 0 82px!important;
  }
  .reviews-head h2{
    font-size:clamp(46px,12vw,60px)!important;
  }
  .review-slide{
    flex-basis:220px!important;
    width:220px!important;
  }

  /* Final — readable composition without giant side letters */
  .final-portrait{
    min-height:0!important;
    padding:74px 0 92px!important;
  }
  .final-split{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 118px!important;
    grid-template-rows:auto auto auto auto auto!important;
    gap:10px 12px!important;
    min-height:0!important;
  }
  .final-portrait .final-content{
    display:contents!important;
  }
  .final-content .kicker{
    grid-column:1!important;
    grid-row:1!important;
  }
  .final-content h2{
    grid-column:1 / -1!important;
    grid-row:2!important;
    font-size:clamp(47px,12.5vw,60px)!important;
    line-height:.88!important;
    margin:10px 0 14px!important;
    position:relative!important;
    z-index:3!important;
  }
  .final-content > h2 + p{
    grid-column:1!important;
    grid-row:3!important;
    font-size:15px!important;
    max-width:240px;
  }
  .final-portrait-wrap{
    grid-column:2!important;
    grid-row:3 / span 2!important;
    width:118px!important;
    margin:0!important;
    align-self:end!important;
    justify-self:end!important;
  }
  .final-portrait-wrap img{
    width:100%!important;
    max-height:300px!important;
    object-fit:contain!important;
  }
  .final-date-entry{
    grid-column:1 / -1!important;
    grid-row:4!important;
    margin-top:22px!important;
  }
  .final-date-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .final-date-submit{
    width:max-content!important;
    min-height:48px!important;
    padding:0 16px!important;
  }
  .final-cta-note,
  .final-content .socials{
    grid-column:1 / -1!important;
  }

  /* Keep ordinary CTAs compact; only the fixed mobile sticky control spans the screen. */
  .btn-primary,
  .btn-accent,
  .submit,
  .final-date-submit{
    width:max-content!important;
    max-width:100%!important;
    min-height:48px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .mobile-sticky{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    min-height:48px!important;
  }
}

/* Very narrow phones */
@media (max-width:370px){
  .brand-lockup .brand-word strong{font-size:7px!important}
  .brand-lockup .brand-word small{display:none!important}

  .hero h1{font-size:53px!important}
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost{
    max-width:100%!important;
  }

  .about-hero-grid{
    grid-template-columns:minmax(0,1fr) 104px!important;
  }
  .about-hero-photo{width:104px!important}

  .approach-reel-card{
    flex-basis:88vw!important;
    width:88vw!important;
  }

  .photo-card,
  .photo-table.is-ready .photo-card{
    flex-basis:82vw!important;
  }
}


/* V18.1b — final mobile stability fixes */
@media(max-width:767px){
  .manifesto-copy .format-card,
  .manifesto-copy .format-card:nth-of-type(2),
  .manifesto-copy .format-card:nth-of-type(3),
  .manifesto-copy .format-card:nth-of-type(4){
    width:100%!important;
    margin:0!important;
  }

  .prep-timeline{
    display:flex!important;
    flex-direction:row!important;
    justify-content:flex-start!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:8px 16px 18px 0!important;
    margin-right:-16px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    touch-action:auto!important;
  }
  .prep-timeline::-webkit-scrollbar{display:none!important}
  .prep-rail,
  .prep-interaction-hint{display:none!important}

  .prep-step,
  .prep-stage.visible .prep-step,
  .prep-step.is-active,
  .prep-step.is-locked{
    flex:0 0 min(78vw,305px)!important;
    min-height:190px!important;
    padding:21px!important;
    margin:0!important;
    border-radius:16px!important;
    border:1px solid rgba(38,29,21,.15)!important;
    background:rgba(255,255,255,.24)!important;
    color:#171411!important;
    opacity:1!important;
    transform:none!important;
    box-shadow:none!important;
    scroll-snap-align:start!important;
  }
  .prep-step.is-active,
  .prep-step.is-locked{
    background:rgba(196,151,91,.13)!important;
    border-color:rgba(155,116,64,.38)!important;
  }
  .prep-step:before,
  .prep-step:after{display:none!important}
  .prep-step small{
    display:block!important;
    margin-bottom:22px!important;
    color:#8f6b3c!important;
  }
  .prep-step strong,
  .prep-step.is-active strong{
    display:block!important;
    font-size:25px!important;
    line-height:1!important;
    color:#8f6735!important;
  }
  .prep-step p,
  .prep-step.is-active p{
    max-height:none!important;
    opacity:.7!important;
    margin-top:10px!important;
    font-size:13px!important;
    line-height:1.48!important;
  }
  .prep-note{
    width:100%!important;
    min-height:220px!important;
    margin:18px 0 0!important;
    padding:26px 24px 30px!important;
    border-radius:18px!important;
  }
}

@media(max-width:767px){
  .conversion-prompt-inner .btn-accent,
  .date-strip-inner .btn-accent{
    width:fit-content!important;
    inline-size:fit-content!important;
    max-width:300px!important;
    align-self:start!important;
    flex:0 0 auto!important;
    letter-spacing:.02em!important;
  }
}


/* =====================================================================
   V19 RESPONSIVE MASTER
   One final cascade for desktop / compact desktop+tablet / phone.
   This block intentionally wins over older experimental breakpoints.
   ===================================================================== */

.nav-toggle{display:none!important}

/* Explicit reel play control */
.approach-play{
  pointer-events:auto!important;
  appearance:none!important;
  border:0!important;
  cursor:pointer!important;
  width:62px!important;
  height:62px!important;
  background:rgba(247,242,234,.95)!important;
  color:#17120d!important;
  transition:transform .22s ease,background .22s ease!important;
}
.approach-play:hover{
  transform:translate(-50%,-50%) scale(1.08)!important;
  background:#fff!important;
}
.approach-reel-caption strong{
  color:var(--motion-gold)!important;
}

/* Ordinary buttons must size to their label, never become accidental banners. */
.btn-primary,
.btn-accent,
.submit,
.final-date-submit,
.nav-cta{
  width:auto!important;
  inline-size:auto!important;
  max-width:100%!important;
}
.btn-primary span,
.btn-accent span,
.submit span,
.final-date-submit span{
  min-width:0!important;
}

/* ---------- DESKTOP 1100+ ---------- */
@media (min-width:1100px){
  .container{
    width:min(1240px,calc(100% - 64px))!important;
  }

  .topbar{
    padding-left:28px!important;
    padding-right:28px!important;
  }

  .nav{
    display:flex!important;
    position:static!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .nav a{display:block!important}

  .about-hero-feature .about-feature-rail{
    overflow:hidden!important;
  }

  /* People gallery: original floating cloud + individual drag. */
  .photo-table-wrap{
    overflow:visible!important;
  }
  .photo-table{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:760px!important;
    min-height:760px!important;
    overflow:visible!important;
    padding:0!important;
    touch-action:none!important;
  }
  .photo-card,
  .photo-table.is-ready .photo-card{
    position:absolute!important;
    left:var(--x)!important;
    top:var(--y)!important;
    width:var(--w)!important;
    max-width:none!important;
    flex:none!important;
    opacity:1!important;
    transform:translate3d(var(--dx,0px),var(--dy,0px),0) rotate(var(--r))!important;
    cursor:grab!important;
    touch-action:none!important;
  }
  .photo-card.is-dragging{cursor:grabbing!important}
  .photo-card .photo-float{
    animation:photoFloat 6s ease-in-out infinite alternate!important;
    animation-delay:var(--delay)!important;
  }
  .photo-table-hint:after{content:none!important}
}

/* ---------- COMPACT DESKTOP + TABLET 768–1099 ---------- */
@media (min-width:768px) and (max-width:1099px){
  html,body{overflow-x:hidden!important}
  .container{
    width:calc(100% - 48px)!important;
    max-width:none!important;
  }

  /* Header remains complete at narrow desktop sizes. */
  .topbar,
  .topbar.is-scrolled{
    position:fixed!important;
    left:18px!important;
    right:18px!important;
    top:14px!important;
    width:auto!important;
    transform:none!important;
    padding:10px 12px 10px 16px!important;
    border-radius:20px!important;
    background:rgba(14,13,12,.86)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 16px 48px rgba(0,0,0,.24)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    mix-blend-mode:normal!important;
    z-index:1000!important;
  }

  .brand-lockup{
    gap:9px!important;
    min-width:0!important;
  }
  .brand-lockup .brand-word strong{
    font-size:9px!important;
  }

  .nav-toggle{
    display:grid!important;
    place-items:center!important;
    gap:5px!important;
    width:42px!important;
    height:42px!important;
    flex:0 0 42px!important;
    margin-left:auto!important;
    border:1px solid rgba(209,173,112,.42)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.035)!important;
    color:#f7f2ea!important;
    z-index:4!important;
  }
  .nav-toggle span{
    display:block!important;
    width:17px!important;
    height:1px!important;
    background:currentColor!important;
  }
  .topbar.nav-open .nav-toggle span:first-child{transform:translateY(3px) rotate(45deg)!important}
  .topbar.nav-open .nav-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)!important}

  .topbar .nav{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    right:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:10px!important;
    border-radius:18px!important;
    background:rgba(14,13,12,.97)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 22px 60px rgba(0,0,0,.38)!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(-8px)!important;
    pointer-events:none!important;
  }
  .topbar.nav-open .nav{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .topbar .nav a{
    display:block!important;
    padding:14px 12px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    font-size:13px!important;
  }
  .topbar .nav-cta{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    min-height:46px!important;
    margin-top:9px!important;
    background:var(--motion-gold)!important;
    color:var(--motion-ink)!important;
    border-color:transparent!important;
  }

  /* Remove huge decorative typography from medium screens. */
  .about-feature-bg-number,
  .sixty-giant,
  .final-gold-word{
    display:none!important;
  }

  .hero h1{
    font-size:clamp(78px,11vw,112px)!important;
    line-height:.82!important;
  }
  .hero-content{
    width:calc(100% - 48px)!important;
    margin-inline:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  /* About: portrait stays right, all media logos go below and cannot hit the photo. */
  .about-hero-feature{
    min-height:0!important;
    padding:94px 0 76px!important;
  }
  .about-hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(260px,34%)!important;
    grid-template-rows:auto auto auto auto!important;
    gap:0 34px!important;
    min-height:0!important;
    align-items:start!important;
  }
  .about-hero-copy{display:contents!important}
  .about-hero-copy .kicker{
    grid-column:1 / -1!important;
    grid-row:1!important;
    margin-bottom:14px!important;
  }
  .about-hero-copy h2{
    grid-column:1!important;
    grid-row:2!important;
    width:100%!important;
    font-size:clamp(68px,8.7vw,96px)!important;
    line-height:.8!important;
    margin:0!important;
  }
  .about-hero-years{
    grid-column:1!important;
    grid-row:3!important;
    margin:38px 0 0!important;
  }
  .about-hero-meta{
    grid-column:1!important;
    grid-row:4!important;
    width:100%!important;
    margin-top:18px!important;
  }
  .about-hero-photo{
    grid-column:2!important;
    grid-row:2 / span 3!important;
    width:100%!important;
    max-width:330px!important;
    margin:0!important;
    align-self:end!important;
    justify-self:end!important;
    transform:none!important;
  }
  .about-hero-photo img{
    width:100%!important;
    max-height:520px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .about-hero-feature .about-feature-rail{
    grid-column:1 / -1!important;
    grid-row:5!important;
    width:100%!important;
    max-width:none!important;
    margin:34px 0 0!important;
    padding-top:14px!important;
    overflow:hidden!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    position:relative!important;
    z-index:8!important;
  }
  .about-hero-feature .media-rail-window{
    width:100%!important;
    overflow:hidden!important;
  }

  /* 60 sec: clear split, no overlap. */
  .sixty{
    min-height:0!important;
    padding:92px 0 82px!important;
  }
  .sixty-layout{
    grid-template-columns:minmax(0,1fr) minmax(300px,42%)!important;
    gap:44px!important;
    min-height:0!important;
  }
  .sixty-copy h2{
    font-size:clamp(55px,7.2vw,82px)!important;
    line-height:.88!important;
  }
  .sixty-media{
    min-height:0!important;
    padding:0!important;
  }
  .sixty-poster{
    width:min(100%,340px)!important;
  }

  /* Approach keeps its reveal motion but drops fragile sticky behavior. */
  .manifesto{
    padding:96px 0 92px!important;
  }
  .manifesto-grid{
    grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)!important;
    gap:44px!important;
  }
  .sticky-title{
    position:relative!important;
    top:auto!important;
  }
  .sticky-title h2{
    font-size:clamp(58px,7vw,82px)!important;
  }
  .manifesto-copy{
    padding-top:56px!important;
  }
  .format-card{
    grid-template-columns:40px 1fr!important;
    gap:16px!important;
  }
  .format-card h3{
    font-size:30px!important;
  }

  .approach-reel-wrap{
    margin-top:74px!important;
    overflow:hidden!important;
  }
  .approach-reel-card{
    flex:0 0 min(74vw,760px)!important;
    width:min(74vw,760px)!important;
    min-width:560px!important;
  }
  .approach-reel-caption strong{
    color:var(--motion-gold)!important;
  }

  /* Preparation switches to a stable editorial flow on tablet. */
  .preparation{
    overflow:hidden!important;
  }
  .prep-scroll{
    height:auto!important;
    min-height:0!important;
  }
  .prep-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:94px 0 28px!important;
  }
  .prep-intro h2{
    font-size:clamp(58px,7.4vw,82px)!important;
    margin-bottom:52px!important;
  }
  .prep-stage{
    grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)!important;
    gap:42px!important;
    margin-top:0!important;
  }
  .prep-step{
    opacity:1!important;
    transform:none!important;
  }
  .prep-note{
    top:100px!important;
  }
  .prep-practical{
    grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr)!important;
    gap:44px!important;
  }

  /* Gallery becomes a smooth horizontal moving strip at medium widths. */
  .guests{
    padding:92px 0 82px!important;
  }
  .photo-table-wrap{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .photo-table{
    display:flex!important;
    position:relative!important;
    gap:18px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:30px 24px 42px!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
  }
  .photo-table::-webkit-scrollbar{display:none!important}
  .photo-card,
  .photo-table.is-ready .photo-card,
  .photo-card:nth-child(n){
    position:relative!important;
    left:auto!important;
    top:auto!important;
    flex:0 0 min(40vw,360px)!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    opacity:1!important;
    transform:rotate(var(--r))!important;
    transition:none!important;
    scroll-snap-align:center!important;
    cursor:grab!important;
    touch-action:pan-x!important;
  }
  .photo-card:nth-child(2n){transform:translateY(24px) rotate(var(--r))!important}
  .photo-card:nth-child(3n){transform:translateY(-15px) rotate(var(--r))!important}
  .photo-card .photo-float{
    animation:none!important;
    transform:none!important;
  }
  .photo-card img{
    width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }
  .photo-table-hint{
    position:relative!important;
    inset:auto!important;
    margin:0 24px!important;
    font-size:0!important;
  }
  .photo-table-hint:after{
    content:"Лента движется · можно листать";
    font-size:9px!important;
    letter-spacing:.15em!important;
    text-transform:uppercase!important;
  }

  .final-split{
    min-height:720px!important;
    grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)!important;
    gap:34px!important;
  }
}

/* ---------- PHONE 0–767 ---------- */
@media (max-width:767px){
  html,body{overflow-x:hidden!important}
  .container{
    width:calc(100% - 32px)!important;
    max-width:none!important;
  }
  section{scroll-margin-top:78px!important}

  .topbar,
  .topbar.is-scrolled{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    top:10px!important;
    width:auto!important;
    transform:none!important;
    padding:8px 9px 8px 11px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    border-radius:17px!important;
    background:rgba(14,13,12,.88)!important;
    border:1px solid rgba(255,255,255,.11)!important;
    box-shadow:0 14px 42px rgba(0,0,0,.27)!important;
    backdrop-filter:blur(16px)!important;
    -webkit-backdrop-filter:blur(16px)!important;
    mix-blend-mode:normal!important;
    z-index:1000!important;
  }

  .brand-lockup{
    gap:7px!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }
  .brand-lockup .brand-mark{
    width:28px!important;
    height:27px!important;
    flex:0 0 28px!important;
  }
  .brand-lockup .brand-word{
    min-width:0!important;
  }
  .brand-lockup .brand-word small{
    font-size:5px!important;
  }
  .brand-lockup .brand-word strong{
    font-size:7.5px!important;
    letter-spacing:.1em!important;
  }

  .nav-toggle{
    display:grid!important;
    place-items:center!important;
    gap:5px!important;
    width:39px!important;
    height:39px!important;
    flex:0 0 39px!important;
    margin-left:auto!important;
    border:1px solid rgba(209,173,112,.45)!important;
    border-radius:50%!important;
    background:rgba(255,255,255,.035)!important;
    color:#f7f2ea!important;
    z-index:4!important;
  }
  .nav-toggle span{
    display:block!important;
    width:16px!important;
    height:1px!important;
    background:currentColor!important;
  }
  .topbar.nav-open .nav-toggle span:first-child{transform:translateY(3px) rotate(45deg)!important}
  .topbar.nav-open .nav-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)!important}

  .topbar .nav{
    position:absolute!important;
    top:calc(100% + 7px)!important;
    left:0!important;
    right:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding:9px!important;
    border-radius:17px!important;
    background:rgba(14,13,12,.98)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:0 22px 56px rgba(0,0,0,.42)!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:translateY(-7px)!important;
    pointer-events:none!important;
  }
  .topbar.nav-open .nav{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .topbar .nav a{
    display:block!important;
    padding:13px 11px!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    font-size:13px!important;
  }
  .topbar .nav-cta{
    display:flex!important;
    justify-content:center!important;
    width:100%!important;
    min-height:45px!important;
    margin-top:8px!important;
    background:var(--motion-gold)!important;
    color:var(--motion-ink)!important;
    border-color:transparent!important;
  }

  /* Hide oversized decorative side letters on all phones. */
  .about-feature-bg-number,
  .sixty-giant,
  .final-gold-word{
    display:none!important;
  }

  /* Compact CTAs */
  .hero-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:9px!important;
  }
  .hero-actions .btn-primary,
  .hero-actions .btn-ghost,
  .conversion-prompt-inner .btn-accent,
  .date-strip-inner .btn-accent,
  .final-date-submit{
    width:fit-content!important;
    inline-size:fit-content!important;
    max-width:min(100%,315px)!important;
    min-height:47px!important;
    height:auto!important;
    padding:0 15px!important;
  }
  .hero-actions .btn-primary span,
  .conversion-prompt-inner .btn-accent span,
  .date-strip-inner .btn-accent span{
    white-space:normal!important;
    text-align:left!important;
    font-size:10.5px!important;
    line-height:1.15!important;
  }

  .hero{
    min-height:100svh!important;
  }
  .hero-content{
    width:100%!important;
    margin:0!important;
    padding:0 16px 30px!important;
  }
  .hero h1{
    font-size:clamp(54px,16vw,72px)!important;
    line-height:.82!important;
    max-width:100%!important;
  }
  .hero-lead{
    font-size:clamp(20px,5.7vw,25px)!important;
    line-height:1.03!important;
    max-width:330px!important;
  }
  .hero-scroll{display:none!important}

  /* About: no logo/photo collision. */
  .about-hero-feature{
    min-height:0!important;
    padding:78px 0 66px!important;
  }
  .about-hero-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 112px!important;
    grid-template-rows:auto auto auto auto auto!important;
    gap:0 10px!important;
    min-height:0!important;
    align-items:start!important;
  }
  .about-hero-copy{display:contents!important}
  .about-hero-copy .kicker{
    grid-column:1 / -1!important;
    grid-row:1!important;
    margin-bottom:12px!important;
  }
  .about-hero-copy h2{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    margin:0 0 28px!important;
    font-size:clamp(51px,14.5vw,66px)!important;
    line-height:.8!important;
  }
  .about-hero-years{
    grid-column:1!important;
    grid-row:3!important;
    margin:2px 0 0!important;
  }
  .about-hero-years strong{font-size:52px!important}
  .about-hero-meta{
    grid-column:1!important;
    grid-row:4!important;
    width:100%!important;
    margin:14px 0 0!important;
    font-size:7.5px!important;
    line-height:1.45!important;
  }
  .about-hero-photo{
    grid-column:2!important;
    grid-row:3 / span 2!important;
    width:112px!important;
    max-width:112px!important;
    margin:0!important;
    align-self:end!important;
    justify-self:end!important;
    transform:none!important;
  }
  .about-hero-photo img{
    width:100%!important;
    max-height:290px!important;
    object-fit:contain!important;
    object-position:center bottom!important;
  }
  .about-hero-feature .about-feature-rail{
    grid-column:1 / -1!important;
    grid-row:5!important;
    width:100%!important;
    max-width:100%!important;
    margin:26px 0 0!important;
    padding-top:12px!important;
    overflow:hidden!important;
    border-top:1px solid rgba(255,255,255,.12)!important;
    position:relative!important;
    z-index:8!important;
  }
  .about-hero-feature .media-rail-window{
    width:100%!important;
    overflow:hidden!important;
  }
  .about-hero-feature .media-rail-set{
    gap:22px!important;
    padding-right:22px!important;
  }

  .sixty{
    min-height:0!important;
    padding:76px 0 64px!important;
  }
  .sixty-layout{
    grid-template-columns:1fr!important;
    gap:28px!important;
    min-height:0!important;
  }
  .sixty-copy h2{
    font-size:clamp(43px,12.3vw,57px)!important;
    line-height:.89!important;
  }
  .sixty-copy .large-copy{
    max-width:340px!important;
    font-size:17px!important;
  }
  .sixty-media{
    min-height:0!important;
    padding:0!important;
  }
  .sixty-poster{
    width:min(72vw,305px)!important;
    margin:0 auto!important;
  }

  /* Approach: all reveal effects visible again, no desktop sticky assumptions. */
  .manifesto{
    padding:80px 0 76px!important;
  }
  .manifesto-grid{
    display:block!important;
  }
  .sticky-title{
    position:relative!important;
    top:auto!important;
    opacity:1!important;
    transform:none!important;
  }
  .sticky-title h2{
    font-size:clamp(50px,13.7vw,66px)!important;
    line-height:.84!important;
  }
  .sticky-title.visible .stories-word span{
    animation:storyGoldIn .78s var(--ease-premium) .15s forwards,
              storyGoldSweep 1.15s var(--ease-premium) .5s forwards!important;
  }
  .sticky-title.visible .stories-word:after{
    animation:storyLine .9s var(--ease-premium) .5s forwards!important;
  }
  .manifesto-copy{
    padding-top:38px!important;
  }
  .quote{
    font-size:clamp(29px,8vw,39px)!important;
    margin-bottom:34px!important;
  }
  .format-card{
    grid-template-columns:28px 1fr!important;
    gap:12px!important;
    width:100%!important;
    margin:0!important;
    padding:21px 0!important;
  }
  .format-card h3{
    font-size:27px!important;
  }
  .format-card p{
    font-size:13.5px!important;
    line-height:1.52!important;
  }

  /* Reel: native swipe + explicit clickable PLAY. */
  .approach-reel-wrap{
    margin-top:58px!important;
    overflow:visible!important;
  }
  .approach-reel-head{
    width:calc(100% - 32px)!important;
    margin:0 16px 14px!important;
  }
  .approach-reel-head small{display:none!important}
  .approach-reel-viewport{
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    touch-action:pan-x!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .approach-reel-viewport::-webkit-scrollbar{display:none!important}
  .approach-reel-track{
    transform:none!important;
    gap:14px!important;
    padding:0 16px 12px!important;
  }
  .approach-reel-card{
    flex:0 0 86vw!important;
    width:86vw!important;
    min-width:0!important;
    scroll-snap-align:center!important;
  }
  .approach-reel-card.is-clone{display:none!important}
  .approach-reel-video{
    border-radius:14px!important;
  }
  .approach-play{
    width:56px!important;
    height:56px!important;
  }
  .approach-reel-caption strong{
    color:var(--motion-gold)!important;
    font-size:23px!important;
  }
  .approach-reel-caption p{
    font-size:12.5px!important;
  }

  .conversion-prompt-inner{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding:34px 0!important;
  }

  /* Preparation: stable swipe chapters, no sticky glitches. */
  .preparation{overflow:hidden!important}
  .prep-scroll{
    height:auto!important;
    min-height:0!important;
  }
  .prep-sticky{
    position:relative!important;
    top:auto!important;
    height:auto!important;
    min-height:0!important;
    padding:76px 0 24px!important;
  }
  .prep-intro h2{
    font-size:clamp(47px,12.7vw,60px)!important;
    line-height:.88!important;
    margin-bottom:38px!important;
  }
  .prep-stage{
    display:block!important;
    margin-top:0!important;
  }
  .prep-timeline{
    display:flex!important;
    flex-direction:row!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:8px 16px 18px 0!important;
    margin-right:-16px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    touch-action:pan-x!important;
  }
  .prep-timeline::-webkit-scrollbar{display:none!important}
  .prep-rail,.prep-interaction-hint{display:none!important}
  .prep-step,
  .prep-stage.visible .prep-step,
  .prep-step.is-active,
  .prep-step.is-locked{
    flex:0 0 min(78vw,305px)!important;
    min-height:190px!important;
    padding:21px!important;
    margin:0!important;
    border-radius:16px!important;
    border:1px solid rgba(38,29,21,.15)!important;
    background:rgba(255,255,255,.24)!important;
    color:#171411!important;
    opacity:1!important;
    transform:none!important;
    box-shadow:none!important;
    scroll-snap-align:start!important;
  }
  .prep-step:before,.prep-step:after{display:none!important}
  .prep-step small{margin-bottom:20px!important;color:#8f6b3c!important}
  .prep-step strong,
  .prep-step.is-active strong{
    font-size:25px!important;
    color:#8f6735!important;
  }
  .prep-step p,
  .prep-step.is-active p{
    max-height:none!important;
    opacity:.72!important;
    margin-top:10px!important;
    font-size:13px!important;
    line-height:1.46!important;
  }
  .prep-note{
    position:relative!important;
    top:auto!important;
    width:100%!important;
    min-height:0!important;
    margin:18px 0 0!important;
    padding:26px 24px 30px!important;
    border-radius:18px!important;
  }
  .prep-practical{
    grid-template-columns:1fr!important;
    gap:24px!important;
    margin-top:28px!important;
    padding:44px 0 72px!important;
  }
  .prep-practical-head{
    position:relative!important;
    top:auto!important;
  }
  .prep-practical-head h3{
    font-size:41px!important;
  }

  /* Gallery: every photo accessible, moving automatically, swipe still works. */
  .guests{
    padding:76px 0 70px!important;
  }
  .guests-head h2{
    font-size:clamp(46px,12.3vw,59px)!important;
  }
  .photo-table-wrap{
    width:100%!important;
    max-width:none!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .photo-table{
    display:flex!important;
    position:relative!important;
    align-items:flex-start!important;
    gap:14px!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:28px 16px 38px!important;
    scrollbar-width:none!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x!important;
  }
  .photo-table::-webkit-scrollbar{display:none!important}
  .photo-card,
  .photo-table.is-ready .photo-card,
  .photo-card:nth-child(n){
    position:relative!important;
    left:auto!important;
    top:auto!important;
    flex:0 0 78vw!important;
    width:auto!important;
    max-width:310px!important;
    margin:0!important;
    opacity:1!important;
    transform:none!important;
    transition:none!important;
    scroll-snap-align:center!important;
    cursor:grab!important;
    touch-action:pan-x!important;
  }
  .photo-card:nth-child(2n){transform:translateY(18px)!important}
  .photo-card .photo-float{
    animation:none!important;
    transform:none!important;
  }
  .photo-card img,
  .ceremony-gallery-card img{
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
  }
  .photo-table-hint{
    position:relative!important;
    inset:auto!important;
    margin:0 16px!important;
    font-size:0!important;
  }
  .photo-table-hint:after{
    content:"Лента движется · можно листать";
    font-size:9px!important;
    letter-spacing:.15em!important;
    text-transform:uppercase!important;
  }

  .date-strip-inner{
    grid-template-columns:1fr!important;
    gap:22px!important;
    min-height:0!important;
    padding:52px 0!important;
  }
  .date-strip-inner .date-strip-question{
    font-size:clamp(41px,11.6vw,54px)!important;
  }

  .reviews{
    padding:74px 0 80px!important;
  }
  .review-slide{
    flex-basis:218px!important;
    width:218px!important;
  }

  /* Final: no huge side letters, portrait never collides with copy. */
  .final-portrait{
    min-height:0!important;
    padding:74px 0 90px!important;
  }
  .final-split{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 112px!important;
    grid-template-rows:auto auto auto auto auto auto!important;
    gap:10px 11px!important;
    min-height:0!important;
  }
  .final-portrait .final-content{display:contents!important}
  .final-content .kicker{
    grid-column:1!important;
    grid-row:1!important;
  }
  .final-content h2{
    grid-column:1 / -1!important;
    grid-row:2!important;
    font-size:clamp(45px,12.2vw,58px)!important;
    line-height:.88!important;
    margin:10px 0 14px!important;
    z-index:3!important;
  }
  .final-content > h2 + p{
    grid-column:1!important;
    grid-row:3!important;
    font-size:15px!important;
    max-width:235px!important;
  }
  .final-portrait-wrap{
    grid-column:2!important;
    grid-row:3 / span 2!important;
    width:112px!important;
    margin:0!important;
    align-self:end!important;
    justify-self:end!important;
  }
  .final-portrait-wrap img{
    width:100%!important;
    max-height:285px!important;
    object-fit:contain!important;
  }
  .final-date-entry{
    grid-column:1 / -1!important;
    grid-row:4!important;
    margin-top:20px!important;
  }
  .final-date-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .final-cta-note,
  .final-content .socials{
    grid-column:1 / -1!important;
  }

  .mobile-sticky{
    left:12px!important;
    right:12px!important;
    width:auto!important;
    min-height:48px!important;
  }
}

/* Extra-small phones */
@media (max-width:389px){
  .brand-lockup .brand-word small{display:none!important}
  .brand-lockup .brand-word strong{font-size:7px!important}
  .hero h1{font-size:52px!important}
  .about-hero-grid{grid-template-columns:minmax(0,1fr) 100px!important}
  .about-hero-photo{width:100px!important;max-width:100px!important}
  .approach-reel-card{
    flex-basis:88vw!important;
    width:88vw!important;
  }
  .photo-card,
  .photo-table.is-ready .photo-card{
    flex-basis:82vw!important;
  }
}


/* V19 gallery motion correction */
@media(min-width:1100px){
  .photo-card .photo-float{
    animation:cloudFloatA 12s ease-in-out infinite alternate!important;
    will-change:transform!important;
  }
  .photo-card:nth-child(2) .photo-float{animation-name:cloudFloatB!important;animation-duration:14s!important;animation-delay:-4s!important}
  .photo-card:nth-child(3) .photo-float{animation-name:cloudFloatC!important;animation-duration:11.5s!important;animation-delay:-7s!important}
  .photo-card:nth-child(4) .photo-float{animation-name:cloudFloatD!important;animation-duration:15s!important;animation-delay:-2s!important}
  .photo-card:nth-child(5) .photo-float{animation-name:cloudFloatB!important;animation-duration:13s!important;animation-delay:-8s!important}
  .photo-card:nth-child(6) .photo-float{animation-name:cloudFloatD!important;animation-duration:12.5s!important;animation-delay:-5s!important}
  .photo-card:nth-child(7) .photo-float{animation-name:cloudFloatA!important;animation-duration:16s!important;animation-delay:-10s!important}
  .photo-card:nth-child(8) .photo-float{animation-name:cloudFloatC!important;animation-duration:14.5s!important;animation-delay:-6s!important}
}
@media(max-width:1099px){
  .photo-table{cursor:grab!important}
  .photo-table.is-rail-dragging{cursor:grabbing!important;scroll-snap-type:none!important}
  .photo-table,
  .photo-card{touch-action:pan-x pan-y!important}
}


/* =====================================================================
   V20 — RESPONSIVE QA FINAL OVERRIDES
   Built after visual checks at 1440 / 1100 / 1099 / 900 / 768 / 600 /
   430 / 390 / 360 widths. These rules intentionally override legacy
   experiments above and keep each viewport as its own composition.
   ===================================================================== */

html,body{max-width:100%;overflow-x:clip}
main,main>section{width:100%;max-width:none}

/* The signature word must never disappear while its reveal animation runs. */
.stories-word span{
  opacity:1!important;
  transform:none!important;
  background:linear-gradient(90deg,#c99b57 0%,#e0bb79 34%,#ffe2a3 49%,#d7aa67 64%,#b98745 100%)!important;
  background-size:220% 100%!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  color:transparent!important;
}
.sticky-title.visible .stories-word span{
  animation:storyGoldSweep 1.8s var(--ease-premium) .18s 1 both!important;
}
.stories-word:after{opacity:.78!important}

/* Video reel: all titles have one hierarchy; PLAY is a real control. */
.approach-reel-caption strong{color:var(--motion-gold)!important}
.approach-play{
  pointer-events:auto!important;
  cursor:pointer!important;
  border:0!important;
  outline:0!important;
}
.approach-reel-video{cursor:grab!important}
.approach-reel-viewport.is-dragging .approach-reel-video{cursor:grabbing!important}

/* Ordinary CTAs are content-sized. They are not full-width bars. */
.btn-primary,.btn-accent,.submit,.final-date-submit{
  width:max-content!important;
  inline-size:max-content!important;
  max-width:100%!important;
  justify-self:start!important;
  flex:none!important;
}

/* Final no-date action: plain text link, never a gold badge. */
.final-no-date,
.final-no-date:hover,
.final-no-date:focus,
.final-no-date:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-block!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:13px!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:rgba(247,242,234,.60)!important;
  text-decoration:none!important;
  font:650 10px/1.4 var(--sans)!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
  transform:none!important;
}
.final-no-date:hover{color:var(--motion-gold)!important}
.final-no-date:before,.final-no-date:after{display:none!important;content:none!important}

/* -------------------- LARGE DESKTOP 1100+ -------------------- */
@media(min-width:1100px){
  .container{width:min(1240px,calc(100% - 64px))!important}
  .nav-toggle{display:none!important}
  .topbar .nav{
    position:static!important;display:flex!important;flex-direction:row!important;
    opacity:1!important;visibility:visible!important;transform:none!important;
    pointer-events:auto!important;background:none!important;border:0!important;
    box-shadow:none!important;padding:0!important;
  }
  .topbar .nav a{display:block!important}

  .manifesto,.preparation,.guests,.reviews,.about-hero-feature,.sixty,.final-cta{width:100%!important}

  /* floating people cloud remains the large-desktop signature */
  .photo-table{height:760px!important;min-height:760px!important;overflow:visible!important;display:block!important}
  .photo-card,.photo-table.is-ready .photo-card{
    position:absolute!important;left:var(--x)!important;top:var(--y)!important;
    width:var(--w)!important;flex:none!important;max-width:none!important;
    transform:translate3d(var(--dx,0px),var(--dy,0px),0) rotate(var(--r))!important;
  }
}

/* -------------------- COMPACT DESKTOP / TABLET 768–1099 -------------------- */
@media(min-width:768px) and (max-width:1099px){
  .container{width:calc(100% - 48px)!important;max-width:none!important}

  /* full navigation is preserved through a compact menu instead of vanishing */
  .topbar,.topbar.is-scrolled{
    left:18px!important;right:18px!important;top:14px!important;width:auto!important;
    transform:none!important;padding:10px 12px 10px 16px!important;
    border-radius:20px!important;background:rgba(14,13,12,.90)!important;
    border:1px solid rgba(255,255,255,.11)!important;mix-blend-mode:normal!important;
  }
  .nav-toggle{
    display:grid!important;place-items:center!important;gap:5px!important;
    width:42px!important;height:42px!important;flex:0 0 42px!important;margin-left:auto!important;
  }
  .topbar .nav{
    position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;
    padding:10px!important;border-radius:18px!important;background:rgba(14,13,12,.98)!important;
    border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 22px 60px rgba(0,0,0,.4)!important;
    opacity:0!important;visibility:hidden!important;transform:translateY(-8px)!important;pointer-events:none!important;
  }
  .topbar.nav-open .nav{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  .topbar .nav a{display:block!important;padding:14px 12px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;font-size:13px!important}
  .topbar .nav-cta{display:flex!important;width:100%!important;min-height:46px!important;margin-top:9px!important;justify-content:center!important}

  /* no giant edge letters on a viewport where they become accidental crops */
  .about-feature-bg-number,.sixty-giant,.final-gold-word{display:none!important}

  .hero h1{font-size:clamp(78px,10.5vw,108px)!important;line-height:.82!important}

  /* About: facts + portrait above, all logos in their own row below. */
  .about-hero-feature{min-height:0!important;padding:96px 0 78px!important}
  .about-hero-grid{
    display:grid!important;grid-template-columns:minmax(0,1fr) minmax(250px,34%)!important;
    grid-template-rows:auto auto auto auto auto!important;gap:0 34px!important;min-height:0!important;
  }
  .about-hero-copy{display:contents!important}
  .about-hero-copy .kicker{grid-column:1/-1!important;grid-row:1!important;margin-bottom:14px!important}
  .about-hero-copy h2{grid-column:1!important;grid-row:2!important;width:100%!important;font-size:clamp(66px,8.5vw,94px)!important;line-height:.8!important;margin:0!important}
  .about-hero-years{grid-column:1!important;grid-row:3!important;margin:36px 0 0!important}
  .about-hero-meta{grid-column:1!important;grid-row:4!important;width:100%!important;margin:18px 0 0!important}
  .about-hero-photo{grid-column:2!important;grid-row:2/span 3!important;width:100%!important;max-width:330px!important;margin:0!important;align-self:end!important;justify-self:end!important;transform:none!important}
  .about-hero-photo img{width:100%!important;max-height:510px!important;object-fit:contain!important}
  .about-hero-feature .about-feature-rail{grid-column:1/-1!important;grid-row:5!important;width:100%!important;max-width:none!important;margin:34px 0 0!important;padding-top:14px!important;overflow:hidden!important;border-top:1px solid rgba(255,255,255,.12)!important;z-index:8!important}
  .about-hero-feature .media-rail-window{width:100%!important;overflow:hidden!important}

  .sixty{padding:92px 0 84px!important;min-height:0!important}
  .sixty-layout{grid-template-columns:minmax(0,1fr) minmax(290px,40%)!important;gap:42px!important;min-height:0!important}
  .sixty-copy h2{font-size:clamp(54px,7vw,80px)!important}
  .sixty-media{min-height:0!important;padding:0!important}
  .sixty-poster{width:min(100%,335px)!important}

  /* Approach: wide two-column editorial composition, never a tiny central strip. */
  .manifesto{width:100%!important;padding:98px 0 94px!important;overflow:hidden!important}
  .manifesto-grid{display:grid!important;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)!important;gap:44px!important;width:calc(100% - 48px)!important;max-width:none!important}
  .sticky-title{position:relative!important;top:auto!important;width:100%!important;max-width:none!important}
  .sticky-title h2{font-size:clamp(56px,6.8vw,78px)!important;line-height:.86!important}
  .manifesto-copy{width:100%!important;padding-top:50px!important}
  .manifesto-copy .quote{width:100%!important;max-width:620px!important;margin:0 0 42px!important;font-size:clamp(30px,3.7vw,44px)!important}
  .format-card,.format-card:nth-of-type(n){width:100%!important;margin:0!important;grid-template-columns:38px 1fr!important;gap:15px!important;padding:24px 0!important;background:none!important;border-left:0!important;border-right:0!important}
  .format-card h3{font-size:30px!important}

  .approach-reel-wrap{width:100%!important;margin-top:72px!important;overflow:hidden!important}
  .approach-reel-head{width:calc(100% - 48px)!important;margin-inline:24px!important}
  .approach-reel-card{flex:0 0 min(72vw,760px)!important;width:min(72vw,760px)!important;min-width:540px!important}

  /* Preparation: stable columns, no sticky-height traps. */
  .preparation{overflow:hidden!important}
  .prep-scroll{height:auto!important;min-height:0!important}
  .prep-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:96px 0 30px!important}
  .prep-intro h2{font-size:clamp(58px,7.1vw,80px)!important;line-height:.88!important;margin-bottom:50px!important}
  .prep-stage{grid-template-columns:minmax(0,1fr) minmax(290px,.8fr)!important;gap:40px!important;margin-top:0!important}
  .prep-step{opacity:1!important;transform:none!important}
  .prep-note{position:sticky!important;top:92px!important}
  .prep-practical{grid-template-columns:minmax(245px,.7fr) minmax(0,1.3fr)!important;gap:42px!important}

  /* People: medium screens use a moving horizontal strip rather than a broken desktop cloud. */
  .photo-table-wrap{width:100%!important;max-width:none!important;padding:0!important;overflow:hidden!important}
  .photo-table{position:relative!important;display:flex!important;gap:18px!important;width:100%!important;height:auto!important;min-height:0!important;overflow-x:auto!important;overflow-y:hidden!important;padding:32px 24px 46px!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;touch-action:pan-x!important}
  .photo-table::-webkit-scrollbar{display:none!important}
  .photo-card,.photo-table.is-ready .photo-card,.photo-card:nth-child(n){position:relative!important;left:auto!important;top:auto!important;width:auto!important;flex:0 0 min(40vw,350px)!important;max-width:none!important;margin:0!important;opacity:1!important;transition:none!important;scroll-snap-align:center!important;touch-action:pan-x!important}
  .photo-card:nth-child(odd){transform:translateY(0) rotate(var(--r))!important}
  .photo-card:nth-child(even){transform:translateY(22px) rotate(var(--r))!important}
  .photo-card .photo-float{animation:none!important;transform:none!important}
  .photo-card img{width:100%!important;height:auto!important;object-fit:contain!important}

  /* Final: landscape/tablet remains a balanced split. */
  .final-portrait{padding:88px 0!important;min-height:0!important}
  .final-split{display:grid!important;grid-template-columns:minmax(0,1.08fr) minmax(250px,.72fr)!important;gap:38px!important;min-height:660px!important;align-items:center!important}
  .final-portrait .final-content{display:block!important;padding:0!important}
  .final-portrait-wrap{grid-column:2!important;width:min(100%,330px)!important;align-self:center!important;justify-self:end!important;margin:0!important}
  .final-date-row{grid-template-columns:minmax(210px,1fr) auto!important;align-items:center!important}
  .final-date-submit{justify-self:start!important;min-width:178px!important}
}

/* -------------------- PHONE / SMALL TABLET 0–767 -------------------- */
@media(max-width:767px){
  .container{width:calc(100% - 32px)!important;max-width:none!important}
  .about-feature-bg-number,.sixty-giant,.final-gold-word{display:none!important}

  /* Header: logo + menu icon always visible; all nav items remain inside menu. */
  .topbar,.topbar.is-scrolled{left:10px!important;right:10px!important;top:10px!important;width:auto!important;transform:none!important;padding:8px 9px 8px 11px!important;border-radius:17px!important;background:rgba(14,13,12,.91)!important;border:1px solid rgba(255,255,255,.11)!important;mix-blend-mode:normal!important;z-index:1000!important}
  .brand-lockup{flex:1 1 auto!important;min-width:0!important}
  .nav-toggle{display:grid!important;place-items:center!important;width:39px!important;height:39px!important;flex:0 0 39px!important;margin-left:auto!important}
  .topbar .nav{position:absolute!important;top:calc(100% + 7px)!important;left:0!important;right:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;padding:9px!important;border-radius:17px!important;background:rgba(14,13,12,.985)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 22px 56px rgba(0,0,0,.42)!important;opacity:0!important;visibility:hidden!important;transform:translateY(-7px)!important;pointer-events:none!important}
  .topbar.nav-open .nav{opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  .topbar .nav a{display:block!important;padding:13px 11px!important;border-bottom:1px solid rgba(255,255,255,.08)!important;font-size:13px!important}
  .topbar .nav-cta{display:flex!important;width:100%!important;justify-content:center!important;min-height:45px!important;margin-top:8px!important}

  /* Hero */
  .hero{min-height:100svh!important}
  .hero-content{width:100%!important;margin:0!important;padding:0 16px 28px!important}
  .hero h1{font-size:clamp(52px,15.5vw,69px)!important;line-height:.82!important;letter-spacing:-.06em!important}
  .hero-lead{font-size:clamp(19px,5.5vw,24px)!important;max-width:330px!important}
  .hero-actions{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important}
  .hero-actions .btn-primary,.hero-actions .btn-ghost{width:max-content!important;inline-size:max-content!important;max-width:100%!important;min-height:46px!important;padding:0 15px!important}
  .hero-actions .btn-primary span{white-space:normal!important;font-size:10px!important}

  /* About */
  .about-hero-feature{padding:78px 0 66px!important;min-height:0!important}
  .about-hero-grid{display:grid!important;grid-template-columns:minmax(0,1fr) 108px!important;grid-template-rows:auto auto auto auto auto!important;gap:0 10px!important;min-height:0!important}
  .about-hero-copy{display:contents!important}
  .about-hero-copy .kicker{grid-column:1/-1!important;grid-row:1!important;margin-bottom:12px!important}
  .about-hero-copy h2{grid-column:1/-1!important;grid-row:2!important;width:100%!important;margin:0 0 27px!important;font-size:clamp(49px,14vw,63px)!important;line-height:.8!important}
  .about-hero-years{grid-column:1!important;grid-row:3!important;margin:0!important}
  .about-hero-years strong{font-size:50px!important}
  .about-hero-meta{grid-column:1!important;grid-row:4!important;width:100%!important;margin:14px 0 0!important;font-size:7.3px!important;line-height:1.45!important}
  .about-hero-photo{grid-column:2!important;grid-row:3/span 2!important;width:108px!important;max-width:108px!important;margin:0!important;align-self:end!important;justify-self:end!important;transform:none!important}
  .about-hero-photo img{width:100%!important;max-height:280px!important;object-fit:contain!important}
  .about-hero-feature .about-feature-rail{grid-column:1/-1!important;grid-row:5!important;width:100%!important;max-width:100%!important;margin:26px 0 0!important;padding-top:12px!important;overflow:hidden!important;border-top:1px solid rgba(255,255,255,.12)!important;z-index:8!important}
  .about-hero-feature .media-rail-window{width:100%!important;overflow:hidden!important}
  .about-hero-feature .media-rail-set{gap:20px!important;padding-right:20px!important}

  /* 60 sec */
  .sixty{padding:74px 0 64px!important;min-height:0!important}
  .sixty-layout{display:grid!important;grid-template-columns:1fr!important;gap:28px!important;min-height:0!important}
  .sixty-copy{width:100%!important;position:relative!important;padding:0!important}
  .sixty-copy h2{font-size:clamp(42px,11.9vw,55px)!important;line-height:.9!important}
  .sixty-copy .large-copy{font-size:16px!important;line-height:1.28!important;max-width:340px!important}
  .sixty-media{position:relative!important;inset:auto!important;width:100%!important;min-height:0!important;padding:0!important;display:grid!important;place-items:center!important}
  .sixty-poster{width:min(72vw,300px)!important;margin:0 auto!important}

  /* Approach: full-width, no staggered legacy widths. */
  .manifesto{width:100%!important;padding:78px 0 74px!important;overflow:hidden!important}
  .manifesto-grid{display:block!important;width:calc(100% - 32px)!important;max-width:none!important;margin-inline:auto!important}
  .sticky-title{position:relative!important;top:auto!important;width:100%!important;max-width:none!important;margin:0 0 34px!important;opacity:1!important;transform:none!important}
  .sticky-title h2{font-size:clamp(48px,13.3vw,62px)!important;line-height:.85!important}
  .manifesto-copy{width:100%!important;padding:0!important}
  .manifesto-copy .quote{width:84%!important;max-width:340px!important;margin:0 0 34px auto!important;font-size:clamp(27px,7.5vw,35px)!important;line-height:1.04!important}
  .format-card,.format-card:nth-of-type(n){display:grid!important;grid-template-columns:28px 1fr!important;gap:11px!important;width:100%!important;margin:0!important;padding:21px 0!important;border-left:0!important;border-right:0!important;background:transparent!important}
  .format-card h3{font-size:26px!important;line-height:1.03!important;margin-bottom:8px!important}
  .format-card p{font-size:13px!important;line-height:1.52!important}

  .approach-reel-wrap{width:100%!important;margin-top:56px!important;overflow:visible!important}
  .approach-reel-head{width:calc(100% - 32px)!important;margin:0 16px 14px!important}
  .approach-reel-head small{display:none!important}
  .approach-reel-viewport{width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important}
  .approach-reel-viewport::-webkit-scrollbar{display:none!important}
  .approach-reel-track{transform:none!important;gap:14px!important;padding:0 16px 12px!important}
  .approach-reel-card{flex:0 0 86vw!important;width:86vw!important;min-width:0!important;scroll-snap-align:center!important}
  .approach-reel-card.is-clone{display:none!important}
  .approach-reel-video{border-radius:14px!important}
  .approach-play{width:58px!important;height:58px!important}
  .approach-reel-caption strong{font-size:23px!important;color:var(--motion-gold)!important}
  .approach-reel-caption p{font-size:12px!important;line-height:1.45!important}

  .conversion-prompt-inner{grid-template-columns:1fr!important;gap:18px!important;padding:32px 0!important}
  .conversion-prompt-inner .btn-accent,.date-strip-inner .btn-accent{width:max-content!important;inline-size:max-content!important;max-width:315px!important;justify-self:start!important;align-self:start!important;min-height:47px!important;padding:0 15px!important}
  .conversion-prompt-inner .btn-accent span,.date-strip-inner .btn-accent span{white-space:normal!important;text-align:left!important;font-size:10px!important}

  /* Preparation: headline scaled for 360–767 and chapters are swipe cards. */
  .preparation{overflow:hidden!important}
  .prep-scroll{height:auto!important;min-height:0!important}
  .prep-sticky{position:relative!important;top:auto!important;height:auto!important;min-height:0!important;padding:76px 0 24px!important}
  .prep-intro h2{font-size:clamp(43px,11.4vw,57px)!important;line-height:.9!important;margin-bottom:34px!important;max-width:100%!important}
  .prep-stage{display:block!important;margin-top:0!important}
  .prep-timeline{display:flex!important;flex-direction:row!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:8px 16px 18px 0!important;margin-right:-16px!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;touch-action:pan-x!important}
  .prep-timeline::-webkit-scrollbar{display:none!important}
  .prep-rail,.prep-interaction-hint{display:none!important}
  .prep-step,.prep-stage.visible .prep-step,.prep-step.is-active,.prep-step.is-locked{flex:0 0 min(78vw,292px)!important;min-height:182px!important;padding:20px!important;margin:0!important;border-radius:16px!important;border:1px solid rgba(38,29,21,.15)!important;background:rgba(255,255,255,.25)!important;color:#171411!important;opacity:1!important;transform:none!important;box-shadow:none!important;scroll-snap-align:start!important}
  .prep-step:before,.prep-step:after{display:none!important}
  .prep-step strong,.prep-step.is-active strong{font-size:24px!important;line-height:1.03!important;color:#8f6735!important}
  .prep-step p,.prep-step.is-active p{max-height:none!important;opacity:.72!important;margin-top:10px!important;font-size:12.5px!important;line-height:1.45!important}
  .prep-note{position:relative!important;top:auto!important;width:100%!important;min-height:0!important;margin:18px 0 0!important;padding:24px 22px 28px!important;border-radius:18px!important}
  .prep-note-index{font-size:60px!important;margin-bottom:16px!important}
  .prep-note p{font-size:22px!important;line-height:1.08!important}
  .prep-practical{grid-template-columns:1fr!important;gap:23px!important;margin-top:26px!important;padding:42px 0 68px!important}
  .prep-practical-head{position:relative!important;top:auto!important}
  .prep-practical-head h3{font-size:clamp(38px,10.5vw,47px)!important;line-height:.94!important}
  .prep-practical .faq-question span{font-size:20px!important;line-height:1.08!important}

  /* People: all eight images remain reachable and the strip can auto-travel. */
  .guests{padding:74px 0 68px!important}
  .guests-head h2{font-size:clamp(44px,11.8vw,56px)!important;line-height:.9!important}
  .photo-table-wrap{width:100%!important;max-width:none!important;padding:0!important;overflow:hidden!important}
  .photo-table{position:relative!important;display:flex!important;align-items:flex-start!important;gap:14px!important;width:100%!important;height:auto!important;min-height:0!important;overflow-x:auto!important;overflow-y:hidden!important;padding:28px 16px 38px!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-x!important}
  .photo-table::-webkit-scrollbar{display:none!important}
  .photo-card,.photo-table.is-ready .photo-card,.photo-card:nth-child(n){position:relative!important;left:auto!important;top:auto!important;width:auto!important;flex:0 0 78vw!important;max-width:305px!important;margin:0!important;opacity:1!important;transition:none!important;scroll-snap-align:center!important;touch-action:pan-x!important}
  .photo-card:nth-child(odd){transform:none!important}
  .photo-card:nth-child(even){transform:translateY(16px)!important}
  .photo-card .photo-float{animation:none!important;transform:none!important;width:100%!important}
  .photo-card img,.ceremony-gallery-card img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
  .photo-table-hint{position:relative!important;inset:auto!important;margin:0 16px!important;font-size:0!important}
  .photo-table-hint:after{content:'Лента движется · можно листать';font-size:9px!important;letter-spacing:.14em!important;text-transform:uppercase!important}

  .date-strip-inner{grid-template-columns:1fr!important;gap:20px!important;min-height:0!important;padding:50px 0!important}
  .date-strip-inner .date-strip-question{font-size:clamp(39px,10.9vw,51px)!important;line-height:.92!important}

  .reviews{padding:72px 0 78px!important}
  .reviews-head h2{font-size:clamp(43px,11.4vw,55px)!important}
  .review-slide{flex-basis:214px!important;width:214px!important}

  /* Final: portrait belongs to the intro row only and never overlaps the form. */
  .final-portrait{padding:72px 0 92px!important;min-height:0!important}
  .final-split{display:grid!important;grid-template-columns:minmax(0,1fr) 104px!important;grid-template-rows:auto auto auto auto auto auto!important;gap:9px 10px!important;min-height:0!important;align-items:start!important}
  .final-portrait .final-content{display:contents!important}
  .final-content .kicker{grid-column:1/-1!important;grid-row:1!important;margin:0 0 8px!important}
  .final-content h2{grid-column:1/-1!important;grid-row:2!important;font-size:clamp(42px,11.4vw,54px)!important;line-height:.9!important;margin:8px 0 14px!important}
  .final-content>h2+p{grid-column:1!important;grid-row:3!important;font-size:14px!important;line-height:1.28!important;max-width:225px!important;margin:0!important}
  .final-portrait-wrap{grid-column:2!important;grid-row:3!important;width:104px!important;max-width:104px!important;margin:0!important;align-self:end!important;justify-self:end!important;z-index:2!important}
  .final-portrait-wrap img{width:100%!important;max-height:155px!important;object-fit:contain!important}
  .final-date-entry{grid-column:1/-1!important;grid-row:4!important;width:100%!important;margin-top:24px!important}
  .final-date-row{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .final-date-row input{width:100%!important;min-width:0!important}
  .final-date-submit{width:max-content!important;inline-size:max-content!important;min-width:168px!important;max-width:100%!important;justify-self:start!important;align-self:start!important;min-height:48px!important;padding:0 16px!important}
  .final-no-date{margin-top:12px!important}
  .final-cta-note{grid-column:1/-1!important;grid-row:5!important;margin-top:9px!important}
  .final-content .socials{grid-column:1/-1!important;grid-row:6!important;margin:20px 0 0!important;gap:17px!important;flex-wrap:wrap!important}

  .mobile-sticky{left:12px!important;right:12px!important;width:auto!important;min-height:48px!important;transition:opacity .24s ease,transform .24s ease!important}
  .mobile-sticky.is-hidden{opacity:0!important;transform:translateY(130%)!important;pointer-events:none!important}
}

@media(max-width:389px){
  .brand-lockup .brand-word small{display:none!important}
  .brand-lockup .brand-word strong{font-size:7px!important}
  .hero h1{font-size:51px!important}
  .about-hero-grid{grid-template-columns:minmax(0,1fr) 96px!important}
  .about-hero-photo{width:96px!important;max-width:96px!important}
  .sticky-title h2{font-size:47px!important}
  .manifesto-copy .quote{font-size:27px!important;width:88%!important}
  .approach-reel-card{flex-basis:88vw!important;width:88vw!important}
  .prep-intro h2{font-size:42px!important}
  .prep-step,.prep-stage.visible .prep-step,.prep-step.is-active,.prep-step.is-locked{flex-basis:82vw!important}
  .photo-card,.photo-table.is-ready .photo-card{flex-basis:82vw!important}
  .final-content h2{font-size:41px!important}
  .final-split{grid-template-columns:minmax(0,1fr) 96px!important}
  .final-portrait-wrap{width:96px!important;max-width:96px!important}
}


/* V20 conversion specificity fixes */
button.final-no-date[data-open-quiz],
button.final-no-date[data-open-quiz]:hover,
button.final-no-date[data-open-quiz]:focus,
button.final-no-date[data-open-quiz]:active{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  display:inline-block!important;
  width:max-content!important;
  inline-size:max-content!important;
  max-width:100%!important;
  min-height:0!important;
  height:auto!important;
  margin-top:13px!important;
  padding:0!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:none!important;
  background-color:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:rgba(247,242,234,.60)!important;
  font:650 10px/1.4 var(--sans)!important;
  letter-spacing:.065em!important;
  text-transform:uppercase!important;
  transform:none!important;
}
button.final-no-date[data-open-quiz]:hover{color:var(--motion-gold)!important}
button.final-no-date[data-open-quiz]:before,
button.final-no-date[data-open-quiz]:after{display:none!important;content:none!important}

@media(min-width:768px) and (max-width:1099px){
  button.final-date-submit{display:inline-flex!important;width:178px!important;inline-size:178px!important;min-width:178px!important;max-width:178px!important;justify-self:start!important}
}
@media(max-width:767px){
  button.final-date-submit{display:inline-flex!important;width:170px!important;inline-size:170px!important;min-width:170px!important;max-width:170px!important;justify-self:start!important;align-self:start!important}
}

/* V20 extra-small About typography safeguard */
@media(max-width:767px){
  .about-hero-copy h2 em{display:block!important;color:var(--motion-gold)!important;margin-top:2px!important}
}
@media(max-width:389px){
  .about-hero-copy h2{font-size:45px!important;line-height:.88!important}
}

/* V20 gallery auto-travel must not be cancelled by CSS snap. */
@media(max-width:1099px){
  .photo-table{scroll-snap-type:none!important;scroll-behavior:auto!important}
}


/* ===== DESKTOP V26 — HERO + ABOUT ADAPTATION ===== */
@media (min-width:768px){
  /* HERO — mobile-inspired editorial composition, scaled for desktop */
  .hero-content{
    width:min(1320px,calc(100% - 64px));
    padding-bottom:clamp(56px,7vh,88px);
  }
  .hero .eyebrow{
    margin:0 0 18px;
    color:rgba(247,242,234,.72);
  }
  .hero h1{
    max-width:900px;
    margin:0;
    font-size:clamp(76px,7.6vw,132px);
    line-height:.84;
    letter-spacing:-.062em;
  }
  .hero h1 .hero-first,
  .hero h1 .hero-last{
    display:block;
    white-space:nowrap;
  }
  .hero h1 .hero-first{
    font-size:.54em;
    line-height:1;
    letter-spacing:.13em;
    margin-bottom:.10em;
    color:#d6ad69;
  }
  .hero h1 .hero-last{
    font-size:1em;
    line-height:.90;
    letter-spacing:-.052em;
    color:#f7f2ea;
  }
  .hero .hero-quote{
    box-sizing:border-box;
    width:min(100%,620px);
    max-width:620px;
    margin:26px 0 28px;
    padding:2px 0 3px 20px;
    border-left:1px solid rgba(214,173,105,.82);
    font-family:var(--serif);
    font-size:clamp(24px,2.15vw,34px);
    line-height:1.24;
    font-style:italic;
    color:rgba(247,242,234,.9);
  }
  .hero-actions{
    align-items:center;
    gap:12px;
  }
  .hero-actions .cta-main{
    min-height:52px;
    padding:0 20px 0 22px;
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:#d6ad69;
    color:#17120d;
    border:1px solid rgba(23,18,13,.12);
    box-shadow:0 12px 34px rgba(0,0,0,.22);
  }
  .hero-actions .cta-main i{
    width:auto;
    height:auto;
    display:inline-block;
    background:none;
    font-style:normal;
    font-size:15px;
    transition:transform .25s ease;
  }
  .hero-actions .cta-main:hover i{
    transform:translate(3px,-3px);
  }
  .hero-actions .hero-showreel-link{
    min-height:52px;
    padding:0 20px;
    display:inline-flex;
    align-items:center;
    border:1px solid rgba(214,173,105,.42);
    background:rgba(8,8,7,.28);
    color:#f7f2ea;
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .hero-actions .hero-showreel-link:after{
    content:'↗';
    margin-left:11px;
    color:#d6ad69;
    font-size:14px;
  }
  .hero-cta-note{
    margin-top:13px;
    font-size:10px;
    letter-spacing:.03em;
    color:rgba(247,242,234,.5);
  }

  /* ABOUT — repeated name removed; experience becomes the visual anchor */
  .about-hero-feature{
    min-height:82svh;
    padding-top:72px!important;
    padding-bottom:64px!important;
  }
  .about-hero-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr);
    gap:clamp(42px,5vw,86px);
    min-height:620px;
    align-items:center;
  }
  .about-hero-copy{
    align-self:center;
    padding:10px 0 26px;
  }
  .about-hero-copy .kicker{
    margin-bottom:30px;
  }
  .about-hero-years{
    margin-top:0;
    gap:22px;
    align-items:flex-end;
  }
  .about-hero-years strong{
    font-size:clamp(138px,10.5vw,190px);
    line-height:.66;
    letter-spacing:-.055em;
  }
  .about-hero-years span{
    max-width:132px;
    padding-bottom:12px;
    font-size:clamp(12px,.9vw,15px);
    line-height:1.18;
    letter-spacing:.12em;
  }
  .about-hero-meta{
    margin-top:34px;
    max-width:700px;
    font-size:clamp(14px,1vw,17px);
    line-height:1.42;
    letter-spacing:.05em;
    color:rgba(247,242,234,.7);
  }
  .about-hero-professions{
    margin:11px 0 0;
    max-width:700px;
    font-size:clamp(16px,1.2vw,20px);
    line-height:1.42;
    letter-spacing:.005em;
    color:rgba(247,242,234,.9);
  }
  .about-hero-feature .about-feature-rail{
    width:min(100%,700px)!important;
    max-width:700px!important;
    margin-top:30px!important;
  }
  .about-hero-photo{
    width:min(100%,470px)!important;
  }
}

@media (min-width:1600px){
  .hero-content{
    width:min(1440px,calc(100% - 96px));
  }
  .hero h1{
    font-size:138px;
  }
  .hero .hero-quote{
    font-size:34px;
  }
  .about-hero-grid{
    min-height:660px;
  }
  .about-hero-years strong{
    font-size:196px;
  }
  .about-hero-years span{
    font-size:15px;
  }
  .about-hero-photo{
    width:min(100%,480px)!important;
  }
}


/* ===== DESKTOP V27 — ULTRAWIDE HERO + ABOUT BALANCE ===== */
@media (min-width:768px){
  /* Hero must still read as the main screen on ultrawide monitors and at 75% browser zoom. */
  .hero-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding-left:clamp(72px,11vw,260px)!important;
    padding-right:clamp(48px,7vw,160px)!important;
    padding-bottom:clamp(64px,8vh,104px)!important;
  }
  .hero .eyebrow{
    font-size:clamp(11px,.72vw,14px)!important;
    margin-bottom:clamp(18px,1.4vw,26px)!important;
  }
  .hero h1{
    width:max-content!important;
    max-width:min(1100px,72vw)!important;
    font-size:clamp(96px,9.2vw,190px)!important;
    line-height:.82!important;
  }
  .hero h1 .hero-first{
    font-size:.52em!important;
    letter-spacing:.13em!important;
    margin-bottom:.08em!important;
  }
  .hero h1 .hero-last{
    font-size:1em!important;
    letter-spacing:-.052em!important;
  }
  .hero .hero-quote{
    width:min(690px,46vw)!important;
    max-width:690px!important;
    margin-top:clamp(24px,1.8vw,34px)!important;
    margin-bottom:clamp(26px,2vw,36px)!important;
    padding-left:22px!important;
    font-size:clamp(27px,2vw,39px)!important;
    line-height:1.22!important;
  }
  .hero-actions .cta-main,
  .hero-actions .hero-showreel-link{
    min-height:56px!important;
    padding-left:24px!important;
    padding-right:24px!important;
    font-size:clamp(13px,.8vw,15px)!important;
  }
  .hero-cta-note{
    margin-top:15px!important;
    font-size:clamp(10px,.65vw,12px)!important;
  }

  /* About: typography carries the block; photo supports it. */
  .about-hero-feature{
    min-height:86svh!important;
  }
  .about-hero-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(300px,.72fr)!important;
    gap:clamp(36px,4.5vw,76px)!important;
    min-height:650px!important;
  }
  .about-hero-copy{
    padding-left:clamp(0px,1vw,18px)!important;
  }
  .about-hero-copy .kicker{
    font-size:clamp(10px,.72vw,13px)!important;
    margin-bottom:34px!important;
  }
  .about-hero-years{
    gap:26px!important;
  }
  .about-hero-years strong{
    font-size:clamp(168px,12vw,260px)!important;
    line-height:.62!important;
    letter-spacing:-.06em!important;
  }
  .about-hero-years span{
    max-width:150px!important;
    padding-bottom:15px!important;
    font-size:clamp(14px,1vw,18px)!important;
    line-height:1.16!important;
    letter-spacing:.11em!important;
  }
  .about-hero-meta{
    margin-top:42px!important;
    max-width:760px!important;
    font-size:clamp(16px,1.05vw,20px)!important;
    line-height:1.4!important;
    letter-spacing:.035em!important;
  }
  .about-hero-professions{
    margin-top:13px!important;
    max-width:760px!important;
    font-size:clamp(18px,1.25vw,24px)!important;
    line-height:1.38!important;
  }
  .about-hero-feature .about-feature-rail{
    width:min(100%,760px)!important;
    max-width:760px!important;
    margin-top:34px!important;
  }
  .about-hero-feature .about-feature-rail .media-rail-window{
    min-height:68px!important;
  }
  .about-hero-photo{
    width:min(100%,440px)!important;
  }
  .about-hero-photo img{
    max-height:68vh!important;
  }
}

/* Very wide CSS viewports: avoid the "tiny content in the middle of nowhere" effect. */
@media (min-width:2100px){
  .hero-content{
    padding-left:clamp(180px,12vw,320px)!important;
  }
  .hero h1{
    font-size:205px!important;
  }
  .hero .hero-quote{
    font-size:41px!important;
  }
  .about-hero-grid{
    width:min(1540px,calc(100% - 120px))!important;
    max-width:none!important;
  }
  .about-hero-years strong{
    font-size:280px!important;
  }
  .about-hero-years span{
    font-size:19px!important;
  }
  .about-hero-meta{
    font-size:20px!important;
  }
  .about-hero-professions{
    font-size:24px!important;
  }
}
