/* ==========================================================================
   Mediadrive — single-page site (Platforms + Golf views)
   Recreated from Mediadrive.dc.html (Claude Design). Light default;
   [data-theme="dark"] on <html> swaps tokens. Content max-width 1320px.
   ========================================================================== */

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
img,video{max-width:100%;}
::selection{background:#2ab3ff;color:#08090c;}

:root{
  --bg:#fbfbfa; --bg-2:#ffffff; --bg-3:#f3f3f1;
  --ink:#16161a; --ink-2:#38383d; --ink-soft:#6a6a70; --ink-faint:#9a9aa0;
  --line:#ececea; --line-2:#e0e0dd;
  --blue:#00a3ff; --blue-muted:#5e7fba;
  --nav:rgba(251,251,250,0.82);
}
html[data-theme="dark"]{
  --bg:#08090c; --bg-2:#15171d; --bg-3:#1e212a;
  --ink:#f3f4f6; --ink-2:#c8cad0; --ink-soft:#989aa2; --ink-faint:#6c6e76;
  --line:#23262e; --line-2:#2e323a;
  --blue:#2ab3ff; --blue-muted:#7d9bd4;
  --nav:rgba(8,9,12,0.72);
}
.page{min-height:100vh;background:var(--bg);color:var(--ink);font-size:16px;letter-spacing:-0.01em;line-height:1.5;overflow-x:clip;transition:background .3s,color .3s;}
.container{max-width:1320px;margin:0 auto;padding:0 clamp(22px,4vw,64px);}
a{color:inherit;}
.serif-i{font-family:'Newsreader',Georgia,serif;font-style:italic;font-weight:400;}
.eyebrow{font-size:.76rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);}
.h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:600;letter-spacing:-0.04em;margin-top:9px;text-wrap:balance;}
.h2-sm{font-size:clamp(1.55rem,2.7vw,2.25rem);font-weight:600;letter-spacing:-0.035em;margin-top:9px;text-wrap:balance;}
.lead{font-size:clamp(1rem,1.5vw,1.15rem);color:var(--ink-soft);margin-top:14px;line-height:1.5;}
.section{scroll-margin-top:80px;}

@keyframes adGlowPulse{0%,100%{opacity:.5}50%{opacity:.95}}
@keyframes dotIn{from{opacity:0;transform:scale(.4)}to{opacity:inherit;transform:none}}
@keyframes mdFade{from{opacity:0}to{opacity:1}}
@keyframes mdPop{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes pulseDot{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}

/* scroll reveal */
.reveal-on [data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.22,.7,.2,1),transform .7s cubic-bezier(.22,.7,.2,1);will-change:opacity,transform;}
.reveal-on [data-reveal].is-in{opacity:1;transform:none;}

/* ---- BUTTONS ------------------------------------------------------------ */
.btn-solid{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#08090c;padding:14px 28px;border-radius:8px;font-weight:600;font-size:.98rem;text-decoration:none;transition:opacity .2s;border:none;cursor:pointer;font-family:inherit;}
.btn-solid:hover{opacity:.86;}
.btn-glass{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);color:#fff;padding:14px 26px;border-radius:8px;font-weight:600;font-size:.98rem;text-decoration:none;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(4px);transition:background .2s;cursor:pointer;font-family:inherit;}
.btn-glass:hover{background:rgba(255,255,255,.24);}
.btn-ink{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--bg);padding:14px 28px;border-radius:8px;font-weight:600;font-size:.98rem;text-decoration:none;transition:opacity .2s;border:none;cursor:pointer;font-family:inherit;}
.btn-ink:hover{opacity:.86;}
.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--ink);padding:14px 26px;border-radius:8px;font-weight:600;font-size:.98rem;text-decoration:none;border:1px solid var(--line-2);transition:background .2s;cursor:pointer;font-family:inherit;}
.btn-outline:hover{background:var(--bg-3);}

