/*
Theme Name: Tycoon Digital Media
Theme URI: https://tycoondigitalmedia.com
Author: Tycoon Digital Media
Description: Custom theme for Tycoon Digital Media: exclusive lead generation, PPC and websites for local contractors. Interactive 3D hero, scroll animations, fully editable in the block editor.
Version: 7.5.1
Requires at least: 6.4
Requires PHP: 7.4
License: Proprietary
Text Domain: tycoon
*/

/* =========================================================
   Tokens
   ========================================================= */
:root{
  --brand:#50C7D7; --brand-dark:#1F9DB0; --brand-hi:#8BE6F0; --brand-soft:#E8F8FA;
  --electric:#4F8CFF;
  --grad:linear-gradient(110deg,#50C7D7 0%,#4FB4F0 60%,#4F8CFF 100%);
  --ink:#0E1A24; --ink-2:#3A4955; --muted:#667682;
  --bg:#FFFFFF; --bg-alt:#F4F8FA; --line:#E1E8ED;
  --navy:#0B1620; --navy-2:#122331;
  --radius:16px; --max:1160px;
  --font-head:"Space Grotesk",Inter,system-ui,sans-serif;
  --font-body:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --shadow:0 24px 50px -28px rgba(11,22,32,.35);
}

/* =========================================================
   Base
   ========================================================= */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
#check,[id]{scroll-margin-top:96px}
body{margin:0;font-family:var(--font-body);font-size:17px;color:var(--ink);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
::selection{background:rgba(80,199,215,.3)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
p,ul,ol,figure{margin:0}

/* Headings: tuned for readability */
h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);margin:0;font-weight:700;letter-spacing:-.015em;line-height:1.14;text-wrap:balance}
h3{line-height:1.28;letter-spacing:-.005em;font-weight:600}

/* Buttons */
.btn,.tdm-home .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:11px;font-family:var(--font-body);font-weight:700;font-size:16px;line-height:1.25;border:2px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .25s,background .25s,border-color .25s,color .25s;position:relative;overflow:hidden}
.btn-primary,.tdm-btn-primary .wp-block-button__link{background:var(--brand);color:var(--navy);box-shadow:0 10px 24px -10px rgba(80,199,215,.85)}
.btn-primary:hover,.tdm-btn-primary .wp-block-button__link:hover{background:#68D3E1;transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(80,199,215,.95)}
/* light sweep across primary buttons */
.btn-primary::after,.tdm-btn-primary .wp-block-button__link::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:sweep 4.5s ease-in-out infinite}
@keyframes sweep{0%,70%{left:-60%}100%{left:130%}}
.tdm-btn-ghost .wp-block-button__link{background:transparent;border-color:rgba(255,255,255,.28);color:#fff}
.tdm-btn-ghost .wp-block-button__link:hover{border-color:var(--brand);color:var(--brand)}
.tdm-home .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}

/* Block layout reset */
.wp-block-group__inner-container{display:contents}
.wp-block-columns{margin:0;flex-wrap:wrap}

/* Scroll progress */
.scroll-progress{position:fixed;left:0;top:0;width:100%;height:3px;z-index:100;background:var(--grad);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 12px rgba(80,199,215,.8);pointer-events:none}

/* =========================================================
   Header
   ========================================================= */
