/* ============ TANIT STUDIO — cinematic deck system ============ */
:root{
  --dark:#111111;
  --accent:#90C0D6;
  --white:#FFFFFF;
  --muted:#9CA3AF;
  --hair:rgba(255,255,255,0.10);
  --hair-strong:rgba(255,255,255,0.20);
  --wa:#25D366;
  --ease:cubic-bezier(0.2,0.8,0.2,1);
  --pad:96px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;background:var(--dark);overflow:hidden;}
body{font-family:'Inter',system-ui,sans-serif;color:var(--white);-webkit-font-smoothing:antialiased;}

/* ---- Stage / scaling ---- */
#stage{position:fixed;inset:0;background:var(--dark);display:flex;align-items:center;justify-content:center;overflow:hidden;}
#deck{position:relative;width:1920px;height:1080px;transform-origin:center center;}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .5s var(--ease),transform .55s var(--ease);transform:translateY(26px);}
.slide.active{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);z-index:2;}
.slide.leaving{opacity:0;transform:translateY(-22px);z-index:1;}

/* ---- Slide skeleton ---- */
.pad{position:absolute;inset:0;padding:var(--pad);display:flex;flex-direction:column;}
.kicker{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.30em;color:var(--accent);
  text-transform:uppercase;margin-bottom:30px;display:flex;align-items:center;gap:16px;}
.kicker::before{content:"";width:34px;height:1px;background:var(--accent);display:inline-block;opacity:.8;}
.title{font-family:'Bebas Neue',sans-serif;font-weight:400;line-height:.96;letter-spacing:.01em;
  text-transform:uppercase;white-space:pre-line;}
.t-xxl{font-size:150px;} .t-xl{font-size:108px;} .t-lg{font-size:84px;} .t-md{font-size:64px;}
.body{font-weight:300;color:var(--white);font-size:27px;line-height:1.55;max-width:1000px;text-wrap:pretty;}
.body .dim{color:var(--muted);}
.foot{font-size:18px;color:var(--muted);letter-spacing:.02em;}
.accent{color:var(--accent);}

/* ---- Cover (01) ---- */
.cover .veil{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(17,17,17,.55) 0%,rgba(17,17,17,.15) 35%,rgba(17,17,17,.35) 70%,rgba(17,17,17,.92) 100%);}
.cover .pad{justify-content:flex-end;}
.cover .title{font-size:104px;line-height:.92;margin:16px 0 22px;max-width:1280px;}
.cover .sub{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.34em;color:var(--muted);text-transform:uppercase;}
.cover .scrollhint{position:absolute;left:var(--pad);bottom:34px;
  font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--muted);display:flex;
  flex-direction:row;align-items:center;gap:14px;z-index:4;}
.cover .scrollhint .dot{width:22px;height:36px;border:1px solid var(--hair-strong);border-radius:12px;position:relative;}
.cover .scrollhint .dot::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;border-radius:2px;
  background:var(--accent);transform:translateX(-50%);animation:scrolld 1.8s var(--ease) infinite;}
@keyframes scrolld{0%{opacity:0;transform:translate(-50%,0)}30%{opacity:1}100%{opacity:0;transform:translate(-50%,12px)}}

/* full-bleed video bg */
.bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.slide-media-veil{position:absolute;inset:0;z-index:1;}

/* ---- number anchors (02) ---- */
.anchors{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:auto;border-top:1px solid var(--hair);}
.anchors .a{padding:34px 30px 6px;border-right:1px solid var(--hair);}
.anchors .a:last-child{border-right:0;}
.anchors .num{font-family:'Bebas Neue',sans-serif;font-size:78px;line-height:.9;color:var(--white);}
.anchors .num small{color:var(--accent);}
.anchors .lab{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.16em;color:var(--accent);margin-top:8px;}
.anchors .sub{font-size:16px;color:var(--muted);margin-top:6px;}

