:root{
  --cream:#f5f5f5;--white:#FFFFFF;--ink:#1a4a6b;--ink-light:#2c5f84;
  --rust:#f07030;--rust-dk:#d05a18;--rust-light:#f29060;--rust-pale:#fdeee5;
  --sage:#8FA68B;--gold:#f07030;--border:#c8d8e4;
  --section-alt:#e8eef3;
  --shadow:rgba(26,74,107,.06);--shadow-md:rgba(26,74,107,.10);--shadow-lg:rgba(26,74,107,.15);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);line-height:1.6;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
a.btn-primary,a.btn-white,a.btn-outline,a.nav-cta,a.s-link,a.rel-btn{display:inline-block;}
.page{display:none;} .page.active{display:block;animation:pageIn .18s ease both;}
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:12px 48px;background:rgba(245,245,245,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:all .3s;}
nav.scrolled{padding:8px 48px;box-shadow:0 2px 24px var(--shadow);}
.nav-logo{cursor:pointer;display:flex;align-items:center;height:42px;}
.nav-logo svg{height:42px;width:auto;shape-rendering:geometricPrecision;}
.nav-links{display:flex;gap:4px;align-items:center;list-style:none;}
.nav-links li{position:relative;}
.nav-links li>a,.nav-links li>button{background:none;border:none;color:var(--ink-light);font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;padding:8px 13px;border-radius:8px;cursor:pointer;transition:all .2s;white-space:nowrap;text-decoration:none;display:inline-block;}
.nav-links li>a:hover,.nav-links li>button:hover{color:var(--rust);background:var(--rust-pale);}
.nav-links li>a.nav-active,.nav-links li>button.nav-active{color:var(--rust)!important;position:relative;}
.nav-links li>a.nav-active::after,.nav-links li>button.nav-active::after{content:'';position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--rust);}
.nav-highlight>a,.nav-highlight>button{color:var(--rust)!important;font-weight:600!important;}
.dropdown{position:absolute;top:calc(100% + 10px);left:-8px;background:var(--white);border:1px solid var(--border);border-radius:16px;box-shadow:0 20px 56px var(--shadow-lg);min-width:260px;padding:8px;opacity:0;pointer-events:none;transform:translateY(-8px);transition:all .22s ease;z-index:300;}
.has-dd.dd-open .dropdown{opacity:1;pointer-events:all;transform:translateY(0);}
.dropdown button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:10px 14px;font-size:13px;font-weight:500;color:var(--ink-light);background:none;border:none;border-radius:10px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;}
.dropdown button:hover{color:var(--rust);background:var(--rust-pale);}
.dd-icon{width:28px;height:28px;border-radius:7px;background:var(--rust-pale);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0;}
.dd-icon.dark{background:var(--ink);color:var(--rust-light);}
.nav-cta{background:var(--ink)!important;color:var(--cream)!important;padding:10px 22px!important;border-radius:100px!important;font-size:13px!important;font-weight:600!important;transition:all .2s!important;}
.nav-cta:hover{background:var(--rust)!important;transform:translateY(-1px)!important;box-shadow:0 6px 20px rgba(200,82,42,.3)!important;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px;cursor:pointer;}
.hamburger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:all .3s;}
.btn-primary,.btn-white{position:relative;overflow:hidden;}
.btn-primary{background:var(--rust);color:white;padding:14px 30px;border-radius:100px;font-size:15px;font-weight:600;transition:all .25s;}
.btn-primary:hover{background:#A8431E;transform:translateY(-2px);box-shadow:0 10px 28px rgba(200,82,42,.35);}
.btn-outline{background:transparent;color:var(--ink);padding:14px 28px;border-radius:100px;font-size:15px;font-weight:600;border:2px solid var(--border);transition:all .2s;}
.btn-outline:hover{border-color:var(--rust);color:var(--rust);background:var(--rust-pale);}
.btn-white{background:white;color:var(--ink);padding:16px 32px;border-radius:100px;font-size:15px;font-weight:700;border:none;cursor:pointer;white-space:nowrap;transition:all .25s;}
.btn-white:hover{background:var(--cream);transform:translateY(-2px);box-shadow:0 10px 28px rgba(0,0,0,.18);}
.btn-ghost{background:transparent;color:var(--ink-light);padding:14px 20px;border-radius:100px;font-size:15px;font-weight:500;border:none;transition:color .2s;cursor:pointer;text-decoration:none;display:inline-block;}
.btn-ghost:hover{color:var(--rust);}
.btn-primary::before,.btn-white::before{content:'';position:absolute;top:-50%;left:-75%;width:50%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:skewX(-20deg);animation:btn-shimmer 3.2s ease-in-out infinite;}
@keyframes btn-shimmer{0%{left:-75%}60%,100%{left:125%}}
.wrap{max-width:1300px;margin:0 auto;padding:0 clamp(24px,4vw,56px);}
.section{padding:clamp(48px,6vw,80px) clamp(24px,4vw,56px);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.two-col.align-start{align-items:start;}
.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--rust);margin-bottom:12px;display:block;}
.eyebrow.light{color:var(--rust-dk);}
.h2{font-family:'Playfair Display',serif;font-size:clamp(30px,4vw,50px);font-weight:700;line-height:1.12;letter-spacing:-.5px;color:var(--ink);margin-bottom:18px;}
.h2 em{font-style:italic;color:var(--rust);}
.h2.light{color:var(--ink);}
.body-text{font-size:17px;color:var(--ink-light);line-height:1.75;}
.body-text.light{color:var(--ink-light);}
.body-sm{font-size:14px;color:var(--ink-light);line-height:1.65;}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:clamp(90px,10vh,120px) clamp(32px,4vw,64px) 56px;gap:56px;position:relative;overflow:hidden;background:var(--cream);}
.hero-left{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--rust-pale);color:var(--rust-dk);padding:6px 16px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;margin-bottom:28px;}
.hero-eyebrow::before{content:'';width:6px;height:6px;background:var(--rust);border-radius:50%;animation:dot-pulse 2s ease-out infinite;}
@keyframes dot-pulse{0%{box-shadow:0 0 0 0 rgba(200,82,42,.7);}70%{box-shadow:0 0 0 8px rgba(200,82,42,0);}100%{box-shadow:0 0 0 0 rgba(200,82,42,0);}}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:8px;align-items:center;}
.hero-visual{position:relative;z-index:1;overflow:visible;padding:20px 0;}
.hero-visual-img{border-radius:20px;overflow:hidden;box-shadow:0 24px 72px var(--shadow-lg);}
.hero-visual-img img,.hero-visual-img svg,.inner-hero-visual img,.ab-hero-visual img{width:100%;height:auto;display:block;object-fit:cover;border-radius:inherit;}
.hero-visual-img img,.hero-visual-img svg{aspect-ratio:560/420;}
.ab-hero-visual img{aspect-ratio:600/380;}
.so-post-header img{width:100%;height:100%;object-fit:cover;}
.so-post-header.good-header{position:relative;overflow:hidden;}
.so-post-header.good-header img{position:absolute;inset:0;filter:brightness(0.45);}
.so-post-header.good-header span{position:relative;z-index:1;text-shadow:0 1px 4px rgba(0,0,0,.4);}
@keyframes float-a{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes float-b{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.hsf-num{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--rust);line-height:1;}
.hsf-lbl{font-size:11px;color:var(--ink-light);margin-top:2px;}
.logos-strip{padding:28px clamp(24px,4vw,56px);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:white;}
.logos-inner{display:flex;align-items:center;gap:20px;max-width:1300px;margin:0 auto;}
.logos-label{font-size:11px;font-weight:600;color:var(--ink-light);text-transform:uppercase;letter-spacing:1px;white-space:nowrap;min-width:80px;}
.logos-marquee-wrap{overflow:hidden;flex:1;min-width:0;-webkit-mask:linear-gradient(90deg,transparent 0,#fff 70px,#fff calc(100% - 70px),transparent 100%);mask:linear-gradient(90deg,transparent 0,#fff 70px,#fff calc(100% - 70px),transparent 100%);}
.logos-track{display:inline-flex;gap:40px;align-items:center;animation:logo-scroll 24s linear infinite;white-space:nowrap;}
.logos-track:hover{animation-play-state:paused;}
.logo-img{height:42px;width:auto;max-width:180px;object-fit:contain;transition:transform .25s ease;}
.logo-img:hover{transform:translateY(-2px);}
@keyframes logo-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.problem-bg{background:var(--section-alt);padding:clamp(48px,6vw,72px) clamp(24px,4vw,56px);}
.problem-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.problem-list{display:flex;flex-direction:column;gap:12px;}
.problem-item{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);transition:background .2s,border-color .2s,transform .2s;position:relative;overflow:hidden;}
.problem-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--rust);transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.16,1,.3,1);}
.problem-item.p-in::before{transform:scaleY(1);}
.problem-item:hover{background:rgba(255,255,255,.07);border-color:rgba(200,82,42,.3);transform:translateX(6px);}
.p-icon{width:38px;height:38px;border-radius:10px;background:rgba(200,82,42,.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;}
.p-text{font-size:14px;color:var(--ink-light);line-height:1.55;}
.problem-thesis{margin-top:24px;font-size:16px;font-weight:600;color:var(--ink);line-height:1.5;padding-left:4px;}
.stage-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;background:var(--rust-pale);color:var(--rust);padding:4px 12px;border-radius:100px;display:inline-block;margin-bottom:12px;}
.flagship-callout{display:flex;gap:16px;align-items:flex-start;background:var(--rust-pale);border-left:4px solid var(--rust);border-radius:12px;padding:18px 24px;margin-top:32px;font-size:15px;color:var(--ink);line-height:1.6;}
.flagship-callout span{font-size:20px;flex-shrink:0;}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;}
.service-card{background:white;border:1px solid var(--border);border-radius:20px;padding:30px;opacity:0;transform:translateY(24px);transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1),box-shadow .25s ease;cursor:pointer;position:relative;overflow:hidden;will-change:transform;transform-style:preserve-3d;}
.service-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rust),var(--rust-light));transform:scaleX(0);transition:transform .3s;transform-origin:left;}
.service-card:hover{box-shadow:0 20px 48px var(--shadow-md);}
.service-card:hover::after{transform:scaleX(1);}
.s-icon{width:48px;height:48px;border-radius:13px;background:var(--rust-pale);display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:18px;}
.s-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--rust);background:var(--rust-pale);padding:3px 9px;border-radius:100px;display:inline-block;margin-bottom:10px;}
.s-title{font-family:'Playfair Display',serif;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:10px;line-height:1.3;}
.s-desc{font-size:13px;color:var(--ink-light);line-height:1.65;}
.s-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--rust);margin-top:16px;cursor:pointer;background:none;border:none;font-family:'DM Sans',sans-serif;padding:0;transition:gap .2s;}
.s-link:hover{gap:10px;}
.ba-wrapper{position:relative;overflow:hidden;cursor:col-resize;user-select:none;touch-action:none;}
.ba-img-base{display:block;width:100%;height:auto;}
.ba-after-clip{position:absolute;top:0;left:0;height:100%;overflow:hidden;width:50%;}
.ba-after-clip img{position:absolute;top:0;left:0;height:100%;width:auto;max-width:none;}
.ba-divider{position:absolute;top:0;bottom:0;width:3px;background:white;left:50%;transform:translateX(-50%);z-index:10;}
.ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:white;box-shadow:0 6px 20px rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center;font-size:14px;z-index:11;cursor:col-resize;}
.ba-lbl{position:absolute;top:14px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:4px 12px;border-radius:100px;z-index:12;}
.ba-lbl.left{left:14px;background:rgba(0,0,0,.32);color:var(--ink);}
.ba-lbl.right{right:14px;background:var(--rust);color:white;}
.ba-note{text-align:center;padding:12px;background:var(--rust-pale);font-size:12px;color:var(--rust);font-weight:500;}
.pt-title{font-weight:600;font-size:15px;margin-bottom:4px;}
.os-num{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--rust-light);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.os-num::after{content:'';flex:1;height:1px;background:rgba(200,82,42,.2);}
.os-title{font-size:16px;font-weight:600;color:var(--ink);margin-bottom:8px;}
.os-text{font-size:13px;color:var(--ink-light);line-height:1.55;}
.cta-strip{background:#163460;padding:clamp(48px,6vw,72px) clamp(24px,4vw,56px);}
.cta-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.cta-text h2{font-family:'Playfair Display',serif;font-size:clamp(26px,4vw,44px);font-weight:700;color:white;line-height:1.18;}
.cta-text p{font-size:16px;color:rgba(255,255,255,.9);margin-top:8px;}
/* old inner-hero removed */
.inner-hero::before{content:'';position:absolute;top:-120px;right:-120px;width:480px;height:480px;background:radial-gradient(circle,rgba(200,82,42,.1) 0%,transparent 70%);border-radius:50%;pointer-events:none;}
.inner-hero-wrap{max-width:1300px;margin:0 auto;position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.inner-hero-text p{font-size:17px;color:var(--ink-light);line-height:1.7;}
.inner-hero-visual{border-radius:16px;overflow:hidden;}
.breadcrumb{background:var(--cream);padding:72px clamp(24px,4vw,56px) 8px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-light);}
.breadcrumb a,.breadcrumb button{background:none;border:none;color:var(--ink-light);opacity:.55;font-size:12px;cursor:pointer;font-family:'DM Sans',sans-serif;padding:0;transition:color .2s;text-decoration:none;}
.breadcrumb a:hover,.breadcrumb button:hover{color:var(--rust-light);}
.breadcrumb .cur{color:var(--ink-light);}
.related-bar{background:white;border-top:1px solid var(--border);padding:18px clamp(24px,4vw,56px);}
.related-inner{max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.related-bar p{font-size:13px;color:var(--ink-light);opacity:.55;white-space:nowrap;}
.related-btns{display:flex;gap:8px;flex-wrap:wrap;}
.rel-btn{background:var(--cream);border:1px solid var(--border);color:var(--ink-light);font-size:13px;font-weight:500;padding:7px 16px;border-radius:100px;cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;text-decoration:none;display:inline-block;}
.rel-btn:hover{border-color:var(--rust);color:var(--rust);background:var(--rust-pale);}
.feat-list{display:flex;flex-direction:column;gap:18px;margin-top:28px;}
.feat-item{display:flex;gap:16px;align-items:flex-start;padding:20px;background:white;border:1px solid var(--border);border-radius:14px;transition:all .2s;}
.feat-item:hover{border-color:var(--rust);box-shadow:0 4px 20px var(--shadow);transform:translateX(4px);}
.feat-num{width:32px;height:32px;border-radius:50%;background:var(--rust);color:white;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;margin-top:1px;}
.feat-title{font-weight:600;font-size:15px;margin-bottom:4px;}
.feat-text{font-size:13px;color:var(--ink-light);line-height:1.65;}
footer{background:var(--section-alt);border-top:1px solid var(--border);color:var(--ink-light);padding:60px clamp(24px,4vw,56px) 36px;}
.footer-inner{max-width:1300px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:44px;}
.footer-logo{margin-bottom:16px;height:52px;display:flex;align-items:center;}
.footer-logo svg{height:26px;width:auto;opacity:.8;}
.f-tagline{font-size:13px;color:var(--ink-light);line-height:1.65;max-width:240px;}
.footer-by{font-size:11px;color:var(--ink-light);opacity:.5;margin-top:12px;}
.fc-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--ink-light);margin-bottom:14px;}
.fc-links{display:flex;flex-direction:column;gap:9px;}
.fc-links a,.fc-links button{background:none;border:none;text-align:left;font-size:13px;color:var(--ink-light);cursor:pointer;font-family:'DM Sans',sans-serif;padding:0;transition:color .2s;position:relative;text-decoration:none;}
.fc-links a::after,.fc-links button::after{content:'';position:absolute;bottom:-1px;left:0;width:0;height:1px;background:var(--rust-light);transition:width .25s ease;}
.fc-links a:hover,.fc-links button:hover{color:var(--rust-dk);}
.fc-links a:hover::after,.fc-links button:hover::after{width:100%;}
.footer-bottom{border-top:1px solid var(--border);padding-top:22px;display:flex;justify-content:space-between;font-size:12px;flex-wrap:wrap;gap:8px;}
.anim{opacity:0;transform:translateY(22px);filter:blur(3px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),filter .5s ease;}
.anim.visible{opacity:1;transform:translateY(0);filter:blur(0);}
.anim-left{opacity:0;transform:translateX(-28px);filter:blur(3px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),filter .5s ease;}
.anim-left.visible{opacity:1;transform:translateX(0);filter:blur(0);}
.anim-right{opacity:0;transform:translateX(28px);filter:blur(3px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),filter .5s ease;}
.anim-right.visible{opacity:1;transform:translateX(0);filter:blur(0);}
.anim-group>*{opacity:0;transform:translateY(18px);transition:opacity .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);}
.anim-group.visible>*:nth-child(1){opacity:1;transform:none;transition-delay:.04s;}
.anim-group.visible>*:nth-child(2){opacity:1;transform:none;transition-delay:.11s;}
.anim-group.visible>*:nth-child(3){opacity:1;transform:none;transition-delay:.18s;}
.anim-group.visible>*:nth-child(4){opacity:1;transform:none;transition-delay:.25s;}
.anim-group.visible>*:nth-child(5){opacity:1;transform:none;transition-delay:.32s;}
.anim-group.visible>*:nth-child(6){opacity:1;transform:none;transition-delay:.39s;}
/* #scroll-prog styles defined below in component CSS */
/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE — consolidated, mobile-first aware
   Breakpoints: 1300 | 1024 | 900 | 768 | 640 | 480 | 380