/* ---- NAV ---------------------------------------------------------------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:80;height:64px;border-bottom:1px solid transparent;backdrop-filter:blur(18px) saturate(1.5);-webkit-backdrop-filter:blur(18px) saturate(1.5);transition:background .3s,border-color .3s;--ink:#fff;--ink-2:rgba(255,255,255,.82);--line-2:rgba(255,255,255,.32);}
.nav.scrolled{background:var(--nav);border-bottom-color:var(--line);}
html[data-theme="light"] .nav.scrolled{--ink:#16161a;--ink-2:#38383d;--line-2:#e0e0dd;}
html[data-theme="dark"] .nav.scrolled{--ink:#f3f4f6;--ink-2:#c8cad0;--line-2:#2e323a;}
.nav.hidden{transform:translateY(-100%);transition:transform .3s ease;}
.nav-inner{max-width:1320px;margin:0 auto;height:100%;padding:0 clamp(22px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:16px;}
.brand{display:flex;align-items:center;text-decoration:none;flex:none;}
.brand img{height:21px;display:block;}
.nav-right{display:flex;align-items:center;gap:14px;}
.switcher{display:flex;align-items:center;gap:3px;}
.sw{font-family:inherit;border:none;cursor:pointer;font-size:.86rem;font-weight:500;color:var(--ink-faint);background:transparent;border-radius:999px;padding:7px 13px;white-space:nowrap;transition:color .15s,background .2s;}
.sw.active{color:var(--ink);background:color-mix(in oklab,var(--ink) 10%,transparent);}
.nav-divider{width:1px;height:22px;background:var(--line-2);flex:none;}
.theme-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;flex:none;}
.theme-btn:hover{background:var(--bg-3);}
.plan-cta{font-size:.84rem;font-weight:600;color:#08090c;background:#fff;padding:9px 17px;border-radius:999px;text-decoration:none;transition:opacity .2s;white-space:nowrap;flex:none;border:none;cursor:pointer;font-family:inherit;}
.plan-cta:hover{opacity:.86;}
.present-btn{font-family:inherit;display:inline-flex;align-items:center;gap:7px;font-size:.84rem;font-weight:600;color:var(--ink);background:transparent;border:1px solid var(--line-2);padding:8px 15px;border-radius:999px;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap;flex:none;}
.present-btn:hover{background:var(--bg-3);border-color:var(--ink-soft);}
.menu-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;}
.menu-btn:hover{background:var(--bg-3);}
@media (max-width:900px){.present-btn{display:none !important;}}
@media (max-width:640px){.switcher,.nav-divider,.plan-cta{display:none !important;}}

/* ---- MOBILE MENU SHEET -------------------------------------------------- */
.menu{position:fixed;inset:0;z-index:95;opacity:0;pointer-events:none;transition:opacity .26s ease;}
.menu.open{opacity:1;pointer-events:auto;}
.menu-scrim{position:absolute;inset:0;background:rgba(6,8,12,.55);backdrop-filter:blur(3px);}
.menu-panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,360px);background:var(--bg-2);border-left:1px solid var(--line);box-shadow:-24px 0 60px -30px rgba(0,0,0,.6);padding:18px 18px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:20px;overflow-y:auto;transform:translateX(100%);transition:transform .34s cubic-bezier(.2,.72,.2,1);}
.menu.open .menu-panel{transform:none;}
.menu-head{display:flex;align-items:center;justify-content:space-between;flex:none;}
.menu-head img{height:19px;display:block;}
.menu-x{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-2);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;}
.menu-label{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);}
.menu-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:var(--bg-3);border-radius:12px;}
.menu-seg .sw{font-weight:600;border-radius:9px;padding:11px 10px;}
.menu-seg .sw.active{background:var(--bg-2);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06);}
.menu-links{display:flex;flex-direction:column;gap:2px;}
.menu-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:1.02rem;font-weight:500;color:var(--ink-2);text-decoration:none;padding:14px 12px;border-radius:11px;transition:background .16s,color .16s;}
.menu-link:hover{background:var(--bg-3);color:var(--ink);}
.menu-link .chev{color:var(--ink-faint);opacity:.55;transition:transform .16s,opacity .16s;}
.menu-link:hover .chev{transform:translateX(3px);opacity:1;}
.menu-actions{display:flex;flex-direction:column;gap:9px;flex:none;padding-top:16px;border-top:1px solid var(--line);}
.menu-actions a{display:flex;align-items:center;gap:10px;font-size:.94rem;font-weight:600;text-decoration:none;border-radius:11px;cursor:pointer;}
.ma-present{justify-content:space-between;color:var(--ink);background:var(--bg-3);border:1px solid var(--line-2);padding:13px 14px;}
.ma-plan{justify-content:center;color:#08090c;background:#fff;border:1px solid var(--line-2);padding:14px;}
.ma-contact{justify-content:center;color:var(--ink-2);background:transparent;border:1px solid var(--line-2);padding:12px;}

/* ---- VIEW TOGGLING ------------------------------------------------------
   JS applyView() sets inline style.display on every [data-view] element
   ('' to show → natural display, 'none' to hide). Golf elements ship with
   inline display:none so premium paints first with no flash. */

/* ---- PREMIUM HERO ------------------------------------------------------- */
.hero{position:relative;min-height:56vh;display:flex;align-items:center;overflow:hidden;background:radial-gradient(120% 90% at 50% -10%,#12161d 0%,#0a0b0e 58%);}
.hero-viz{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;}
.hero-pad{position:relative;z-index:2;width:100%;max-width:1320px;margin:0 auto;padding:clamp(100px,15vh,150px) clamp(22px,4vw,64px) clamp(72px,10vh,110px);}
.hero-text{width:100%;max-width:1040px;}
.hero-text h1{color:#fff;font-size:clamp(2.9rem,6vw,6.6rem);font-weight:500;line-height:1.02;letter-spacing:-0.05em;text-wrap:balance;}
.hero-text p{color:rgba(255,255,255,.82);font-size:clamp(1.1rem,1.7vw,1.4rem);max-width:52ch;margin-top:22px;line-height:1.45;}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;}
@media (max-width:640px){
  .hero-pad{padding-top:100px !important;padding-bottom:52px !important;}
  .hero-text{max-width:100% !important;}
  .hero-text h1{font-size:clamp(2.1rem,8.6vw,3.1rem) !important;line-height:1.07 !important;}
  .hero-cta{flex-direction:column !important;align-items:stretch !important;}
  .hero-cta a,.hero-cta button{justify-content:center !important;width:100% !important;}
}

/* ---- GOLF HERO (scroll takeover) --------------------------------------- */
.takeover{position:relative;height:230vh;background:var(--bg);}
.to-stage{position:sticky;top:0;height:100vh;overflow:hidden;background:var(--bg);}
.to-card{position:absolute;top:0;bottom:0;left:0;right:0;border-radius:0;overflow:hidden;border:1px solid rgba(255,255,255,0);box-shadow:0 40px 90px -44px rgba(0,0,0,0);will-change:top,bottom,left,right,border-radius;}
.to-card video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform;}
.to-grad{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,18,32,.74) 0%,rgba(9,16,28,.34) 52%,rgba(10,16,26,.1) 100%);}
.to-scrim{position:absolute;inset:0;z-index:1;background:radial-gradient(120% 130% at 50% 42%,rgba(6,12,24,.12) 0%,rgba(6,11,22,.9) 100%);opacity:.45;}
.to-hero{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(24px,5vw,52px);opacity:1;pointer-events:none;will-change:opacity,transform;}
.to-hero .inner{max-width:960px;}
.to-hero h1{font-size:clamp(2.9rem,8.4vw,7.4rem);font-weight:500;letter-spacing:-0.05em;line-height:.95;color:#fff;}
.word-rotate{display:inline-block;transition:opacity .28s ease,transform .28s ease;will-change:opacity,transform;}
.to-hero .bold{font-size:clamp(1.1rem,1.9vw,1.5rem);font-weight:600;letter-spacing:-0.02em;color:#fff;margin-top:clamp(18px,2.4vw,28px);}
.to-hero .sub{font-size:clamp(.98rem,1.5vw,1.2rem);font-weight:300;line-height:1.5;max-width:56ch;margin:14px auto 0;color:rgba(255,255,255,.82);}
.to-hero .hero-cta{justify-content:center;pointer-events:auto;margin-top:clamp(26px,3vw,36px);}

/* ---- RAILS -------------------------------------------------------------- */
.rail{position:relative;scroll-margin-top:80px;}
.rail-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;max-width:1320px;margin:0 auto;padding:0 clamp(22px,4vw,64px);}
.rail-head .copy{max-width:680px;}
.rail-btns{display:flex;gap:10px;flex:none;}
.rail-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink-2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.05);}
.rail-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--bg);transform:translateY(-1px);}
.rail-btn:active{transform:scale(.93);}
.scroller{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x;padding:24px clamp(22px,4vw,64px) 26px max(clamp(22px,4vw,64px),calc(50vw - 660px));scroll-padding-left:max(clamp(22px,4vw,64px),calc(50vw - 660px));}
.scroller::-webkit-scrollbar{display:none;}
.card{flex:0 0 auto;width:300px;height:360px;scroll-snap-align:start;position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(165deg,#1a1f2b 0%,#0e1014 100%);transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s,border-color .28s;}
.card:hover{transform:translateY(-7px);border-color:var(--blue);}
.card-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:linear-gradient(160deg,#3f4654 0%,#222734 100%);}
.card-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(8,9,12,.82) 0%,rgba(8,9,12,.22) 34%,rgba(8,9,12,.5) 70%,rgba(8,9,12,.93) 100%);}
.card-body{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:22px;}
.card-body h3{font-size:1.16rem;font-weight:600;letter-spacing:-0.02em;color:#fff;}
.card-tag{font-size:.85rem;color:rgba(255,255,255,.95);line-height:1.5;}
.card-desc{font-size:.85rem;color:rgba(255,255,255,.95);margin-top:9px;line-height:1.5;}

/* ---- GOLF → PLATFORMS QUICK LINK --------------------------------------- */
.quicklink{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:20px clamp(20px,3vw,28px);border:1px solid var(--blue);border-radius:16px;background:var(--blue);text-decoration:none;transition:transform .2s,filter .2s;}
.quicklink:hover{transform:translateY(-2px);filter:brightness(1.06);}
.quicklink .t{font-size:clamp(1.1rem,1.9vw,1.4rem);font-weight:600;letter-spacing:-0.03em;color:#fff;}
.quicklink .s{font-size:.9rem;color:rgba(255,255,255,.82);margin-top:5px;line-height:1.5;}
.quicklink .pill{flex:none;display:inline-flex;align-items:center;gap:9px;font-size:.9rem;font-weight:600;color:var(--blue);background:#fff;border-radius:999px;padding:11px 20px;}

/* ---- AUDIENCE BUILDER (green) ------------------------------------------ */
.audiences{--blue:#1f9d57;--blue-muted:#8fce9f;}
.builder{margin-top:30px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--bg-2);box-shadow:0 34px 70px -34px rgba(0,0,0,.55);}
.builder-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line);}
.builder-bar .l{display:flex;align-items:center;gap:11px;min-width:0;}
.dots{display:flex;gap:6px;flex:none;}
.dots span{width:11px;height:11px;border-radius:50%;background:var(--line-2);}
.builder-bar .mark{width:26px;height:26px;display:block;flex:none;}
.builder-bar .title{font-size:.82rem;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.builder-bar .title strong{color:var(--ink);font-weight:700;}
.builder-badge{flex:none;display:inline-flex;align-items:center;gap:6px;font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);background:color-mix(in oklab,var(--blue) 12%,transparent);border:1px solid color-mix(in oklab,var(--blue) 32%,transparent);border-radius:999px;padding:5px 11px;}
.reach-summary{display:flex;flex-wrap:wrap;align-items:center;gap:18px 30px;padding:18px clamp(18px,3vw,26px);border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in oklab,var(--blue) 7%,transparent),transparent);}
.reach-summary .k{font-size:.68rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-faint);}
.reach-big{display:flex;align-items:baseline;gap:9px;margin-top:6px;}
.reach-big .n{font-size:clamp(2.4rem,4.4vw,3.4rem);font-weight:600;letter-spacing:-0.045em;color:var(--ink);line-height:1;}
.reach-big .u{font-size:1.05rem;font-weight:600;color:var(--ink-soft);}
.reach-track-wrap{flex:1;min-width:230px;}
.reach-labels{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;font-size:.8rem;color:var(--ink-faint);margin-bottom:8px;}
.reach-track{height:8px;border-radius:99px;background:var(--bg-3);overflow:hidden;}
.reach-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--blue-muted));transition:width .5s cubic-bezier(.2,.7,.2,1);}
.builder-cols{display:flex;flex-wrap:wrap;}
.aud-col{flex:1.5;min-width:330px;border-right:1px solid var(--line);padding:20px;}
.aud-col.right{flex:1;min-width:300px;background:linear-gradient(180deg,color-mix(in oklab,var(--blue) 6%,transparent),transparent 60%);}
.aud-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.aud-head .a{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.aud-head .b{font-size:.72rem;color:var(--ink-faint);}
.seg-list{display:flex;flex-direction:column;gap:10px;}
.seg{position:relative;display:flex;align-items:center;gap:14px;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);cursor:pointer;transition:border-color .2s,transform .2s;text-align:left;font-family:inherit;width:100%;}
.seg:hover{border-color:var(--line-2);transform:translateY(-1px);}
.seg .ring{position:absolute;inset:0;border-radius:12px;border:1.5px solid var(--blue);background:color-mix(in oklab,var(--blue) 9%,transparent);pointer-events:none;display:none;}
.seg.on .ring{display:block;}
.seg .ic{position:relative;flex:none;width:38px;height:38px;border-radius:9px;border:1px solid var(--line-2);background:var(--bg-3);display:flex;align-items:center;justify-content:center;color:var(--blue);}
.seg .mid{position:relative;flex:1;min-width:0;}
.seg .name-row{display:flex;align-items:center;gap:8px;min-width:0;}
.seg .name{font-size:.98rem;font-weight:600;letter-spacing:-0.01em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.seg .kind{flex:none;font-size:.6rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--line-2);border-radius:5px;padding:2px 6px;}
.seg .desc{font-size:.8rem;color:var(--ink-soft);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.seg .reach{position:relative;flex:none;text-align:right;}
.seg .reach .n{font-size:.95rem;font-weight:600;color:var(--ink);letter-spacing:-0.02em;}
.seg .reach .u{font-size:.64rem;color:var(--ink-faint);}
.seg .cta{position:relative;flex:none;}
.seg .added,.seg .add{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;border-radius:8px;padding:7px 11px;white-space:nowrap;}
.seg .added{color:#fff;background:var(--blue);display:none;}
.seg .add{color:var(--ink);border:1px solid var(--line-2);}
.seg.on .added{display:inline-flex;}
.seg.on .add{display:none;}
.aud-note{margin-top:12px;font-size:.82rem;color:var(--ink-soft);border:1px dashed var(--line-2);border-radius:10px;padding:12px 14px;display:flex;gap:9px;align-items:flex-start;}
.aud-note svg{flex:none;color:var(--blue);margin-top:1px;}
.tgt-k{font-size:.7rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.tgt-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.tgt-chip{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:600;color:var(--ink);background:var(--bg-3);border:1px solid var(--line-2);border-radius:8px;padding:7px 10px;cursor:pointer;transition:border-color .2s;font-family:inherit;}
.tgt-chip:hover{border-color:var(--blue);}
.tgt-chip .x{color:var(--ink-faint);font-size:1rem;line-height:1;}
.tgt-empty{margin-top:11px;font-size:.84rem;color:var(--ink-soft);border:1px dashed var(--line-2);border-radius:10px;padding:14px;text-align:center;}
.deliver{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);}
.deliver-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px;}
.dch{display:inline-flex;align-items:center;gap:6px;position:relative;font-size:.78rem;font-weight:500;color:var(--ink-2);background:var(--bg-3);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s;}
.dch .mk{font-weight:700;color:var(--ink-faint);}
.dch.on{color:var(--ink);border-color:var(--blue);background:color-mix(in oklab,var(--blue) 10%,transparent);}
.dch.on .mk{color:var(--blue);}
.deliver-help{font-size:.78rem;color:var(--ink-faint);margin-top:12px;line-height:1.5;}
.activate{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;width:100%;background:var(--ink);color:var(--bg);padding:13px;border-radius:10px;font-weight:600;font-size:.92rem;text-decoration:none;transition:opacity .2s;border:none;cursor:pointer;font-family:inherit;}
.activate:hover{opacity:.88;}
.activate-note{font-size:.76rem;color:var(--ink-faint);margin-top:10px;line-height:1.5;}
.agency-foot{border-top:1px solid var(--line);background:var(--bg-3);padding:14px clamp(18px,3vw,26px);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 18px;}
.agency-foot .t{font-size:.88rem;color:var(--ink-2);}
.agency-foot .t strong{color:var(--ink);font-weight:600;}
.agency-foot a{font-size:.86rem;font-weight:600;color:var(--blue);text-decoration:none;white-space:nowrap;}
@media (max-width:620px){.aud-col{min-width:100% !important;border-right:none !important;}}

/* ---- COVERAGE ----------------------------------------------------------- */
.coverage-panel{border-radius:20px;overflow:hidden;background:radial-gradient(120% 130% at 20% 0%,#12203a 0%,#0a0f1a 62%);}
.coverage-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;padding:clamp(26px,4vw,44px);}
.coverage-map{width:100%;}
.coverage-legend{color:#fff;}
.leg-row{display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.leg-row:last-child{margin-bottom:0;}
.leg-sw{width:10px;height:10px;border-radius:3px;flex:none;}
.leg-name{font-size:.92rem;font-weight:500;flex:1;min-width:0;}
.leg-pct{font-size:.92rem;font-weight:600;font-variant-numeric:tabular-nums;flex:none;}
.leg-sub{font-size:.76rem;color:rgba(255,255,255,.5);margin-top:2px;}
.leg-track{height:7px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden;margin-top:8px;}
.leg-fill{height:100%;border-radius:99px;}
@media (max-width:760px){.coverage-grid{grid-template-columns:1fr !important;}.coverage-map{order:-1;}}

/* ---- TOOLKIT / ADSTUDIO ------------------------------------------------- */
.toolkit{padding:50px 0 8px;}
.adstudio{position:relative;border-radius:20px;overflow:hidden;border:1px solid #243a2b;background:linear-gradient(160deg,#16271c 0%,#0f1b14 100%);margin-top:26px;color:#fff;box-shadow:0 0 90px -24px rgba(102,203,135,.30),0 34px 70px -34px rgba(0,0,0,.55);}
.adstudio .glow{position:absolute;border-radius:50%;pointer-events:none;}
.adstudio .glow-1{top:-30%;left:-8%;width:520px;height:520px;background:radial-gradient(closest-side,rgba(102,203,135,.16),transparent);animation:adGlowPulse 6s ease-in-out infinite;}
.adstudio .glow-2{bottom:-34%;right:-6%;width:460px;height:460px;background:radial-gradient(closest-side,rgba(102,203,135,.12),transparent);animation:adGlowPulse 7.5s ease-in-out infinite;animation-delay:-3s;}
.ad-top{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px,3vw,44px);align-items:start;padding:clamp(28px,4vw,44px) clamp(22px,3vw,44px) clamp(22px,3vw,32px);}
.ad-top h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:400;letter-spacing:-0.035em;line-height:1.04;color:#fff;}
.ad-top .body{font-size:1rem;color:#a3b7aa;margin-top:18px;line-height:1.55;max-width:46ch;}
.ad-top .body strong{color:#fff;font-weight:700;}
.btn-demo{display:inline-flex;align-items:center;gap:9px;margin-top:22px;background:#15a45c;color:#fff;padding:13px 26px;border-radius:999px;font-weight:600;font-size:.96rem;text-decoration:none;transition:background .2s,transform .2s;border:none;cursor:pointer;font-family:inherit;}
.btn-demo:hover{background:#13b563;transform:translateY(-2px);}
.ad-stats{display:flex;flex-direction:column;gap:0;align-self:stretch;}
.ad-stat{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(102,203,135,.16);}
.ad-stat:first-child{border-top:1px solid rgba(102,203,135,.16);}
.ad-stat .num{font-size:clamp(1.4rem,2.2vw,1.85rem);font-weight:700;letter-spacing:-0.04em;color:#fff;}
.ad-stat .num span{color:#66cb87;font-weight:400;}
.ad-stat .lbl{font-size:.78rem;color:#8fb89e;text-align:right;}
/* AdStudio dashboard window */
.ad-window{position:relative;margin:0 clamp(14px,2.4vw,30px);border-radius:14px;overflow:hidden;background:#0b120e;border:1px solid rgba(102,203,135,.2);max-height:min(58vh,440px);}
.ad-window::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(180deg,transparent,#0f1b14);pointer-events:none;}
.aw-chrome{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid rgba(102,203,135,.14);background:rgba(7,14,10,.6);}
.aw-chrome .logo{display:flex;align-items:center;gap:8px;font-family:'Space Grotesk',sans-serif;font-size:.92rem;flex:none;}
.aw-chrome .logo img{width:20px;height:20px;}
.aw-tabs{display:flex;gap:2px;overflow:hidden;flex:1;min-width:0;}
.aw-tab{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:500;color:#7f9a8a;padding:6px 11px;border-radius:8px;white-space:nowrap;}
.aw-tab.on{color:#cfe3d6;background:rgba(102,203,135,.14);}
.aw-util{display:flex;align-items:center;gap:8px;flex:none;color:#5f8770;}
.aw-chip{font-size:.72rem;font-weight:600;color:#cfe3d6;border:1px solid rgba(102,203,135,.24);border-radius:7px;padding:5px 9px;}
.aw-avatar{width:28px;height:28px;border-radius:50%;background:#15a45c;color:#fff;font-size:.66rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex:none;}
.aw-body{padding:16px clamp(14px,2.4vw,22px) 40px;}
.aw-phead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.aw-phead .t{font-size:1.05rem;font-weight:600;color:#fff;}
.aw-phead .s{font-size:.78rem;color:#8fb89e;margin-top:2px;}
.aw-pill{font-size:.72rem;font-weight:600;color:#cfe3d6;border:1px solid rgba(102,203,135,.24);border-radius:999px;padding:5px 11px;flex:none;}
.aw-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;}
.aw-kpi{border:1px solid rgba(102,203,135,.14);border-radius:10px;padding:12px;background:rgba(255,255,255,.02);}
.sk{background:rgba(207,227,214,.14);border-radius:5px;height:8px;display:block;}
.aw-kpi .sk.w1{width:52%;margin-bottom:9px;}
.aw-kpi .sk.big{height:15px;width:70%;margin-bottom:9px;background:rgba(207,227,214,.22);}
.aw-spark{color:#66cb87;}
.aw-charts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.aw-chart{border:1px solid rgba(102,203,135,.14);border-radius:10px;padding:14px;background:rgba(255,255,255,.02);height:150px;display:flex;align-items:flex-end;gap:5px;}
.aw-bar{flex:1;background:rgba(207,227,214,.16);border-radius:3px 3px 0 0;}
.aw-bar.hot{background:rgba(102,203,135,.55);}
.aw-table{border:1px solid rgba(102,203,135,.14);border-radius:10px;overflow:hidden;}
.aw-tr{display:grid;grid-template-columns:1.3fr 1fr .9fr 1fr;gap:10px;align-items:center;padding:11px 14px;border-bottom:1px solid rgba(102,203,135,.1);font-size:.82rem;}
.aw-tr:last-child{border-bottom:none;}
.aw-tr.head{color:#7f9a8a;font-weight:600;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;background:rgba(7,14,10,.4);}
.aw-tr .ch{color:#fff;font-weight:500;}
.aw-badge{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:600;}
.aw-badge.g{color:#37d27e;}
.aw-badge.b{color:#4a9bff;}
@media (max-width:640px){.ad-top{grid-template-columns:1fr;}.aw-kpis{grid-template-columns:1fr 1fr;}.aw-charts{grid-template-columns:1fr;}.aw-util{display:none !important;}}

/* ---- SPECIALISMS (golf video card) ------------------------------------- */
.feature{position:relative;display:flex;align-items:flex-end;margin-top:28px;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 30px 60px -30px rgba(0,0,0,.6);min-height:clamp(420px,58vh,560px);text-decoration:none;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s;}
.feature:hover{transform:translateY(-6px);box-shadow:0 34px 64px -26px rgba(0,0,0,.7);}
.feature video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.feature .g1{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(9,18,32,.78) 0%,rgba(9,16,28,.42) 50%,rgba(10,16,26,.12) 100%);}
.feature .g2{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(8,14,26,.7) 0%,rgba(9,16,28,.1) 42%,rgba(10,16,26,.18) 100%);}
.feature .inner{position:relative;z-index:2;padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px);width:100%;}
.feature .inner .copy{max-width:620px;}
.feature h3{font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:600;letter-spacing:-0.035em;color:#fff;}
.feature p{font-size:clamp(1rem,1.5vw,1.15rem);color:rgba(255,255,255,.84);margin-top:14px;line-height:1.5;}
.feature .go{display:inline-flex;align-items:center;gap:8px;font-size:.98rem;font-weight:600;color:#fff;margin-top:26px;}
.feature .go .arw{color:var(--blue);}

/* ---- BEYOND GOLF -------------------------------------------------------- */
.beyond .inner{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:28px clamp(40px,5vw,72px);border-top:1px solid var(--line);padding-top:40px;}
.beyond .copy{max-width:none;min-width:0;}
.beyond .worked{min-width:0;}
.beyond h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:600;letter-spacing:-0.035em;margin-top:10px;}
.beyond p{font-size:.92rem;color:var(--ink-soft);margin-top:12px;line-height:1.55;}
.beyond .worked .k{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.beyond .tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;max-width:420px;}
.beyond .tags span{font-size:.9rem;font-weight:500;color:var(--ink-2);border:1px solid var(--line-2);border-radius:999px;padding:7px 15px;}
.beyond .tags .more{color:var(--ink-faint);}

/* ---- CAREERS ------------------------------------------------------------ */
.careers .inner{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:32px clamp(40px,5vw,72px);border-top:1px solid var(--line);padding-top:40px;}
.careers .copy{max-width:none;min-width:0;}
.careers .copy .lead{margin-bottom:20px;}
.careers-card{width:100%;border:1px solid var(--line);border-radius:16px;background:var(--bg-2);padding:22px;}
@media (max-width:860px){
  .beyond .inner,.careers .inner{grid-template-columns:1fr;gap:26px;}
  .careers-card{width:min(400px,100%);}
}
.careers-card .top{display:flex;align-items:center;justify-content:space-between;}
.careers-card .k{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);}
.careers-card .live{font-size:.78rem;font-weight:600;color:var(--ink-soft);}
.careers-empty{margin-top:16px;border:1px dashed var(--line-2);border-radius:12px;padding:22px 16px;text-align:center;}
.careers-empty .ic{width:44px;height:44px;border-radius:11px;background:var(--bg-3);color:var(--ink-faint);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.careers-empty .t{font-size:.94rem;font-weight:600;color:var(--ink);}
.careers-empty .d{font-size:.82rem;color:var(--ink-soft);margin-top:6px;line-height:1.5;}

/* ---- CLOSE / CONTACT ---------------------------------------------------- */
.close{text-align:center;padding:clamp(60px,9vw,110px) clamp(22px,4vw,64px) clamp(40px,6vw,70px);scroll-margin-top:80px;}
.close h2{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:500;letter-spacing:-0.045em;line-height:1.05;}
.close p{font-size:1.05rem;color:var(--ink-soft);max-width:48ch;margin:20px auto 0;line-height:1.5;}
.close-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px;}
.team{max-width:920px;margin:clamp(46px,6vw,72px) auto 0;}
.team .k{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);text-align:center;}
.team-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 14px;margin-top:22px;}
.team-mem{width:118px;text-align:center;}
.team-mem img{width:80px;height:80px;border-radius:50%;object-fit:cover;display:block;margin:0 auto;background:var(--bg-3);}
.team-mem .n{font-size:.88rem;font-weight:600;margin-top:10px;}
.team-mem .t{font-size:.75rem;color:var(--ink-soft);margin-top:2px;line-height:1.4;}

/* ---- FOOTER ------------------------------------------------------------- */
.footer{border-top:1px solid var(--line);background:var(--bg);}
.footer .inner{max-width:1320px;margin:0 auto;padding:48px clamp(22px,4vw,64px) 30px;}
.footer .top{display:flex;flex-wrap:wrap;gap:40px;justify-content:space-between;}
.footer .about{max-width:340px;}
.footer .about img{height:22px;display:block;}
.footer .about p{font-size:.86rem;color:var(--ink-soft);margin-top:16px;line-height:1.55;}
.footer .cols{display:flex;gap:56px;flex-wrap:wrap;}
.footer .col{display:flex;flex-direction:column;gap:10px;}
.footer h6{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-weight:600;margin-bottom:4px;}
.footer .col-links{display:flex;flex-direction:column;gap:10px;}
.footer .col a{font-size:.88rem;color:var(--ink-2);text-decoration:none;transition:color .15s;cursor:pointer;}
.footer .col a:hover{color:var(--ink);}
.footer .legal{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:40px;padding-top:22px;border-top:1px solid var(--line);font-size:.8rem;color:var(--ink-faint);}
.footer .legal a{text-decoration:none;}
.footer .legal a:hover{color:var(--ink-2);}

/* ---- SNACK MEDIA BAR ---------------------------------------------------- */
.snackbar{display:block;background:var(--bg-3);text-decoration:none;overflow:hidden;color:var(--ink);}
.snack-row{max-width:1320px;margin:0 auto;padding:16px clamp(22px,4vw,64px);display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;}
.snack-row img{height:20px;flex:none;}
html[data-theme="light"] .snack-row img{filter:invert(1);}
.snack-row .msg{font-size:.88rem;color:var(--ink-2);flex:1;min-width:200px;}
.snack-row .msg strong{color:var(--ink);font-weight:600;}
.snack-more{display:inline-flex;align-items:center;gap:6px;font-size:.84rem;font-weight:600;color:var(--ink);flex:none;}
.snack-chev{transition:transform .3s;}
.snackbar.sb-open .snack-chev{transform:rotate(180deg);}
.snack-extra{max-height:0;opacity:0;transition:max-height .55s cubic-bezier(.2,.72,.2,1),opacity .34s ease;}
.snackbar.sb-open .snack-extra{max-height:420px;opacity:1;}
.snack-extra-in{max-width:1320px;margin:0 auto;padding:0 clamp(22px,4vw,64px) 22px;}
.snack-extra p{font-size:.9rem;color:var(--ink-soft);line-height:1.55;max-width:64ch;}
.snack-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.snack-chips span{font-size:.76rem;font-weight:500;color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;}
.snack-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:.86rem;font-weight:600;color:var(--ink);border:1px solid var(--line-2);border-radius:999px;padding:10px 18px;transition:background .2s,color .2s,border-color .2s;}
.snackbar.sb-open .snack-cta{background:var(--ink);color:var(--bg);border-color:var(--ink);}

/* ---- CONTACT MODAL ------------------------------------------------------ */
.modal{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;padding:20px;}
.modal.open{display:flex;}
.modal-scrim{position:absolute;inset:0;background:rgba(6,8,12,.6);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);animation:mdFade .2s ease;}
.modal-card{position:relative;width:min(540px,100%);max-height:90vh;overflow-y:auto;background:var(--bg-2);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:0 40px 90px -30px rgba(0,0,0,.6);animation:mdPop .24s cubic-bezier(.2,.7,.2,1);}
.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg-2);z-index:2;}
.modal-head .who{display:flex;align-items:center;gap:11px;min-width:0;}
.modal-head .who .c-ava{width:40px;height:40px;border-radius:50%;flex:none;background:linear-gradient(140deg,#2ab3ff,#0a6fb0);color:#fff;display:flex;align-items:center;justify-content:center;}
.modal-head .t{font-size:.95rem;font-weight:600;}
.modal-head .s{font-size:.78rem;color:var(--ink-soft);margin-top:1px;}
.modal-x{width:32px;height:32px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:background .2s,color .2s;}
.modal-x:hover{background:var(--bg-3);color:var(--ink);}
.modal-body{padding:clamp(18px,3vw,24px);}
.c-back{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:600;color:var(--ink-soft);background:none;border:none;cursor:pointer;font-family:inherit;padding:0;margin-bottom:14px;}
.c-back:hover{color:var(--ink);}
.c-title{font-size:1.35rem;font-weight:600;letter-spacing:-0.02em;}
.c-sub{font-size:.9rem;color:var(--ink-soft);margin-top:6px;line-height:1.5;}
.c-bubble{font-size:1rem;color:var(--ink);background:var(--bg-3);border-radius:14px 14px 14px 4px;padding:14px 16px;display:inline-block;}
.c-menu{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
.c-opt{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;width:100%;font-family:inherit;background:var(--bg);border:1px solid var(--line-2);border-radius:13px;padding:15px 16px;cursor:pointer;transition:border-color .2s,transform .15s,background .2s;}
.c-opt:hover{border-color:var(--blue);transform:translateY(-1px);background:var(--bg-2);}
.c-opt>span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0;text-align:left;}
.c-opt .ot{display:block;font-size:1rem;font-weight:600;color:var(--ink);line-height:1.25;}
.c-opt .od{display:block;font-size:.82rem;color:var(--ink-soft);line-height:1.35;}
.c-opt .arw{color:var(--ink-faint);flex:none;}
.c-custom-link{display:block;text-align:center;margin-top:14px;font-size:.86rem;font-weight:600;color:var(--blue);background:none;border:none;cursor:pointer;font-family:inherit;width:100%;}
.c-avatars{display:flex;align-items:center;gap:12px;margin:16px 0 18px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--bg-3);}
.c-avatars .pics{display:flex;flex:none;}
.c-avatars .pics img{width:34px;height:34px;border-radius:50%;border:2px solid var(--bg-2);object-fit:cover;object-position:center 20%;margin-left:-8px;background:var(--bg-3);}
.c-avatars .pics img:first-child{margin-left:0;}
.c-avatars .txt{font-size:.84rem;color:var(--ink-soft);line-height:1.4;}
.c-avatars .txt strong{color:var(--ink);font-weight:600;}
.c-callout{font-size:.88rem;color:var(--ink-2);background:color-mix(in oklab,#15a45c 12%,transparent);border:1px solid color-mix(in oklab,#15a45c 30%,transparent);border-radius:11px;padding:13px 15px;margin:14px 0 18px;line-height:1.45;}
.c-callout strong{color:var(--ink);font-weight:700;}
.form{display:flex;flex-direction:column;gap:14px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:460px){.field.row2{grid-template-columns:1fr;}}
.field label{font-size:.78rem;font-weight:600;color:var(--ink-2);}
.field label .opt{color:var(--ink-faint);font-weight:400;}
.field .req{color:var(--blue);}
.field input,.field select,.field textarea{font-family:inherit;font-size:.95rem;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:10px;padding:11px 13px;transition:border-color .15s,box-shadow .15s;width:100%;}
.field textarea{resize:vertical;min-height:92px;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in oklab,var(--blue) 18%,transparent);}
.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint);}
.phone-row{display:flex;gap:8px;}
.phone-row .cc{width:74px;flex:none;}
.hp{position:absolute !important;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}
.toggle-box{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-family:inherit;background:var(--bg);border:1px solid var(--line-2);border-radius:11px;padding:12px 14px;cursor:pointer;text-align:left;transition:border-color .2s;}
.toggle-box:hover{border-color:var(--ink-soft);}
.toggle-box .tt{font-size:.9rem;font-weight:500;color:var(--ink);}
.switch{width:40px;height:23px;border-radius:999px;background:var(--line-2);flex:none;position:relative;transition:background .2s;}
.switch .knob{position:absolute;top:2px;left:2px;width:19px;height:19px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s;}
.toggle-box.on .switch{background:var(--blue);}
.toggle-box.on .switch .knob{transform:translateX(17px);}
.chip-row{display:flex;flex-wrap:wrap;gap:7px;}
.pchip{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:500;color:var(--ink-2);background:var(--bg);border:1px solid var(--line-2);border-radius:999px;padding:7px 12px;cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s,background .2s;}
.pchip .mk,.pchip-mk{font-weight:700;color:var(--ink-faint);}
.pchip.on{color:var(--ink);border-color:var(--blue);background:color-mix(in oklab,var(--blue) 10%,transparent);}
.pchip.on .pchip-mk{color:var(--blue);}
.comms-row{display:flex;flex-wrap:wrap;gap:7px;}
.comm{font-size:.84rem;font-weight:500;color:var(--ink-2);background:var(--bg);border:1px solid var(--line-2);border-radius:9px;padding:9px 14px;cursor:pointer;font-family:inherit;transition:border-color .2s,color .2s,background .2s;}
.comm.on{color:var(--ink);border-color:var(--blue);background:color-mix(in oklab,var(--blue) 10%,transparent);font-weight:600;}
.form-submit{margin-top:4px;display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--ink);color:var(--bg);padding:13px 22px;border-radius:10px;font-weight:600;font-size:.98rem;border:none;cursor:pointer;font-family:inherit;transition:opacity .2s;}
.form-submit:hover{opacity:.88;}
.form-submit:disabled{opacity:.5;cursor:default;}
.too-fast{font-size:.84rem;color:#e5484d;background:color-mix(in oklab,#e5484d 12%,transparent);border:1px solid color-mix(in oklab,#e5484d 30%,transparent);border-radius:10px;padding:11px 13px;display:none;}
.too-fast.show{display:block;}
.c-sent{text-align:center;padding:12px 0;}
.c-sent .tick{width:60px;height:60px;border-radius:50%;background:color-mix(in oklab,#15a45c 16%,transparent);color:#15a45c;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.c-sent h3{font-size:1.35rem;font-weight:600;letter-spacing:-0.02em;}
.c-sent p{font-size:.92rem;color:var(--ink-soft);margin:10px auto 0;line-height:1.5;max-width:38ch;}
.c-sent .done{margin-top:22px;}

/* ---- PRESENT MODE ------------------------------------------------------- */
.present{position:fixed;inset:0;z-index:150;pointer-events:none;display:none;}
.present.open{display:block;}
.present-progress{position:fixed;top:0;left:0;right:0;height:3px;background:rgba(0,0,0,.14);z-index:2;}
html[data-theme="dark"] .present-progress{background:rgba(255,255,255,.14);}
.present-progress .fill{height:100%;background:var(--blue);width:0;transition:width .45s cubic-bezier(.2,.7,.2,1);}
.present-chaps{position:fixed;top:16px;left:16px;display:flex;gap:3px;padding:4px;border-radius:999px;background:var(--nav);backdrop-filter:blur(18px);border:1px solid var(--line);pointer-events:auto;}
.present-chap{font-family:inherit;border:none;cursor:pointer;font-size:.82rem;font-weight:600;color:var(--ink-2);background:transparent;border-radius:999px;padding:7px 14px;}
.present-chap.on{background:var(--ink);color:var(--bg);}
.present-tr{position:fixed;top:16px;right:16px;display:flex;align-items:center;gap:10px;pointer-events:auto;}
.present-label{font-size:.82rem;font-weight:600;color:var(--ink);background:var(--nav);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:999px;padding:7px 14px;}
.present-counter{font-size:.82rem;font-weight:600;color:var(--ink-soft);font-variant-numeric:tabular-nums;}
.present-x{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:var(--nav);backdrop-filter:blur(18px);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.present-nav{position:fixed;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:1px solid var(--line);background:var(--nav);backdrop-filter:blur(18px);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transition:opacity .2s;}
.present-nav.prev{left:18px;}
.present-nav.next{right:18px;}
.present-nav:disabled{opacity:.35;cursor:default;pointer-events:none;}
.present-hint{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);font-size:.78rem;color:var(--ink-soft);background:var(--nav);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:999px;padding:8px 16px;pointer-events:none;text-align:center;}

/* ---- CUSTOM CURSOR ------------------------------------------------------ */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;border-radius:50%;pointer-events:none;z-index:200;transform:translate(-50%,-50%);opacity:0;}
.cursor-dot{width:6px;height:6px;background:var(--blue);transition:opacity .2s,transform .12s;}
.cursor-ring{width:34px;height:34px;border:1.5px solid color-mix(in oklab,var(--blue) 60%,transparent);transition:width .18s,height .18s,background .18s,border-color .18s,opacity .2s;}
.cursor-on .cursor-dot,.cursor-on .cursor-ring{opacity:1;}
.cursor-ring.grow{width:52px;height:52px;background:color-mix(in oklab,var(--blue) 16%,transparent);border-color:color-mix(in oklab,var(--blue) 40%,transparent);}
.cursor-ring.press{transform:translate(-50%,-50%) scale(.82);}
@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none !important;}}

/* ---- MOBILE POLISH ------------------------------------------------------ */
@media (max-width:600px){
  /* AdStudio: keep it a short teaser, not a full UI dump */
  .ad-window{max-height:280px;margin:0 12px;}
  .ad-top{padding:26px 20px 20px;gap:20px;}
  .aw-body{padding:14px 12px 40px;}
  .aw-chip{display:none;}
  .aw-kpis{grid-template-columns:1fr 1fr;gap:8px;}
  .aw-tr{grid-template-columns:1.3fr .8fr .9fr;gap:8px;padding:10px 12px;font-size:.76rem;}
  .aw-tr>*:nth-child(3){display:none;}          /* hide Engagement % column */
  .ad-stat{padding:11px 0;}
  .agency-foot{padding:13px 18px;}

  /* Audience / targeting widget */
  .builder-bar{padding:11px 14px;}
  .builder-bar .dots{display:none;}
  .builder-bar .title{font-size:.78rem;}
  .reach-summary{padding:16px 16px;gap:14px 20px;}
  .reach-big .n{font-size:2.2rem;}
  .aud-col{padding:16px 14px;}
  .seg{gap:10px;padding:11px 12px;}
  .seg .ic{width:32px;height:32px;}
  .seg .desc,.seg .kind{display:none;}          /* declutter rows on phones */
  .seg .name{white-space:normal;}
  .seg .reach .u{display:none;}
  .seg .added,.seg .add{padding:6px 9px;font-size:.74rem;}

  /* Global rhythm: a touch tighter */
  .section{scroll-margin-top:72px;}
  .close{padding-left:22px;padding-right:22px;}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  .reveal-on [data-reveal]{opacity:1 !important;transform:none !important;}
}