/* ---- pull line (03) ---- */
.pull{margin-top:auto;border-left:2px solid var(--accent);padding:8px 0 8px 34px;
  font-family:'Inter';font-weight:400;font-size:34px;line-height:1.35;color:var(--white);max-width:1180px;text-wrap:pretty;}

/* ---- services / why list (04 / 14) ---- */
.rows{margin-top:46px;display:flex;flex-direction:column;}
.row{display:grid;grid-template-columns:96px 1fr;gap:30px;align-items:baseline;
  padding:26px 0;border-top:1px solid var(--hair);transition:padding-left .35s var(--ease);}
.rows .row:last-child{border-bottom:1px solid var(--hair);}
.row:hover{padding-left:18px;}
.row .rn{font-family:'Bebas Neue',sans-serif;font-size:46px;color:var(--accent);line-height:1;}
.row .rt{font-family:'Bebas Neue',sans-serif;font-size:40px;letter-spacing:.04em;line-height:1;}
.row .rd{font-weight:300;font-size:21px;color:var(--muted);margin-top:8px;line-height:1.4;max-width:1100px;}
.row .rcol{display:flex;flex-direction:column;}

/* ---- industries grid (05) ---- */
.indgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;
  border-top:1px solid var(--hair);border-left:1px solid var(--hair);}
.indgrid .cell{padding:38px 30px 34px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);
  transition:transform .35s var(--ease),background .35s var(--ease);}
.indgrid .cell:hover{transform:translateY(-6px);background:rgba(144,192,214,.06);}
.indgrid .cn{font-family:'Bebas Neue',sans-serif;font-size:42px;letter-spacing:.05em;}
.indgrid .cd{font-weight:300;font-size:17px;color:var(--muted);margin-top:10px;line-height:1.35;}
.indgrid .cell:hover .cn{color:var(--accent);}

/* ---- work slides (06/07/08) ---- */
.work .pad{z-index:3;justify-content:flex-end;}
.work .story{font-weight:300;font-size:25px;line-height:1.5;color:#e7eaee;max-width:760px;margin-top:22px;text-wrap:pretty;}
.work .tag{font-size:18px;color:var(--muted);margin-top:18px;max-width:640px;font-style:italic;}
.work .title{font-size:96px;}
.work .veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(17,17,17,.92) 0%,rgba(17,17,17,.6) 42%,rgba(17,17,17,.15) 75%,rgba(17,17,17,.4) 100%),
  linear-gradient(0deg,rgba(17,17,17,.85) 0%,rgba(17,17,17,0) 45%);}
.playbtns{display:flex;gap:18px;margin-top:34px;}
.playbtn{display:inline-flex;align-items:center;gap:16px;background:rgba(17,17,17,.5);
  border:1px solid var(--hair-strong);color:var(--white);padding:16px 26px 16px 16px;border-radius:60px;
  font-family:'Inter';font-size:18px;font-weight:500;cursor:pointer;letter-spacing:.01em;
  backdrop-filter:blur(8px);transition:all .3s var(--ease);}
.playbtn:hover{border-color:var(--accent);background:rgba(144,192,214,.12);transform:translateY(-2px);}
.playbtn .ring{width:42px;height:42px;border-radius:50%;border:1.5px solid var(--accent);
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.playbtn .ring svg{width:14px;height:14px;fill:var(--accent);margin-left:2px;}
.playbtn:hover .ring{background:var(--accent);}
.playbtn:hover .ring svg{fill:var(--dark);}

/* big centre play (06) */
.bigplay{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:3;
  width:118px;height:118px;border-radius:50%;border:1.5px solid var(--accent);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .35s var(--ease);
  background:rgba(17,17,17,.25);backdrop-filter:blur(4px);}
.bigplay::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(144,192,214,.35);
  animation:pulse 2.6s var(--ease) infinite;}