═══════════════════════════════════════════════════════════════ */
/* ── HOVER / POINTER ──────────────────────────────────────── */
/* ═══════════════════════════════════════════════════════════════
   PAGE COMPONENT CSS — Video, Paid, SEO, Social, Email, OPD, About
═══════════════════════════════════════════════════════════════ */
/* ── SHARED PAGE COMPONENTS ─────────────────────────────── */
.breadcrumb { display:flex;align-items:center;gap:4px;padding:88px 40px 0;font-size:12px;
  max-width:1300px;margin:0 auto; }
.breadcrumb a,.breadcrumb button { background:none;border:none;color:var(--ink-light);opacity:.5;cursor:pointer;
  padding:0;font-size:12px;text-decoration:none; }
.breadcrumb a:hover,.breadcrumb button:hover { color:var(--rust-dk);opacity:1; }
.breadcrumb .cur { color:var(--ink);opacity:.7; }
.inner-hero { background:var(--cream);padding:88px 40px 56px;position:relative;overflow:hidden; }
.inner-hero::before { content:'';position:absolute;top:-80px;right:-80px;width:500px;height:500px;
  background:radial-gradient(circle,rgba(200,82,42,.05) 0%,transparent 70%);
  border-radius:50%;pointer-events:none; }
.inner-hero-wrap { max-width:1300px;margin:0 auto;display:grid;
  grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1; }
.inner-hero-text { max-width:600px; }
.inner-hero-text h1 { font-family:'Playfair Display',serif;font-size:clamp(28px,3.5vw,52px);
  font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-1px;margin-bottom:16px; }
.inner-hero-text h1 em { color:var(--rust-dk);font-style:italic; }
.inner-hero-text p { font-size:16px;color:var(--ink-light);line-height:1.75; }
.inner-hero-visual { border-radius:16px;overflow:hidden;box-shadow:0 24px 64px var(--shadow-lg); }
.cta-inner { max-width:1300px;margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:32px; }
.cta-text h2 { font-family:'Playfair Display',serif;font-size:clamp(22px,2.8vw,36px);
  font-weight:700;color:white;line-height:1.2;margin-bottom:8px; }
.cta-text p { font-size:15px;color:rgba(255,255,255,.95); }
.related-bar { background:var(--cream);padding:20px clamp(24px,4vw,56px); }
.related-inner { max-width:1300px;margin:0 auto;display:flex;align-items:center;gap:16px;
  flex-wrap:wrap; }
.related-inner p { font-size:13px;color:var(--ink-light);white-space:nowrap; }
.related-btns { display:flex;gap:8px;flex-wrap:wrap; }
.rel-btn { background:white;border:1px solid var(--border);border-radius:100px;
  padding:7px 16px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;
  transition:border-color .2s,color .2s; }
.rel-btn:hover { border-color:var(--rust);color:var(--rust); }
/* ── SHARED rp- SECTIONS (SEO, Social) ─────────────────── */
.rp-section { padding:clamp(48px,6vw,80px) clamp(24px,4vw,56px); }
.rp-section.bg-white { background:white; }
.rp-section.bg-cream { background:var(--cream); }
.rp-inner { max-width:1300px;margin:0 auto; }
.rp-h2 { font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,40px);
  font-weight:700;color:var(--ink);line-height:1.15;margin-bottom:40px; }
.rp-h2 em { font-style:italic;color:var(--rust); }
.rp-h2.light { color:var(--ink); }
.rp-split { display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:start;margin-top:40px; }
.rp-col-label { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  padding:6px 16px;border-radius:100px;display:inline-block;margin-bottom:18px; }
.bad-label { background:#E8E4E0;color:var(--ink-light);opacity:.55; }
.good-label { background:var(--rust);color:white; }
.rp-flow { display:flex;flex-direction:column;gap:4px; }
.rp-node { padding:14px 18px;border-radius:10px;font-size:14px;font-weight:500;
  display:flex;align-items:center;gap:10px; }
.bad-node  { background:#EFEFEF;color:var(--ink);border:1px solid #D0D0D0;font-weight:600; }
.dim-node  { opacity:.55; }
.good-node { background:#e8d9b8;color:var(--ink);border:1px solid rgba(168,131,58,.5);
  font-weight:600; transition:transform .2s; }
.good-node:hover { transform:translateX(5px); }
.final-node { background:var(--rust);color:white;font-weight:600;border-color:var(--rust); }
.rp-arrow  { text-align:center;color:var(--border);font-size:14px;line-height:1.2; }
.good-arrow { color:var(--rust-dk); opacity:.4; }
.rp-vs-badge { width:44px;height:44px;border-radius:50%;background:var(--ink);color:white;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;
  letter-spacing:1px;margin-top:40px;flex-shrink:0; }
.rp-feats-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px; }
.rp-feat-card { background:white;border:1px solid var(--border);border-radius:18px;
  padding:28px 24px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden; }
.rp-feat-card::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--rust),var(--rust-light));
  transform:scaleX(0);transform-origin:left;transition:transform .3s; }
.rp-feat-icon  { font-size:28px;margin-bottom:14px; }
.rp-feat-title { font-family:'Playfair Display',serif;font-size:17px;font-weight:600;
  color:var(--ink);margin-bottom:10px;line-height:1.3; }
.rp-feat-body  { font-size:13px;color:var(--ink-light);line-height:1.7;margin-bottom:14px; }
.rp-feat-tag   { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;color:var(--rust); }
/* ── VIDEO PAGE ─────────────────────────────────────────── */
.vi-hero { background:var(--cream);padding:clamp(80px,9vw,120px) clamp(24px,4vw,56px) clamp(48px,6vw,80px);
  position:relative;overflow:hidden; }
.vi-hero::before { content:'';position:absolute;top:-80px;right:-80px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(200,82,42,.09) 0%,transparent 70%);
  border-radius:50%;pointer-events:none; }
.vi-hero::after { content:'';position:absolute;bottom:-120px;left:-60px;width:400px;height:400px;
  background:radial-gradient(circle,rgba(26,74,107,.06) 0%,transparent 70%);
  border-radius:50%;pointer-events:none; }
.vi-hero-inner { max-width:1300px;margin:0 auto;display:grid;
  grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center;position:relative;z-index:1; }
.vi-hero-text {}
.vi-eyebrow { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:2px;
  color:var(--rust-dk);margin-bottom:16px; }
.vi-h1 { font-family:'Playfair Display',serif;font-size:clamp(34px,4.5vw,58px);
  font-weight:700;color:var(--ink);line-height:1.08;letter-spacing:-1.5px;margin-bottom:20px; }
.vi-h1 em { color:var(--rust-dk);font-style:italic; }
.vi-lead { font-size:16px;color:var(--ink-light);line-height:1.75;margin-bottom:32px; }
.vi-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.vi-stat { background:white;border:1px solid var(--border);
  border-radius:14px;padding:18px 16px;transition:all .25s;position:relative;overflow:hidden; }
.vi-stat::before { content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:var(--rust);transform:scaleX(0);transition:transform .3s;transform-origin:left; }
.vi-stat:hover { background:var(--rust-pale);transform:translateY(-3px);box-shadow:0 8px 24px rgba(200,82,42,.1); }
.vi-stat:hover::before { transform:scaleX(1); }
.vi-stat-num { font-family:'Playfair Display',serif;font-size:30px;font-weight:700;
  color:var(--rust);line-height:1;margin-bottom:6px; }
.vi-stat-lbl { font-size:11px;color:var(--ink-light);line-height:1.4; }
.vi-hero-visual { position:relative; }
.vi-video-card { background:white;border:1px solid var(--border);
  border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(26,74,107,.1);transition:transform .3s,box-shadow .3s; }
.vi-video-card:hover { transform:translateY(-4px);box-shadow:0 28px 72px rgba(26,74,107,.14); }
.vi-video { width:100%;display:block;border-radius:12px; }
.vi-video-meta { display:flex;align-items:center;gap:12px;padding:16px; }
.vi-doc-badge { display:flex;align-items:center;gap:10px;flex:1; }
.vi-doc-avatar { width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--rust),var(--gold));
  display:flex;align-items:center;justify-content:center;font-size:13px;color:white;font-weight:700; }
.vi-doc-name { font-size:13px;font-weight:600;color:var(--ink); }
.vi-doc-spec { font-size:11px;color:var(--ink-light); }
.vi-video-tag { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;
  color:var(--rust-dk);background:var(--rust-pale);border-radius:100px;padding:4px 10px; }
.vi-section-inner { max-width:1300px;margin:0 auto; }
.vi-h2 { font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,40px);
  font-weight:700;color:var(--ink);line-height:1.15;margin-bottom:18px; }
.vi-h2 em { color:var(--rust);font-style:italic; }
.vi-h2.light { color:var(--ink); }
.vi-section-label { font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:2px;margin-bottom:12px;color:var(--rust-dk);
}
.vi-section-sub { font-size:15px;color:var(--ink-light);line-height:1.7;max-width:680px;margin-bottom:40px; }
.vi-triggers-section { background:white;padding:clamp(56px,7vw,96px) clamp(24px,4vw,56px); }
.vi-triggers { display:grid;grid-template-columns:repeat(3,1fr);gap:24px; }
.vi-trigger { background:var(--cream);border:1px solid var(--border);border-radius:20px;
  padding:36px 28px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden; }
.vi-trigger::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--rust),var(--rust-light));
  transform:scaleX(0);transform-origin:left;transition:transform .3s; }
.vi-trigger:hover { transform:translateY(-5px);box-shadow:0 16px 40px var(--shadow-md); }
.vi-trigger:hover::before { transform:scaleX(1); }
.vi-trigger-icon { width:52px;height:52px;border-radius:14px;background:var(--rust-pale);
  display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px;
  transition:background .2s,transform .2s; }
.vi-trigger:hover .vi-trigger-icon { background:var(--rust);transform:scale(1.08); }
.vi-trigger:hover .vi-trigger-icon-emoji { filter:brightness(10); }
.vi-trigger-num  { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;
  color:var(--rust);margin-bottom:8px; }
.vi-trigger-title { font-family:'Playfair Display',serif;font-size:19px;font-weight:600;
  color:var(--ink);margin-bottom:12px;line-height:1.3; }
.vi-trigger-body { font-size:13px;color:var(--ink-light);line-height:1.7;margin-bottom:16px; }
.vi-trigger-tags { display:flex;flex-wrap:wrap;gap:6px; }
.vi-trigger-tag  { font-size:10px;font-weight:600;background:white;border:1px solid var(--border);
  color:var(--ink-light);padding:3px 10px;border-radius:100px; }