.site-header{position:sticky;top:0;z-index:50;background:rgba(11,22,32,.9);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid rgba(255,255,255,.07)}
.admin-bar .site-header{top:32px}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;gap:20px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;flex:none}
.logo img{width:40px;height:40px;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.logo:hover img{transform:rotate(-20deg) scale(1.08)}
.logo b{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--brand)}
.logo small{display:block;font-size:10px;letter-spacing:.32em;color:#9FB2BF;font-weight:600;margin-top:-3px}
.nav ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
.nav ul a{position:relative;display:block;padding:8px 14px;color:#C9D5DD;font-weight:500;font-size:15px;transition:color .2s}
.nav ul a::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;background:var(--brand);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav ul a:hover{color:#fff}
.nav ul a:hover::after{transform:scaleX(1)}
.nav-right{display:flex;align-items:center;gap:18px;flex:none}
.nav-phone{color:#fff;font-weight:700;font-size:15px}
.nav-phone:hover{color:var(--brand)}
.nav .btn{padding:10px 18px;font-size:14px}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.mobile-only{display:none}

/* =========================================================
   Sections
   ========================================================= */
.tdm-section{position:relative;padding:104px 0}
.tdm-section.alt{background:var(--bg-alt)}
.tdm-section.alt::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(11,22,32,.07) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%);mask-image:linear-gradient(180deg,#000,transparent 70%)}
.tdm-section>.wrap,.tdm-section>.wp-block-group__inner-container>.wrap{position:relative}
.tdm-section h2,.tdm-cta h2{font-size:clamp(30px,4.2vw,46px);margin-bottom:16px;max-width:24ch}
.center h2{margin-left:auto;margin-right:auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--brand-dark);margin-bottom:14px}
.eyebrow::before{content:"";width:20px;height:2px;border-radius:2px;background:var(--brand)}
.lead{font-size:19px;color:var(--ink-2);max-width:640px;line-height:1.7}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.center .wp-block-buttons{justify-content:center}

/* =========================================================
   Hero (navy) + 3D canvas
   ========================================================= */
.tdm-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:104px 0 128px;background:radial-gradient(1000px 520px at 85% 15%,rgba(80,199,215,.16),transparent 60%),linear-gradient(180deg,var(--navy),var(--navy-2))}
.tdm-hero::after{content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 70% 70% at 70% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 70% at 70% 40%,#000,transparent 75%)}
.tdm-3d{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.tdm-hero>.wrap,.tdm-hero>.wp-block-group__inner-container>.wrap{position:relative;z-index:1}
body .wp-block-columns.hero-grid{gap:60px;align-items:center}
body .wp-block-columns.hero-grid>.wp-block-column.hero-copy{flex:1.1 1 0}
body .wp-block-columns.hero-grid>.wp-block-column.hero-form{flex:.9 1 0}
.pill{display:inline-flex;align-items:center;gap:9px;background:rgba(80,199,215,.12);border:1px solid rgba(80,199,215,.35);color:var(--brand);padding:6px 15px 6px 12px;border-radius:999px;font-size:13px;font-weight:600;margin-bottom:24px;backdrop-filter:blur(6px)}
.pill::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(80,199,215,.25);animation:pulse 2.2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(80,199,215,.06)}}
.tdm-hero h1{font-size:clamp(40px,5.6vw,66px);line-height:1.07;letter-spacing:-.022em;margin-bottom:22px;color:#fff;max-width:15ch}
.tdm-hero.sub h1{font-size:clamp(36px,5vw,56px);max-width:16ch}
.tdm-hero mark{background:none!important;color:var(--brand)!important}
@supports (-webkit-background-clip:text){
  .tdm-hero mark{background:linear-gradient(110deg,#50C7D7,#8BE6F0,#4FB4F0,#50C7D7)!important;background-size:250% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent;animation:shine 6s linear infinite}
}
@keyframes shine{to{background-position:-250% 0}}
.hero-text{font-size:19px;color:#BCCAD4;max-width:560px;margin-bottom:32px;line-height:1.7}
.hero-points{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:32px;color:#A9BAC6;font-size:14.5px;list-style:none;padding:0}
.hero-points li::before{content:"✓";color:var(--brand);font-weight:800;margin-right:8px}
/* hero entrance */
.hero-in{animation:heroIn .9s cubic-bezier(.2,.75,.2,1) both}
@keyframes heroIn{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* =========================================================
   Lead form (white card)
   ========================================================= */
.card-check{position:relative;background:#fff;color:var(--ink);border-radius:20px;padding:32px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(80,199,215,.25)}
.card-check h3{font-size:24px;margin-bottom:6px}
.card-check>p{font-size:14.5px;color:var(--muted);margin-bottom:20px}
.field{margin-bottom:14px}
.field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--ink-2)}
.field input,.field select{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;font:inherit;font-size:15px;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.field input:focus,.field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card-check .btn{width:100%;margin-top:6px;padding:16px}
.fine{font-size:12.5px;color:var(--muted);text-align:center;margin-top:12px}
.notice{padding:12px 14px;border-radius:10px;font-size:14px;margin-bottom:16px;font-weight:600}
.notice.ok{background:#E6F7EE;color:#136C3A}
.notice.err{background:#FDECEC;color:#9B1C1C}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* =========================================================
   Floating stats bar (overlaps the hero edge)
   ========================================================= */
.tdm-stats{position:relative;z-index:3;margin-top:-58px;padding:0}
body .wp-block-columns.stats{gap:0;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 60px -30px rgba(11,22,32,.35);padding:26px 10px}
.stat{padding:4px 26px;border-left:1px solid var(--line)}
.stat:first-child{border-left:0}
.stat-num{font-family:var(--font-head);font-size:clamp(34px,4vw,44px);font-weight:700;line-height:1;color:var(--brand-dark);margin-bottom:8px;font-variant-numeric:tabular-nums}
@supports (-webkit-background-clip:text){.stat-num{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}}
.stat-label{font-size:14.5px;color:var(--ink-2);line-height:1.45}
/* legacy text strip */
.tdm-strip{background:var(--brand);color:var(--navy);padding:22px 20px;text-align:center;font-weight:700;font-size:17px}
.tdm-strip p{white-space:pre-wrap}

/* =========================================================
   3D tilt cards (driven by site.js)
   ========================================================= */
.tilt{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;will-change:transform}
.tilt.tilting{transition:transform .08s linear,box-shadow .3s,border-color .3s}
.tilt::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(255,255,255,.55),transparent 45%)}
.tilt.tilting::after{opacity:1}
.svc.featured.tilt::after,.tdm-hero .tilt::after{background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(80,199,215,.22),transparent 45%)}
.card-check.tilt::after{background:radial-gradient(500px circle at var(--gx,50%) var(--gy,50%),rgba(80,199,215,.1),transparent 45%)}

/* =========================================================
   Services
   ========================================================= */
body .wp-block-columns.services,body .wp-block-columns.steps,body .wp-block-columns.engine{perspective:1400px}
body .wp-block-columns.services{gap:24px;margin-top:52px}
.svc{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:34px;background:#fff;overflow:hidden}
.svc:hover{border-color:var(--brand);box-shadow:0 30px 50px -28px rgba(11,22,32,.4)}
.svc .ico{width:54px;height:54px;border-radius:14px;background:var(--brand-soft);display:grid;place-items:center;margin-bottom:22px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.svc:hover .ico{transform:translateZ(30px) rotate(-8deg) scale(1.08)}
.svc .ico svg{width:26px;height:26px;stroke:var(--brand-dark)}
.svc h3{font-size:22px;margin-bottom:10px}
.svc p{color:var(--ink-2);margin-bottom:16px;font-size:16px}
.svc ul{list-style:none;font-size:15px;color:var(--ink-2);padding:0}
.svc li{padding:5px 0}
.svc li::before{content:"→";color:var(--brand-dark);margin-right:8px;font-weight:700}
.svc.featured{background:radial-gradient(400px 260px at 100% 0%,rgba(80,199,215,.22),transparent 70%),var(--navy);color:#fff;border-color:var(--navy)}
.svc.featured h3{color:#fff}
.svc.featured p,.svc.featured ul{color:#B8C7D1}
.svc.featured .ico{background:rgba(80,199,215,.15)}
.svc.featured .ico svg{stroke:var(--brand)}
.svc p.tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--brand);color:var(--navy);padding:4px 10px;border-radius:6px;margin-bottom:16px}
.svc p.more{margin:20px 0 0}
.svc p.more a{color:var(--brand-dark);font-weight:700;display:inline-flex;gap:6px;transition:gap .2s}
.svc p.more a:hover{gap:11px}
.svc.featured p.more a{color:var(--brand)}

/* =========================================================
   Lead engine: line draws with scroll, nodes light up
   ========================================================= */
body .wp-block-columns.engine{position:relative;gap:22px;margin-top:64px;counter-reset:n}
body .wp-block-columns.engine::before{content:"";position:absolute;left:32px;right:8%;top:33px;height:2px;background:var(--line)}
body .wp-block-columns.engine::after{content:"";position:absolute;left:32px;right:8%;top:33px;height:2px;background:var(--grad);transform-origin:0 50%;transform:scaleX(var(--p,1));box-shadow:0 0 10px rgba(80,199,215,.7)}
.engine>.wp-block-column{position:relative;z-index:1;counter-increment:n;border-radius:16px;padding:0 6px 10px 0}
.engine>.wp-block-column::before{content:"0" counter(n);display:grid;place-items:center;width:66px;height:66px;border-radius:18px;margin-bottom:22px;font-family:var(--font-head);font-weight:700;font-size:20px;color:var(--muted);background:#fff;border:2px solid var(--line);box-shadow:0 10px 24px -14px rgba(11,22,32,.3);transition:all .5s cubic-bezier(.2,.8,.2,1)}
.engine>.wp-block-column.lit::before{color:#fff;background:var(--grad);border-color:transparent;box-shadow:0 0 0 6px rgba(80,199,215,.15),0 14px 30px -10px rgba(80,199,215,.8);transform:translateY(-4px)}
.engine>.wp-block-column h3{font-size:22px;margin-bottom:8px}
.engine>.wp-block-column p{color:var(--ink-2);font-size:15.5px}
.engine>.wp-block-column.tilt::after{display:none}

/* =========================================================
   Split / checklist / table
   ========================================================= */
body .wp-block-columns.split{gap:64px;align-items:center}
.checklist{list-style:none;margin-top:26px;padding:0;counter-reset:c}
.checklist li{position:relative;padding-left:48px;margin-bottom:20px;color:var(--ink-2);font-size:15.5px;counter-increment:c}
.checklist li strong{color:var(--ink);font-size:17px;font-family:var(--font-head);font-weight:600}
.checklist li::before{content:counter(c);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--brand);color:var(--navy);display:grid;place-items:center;font-weight:800;font-size:14px;box-shadow:0 0 0 5px rgba(80,199,215,.15)}
.wp-block-table.compare{margin:0;background:#fff;border-radius:18px;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow)}
.wp-block-table.compare table{width:100%;border-collapse:collapse;font-size:15px}
.wp-block-table.compare thead{border:0}
.wp-block-table.compare th,.wp-block-table.compare td{border:0;border-bottom:1px solid var(--line);padding:16px 18px;text-align:left}
.wp-block-table.compare th{background:var(--navy);color:#fff;font-size:14px}
.wp-block-table.compare th:last-child{color:var(--brand)}
.wp-block-table.compare tr:last-child td{border-bottom:0}
.wp-block-table.compare tbody tr{transition:background .2s}
.wp-block-table.compare tbody tr:hover{background:#F7FBFC}
.wp-block-table.compare td:first-child{font-weight:600;color:var(--ink)}
.wp-block-table.compare td:nth-child(2){color:var(--muted)}
.wp-block-table.compare td:nth-child(3){font-weight:600;background:rgba(80,199,215,.07)}
.wp-block-table.compare.neutral td:nth-child(2),.wp-block-table.compare.neutral td:nth-child(3){color:var(--ink-2);font-weight:400;background:none}
.wp-block-table.compare.neutral th:last-child{color:#fff}

/* =========================================================
   Steps
   ========================================================= */
body .wp-block-columns.steps{gap:20px;margin-top:52px;counter-reset:s}
.step{position:relative;padding:30px 26px;border-radius:var(--radius);background:#fff;border:1px solid var(--line);counter-increment:s;overflow:hidden}
.step:hover{border-color:var(--brand);box-shadow:0 26px 44px -28px rgba(11,22,32,.4)}
.step::before{content:"0" counter(s);font-family:var(--font-head);font-size:44px;font-weight:700;color:var(--brand);display:block;margin-bottom:12px;line-height:1}
.step h3{font-size:19px;margin-bottom:8px}
.step p{font-size:15.5px;color:var(--ink-2)}

/* =========================================================
   Trades
   ========================================================= */
.niches{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:40px auto 0;max-width:1000px;list-style:none;padding:0}
.niches li{padding:10px 18px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:15px;background:#fff;transition:transform .25s,border-color .25s,color .25s,box-shadow .25s}
.niches li:hover{border-color:var(--brand);color:var(--brand-dark);transform:translateY(-3px);box-shadow:0 12px 22px -14px rgba(31,157,176,.7)}

/* =========================================================
   FAQ
   ========================================================= */
.faq{max-width:800px;margin:46px auto 0}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{cursor:pointer;font-family:var(--font-head);font-weight:600;font-size:18px;line-height:1.35;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;transition:color .2s}
.faq summary:hover{color:var(--brand-dark)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--brand-soft);color:var(--brand-dark);font-size:20px;line-height:1;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink-2);margin-top:12px}
.faq details[open] p{animation:faqIn .4s ease both}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}}

/* =========================================================
   CTA (navy) + 3D canvas
   ========================================================= */
.tdm-cta{position:relative;isolation:isolate;overflow:hidden;text-align:center;color:#fff;padding:120px 0;background:radial-gradient(800px 420px at 50% 0%,rgba(80,199,215,.18),transparent 70%),var(--navy)}
.tdm-cta>.wrap,.tdm-cta>.wp-block-group__inner-container>.wrap{position:relative;z-index:1}
.tdm-cta h2{color:#fff;margin-left:auto;margin-right:auto}
.tdm-cta p{color:#BCCAD4;font-size:19px;max-width:600px;margin:0 auto 32px}
.tdm-cta .wp-block-buttons{justify-content:center}
.tdm-cta .icon-big{margin:0 auto 30px;width:76px}
.tdm-cta .icon-big img{width:76px}
.tdm-cta p.cta-phone{margin:24px auto 0;font-size:16px}
.cta-phone a{color:var(--brand);font-weight:700}

/* =========================================================
   Service-page parts
   ========================================================= */
.tdm-hero.sub{padding:92px 0 104px}
.yes,.no{list-style:none;padding:0;margin-top:22px}
.yes li,.no li{position:relative;padding:6px 0 6px 34px;color:var(--ink-2)}
.yes li::before,.no li::before{position:absolute;left:0;top:8px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}
.yes li::before{content:"✓";background:var(--brand-soft);color:var(--brand-dark)}
.no li::before{content:"✕";background:#FDECEC;color:#B42318}
h3.sub-h{font-size:20px;margin-top:30px}
p.note{margin-top:22px;padding:14px 16px;border-left:3px solid var(--brand);background:#fff;border-radius:8px;color:var(--ink-2);font-size:15px;box-shadow:0 10px 24px -18px rgba(11,22,32,.4)}
p.note a{color:var(--brand-dark);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.price-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:36px;overflow:hidden}
.price-card h3{font-size:28px;margin-bottom:10px}
.price-card p{color:var(--ink-2)}
.price-card.featured{border:2px solid var(--brand);box-shadow:0 34px 70px -34px rgba(11,22,32,.45)}
.price-card.featured::before{content:"";position:absolute;inset:-40% -40% auto auto;width:300px;height:300px;background:radial-gradient(circle,rgba(80,199,215,.18),transparent 65%);pointer-events:none}
.price-card p.price{font-family:var(--font-head);font-size:58px;font-weight:700;color:var(--ink);line-height:1;margin-top:6px}
.price-card p.price-sub{color:var(--muted);font-size:14px;margin:8px 0 6px}
.price-card .wp-block-buttons{margin-top:24px}
.price-card .wp-block-button,.price-card .wp-block-button__link{width:100%}
.narrow{max-width:860px;margin:44px auto 0}

/* =========================================================
   Regular pages (Privacy, Terms, etc.)
   ========================================================= */
.page-content{padding:76px 0;min-height:50vh}
.page-content .wrap{max-width:820px}
.page-content h1{font-size:clamp(32px,4vw,46px);margin-bottom:26px}
.page-content h2{font-size:27px;margin:36px 0 12px}
.page-content h3{font-size:21px;margin:26px 0 10px}
.page-content p,.page-content ul,.page-content ol{margin-bottom:16px;color:var(--ink-2)}
.page-content ul,.page-content ol{padding-left:22px}
.page-content a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}

/* =========================================================
   Footer
   ========================================================= */
.site-footer{background:#071017;color:#8FA2AF;padding:64px 0 28px;font-size:14.5px}
.foot{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:32px;margin-bottom:42px}
.foot h4{color:#fff;font-size:14px;margin:0 0 14px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{padding:4px 0}
.foot a{transition:color .2s}
.foot a:hover{color:var(--brand)}
.foot img{width:165px;margin-bottom:12px}
.foot p{max-width:300px}
.copy{border-top:1px solid rgba(255,255,255,.07);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* =========================================================
   Scroll reveal (classes added by site.js; content stays visible without JS)
   ========================================================= */
.reveal{opacity:0;translate:0 28px;transition:opacity .8s ease,translate .8s cubic-bezier(.2,.75,.2,1)}
.reveal.in{opacity:1;translate:0 0}
.reveal-card{opacity:0;translate:0 50px;rotate:x 16deg;transform-origin:50% 100%;transition:opacity .9s ease,translate .9s cubic-bezier(.2,.75,.2,1),rotate .9s cubic-bezier(.2,.75,.2,1)}
.reveal-card.in{opacity:1;translate:0 0;rotate:x 0deg}
.reveal-h{clip-path:inset(0 0 100% 0);translate:0 22px;transition:clip-path 1s cubic-bezier(.2,.75,.2,1),translate 1s cubic-bezier(.2,.75,.2,1)}
.reveal-h.in{clip-path:inset(0 0 -10% 0);translate:0 0}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal,.reveal-card,.reveal-h{opacity:1;translate:none;rotate:none;clip-path:none}
  html{scroll-behavior:auto}
}

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1080px){
  .nav ul a{padding:8px 10px;font-size:14px}
  .nav ul a::after{left:10px;right:10px}
  .nav-phone{display:none}
}
@media (max-width:960px){
  body .wp-block-columns.hero-grid>.wp-block-column,body .wp-block-columns.split>.wp-block-column,body .wp-block-columns.services>.wp-block-column{flex:1 1 100%!important}
  body .wp-block-columns.hero-grid,body .wp-block-columns.split{gap:44px}
  body .wp-block-columns.steps>.wp-block-column,body .wp-block-columns.engine>.wp-block-column,body .wp-block-columns.stats>.wp-block-column{flex:1 1 calc(50% - 12px)!important}
  body .wp-block-columns.engine::before,body .wp-block-columns.engine::after{display:none}
  body .wp-block-columns.engine{row-gap:36px}
  body .wp-block-columns.stats{row-gap:22px}
  .stat:nth-child(odd){border-left:0}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:760px){
  body{font-size:16px}
  .wrap{padding:0 18px}
  .tdm-section{padding:72px 0}
  .tdm-cta{padding:84px 0}
  .nav ul,.nav-right{display:none}
  .menu-btn{display:block}
  .nav.open ul{display:flex;flex-direction:column;position:absolute;top:74px;left:0;right:0;background:var(--navy);padding:16px 18px 22px;gap:4px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav.open ul a{padding:12px 6px;font-size:16px}
  .nav.open ul a::after{display:none}
  .nav.open .mobile-only{display:block}
  .nav.open .mobile-only a{color:var(--brand);font-weight:700}
  .tdm-hero{padding:60px 0 100px}
  .tdm-hero h1{font-size:clamp(36px,10vw,46px)}
  .lead,.hero-text{font-size:17px}
  .card-check{padding:26px 22px}
  .row2{grid-template-columns:1fr}
  .tdm-stats{margin-top:-44px}
  body .wp-block-columns.stats{padding:22px 4px}
  .stat{padding:4px 16px}
  body .wp-block-columns.steps>.wp-block-column,body .wp-block-columns.engine>.wp-block-column{flex:1 1 100%!important}
  .wp-block-table.compare table{font-size:13.5px}
  .wp-block-table.compare th,.wp-block-table.compare td{padding:12px 10px}
  .price-card{padding:28px 22px}
  .price-card p.price{font-size:50px}
  .foot{grid-template-columns:1fr}
}

/* =========================================================
   Futuristic layer (light + dark mix)
   ========================================================= */
:root{--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
.eyebrow{font-family:var(--font-mono);font-size:12.5px;font-weight:500;letter-spacing:.14em}
.eyebrow::before{box-shadow:0 0 8px rgba(80,199,215,.9)}
.pill{font-family:var(--font-mono);font-size:12.5px;font-weight:500;letter-spacing:.03em}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(80,199,215,.7),transparent)}

/* hero chips + glowing form edge */
.hero-points{gap:10px}
.hero-points li{display:inline-flex;align-items:center;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px)}
.hero-points li::before{color:#3DDC97}
.card-check::before{content:"";position:absolute;inset:-2px;border-radius:22px;padding:2px;background:conic-gradient(from var(--a,0deg),transparent 0 65%,#50C7D7 80%,#4F8CFF 90%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 6s linear infinite;pointer-events:none}
@property --a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes spin{to{--a:360deg}}

/* stats: mono labels */
.stat-label{font-size:14px}

/* light cards get a subtle glass/glow treatment */
.svc:not(.featured),.step,.price-card:not(.featured){background:linear-gradient(180deg,#fff,#FAFCFD)}
.svc.featured{box-shadow:0 30px 60px -30px rgba(31,157,176,.55)}
.step::before{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* checklist + FAQ as cards */
.checklist li{padding:18px 18px 18px 64px;margin-bottom:12px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 10px 24px -20px rgba(11,22,32,.4)}
.checklist li::before{left:18px;top:18px;border-radius:9px;font-family:var(--font-mono);font-weight:600;font-size:13px;content:"0" counter(c);box-shadow:0 0 14px -2px rgba(80,199,215,.8)}
.faq{display:grid;gap:12px}
.faq details{border:1px solid var(--line);border-radius:14px;padding:0 22px;background:#fff;transition:border-color .25s,box-shadow .25s}
.faq details[open]{border-color:rgba(80,199,215,.6);box-shadow:0 18px 36px -24px rgba(31,157,176,.55)}
.faq summary{padding:20px 0}
.faq details p{margin-top:-4px;padding-bottom:20px}

/* ---------- Dark "lead engine" section ---------- */
.tdm-section.engine-sec{background:radial-gradient(900px 420px at 50% 0%,rgba(80,199,215,.16),transparent 70%),linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;overflow:hidden}
.tdm-section.engine-sec::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 30%,#000,transparent 80%);mask-image:radial-gradient(ellipse 70% 80% at 50% 30%,#000,transparent 80%)}
.engine-sec h2,.engine-sec h3{color:#fff}
.engine-sec .lead,.engine-sec .engine>.wp-block-column p{color:#B8C7D1}
.engine-sec .eyebrow{color:var(--brand)}
.engine-sec body .wp-block-columns.engine::before,.engine-sec .wp-block-columns.engine::before{background:rgba(255,255,255,.1)}
.engine-sec .engine>.wp-block-column::before{font-family:var(--font-mono);font-weight:600;font-size:18px;color:#7F93A2;background:#0F1D2A;border:1px solid rgba(255,255,255,.12);box-shadow:none}
.engine-sec .engine>.wp-block-column.lit::before{color:#041018;background:var(--grad);border-color:transparent;box-shadow:0 0 0 6px rgba(80,199,215,.12),0 0 36px -4px rgba(80,199,215,.9)}
.engine-sec>.wrap,.engine-sec>.wp-block-group__inner-container>.wrap{position:relative;z-index:1}

/* =========================================================
   ALL-CAPS headlines (tuned so caps stay readable)
   ========================================================= */
h1,h2,.tdm-hero h1,.page-content h1{text-transform:uppercase;letter-spacing:.005em;line-height:1.04}
.tdm-hero h1{font-size:clamp(38px,5.1vw,62px);max-width:16ch}
.tdm-hero.sub h1{font-size:clamp(34px,4.5vw,52px);max-width:17ch}
.tdm-section h2,.tdm-cta h2{font-size:clamp(28px,3.8vw,44px);line-height:1.06;max-width:26ch}
.btn,.tdm-home .wp-block-button__link{text-transform:uppercase;letter-spacing:.05em;font-size:15px}
.nav .btn{font-size:13px}

/* =========================================================
   Eye-catching form
   ========================================================= */
.card-check{padding:0 30px 28px;border-radius:22px;box-shadow:0 50px 90px -30px rgba(0,0,0,.7),0 0 0 1px rgba(80,199,215,.35),0 0 80px -10px rgba(80,199,215,.45);--rx:2deg;--ry:-5deg}
.card-check .form-head{position:relative;margin:0 -30px 22px;padding:24px 30px 22px;border-radius:22px 22px 0 0;background:radial-gradient(260px 120px at 100% 0%,rgba(255,255,255,.35),transparent 70%),var(--grad);color:#041018;overflow:hidden}
.card-check .form-head::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.form-badge{position:relative;z-index:1;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;background:rgba(4,16,24,.85);color:var(--brand-hi);padding:5px 11px;border-radius:999px;margin-bottom:12px}
.form-badge i{width:7px;height:7px;border-radius:50%;background:#3DDC97;box-shadow:0 0 0 3px rgba(61,220,151,.25);animation:pulse 2s ease-in-out infinite}
.card-check .form-head h3{position:relative;z-index:1;color:#041018;font-size:clamp(22px,2.2vw,27px);font-weight:700;text-transform:uppercase;letter-spacing:.01em;line-height:1.1;margin-bottom:8px}
.card-check .form-head p{position:relative;z-index:1;color:rgba(4,16,24,.78);font-size:14.5px;font-weight:500;margin:0}
.card-check .notice{margin-top:22px}
.field label{font-family:var(--font-mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.field input,.field select{border-width:1.5px;background:#F7FAFB;padding:13px 14px}
.field input:hover,.field select:hover{border-color:#C6D3DB}
.field input:focus,.field select:focus{background:#fff}
.btn-form{position:relative;padding:18px!important;font-size:16px!important;letter-spacing:.07em;background:var(--grad)!important;color:#041018!important;box-shadow:0 14px 30px -10px rgba(79,140,255,.6),0 0 0 0 rgba(80,199,215,.6);animation:ring 2.6s ease-out infinite}
.btn-form span{display:inline-block;transition:transform .2s}
.btn-form:hover span{transform:translateX(5px)}
@keyframes ring{0%{box-shadow:0 14px 30px -10px rgba(79,140,255,.6),0 0 0 0 rgba(80,199,215,.55)}70%,100%{box-shadow:0 14px 30px -10px rgba(79,140,255,.6),0 0 0 14px rgba(80,199,215,0)}}
.fine{font-size:12px}

/* =========================================================
   Balanced light / dark rhythm
   Dark: hero, lead engine, trades, PPC pricing, website comparison, CTA, footer
   ========================================================= */
.tdm-section:has(.niches),.tdm-section.alt:has(.price-card),.tdm-section.alt:has(.narrow){background:radial-gradient(900px 420px at 50% 0%,rgba(80,199,215,.14),transparent 70%),linear-gradient(180deg,var(--navy),var(--navy-2));color:#fff;overflow:hidden}
.tdm-section:has(.niches)::before,.tdm-section.alt:has(.price-card)::before,.tdm-section.alt:has(.narrow)::before{background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 70% 80% at 50% 30%,#000,transparent 80%);mask-image:radial-gradient(ellipse 70% 80% at 50% 30%,#000,transparent 80%)}
:is(.tdm-section:has(.niches),.tdm-section.alt:has(.price-card),.tdm-section.alt:has(.narrow)) :is(h2,.checklist strong){color:#fff}
:is(.tdm-section:has(.niches),.tdm-section.alt:has(.price-card),.tdm-section.alt:has(.narrow)) .lead{color:#B8C7D1}
:is(.tdm-section:has(.niches),.tdm-section.alt:has(.price-card),.tdm-section.alt:has(.narrow)) .eyebrow{color:var(--brand)}
.tdm-section:has(.niches) .niches li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.14);color:#D7E2E9;backdrop-filter:blur(4px)}
.tdm-section:has(.niches) .niches li:hover{background:rgba(80,199,215,.14);border-color:var(--brand);color:#fff;box-shadow:0 0 22px -4px rgba(80,199,215,.7)}
.tdm-section.alt:has(.price-card) .checklist li{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:#B8C7D1;box-shadow:none}
.tdm-section.alt:has(.narrow) .wp-block-table.compare{box-shadow:0 40px 80px -30px rgba(0,0,0,.7)}
@media (min-width:961px){.card-check{transform:perspective(1000px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .6s cubic-bezier(.2,.8,.2,1)}}
@media (max-width:760px){.card-check{padding:0 20px 24px}.card-check .form-head{margin:0 -20px 20px;padding:20px}}

/* =========================================================
   v6: menus, feature rows, areas, images, backgrounds
   ========================================================= */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--brand);color:var(--navy);padding:10px 16px;border-radius:0 0 10px 0;font-weight:700}
.skip-link:focus{left:0}

/* Header menu (editable in Appearance > Menus), with dropdowns */
.nav ul li{position:relative}
.nav ul .menu-item-has-children>a{padding-right:28px}
.nav ul .menu-item-has-children::after{content:"";position:absolute;right:12px;top:50%;margin-top:-2px;border:4px solid transparent;border-top-color:#C9D5DD;pointer-events:none;transition:transform .2s}
.nav ul .menu-item-has-children:hover::after{transform:rotate(180deg) translateY(4px)}
.nav ul .sub-menu{display:block;position:absolute;left:0;top:100%;min-width:220px;margin:0;padding:8px;list-style:none;background:rgba(11,22,32,.98);border:1px solid rgba(255,255,255,.1);border-radius:14px;box-shadow:0 30px 50px -20px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.nav ul li:hover>.sub-menu,.nav ul li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:none}
.nav ul .sub-menu a{padding:9px 12px;border-radius:9px}
.nav ul .sub-menu a::after{display:none}
.nav ul .sub-menu a:hover{background:rgba(80,199,215,.12);color:var(--brand)}
.nav ul .current-menu-item>a,.nav ul .current-menu-ancestor>a{color:#fff}
.nav ul .current-menu-item>a::after{transform:scaleX(1)}

/* Text + image / 3D illustration rows */
body .wp-block-columns.feature{gap:64px;align-items:center}
body .wp-block-columns.feature.rev{flex-direction:row-reverse}
.feature-copy h2{max-width:none}
.feature-copy p{color:var(--ink-2);margin-bottom:16px}
.feature-copy p.eyebrow{color:var(--brand-dark);margin-bottom:14px}
.feature-copy .yes{margin:22px 0 0}
.feature-copy .wp-block-buttons{margin-top:28px}
.wp-block-image.art-img{margin:0}
.wp-block-image.art-img img{display:block;width:100%;border-radius:22px;box-shadow:0 40px 80px -40px rgba(11,22,32,.7),0 0 0 1px rgba(80,199,215,.25)}

/* Long-form text block */
.tdm-prose{max-width:800px;margin:0 auto}
.tdm-prose h2{max-width:none}
.tdm-prose p{color:var(--ink-2);margin-bottom:18px;font-size:18px;line-height:1.75}
.tdm-prose p.eyebrow{font-size:12.5px;margin-bottom:14px}

/* Info cards */
.svc.why p{margin-bottom:0}
.svc.why p.more{margin-top:18px}
body .wp-block-columns.cities{margin-top:24px}
body .wp-block-columns.cities.two{justify-content:center}
body .wp-block-columns.cities.two>.wp-block-column{flex:0 1 calc(33.333% - 16px)}
.map-wide{max-width:920px;margin:44px auto 20px}

/* City list beside the map */
.city-list{list-style:none;padding:0;margin:26px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.city-list li{position:relative;padding:14px 16px 14px 46px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:14px;line-height:1.4;transition:border-color .25s,transform .25s,box-shadow .25s}
.city-list li::before{content:"";position:absolute;left:16px;top:17px;width:18px;height:18px;border-radius:50% 50% 50% 0;background:var(--brand);transform:rotate(-45deg);box-shadow:inset 0 0 0 5px var(--brand),inset 0 0 0 9px #fff}
.city-list li:hover{border-color:var(--brand);transform:translateY(-3px);box-shadow:0 16px 28px -18px rgba(31,157,176,.7)}
.city-list a{color:var(--ink);font-size:16px}
.city-list a:hover{color:var(--brand-dark)}
.city-list a::after{content:"";position:absolute;inset:0}

/* Generated background images */
.tdm-hero{background-image:radial-gradient(1000px 520px at 85% 15%,rgba(80,199,215,.16),transparent 60%),url(assets/img/bg-wave.webp),linear-gradient(180deg,var(--navy),var(--navy-2));background-size:auto,100% auto,auto;background-position:0 0,50% 100%,0 0;background-repeat:no-repeat}
.tdm-cta{background-image:linear-gradient(180deg,rgba(11,22,32,.55),rgba(11,22,32,.2)),url(assets/img/bg-horizon.webp);background-size:cover;background-position:50% 60%}
.tdm-section.alt{background-image:url(assets/img/bg-topo.webp);background-size:cover;background-position:50% 0}
.tdm-section.alt::before{display:none}
.tdm-section.engine-sec{background-image:linear-gradient(180deg,rgba(11,22,32,.86),rgba(18,35,49,.8)),url(assets/img/bg-wave.webp);background-size:cover;background-position:50% 100%}
.tdm-section:has(.niches),.tdm-section.alt:has(.price-card),.tdm-section.alt:has(.narrow){background-image:linear-gradient(180deg,rgba(11,22,32,.82),rgba(18,35,49,.72)),url(assets/img/bg-horizon.webp);background-size:cover;background-position:50% 100%}
.tdm-section.alt:has(.price-card.featured){background-image:url(assets/img/bg-topo.webp);color:var(--ink)}
.tdm-section.alt:has(.price-card.featured) h2{color:var(--ink)}
.tdm-section.alt:has(.price-card.featured) .lead{color:var(--ink-2)}
.tdm-section.alt:has(.price-card.featured) .eyebrow{color:var(--brand-dark)}
.tdm-section.alt:has(.price-card.featured)::before{display:none}

/* Per-page custom code area */
.tdm-custom-code:empty{display:none}

/* Footer: five columns */
.foot{grid-template-columns:1.5fr 1fr 1fr 1fr 1.3fr}

@media (max-width:1180px){
  .nav ul a{padding:8px 10px;font-size:14px}
  .nav-phone{display:none}
}
@media (max-width:960px){
  body .wp-block-columns.feature>.wp-block-column{flex:1 1 100%!important}
  body .wp-block-columns.feature{gap:40px}
  body .wp-block-columns.whys>.wp-block-column,body .wp-block-columns.cities>.wp-block-column{flex:1 1 calc(50% - 12px)!important}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .nav.open ul .sub-menu{position:static;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none;padding:0 0 0 14px;min-width:0}
  .nav ul .menu-item-has-children::after{display:none}
  .tdm-prose p{font-size:17px}
  .city-list{grid-template-columns:1fr}
  body .wp-block-columns.whys>.wp-block-column,body .wp-block-columns.cities>.wp-block-column{flex:1 1 100%!important}
  .foot{grid-template-columns:1fr}
}

/* Generic dark section (add the class "dark" to a section group) */
.tdm-section.dark{background:linear-gradient(180deg,rgba(11,22,32,.9),rgba(18,35,49,.84)),url(assets/img/bg-blocks.webp) 50% 40%/cover no-repeat,var(--navy);color:#fff;overflow:hidden}
.tdm-section.dark h2,.tdm-section.dark h3{color:#fff}
.tdm-section.dark .lead{color:#B8C7D1}
.tdm-section.dark .eyebrow{color:var(--brand)}
.tdm-section.dark .svc:not(.featured){background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tdm-section.dark .svc:not(.featured):hover{border-color:var(--brand);box-shadow:0 0 40px -10px rgba(80,199,215,.6)}
.tdm-section.dark .svc p{color:#B8C7D1}
.tdm-section.dark .svc .ico{background:rgba(80,199,215,.14);border:1px solid rgba(80,199,215,.3)}
.tdm-section.dark .svc .ico svg{stroke:var(--brand-hi)}
.tdm-section.dark .svc p.more a{color:var(--brand)}
.tdm-section.dark .tilt::after{background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%),rgba(80,199,215,.2),transparent 45%)}

/* Header fit + sticky illustrations */
.site-header .wrap{max-width:1300px}
.nav ul a{white-space:nowrap;padding:8px 11px;font-size:14.5px}
.nav ul a::after{left:11px;right:11px}
.nav ul{gap:2px}
.tdm-hero{background-position:0 0,50% calc(100% + 70px),0 0}
@media (min-width:961px){
  body .wp-block-columns.feature{align-items:flex-start}
  body .wp-block-columns.feature>.feature-art{position:sticky;top:108px}
}
.split .wp-block-column>p:not(.eyebrow):not(.lead):not(.note){color:var(--ink-2);margin-top:16px}
.city-list+p{margin-top:24px!important}

/* v7: two-state footer, extra cities */
.foot{grid-template-columns:1.5fr 1fr 1fr 1fr 1fr 1.35fr;gap:28px}
.also{margin-top:44px}
.also h3{font-size:20px}
.also .niches{margin-top:18px}
.niches.light li{background:#fff;border-color:var(--line);color:var(--ink)}
.niches.light li:hover{border-color:var(--brand);color:var(--brand-dark);background:#fff}
.niches a{color:inherit}
.tdm-map .tm-minor .tm-label{transition:all .3s}
@media (max-width:1100px){.foot{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:760px){.foot{grid-template-columns:1fr 1fr}}
.tdm-section:has(.niches) .also h3{color:#fff}

/* Illustrations stay pinned beside their text until the section ends (desktop).
   WordPress stretches both columns to the same height, so the illustration is
   pinned inside its column rather than the column itself. */
@media (min-width:961px){
  body .wp-block-columns.feature>.feature-art{position:static;align-self:stretch}
  body .wp-block-columns.feature>.feature-art>*{position:sticky;top:108px}
  .admin-bar .wp-block-columns.feature>.feature-art>*{top:140px}
}