@keyframes pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.bigplay svg{width:34px;height:34px;fill:var(--accent);margin-left:5px;}
.bigplay:hover{background:var(--accent);transform:translate(-50%,-50%) scale(1.06);}
.bigplay:hover svg{fill:var(--dark);}

/* ---- range mosaic (09) ---- */
.work.range .pad{justify-content:flex-start;}
.work.range .title{font-size:56px;line-height:.98;}
.mosaic{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:104px;gap:12px;margin-top:24px;flex:1;}
.tile{position:relative;overflow:hidden;border-radius:4px;cursor:pointer;background:#1a1a1a;
  border:1px solid var(--hair);}
.tile img,.tile video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .6s var(--ease);}
.tile:hover img,.tile:hover video{transform:scale(1.06);}
.tile .tveil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(17,17,17,.85) 0%,rgba(17,17,17,0) 55%);z-index:1;}
.tile .tlabel{position:absolute;left:18px;bottom:14px;z-index:2;font-family:'Bebas Neue',sans-serif;
  font-size:26px;letter-spacing:.08em;}
.tile .tplay{position:absolute;right:14px;top:14px;z-index:2;width:34px;height:34px;border-radius:50%;
  border:1px solid var(--hair-strong);display:flex;align-items:center;justify-content:center;
  background:rgba(17,17,17,.4);transition:all .3s var(--ease);}
.tile .tplay svg{width:11px;height:11px;fill:#fff;margin-left:2px;}
.tile:hover .tplay{border-color:var(--accent);background:var(--accent);}
.tile:hover .tplay svg{fill:var(--dark);}
.tile.static{cursor:default;}
.tile.static .tplay{display:none;}
.tile .badge{position:absolute;right:14px;top:14px;z-index:2;font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted);border:1px solid var(--hair);padding:4px 8px;border-radius:20px;background:rgba(17,17,17,.5);}

/* ---- process timeline (10) ---- */
.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin-top:64px;}
.timeline .step{padding:0 30px 0 0;position:relative;}
.timeline .step::before{content:"";position:absolute;left:0;top:9px;right:30px;height:1px;background:var(--hair);}
.timeline .step .dot{width:11px;height:11px;border-radius:50%;background:var(--accent);position:relative;z-index:2;margin-bottom:28px;}
.timeline .sn{font-family:'Bebas Neue',sans-serif;font-size:52px;color:var(--accent);line-height:1;}
.timeline .st{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:.05em;margin-top:12px;line-height:1.04;min-height:74px;}
.timeline .sd{font-weight:300;font-size:20px;color:var(--muted);margin-top:16px;line-height:1.5;}

/* ---- reach (11) ---- */
.reach{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:auto;margin-bottom:40px;}
.reach .city{border-top:1px solid var(--hair);padding-top:28px;}
.reach .cname{font-family:'Bebas Neue',sans-serif;font-size:120px;line-height:.85;}
.reach .cname span{color:var(--accent);}
.reach .cdesc{font-weight:300;font-size:21px;color:var(--muted);margin-top:18px;line-height:1.5;max-width:600px;}
.reach-served{font-size:19px;color:var(--muted);border-top:1px solid var(--hair);padding-top:24px;}
.reach-served .accent{color:var(--white);}

/* ---- wedding spotlight (12) ---- */
.spot .pad{z-index:3;justify-content:center;}
.spot .veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(90deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.7) 48%,rgba(17,17,17,.2) 100%);}
.spot .title{font-size:74px;max-width:1080px;}
.spot .body{margin-top:24px;max-width:780px;color:#e7eaee;}
.packages{display:flex;flex-direction:column;gap:0;margin-top:36px;max-width:780px;}
.pk{display:flex;justify-content:space-between;align-items:baseline;padding:20px 0;border-top:1px solid var(--hair);}
.pk:last-of-type{border-bottom:1px solid var(--hair);}
.pk .pkn{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:.05em;}
.pk .pkp{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--accent);letter-spacing:.04em;}
.specs{font-size:17px;color:var(--muted);margin-top:20px;letter-spacing:.02em;}