.vi-trigger-format { font-size:12px;color:var(--ink-light);line-height:1.6;opacity:.7;margin-top:auto;padding-top:12px;border-top:1px solid var(--border); }
.vi-problem-section { background:var(--section-alt);padding:clamp(48px,6vw,80px) clamp(24px,4vw,56px); }
.vi-split { display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch; }
.vi-split-col { padding:32px 28px; }
.vi-split-bad  { background:var(--cream);border-radius:16px 0 0 16px; }
.vi-split-good { background:var(--rust-pale);border-radius:0 16px 16px 0;
  border:1px solid rgba(200,82,42,.2); }
.vi-split-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:20px; }
.vi-split-label.bad  { color:var(--ink-light);opacity:.4; }
.vi-split-label.good { color:var(--rust-dk); }
.vi-split-row { display:flex;align-items:center;gap:12px;padding:10px 0;
  border-bottom:1px solid var(--border);font-size:13px; }
.vi-split-row:last-child { border-bottom:none; }
.vi-split-row.bad-row  { color:var(--ink-light);opacity:.5; }
.vi-split-row.good-row { color:var(--ink); }
.vi-split-divider { width:1px;background:var(--border);margin:32px 0; }
.vi-journey-section { background:var(--ink);padding:clamp(56px,7vw,96px) clamp(24px,4vw,56px); }
.vi-journey { display:grid;grid-template-columns:1fr 1fr;gap:24px; }
.vi-j-step { padding:0;position:relative;cursor:default;
  border-right:none;transition:all .3s;display:flex;gap:0;align-items:stretch; }
.vi-j-step:last-child { border-right:none;max-width:100%; }
.vi-j-card { background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;
  padding:28px 24px;transition:all .3s;position:relative;overflow:hidden;flex:1; }
.vi-j-card::before { content:'';position:absolute;top:0;left:0;bottom:0;width:3px;
  background:var(--rust);opacity:0;transition:opacity .3s; }
.vi-j-step:hover .vi-j-card { background:rgba(255,255,255,.1);border-color:rgba(200,82,42,.3);
  transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,0,0,.2); }
.vi-j-step:hover .vi-j-card::before { opacity:1; }
.vi-j-dot { display:none; }
.vi-j-num   { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;
  color:var(--ink-light);opacity:.4;margin-bottom:12px; }
.vi-j-stage { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--rust-light);margin-bottom:10px;display:flex;align-items:center;gap:8px; }
.vi-j-stage::before { content:'';width:20px;height:2px;background:var(--rust);border-radius:2px;flex-shrink:0; }
.vi-j-badge { font-size:12px;font-weight:600;color:rgba(255,255,255,.85);margin-bottom:12px;
  background:rgba(200,82,42,.15);display:inline-block;padding:4px 12px;border-radius:100px;border:1px solid rgba(200,82,42,.2); }
.vi-j-title { font-family:'Playfair Display',serif;font-size:18px;font-weight:600;
  color:white;margin-bottom:10px;line-height:1.3; }
.vi-j-body { font-size:13px;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:14px; }
.vi-j-type { font-size:11px;font-weight:600;color:var(--rust-light);padding-top:12px;border-top:1px solid rgba(255,255,255,.08); }
/* Differentiation cards */
.vi-diff-card { background:var(--cream);border:1px solid var(--border);border-radius:20px;
  padding:28px 24px;transition:all .3s;position:relative;overflow:hidden;display:flex;flex-direction:column; }
.vi-diff-card::before { content:'';position:absolute;top:0;left:0;bottom:0;width:3px;
  background:var(--rust);transform:scaleY(0);transform-origin:top;transition:transform .3s; }
.vi-diff-card:hover { transform:translateY(-5px);box-shadow:0 16px 40px rgba(26,74,107,.1);border-color:rgba(200,82,42,.2); }
.vi-diff-card:hover::before { transform:scaleY(1); }
.vi-diff-icon { width:48px;height:48px;border-radius:12px;background:var(--rust-pale);
  display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px;
  transition:background .2s,transform .2s; }
.vi-diff-card:hover .vi-diff-icon { background:var(--rust);transform:scale(1.08); }
.vi-diff-old { font-size:12px;color:var(--ink-light);text-decoration:line-through;opacity:.5;margin-bottom:4px; }
.vi-diff-new { font-family:'Playfair Display',serif;font-size:17px;font-weight:600;color:var(--ink);margin-bottom:10px;line-height:1.3; }
.vi-diff-body { font-size:13px;color:var(--ink-light);line-height:1.6;flex:1; }
/* ── PAID MEDIA PAGE ─────────────────────────────────────── */
.pm-hero { background:var(--cream);padding:clamp(80px,9vw,120px) clamp(24px,4vw,56px) clamp(48px,6vw,80px);
  position:relative;overflow:hidden; }
.pm-hero::before { content:'';position:absolute;top:-80px;right:-80px;width:520px;height:520px;
  background:radial-gradient(circle,rgba(200,82,42,.09) 0%,transparent 70%);
  border-radius:50%;pointer-events:none; }
.pm-hero-inner { max-width:1300px;margin:0 auto;display:grid;
  grid-template-columns:1fr 1fr;gap:56px;align-items:center;position:relative;z-index:1; }
.pm-h1 { font-family:'Playfair Display',serif;font-size:clamp(32px,4.5vw,56px);
  font-weight:700;color:var(--ink);line-height:1.08;letter-spacing:-1.5px;margin-bottom:20px; }
.pm-h1 em { color:var(--rust-dk);font-style:italic; }
.pm-lead { font-size:16px;color:var(--ink-light);line-height:1.75;margin-bottom:28px; }
.pm-hero-pills { display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px; }
.pm-pill { background:white;color:var(--ink-light);border:1px solid var(--border);
  padding:6px 14px;border-radius:100px;font-size:12px;font-weight:500; }
.pm-hero-kpis { display:flex;flex-direction:column;gap:16px; }
.pm-kpi-card { background:white;border:1px solid var(--border);
  border-radius:16px;padding:24px 22px;transition:background .2s; }
.pm-kpi-card:hover { background:var(--rust-pale); }
.pm-kpi-accent { background:var(--rust-pale);border-color:rgba(200,82,42,.3); }
.pm-kpi-n { font-family:'Playfair Display',serif;font-size:36px;font-weight:700;
  color:var(--rust);line-height:1;margin-bottom:6px; }
.pm-kpi-l { font-size:12px;color:var(--ink-light);line-height:1.5; }
.pm-ba-section { background:var(--cream);padding:clamp(48px,6vw,80px) clamp(24px,4vw,56px); }
.pm-section-inner { max-width:1300px;margin:0 auto; }
.pm-section-top { display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:40px; }
.pm-h2 { font-family:'Playfair Display',serif;font-size:clamp(24px,3vw,38px);
  font-weight:700;color:var(--ink);line-height:1.15;margin-bottom:12px; }
.pm-h2 em { font-style:italic;color:var(--rust); }
.pm-h2.light { color:var(--ink); }
.pm-intro-text { font-size:15px;color:var(--ink-light);line-height:1.75; }
.pm-intro-text.light { color:var(--ink-light); }
.pm-ads-compare { display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:start;margin-bottom:48px; }
.pm-ad-card { border-radius:16px;overflow:hidden;background:white;
  box-shadow:0 8px 32px var(--shadow-md);transition:transform .25s; }
