/* Privé Atelier company overview. Brand tokens taken from priveatelier.ae (Shopify theme settings):
   background #000000, foreground #FFFFFF, buttons #A10D0D (also #A00709 / #B60F0F), light section #F3F3F3,
   text-on-light #121212, headings Inter 400, body Jost 400/700. */
@font-face { font-family:"Jost"; src:url("fonts/jost_n4.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:"Jost"; src:url("fonts/jost_n7.woff2") format("woff2"); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:"Jost"; src:url("fonts/jost_i4.woff2") format("woff2"); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:"Jost Var"; src:url("fonts/Jost-var.ttf") format("truetype"); font-weight:100 900; font-display:swap; }
@font-face { font-family:"Inter"; src:url("fonts/inter_n4.woff2") format("woff2"); font-weight:400; font-style:normal; font-display:swap; }

:root {
  --black:#000; --white:#fff; --ink:#121212; --light:#f3f3f3;
  --red:#a10d0d; --red-deep:#a00709; --red-bright:#b60f0f; --red-text:#e04848;
  --card:#0b0b0b; --card2:#141414; --line:#262626; --rule:#3a3a3a;
  --muted:#a9a9a9; --muted-d:#5c5c5c; --line-l:#d9d9d9;
  --head: Inter, "Jost", ui-sans-serif, system-ui, sans-serif;
  --body: "Jost", "Jost Var", ui-sans-serif, system-ui, sans-serif;
  --mid: "Jost Var", "Jost", ui-sans-serif, sans-serif;
  --ease: cubic-bezier(.2,.7,.1,1);
}
/* 1rem = 16px on a 1920×1080 stage; everything scales with the stage */
html { font-size: calc(min(100vw, 177.7778vh) / 120); background:var(--black); }
* { box-sizing:border-box; }
body { margin:0; height:100vh; overflow:hidden; background:var(--black); color:var(--white);
  font-family:var(--body); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
h1,h2,h3,h4,p,ul,ol { margin:0; padding:0; }
ul { list-style:none; }
img { display:block; }
b, strong { font-weight:700; }

.stage { position:fixed; top:50%; left:50%; width:120rem; height:67.5rem; transform:translate(-50%,-50%); overflow:hidden; background:var(--black); user-select:none; cursor:pointer; }

/* ---------- slides ---------- */
.slide { position:absolute; inset:0; padding:5.5rem 6.5rem 8rem; overflow:hidden;
  opacity:0; visibility:hidden; transition:opacity .55s var(--ease), visibility 0s linear .55s; }
.slide.is-active { opacity:1; visibility:visible; transition:opacity .55s var(--ease), visibility 0s; z-index:2; }
.slide.dark  { background:var(--black); color:var(--white); }
.slide.light { background:var(--light); color:var(--ink); }

.rv { opacity:0; transform:translateY(1.6rem); transition:opacity .7s var(--ease), transform .8s var(--ease); transition-delay:calc(var(--d,0) * 70ms + 120ms); }
.is-active .rv { opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce) { .rv, .slide { transition:none !important; transform:none !important; } }

/* ---------- type ---------- */
.kicker { font-family:var(--mid); font-weight:500; font-size:1.15rem; letter-spacing:.24em; text-transform:uppercase; display:flex; align-items:center; gap:1rem; color:var(--muted); }
.kicker::before { content:""; width:.8rem; height:.8rem; background:var(--red); flex:none; }
.light .kicker { color:var(--muted-d); }
.h { font-family:var(--head); font-weight:400; letter-spacing:-.025em; line-height:1.04; }
h2.h { font-size:4.6rem; margin-top:1.6rem; max-width:62rem; }
.h em { font-style:normal; color:var(--red-text); }
.light .h em { color:var(--red); }
.lede { font-size:1.7rem; line-height:1.5; color:#d6d6d6; max-width:48rem; }
.light .lede { color:#3a3a3a; }
.lede b { color:var(--white); font-weight:700; }
.light .lede b { color:var(--ink); }
.small { font-size:1.15rem; color:var(--muted); line-height:1.45; }
.light .small { color:#5c5c5c; }
.sq { display:inline-block; width:.62rem; height:.62rem; background:var(--red); margin:0 1rem .18rem; vertical-align:middle; }
.btn { display:inline-flex; align-items:center; gap:.9rem; background:var(--red); color:var(--white); text-decoration:none; font-family:var(--body); font-size:1.35rem; letter-spacing:.04em; padding:1.05rem 1.8rem; }
.src { font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.14em; text-transform:uppercase; color:#7d7d7d; }
.light .src { color:#6e6e6e; }

/* ---------- footer ---------- */
.foot { position:absolute; left:6.5rem; right:6.5rem; bottom:2.8rem; display:flex; align-items:center; justify-content:space-between;
  font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.2em; text-transform:uppercase; color:#8a8a8a; }
.foot .l { display:flex; align-items:center; gap:1.6rem; }
.foot img { height:1.75rem; width:auto; }
.foot .pg b { color:var(--white); font-weight:500; }
.light .foot { color:#6a6a6a; }
.light .foot .pg b { color:var(--ink); }

/* ---------- nav chrome (same as other decks) ---------- */
.dots { position:fixed; left:50%; bottom:calc((100vh - min(100vh, 56.25vw)) / 2 + 2.6rem); transform:translateX(-50%); display:flex; gap:.6rem; z-index:20; }
.dots button { all:unset; cursor:pointer; width:.7rem; height:.7rem; border-radius:0; background:rgba(255,255,255,.22); transition:width .4s var(--ease), background .3s; }
.dots button.on { width:2.6rem; background:var(--red-bright); }
body[data-theme="light"] .dots button { background:rgba(18,18,18,.18); }
body[data-theme="light"] .dots button.on { background:var(--red); }
.bar { position:fixed; left:50%; top:calc((100vh - min(100vh, 56.25vw)) / 2); transform:translateX(-50%); width:120rem; height:.3rem; z-index:20; pointer-events:none; }
.bar i { display:block; height:100%; width:10%; background:var(--red-bright); transition:width .6s var(--ease); }
.hint { position:fixed; right:1.6rem; top:1.4rem; z-index:30; font-family:var(--mid); font-size:.85rem; letter-spacing:.12em; text-transform:uppercase; color:#a9a9a9; background:rgba(0,0,0,.75); padding:.6rem .9rem; opacity:0; transition:opacity .4s; pointer-events:none; }
.hint.show { opacity:1; }

/* =========================================================
   01 COVER
   ========================================================= */
.s1 { padding:0; }
.s1 .photo { position:absolute; top:0; right:0; bottom:0; width:64rem; }
.s1 .photo img { width:100%; height:100%; object-fit:cover; object-position:40% 50%; filter:saturate(.9) contrast(1.02); }
.s1 .photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.72) 18%,rgba(0,0,0,.1) 55%,rgba(0,0,0,0) 100%); }
.s1 .col { position:absolute; left:6.5rem; top:6rem; bottom:5.5rem; width:66rem; display:flex; flex-direction:column; z-index:2; }
.s1 .logo { width:40rem; height:auto; }
.s1 .mid { margin-top:auto; }
.s1 h1 { font-size:6.4rem; margin:2.2rem 0 2.2rem; max-width:62rem; }
.s1 .lede { font-size:1.75rem; max-width:50rem; }
.s1 .meta { margin-top:auto; padding-top:3rem; display:flex; align-items:center; gap:2.4rem; }
.s1 .meta .where { font-family:var(--mid); font-weight:500; font-size:1.1rem; letter-spacing:.22em; text-transform:uppercase; color:#cfcfcf; }
.s1 .meta .where .sq { margin:0 .9rem .15rem; }
.s1 .tag { position:absolute; right:3rem; bottom:2.6rem; z-index:2; font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.2em; text-transform:uppercase; color:#e6e6e6; background:rgba(0,0,0,.6); padding:.6rem .9rem; }

/* =========================================================
   02 WHO WE ARE
   ========================================================= */
.s2 { display:grid; grid-template-columns:1fr 46rem; column-gap:5rem; }
.s2 .lc { display:flex; flex-direction:column; }
.s2 h2.h { font-size:4.4rem; }
.s2 .quote { margin-top:2.6rem; border-left:.35rem solid var(--red); padding:.4rem 0 .4rem 2rem; font-size:1.55rem; line-height:1.5; color:#d6d6d6; max-width:50rem; }
.s2 .quote .src { display:block; margin-top:1rem; }
.s2 .facts { margin-top:auto; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.s2 .fact { background:var(--card2); border:1px solid var(--line); padding:1.6rem 1.6rem 1.5rem; }
.s2 .fact strong { display:block; font-family:var(--head); font-weight:400; font-size:3.4rem; letter-spacing:-.03em; line-height:1; }
.s2 .fact span { display:block; margin-top:.8rem; font-size:1.15rem; line-height:1.35; color:var(--muted); }
.s2 .rc { display:flex; flex-direction:column; gap:1.2rem; }
.s2 .rc .ph { height:22rem; overflow:hidden; border:1px solid var(--line); }
.s2 .rc .ph img { width:100%; height:100%; object-fit:cover; }
.s2 .team { background:var(--card2); border:1px solid var(--line); padding:1.8rem 2rem; flex:1; display:flex; flex-direction:column; }
.s2 .team h3 { font-family:var(--head); font-weight:400; font-size:1.75rem; letter-spacing:-.01em; }
.s2 .team ul { margin-top:1.2rem; display:grid; grid-template-columns:1fr 1fr; gap:.85rem 1.6rem; }
.s2 .team li { font-size:1.2rem; line-height:1.3; color:#d6d6d6; display:flex; gap:.8rem; align-items:baseline; }
.s2 .team li b { font-family:var(--head); font-weight:400; color:var(--white); font-size:1.5rem; min-width:1.2rem; }
.s2 .team .src { margin-top:auto; padding-top:1rem; }

/* =========================================================
   03 WHAT WE DO
   ========================================================= */
.s3 .top { display:flex; justify-content:space-between; align-items:flex-end; gap:4rem; }
.s3 .top .lede { max-width:40rem; font-size:1.45rem; padding-bottom:.6rem; }
.s3 .grid { margin-top:3rem; display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; }
.svc { background:var(--card2); border:1px solid var(--line); display:flex; flex-direction:column; }
.svc .im { height:19rem; overflow:hidden; position:relative; background:#0a0a0a; }
.svc .im img { width:100%; height:100%; object-fit:cover; }
.svc .im .badge { position:absolute; left:1rem; top:1rem; background:var(--red); color:#fff; font-family:var(--mid); font-weight:500; font-size:.85rem; letter-spacing:.16em; text-transform:uppercase; padding:.45rem .7rem; }
.svc .tx { padding:1.5rem 1.5rem 1.7rem; }
.svc .n { font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.2em; color:var(--red-text); }
.svc h3 { font-family:var(--head); font-weight:400; font-size:1.85rem; letter-spacing:-.015em; line-height:1.12; margin-top:.6rem; }
.svc p { margin-top:.8rem; font-size:1.18rem; line-height:1.42; color:#bdbdbd; }

/* =========================================================
   04 PRIVÉ BESPOKE
   ========================================================= */
.s4 { display:grid; grid-template-columns:40rem 1fr; column-gap:6rem; align-items:stretch; }
.s4 .mark { border:1px solid var(--line); display:flex; flex-direction:column; align-items:center; justify-content:center; background:#000; padding:3rem; }
.s4 .mark img { width:28rem; height:auto; }
.s4 .mark .src { margin-top:2.4rem; text-align:center; }
.s4 .rc { display:flex; flex-direction:column; }
.s4 h2.h { font-size:4.2rem; }
.s4 .lede { margin-top:1.8rem; font-size:1.5rem; max-width:58rem; }
.s4 .cmp { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.s4 .cmp > div { border:1px solid var(--line); background:var(--card2); padding:1.9rem 2.1rem; }
.s4 .cmp > div.hi { border-color:var(--red); background:linear-gradient(180deg,#1d0000 0%,#0b0b0b 100%); }
.s4 .cmp h3 { font-family:var(--head); font-weight:400; font-size:2rem; letter-spacing:-.015em; }
.s4 .cmp .from { font-family:var(--mid); font-weight:500; font-size:1rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top:.5rem; }
.s4 .cmp ul { margin-top:1.3rem; display:grid; gap:.7rem; }
.s4 .cmp li { font-size:1.3rem; color:#dcdcdc; padding-left:1.6rem; position:relative; }
.s4 .cmp li::before { content:""; position:absolute; left:0; top:.62rem; width:.5rem; height:.5rem; background:var(--red); }
.s4 .note { margin-top:1.4rem; font-size:1.2rem; color:var(--muted); }
.s4 .note b { color:#fff; }

/* =========================================================
   05 PROCESS (light)
   ========================================================= */
.s5 .top { display:flex; justify-content:space-between; align-items:flex-end; gap:4rem; }
.s5 .top .lede { font-size:1.45rem; max-width:40rem; padding-bottom:.6rem; }
.s5 .rail { margin-top:4.2rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; position:relative; }
.s5 .rail::before { content:""; position:absolute; left:0; right:0; top:2.3rem; height:2px; background:var(--line-l); }
.step { position:relative; }
.step .num { width:4.6rem; height:4.6rem; background:var(--ink); color:#fff; display:flex; align-items:center; justify-content:center; font-family:var(--head); font-size:1.7rem; position:relative; z-index:1; }
.step:first-child .num { background:var(--red); }
.step h3 { margin-top:2rem; font-family:var(--head); font-weight:400; font-size:2.2rem; letter-spacing:-.015em; }
.step p { margin-top:.9rem; font-size:1.35rem; line-height:1.45; color:#3a3a3a; max-width:22rem; }
.s5 .book { margin-top:4.2rem; display:grid; grid-template-columns:auto 1fr 1fr 1fr; align-items:stretch; border:1px solid var(--line-l); background:#fff; }
.s5 .book > div { padding:1.6rem 2rem; border-left:1px solid var(--line-l); }
.s5 .book > div:first-child { border-left:0; display:flex; align-items:center; background:var(--ink); color:#fff; font-family:var(--mid); font-weight:500; font-size:1.05rem; letter-spacing:.2em; text-transform:uppercase; padding:1.6rem 2.4rem; }
.s5 .book h4 { font-family:var(--head); font-weight:400; font-size:1.55rem; }
.s5 .book p { margin-top:.4rem; font-size:1.15rem; color:#555; }

/* =========================================================
   06 PRICE LADDER
   ========================================================= */
.s6 { display:grid; grid-template-columns:1fr 36rem; column-gap:5rem; }
.s6 .lc { display:flex; flex-direction:column; }
.s6 h2.h { font-size:4.2rem; }
.ladder { margin-top:auto; display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; align-items:end; height:30rem; }
.rung { display:flex; flex-direction:column; justify-content:flex-end; height:100%; }
.rung .bar2 { background:var(--card2); border:1px solid var(--line); border-top:.35rem solid var(--rule); padding:1.3rem 1.3rem 1.4rem; display:flex; flex-direction:column; }
.rung.r1 .bar2 { height:46%; }
.rung.r2 .bar2 { height:60%; }
.rung.r3 .bar2 { height:78%; border-top-color:var(--red); }
.rung.r4 .bar2, .rung.r5 .bar2 { height:100%; border-top-color:var(--red-bright); background:linear-gradient(180deg,#1d0000 0%,#0b0b0b 70%); }
.rung .p { font-family:var(--head); font-size:2.5rem; letter-spacing:-.03em; line-height:1; }
.rung .p small { font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.16em; display:block; color:var(--muted); margin-bottom:.5rem; }
.rung h3 { margin-top:auto; font-family:var(--head); font-weight:400; font-size:1.45rem; line-height:1.15; }
.rung p { margin-top:.4rem; font-size:1.05rem; line-height:1.35; color:var(--muted); }
.s6 .jk { margin-top:1.4rem; display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.s6 .jk .small b { color:#fff; font-weight:700; }
.s6 .rc { display:flex; flex-direction:column; gap:1rem; }
.s6 .sw { height:26rem; overflow:hidden; border:1px solid var(--line); position:relative; }
.s6 .sw img { width:100%; height:100%; object-fit:cover; object-position:50% 30%; }
.s6 .sw .cap { position:absolute; left:0; right:0; bottom:0; padding:1rem 1.3rem; background:linear-gradient(0deg,rgba(0,0,0,.85),rgba(0,0,0,0)); font-size:1.05rem; color:#e6e6e6; }
.s6 .fabs { display:grid; grid-template-columns:1fr 1fr; gap:1rem; flex:1; }
.fab { background:var(--card2); border:1px solid var(--line); display:grid; grid-template-columns:5.2rem 1fr; gap:1rem; padding:1rem; align-items:start; }
.fab img { width:5.2rem; height:5.2rem; object-fit:cover; }
.fab h4 { font-family:var(--head); font-weight:400; font-size:1.25rem; line-height:1.15; }
.fab p { font-size:1rem; line-height:1.3; color:var(--muted); margin-top:.3rem; }

/* =========================================================
   07 ALTERATIONS (light)
   ========================================================= */
.s7 { display:grid; grid-template-columns:1fr 44rem; column-gap:5rem; }
.s7 .lc { display:flex; flex-direction:column; }
.s7 h2.h { font-size:4.2rem; }
.s7 .alts { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:0 3rem; }
.s7 .alts li { display:grid; grid-template-columns:15rem 1fr; gap:1.2rem; align-items:baseline; padding:1rem 0; border-top:1px solid var(--line-l); }
.s7 .alts li b { font-family:var(--head); font-weight:400; font-size:1.45rem; }
.s7 .alts li span { font-size:1.12rem; line-height:1.35; color:#555; }
.s7 .rc { display:flex; flex-direction:column; gap:1.2rem; }
.s7 .ph { height:24rem; overflow:hidden; }
.s7 .ph img { width:100%; height:100%; object-fit:cover; object-position:30% 60%; }
.s7 .page { background:var(--ink); color:#fff; padding:2rem 2.2rem; flex:1; display:flex; flex-direction:column; }
.s7 .page h3 { font-family:var(--head); font-weight:400; font-size:1.9rem; }
.s7 .page p { margin-top:.9rem; font-size:1.25rem; line-height:1.45; color:#cfcfcf; }
.s7 .page .src { margin-top:auto; color:#9a9a9a; }

/* =========================================================
   08 HOME SERVICE
   ========================================================= */
.s8 { display:grid; grid-template-columns:1fr 1fr; column-gap:5rem; }
.s8 .lc { display:flex; flex-direction:column; }
.s8 h2.h { font-size:4.2rem; }
.s8 .lede { margin-top:1.6rem; font-size:1.5rem; }
.s8 .modes { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.s8 .mode { background:var(--card2); border:1px solid var(--line); padding:1.7rem 1.8rem; }
.s8 .mode .n { font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.2em; text-transform:uppercase; color:var(--red-text); }
.s8 .mode h3 { margin-top:.6rem; font-family:var(--head); font-weight:400; font-size:1.9rem; }
.s8 .mode p { margin-top:.7rem; font-size:1.22rem; line-height:1.42; color:#c8c8c8; }
.s8 .terms { margin-top:1.2rem; display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); }
.s8 .terms div { padding:1.2rem 1.5rem; border-left:1px solid var(--line); }
.s8 .terms div:first-child { border-left:0; }
.s8 .terms strong { display:block; font-family:var(--head); font-weight:400; font-size:1.7rem; letter-spacing:-.02em; }
.s8 .terms span { display:block; margin-top:.3rem; font-size:1.05rem; color:var(--muted); line-height:1.3; }
.s8 .rc { display:grid; grid-template-rows:1fr 1fr; gap:1.2rem; }
.s8 .rc .ph { overflow:hidden; border:1px solid var(--line); position:relative; }
.s8 .rc img { width:100%; height:100%; object-fit:cover; }
.s8 .rc .cap { position:absolute; left:1rem; bottom:1rem; background:rgba(0,0,0,.72); color:#eee; font-family:var(--mid); font-weight:500; font-size:.9rem; letter-spacing:.16em; text-transform:uppercase; padding:.5rem .8rem; }

/* =========================================================
   09 BRANCHES (light)
   ========================================================= */
.s9 .top { display:flex; justify-content:space-between; align-items:flex-end; gap:4rem; }
.s9 .top .lede { font-size:1.45rem; max-width:40rem; padding-bottom:.6rem; }
.s9 .br { margin-top:3rem; display:grid; grid-template-columns:1fr 1fr .78fr; gap:1.4rem; }
.branch { background:#fff; border:1px solid var(--line-l); display:flex; flex-direction:column; }
.branch .im { height:21rem; overflow:hidden; position:relative; }
.branch .im img { width:100%; height:100%; object-fit:cover; }
.branch .tx { padding:1.7rem 2rem 1.8rem; display:flex; flex-direction:column; flex:1; }
.branch h3 { font-family:var(--head); font-weight:400; font-size:2.2rem; letter-spacing:-.02em; }
.branch .addr { margin-top:.6rem; font-size:1.22rem; color:#444; line-height:1.4; }
.branch dl { margin:1.3rem 0 0; display:grid; grid-template-columns:auto 1fr; gap:.55rem 1.4rem; font-size:1.2rem; }
.branch dt { font-family:var(--mid); font-weight:500; font-size:.9rem; letter-spacing:.18em; text-transform:uppercase; color:#777; padding-top:.2rem; }
.branch dd { margin:0; color:var(--ink); }
.branch .rate { margin-top:auto; padding-top:1.2rem; display:flex; align-items:center; gap:1rem; }
.branch .rate b { font-family:var(--head); font-weight:400; font-size:2.4rem; letter-spacing:-.03em; }
.branch .rate .stars { color:var(--red); font-size:1.4rem; letter-spacing:.1em; }
.branch .rate span { font-size:1.1rem; color:#555; }
.branch.van { background:var(--ink); color:#fff; border-color:var(--ink); }
.branch.van .addr { color:#cfcfcf; }
.branch.van dt { color:#9a9a9a; }
.branch.van dd { color:#fff; }

/* =========================================================
   10 PROOF
   ========================================================= */
.s10 { display:grid; grid-template-columns:1fr 1fr; column-gap:6rem; }
.s10 .lc { display:flex; flex-direction:column; }
.s10 h2.h { font-size:4.4rem; }
.s10 .big { margin-top:auto; }
.s10 .big strong { display:block; font-family:var(--head); font-weight:400; font-size:15rem; letter-spacing:-.05em; line-height:.9; }
.s10 .big strong i { font-style:normal; color:var(--red-text); font-size:8rem; vertical-align:top; margin-left:.5rem; letter-spacing:0; }
.s10 .big p { margin-top:1.4rem; font-size:1.6rem; color:#d6d6d6; }
.s10 .rc { display:flex; flex-direction:column; gap:1.2rem; justify-content:flex-end; }
.score { border:1px solid var(--line); background:var(--card2); padding:2rem 2.4rem; display:grid; grid-template-columns:auto 1fr; gap:2.4rem; align-items:center; }
.score .v { font-family:var(--head); font-size:6rem; letter-spacing:-.04em; line-height:1; }
.score .stars { font-size:1.7rem; letter-spacing:.14em; color:var(--red-text); }
.score .stars .off { color:#444; }
.score h3 { font-family:var(--head); font-weight:400; font-size:2rem; margin-top:.4rem; }
.score p { font-size:1.2rem; color:var(--muted); margin-top:.3rem; }
.s10 .trust { border:1px solid var(--line); padding:1.8rem 2.4rem; }
.s10 .trust h4 { font-family:var(--mid); font-weight:500; font-size:1rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.s10 .trust ul { margin-top:1rem; display:grid; grid-template-columns:1fr 1fr; gap:.7rem 2rem; }
.s10 .trust li { font-size:1.25rem; color:#dcdcdc; padding-left:1.5rem; position:relative; line-height:1.3; }
.s10 .trust li::before { content:""; position:absolute; left:0; top:.55rem; width:.5rem; height:.5rem; background:var(--red); }

/* =========================================================
   11 GROWTH ENGINE (light)
   ========================================================= */
.s11 .top { display:flex; justify-content:space-between; align-items:flex-end; gap:4rem; }
.s11 .top .lede { font-size:1.45rem; max-width:42rem; padding-bottom:.6rem; }
.flow { margin-top:3.4rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.stagep { background:#fff; border:1px solid var(--line-l); padding:1.8rem 1.9rem 2rem; position:relative; display:flex; flex-direction:column; }
.stagep::after { content:""; position:absolute; right:-1.1rem; top:2.6rem; width:.8rem; height:.8rem; border-top:2px solid var(--red); border-right:2px solid var(--red); transform:rotate(45deg); }
.stagep:last-child::after { display:none; }
.stagep .n { font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.2em; text-transform:uppercase; color:var(--red); }
.stagep h3 { margin-top:.6rem; font-family:var(--head); font-weight:400; font-size:2rem; letter-spacing:-.015em; }
.stagep ul { margin-top:1.1rem; display:grid; gap:.75rem; }
.stagep li { font-size:1.2rem; line-height:1.4; color:#3a3a3a; padding-left:1.4rem; position:relative; }
.stagep li::before { content:""; position:absolute; left:0; top:.6rem; width:.45rem; height:.45rem; background:var(--ink); }
.s11 .strip { margin-top:1.4rem; background:var(--ink); color:#fff; padding:1.5rem 2.2rem; display:flex; align-items:center; gap:2rem; font-size:1.3rem; }
.s11 .strip b { color:#fff; }
.s11 .strip .k { font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.2em; text-transform:uppercase; color:#ff8a8a; flex:none; }

/* =========================================================
   12 OPPORTUNITY
   ========================================================= */
.s12 .top { display:flex; justify-content:space-between; align-items:flex-end; gap:4rem; }
.s12 .top .lede { font-size:1.45rem; max-width:40rem; padding-bottom:.6rem; }
.levers { margin-top:3.2rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.lever { border:1px solid var(--line); background:var(--card2); padding:2rem 2.1rem; display:flex; flex-direction:column; }
.lever .n { font-family:var(--head); font-size:3rem; color:var(--red-text); letter-spacing:-.03em; line-height:1; }
.lever h3 { margin-top:1.2rem; font-family:var(--head); font-weight:400; font-size:2rem; letter-spacing:-.015em; line-height:1.15; }
.lever p { margin-top:.9rem; font-size:1.25rem; line-height:1.45; color:#c8c8c8; }
.lever .base { margin-top:auto; padding-top:1.3rem; border-top:1px solid var(--line); font-size:1.08rem; color:var(--muted); line-height:1.4; }
.lever .base b { color:#fff; font-weight:700; }
.who { margin-top:1.4rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.who div { border-top:.3rem solid var(--red); padding:1.2rem 0 0; }
.who h4 { font-family:var(--mid); font-weight:500; font-size:1rem; letter-spacing:.2em; text-transform:uppercase; color:#fff; }
.who p { margin-top:.5rem; font-size:1.2rem; line-height:1.42; color:var(--muted); }

/* =========================================================
   13 CONTACT
   ========================================================= */
.s13 { padding:0; }
.s13 .photo { position:absolute; top:0; right:0; bottom:0; width:56rem; }
.s13 .photo img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.s13 .photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 25%,rgba(0,0,0,0) 60%); }
.s13 .col { position:absolute; left:6.5rem; top:5.5rem; bottom:8rem; width:68rem; display:flex; flex-direction:column; z-index:2; }
.s13 .logo { width:30rem; }
.s13 h2.h { font-size:5.4rem; margin-top:auto; }
.s13 .lede { margin-top:1.4rem; font-size:1.55rem; }
.s13 .cards { margin-top:2.8rem; display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; max-width:62rem; }
.s13 .c { background:rgba(20,20,20,.92); border:1px solid var(--line); padding:1.4rem 1.7rem; }
.s13 .c .k { font-family:var(--mid); font-weight:500; font-size:.9rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.s13 .c .v { margin-top:.45rem; font-family:var(--head); font-size:1.75rem; letter-spacing:-.01em; color:#fff; text-decoration:none; display:block; }
.s13 .c .s { margin-top:.2rem; font-size:1.05rem; color:var(--muted); }
.s13 .cta { margin-top:2rem; display:flex; align-items:center; gap:2rem; }
.s13 .cta .small { color:#cfcfcf; }

/* print / PDF: one slide per page */
@media print {
  @page { size:1920px 1080px; margin:0; }
  html { font-size:16px; }
  body { height:auto; overflow:visible; }
  .stage { position:static; transform:none; width:1920px; height:auto; overflow:visible; }
  .slide { position:relative; width:1920px; height:1080px; opacity:1 !important; visibility:visible !important; page-break-after:always; break-after:page; }
  .rv { opacity:1 !important; transform:none !important; }
  .dots, .bar, .hint { display:none; }
}

/* ---- pass 2: fill the frame, fix overflow ---- */
.s3, .s5, .s9, .s11, .s12 { display:flex; flex-direction:column; }
.s3 .grid { flex:1; margin-top:3.4rem; }
.s3 .svc .im { height:auto; flex:1; min-height:0; }
.s3 .svc .tx { flex:none; height:19.5rem; }
.svc h3 { font-size:2.05rem; }
.svc p { font-size:1.28rem; }
.s3 h2.h { max-width:66rem; }

.s2 .lede2 { margin-top:2.4rem; font-size:1.5rem; line-height:1.5; color:#bdbdbd; max-width:50rem; }
.s2 .rc .ph { height:26rem; }
.s2 .team ul { gap:1.3rem 1.6rem; margin-top:1.6rem; }
.s2 .team li { font-size:1.35rem; }
.s2 .team li b { font-size:2rem; min-width:1.8rem; color:var(--red-text); }
.s2 .team h3 { font-size:2rem; }

.s4 .lede { font-size:1.6rem; }
.s4 .cmp li { font-size:1.4rem; }

.s5 .rail { margin-top:auto; }
.step h3 { font-size:2.5rem; }
.step p { font-size:1.5rem; max-width:24rem; }
.s5 .book { margin-top:auto; }
.s5 .book > div { padding:2.2rem 2.2rem; }
.s5 .book h4 { font-size:1.8rem; }
.s5 .book p { font-size:1.25rem; }

.rung .p small { letter-spacing:.12em; }
.s6 .jk { display:block; }
.s6 .jk .small { font-size:1.2rem; }
.fab { grid-template-columns:6.4rem 1fr; padding:1.1rem; }
.fab img { width:6.4rem; height:6.4rem; }
.fab h4 { font-size:1.4rem; }
.fab p { font-size:1.12rem; }

.s7 .alts li { padding:1.25rem 0; grid-template-columns:13rem 1fr; }
.s7 .alts li b { font-size:1.6rem; }
.s7 .alts li span { font-size:1.2rem; }
.s7 .page p { font-size:1.4rem; }
.s7 .page ul { margin-top:1.4rem; display:grid; gap:.7rem; }
.s7 .page li { font-size:1.3rem; color:#e6e6e6; padding-left:1.5rem; position:relative; }
.s7 .page li::before { content:""; position:absolute; left:0; top:.6rem; width:.5rem; height:.5rem; background:var(--red-bright); }

.s8 { grid-template-rows:minmax(0,1fr); }
.s8 .rc { grid-template-rows:minmax(0,1fr) minmax(0,1fr); min-height:0; }
.s8 .rc .ph { min-height:0; }
.s8 .rc .ph img { position:absolute; inset:0; }

.s9 .br { flex:1; }
.branch .im { height:auto; flex:1; min-height:0; }
.branch .tx { flex:none; }

.s10 .score { grid-template-columns:10rem 1fr; }
.s10 .trust li { font-size:1.35rem; }

.s11 .flow { flex:1; margin-top:3.4rem; }
.stagep h3 { font-size:2.4rem; }
.stagep li { font-size:1.4rem; }
.stagep ul { gap:1rem; margin-top:1.4rem; }
.s11 .strip { font-size:1.45rem; padding:1.8rem 2.4rem; }

.s12 .levers { flex:1; }
.lever h3 { font-size:2.3rem; }
.lever p { font-size:1.4rem; }
.lever .base { font-size:1.2rem; }
.who { margin-top:2rem; }
.who p { font-size:1.3rem; }
.s3 .grid, .s9 .br, .s11 .flow, .s12 .levers { min-height:0; grid-template-rows:minmax(0,1fr); }
.s3 .svc .im img, .branch .im img { position:absolute; inset:0; }
.branch .im { position:relative; }
.s2 .rc .ph { flex:1; height:auto; min-height:0; position:relative; }
.s2 .rc .ph img { position:absolute; inset:0; }
.s2 .team { flex:none; }
.s2 .team .src { padding-top:1.6rem; }
.step h3 { font-size:2.3rem; }
.s6 .sw { height:25rem; flex:none; }
.s6 .fabs { grid-template-columns:1fr; gap:.8rem; }
.s6 .fab { grid-template-columns:5.2rem 1fr; align-items:center; padding:.8rem 1rem; }
.s6 .fab img { width:5.2rem; height:5.2rem; }
.s6 .fab p { margin-top:.2rem; }
.branch .tx { height:19rem; }
.stagep h3 { font-size:2.6rem; }
.stagep li { font-size:1.55rem; }
.stagep ul { gap:1.2rem; }
.s6 { padding-bottom:9rem; }
.s6 { grid-template-rows:minmax(0,1fr); padding-bottom:8rem; }
.s6 .sw { height:22rem; }
.s6 .fabs { flex:1; min-height:0; grid-auto-rows:1fr; }
.ladder { height:29rem; }

/* ---- pass 3: WhatsApp / home-service number ---- */
.s8 .wa { margin-top:1.2rem; display:flex; align-items:center; gap:1.4rem; background:var(--red); color:#fff; padding:1.25rem 1.6rem; }
.s8 .wa .k { font-family:var(--mid); font-weight:500; font-size:.95rem; letter-spacing:.2em; text-transform:uppercase; }
.s8 .wa .lbl { font-size:1.15rem; color:#ffd9d9; margin-left:auto; }
.s8 .wa .v { font-family:var(--head); font-size:1.85rem; letter-spacing:-.01em; color:#fff; text-decoration:none; }
.s8 .wa .or { font-size:1.1rem; color:#ffd9d9; }
.s13 .cards { margin-top:2.4rem; gap:1rem; }
.s13 .c { padding:1.2rem 1.6rem; }
.s13 .c.hi { border-color:var(--red); background:linear-gradient(180deg,rgba(29,0,0,.95),rgba(11,11,11,.95)); }
.s13 .c.hi .k { color:#ff8a8a; }
.s13 h2.h { font-size:5rem; }
.s8 .wa { white-space:nowrap; gap:1.2rem; }
.s8 .wa .lbl { margin-left:auto; }
.s8 .wa .v { font-size:1.9rem; }