/* ---- trusted strip (13) ---- */
.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:54px;
  border-top:1px solid var(--hair);border-left:1px solid var(--hair);}
.sectors .sc{padding:46px 26px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);
  font-family:'Bebas Neue',sans-serif;font-size:40px;letter-spacing:.07em;color:#d7dbe0;
  display:flex;align-items:center;transition:color .3s var(--ease),background .3s var(--ease);}
.sectors .sc:hover{color:var(--accent);background:rgba(144,192,214,.05);}
.note{margin-top:26px;font-size:16px;color:var(--muted);letter-spacing:.03em;
  display:inline-flex;align-items:center;gap:10px;}
.note::before{content:"";width:8px;height:8px;border-radius:50%;border:1px solid var(--accent);}

/* ---- invitation (15) ---- */
.invite{display:flex;align-items:center;justify-content:center;text-align:center;}
.invite .pad{align-items:center;justify-content:center;text-align:center;}
.invite .title{font-size:118px;max-width:1500px;}
.invite .sub{font-weight:300;font-size:26px;color:var(--muted);margin-top:32px;max-width:760px;}
.invite .veil{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at center,rgba(17,17,17,.55) 0%,rgba(17,17,17,.9) 100%);}

/* ---- contact (16) ---- */
.contact .pad{justify-content:center;}
.contact .title{font-size:138px;}
.contact .reassure{font-weight:300;font-size:26px;color:var(--muted);margin-top:26px;max-width:760px;line-height:1.5;}
.cbtns{display:flex;gap:18px;margin-top:48px;flex-wrap:wrap;}
.cbtn{display:inline-flex;align-items:center;gap:18px;padding:22px 36px;border-radius:60px;cursor:pointer;
  text-decoration:none;font-family:'Inter';font-size:20px;font-weight:500;transition:all .3s var(--ease);}