.pm-ad-card:hover { transform:translateY(-4px); }
.pm-ad-badge { padding:10px 18px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px; }
.bad-badge  { background:#EDE9E4;color:var(--ink-light);opacity:.6; }
.good-badge { background:var(--rust);color:white; }
.pm-ad-visual { width:100%;overflow:hidden;max-height:300px; }
.pm-ad-img { width:100%;height:300px;object-fit:cover;object-position:top center;display:block;
  image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast; }
.pm-ad-desc { padding:16px 18px; }
.pm-ad-desc-title { font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;
  color:var(--ink-light);opacity:.55;margin-bottom:8px; }
.pm-ad-list { list-style:none;display:flex;flex-direction:column;gap:6px; }
.pm-ad-list li { font-size:13px;line-height:1.5;padding-left:18px;position:relative; }
.pm-ad-list li::before { content:'';position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%; }
.pm-ad-list-bad  li { color:var(--ink-light);opacity:.65; }
.pm-ad-list-bad  li::before { background:#CCC; }
.pm-ad-list-good li { color:var(--ink);font-weight:500; }
.pm-ad-list-good li::before { background:var(--rust); }
.pm-ad-vs { width:44px;height:44px;border-radius:50%;background:var(--ink);color:white;
  display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;
  letter-spacing:1px;margin-top:100px;flex-shrink:0; }
.pm-compare-grid { border:1px solid var(--border);border-radius:16px;overflow:hidden; }
.pm-compare-head { display:grid;grid-template-columns:1fr 1fr 1fr; }
.pm-compare-head > div { padding:14px 20px;font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:1px; }
.pm-compare-head > div:first-child { background:#F8F5F2;color:var(--ink-light); }
.pm-compare-head > div:nth-child(2) { background:#EFEDE9;color:var(--ink-light);opacity:.5; }
.pm-compare-head > div:nth-child(3) { background:var(--rust);color:white; }
.pm-compare-row { display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--border); }
.pm-cr-factor { padding:16px 20px;font-size:13px;font-weight:600;color:var(--ink);
  background:var(--cream); }
.pm-cr-before { padding:16px 20px;font-size:13px;color:var(--ink-light);border-left:1px solid var(--border); }
.pm-cr-after  { padding:16px 20px;font-size:13px;color:var(--ink);border-left:3px solid var(--rust); }
.pm-funnel-section { background:var(--section-alt);padding:clamp(48px,6vw,80px) clamp(24px,4vw,56px); }
.pm-funnel { display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  align-items:stretch;margin-top:40px;position:relative; }
.pm-funnel::before { content:'';position:absolute;top:44px;left:calc(100%/6);right:calc(100%/6);
  height:2px;background:linear-gradient(90deg,rgba(200,82,42,.25),rgba(212,168,83,.25));
  z-index:0;pointer-events:none; }
.pm-stage { position:relative;z-index:1; }
.pm-stage-badge { display:block;text-align:center;width:fit-content;margin:0 auto 16px;
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  padding:5px 14px;border-radius:100px;position:relative;z-index:1; }
.pm-tofu { background:var(--cream);color:var(--ink-light); }
.pm-mofu { background:rgba(212,168,83,.15);color:#7A5A00; }
.pm-bofu { background:var(--rust-pale);color:var(--rust-dk); }
.pm-stage-card { background:white;border:1px solid var(--border);
  border-radius:16px;padding:20px 18px;transition:background .25s,transform .25s;height:100%; }
.pm-stage-card:hover { background:var(--rust-pale);transform:translateY(-4px); }
.pm-stage-card-accent { background:var(--rust-pale);border-color:rgba(200,82,42,.3); }
.pm-stage-header { display:flex;align-items:flex-start;gap:12px;margin-bottom:16px; }
.pm-stage-num  { font-family:'Playfair Display',serif;font-size:34px;font-weight:700;
  color:rgba(26,22,18,.06);line-height:1;flex-shrink:0; }
.pm-stage-title { font-size:18px;font-weight:600;color:var(--ink);line-height:1.2;margin-bottom:4px; }
.pm-stage-obj   { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;
  color:var(--ink-light);opacity:.5; }
.pm-stage-body  { display:flex;flex-direction:column;gap:8px;margin-bottom:16px; }
.pm-stage-row   { display:flex;gap:8px;align-items:flex-start;background:var(--cream);
  border-radius:8px;padding:9px 12px; }
.pm-stage-lbl   { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;
  color:var(--ink-light);opacity:.5;min-width:52px;padding-top:1px;flex-shrink:0; }
.pm-stage-val   { font-size:12px;color:var(--ink-light);line-height:1.5; }
.pm-stage-row-dark { background:var(--cream); }
.pm-lbl-light   { color:var(--ink-light);opacity:.5; }
.pm-val-light   { color:var(--ink-light); }
.pm-stage-kpis  { display:flex;flex-wrap:wrap;gap:6px; }
.pm-kpi-tag     { font-size:10px;font-weight:600;background:var(--cream);
  color:var(--ink-light);border-radius:100px;padding:3px 9px; }
.pm-kpi-tag-light { background:var(--rust-pale);color:var(--rust-dk); }
.pm-pillars-section { background:white;padding:clamp(48px,6vw,80px) clamp(24px,4vw,56px); }
.pm-pillars { display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px; }
.pm-pillar  { background:var(--cream);border:1px solid var(--border);border-radius:20px;padding:32px 28px; }
.pm-pillar-icon  { font-size:28px;margin-bottom:14px; }
.pm-pillar-title { font-family:'Playfair Display',serif;font-size:19px;font-weight:600;
  color:var(--ink);margin-bottom:12px; }
.pm-pillar-body  { font-size:13px;color:var(--ink-light);line-height:1.75; }
/* ── SOCIAL PAGE ─────────────────────────────────────────── */
.so-compare-wrap { margin-top:40px; }
.so-compare { display:flex;align-items:center;gap:32px; }
.so-post { flex:1;border-radius:16px;overflow:hidden;box-shadow:0 8px 28px var(--shadow-md);
  background:white;transition:transform .2s; }
.so-post:hover { transform:translateY(-4px); }
.so-post-header { height:100px;display:flex;align-items:center;justify-content:center;padding:12px; }
.bad-header  { background:#F0F0F0;font-size:36px; }
.good-header { background:var(--rust-dk); }
.so-post-body { padding:14px; }
.so-meta  { display:flex;align-items:center;gap:8px;margin-bottom:8px; }
.so-av    { width:26px;height:26px;border-radius:50%; }
.bad-av   { background:#EEE; }
.good-av  { background:var(--rust); }
.so-handle { font-size:11px;font-weight:600;color:var(--ink); }
.so-cap   { font-size:12px;line-height:1.5;margin-bottom:8px; }
.bad-cap  { color:var(--ink-light); }
.so-tags  { display:flex;flex-wrap:wrap;gap:4px; }
.so-tag   { font-size:10px;padding:2px 7px;border-radius:100px; }
.bad-tag  { background:#E8E4E0;color:var(--ink-light); }
.good-tag { background:var(--rust-pale);color:var(--rust); }
.so-verdict { padding:9px 14px;font-size:11px;font-weight:700;text-align:center; }
.bad-verdict { background:#F0EEEB;color:var(--ink-light);border-top:1px solid var(--border); }
.good-verdict { background:var(--rust-pale);color:var(--rust);border-top:1px solid rgba(200,82,42,.15); }
.so-arrow-right { font-size:28px;color:var(--rust);opacity:.4;flex-shrink:0; }
/* ── EMAIL PAGE ─────────────────────────────────────────── */
.em-layout { display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;margin-top:48px; }
.em-chat { background:var(--cream);border:1px solid var(--border);border-radius:20px;
  padding:24px;display:flex;flex-direction:column;gap:12px; }
.em-chat-label { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  color:var(--ink-light);opacity:.45;text-align:center;margin-bottom:4px; }
.em-msg { max-width:86%;padding:11px 15px;border-radius:14px;font-size:13px;line-height:1.55; }
.em-msg.recv { background:white;border:1px solid var(--border);color:var(--ink);
  border-radius:14px 14px 14px 4px; }
.em-msg.sent { background:var(--rust-dk);color:white;margin-left:auto;border-radius:14px 14px 4px 14px; }
.em-time { font-size:10px;opacity:.45;margin-top:4px; }
.em-feats { display:flex;flex-direction:column;gap:20px; }
.em-feat { display:flex;gap:14px;align-items:flex-start;padding:20px;
  background:var(--cream);border:1px solid var(--border);border-radius:14px;transition:border-color .2s,transform .2s; }
.em-feat-icon  { font-size:22px;flex-shrink:0; }
.em-feat-title { font-weight:600;font-size:14px;color:var(--ink);margin-bottom:4px; }
.em-feat-body  { font-size:13px;color:var(--ink-light);line-height:1.6; }
/* ── OPD PAGE ────────────────────────────────────────────── */
.opd-hero { background:var(--cream);padding:clamp(80px,9vw,120px) clamp(24px,4vw,56px) clamp(48px,6vw,80px);
  position:relative;overflow:hidden; }
.opd-hero::before { content:'';position:absolute;top:-100px;right:-100px;width:600px;height:600px;
  background:radial-gradient(circle,rgba(200,82,42,.1) 0%,transparent 65%);
  border-radius:50%;pointer-events:none; }
.opd-hero-inner { max-width:760px;margin:0 auto;position:relative;z-index:1; }
.opd-h1 { font-family:'Playfair Display',serif;font-size:clamp(34px,5vw,60px);
  font-weight:700;color:var(--ink);line-height:1.08;letter-spacing:-1.5px;margin-bottom:20px; }
.opd-h1 em { color:var(--rust-dk);font-style:italic; }
.opd-lead { font-size:17px;color:var(--ink-light);line-height:1.75;margin-bottom:28px;max-width:600px; }
.opd-hero-tags { display:flex;flex-wrap:wrap;gap:8px; }
.opd-tag { background:white;color:var(--ink-light);border:1px solid var(--border);
  padding:6px 14px;border-radius:100px;font-size:12px;font-weight:500; }
.opd-steps-section { background:white;padding:clamp(48px,6vw,80px) clamp(24px,4vw,56px); }
.opd-steps-inner { max-width:900px;margin:0 auto; }
.opd-h2 { font-family:'Playfair Display',serif;font-size:clamp(24px,3.2vw,40px);
  font-weight:700;color:var(--ink);line-height:1.15;margin-bottom:48px; }
.opd-h2 em { font-style:italic;color:var(--rust); }
.opd-timeline { display:flex;flex-direction:column;gap:0;position:relative; }
.ab-tl-line { position:absolute;left:28px;top:24px;bottom:24px;width:2px;background:var(--border);overflow:hidden; }
.ab-tl-progress { width:100%;height:0%;background:var(--rust);transition:height 2s cubic-bezier(.16,1,.3,1); }
.ab-timeline.tl-visible .ab-tl-progress { height:100%; }
.ab-tl-items { display:flex;flex-direction:column;gap:0;padding-left:64px; }
.ab-tl-item { position:relative;padding:0 0 36px 0;opacity:0;transform:translateY(12px);
  transition:opacity .55s ease,transform .55s ease; }
.ab-tl-item:last-child { padding-bottom:0; }
.ab-timeline.tl-visible .ab-tl-item:nth-child(1) { opacity:1;transform:none;transition-delay:.1s; }
.ab-timeline.tl-visible .ab-tl-item:nth-child(2) { opacity:1;transform:none;transition-delay:.3s; }
.ab-timeline.tl-visible .ab-tl-item:nth-child(3) { opacity:1;transform:none;transition-delay:.5s; }
.ab-timeline.tl-visible .ab-tl-item:nth-child(4) { opacity:1;transform:none;transition-delay:.7s; }
.ab-timeline.tl-visible .ab-tl-item:nth-child(5) { opacity:1;transform:none;transition-delay:.9s; }
.ab-tl-dot { position:absolute;left:-43px;top:4px;width:12px;height:12px;border-radius:50%;
  background:var(--cream);border:2px solid var(--border);transition:border-color .3s,background .3s; }
.ab-tl-dot-active { background:var(--rust);border-color:var(--rust); }
.ab-timeline.tl-visible .ab-tl-dot { border-color:var(--rust);background:var(--rust-pale); }
.ab-timeline.tl-visible .ab-tl-dot-active { background:var(--rust);border-color:var(--rust); }
.ab-tl-year  { font-family:'Playfair Display',serif;font-size:13px;font-weight:700;color:var(--ink-light);margin-bottom:4px;letter-spacing:.5px; }
.ab-tl-title { font-size:16px;font-weight:600;color:var(--ink);margin-bottom:6px; }
.ab-tl-body  { font-size:13px;color:var(--ink-light);line-height:1.7;max-width:560px; }
.opd-step { display:grid;grid-template-columns:72px 1fr;gap:0; }
.opd-step-left { display:flex;flex-direction:column;align-items:center;padding-top:4px; }
.opd-step-num { width:44px;height:44px;border-radius:50%;background:var(--cream);border:2px solid var(--border);
  display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;
  font-size:16px;font-weight:700;color:var(--rust);flex-shrink:0;position:relative;z-index:1;
  transition:background .2s,border-color .2s; }
.opd-step:hover .opd-step-num { background:var(--rust);color:white;border-color:var(--rust); }
.opd-step-num-accent { background:var(--rust);color:white;border-color:var(--rust); }
.opd-step-line { width:2px;flex:1;background:var(--border);margin:8px 0;min-height:32px; }
.opd-step-right { padding:0 0 48px 24px; }
.opd-step-last .opd-step-right { padding-bottom:0; }
.opd-step-right-accent { background:var(--rust-pale);border:1px solid rgba(200,82,42,.3);
  border-radius:16px;padding:28px 28px 28px 28px;position:relative; }
.opd-step-right-accent::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--rust),var(--gold));border-radius:16px 16px 0 0; }
.opd-step-head { display:flex;align-items:flex-start;gap:14px;margin-bottom:14px; }
.opd-step-icon { font-size:24px;flex-shrink:0;margin-top:2px; }
.opd-step-title { font-family:'Playfair Display',serif;font-size:20px;font-weight:600;color:var(--ink);line-height:1.2;margin-bottom:3px; }
.opd-step-subtitle { font-size:12px;color:var(--ink-light);opacity:.6;font-style:italic; }
.opd-step-body { font-size:14px;color:var(--ink-light);line-height:1.75;margin-bottom:16px; }
.opd-step-kpis { display:flex;flex-wrap:wrap;gap:6px; }
.opd-step-kpis span { font-size:11px;font-weight:600;background:var(--cream);
  border:1px solid var(--border);color:var(--rust);padding:4px 12px;border-radius:100px; }
.opd-kpi-light { color:var(--rust-dk); }
.opd-results-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:48px; }
.opd-result-card { background:var(--cream);border:1px solid var(--border);border-radius:16px;
  padding:24px 20px;text-align:center;transition:border-color .2s,transform .2s; }
.opd-result-arrow { font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--rust);line-height:1;margin-bottom:4px; }
.opd-result-label { font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px; }
.opd-result-desc  { font-size:12px;color:var(--ink-light);line-height:1.55; }
.opd-why-note { background:var(--rust-pale);border:1px solid rgba(200,82,42,.2);
  border-left:4px solid var(--rust);border-radius:12px;padding:20px 24px;margin-top:32px;
  font-size:14px;color:var(--ink-light);line-height:1.7; }
.opd-why-note strong { color:var(--rust); }
/* ── ABOUT PAGE ─────────────────────────────────────────── */
.ab-hero { background:var(--cream);padding:clamp(72px,9vw,120px) clamp(24px,4vw,56px) clamp(48px,6vw,80px);
  position:relative;overflow:hidden; }
.ab-hero::before { content:'';position:absolute;top:-100px;right:-100px;width:600px;height:600px;
  background:radial-gradient(circle,rgba(200,82,42,.09) 0%,transparent 65%);
  border-radius:50%;pointer-events:none; }
.ab-hero::after { content:'';position:absolute;bottom:-60px;left:10%;width:400px;height:400px;
  background:radial-gradient(circle,rgba(212,168,83,.05) 0%,transparent 70%);
  border-radius:50%;pointer-events:none; }
.ab-hero-inner { max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.1fr 0.9fr;
  gap:64px;align-items:center;position:relative;z-index:1; }
.ab-h1 { font-family:'Playfair Display',serif;font-size:clamp(32px,4.5vw,62px);
  font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-1.5px;margin-bottom:20px; }
.ab-h1 em { color:var(--rust-dk);font-style:italic; }
.ab-lead { font-size:17px;color:var(--ink-light);line-height:1.75;margin-bottom:36px;max-width:540px; }
.ab-hero-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.ab-hero-stat { background:white;border:1px solid var(--border);
  border-radius:14px;padding:20px 18px;transition:background .2s; }
.ab-stat-n { font-family:'Playfair Display',serif;font-size:34px;font-weight:700;
  color:var(--rust);line-height:1;margin-bottom:8px; }
.ab-stat-l { font-size:12px;color:var(--ink-light);line-height:1.5; }
.ab-section-inner { max-width:1300px;margin:0 auto; }
.ab-h2 { font-family:'Playfair Display',serif;font-size:clamp(24px,3.2vw,44px);
  font-weight:700;color:var(--ink);line-height:1.15;margin-bottom:16px; }
.ab-h2.light { color:var(--ink); }
.ab-body { font-size:16px;color:var(--ink-light);line-height:1.8; }
.ab-hospitals-section { background:var(--cream);padding:clamp(48px,7vw,88px) clamp(24px,4vw,56px); }
.ab-hosp-grid { display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:16px;margin-top:44px; }
.ab-hosp-card { background:white;border:1px solid var(--border);border-radius:18px;padding:24px 20px;
  display:flex;flex-direction:column;gap:6px;transition:transform .25s,box-shadow .25s,border-color .25s;
  position:relative;overflow:hidden; }
.ab-hosp-card::after { content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--rust),var(--rust-light));
  transform:scaleX(0);transform-origin:left;transition:transform .3s; }
.ab-hosp-featured { background:white;border:2px solid var(--rust);border-bottom:4px solid var(--rust); }
.ab-hosp-featured .ab-hosp-name { color:var(--ink);font-size:15px;font-weight:600; }
.ab-hosp-featured .ab-hosp-city { color:var(--ink-light); }
.ab-hosp-featured .ab-hosp-role { color:var(--rust-dk);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-top:4px; }
.ab-hosp-featured::after { background:linear-gradient(90deg,var(--rust),var(--rust-light)); }
.ab-hosp-icon { font-size:26px;margin-bottom:8px; }
.ab-hosp-name { font-family:'Playfair Display',serif;font-size:15px;font-weight:600;color:var(--ink);line-height:1.3; }
.ab-hosp-city { font-size:11px;color:var(--ink-light);opacity:.6; }
.ab-hosp-role { font-size:11px;font-weight:600;color:var(--rust);text-transform:uppercase;letter-spacing:.8px;margin-top:4px; }
.ab-founder-section { background:white;padding:clamp(48px,7vw,88px) clamp(24px,4vw,56px); }
.ab-founder-grid { display:grid;grid-template-columns:1fr 1.6fr;gap:72px;align-items:center; }
.ab-founder-card { background:var(--ink);border-radius:24px;padding:40px 32px;text-align:center;
  box-shadow:0 24px 64px var(--shadow-lg);position:relative;overflow:hidden; }
.ab-founder-card::before { content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:linear-gradient(90deg,var(--rust),var(--gold)); }
.ab-founder-avatar { width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--rust) 0%,var(--gold) 100%);
  display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;
  font-size:32px;font-weight:700;color:white;margin:0 auto 20px;box-shadow:0 8px 24px rgba(200,82,42,.4);overflow:hidden; }
.ab-founder-avatar img{width:100%;height:100%;object-fit:cover;}
.ab-founder-tag  { font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--rust-light);margin-bottom:8px; }
.ab-founder-name { font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:white;margin-bottom:4px; }
.ab-founder-co   { font-size:12px;color:rgba(255,255,255,.5);margin-bottom:24px; }
.ab-founder-divider { width:40px;height:2px;background:linear-gradient(90deg,var(--rust),var(--gold));margin:0 auto 20px; }
.ab-founder-links { display:flex;flex-wrap:wrap;gap:8px;justify-content:center; }
.ab-founder-link { font-size:11px;font-weight:600;background:rgba(255,255,255,.07);color:rgba(255,255,255,.65);
  border:1px solid rgba(255,255,255,.1);padding:5px 12px;border-radius:100px; }
.ab-founder-text {}
.ab-founder-visual {}
.ab-founder-quote { border-left:3px solid var(--rust);padding:16px 20px;background:var(--rust-pale);
  border-radius:0 12px 12px 0;margin:24px 0; }
.ab-founder-quote-text { font-size:15px;font-style:italic;color:var(--ink);line-height:1.7;margin-bottom:8px; }
.ab-founder-quote-attr { font-size:12px;font-weight:600;color:var(--rust);text-transform:uppercase;letter-spacing:1px; }
.ab-values-section { background:var(--section-alt);padding:clamp(48px,7vw,88px) clamp(24px,4vw,56px); }
.ab-values-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px; }
.ab-val { background:white;border:1px solid var(--border);border-radius:20px;
  padding:32px 26px;position:relative;overflow:hidden;transition:background .25s,transform .25s; }
.ab-val::before { content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,var(--rust),var(--rust-light));
  transform:scaleX(0);transform-origin:left;transition:transform .35s; }
.ab-val-num  { font-family:'Playfair Display',serif;font-size:56px;font-weight:700;
  color:rgba(26,22,18,.05);line-height:1;margin-bottom:4px;position:absolute;top:16px;right:20px; }
.ab-val-icon  { font-size:28px;margin-bottom:14px; }
.ab-val-title { font-family:'Playfair Display',serif;font-size:19px;font-weight:600;color:var(--ink);margin-bottom:12px; }
.ab-val-body  { font-size:13px;color:var(--ink-light);line-height:1.75; }
/* ── INFOGRAPHIC SHARED ──────────────────────────────────── */
.ig-section { padding:clamp(40px,5.5vw,72px) clamp(24px,4vw,56px); }
.ig-cream   { background:var(--cream); }
.ig-dark    { background:var(--section-alt); }
.ig-inner   { max-width:1100px;margin:0 auto; }
.ig-h2 { font-family:'Playfair Display',serif;font-size:clamp(22px,3vw,38px);
  font-weight:700;color:var(--ink);line-height:1.15;margin-bottom:12px; }
.ig-h2 em { font-style:italic;color:var(--rust); }
.ig-h2.light { color:var(--ink); }
.ig-body { font-size:15px;color:var(--ink-light);line-height:1.75; }
.ig-body.light { color:var(--ink-light); }
.ig-chart-wrap { margin-top:8px; }
.ig-chart-legend { display:flex;align-items:center;gap:20px;margin-bottom:28px;font-size:12px;color:var(--ink-light); }
.ig-legend-dot   { width:10px;height:10px;border-radius:2px;flex-shrink:0; }
.ig-bars         { display:flex;flex-direction:column;gap:20px; }
.ig-bar-row      { display:grid;grid-template-columns:220px 1fr 1fr;gap:16px;align-items:center; }
.ig-bar-label    { font-size:13px;font-weight:500;color:var(--ink);text-align:right;padding-right:8px;line-height:1.4; }
.ig-bar-label small { font-size:11px;color:var(--ink-light);display:block;margin-top:2px; }
.ig-bar-track    { background:rgba(0,0,0,.06);border-radius:4px;height:12px;overflow:hidden;position:relative; }
.ig-bar          { height:100%;border-radius:4px;width:0%;transition:width 1.1s cubic-bezier(.16,1,.3,1); }
.ig-bar-bad      { background:var(--border); }
.ig-bar-good     { background:linear-gradient(90deg,var(--rust),var(--rust-light)); }
.ig-chart-note   { font-size:11px;color:var(--ink-light);opacity:.55;margin-top:20px;text-align:center;font-style:italic; }
.ig-funnel-wrap  { max-width:680px;margin:0 auto; }
.ig-funnel-step  { display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;
  margin-bottom:12px;opacity:0;transform:translateX(-16px);
  transition:opacity .5s ease,transform .5s ease;transition-delay:var(--delay,0s); }
.ig-funnel-step.ig-visible { opacity:1;transform:translateX(0); }
.ig-funnel-bar   { background:rgba(26,22,18,.06);border-radius:6px;height:36px;overflow:hidden;position:relative; }
.ig-funnel-fill  { height:100%;width:0%;border-radius:6px;transition:width 1.2s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--delay,0s); }
.ig-funnel-label { display:flex;flex-direction:column;align-items:flex-end;min-width:140px; }
.ig-funnel-num   { font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--rust);line-height:1; }
.ig-funnel-text  { font-size:12px;color:var(--ink-light);margin-top:2px; }
.ig-funnel-note  { font-size:12px;color:var(--ink-light);opacity:.6;margin-top:20px;text-align:center;font-style:italic; }
.ig-funnel-wrap.ig-animated .ig-funnel-step:nth-child(1) .ig-funnel-fill { width:100%; }
.ig-funnel-wrap.ig-animated .ig-funnel-step:nth-child(2) .ig-funnel-fill { width:34%; }
.ig-funnel-wrap.ig-animated .ig-funnel-step:nth-child(3) .ig-funnel-fill { width:18%; }
.ig-funnel-wrap.ig-animated .ig-funnel-step:nth-child(4) .ig-funnel-fill { width:9%; }
.ig-funnel-wrap.ig-animated .ig-funnel-step:nth-child(5) .ig-funnel-fill { width:3%; }
.ig-stat-row     { display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:8px; }
.ig-stat-block   { display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px; }
.ig-stat-circle  { position:relative;width:110px;height:110px; }
.ig-stat-circle svg { width:100%;height:100%;transform:rotate(-90deg); }
.ig-circle-track { fill:none;stroke:rgba(0,0,0,.07);stroke-width:5; }
.ig-circle-fill  { fill:none;stroke:var(--stroke-color);stroke-width:5;stroke-linecap:round;
  stroke-dasharray:201;stroke-dashoffset:201;transition:stroke-dashoffset 1.4s cubic-bezier(.16,1,.3,1); }
.ig-circle-num   { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--ink); }
.ig-stat-title   { font-size:13px;font-weight:600;color:var(--ink);line-height:1.5; }
.ig-stat-reason  { font-size:12px;color:var(--ink-light);line-height:1.55; }
.ab-timeline     { margin-top:40px;position:relative; }
/* ═══════════════════════════════════════════════════════════
   CORE ANIMATION CSS — scroll reveal, H1 slot machine, cards
═══════════════════════════════════════════════════════════ */
/* ── Scroll-reveal .anim ──────────────────────────────── */
.anim, .anim-left, .anim-right {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 0.55s cubic-bezier(0.16,1,0.3,1),
              transform 0.55s cubic-bezier(0.16,1,0.3,1);
  will-change: opacity, transform;
}
.anim-left  { transform: translateX(-28px); }
.anim-right { transform: translateX(28px); }
.anim.visible, .anim-left.visible, .anim-right.visible {
  opacity: 1;
  transform: none;
}
/* ── anim-group (services grid, etc.) ────────────────── */
.anim-group { opacity: 0; transition: opacity 0.5s ease, transform 0.5s ease; transform: translateY(16px); }
.anim-group.visible { opacity: 1; transform: none; }
/* ── Hero H1 entrance ────────────────────────────────── */
#hero-h1 {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1),
              transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