.cbtn .ci{width:24px;height:24px;flex:0 0 auto;}
.cbtn .cv{display:flex;flex-direction:column;line-height:1.2;}
.cbtn .cv small{font-size:13px;font-weight:300;opacity:.7;letter-spacing:.04em;}
.cbtn.primary{background:var(--accent);color:var(--dark);}
.cbtn.primary svg{fill:var(--dark);}
.cbtn.primary:hover{transform:translateY(-3px);box-shadow:0 8px 22px -14px rgba(144,192,214,.45);}
.cbtn.secondary{background:transparent;border:1px solid var(--hair-strong);color:#fff;}
.cbtn.secondary svg{fill:var(--wa);}
.cbtn.secondary:hover{border-color:var(--wa);background:rgba(37,211,102,.08);transform:translateY(-3px);}
.contact .cfooter{margin-top:auto;border-top:1px solid var(--hair);padding-top:26px;
  font-family:'Bebas Neue',sans-serif;font-size:24px;letter-spacing:.18em;color:var(--muted);
  display:flex;justify-content:space-between;align-items:center;}
.contact .cfooter .socials{display:flex;gap:26px;font-size:18px;letter-spacing:.06em;font-family:'Inter';font-weight:300;align-items:center;}
.contact .cfooter .credit{font-family:'Inter';font-size:18px;font-weight:300;letter-spacing:.06em;color:var(--muted);text-decoration:none;
  padding-left:26px;border-left:1px solid var(--hair);transition:color .3s;}
.contact .cfooter .credit:hover{color:var(--accent);}

/* ============ persistent nav layer ============ */
.navlayer{position:fixed;inset:0;z-index:50;pointer-events:none;}
.navlayer button,.navlayer a{pointer-events:auto;}
.topbar{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;
  padding:34px 44px;}
.logo{display:flex;align-items:center;gap:13px;pointer-events:auto;cursor:pointer;background:none;border:0;}
.logo .mark{height:34px;width:auto;flex:0 0 auto;display:block;}
.logo .wm{font-family:'Bebas Neue',sans-serif;font-size:30px;letter-spacing:.42em;color:#fff;}
.logo .wm b{color:var(--accent);font-weight:400;}
.topright{display:flex;align-items:center;gap:22px;}
.restart{background:none;border:0;color:var(--muted);font-family:'Inter';font-size:12px;font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .3s;}
.restart:hover{color:#fff;}
.restart svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5;}
.langtog{display:flex;align-items:center;border:1px solid var(--hair);border-radius:40px;overflow:hidden;
  font-family:'Bebas Neue',sans-serif;letter-spacing:.16em;}
.langtog button{background:none;border:0;color:var(--muted);padding:9px 17px 7px;font-size:17px;cursor:pointer;
  font-family:'Bebas Neue',sans-serif;letter-spacing:.16em;transition:all .3s;}
.langtog button.on{background:var(--accent);color:var(--dark);}
.langtog button:not(.on):hover{color:#fff;}

/* bottom chevrons + counter */
.bottombar{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;
  gap:26px;padding:30px 44px;}
.chev{width:46px;height:46px;border-radius:50%;border:1px solid var(--hair);background:rgba(17,17,17,.4);
  color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease);backdrop-filter:blur(6px);}
.chev:hover{border-color:var(--accent);color:var(--accent);}
.chev:disabled{opacity:.25;cursor:default;border-color:var(--hair);color:#fff;}
.chev svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6;}
.counter{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.22em;color:var(--muted);min-width:96px;text-align:center;}
.counter b{color:var(--accent);font-weight:400;}

/* progress bar */
.progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:60;width:0;
  transition:width .5s var(--ease);}

/* ---- film grain ---- */
.grain{position:fixed;inset:0;z-index:40;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}

/* ---- lightbox ---- */
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(8,8,8,.96);display:none;
  align-items:center;justify-content:center;opacity:0;transition:opacity .35s var(--ease);}
.lightbox.open{display:flex;opacity:1;}
.lightbox .lbinner{position:relative;width:min(90vw,1500px);}
.lightbox video{width:100%;max-height:84vh;border-radius:6px;background:#000;display:block;}
.lightbox .lbinner.vert{width:auto;}
.lightbox .lbinner.vert video{width:auto;height:84vh;max-height:84vh;}
.lbclose{position:absolute;top:-54px;right:0;background:none;border:0;color:#fff;cursor:pointer;
  font-family:'Inter';font-size:13px;letter-spacing:.18em;text-transform:uppercase;display:flex;align-items:center;gap:10px;}
.lbclose svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5;}
.lbclose:hover{color:var(--accent);}
.lbcaption{position:absolute;left:0;bottom:-46px;font-family:'Bebas Neue',sans-serif;
  font-size:22px;letter-spacing:.14em;color:var(--muted);}

/* ---- tap zones (coarse pointers) ---- */
.tapzone{position:fixed;top:0;bottom:0;z-index:30;display:none;}
.tapzone.back{left:0;width:14%;}
.tapzone.fwd{right:0;width:14%;}
@media (pointer:coarse){.tapzone{display:block;}}

/* respect reduced motion */
@media (prefers-reduced-motion:reduce){
  .slide{transition:opacity .2s;transform:none;}
  .bigplay::after,.cover .scrollhint .dot::after{animation:none;}
}

/* ============ MOBILE MODE (portrait phones) ============
   body.mobile is set by JS when viewport <= 820px and portrait.
   The 1920x1080 stage is abandoned; slides reflow to the screen. */