#hero-h1.h1-in {
  opacity: 1;
  transform: none;
}
/* ── H1 slot machine wrappers ────────────────────────── */
.h1-line-row {
  display: flex;
  align-items: baseline;
  gap: 0.3em;
  flex-wrap: nowrap;
}
.h1-static {
  font-family: 'Playfair Display', serif;
  font-size: clamp(38px, 5.5vw, 72px);
  font-weight: 700;
  color: var(--ink);
  line-height: 1.08;
  letter-spacing: -2px;
  white-space: nowrap;
}
.h1-static-em {
  font-style: italic;
  color: var(--rust-light);
}
.h1-slot-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: baseline;
  /* height set by JS */
}
.h1-slot-track {
  display: flex;
  flex-direction: column;
  /* transform set by JS */
}
.h1-slot-word {
  font-family: 'Playfair Display', serif;
  font-size: clamp(38px, 5.5vw, 72px);
  font-weight: 700;
  color: var(--rust-dk);
  line-height: 1.08;
  letter-spacing: -2px;
  white-space: nowrap;
  display: block;
  position: relative;
}
.h1-slot-word::after {
  content: '';
  position: absolute;
  bottom: 2px;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--rust);
  opacity: 0;
  transform: scaleX(0);
  transform-origin: left;
  transition: opacity 0.3s, transform 0.35s cubic-bezier(0.16,1,0.3,1);
}
.h1-slot-word.sw-active::after {
  opacity: 0.6;
  transform: scaleX(1);
}
/* ── Service card scroll entrance ────────────────────── */
.service-card {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s cubic-bezier(0.16,1,0.3,1),
              transform 0.5s cubic-bezier(0.16,1,0.3,1),
              box-shadow 0.3s ease;
}
.service-card.sc-visible {
  opacity: 1;
  transform: none;
}
/* ── Problem item pulse entrance ─────────────────────── */
.problem-item {
  opacity: 0;
  transform: translateX(-12px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.problem-item.p-in {
  opacity: 1;
  transform: none;
}
/* ── Logo marquee ────────────────────────────────────── */
.logos-marquee-wrap {
  overflow: hidden;
  flex: 1;
  min-width: 0;
}
.logos-track {
  display: flex;
  gap: 48px;
  animation: marquee 22s linear infinite;
  width: max-content;
}
.logos-track:hover { animation-play-state: paused; }
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
/* ── Scroll progress bar ─────────────────────────────── */
#scroll-prog {
  position: fixed;
  top: 0; left: 0;
  height: 3px;
  width: 0%;
  background: linear-gradient(90deg, var(--rust), var(--gold));
  z-index: 9999;
  pointer-events: none;
  transition: width 0.1s linear;
}
/* ── Page fade overlay ───────────────────────────────── */
/* ── Custom cursor ───────────────────────────────────── */
/* ── Hero body text / note ───────────────────────────── */
.hero-body { color: var(--ink-light); max-width:520px; margin-bottom:8px; }
.hero-note { font-size:12px; color:var(--ink-light); opacity:.5; margin-top:12px; }
/* ── Hero stat floats ────────────────────────────────── */
.hero-stat-float {
  position: absolute;
  background: rgba(250,248,244,0.95);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px 18px;
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 28px var(--shadow-md);
  min-width: 130px;
}
.hero-stat-float.tl { top: 20px;  left: -20px; }
.hero-stat-float.br { bottom: 20px; right: -16px; }
.hsf-num { font-family:'Playfair Display',serif; font-size:28px; font-weight:700;
  color:var(--ink); line-height:1; margin-bottom:4px; }
.hsf-lbl { font-size:11px; color:var(--ink-light); line-height:1.4; }
@media (hover:hover) and (pointer:fine) {
  .service-card:hover { transform:translateY(-6px); box-shadow:0 20px 48px var(--shadow-lg); }
  .service-card:hover::before { transform:scaleX(1); }
  .nav-links li button:hover { color:var(--rust-dk); }
  .btn-primary:hover  { background:var(--rust-light); transform:translateY(-1px); box-shadow:0 8px 24px rgba(200,82,42,.3); }
  .btn-outline:hover  { background:rgba(255,255,255,.08); }
  .rp-feat-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px var(--shadow-md); }
  .rp-feat-card:hover::before { transform:scaleX(1); }
  .ab-hosp-card:hover { transform:translateY(-5px); box-shadow:0 16px 40px var(--shadow-md); }
  .ab-hosp-card:hover::after { transform:scaleX(1); }
  .opd-result-card:hover { border-color:var(--rust); transform:translateY(-3px); }
  .em-feat:hover { border-color:var(--rust); transform:translateX(4px); }
  .ab-val:hover  { background:rgba(200,82,42,.1); border-color:rgba(200,82,42,.25); transform:translateY(-5px); }
  .ab-val:hover::before { transform:scaleX(1); }
  .ab-hero-stat:hover { background:rgba(200,82,42,.12); }
}
@media (hover:none),(pointer:coarse) {
}
/* ── 1300px — max content width adjustments ──────────────── */
@media (max-width:1300px) {
  .ab-hosp-grid { grid-template-columns:1.2fr 1fr 1fr 1fr 1fr; }
  .opd-layers   { gap:12px; }
}
/* ── 1024px — tablet landscape / small desktop ───────────── */
@media (max-width:1024px) {
  /* Nav */
  nav          { padding:14px 24px; -webkit-backdrop-filter:none; backdrop-filter:none; background:rgba(245,245,245,.99); }
  /* Disable scroll animations — filter:blur compositing breaks mobile transitions */
  .anim, .anim-left, .anim-right, .anim-group, .anim-group > * {
    opacity:1 !important; transform:none !important; filter:none !important;
    transition:none !important;
  }
  /* Hero */
  .hero { grid-template-columns:1fr; gap:40px; padding:100px 32px 48px; }
  .hero-visual { max-width:100%; padding:0; }
  .hero-visual-img svg { max-width:480px; margin:0 auto; display:block; }
  /* Home sections */
  .problem-grid { grid-template-columns:1fr; gap:32px; }
  .services-grid { grid-template-columns:1fr 1fr; }
  /* Inner hero */
  .inner-hero       { padding:88px 32px 40px; }
  .inner-hero-wrap  { grid-template-columns:1fr; gap:32px; }
  .inner-hero-visual { max-width:100%; box-shadow:0 12px 32px var(--shadow); }
  .inner-hero-visual img,
  .inner-hero-visual svg { width:100%; height:auto; max-width:560px; margin:0 auto; display:block; }
  /* Video page */
  .vi-hero-inner    { grid-template-columns:1fr; }
  .vi-hero-visual   { max-width:100%; }
  .vi-triggers      { grid-template-columns:1fr 1fr; }
  .vi-journey       { grid-template-columns:1fr 1fr; }
  .vi-split         { grid-template-columns:1fr; }
  .vi-split-divider { display:none; }
  /* Paid */
  .pm-hero-inner    { grid-template-columns:1fr; }
  .pm-section-top   { grid-template-columns:1fr; }
  .pm-pillars       { grid-template-columns:1fr 1fr; }
  /* SEO / shared rp- */
  .rp-feats-grid    { grid-template-columns:1fr 1fr; }
  .rp-split         { grid-template-columns:1fr; }
  .rp-vs-badge      { display:none; }
  .rp-diff-grid     { grid-template-columns:1fr!important; }
  /* Social */
  .so-compare       { flex-direction:column; }
  .so-arrow-right   { transform:rotate(90deg); }
  /* Email */
  .em-layout        { grid-template-columns:1fr; }
  /* OPD */
  .opd-layers       { grid-template-columns:1fr 1fr; }
  .opd-layer-arrow  { display:none; }
  /* About */
  .ab-hero-inner    { grid-template-columns:1fr; }
  .ab-hero-visual   { max-width:100%; }
  .ab-hero-visual img { width:100%; height:auto; max-width:560px; margin:0 auto; display:block; border-radius:16px; }
  .ab-hosp-grid     { grid-template-columns:1fr 1fr 1fr; }
  .ab-founder-grid  { grid-template-columns:1fr; }
  .ab-values-grid   { grid-template-columns:1fr 1fr; }
  .ab-hero-stats    { grid-template-columns:repeat(3,1fr); }
  /* Infographics */
  .ig-stat-row      { grid-template-columns:repeat(3,1fr); }
  /* CTA */
  .cta-inner        { flex-direction:column; gap:24px; text-align:center; }
  .cta-text         { max-width:100%; }
  .cta-strip h2     { font-size:clamp(20px,3.5vw,32px); }
  /* Related */
  .related-inner    { flex-direction:column; gap:12px; }
  .related-btns     { flex-wrap:wrap; }
  /* Footer */
  .footer-top       { grid-template-columns:1fr 1fr; gap:40px; }
  .footer-inner     { padding:48px 32px 24px; }
}
/* ── 900px — tablet portrait ─────────────────────────────── */
@media (max-width:900px) {
  .hero { padding:90px 24px 40px; }
  .h1-slot-word { font-size:clamp(32px,5.5vw,52px); }
  .h1-static    { font-size:clamp(32px,5.5vw,52px); }
  .vi-journey { grid-template-columns:1fr 1fr; }
  .ab-hosp-grid { grid-template-columns:1fr 1fr; }
}
/* ── 768px — tablet ──────────────────────────────────────── */
@media (max-width:768px) {
  /* Typography */
  .ab-h1, .opd-h1 { font-size:clamp(30px,6vw,46px); }
  .vi-h1, .pm-h1  { font-size:clamp(28px,5.5vw,42px); }
  .ab-h2, .opd-h2, .ig-h2, .rp-h2 { font-size:clamp(22px,4.5vw,34px); }
  .h2  { font-size:clamp(22px,4vw,34px); }
  /* Hero */
  .hero         { padding:80px 20px 36px; }
  .hero-visual  { padding:0; }
  .h1-slot-word { font-size:clamp(28px,7vw,46px); }
  .h1-static    { font-size:clamp(28px,7vw,46px); }
  /* Home */
  .services-grid  { grid-template-columns:1fr 1fr; gap:16px; }
  .problem-grid   { grid-template-columns:1fr; }
  .problem-list   { grid-template-columns:1fr; }
  /* Inner hero */
  .inner-hero-wrap   { grid-template-columns:1fr; }
  .inner-hero-visual { max-width:100%; }
  .inner-hero        { padding:80px 20px 32px; }
  /* Video */
  .vi-hero-inner  { grid-template-columns:1fr; }
  .vi-hero-visual { max-width:100%; }
  .vi-hero        { padding:80px 20px 40px; }
  .vi-triggers    { grid-template-columns:1fr; }
  .vi-stats       { grid-template-columns:1fr 1fr; gap:12px; }
  .vi-journey     { grid-template-columns:1fr; }
  .vi-j-step:last-child { max-width:100%; }
  /* Paid */
  .pm-funnel          { grid-template-columns:1fr; gap:16px; }
  .pm-funnel::before  { display:none; }
  .pm-stage           { padding:0; }
  .pm-compare-row     { grid-template-columns:1fr; }
  .pm-compare-head    { display:none; }
  .pm-cr-before, .pm-cr-after { border-left:none; border-top:1px solid var(--border); }
  .pm-cr-after        { border-left:3px solid var(--rust); border-top:none; }
  .pm-ads-compare     { grid-template-columns:1fr; gap:20px; }
  .pm-ad-vs           { display:none; }
  .pm-section-inner [style*="grid-template-columns:1fr 1fr"] { grid-template-columns:1fr!important; }
  .pm-section-inner [style*="grid-template-columns:repeat(3"] { grid-template-columns:1fr!important; }
  /* Infographics */
  .ig-bar-row   { grid-template-columns:1fr; gap:8px; }
  .ig-bar-label { text-align:left; padding-right:0; }
  .ig-stat-row  { grid-template-columns:1fr; gap:24px; }
  /* OPD */
  .opd-layers       { grid-template-columns:1fr; }
  .opd-results-row  { grid-template-columns:1fr 1fr; }
  /* About */
  .ab-hero          { padding:80px 20px 40px; }
  .ab-founder-grid  { grid-template-columns:1fr; gap:40px; }
  .ab-values-grid   { grid-template-columns:1fr 1fr; }
  .ab-hosp-grid     { grid-template-columns:1fr 1fr; }
  /* Footer */
  .footer-top     { grid-template-columns:1fr 1fr; }
  .footer-bottom  { flex-direction:column; gap:6px; text-align:center; }
  /* OPD results — 2 col at tablet */
  .opd-results-grid { grid-template-columns:1fr 1fr; }
  /* About hero stats — 2 col at tablet */
  .ab-hero-stats    { grid-template-columns:1fr 1fr; gap:12px; }
  /* PM funnel — 1 col at tablet */
  .pm-funnel        { grid-template-columns:1fr; gap:16px; }
  .pm-stage-arrow   { display:block; text-align:center; padding:8px 0; }
  /* About decorative numbers */
  .ab-val-num       { font-size:36px; }
  /* SVG ad visuals */
  .pm-ad-visual svg { max-height:220px; }
}
/* ── 640px — large mobile ────────────────────────────────── */
@media (max-width:640px) {
  /* Nav */
  .nav-logo svg { height:36px; }
  /* Two-col layout — stack on mobile */
  .two-col { grid-template-columns:1fr; gap:32px; }
  /* Hero */
  .hero           { padding:72px 16px 32px; }
  .h1-slot-word   { font-size:clamp(26px,8vw,40px); }
  .h1-static      { font-size:clamp(26px,8vw,40px); }
  .hero-stat-float { display:none; }
  .hero-actions   { flex-direction:column; gap:12px; }
  .btn-primary, .btn-outline { width:100%; justify-content:center; text-align:center; }
  /* Home */
  .services-grid  { grid-template-columns:1fr; }
  .service-card   { padding:24px 20px; }
  .logos-list     { gap:16px; }
  .problem-item   { padding:16px; }
  /* Paid */
  .pm-pillars     { grid-template-columns:1fr; }
  .pm-hero-pills  { gap:6px; }
  .pm-kpi-card    { padding:18px 14px; }
  .pm-kpi-n       { font-size:28px; }
  .vi-stats       { grid-template-columns:1fr; }
  /* SEO / rp */
  .rp-feats-grid  { grid-template-columns:1fr; }
  .rp-feat-card   { padding:22px 18px; }
  /* OPD */
  .opd-results-grid { grid-template-columns:1fr 1fr; }
  .opd-step         { grid-template-columns:48px 1fr; }
  .opd-step-right   { padding-left:12px; }
  .opd-layers       { grid-template-columns:1fr; }
  /* About */
  .ab-hosp-grid   { grid-template-columns:1fr 1fr; }
  .ab-values-grid { grid-template-columns:1fr; }
  .ab-hero-stats  { grid-template-columns:1fr 1fr; }
  /* Infographics */
  .ig-funnel-label { min-width:80px; }
  .ig-funnel-num   { font-size:18px; }
  /* OPD timeline */
  .opd-timeline   { padding-left:0; }
  .ab-tl-items    { padding-left:48px; }
  /* CTA */
  .btn-white      { width:100%; text-align:center; }
  /* Footer */
  .footer-top     { grid-template-columns:1fr; gap:32px; }
  .footer-bottom  { flex-direction:column; gap:8px; font-size:12px; }
  .footer-logo svg { height:32px; }
}
/* ── 480px — standard mobile ─────────────────────────────── */
@media (max-width:480px) {
  /* Nav */
  nav           { padding:10px 16px; }
  .nav-logo svg { height:32px; }
  /* All heroes — reduce padding */
  .hero                         { padding:64px 16px 28px; }
  .inner-hero                   { padding:64px 16px 24px; }
  .opd-hero, .ab-hero,
  .vi-hero, .pm-hero            { padding:64px 16px 28px; }
  .vi-hero-inner,
  .pm-hero-inner,
  .opd-hero-inner,
  .ab-hero-inner                { gap:24px; }
  /* Section padding */
  .section, .rp-section,
  .ig-section, .opd-steps-section,
  .ab-hospitals-section,
  .ab-founder-section,
  .ab-values-section            { padding:36px 16px; }
  /* Typography */
  .h1-slot-word                 { font-size:clamp(24px,9vw,36px); }
  .h1-static                    { font-size:clamp(24px,9vw,36px); }
  .h2, .ab-h2, .opd-h2,
  .rp-h2, .ig-h2,
  .vi-h2, .pm-h2                { font-size:clamp(20px,5vw,30px); }
  .ab-h1, .opd-h1,
  .vi-h1, .pm-h1                { font-size:clamp(26px,7vw,38px); }
  /* Service cards */
  .s-icon                       { font-size:24px; }
  .s-title                      { font-size:15px; }
  .s-desc                       { font-size:13px; }
  /* OPD */
  .opd-results-grid             { grid-template-columns:1fr; }
  .opd-step                     { grid-template-columns:44px 1fr; }
  /* About */
  .ab-hosp-grid                 { grid-template-columns:1fr; }
  .ab-hero-stats                { grid-template-columns:1fr; }
  .ab-values-grid               { grid-template-columns:1fr; }
  /* Infographics */
  .ig-stat-row                  { grid-template-columns:1fr; }
  .ig-bar-row                   { grid-template-columns:1fr; }
  /* Paid comparison */
  .pm-ads-compare               { grid-template-columns:1fr; }
  .pm-ad-img                    { height:200px; }
  /* Footer */
  .footer-top                   { grid-template-columns:1fr; }
  .fc-links                     { flex-wrap:wrap; }
  /* Form */
  /* PM compare on mobile — stack headers */
  .pm-cv-head   { display:none; }
  .pm-cv-factor { background:var(--section-alt); font-size:12px; padding:10px 14px; }
  .pm-cv-bad span, .pm-cv-good span { font-size:12px; }
}
/* ── 380px — small mobile ────────────────────────────────── */
@media (max-width:380px) {
  nav                   { padding:8px 12px; }
  .nav-logo svg         { height:28px; }
  .hero                 { padding:60px 12px 24px; }
  .h1-slot-word         { font-size:clamp(22px,10vw,32px); }
  .h1-static            { font-size:clamp(22px,10vw,32px); }
  .btn-primary,
  .btn-outline          { padding:12px 16px; font-size:13px; }
  .service-card         { padding:18px 14px; }
  .rp-feat-card         { padding:18px 14px; }
  .ab-stat-n            { font-size:28px; }
  .vi-stat-num          { font-size:22px; }
  .pm-kpi-n             { font-size:24px; }
  .footer-inner         { padding:32px 12px 20px; }
}
/* ── Simple cursor dot ─────────────────────────────────── */
@media (hover:none),(pointer:coarse) {  }
/* cursor */
#cur-dot.h { transform: translate(-50%,-50%) scale(2.2); opacity: 0.5; }
#cur-dot.c { transform: translate(-50%,-50%) scale(0.5); }
@media (hover:none),(pointer:coarse) { #cur-dot { display:none; } }
/* ── Animated comparison visual (paid page) ── */
.pm-compare-visual {
  margin-top: 40px;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
  background: white;
}
.pm-cv-head {
  background: var(--cream);
  border-bottom: 2px solid var(--border);
}
.pm-cv-row {
  display: grid;
  grid-template-columns: 180px 1fr 1fr;
  border-bottom: 1px solid var(--border);
}
.pm-cv-row:last-child { border-bottom: none; }
.pm-cv-factor-col, .pm-cv-bad-col, .pm-cv-good-col {
  padding: 14px 20px;
}
.pm-cv-badge {
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
}
.bad-cv-badge  { color: var(--ink-light); opacity:.55; }
.good-cv-badge { color: var(--rust-dk); }
.pm-cv-factor {
  padding: 18px 20px;
  font-size: 13px; font-weight: 600; color: var(--ink);
  display: flex; align-items: center;
  border-right: 1px solid var(--border);
  background: var(--cream);
}
.pm-cv-bad, .pm-cv-good {
  padding: 16px 20px;
  display: flex; flex-direction: column; gap: 8px;
}
.pm-cv-bad  { border-right: 1px solid var(--border); }
.pm-cv-good { border-left: 3px solid var(--rust); }
.pm-cv-bar {
  height: 4px; border-radius: 2px; width: 0%;
  transition: width 1s cubic-bezier(.16,1,.3,1);
}
.bad-bar  { background: #DDD; }
.good-bar { background: linear-gradient(90deg, var(--rust), var(--rust-light)); }
.pm-cv-bad span, .pm-cv-good span {
  font-size: 13px; color: var(--ink-light); line-height: 1.55;
}
.pm-cv-good span { color: var(--ink); }
@media(max-width:768px) {
  .pm-cv-row { grid-template-columns: 1fr; }
  .pm-cv-factor { border-right: none; border-bottom: 1px solid var(--border); }
  .pm-cv-bad  { border-right: none; border-bottom: 1px solid var(--border); }
  .pm-cv-good { border-left: none; border-top: 3px solid var(--rust); }
}
/* vi-j-dot and vi-j-card styles defined in VIDEO PAGE section above */
/* ── Video comparison section ── */
.vi-compare-section {
  background: var(--section-alt);
  padding: clamp(48px,6vw,80px) clamp(24px,4vw,56px);
}
.vi-compare-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 0;
  margin-top: 40px;
  border: 1px solid var(--border);
  border-radius: 20px;
  overflow: hidden;
}
.vi-compare-col { padding: 36px 32px; }
.vi-compare-bad  { background: white; }
.vi-compare-good { background: var(--cream); }
.vi-compare-col-label {
  font-size: 13px; font-weight: 700;
  color: var(--ink); margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 2px solid var(--border);
}
.vi-compare-good .vi-compare-col-label { border-color: var(--rust); color: var(--rust-dk); }
.vi-compare-items { display: flex; flex-direction: column; gap: 14px; }
.vi-compare-item {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 14px; line-height: 1.5; color: var(--ink-light);
}
.vi-compare-good .vi-compare-item { color: var(--ink); font-weight: 500; }
.vi-ci-icon { font-size: 18px; flex-shrink: 0; margin-top: 1px; }
.vi-compare-divider {
  width: 60px;
  display: flex; align-items: center; justify-content: center;
  background: var(--border);
  position: relative;
}
.vi-compare-divider span {
  font-size: 11px; font-weight: 700; letter-spacing: 1px;
  color: var(--ink-light);
  background: var(--border);
  padding: 6px 0;
  writing-mode: vertical-lr;
  text-orientation: mixed;
}
@media(max-width:768px) {
  .vi-compare-grid { grid-template-columns: 1fr; }
  .vi-compare-divider { width: 100%; height: 40px; writing-mode: horizontal-tb; }
  .vi-compare-divider span { writing-mode: horizontal-tb; padding: 0 8px; }
}
/* ══════════════════════════════════════════════════════
   UX + CONTRAST IMPROVEMENTS
══════════════════════════════════════════════════════ */
/* Global polish */
* { box-sizing: border-box; }
::selection { background: var(--rust-pale); color: var(--ink); }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--cream); }
::-webkit-scrollbar-thumb { background: var(--border); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--rust-light); }
html { scroll-behavior: smooth; }
/* Focus styles — accessible keyboard navigation */
:focus-visible {
  outline: 2px solid var(--rust);
  outline-offset: 3px;
  border-radius: 4px;
}
button:focus-visible { outline-offset: 4px; }
/* Body */
body {
  font-family: 'DM Sans', sans-serif;
  background: var(--cream);
  color: var(--ink);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  -webkit-tap-highlight-color: transparent;
}
/* Improved nav */
nav { border-bottom: 1px solid transparent; transition: border-color .3s, box-shadow .3s; }
nav.scrolled { border-bottom-color: var(--border); }
.nav-links li > button {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  letter-spacing: 0.1px;
  transition: color .2s;
  position: relative;
  padding-bottom: 2px;
}
.nav-links li > button::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0; right: 0;
  height: 2px;
  background: var(--rust);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s cubic-bezier(.16,1,.3,1);
}
.nav-links li > button:hover { color: var(--rust-dk); }
.nav-links li > button:hover::after { transform: scaleX(1); }
.nav-links li > a.nav-active,.nav-links li > button.nav-active { color: var(--rust-dk); font-weight: 600; }
.nav-links li > a.nav-active::after,.nav-links li > button.nav-active::after { transform: scaleX(1); }
/* Buttons — improved */
.btn-primary {
  background: var(--rust);
  color: white;
  padding: 14px 30px;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  letter-spacing: 0.2px;
  transition: background .2s, transform .15s, box-shadow .2s;
  display: inline-flex; align-items: center; gap: 6px;
}
.btn-primary:hover {
  background: var(--rust-dk);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(160,60,20,.3);
}
.btn-primary:active { transform: translateY(0); }
.btn-outline {
  background: transparent;
  color: var(--ink);
  padding: 13px 28px;
  border-radius: 100px;
  font-size: 15px;
  font-weight: 600;
  border: 1.5px solid var(--border);
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
}
.btn-outline:hover {
  border-color: var(--ink);
  background: rgba(26,22,18,.04);
}
.btn-white {
  background: white;
  color: var(--ink);
  border: none;
  border-radius: 100px;
  padding: 16px 32px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform .2s, box-shadow .2s;
  white-space: nowrap;
  letter-spacing: 0.2px;
}
.btn-white:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,.15);
}
/* Form — comprehensive styling */
.form-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 36px 32px;
  box-shadow: 0 4px 24px rgba(26,22,18,.06);
}
.form-title {
  font-family: 'Playfair Display', serif;
  font-size: 22px;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--border);
}
.form-group {
  margin-bottom: 20px;
}
.form-label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 7px;
  letter-spacing: 0.1px;
}
.form-input,
.form-select,
.form-textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1.5px solid var(--border);
  border-radius: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: 14px;
  color: var(--ink);
  background: var(--cream);
  transition: border-color .2s, box-shadow .2s, background .2s;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  font-size: 16px; /* prevent iOS zoom */
}
.form-input::placeholder,
.form-textarea::placeholder {
  color: var(--ink-light);
  opacity: 0.45;
}
.form-input:focus,
.form-select:focus,
.form-textarea:focus {
  border-color: var(--rust);
  box-shadow: 0 0 0 3px rgba(200,82,42,.12);
  background: white;
  outline: none;
}
.form-input:hover,
.form-select:hover,
.form-textarea:hover {
  border-color: var(--ink-light);
}
.form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234A3F35' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
}
.form-textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.6;
}
/* Service cards — improved */
.service-card {
  background: white;
  border: 1px solid var(--border);
  border-radius: 20px;
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  transition: transform .25s cubic-bezier(.16,1,.3,1),
              box-shadow .25s,
              border-color .2s;
}
.service-card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--rust), var(--rust-light));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s cubic-bezier(.16,1,.3,1);
}
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 48px rgba(26,22,18,.10);
  border-color: rgba(200,82,42,.2);
}
.service-card:hover::before { transform: scaleX(1); }
.service-card.sc-visible { opacity: 1; transform: translateY(0); }
.service-card.sc-visible:hover { transform: translateY(-5px); }
/* S-link improved */
.s-link {
  background: none;
  border: none;
  font-size: 13px;
  font-weight: 600;
  color: var(--rust-dk);
  cursor: pointer;
  padding: 0;
  margin-top: 12px;
  display: inline-flex; align-items: center; gap: 4px;
  transition: gap .2s, color .2s;
}
.s-link:hover { color: var(--rust); gap: 8px; }
/* Related bar buttons */
.rel-btn {
  background: white;
  border: 1px solid var(--border);
  border-radius: 100px;
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s, transform .15s;
}
.rel-btn:hover {
  border-color: var(--rust);
  color: var(--rust-dk);
  background: var(--rust-pale);
  transform: translateY(-1px);
}
/* Eyebrow label */
.eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: var(--rust-dk);
  margin-bottom: 14px;
}
.eyebrow.light { color: var(--rust-dk); }
/* Smooth page transitions */
.page { animation: none; }
.page.active { animation: pageIn .18s ease both; }
@keyframes pageIn { from { opacity:0; } to { opacity:1; } }
/* Logos strip */
.logo-item {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-light);
  white-space: nowrap;
  opacity: 0.7;
  letter-spacing: 0.5px;
  transition: opacity .2s;
}
.logo-item:hover { opacity: 1; }
/* Problem items */
.problem-item {
  background: white;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 18px 20px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  transition: border-color .2s, transform .2s;
}
.problem-item:hover {
  border-color: rgba(200,82,42,.25);
  transform: translateX(4px);
}
.p-icon { font-size: 20px; flex-shrink: 0; margin-top: 1px; }
.p-text { font-size: 14px; color: var(--ink); line-height: 1.6; font-weight: 500; }
.ab-hosp-featured-tag {
  margin-top:10px;
  display:inline-block;
  font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;
  color:white;background:var(--rust);padding:3px 10px;border-radius:100px;
}
/* ══════════════════════════════════════════════════════════════
   UX & MOBILE IMPROVEMENTS
   ══════════════════════════════════════════════════════════════ */