body.mobile #deck{width:100%;height:100%;transform:none!important;}
body.mobile .pad{padding:80px 22px 96px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
body.mobile .tapzone{display:none;}

body.mobile .kicker{font-size:12px;letter-spacing:.22em;margin-bottom:16px;gap:10px;}
body.mobile .kicker::before{width:22px;}
body.mobile .t-xxl,body.mobile .t-xl{font-size:clamp(40px,11vw,64px);}
body.mobile .t-lg{font-size:clamp(36px,10vw,56px);}
body.mobile .t-md{font-size:clamp(30px,8.5vw,48px);}
body.mobile .body{font-size:15px;line-height:1.55;margin-top:16px!important;max-width:none;}
body.mobile .foot{font-size:12px;margin-top:20px!important;max-width:none!important;}

/* cover */
body.mobile .cover .pad{justify-content:flex-end;padding-bottom:108px;overflow:hidden;}
body.mobile .cover .title{font-size:clamp(42px,12vw,72px);margin:10px 0 12px;max-width:none;}
body.mobile .cover .sub{font-size:13px;letter-spacing:.26em;}
body.mobile .cover .scrollhint{display:none;}

/* anchors (02) */
body.mobile .anchors{grid-template-columns:1fr 1fr;margin-top:26px;}
body.mobile .anchors .a{padding:14px 12px 10px;border-right:0;border-bottom:1px solid var(--hair);}
body.mobile .anchors .a:nth-child(odd){border-right:1px solid var(--hair);}
body.mobile .anchors .num{font-size:38px;}
body.mobile .anchors .lab{font-size:16px;margin-top:5px;}
body.mobile .anchors .sub{font-size:11px;margin-top:3px;}

/* pull (03) */
body.mobile .pull{font-size:18px;padding:4px 0 4px 18px;margin-top:26px;max-width:none;}

/* rows (04/14) */
body.mobile .rows{margin-top:20px;}
body.mobile .row{grid-template-columns:42px 1fr;gap:14px;padding:13px 0;}
body.mobile .row:hover{padding-left:0;}
body.mobile .row .rn{font-size:23px;}
body.mobile .row .rt{font-size:20px;letter-spacing:.05em;}
body.mobile .row .rd{font-size:13px;margin-top:4px;}

/* industries (05) */
body.mobile .indgrid{grid-template-columns:1fr 1fr;margin-top:22px;}
body.mobile .indgrid .cell{padding:15px 13px;}
body.mobile .indgrid .cell:hover{transform:none;}
body.mobile .indgrid .cn{font-size:19px;}
body.mobile .indgrid .cd{font-size:11px;margin-top:4px;}

/* work slides (06/07/08) */
body.mobile .work .title{font-size:clamp(32px,9.5vw,52px);}
body.mobile .work .story{font-size:14px;margin-top:12px;max-width:none;}
body.mobile .work .tag{font-size:12px;margin-top:10px;max-width:none;}
body.mobile .work .veil{background:
  linear-gradient(0deg,rgba(17,17,17,.92) 0%,rgba(17,17,17,.45) 55%,rgba(17,17,17,.25) 100%);}
body.mobile .playbtns{flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px;}
body.mobile .playbtn{font-size:14px;padding:10px 18px 10px 10px;gap:10px;}
body.mobile .playbtn .ring{width:32px;height:32px;}
body.mobile .playbtn .ring svg{width:11px;height:11px;}
body.mobile .bigplay{width:72px;height:72px;top:34%;}
body.mobile .bigplay svg{width:24px;height:24px;}

/* range mosaic (09) */
body.mobile .work.range .title{font-size:clamp(26px,7.5vw,40px);max-width:none;}
body.mobile .mosaic{grid-auto-rows:54px;gap:8px;margin-top:16px;}
body.mobile .mosaic .tile{grid-column:span 6!important;grid-row:span 2!important;}
body.mobile .mosaic .tile:first-child{grid-column:span 12!important;}
body.mobile .tile .tlabel{font-size:14px;left:10px;bottom:8px;}
body.mobile .tile .tplay{width:26px;height:26px;right:8px;top:8px;}
body.mobile .tile .tplay svg{width:9px;height:9px;}
body.mobile .tile .badge{font-size:8px;padding:3px 6px;right:8px;top:8px;}

/* process timeline (10) -> vertical */
body.mobile .timeline{grid-template-columns:1fr;margin-top:20px;}
body.mobile .timeline .step{padding:11px 0 11px 20px;border-left:1px solid var(--hair);}
body.mobile .timeline .step::before{display:none;}
body.mobile .timeline .step .dot{position:absolute;left:-6px;top:18px;margin:0;width:10px;height:10px;}
body.mobile .timeline .sn{font-size:21px;}
body.mobile .timeline .st{font-size:18px;margin-top:2px;min-height:0;}
body.mobile .timeline .sd{font-size:12px;margin-top:4px;}

/* reach (11) */
body.mobile .reach{grid-template-columns:1fr;gap:18px;margin-top:24px;margin-bottom:18px;}
body.mobile .reach .city{padding-top:16px;}
body.mobile .reach .cname{font-size:52px;}
body.mobile .reach .cdesc{font-size:13px;margin-top:8px;max-width:none;}
body.mobile .reach-served{font-size:13px;padding-top:14px;}

/* wedding spotlight (12) */
body.mobile .spot .title{font-size:clamp(24px,7vw,38px);max-width:none;}
body.mobile .spot .veil{background:linear-gradient(0deg,rgba(17,17,17,.94) 0%,rgba(17,17,17,.55) 60%,rgba(17,17,17,.3) 100%);}
body.mobile .packages{margin-top:18px;max-width:none;}
body.mobile .pk{padding:10px 0;gap:12px;}
body.mobile .pk .pkn{font-size:17px;}
body.mobile .pk .pkp{font-size:15px;text-align:right;flex:0 0 auto;}
body.mobile .specs{font-size:11px;margin-top:10px;}

/* sectors (13) */
body.mobile .sectors{grid-template-columns:1fr 1fr;margin-top:20px;}
body.mobile .sectors .sc{padding:15px 12px;font-size:17px;}
body.mobile .note{font-size:11px;margin-top:14px;}

/* invitation (15) */
body.mobile .invite .title{font-size:clamp(34px,10vw,56px);max-width:none;}
body.mobile .invite .sub{font-size:14px;margin-top:14px;max-width:none;}

/* contact (16) */
body.mobile .contact .title{font-size:clamp(44px,13vw,72px);}
body.mobile .contact .reassure{font-size:14px;margin-top:12px;max-width:none;}
body.mobile .cbtns{flex-direction:column;align-items:stretch;gap:12px;margin-top:24px;}
body.mobile .cbtn{padding:14px 20px;font-size:15px;gap:12px;}
body.mobile .cbtn .cv small{font-size:11px;}
body.mobile .contact .cfooter{flex-direction:column;align-items:flex-start;gap:10px;font-size:14px;letter-spacing:.12em;padding-top:14px;}
body.mobile .contact .cfooter .socials{gap:14px;font-size:11px;flex-wrap:wrap;}
body.mobile .contact .cfooter .credit{padding-left:14px;}

/* chrome */
body.mobile .topbar{padding:14px 16px;}
body.mobile .logo .mark{height:24px;}
body.mobile .logo .wm{font-size:19px;letter-spacing:.3em;}
body.mobile #restartTxt{display:none;}
body.mobile .langtog button{padding:7px 12px 5px;font-size:14px;}
body.mobile .bottombar{padding:12px 14px;gap:16px;}
body.mobile .chev{width:38px;height:38px;}
body.mobile .chev svg{width:15px;height:15px;}
body.mobile .counter{font-size:15px;min-width:62px;letter-spacing:.18em;}

/* lightbox */
body.mobile .lightbox .lbinner{width:94vw;}
body.mobile .lbclose{top:-42px;font-size:11px;}
body.mobile .lbcaption{bottom:-36px;font-size:16px;}