/* 1. Problem items — fix visibility on light background */
.problem-item {
  background: rgba(255,255,255,.75);
  border: 1px solid var(--border);
}
.problem-item:hover {
  background: white;
  border-color: rgba(240,112,48,.3);
}
.p-icon { background: var(--rust-pale); }
/* 2. Mobile nav — fix dropdown text invisible on dark bg */
.nav-links.mobile-open .dropdown button {
  color: rgba(255,255,255,.8) !important;
  background: transparent;
}
.nav-links.mobile-open .dropdown button:hover {
  color: white !important;
  background: rgba(255,255,255,.1) !important;
}
/* Mobile nav items — remove bottom border, use rounded rows */
.nav-links.mobile-open li button {
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 0;
  letter-spacing: .3px;
}
/* Schedule a Call button inside mobile menu */
.nav-links.mobile-open .nav-cta {
  background: var(--rust) !important;
  color: white !important;
  border-radius: 100px !important;
  text-align: center !important;
  margin-top: 8px;
  border-bottom: none !important;
}
/* 3. Global focus ring */
:focus-visible {
  outline: 2px solid var(--rust);
  outline-offset: 3px;
  border-radius: 6px;
}
/* 4. Touch device — better tap targets & remove hover transforms */
@media (hover:none),(pointer:coarse) {
  /* min tap target */
  .btn-primary, .btn-outline, .btn-white { min-height:48px; }
  .s-link { padding:8px 0; min-height:44px; display:inline-flex; align-items:center; }
  .opd-tag { min-height:40px; display:inline-flex; align-items:center; }
  /* remove mouse-only hover effects */
  .problem-item:hover  { transform:none; background:rgba(255,255,255,.75); border-color:var(--border); }
  .service-card:hover  { transform:none; box-shadow:none; }
  .service-card:hover::after { transform:scaleX(0); }
  .rp-feat-card:hover  { transform:none; box-shadow:none; }
  /* add active press feedback */
  .service-card:active  { transform:scale(.98); box-shadow:0 8px 24px var(--shadow-md); }
  .btn-primary:active   { opacity:.88; transform:scale(.98); }
  .btn-outline:active   { opacity:.88; transform:scale(.98); }
  .s-link:hover { gap:6px; }
}
/* 5. Logo strip — hide label on small mobile to give marquee full width */
@media (max-width:520px) {
  .logos-label { display:none; }
  .logos-inner { gap:0; }
  .logos-strip { padding:18px 0; overflow:hidden; }
}
/* 6. OPD hero tags — better spacing on mobile */
@media (max-width:520px) {
  .opd-hero-tags { gap:10px; }
  .opd-tag { font-size:13px; padding:8px 16px; }
}
/* 7. Hero — tighten sub-text on very small screens */
@media (max-width:480px) {
  .hero-sub { font-size:15px; line-height:1.65; }
  .hero-meta { font-size:12px; }
  .hero-eyebrow { font-size:11px; padding:5px 13px; }
}
/* 8. Services grid — full bleed cards on very small mobile */
@media (max-width:380px) {
  .services-grid { gap:12px; }
  .service-card  { border-radius:14px; padding:20px 16px; }
}
/* 9. Section section-alt bg — subtle blue tint looks right */
.problem-bg { background: var(--section-alt); }
/* 10. CTA strip — better mobile padding */
@media (max-width:480px) {
  .cta-strip { padding:40px 20px; }
  .cta-strip h2 { font-size:clamp(19px,5vw,26px); }
  .cta-inner  { gap:20px; }
}
/* 11. Footer — better mobile spacing */
@media (max-width:480px) {
  .footer-nav-group h4 { font-size:11px; margin-bottom:10px; }
  .footer-nav-group a  { font-size:13px; padding:3px 0; min-height:36px; display:flex; align-items:center; }
}
/* 12. Scroll-to-top button */
#scroll-top {
  position:fixed; bottom:24px; right:20px; z-index:190;
  width:42px; height:42px; border-radius:50%;
  background:var(--ink); color:white;
  border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  font-size:18px; box-shadow:0 4px 16px var(--shadow-md);
  opacity:0; pointer-events:none;
  transition:opacity .25s, transform .25s;
  transform:translateY(8px);
}
#scroll-top.visible { opacity:1; pointer-events:auto; transform:translateY(0); }
#scroll-top:hover   { background:var(--rust); transform:translateY(-2px); }
#scroll-top:active  { transform:scale(.93); }
/* 13. Better breadcrumb tap area */
.breadcrumb a, .breadcrumb span { min-height:36px; display:inline-flex; align-items:center; }
/* 14. Mobile — related service buttons full-width */
@media (max-width:480px) {
  .related-btns { flex-direction:column; }
  .related-btns button { width:100%; justify-content:center; padding:12px 20px; }
}
/* 15. Inner hero sections — better vertical padding on mobile */
@media (max-width:480px) {
  .inner-hero { padding:72px 16px 28px; }
  .rp-section, .ig-section { padding:36px 16px 40px; }
}
/* ══════════════════════════════════════════════════════
   UX ENHANCEMENTS — Mobile Nav, Floating CTA, Form
══════════════════════════════════════════════════════ */
/* Hamburger → X morphing */
.hamburger span{transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .25s ease;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0);}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* Mobile dim overlay */
#mob-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.55);
  z-index:299;opacity:0;pointer-events:none;
  transition:opacity .35s ease;
}
#mob-overlay.visible{opacity:1;pointer-events:all;}
/* Mobile nav — slide in from right */
@media (max-width:1024px){
  .hamburger{display:flex;}
  .nav-links{
    display:flex!important;
    flex-direction:column;
    position:fixed;top:0;right:0;bottom:0;left:auto;
    width:min(300px,82vw);
    height:100vh;height:100dvh;
    background:var(--ink);z-index:300;
    padding:72px 28px 40px;gap:6px;overflow-y:auto;
    visibility:hidden;
    opacity:0;
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .28s ease,visibility 0s linear .35s;
    pointer-events:none;
    box-shadow:-8px 0 40px rgba(0,0,0,.3);
  }
  .nav-links.mobile-open{
    visibility:visible;
    opacity:1;
    transform:translateX(0);
    transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .25s ease,visibility 0s linear 0s;
    pointer-events:all;
  }
  .nav-links li { width:100%; }
  .nav-links li button {
    width:100%; text-align:left; padding:14px 0;
    font-size:18px; color:white; border-bottom:1px solid rgba(255,255,255,.07);
  }
  .nav-links .has-dd button { color:white; }
  .nav-links .dropdown {
    position:static; background:rgba(255,255,255,.07);
    border:none; box-shadow:none; border-radius:10px;
    padding:0; margin:0; min-width:0;
    max-height:0; overflow:hidden; opacity:0;
    transition:max-height .3s ease, opacity .25s ease, padding .3s ease, margin .3s ease;
  }
  .nav-links .has-dd.dd-open .dropdown {
    max-height:400px; opacity:1; pointer-events:all; transform:none;
    padding:6px; margin:4px 0 8px;
  }
  .nav-links .dropdown button { color:rgba(255,255,255,.85); font-size:14px; padding:10px 14px; }
  .mob-nav-close{
    display:flex;align-items:center;justify-content:center;
    position:absolute;top:18px;right:18px;
    width:34px;height:34px;border-radius:50%;
    background:rgba(255,255,255,.12);border:none;
    cursor:pointer;color:white;font-size:17px;
    transition:background .2s;
  }
  .mob-nav-close:hover{background:rgba(255,255,255,.22);}
}
@media (min-width:1025px){
  .mob-nav-close{display:none!important;}
}
/* Floating CTA */
#float-cta{
  position:fixed;bottom:28px;right:28px;z-index:997;
  display:flex;align-items:center;gap:9px;
  background:var(--rust);color:white;
  padding:13px 22px;border-radius:100px;
  font-family:'DM Sans',sans-serif;font-size:14px;font-weight:700;
  box-shadow:0 8px 32px rgba(200,82,42,.45);
  border:none;cursor:pointer;
  opacity:0;transform:translateY(24px) scale(.94);
  transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1),background .2s,box-shadow .2s;
  pointer-events:none;
  letter-spacing:.2px;
}
#float-cta.visible{opacity:1;transform:translateY(0) scale(1);pointer-events:all;}
#float-cta:hover{background:var(--rust-dk);box-shadow:0 14px 40px rgba(200,82,42,.55);transform:translateY(-3px) scale(1.03)!important;}
@media(max-width:640px){
  #float-cta{padding:12px 18px;font-size:13px;bottom:20px;right:14px;}
}
/* Form validation */
.form-group{position:relative;}
.form-error{display:none;font-size:12px;color:#e53935;margin-top:5px;font-weight:500;padding-left:2px;}
.form-group.has-error .form-input,
.form-group.has-error .form-select,
.form-group.has-error .form-textarea{border-color:#e53935!important;box-shadow:0 0 0 3px rgba(229,57,53,.1)!important;}
.form-group.has-error .form-error{display:block;}
.form-group.is-valid .form-input,
.form-group.is-valid .form-select{border-color:#43a047!important;box-shadow:0 0 0 3px rgba(67,160,71,.08)!important;}
/* Submit loading / success states */
.cf-spinner{
  display:inline-block;width:14px;height:14px;
  border:2px solid rgba(255,255,255,.3);border-top-color:white;
  border-radius:50%;animation:cf-spin .75s linear infinite;
  vertical-align:middle;margin-right:6px;
}
@keyframes cf-spin{to{transform:rotate(360deg)}}
#cf-submit.cf-success{background:#2e7d32!important;box-shadow:none!important;transform:none!important;}
#cf-submit:disabled{cursor:default;opacity:.8;}
/* ── Video Journey Prog Cards (replaces SVG) ── */
.vj-prog{display:grid;grid-template-columns:repeat(4,1fr);border-radius:16px;overflow:visible;border:1px solid var(--border);margin-bottom:48px;}
.vj-prog{border-color:rgba(255,255,255,.1)!important;}
.vj-ps{padding:22px 16px 22px;border-right:1px solid rgba(255,255,255,.1);position:relative;transition:background .2s,box-shadow .2s;cursor:pointer;background:rgba(255,255,255,.06);}
.vj-ps:last-child{border-right:none;}
.vj-ps:hover,.vj-ps.vjs-on{background:rgba(200,82,42,.15);box-shadow:inset 0 -3px 0 var(--rust);}
.vj-ps-num{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--rust-light);margin-bottom:14px;}
.vj-ps-icon{font-size:22px;margin-bottom:10px;line-height:1;}
.vj-ps-svg{display:block;margin-bottom:12px;}
.vj-ps-name{font-family:'Playfair Display',serif;font-size:14px;font-weight:600;color:white;margin-bottom:10px;line-height:1.35;}
.vj-ps-pill{display:inline-block;font-size:11px;font-weight:600;color:var(--rust-light);background:rgba(200,82,42,.15);border-radius:100px;padding:3px 10px;border:1px solid rgba(200,82,42,.2);}
.vj-ps:hover .vj-ps-pill,.vj-ps.vjs-on .vj-ps-pill{background:rgba(200,82,42,.25);}
.vj-ps-arr{position:absolute;right:-13px;top:calc(50% - 13px);width:26px;height:26px;background:var(--rust);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:white;z-index:2;box-shadow:0 2px 8px rgba(240,112,48,.35);}
.vj-ps:last-child .vj-ps-arr{display:none;}
.vj-ps{opacity:0;transform:translateY(18px);}
.vj-ps.vjs-in{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s cubic-bezier(.22,1,.36,1),background .2s,box-shadow .2s;}
.vj-ps:nth-child(1).vjs-in{transition-delay:0s;}
.vj-ps:nth-child(2).vjs-in{transition-delay:.12s;}
.vj-ps:nth-child(3).vjs-in{transition-delay:.24s;}
.vj-ps:nth-child(4).vjs-in{transition-delay:.36s;}
@media(max-width:900px){
  .vj-prog{grid-template-columns:repeat(3,1fr);}
  .vj-ps-arr{display:none!important;}
  .vj-ps:nth-child(3){border-right:none;}
  .vj-ps:nth-child(4),.vj-ps:nth-child(5){border-top:1px solid rgba(255,255,255,.1);}
}
@media(max-width:640px){
  .vj-prog{grid-template-columns:1fr 1fr;}
  .vj-ps:nth-child(2){border-right:none;}
  .vj-ps:nth-child(3){border-right:1px solid rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);}
  .vj-ps:nth-child(4){border-right:none;border-top:1px solid rgba(255,255,255,.1);}
  .vj-ps:nth-child(5){border-top:1px solid rgba(255,255,255,.1);grid-column:1/-1;}
}
@media(max-width:480px){.vj-prog{grid-template-columns:1fr;}.vj-ps+.vj-ps{border-top:1px solid rgba(255,255,255,.1);border-right:none;}}
/* ── Video Page: Diff Grid, Gap Matrix, Process, Specialty responsive ── */
@media(max-width:1024px){
  .vi-diff-grid{grid-template-columns:repeat(2,1fr)!important;}
  .vi-process-grid{grid-template-columns:repeat(3,1fr)!important;}
  .vi-process-grid>div:nth-child(1){border-radius:16px 0 0 0!important;}
  .vi-process-grid>div:nth-child(3){border-radius:0 16px 0 0!important;}
  .vi-process-grid>div:nth-child(4){border-left:none!important;border-top:1px solid var(--border);}
  .vi-process-grid>div:nth-child(5){border-radius:0 0 16px 0!important;border-top:1px solid var(--border);}
  .vi-spec-panel>div,.vi-spec-panel[data-spec="ortho"]{grid-template-columns:repeat(3,1fr)!important;}
}
@media(max-width:768px){
  .vi-diff-grid{grid-template-columns:1fr 1fr!important;gap:14px!important;}
  .vi-process-grid{grid-template-columns:1fr 1fr!important;}
  .vi-process-grid>div{border-radius:0!important;border-left:none!important;border-top:1px solid var(--border);}
  .vi-process-grid>div:first-child{border-radius:16px 0 0 0!important;border-top:none!important;}
  .vi-process-grid>div:nth-child(2){border-radius:0 16px 0 0!important;border-top:none!important;}
  .vi-process-grid>div:last-child{border-radius:0 0 16px 16px!important;}
  .vi-spec-panel>div,.vi-spec-panel[data-spec="ortho"]{grid-template-columns:repeat(2,1fr)!important;}
  .vi-spec-panel>div>div:last-child,.vi-spec-panel[data-spec="ortho"]>div:last-child{grid-column:1/-1;}
  .vi-spec-tabs{justify-content:flex-start!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch;padding-bottom:8px;}
}
@media(max-width:480px){
  .vi-diff-grid{grid-template-columns:1fr!important;}
  .vi-process-grid{grid-template-columns:1fr!important;}
  .vi-process-grid>div{border-radius:0!important;border-top:1px solid var(--border)!important;}
  .vi-process-grid>div:first-child{border-radius:16px 16px 0 0!important;border-top:none!important;}
  .vi-process-grid>div:last-child{border-radius:0 0 16px 16px!important;}
  .vi-spec-panel>div,.vi-spec-panel[data-spec="ortho"]{grid-template-columns:1fr!important;}
  .vi-spec-panel>div>div,.vi-spec-panel[data-spec="ortho"]>div{border-right:none!important;border-bottom:1px solid var(--border);}
  .vi-spec-panel>div>div:last-child,.vi-spec-panel[data-spec="ortho"]>div:last-child{border-bottom:none;grid-column:auto;}
}
/* ── Feature card icon containers (SVG-ready) ── */
.rp-feat-icon{width:44px;height:44px;background:var(--rust-pale);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:22px;transition:transform .2s,background .2s;}
.rp-feat-card:hover .rp-feat-icon{background:var(--rust);transform:scale(1.1);}
.rp-feat-icon svg{width:22px;height:22px;fill:var(--rust);transition:fill .2s;}
.rp-feat-card:hover .rp-feat-icon svg{fill:white;}
/* ── SEO comparison — animated arrows + hover nudge ── */
@keyframes arr-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(4px);}}
.rp-arrow{animation:arr-bob 1.5s ease-in-out infinite;display:block;}
.rp-col-good .rp-node,.rp-col-bad .rp-node{transition:transform .18s;}
.rp-col-good .rp-node:hover{transform:translateX(4px);}
.rp-col-bad  .rp-node:hover{transform:translateX(-4px);}
/* ── Patient Acquisition Engine Infographic ── */
.pae-section{background:#0e2d4a;padding:80px 0;overflow:hidden;}
.pae-section .eyebrow{color:var(--rust-light);}
.pae-section .h2{color:#fff;margin-bottom:12px;}
.pae-subtitle{color:rgba(255,255,255,.65);font-size:16px;text-align:center;max-width:540px;margin:0 auto 52px;}
.pae-funnel{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.pae-stage{display:flex;flex-direction:column;align-items:center;padding:0 12px;position:relative;cursor:pointer;}
.pae-stage:not(:last-child)::after{content:'';position:absolute;right:-1px;top:50px;width:2px;height:80px;background:rgba(255,255,255,.12);z-index:1;}
.pae-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:28px 20px 24px;text-align:center;width:100%;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden;}
.pae-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(240,112,48,.14),transparent 60%);opacity:0;transition:opacity .3s;}
.pae-stage:hover .pae-card,.pae-stage.qs-active .pae-card{transform:translateY(-8px);border-color:var(--rust);box-shadow:0 20px 50px rgba(240,112,48,.25);}
.pae-stage:hover .pae-card::before,.pae-stage.qs-active .pae-card::before{opacity:1;}
.pae-num{font-size:48px;font-weight:800;font-family:'Playfair Display',serif;color:var(--rust);line-height:1;margin-bottom:4px;transition:transform .2s;}
.pae-stage:hover .pae-num{transform:scale(1.08);}
.pae-icon{font-size:28px;margin-bottom:10px;display:block;}
.pae-stage-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:6px;letter-spacing:.3px;}
.pae-services{font-size:12px;color:rgba(255,255,255,.5);margin-bottom:10px;line-height:1.5;}
.pae-divider{width:36px;height:1px;background:rgba(255,255,255,.18);margin:10px auto;}
.pae-stat{font-size:12px;color:var(--rust-light);font-weight:600;letter-spacing:.5px;text-transform:uppercase;}
.pae-arrow{font-size:20px;color:rgba(255,255,255,.2);position:absolute;right:-14px;top:42px;z-index:2;display:none;}
.pae-connector{margin:36px auto 0;max-width:720px;padding:0 12px;}
.pae-bar-track{background:rgba(255,255,255,.1);border-radius:100px;height:6px;overflow:hidden;}
.pae-bar-fill{height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,#f07030,#f29060,#fdeee5 90%);transition:width 1.4s cubic-bezier(.22,1,.36,1);}
.pae-bar-fill.qs-animate{width:100%;}
.pae-bar-labels{display:flex;justify-content:space-between;margin-top:10px;}
.pae-bar-label{font-size:11px;color:rgba(255,255,255,.4);font-weight:600;text-transform:uppercase;letter-spacing:.6px;}
.pae-bar-label.qs-active-label{color:var(--rust-light);}
/* entrance */
.pae-stage .pae-card{opacity:0;transform:translateY(32px);}
.pae-stage.qs-entered .pae-card{opacity:1;transform:translateY(0);transition:opacity .55s ease,transform .55s cubic-bezier(.22,1,.36,1),box-shadow .3s,border-color .3s;}
.pae-stage:nth-child(1).qs-entered .pae-card{transition-delay:.05s;}
.pae-stage:nth-child(2).qs-entered .pae-card{transition-delay:.18s;}
.pae-stage:nth-child(3).qs-entered .pae-card{transition-delay:.31s;}
.pae-stage:nth-child(4).qs-entered .pae-card{transition-delay:.44s;}
@media(max-width:768px){
  .pae-funnel{grid-template-columns:repeat(2,1fr);gap:16px;}
  .pae-stage:not(:last-child)::after{display:none;}
  .pae-section{padding:56px 0;}
}
@media(max-width:480px){
  .pae-funnel{grid-template-columns:1fr;}
  .pae-num{font-size:38px;}
}
