/* Krishva Growth — generated bundle of 21 stylesheets (same order as the separate files). Do not edit: edit the source files. */
/* site.css */
/* Krishva Growth v2 — public site styles. Palette: #03030a / #080a20 / #7b00ff → #ff4b9a → #ff00c8 / #4a4cff */
@font-face{font-family:"Unbounded";src:url("../fonts/unbounded-var.woff2") format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:"Inter";src:url("../fonts/inter-var.woff2") format("woff2");font-weight:400 700;font-display:swap}
:root{
 --bg:#03030a;--bg2:#080a20;--bg3:#0d0f2b;--ink:#f5f3ff;--ink2:#d9d6f0;--muted:#a9a6c9;--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.16);
 --purple:#7b00ff;--pink:#ff4b9a;--magenta:#ff00c8;--violet:#4a4cff;--green:#25d366;
 --grad:linear-gradient(115deg,#7b00ff 0%,#ff4b9a 55%,#ff00c8 100%);--grad2:linear-gradient(135deg,#4a4cff,#7b00ff 45%,#ff00c8);
 --glass:rgba(255,255,255,.045);--glass2:rgba(255,255,255,.08);--shadow:0 30px 80px -30px rgba(123,0,255,.45);
 --r:22px;--r-lg:34px;--ff-h:"Unbounded",system-ui,sans-serif;--ff:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
 --pad:clamp(20px,5vw,72px);--maxw:1320px;--ease:cubic-bezier(.22,1,.36,1);
 color-scheme:dark}
html[data-theme=light]{--bg:#f6f4ff;--bg2:#ece8ff;--bg3:#e2dcff;--ink:#0b0a1f;--ink2:#25233f;--muted:#55526f;--line:rgba(20,10,60,.1);--line2:rgba(20,10,60,.18);--glass:rgba(255,255,255,.6);--glass2:rgba(255,255,255,.85);--shadow:0 30px 70px -35px rgba(80,20,160,.35);color-scheme:light}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--ff);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px;border-radius:8px}
::selection{background:var(--magenta);color:#fff}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:#fff;color:#000;padding:10px 16px;border-radius:10px}.skip:focus{left:12px}
.container{width:min(100% - var(--pad)*2,var(--maxw));margin-inline:auto}
.narrow{width:min(100% - var(--pad)*2,860px);margin-inline:auto}
h1,h2,h3,h4{font-family:var(--ff-h);font-weight:700;line-height:1.08;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.35rem,6.6vw,6.2rem);letter-spacing:-.035em}
h2{font-size:clamp(1.85rem,4.4vw,4rem);letter-spacing:-.03em}
h3{font-size:clamp(1.05rem,1.6vw,1.35rem);letter-spacing:-.01em;line-height:1.25}
p{margin:0 0 1em}
.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);color:var(--ink2);line-height:1.6;max-width:62ch}
.muted{color:var(--muted)}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.gradient-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font:600 .74rem/1 var(--ff);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);margin-bottom:22px}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad);box-shadow:0 0 14px var(--magenta)}
.section{padding:clamp(80px,12vw,170px) 0;position:relative}
.section-sm{padding:clamp(56px,8vw,100px) 0}
.sec-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:clamp(40px,6vw,80px)}
.sec-head p{color:var(--muted);font-size:1.08rem;margin:0}
.center{text-align:center}
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* buttons */
.btn,.button{--bx:0px;--by:0px;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;border:1px solid var(--line2);font:600 .95rem/1 var(--ff);letter-spacing:.01em;cursor:pointer;isolation:isolate;overflow:hidden;transition:transform .5s var(--ease),border-color .3s,background .3s,color .3s;transform:translate(var(--bx),var(--by));white-space:nowrap;background:var(--glass);color:var(--ink);backdrop-filter:blur(10px)}
.btn:hover,.button:hover{border-color:rgba(255,0,200,.6)}
.btn-primary,.button-primary{background:var(--grad);border:0;color:#fff;box-shadow:0 14px 40px -12px rgba(255,0,200,.55)}
.btn-primary::after,.button-primary::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(115deg,#ff00c8,#ff4b9a,#7b00ff);opacity:0;transition:opacity .45s}
.btn-primary:hover::after,.button-primary:hover::after{opacity:1}
.btn-wa{background:#1fae54;color:#fff;border:0;box-shadow:0 14px 34px -14px rgba(37,211,102,.7)}
.btn-wa:hover{background:#25d366}
.btn-ghost,.button-ghost,.button-outline{background:transparent}
.btn-sm,.button-small{min-height:42px;padding:0 18px;font-size:.88rem}
.btn .arr{display:inline-block;transition:transform .45s var(--ease)}.btn:hover .arr{transform:translate(3px,-3px)}
.btn svg{width:18px;height:18px}
.link-arrow,.text-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line2);padding-bottom:3px;transition:border-color .3s,gap .3s}
.link-arrow:hover,.text-arrow:hover{border-color:var(--pink);gap:12px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);font-size:.82rem;color:var(--ink2);backdrop-filter:blur(10px)}
.chip b{color:var(--ink)}.chip svg{width:15px;height:15px;flex:none}.chip{white-space:nowrap}
.glass{background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
html[data-theme=light] .glass{background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.55))}

/* header */
.site-header{position:fixed;inset:14px 0 auto;z-index:60;pointer-events:none;transition:transform .5s var(--ease)}
.site-header.is-hidden{transform:translateY(-130%)}
.nav{pointer-events:auto;display:flex;align-items:center;gap:18px;width:min(100% - 28px,1360px);margin:auto;padding:10px 10px 10px 22px;border-radius:999px;border:1px solid transparent;transition:background .4s,border-color .4s,backdrop-filter .4s}
.site-header.is-scrolled .nav,.nav-open .nav{background:rgba(8,8,24,.62);border-color:var(--line);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%)}
html[data-theme=light] .site-header.is-scrolled .nav{background:rgba(255,255,255,.75)}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none}
.brand img{height:26px;width:auto}
.brand .logo-dark{display:none}html[data-theme=light] .brand .logo-light{display:none}html[data-theme=light] .brand .logo-dark{display:block}
.brand small{font:600 .6rem/1 var(--ff);letter-spacing:.24em;color:var(--muted);text-transform:uppercase;border-left:1px solid var(--line2);padding-left:10px}
.nav-links{display:flex;gap:4px;margin-left:auto;margin-right:8px;align-items:center}
.nav-links a{padding:10px 14px;border-radius:999px;font-size:.92rem;font-weight:500;color:var(--ink2);transition:color .25s,background .25s}
.nav-links a:hover,.nav-links a.active{color:var(--ink);background:var(--glass2)}
.nav-actions{display:flex;gap:8px;align-items:center;margin-left:auto}
.icon-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);background:var(--glass);cursor:pointer;transition:border-color .3s,transform .4s var(--ease)}
.icon-btn:hover{border-color:var(--pink)}
.icon-btn svg{width:18px;height:18px}
.theme-toggle .moon{display:none}html[data-theme=light] .theme-toggle .moon{display:block}html[data-theme=light] .theme-toggle .sun{display:none}
.menu-toggle{display:none}
.menu-toggle i{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;transition:transform .4s var(--ease),opacity .3s}
.menu-toggle i+i{margin-top:5px}
.nav-open .menu-toggle i:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-open .menu-toggle i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:55;background:radial-gradient(120% 80% at 80% 0%,rgba(123,0,255,.35),transparent 60%),var(--bg);padding:110px var(--pad) 40px;display:flex;flex-direction:column;gap:6px;clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .8s var(--ease);overflow-y:auto;visibility:hidden}
.nav-open .mobile-menu{clip-path:circle(150% at calc(100% - 44px) 44px);visibility:visible}
.mobile-menu a.m-link{font:700 clamp(1.7rem,8vw,2.6rem)/1.15 var(--ff-h);letter-spacing:-.03em;padding:6px 0;opacity:0;transform:translateY(30px);transition:opacity .5s,transform .7s var(--ease)}
.nav-open .mobile-menu a.m-link{opacity:1;transform:none}
.mobile-menu .m-foot{margin-top:auto;display:grid;gap:12px;padding-top:30px}
.nav-open{overflow:hidden}

/* page loader / transitions */
.pt{position:fixed;inset:0;z-index:100;pointer-events:none;display:grid;place-items:center;overflow:hidden;visibility:hidden}.pt.in,html.is-entering .pt{visibility:visible}
.pt::before{content:"";position:absolute;inset:-10%;background:var(--grad2);transform:translateY(110%) skewY(-6deg);transition:transform .7s var(--ease)}
.pt.in::before{transform:translateY(0) skewY(0)}
.pt img{position:relative;width:64px;opacity:0;transition:opacity .3s .2s}
.pt.in img{opacity:1}
html.is-entering .pt::before{transform:translateY(0)}
html.is-entering.entered .pt::before{transform:translateY(-110%) skewY(-6deg)}

/* cursor */
.cursor,.cursor-dot{position:fixed;left:0;top:0;z-index:120;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%);display:none}
.has-cursor .cursor,.has-cursor .cursor-dot{display:block}
.cursor{width:38px;height:38px;border:1.5px solid rgba(255,255,255,.55);transition:width .35s var(--ease),height .35s var(--ease),background .35s,border-color .35s;mix-blend-mode:difference}
.cursor-dot{width:6px;height:6px;background:#fff;mix-blend-mode:difference}
.cursor.is-hover{width:76px;height:76px;background:rgba(255,255,255,.9);border-color:transparent}
.cursor .cursor-label{position:absolute;inset:0;display:grid;place-items:center;font:700 .62rem/1 var(--ff);letter-spacing:.14em;color:#000;opacity:0;transition:opacity .2s}
.cursor.has-label .cursor-label{opacity:1}

/* scroll progress */
.progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:70;transform-origin:0 50%;transform:scaleX(0);background:var(--grad)}

/* reveal states (only when JS animation is active) */
.anim [data-reveal]{opacity:0;transform:translateY(40px)}
.anim [data-reveal=fade]{transform:none}
.anim [data-reveal=scale]{transform:scale(.92)}
.split-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.split-word{display:inline-block;will-change:transform}.grad .split-word,.gradient-text .split-word{background:inherit;-webkit-background-clip:text;background-clip:text;color:transparent;background-image:var(--grad)}
.anim [data-split] .split-word{transform:translateY(110%)}

/* marquee */
.marquee{position:relative;overflow:hidden;padding:26px 0;border-block:1px solid var(--line);background:linear-gradient(90deg,rgba(123,0,255,.08),rgba(255,0,200,.06))}
.marquee-track{display:flex;width:max-content;gap:0;animation:marq 48s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-track span{display:inline-flex;align-items:center;gap:30px;padding-right:30px;font:700 clamp(1.4rem,3.4vw,2.8rem)/1 var(--ff-h);letter-spacing:-.02em;white-space:nowrap}
.marquee-track span i{font-style:normal;color:transparent;-webkit-text-stroke:1px var(--line2)}
.marquee-track .star{width:26px;height:26px;flex:none;background:var(--grad);clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.marquee.rev .marquee-track{animation-direction:reverse}
@keyframes marq{to{transform:translateX(-50%)}}

/* footer */
.site-footer{position:relative;padding:clamp(70px,10vw,130px) 0 30px;border-top:1px solid var(--line);overflow:hidden;background:radial-gradient(80% 60% at 50% 120%,rgba(123,0,255,.35),transparent 70%)}
.f-cta{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;padding-bottom:70px;border-bottom:1px solid var(--line)}
.f-cta h2{font-size:clamp(2.2rem,6vw,5.6rem);margin:0}
.f-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.f-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px;padding:60px 0}
.f-grid h4{font:600 .74rem/1 var(--ff);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
.f-grid a{display:block;color:var(--ink2);padding:5px 0;font-size:.95rem;transition:color .25s,transform .3s var(--ease)}
.f-grid a:hover{color:var(--ink);transform:translateX(4px)}
.f-about p{color:var(--muted);max-width:36ch}
.f-contact address{font-style:normal;color:var(--ink2);line-height:1.7}
.f-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.f-social a{padding:8px 14px;border:1px solid var(--line2);border-radius:999px;font-size:.85rem}
.f-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}
.f-big{font:800 clamp(3.4rem,17vw,16rem)/.8 var(--ff-h);letter-spacing:-.06em;text-align:center;margin:40px 0 -10px;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0));-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;white-space:nowrap}
html[data-theme=light] .f-big{background:linear-gradient(180deg,rgba(40,10,120,.16),transparent);-webkit-background-clip:text;background-clip:text}

/* floating whatsapp */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;align-items:center;gap:10px;padding:0 18px 0 14px;height:54px;border-radius:999px;background:#1fae54;color:#fff;font-weight:600;box-shadow:0 18px 40px -12px rgba(37,211,102,.6);transition:transform .4s var(--ease)}
.wa-float:hover{transform:translateY(-3px)}
.wa-float svg{width:26px;height:26px}
.wa-float span{font-size:.92rem}

/* forms */
.form{display:grid;gap:16px}
.form-row,.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label,.project-form label{display:grid;gap:8px;font-size:.86rem;font-weight:600;color:var(--ink2)}
.form input,.form select,.form textarea,.project-form input,.project-form select,.project-form textarea{width:100%;min-height:52px;padding:14px 16px;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--ink);font-weight:400;font-size:1rem;transition:border-color .25s,box-shadow .25s,background .25s}
html[data-theme=light] .form input,html[data-theme=light] .form select,html[data-theme=light] .form textarea,html[data-theme=light] .project-form input,html[data-theme=light] .project-form select,html[data-theme=light] .project-form textarea{background:#fff}
.form textarea,.project-form textarea{min-height:130px;resize:vertical}
.form select option{background:var(--bg2);color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus,.project-form input:focus,.project-form select:focus,.project-form textarea:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(255,0,200,.15)}
.consent-check{display:flex!important;grid-template-columns:none!important;align-items:flex-start;gap:10px!important;font-weight:400!important;color:var(--muted)!important}
.consent-check input{width:20px!important;min-height:20px!important;height:20px;margin-top:2px;accent-color:var(--magenta)}
.notice,.notice-success,.form-errors,.alert{padding:16px 18px;border-radius:14px;border:1px solid var(--line2);background:var(--glass);margin-bottom:18px}
.notice-success,.alert-ok{border-color:rgba(37,211,102,.5);background:rgba(37,211,102,.08)}
.form-errors,.alert-err{border-color:rgba(255,75,154,.6);background:rgba(255,75,154,.08)}
.form-errors p{margin:0}
.form-privacy,.form-note{font-size:.84rem;color:var(--muted)}

/* responsive core */
@media (max-width:1080px){.nav-links{display:none}.menu-toggle{display:grid}.sec-head{grid-template-columns:1fr;gap:16px}.f-grid{grid-template-columns:1fr 1fr}.f-cta{grid-template-columns:1fr}.f-cta-actions{justify-content:flex-start}}
@media (max-width:640px){.nav{padding:8px 8px 8px 16px}.brand small{display:none}.brand img{height:22px}.nav-actions .btn{display:none}.form-row,.form-grid{grid-template-columns:1fr}.f-grid{grid-template-columns:1fr;gap:30px}.wa-float span{display:none}.wa-float{width:56px;padding:0;justify-content:center}.btn{min-height:50px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.marquee-track{animation:none}}

/* ===== HERO ===== */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:150px 0 60px;overflow:hidden;isolation:isolate}
.hero-canvas,.hero-fallback{position:absolute;inset:0;z-index:-2;width:100%;height:100%}
.hero-fallback{background:radial-gradient(60% 55% at 78% 30%,rgba(255,0,200,.45),transparent 60%),radial-gradient(55% 60% at 20% 70%,rgba(123,0,255,.55),transparent 60%),radial-gradient(40% 40% at 50% 50%,rgba(74,76,255,.35),transparent 70%),var(--bg);animation:hfb 18s ease-in-out infinite alternate}
@keyframes hfb{50%{background-position:10% 20%,80% 10%,40% 60%,0 0;filter:hue-rotate(-12deg)}}
.hero.has-gl .hero-fallback{opacity:0;transition:opacity 1.2s}
.hero::after{content:"";position:absolute;inset:auto 0 0;height:40%;z-index:-1;background:linear-gradient(transparent,var(--bg))}
html[data-theme=light] .hero-fallback{opacity:.55}
.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 75%);-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 75%);opacity:.5}
.hero-top{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}
.hero h1{font-size:clamp(2.6rem,8.4vw,8.4rem);line-height:.95;letter-spacing:-.05em;margin:0 0 30px;max-width:13ch}
.hero h1 .outline{color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.75)}
html[data-theme=light] .hero h1 .outline{-webkit-text-stroke-color:rgba(20,10,60,.7)}
.hero-row{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.hero .lead{margin:0 0 30px}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-badge{position:relative;width:170px;height:170px;flex:none;border-radius:50%;display:grid;place-items:center}
.hero-badge svg.ring{position:absolute;inset:0;animation:spin 22s linear infinite}
.hero-badge svg.ring text{font:600 10.5px var(--ff);letter-spacing:3.2px;fill:var(--ink2);text-transform:uppercase}
.hero-badge img{width:54px}
@keyframes spin{to{transform:rotate(360deg)}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:clamp(50px,8vw,90px);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--line)}
.stat{padding:clamp(18px,2.6vw,30px);background:rgba(3,3,10,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
html[data-theme=light] .stat{background:rgba(255,255,255,.7)}
.stat b{display:block;font:700 clamp(1.8rem,4vw,3.4rem)/1 var(--ff-h);letter-spacing:-.04em;margin-bottom:8px}
.stat span{font-size:.86rem;color:var(--muted)}
.stat .stars{color:#ffc93c;letter-spacing:2px;font-size:.8rem;display:block;margin-bottom:6px}
.scroll-cue{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.68rem;letter-spacing:.24em;color:var(--muted);text-transform:uppercase}
.scroll-cue i{width:1px;height:44px;background:linear-gradient(var(--pink),transparent);animation:cue 2s var(--ease) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ===== STATEMENT (kinetic scrub text) ===== */
.statement{padding:clamp(90px,14vw,200px) 0}
.statement p{font:700 clamp(1.7rem,4.4vw,4rem)/1.18 var(--ff-h);letter-spacing:-.035em;margin:0;max-width:22ch}
.statement .w{opacity:.16;transition:opacity .2s}
.statement .w.on{opacity:1}
.no-anim .statement .w{opacity:1}
.statement .hl{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== REEL STORY (pinned phone) ===== */
.reel-story{position:relative}
.reel-pin{min-height:100svh;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(24px,5vw,80px);padding:110px 0 60px}
.reel-chapters{position:relative;min-height:320px}
.reel-chapter{position:absolute;inset:0 0 auto;opacity:0;transform:translateY(30px);transition:opacity .6s,transform .8s var(--ease)}
.reel-chapter.on{opacity:1;transform:none;position:relative}
.reel-chapter .num{font:700 .78rem/1 var(--ff);letter-spacing:.2em;color:var(--pink)}
.reel-chapter h3{font-size:clamp(1.8rem,3.4vw,3rem);margin:14px 0}
.reel-chapter p{color:var(--muted);max-width:36ch}
.reel-chapter .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.phone{position:relative;width:clamp(250px,24vw,330px);aspect-ratio:9/19;border-radius:46px;padding:12px;background:linear-gradient(160deg,#2a2550,#0b0a1f);box-shadow:0 0 0 1.5px rgba(255,255,255,.12) inset,0 60px 120px -30px rgba(123,0,255,.7),0 0 0 8px rgba(255,255,255,.03)}
.phone::before{content:"";position:absolute;top:22px;left:50%;width:84px;height:24px;margin-left:-42px;border-radius:20px;background:#000;z-index:5}
.phone-screen{position:relative;width:100%;height:100%;border-radius:36px;overflow:hidden;background:#000}
.reel-track{position:absolute;inset:0;display:flex;flex-direction:column;transition:transform .9s var(--ease)}
.reel{position:relative;flex:0 0 100%;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 18px 26px;color:#fff;overflow:hidden}
.reel::before{content:"";position:absolute;inset:0;z-index:0}
.reel>*{position:relative;z-index:1}
.reel-1::before{background:radial-gradient(80% 60% at 30% 20%,#4a4cff,transparent 70%),linear-gradient(170deg,#1b0b52,#7b00ff 70%,#ff4b9a)}
.reel-2::before{background:radial-gradient(80% 60% at 70% 25%,#ff00c8,transparent 70%),linear-gradient(170deg,#2a0640,#7b00ff 60%,#120a30)}
.reel-3::before{background:radial-gradient(70% 50% at 50% 30%,#ff4b9a,transparent 70%),linear-gradient(170deg,#100a2e,#4a4cff 60%,#7b00ff)}
.reel-4::before{background:radial-gradient(80% 60% at 40% 30%,#7b00ff,transparent 70%),linear-gradient(170deg,#25063d,#ff00c8 70%,#ff4b9a)}
.reel .big{font:800 2.5rem/.95 var(--ff-h);letter-spacing:-.05em;margin-bottom:10px}
.reel .cap{font-size:.8rem;opacity:.9;max-width:80%}
.reel .handle{display:flex;align-items:center;gap:8px;font-size:.78rem;font-weight:600;margin-bottom:8px}
.reel .handle img{width:26px;height:26px;border-radius:50%;background:#000;padding:4px}
.reel .side{position:absolute;right:12px;bottom:90px;display:grid;gap:16px;justify-items:center;font-size:.66rem;z-index:2}
.reel .side i{display:block;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);backdrop-filter:blur(6px)}
.reel .viz-mini{position:absolute;inset:60px 18px auto;height:46%;z-index:1}
.reel-bar{position:absolute;top:56px;left:16px;right:16px;display:flex;gap:4px;z-index:4}
.reel-bar span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}
.reel-bar span b{display:block;height:100%;width:0;background:#fff}
.reel-side-copy{display:grid;gap:14px;justify-items:start}
.reel-side-copy .chip{font-size:.78rem}

/* mini visuals inside reels */
.mv-search{display:grid;gap:8px}
.mv-search .bar{height:34px;border-radius:20px;background:rgba(255,255,255,.95);color:#222;font-size:.72rem;display:flex;align-items:center;padding:0 12px;gap:6px}
.mv-search .res{height:46px;border-radius:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18)}
.mv-search .res.top{background:rgba(255,255,255,.9);color:#222;display:flex;align-items:center;padding:0 12px;font-size:.72rem;font-weight:700;gap:8px}
.mv-search .res.top::before{content:"1";width:20px;height:20px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;font-size:.62rem}
.mv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.mv-grid i{aspect-ratio:1;border-radius:6px;background:rgba(255,255,255,.18);animation:pulse 2.4s ease-in-out infinite}
.mv-grid i:nth-child(3n){animation-delay:.4s}.mv-grid i:nth-child(2n){animation-delay:.8s;background:rgba(255,255,255,.3)}
@keyframes pulse{50%{opacity:.4}}
.mv-funnel{display:grid;gap:6px;justify-items:center}
.mv-funnel i{height:26px;border-radius:8px;background:rgba(255,255,255,.22)}
.mv-funnel i:nth-child(1){width:100%}.mv-funnel i:nth-child(2){width:78%}.mv-funnel i:nth-child(3){width:56%}.mv-funnel i:nth-child(4){width:34%;background:#fff}
.mv-brand{display:grid;place-items:center;height:100%}
.mv-brand img{width:46%;filter:drop-shadow(0 10px 30px rgba(0,0,0,.4));animation:float 4s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-10px)}}

/* ===== SERVICES STRIP (horizontal reel) ===== */
.h-scroll{position:relative;overflow:hidden}
.h-track{display:flex;gap:20px;padding:0 var(--pad);width:max-content}
.svc-card{position:relative;flex:none;width:clamp(270px,26vw,360px);min-height:440px;padding:26px;border-radius:var(--r-lg);border:1px solid var(--line);background:linear-gradient(170deg,rgba(255,255,255,.06),rgba(255,255,255,.015));display:flex;flex-direction:column;overflow:hidden;isolation:isolate;transition:border-color .4s,transform .6s var(--ease)}
html[data-theme=light] .svc-card{background:linear-gradient(170deg,#fff,rgba(255,255,255,.6))}
.svc-card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(500px circle at var(--mx,50%) var(--my,0%),rgba(255,0,200,.22),transparent 45%);opacity:0;transition:opacity .4s}
.svc-card:hover{border-color:rgba(255,0,200,.45)}
.svc-card:hover::before{opacity:1}
.svc-card .no{font:600 .76rem/1 var(--ff);letter-spacing:.14em;color:var(--muted)}
.svc-card .ico{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:1.5rem;background:var(--grad);color:#fff;margin:22px 0 auto;box-shadow:0 14px 30px -10px rgba(255,0,200,.6)}
.svc-card h3{font-size:1.45rem;margin:30px 0 10px}
.svc-card p{color:var(--muted);font-size:.95rem;margin:0 0 20px}
.svc-card .go{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--line);font-weight:600;font-size:.9rem}
.svc-card .go b{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);transition:background .3s,transform .5s var(--ease)}
.svc-card:hover .go b{background:var(--grad);border-color:transparent;transform:rotate(45deg)}
.svc-card .cat{position:absolute;top:24px;right:24px;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.svc-grid .svc-card{width:auto;min-height:380px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:34px}
.filters button{padding:11px 18px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);cursor:pointer;font-weight:600;font-size:.9rem;transition:background .3s,border-color .3s}
.filters button.on{background:var(--grad);border-color:transparent;color:#fff}
.svc-card.is-hidden{display:none}

/* ===== PROCESS (horizontal pinned) ===== */
.process-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:st}
.p-step{position:relative;padding:30px;min-height:clamp(220px,24vw,300px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);display:flex;flex-direction:column}
.p-step .n{font:800 4.4rem/1 var(--ff-h);letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:auto}
.p-step h3{font-size:1.4rem;margin:24px 0 10px}
.p-step p{color:var(--muted);margin:0;font-size:.95rem}

/* ===== LOCAL / TRUST ===== */
.trust{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.map-card{position:relative;aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:radial-gradient(60% 60% at 50% 50%,rgba(123,0,255,.35),transparent 70%),var(--bg2)}
.map-card .rings i{position:absolute;left:50%;top:50%;border:1px solid rgba(255,0,200,.4);border-radius:50%;transform:translate(-50%,-50%);animation:ring 4s var(--ease) infinite}
.map-card .rings i:nth-child(1){width:20%;height:20%}.map-card .rings i:nth-child(2){width:45%;height:45%;animation-delay:.6s}.map-card .rings i:nth-child(3){width:70%;height:70%;animation-delay:1.2s}.map-card .rings i:nth-child(4){width:95%;height:95%;animation-delay:1.8s}
@keyframes ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}
.map-card .pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);width:54px;height:54px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--grad);box-shadow:0 0 50px rgba(255,0,200,.8)}
.map-card .pin::after{content:"";position:absolute;inset:17px;border-radius:50%;background:#fff}
.map-card .lbl{position:absolute;left:50%;top:calc(50% + 24px);transform:translateX(-50%);text-align:center;font:700 1.3rem/1.1 var(--ff-h)}
.map-card .lbl small{display:block;font:500 .78rem var(--ff);color:var(--muted);margin-top:6px;letter-spacing:.1em;text-transform:uppercase}
.map-card .grid-lines{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;opacity:.6}
.map-card .roads{position:absolute;inset:0}
.trust-list{display:grid;gap:12px;margin:26px 0}
.trust-list li{display:flex;gap:14px;align-items:flex-start;list-style:none;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.trust-list{padding:0}
.trust-list li b{font-family:var(--ff-h);font-size:1.2rem;min-width:70px}
.trust-list li span{color:var(--muted)}
.contact-lines{display:grid;gap:10px}
.contact-lines a{display:flex;gap:12px;align-items:center;font-weight:600}
.contact-lines svg{width:20px;height:20px;color:var(--pink);flex:none}

/* ===== TESTIMONIALS / WORK / TEAM (DB-driven, hidden when empty) ===== */
.quotes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.quote{padding:30px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);display:flex;flex-direction:column;gap:18px}
.quote .stars{color:#ffc93c;letter-spacing:3px}
.quote p{font-size:1.08rem;color:var(--ink2);margin:0}
.quote footer{margin-top:auto;font-weight:600}.quote footer small{display:block;color:var(--muted);font-weight:400}
.work-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px}
.work-card{display:block;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--glass);transition:transform .6s var(--ease),border-color .4s}
.work-card:hover{transform:translateY(-6px);border-color:rgba(255,0,200,.4)}
.work-card .img{aspect-ratio:4/3;overflow:hidden;background:var(--grad2)}
.work-card .img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.work-card:hover .img img{transform:scale(1.06)}
.work-card .meta{padding:22px}
.work-card .meta span{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.work-card h3{margin:8px 0 6px}
.work-card p{color:var(--muted);margin:0;font-size:.95rem}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.member{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--glass)}
.member .ph{aspect-ratio:1;background:var(--grad2);display:grid;place-items:center;font:800 3rem var(--ff-h);color:#fff}
.member .ph img{width:100%;height:100%;object-fit:cover}
.member div{padding:16px 18px}.member b{display:block}.member span{color:var(--muted);font-size:.9rem}

/* ===== PRICING ===== */
.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.price-card{position:relative;padding:30px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);display:flex;flex-direction:column;gap:14px}
.price-card.featured{border-color:transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--grad) border-box;border:1.5px solid transparent}
html[data-theme=light] .price-card.featured{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.price-card .kick{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pink);font-weight:700}
.price-card h3{margin:0;font-size:1.3rem}
.price-card p{color:var(--muted);margin:0;font-size:.95rem}
.price-card .amt{font:700 2.1rem/1 var(--ff-h);letter-spacing:-.04em;margin-top:auto;padding-top:14px}
.price-card .amt small{display:block;font:500 .78rem var(--ff);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-bottom:8px}
.price-card .per{color:var(--muted);font-size:.86rem}
.price-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:30px;scrollbar-width:none}
.price-tabs::-webkit-scrollbar{display:none}

/* ===== AUDIT CTA / CTA BAND ===== */
.cta-band{position:relative;border-radius:clamp(26px,4vw,48px);padding:clamp(40px,7vw,90px);overflow:hidden;isolation:isolate;background:var(--grad2);color:#fff}
.cta-band::before{content:"";position:absolute;inset:-40%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.18),transparent 30%);animation:spin 12s linear infinite}
.cta-band h2{font-size:clamp(2rem,5vw,4.6rem);max-width:16ch}
.cta-band p{opacity:.9;max-width:52ch;font-size:1.1rem}
.cta-band .btn{background:#fff;color:#0b0a1f;border:0}
.cta-band .btn-wa{background:#1fae54;color:#fff}
.cta-band .btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}
.cta-band .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.audit-inline{display:flex;gap:10px;max-width:620px;margin-top:26px;padding:8px;border-radius:999px;background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(10px)}
.audit-inline input{flex:1;min-width:0;background:transparent;border:0;color:#fff;padding:0 16px;font-size:1rem}
.audit-inline input::placeholder{color:rgba(255,255,255,.7)}
.audit-inline input:focus{outline:none}

/* ===== BLOG CARDS ===== */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.post-card{display:flex;flex-direction:column;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);overflow:hidden;transition:transform .6s var(--ease),border-color .4s}
.post-card:hover{transform:translateY(-6px);border-color:rgba(255,0,200,.4)}
.post-card .cover{position:relative;aspect-ratio:16/9;overflow:hidden;display:flex;align-items:flex-end;padding:20px;color:#fff;isolation:isolate}
.post-card .cover::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--cg,var(--grad2));transition:transform 1s var(--ease)}
.post-card:hover .cover::before{transform:scale(1.08)}
.post-card .cover b{font:700 1.05rem/1.2 var(--ff-h);letter-spacing:-.02em;max-width:90%}
.post-card .cover .mk{position:absolute;right:18px;top:18px;width:30px;opacity:.85}
.post-card .body{padding:22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post-card .cat{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);font-weight:700}
.post-card h3{margin:0;font-size:1.18rem}
.post-card p{color:var(--muted);margin:0;font-size:.94rem}
.post-card .foot{margin-top:auto;display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem;padding-top:12px;border-top:1px solid var(--line)}
.post-card.feature{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr}
.post-card.feature .cover{aspect-ratio:auto;min-height:340px}
.post-card.feature .cover b{font-size:clamp(1.4rem,2.6vw,2.2rem)}
.post-card.feature .body{padding:clamp(24px,4vw,44px);justify-content:center}
.post-card.feature h3{font-size:clamp(1.3rem,2.2vw,1.9rem)}

/* ===== FAQ ===== */
.faq{display:grid;gap:12px}
.faq details{border-radius:18px;border:1px solid var(--line);background:var(--glass);transition:border-color .3s,background .3s}
.faq details[open]{border-color:rgba(255,0,200,.4);background:var(--glass2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:22px 24px;font-weight:600;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);position:relative;transition:transform .4s var(--ease),background .3s}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.faq summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] summary i{transform:rotate(45deg);background:var(--grad);border-color:transparent;color:#fff}
.faq .ans{padding:0 24px 22px;color:var(--muted);max-width:75ch}
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:start}
.faq-layout .sticky{position:sticky;top:120px}

/* ===== PAGE HERO (inner pages) ===== */
.page-hero{position:relative;padding:clamp(150px,18vw,220px) 0 clamp(50px,7vw,90px);overflow:hidden;isolation:isolate}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 70% at 85% 10%,rgba(255,0,200,.28),transparent 65%),radial-gradient(50% 60% at 10% 30%,rgba(123,0,255,.35),transparent 65%)}
.page-hero h1{font-size:clamp(2.3rem,6.4vw,6rem);max-width:16ch;margin-bottom:24px}
.page-hero .lead{margin-bottom:0}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:.84rem;color:var(--muted);margin-bottom:26px}
.crumbs a:hover{color:var(--ink)}
.crumbs span{opacity:.5}

/* ===== SERVICE PAGE ===== */
.svc-hero{position:relative;padding:clamp(140px,16vw,190px) 0 clamp(50px,7vw,90px);overflow:hidden;isolation:isolate}
.svc-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 60% at 80% 20%,rgba(255,0,200,.25),transparent 65%),radial-gradient(45% 55% at 5% 40%,rgba(123,0,255,.35),transparent 65%)}
.svc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
.svc-hero h1{font-size:clamp(2.3rem,5.6vw,5.2rem);margin-bottom:22px}
.svc-hero .svc-name{display:inline-flex;align-items:center;gap:10px;font:700 .95rem/1 var(--ff-h);margin-bottom:22px;padding:10px 16px 10px 10px;border-radius:999px;border:1px solid var(--line2);background:var(--glass)}
.svc-hero .svc-name i{font-style:normal;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:.95rem}
.sticker{display:inline-block;margin-top:24px;padding:10px 16px;border-radius:14px;background:#fff;color:#0b0a1f;font:700 .95rem/1.2 var(--ff-h);transform:rotate(-3deg);box-shadow:0 10px 30px -10px rgba(255,0,200,.6)}
.svc-hero .hero-actions{margin-top:30px}
.svc-why{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(30px,6vw,90px);align-items:start}
.svc-why .big{font:500 clamp(1.15rem,1.7vw,1.5rem)/1.6 var(--ff);color:var(--ink2);letter-spacing:-.01em}.svc-why .big::first-line{color:var(--ink)}
.svc-why .outcome{margin-top:30px;padding:24px 26px;border-radius:var(--r);border:1px solid rgba(255,0,200,.35);background:linear-gradient(135deg,rgba(123,0,255,.16),rgba(255,0,200,.08))}
.svc-why .outcome b{display:block;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:8px}
.inc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.inc{position:relative;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);transition:border-color .4s,transform .5s var(--ease)}
.inc:hover{border-color:rgba(255,0,200,.4);transform:translateY(-4px)}
.inc .n{font:600 .74rem/1 var(--ff);letter-spacing:.14em;color:var(--pink)}
.inc h3{margin:14px 0 8px;font-size:1.12rem}
.inc p{margin:0;color:var(--muted);font-size:.94rem}
.timeline{position:relative;display:grid;gap:0;padding-left:0}
.timeline::before{content:"";position:absolute;left:27px;top:10px;bottom:10px;width:2px;background:var(--line)}
.timeline .fill{position:absolute;left:27px;top:10px;width:2px;height:calc(100% - 20px);background:var(--grad);transform-origin:top;transform:scaleY(var(--p,1))}
.t-step{position:relative;display:grid;grid-template-columns:56px 1fr;gap:26px;padding:22px 0}
.t-step .dot{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--bg2);border:1px solid var(--line2);font:700 1rem var(--ff-h);z-index:1;transition:background .4s,border-color .4s}
.t-step.on .dot{background:var(--grad);border-color:transparent;color:#fff}
.t-step h3{font-size:1.35rem;margin:12px 0 8px}
.t-step p{color:var(--muted);margin:0;max-width:60ch}
.deliv{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0;list-style:none;margin:0}
.deliv li{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.deliv li::before{content:"";flex:none;width:22px;height:22px;margin-top:2px;border-radius:50%;background:var(--grad) center/12px no-repeat;-webkit-mask:none;box-shadow:inset 0 0 0 6px transparent}
.deliv li::before{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/13px no-repeat,var(--grad)}
.who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.who{padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);min-height:190px;display:flex;flex-direction:column;gap:16px}
.who i{font-style:normal;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--glass2);border:1px solid var(--line2);font-weight:700}
.who p{margin:0;color:var(--ink2)}
.benefits{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.benefits span{padding:12px 18px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);font-weight:500}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.related-grid .svc-card{width:auto;min-height:320px}
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:start}

/* ===== SERVICE VISUALS (pure CSS, loop forever, pause offscreen) ===== */
.viz{position:relative;width:100%;aspect-ratio:1/1.02;border-radius:clamp(28px,4vw,44px);overflow:hidden;border:1px solid var(--line);background:radial-gradient(70% 60% at 70% 20%,rgba(255,0,200,.28),transparent 70%),radial-gradient(70% 70% at 20% 90%,rgba(123,0,255,.45),transparent 70%),linear-gradient(160deg,#100c33,#05051a);color:#fff;isolation:isolate;box-shadow:var(--shadow)}
.viz *{box-sizing:border-box}
.viz.paused *{animation-play-state:paused!important}
.viz::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:36px 36px;z-index:-1;mask-image:radial-gradient(80% 80% at 50% 50%,#000,transparent);-webkit-mask-image:radial-gradient(80% 80% at 50% 50%,#000,transparent)}
.viz .g{position:absolute;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.viz .w{background:rgba(255,255,255,.94);color:#141230;border:0}
.viz .lbl{position:absolute;font:600 .72rem/1 var(--ff);letter-spacing:.06em;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);white-space:nowrap}
.viz .ln{display:block;height:8px;border-radius:6px;background:rgba(255,255,255,.22);margin:8px 0}
.viz .w .ln{background:#e6e3f5}
.viz .gr{background:var(--grad)!important}
.viz .bar svg,.viz .gb svg,.viz svg.cur{width:16px;height:16px;flex:none}.viz .orb{position:absolute;border-radius:50%;filter:blur(30px);opacity:.6;animation:float 6s ease-in-out infinite}
@keyframes vzIn{0%,8%{opacity:0;transform:translateY(16px) scale(.96)}18%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(-10px)}}
@keyframes vzPop{0%,10%{transform:scale(0)}20%,85%{transform:scale(1)}95%,100%{transform:scale(0)}}
@keyframes vzType{0%,5%{width:0}40%,85%{width:var(--tw,100%)}95%,100%{width:0}}
@keyframes vzBlink{50%{opacity:0}}
@keyframes vzUp{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}100%{opacity:0;transform:translateY(-160px) scale(1.1)}}
@keyframes vzDash{0%{stroke-dashoffset:var(--dl,600)}60%,100%{stroke-dashoffset:0}}
@keyframes vzSpin{to{transform:rotate(360deg)}}
@keyframes vzBar{0%,100%{transform:scaleY(.25)}50%{transform:scaleY(1)}}
@keyframes vzSlide{0%{transform:translateX(-100%)}100%{transform:translateX(400%)}}
/* seo */
.v-seo .bar{left:8%;right:8%;top:12%;height:52px;border-radius:999px;display:flex;align-items:center;gap:10px;padding:0 18px;font-size:.86rem}
.v-seo .bar .q{display:inline-block;overflow:hidden;white-space:nowrap;--tw:13.5em;animation:vzType 7s steps(26) infinite;vertical-align:bottom}
.v-seo .bar .c{width:2px;height:18px;background:#7b00ff;animation:vzBlink .8s step-end infinite}
.v-seo .res{left:8%;right:8%;height:58px;padding:12px 16px}
.v-seo .r1{top:31%}.v-seo .r2{top:45%}.v-seo .r3{top:59%}
.v-seo .me{left:8%;right:8%;height:58px;top:59%;padding:12px 16px;animation:seoRise 7s var(--ease) infinite;z-index:3}
.v-seo .me .ln:first-child{width:55%;background:#7b00ff}
@keyframes seoRise{0%,30%{top:59%;box-shadow:none}55%,90%{top:31%;box-shadow:0 20px 50px -10px rgba(255,0,200,.7)}100%{top:59%}}
.v-seo .r1{animation:seoDown 7s var(--ease) infinite}.v-seo .r2{animation:seoDown2 7s var(--ease) infinite}
@keyframes seoDown{0%,30%{top:31%}55%,90%{top:45%}100%{top:31%}}
@keyframes seoDown2{0%,30%{top:45%}55%,90%{top:59%}100%{top:45%}}
.v-seo .ai{left:8%;right:20%;bottom:8%;padding:14px 16px;font-size:.78rem;animation:vzIn 7s infinite;animation-delay:.8s}
.v-seo .ai b{color:#ff9be0}
/* web */
.v-web .win{left:8%;right:8%;top:12%;bottom:12%;border-radius:20px;overflow:hidden}
.v-web .top{height:34px;border-bottom:1px solid rgba(255,255,255,.14);display:flex;gap:6px;align-items:center;padding:0 14px}
.v-web .top i{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3)}
.v-web .blk{position:absolute;border-radius:12px;background:rgba(255,255,255,.14);animation:vzIn 6s var(--ease) infinite}
.v-web .b1{left:6%;right:6%;top:15%;height:12%;animation-delay:.1s}
.v-web .b2{left:6%;width:52%;top:32%;height:30%;animation-delay:.5s;background:var(--grad)}
.v-web .b3{right:6%;width:34%;top:32%;height:30%;animation-delay:.9s}
.v-web .b4{left:6%;width:27%;top:67%;height:24%;animation-delay:1.3s}.v-web .b5{left:36.5%;width:27%;top:67%;height:24%;animation-delay:1.5s}.v-web .b6{right:6%;width:27%;top:67%;height:24%;animation-delay:1.7s}
.v-web .cur{position:absolute;width:22px;height:22px;left:60%;top:55%;animation:webCur 6s var(--ease) infinite;z-index:3}
@keyframes webCur{0%,20%{transform:translate(0,0)}45%,60%{transform:translate(-90px,-40px)}80%,100%{transform:translate(0,0)}}
.v-web .speed{right:10%;bottom:6%;}
/* social */
.v-social .ph{left:28%;right:28%;top:8%;bottom:8%;border-radius:30px;padding:30px 10px 10px}
.v-social .ph .mv-grid{gap:5px}
.v-social .ph .mv-grid i{border-radius:8px}
.v-social .heart{position:absolute;bottom:18%;font-size:26px;animation:vzUp 3s ease-out infinite;opacity:0;color:#ff4b9a}
.v-social .h1{left:70%}.v-social .h2{left:76%;animation-delay:1s;color:#ff00c8}.v-social .h3{left:66%;animation-delay:2s;color:#fff}
.v-social .l1{left:5%;top:24%;animation:vzIn 6s infinite}.v-social .l2{left:7%;top:62%;animation:vzIn 6s infinite 1.2s}.v-social .l3{right:4%;top:40%;animation:vzIn 6s infinite 2.2s}
/* app */
.v-app .p1,.v-app .p2{width:40%;height:74%;top:13%;border-radius:30px;padding:36px 12px 12px}
.v-app .p1{left:11%;transform:rotate(-6deg)}.v-app .p2{right:11%;transform:rotate(6deg) translateY(16px)}
.v-app .apps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.v-app .apps i{aspect-ratio:1;border-radius:12px;background:rgba(255,255,255,.2);animation:vzPop 5s var(--ease) infinite}
.v-app .apps i:nth-child(2){animation-delay:.2s}.v-app .apps i:nth-child(3){animation-delay:.4s;background:var(--grad)}.v-app .apps i:nth-child(4){animation-delay:.6s}.v-app .apps i:nth-child(5){animation-delay:.8s}.v-app .apps i:nth-child(6){animation-delay:1s}
.v-app .notif{left:18%;right:18%;top:6%;height:48px;border-radius:16px;display:flex;align-items:center;gap:10px;padding:0 12px;font-size:.74rem;font-weight:600;animation:appN 5s var(--ease) infinite;z-index:4}
.v-app .notif::before{content:"";width:26px;height:26px;border-radius:8px;background:var(--grad)}
@keyframes appN{0%,15%{transform:translateY(-120px)}25%,75%{transform:none}85%,100%{transform:translateY(-120px)}}
/* meta */
.v-meta .ad{left:16%;right:16%;top:10%;bottom:14%;border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:10px}
.v-meta .ad .hd{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:700}
.v-meta .ad .hd::before{content:"";width:26px;height:26px;border-radius:50%;background:var(--grad)}
.v-meta .ad .hd small{font-weight:400;opacity:.6}
.v-meta .ad .img{flex:1;border-radius:14px;background:radial-gradient(60% 60% at 30% 30%,#ff4b9a,transparent),linear-gradient(135deg,#4a4cff,#7b00ff)}
.v-meta .ad .cta{height:38px;border-radius:10px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;font-size:.74rem;font-weight:700;background:#f0eefa}
.v-meta .ad .cta b{background:#7b00ff;color:#fff;padding:6px 10px;border-radius:8px}
.v-meta .rx{position:absolute;font-size:24px;animation:vzUp 3.6s ease-out infinite;opacity:0}
.v-meta .rx1{left:20%;bottom:16%}.v-meta .rx2{left:30%;bottom:16%;animation-delay:1.2s}.v-meta .rx3{left:24%;bottom:16%;animation-delay:2.4s}
.v-meta .aud{right:4%;top:26%;width:110px;height:110px;border-radius:50%;border:1px dashed rgba(255,255,255,.4);animation:vzSpin 14s linear infinite}
.v-meta .aud::before{content:"";position:absolute;inset:22px;border-radius:50%;border:1px solid rgba(255,0,200,.6)}
.v-meta .aud::after{content:"";position:absolute;width:14px;height:14px;border-radius:50%;background:#ff00c8;top:-7px;left:48px;box-shadow:0 0 20px #ff00c8}
/* google */
.v-google .serp{left:8%;right:8%;top:10%;bottom:10%;border-radius:22px;padding:18px}
.v-google .gb{height:40px;border-radius:999px;background:#f1f0f8;display:flex;align-items:center;padding:0 14px;font-size:.76rem;color:#555;margin-bottom:14px}
.v-google .ad{border-radius:14px;padding:12px;border:2px solid #7b00ff;margin-bottom:10px;animation:gAd 5s var(--ease) infinite}
.v-google .ad small{font-weight:800;font-size:.66rem;color:#7b00ff}
@keyframes gAd{0%,20%{transform:scale(.95);opacity:.2}35%,85%{transform:none;opacity:1;box-shadow:0 14px 30px -10px rgba(123,0,255,.6)}100%{opacity:.2}}
.v-google .org{border-radius:14px;padding:12px;background:#f6f5fb;margin-bottom:10px}
.v-google .yt{position:absolute;right:6%;bottom:6%;width:42%;aspect-ratio:16/9;border-radius:16px;background:linear-gradient(135deg,#1a1440,#ff00c8);display:grid;place-items:center;box-shadow:0 20px 50px -10px rgba(0,0,0,.6);animation:float 5s ease-in-out infinite}
.v-google .yt::before{content:"";width:0;height:0;border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent;margin-left:6px}
.v-google .clk{position:absolute;left:62%;top:32%;width:22px;animation:webCur 5s var(--ease) infinite;z-index:3}
/* funnel / performance */
.v-funnel svg{position:absolute;inset:10% 12% 22%;width:76%;height:68%}
.v-funnel .dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#fff;top:12%;animation:fDrop 3s ease-in infinite;box-shadow:0 0 12px #fff}
@keyframes fDrop{0%{transform:translateY(0);opacity:0}10%{opacity:1}80%{opacity:1}100%{transform:translateY(240px) translateX(var(--fx,0));opacity:0}}
.v-funnel .lead{left:22%;right:22%;bottom:8%;height:54px;border-radius:16px;display:flex;align-items:center;gap:10px;padding:0 16px;font-size:.8rem;font-weight:700;animation:vzIn 3s infinite}
.v-funnel .lead::before{content:"✓";width:26px;height:26px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center}
/* brand */
.v-brand .grid-c{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(255,255,255,.25);transform:translate(-50%,-50%)}
.v-brand .c1{width:70%;aspect-ratio:1}.v-brand .c2{width:48%;aspect-ratio:1;border-style:dashed;animation:vzSpin 20s linear infinite}.v-brand .c3{width:26%;aspect-ratio:1}
.v-brand .hl,.v-brand .vl{position:absolute;background:rgba(255,255,255,.18)}
.v-brand .hl{left:6%;right:6%;top:50%;height:1px}.v-brand .vl{top:6%;bottom:6%;left:50%;width:1px}
.v-brand .mk{position:absolute;left:50%;top:50%;width:26%;transform:translate(-50%,-50%);animation:bMark 6s var(--ease) infinite;filter:drop-shadow(0 10px 40px rgba(255,0,200,.6))}
@keyframes bMark{0%,10%{opacity:0;transform:translate(-50%,-50%) scale(.7) rotate(-20deg)}30%,85%{opacity:1;transform:translate(-50%,-50%)}100%{opacity:0}}
.v-brand .sw{position:absolute;bottom:7%;display:flex;gap:8px;left:50%;transform:translateX(-50%)}
.v-brand .sw i{width:38px;height:38px;border-radius:12px;animation:vzPop 6s var(--ease) infinite}
.v-brand .sw i:nth-child(1){background:#03030a;border:1px solid #fff3}.v-brand .sw i:nth-child(2){background:#7b00ff;animation-delay:.2s}.v-brand .sw i:nth-child(3){background:#ff4b9a;animation-delay:.4s}.v-brand .sw i:nth-child(4){background:#ff00c8;animation-delay:.6s}.v-brand .sw i:nth-child(5){background:#fff;animation-delay:.8s}
.v-brand .t{top:8%;left:8%}
/* graphic */
.v-graphic .poster{left:22%;right:22%;top:10%;bottom:10%;border-radius:20px;overflow:hidden;background:#140f35}
.v-graphic .sh{position:absolute;animation:vzPop 6s var(--ease) infinite}
.v-graphic .s1{width:44%;aspect-ratio:1;border-radius:50%;background:var(--grad);left:10%;top:10%}
.v-graphic .s2{width:34%;aspect-ratio:1;background:#4a4cff;right:8%;top:30%;border-radius:10px;animation-delay:.4s;rotate:12deg}
.v-graphic .s3{width:0;height:0;border-left:50px solid transparent;border-right:50px solid transparent;border-bottom:86px solid #fff;left:22%;bottom:22%;animation-delay:.8s}
.v-graphic .ttl{position:absolute;left:10%;right:10%;bottom:8%;font:800 1.3rem/1 var(--ff-h);letter-spacing:-.04em;animation:vzIn 6s infinite 1.1s}
.v-graphic svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.v-graphic svg path{fill:none;stroke:#ff9be0;stroke-width:2;stroke-dasharray:600;--dl:600;animation:vzDash 6s var(--ease) infinite}
.v-graphic .pal{position:absolute;right:5%;top:8%;display:grid;gap:6px}
.v-graphic .pal i{width:28px;height:28px;border-radius:50%}
/* video */
.v-video .frame{left:30%;right:30%;top:7%;bottom:24%;border-radius:22px;overflow:hidden;background:linear-gradient(170deg,#1b0b52,#7b00ff 60%,#ff4b9a)}
.v-video .frame .rec{position:absolute;top:14px;left:14px;font-size:.66rem;font-weight:700;display:flex;gap:6px;align-items:center}
.v-video .frame .rec::before{content:"";width:9px;height:9px;border-radius:50%;background:#ff2d55;animation:vzBlink 1s step-end infinite}
.v-video .frame .cap{position:absolute;left:12px;right:12px;bottom:18px;font:800 1rem/1.1 var(--ff-h);text-align:center;animation:vzIn 3s infinite}
.v-video .tl{left:6%;right:6%;bottom:6%;height:70px;border-radius:16px;padding:10px;display:grid;grid-template-rows:1fr 1fr;gap:6px;overflow:hidden}
.v-video .tl .clips{display:flex;gap:4px}.v-video .tl .clips i{flex:1;border-radius:6px;background:rgba(255,255,255,.22)}.v-video .tl .clips i:nth-child(2n){background:rgba(255,0,200,.55);flex:1.6}
.v-video .tl .wave{display:flex;gap:3px;align-items:center}.v-video .tl .wave i{flex:1;height:100%;border-radius:3px;background:rgba(255,255,255,.5);animation:vzBar 1.2s ease-in-out infinite;transform-origin:center}
.v-video .tl .ph{position:absolute;top:4px;bottom:4px;width:2px;background:#fff;left:0;animation:vzSlide 4s linear infinite;box-shadow:0 0 10px #fff}
/* writing */
.v-write .doc{left:14%;right:14%;top:9%;bottom:9%;border-radius:20px;padding:26px}
.v-write .h{font:800 1.25rem/1.15 var(--ff-h);letter-spacing:-.03em;margin-bottom:16px;color:#141230;min-height:2.4em}
.v-write .h span{display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;animation:vzType 6s steps(22) infinite;--tw:100%}
.v-write .typ{display:block;height:9px;border-radius:6px;background:#e3e0f3;margin:11px 0;width:0;animation:vzType 6s var(--ease) infinite}
.v-write .typ:nth-of-type(2){animation-delay:.3s;--tw:92%}.v-write .typ:nth-of-type(3){animation-delay:.6s;--tw:84%}.v-write .typ:nth-of-type(4){animation-delay:.9s;--tw:96%}.v-write .typ:nth-of-type(5){animation-delay:1.2s;--tw:60%}
.v-write .hl{background:linear-gradient(90deg,#ffe3f6,#efe2ff)!important}
.v-write .pen{position:absolute;right:8%;bottom:10%;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:24px;animation:float 4s ease-in-out infinite}
/* local */
.v-local .map{position:absolute;inset:0;background:linear-gradient(115deg,transparent 46%,rgba(255,255,255,.12) 46.5%,rgba(255,255,255,.12) 48%,transparent 48.5%),linear-gradient(25deg,transparent 60%,rgba(255,255,255,.1) 60.5%,rgba(255,255,255,.1) 62%,transparent 62.5%),linear-gradient(170deg,transparent 30%,rgba(255,255,255,.08) 30.5%,rgba(255,255,255,.08) 32%,transparent 32.5%)}
.v-local .pin{position:absolute;left:46%;top:24%;width:56px;height:56px;border-radius:50% 50% 50% 0;rotate:-45deg;background:var(--grad);box-shadow:0 0 40px rgba(255,0,200,.8);animation:pinDrop 5s var(--ease) infinite}
.v-local .pin::after{content:"";position:absolute;inset:18px;border-radius:50%;background:#fff}
@keyframes pinDrop{0%,8%{transform:translateY(-140px);opacity:0}22%,85%{transform:none;opacity:1}100%{opacity:0}}
.v-local .pk{left:8%;right:8%;height:56px;display:flex;align-items:center;gap:12px;padding:0 14px;animation:vzIn 5s infinite}
.v-local .pk i{width:32px;height:32px;border-radius:10px;background:#e8e5f6;flex:none}
.v-local .pk.me i{background:var(--grad)}
.v-local .pk .st{margin-left:auto;color:#f5b301;letter-spacing:1px;font-size:.78rem}
.v-local .k1{top:52%;animation-delay:.6s}.v-local .k2{top:66%;animation-delay:.9s}.v-local .k3{top:80%;animation-delay:1.2s}
/* shop */
.v-shop .prod{width:38%;height:52%;top:12%;border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:8px;animation:vzIn 6s infinite}
.v-shop .pa{left:8%}.v-shop .pb{right:8%;top:20%;animation-delay:.4s}
.v-shop .prod .im{flex:1;border-radius:14px;background:linear-gradient(135deg,#4a4cff,#ff4b9a)}
.v-shop .pb .im{background:linear-gradient(135deg,#7b00ff,#ff00c8)}
.v-shop .prod .btn-s{height:32px;border-radius:10px;background:#141230;color:#fff;font-size:.68rem;font-weight:700;display:grid;place-items:center}
.v-shop .cart{left:10%;bottom:9%;width:64px;height:64px;border-radius:20px;display:grid;place-items:center;font-size:26px}
.v-shop .cart b{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;background:#ff00c8;font-size:.72rem;display:grid;place-items:center;animation:vzPop 6s var(--ease) infinite 1.2s}
.v-shop .paid{right:8%;bottom:10%;height:56px;padding:0 16px;display:flex;align-items:center;gap:10px;font-size:.8rem;font-weight:700;animation:vzIn 6s infinite 2s}
.v-shop .paid::before{content:"✓";width:26px;height:26px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center}
/* whatsapp */
.v-wa .chat{left:16%;right:16%;top:8%;bottom:8%;border-radius:26px;overflow:hidden;background:#0b141a;border:1px solid rgba(255,255,255,.12)}
.v-wa .chat .hd{height:54px;background:#1f2c34;display:flex;align-items:center;gap:10px;padding:0 14px;font-size:.78rem;font-weight:700}
.v-wa .chat .hd::before{content:"";width:30px;height:30px;border-radius:50%;background:var(--grad)}
.v-wa .msgs{padding:14px;display:flex;flex-direction:column;gap:8px}
.v-wa .m{max-width:78%;padding:9px 12px;border-radius:12px;font-size:.74rem;line-height:1.35;animation:vzIn 8s infinite}
.v-wa .in{background:#202c33;align-self:flex-start;border-top-left-radius:2px}
.v-wa .out{background:#005c4b;align-self:flex-end;border-top-right-radius:2px}
.v-wa .m2{animation-delay:.9s}.v-wa .m3{animation-delay:1.8s}.v-wa .m4{animation-delay:2.7s}
.v-wa .cat{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.v-wa .cat i{aspect-ratio:1;border-radius:8px;background:linear-gradient(135deg,#7b00ff,#ff4b9a)}
.v-wa .typing{display:flex;gap:4px;padding:12px;background:#202c33;border-radius:12px;align-self:flex-start}.v-wa .typing i{width:6px;height:6px;border-radius:50%;background:#aaa;animation:vzBlink 1s infinite}.v-wa .typing i:nth-child(2){animation-delay:.2s}.v-wa .typing i:nth-child(3){animation-delay:.4s}
/* email */
.v-email .env{left:50%;top:14%;width:46%;aspect-ratio:1.4;transform:translateX(-50%);border-radius:14px;background:#fff;overflow:visible}
.v-email .env::before{content:"";position:absolute;inset:0 0 auto;height:60%;background:linear-gradient(160deg,#7b00ff,#ff00c8);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;animation:envOpen 5s var(--ease) infinite;border-radius:14px 14px 0 0}
@keyframes envOpen{0%,20%{transform:scaleY(1)}40%,80%{transform:scaleY(-1)}100%{transform:scaleY(1)}}
.v-email .row{left:10%;right:10%;height:46px;display:flex;align-items:center;gap:12px;padding:0 14px;font-size:.74rem;font-weight:600;animation:vzIn 5s infinite}
.v-email .row i{width:24px;height:24px;border-radius:50%;background:var(--grad);flex:none}
.v-email .row em{margin-left:auto;font-style:normal;font-size:.68rem;color:#25d366}
.v-email .e1{top:56%;animation-delay:.8s}.v-email .e2{top:68%;animation-delay:1.1s}.v-email .e3{top:80%;animation-delay:1.4s}
/* influencer */
.v-inf .core{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;background:#fff;box-shadow:0 0 60px rgba(255,0,200,.6)}
.v-inf .core img{width:50%}
.v-inf .orbit{position:absolute;left:50%;top:50%;width:76%;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(255,255,255,.3);transform:translate(-50%,-50%);animation:vzSpin 18s linear infinite}
.v-inf .orbit.o2{width:52%;animation-duration:12s;animation-direction:reverse}
.v-inf .av{position:absolute;width:54px;height:54px;border-radius:50%;border:3px solid transparent;background:linear-gradient(#1b1440,#1b1440) padding-box,var(--grad) border-box}
.v-inf .av::after{content:"";position:absolute;inset:8px;border-radius:50%;background:linear-gradient(135deg,#ffd1ec,#c9b6ff)}
.v-inf .a1{top:-27px;left:calc(50% - 27px)}.v-inf .a2{bottom:-27px;left:calc(50% - 27px)}.v-inf .a3{left:-27px;top:calc(50% - 27px)}.v-inf .a4{right:-27px;top:calc(50% - 27px)}
.v-inf .tag{animation:vzIn 6s infinite}
/* reputation */
.v-rep .stars{position:absolute;left:50%;top:18%;transform:translateX(-50%);display:flex;gap:8px}
.v-rep .stars i{width:42px;height:42px;background:rgba(255,255,255,.18);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);animation:repStar 5s var(--ease) infinite}
.v-rep .stars i:nth-child(2){animation-delay:.2s}.v-rep .stars i:nth-child(3){animation-delay:.4s}.v-rep .stars i:nth-child(4){animation-delay:.6s}.v-rep .stars i:nth-child(5){animation-delay:.8s}
@keyframes repStar{0%,15%{background:rgba(255,255,255,.18);transform:scale(.8)}25%,85%{background:#ffc93c;transform:scale(1)}100%{background:rgba(255,255,255,.18)}}
.v-rep .rv{left:10%;right:18%;top:38%;padding:14px 16px;animation:vzIn 5s infinite .8s}
.v-rep .rp{left:24%;right:8%;top:62%;padding:14px 16px;animation:vzIn 5s infinite 1.6s}
.v-rep .rp small,.v-rep .rv small{font-size:.66rem;font-weight:700;letter-spacing:.06em;opacity:.7}
/* uiux */
.v-ux .scr{top:10%;bottom:10%;width:38%;border-radius:22px;padding:14px;display:flex;flex-direction:column;gap:8px}
.v-ux .wf{left:8%;background:transparent;border:1.5px dashed rgba(255,255,255,.4)}
.v-ux .wf i{display:block;border-radius:8px;border:1.5px dashed rgba(255,255,255,.35)}
.v-ux .ui{right:8%}
.v-ux .ui i{display:block;border-radius:10px;animation:vzIn 6s infinite}
.v-ux .wf i:nth-child(1),.v-ux .ui i:nth-child(1){height:22%}.v-ux .wf i:nth-child(2),.v-ux .ui i:nth-child(2){height:12%}.v-ux .wf i:nth-child(3),.v-ux .ui i:nth-child(3){height:12%}.v-ux .wf i:nth-child(4),.v-ux .ui i:nth-child(4){flex:1}
.v-ux .ui i:nth-child(1){background:var(--grad)}.v-ux .ui i:nth-child(2){background:#e8e4ff;animation-delay:.3s}.v-ux .ui i:nth-child(3){background:#e8e4ff;animation-delay:.5s;width:70%}.v-ux .ui i:nth-child(4){background:#141230;animation-delay:.7s}
.v-ux .arrow{position:absolute;left:47%;top:48%;font-size:28px;animation:float 3s ease-in-out infinite}
/* landing */
.v-land .ad{left:6%;top:16%;width:30%;height:34%;border-radius:16px;padding:10px;animation:vzIn 5s infinite}
.v-land .ad .im{height:60%;border-radius:10px;background:var(--grad)}
.v-land .pg{right:8%;top:10%;bottom:10%;width:46%;border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:8px}
.v-land .pg .cta{margin-top:auto;height:44px;border-radius:12px;background:var(--grad);color:#fff;font-size:.74rem;font-weight:800;display:grid;place-items:center;animation:landP 2s ease-in-out infinite}
@keyframes landP{50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(255,0,200,.15)}}
.v-land svg{position:absolute;left:34%;top:30%;width:22%;height:20%}
.v-land svg path{fill:none;stroke:#fff;stroke-width:2;stroke-dasharray:6 6;animation:landD 1s linear infinite}
@keyframes landD{to{stroke-dashoffset:-12}}
.v-land .ok{left:8%;bottom:12%;animation:vzIn 5s infinite 1.4s}
/* maintenance */
.v-care svg.ecg{position:absolute;left:6%;right:6%;top:18%;width:88%;height:30%}
.v-care svg.ecg path{fill:none;stroke:url(#vcg);stroke-width:3;stroke-dasharray:900;--dl:900;animation:vzDash 3.5s linear infinite}
.v-care .shield{position:absolute;left:50%;top:52%;width:84px;height:96px;transform:translateX(-50%);background:var(--grad);clip-path:path("M42 0 L84 16 L84 50 C84 74 64 90 42 96 C20 90 0 74 0 50 L0 16 Z");display:grid;place-items:center;font-size:30px;font-weight:800;animation:float 4s ease-in-out infinite}
.v-care .st{left:8%;right:8%;bottom:7%;height:54px;display:flex;align-items:center;justify-content:space-around;font-size:.72rem;font-weight:600}
.v-care .st span{display:flex;align-items:center;gap:6px}.v-care .st span::before{content:"";width:8px;height:8px;border-radius:50%;background:#25d366;box-shadow:0 0 10px #25d366;animation:vzBlink 2s infinite}
.v-care .bk{left:12%;top:8%;width:46%;height:10px;border-radius:6px;overflow:hidden;padding:0}
.v-care .bk::after{content:"";position:absolute;inset:0;width:30%;background:var(--grad);animation:vzSlide 2.4s linear infinite}
/* strategy */
.v-strat .ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(255,255,255,.2);transform:translate(-50%,-50%)}
.v-strat .r1{width:84%;aspect-ratio:1;animation:vzSpin 26s linear infinite}.v-strat .r2{width:58%;aspect-ratio:1;animation:vzSpin 16s linear infinite reverse}
.v-strat .core{position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--grad);display:grid;place-items:center;font:800 .8rem/1.1 var(--ff-h);text-align:center;box-shadow:0 0 70px rgba(255,0,200,.6)}
.v-strat .ch{position:absolute;padding:8px 12px;border-radius:999px;background:#fff;color:#141230;font-size:.68rem;font-weight:800;white-space:nowrap}
.v-strat .r1 .ch,.v-strat .r2 .ch{animation:vzSpin 26s linear infinite reverse}
.v-strat .r2 .ch{animation-duration:16s;animation-direction:normal}
.v-strat .c1{top:-14px;left:50%;margin-left:-26px}.v-strat .c2{bottom:-14px;left:50%;margin-left:-30px}.v-strat .c3{left:-24px;top:50%;margin-top:-14px}.v-strat .c4{right:-30px;top:50%;margin-top:-14px}

/* ===== ARTICLE (blog post, legal) ===== */
.article-hero{padding:clamp(140px,16vw,200px) 0 40px;position:relative;isolation:isolate}
.article-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 50% 0%,rgba(123,0,255,.35),transparent 70%)}
.article-hero h1{font-size:clamp(2rem,4.8vw,4rem);max-width:20ch}
.article-meta{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:.9rem;margin-top:20px}
.article-meta span{padding:7px 12px;border-radius:999px;border:1px solid var(--line)}
.article-cover{height:clamp(200px,32vw,420px);border-radius:var(--r-lg);margin:20px 0 50px;background:var(--cg,var(--grad2));position:relative;overflow:hidden}
.article-cover img{position:absolute;right:6%;bottom:12%;width:clamp(60px,9vw,110px);opacity:.9}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:60px;align-items:start}
.prose,.article-body{font-size:1.1rem;line-height:1.8;color:var(--ink2);max-width:72ch}
.prose h2,.article-body h2{font-size:clamp(1.4rem,2.4vw,2rem);margin:1.8em 0 .6em;color:var(--ink)}
.prose h3,.article-body h3{font-size:1.25rem;margin:1.6em 0 .5em;color:var(--ink)}
.prose a,.article-body a{color:var(--pink);text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol,.article-body ul,.article-body ol{padding-left:1.3em}
.prose li,.article-body li{margin:.4em 0}
.prose blockquote{margin:1.6em 0;padding:18px 24px;border-left:3px solid var(--magenta);background:var(--glass);border-radius:0 16px 16px 0}
.prose img{border-radius:16px;margin:1.5em 0}
.prose table{width:100%;border-collapse:collapse;font-size:.95rem}.prose td,.prose th{border:1px solid var(--line2);padding:10px}
.aside-card{position:sticky;top:110px;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);display:grid;gap:14px}
.aside-card h3{margin:0}
.aside-card p{margin:0;color:var(--muted);font-size:.95rem}
.toc a{display:block;padding:6px 0;color:var(--muted);font-size:.92rem;border-left:2px solid var(--line);padding-left:12px}.toc a:hover{color:var(--ink);border-color:var(--pink)}
.blog-tools{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;margin-bottom:34px}
.blog-tools form{display:flex;gap:8px;flex:1;max-width:420px}
.blog-tools input{flex:1;min-height:48px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);background:var(--glass)}
.cat-pills{display:flex;flex-wrap:wrap;gap:8px}
.cat-pills a{padding:9px 15px;border-radius:999px;border:1px solid var(--line2);font-size:.86rem;font-weight:600;color:var(--ink2)}
.cat-pills a.on,.cat-pills a:hover{background:var(--grad);border-color:transparent;color:#fff}
.pager{display:flex;gap:8px;justify-content:center;margin-top:50px}
.pager a,.pager span{min-width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line2);font-weight:600}
.pager .on{background:var(--grad);border-color:transparent;color:#fff}

/* ===== CONTACT / TOOLS ===== */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:start}
.form-card{padding:clamp(24px,4vw,44px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass)}
.quick{display:grid;gap:12px}
.quick a{display:flex;align-items:center;gap:16px;padding:20px;border-radius:20px;border:1px solid var(--line);background:var(--glass);transition:border-color .3s,transform .5s var(--ease)}
.quick a:hover{border-color:rgba(255,0,200,.5);transform:translateX(4px)}
.quick a i{font-style:normal;flex:none;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--grad);color:#fff}
.quick a i.wa{background:#1fae54}
.quick a i svg{width:22px;height:22px}
.quick a small{display:block;color:var(--muted);font-size:.82rem}
.quick a b{font-size:1.02rem}
.score-wrap{display:grid;grid-template-columns:auto 1fr;gap:40px;align-items:center}
.score-ring{--s:0;width:190px;height:190px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--sc,#ff00c8) calc(var(--s)*1%),rgba(255,255,255,.08) 0);position:relative}
.score-ring::before{content:"";position:absolute;inset:14px;border-radius:50%;background:var(--bg2)}
.score-ring b{position:relative;font:800 3.4rem/1 var(--ff-h);letter-spacing:-.05em}
.score-ring small{position:absolute;bottom:42px;font-size:.78rem;color:var(--muted)}
.checks{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:16px 18px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.checks li .st{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.8rem;color:#fff}
.checks li.pass .st{background:#1fae54}.checks li.warn .st{background:#f5a524}.checks li.fail .st{background:#ff2d7a}
.checks li b{display:block}.checks li span{color:var(--muted);font-size:.92rem}
.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.calc-opt{position:relative;display:flex!important;align-items:center;gap:12px!important;padding:16px;border-radius:16px;border:1px solid var(--line2);background:var(--glass);cursor:pointer;font-weight:600!important;color:var(--ink)!important}
.calc-opt input{width:20px!important;min-height:20px!important;height:20px;accent-color:var(--magenta)}
.calc-opt:has(input:checked){border-color:var(--pink);background:rgba(255,0,200,.08)}

/* ===== PORTAL ===== */
.portal-shell{padding:130px 0 80px}
.auth-wrap{min-height:100svh;display:grid;place-items:center;padding:120px 20px 60px;position:relative;isolation:isolate}
.auth-wrap::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 50% at 30% 30%,rgba(123,0,255,.4),transparent 70%),radial-gradient(40% 50% at 80% 70%,rgba(255,0,200,.3),transparent 70%)}
.auth-card,.admin-login-card{width:min(100%,460px);padding:clamp(28px,5vw,44px);border-radius:var(--r-lg);border:1px solid var(--line2);background:rgba(10,10,30,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
html[data-theme=light] .auth-card,html[data-theme=light] .admin-login-card{background:rgba(255,255,255,.75)}
.auth-card h1,.admin-login-card h1{font-size:clamp(1.8rem,4vw,2.4rem)}
.admin-login-shell{min-height:100svh;display:grid;place-items:center;padding:120px 20px 60px}
.back-link{display:inline-block;color:var(--muted);font-size:.9rem;margin-bottom:22px}
.portal-overview-stats,.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin:26px 0}
.portal-overview-stats>*,.dashboard-stats>*,.dash-stat{padding:22px;border-radius:20px;border:1px solid var(--line);background:var(--glass)}
.portal-section{margin-top:36px}
.portal-list{display:grid;gap:12px}
.portal-item{padding:20px 22px;border-radius:18px;border:1px solid var(--line);background:var(--glass)}
.portal-item h3{margin:0 0 6px}
.portal-amount{font:700 1.3rem var(--ff-h)}
.progress-track{height:8px;border-radius:8px;background:var(--line);overflow:hidden;margin:10px 0}
.progress-track span,.progress-track i,.progress-track b{display:block;height:100%;background:var(--grad);border-radius:8px}
.status-pill{display:inline-block;padding:5px 11px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--glass2);border:1px solid var(--line2)}
.client-portal-welcome{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:end}
.welcome-tag{color:var(--pink);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.admin-table-wrap{overflow-x:auto;border-radius:18px;border:1px solid var(--line)}
.admin-table{width:100%;border-collapse:collapse;font-size:.92rem}.admin-table th,.admin-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}.admin-table th{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.admin-panel{padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass)}
.empty-state,.empty-content{padding:40px;border-radius:var(--r);border:1px dashed var(--line2);text-align:center;color:var(--muted)}
.inline-form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.project-form{display:grid;gap:16px}
.link-button{background:none;border:0;color:var(--pink);cursor:pointer;font-weight:600;padding:0}

/* ===== MISC ===== */
.notfound{min-height:90svh;display:grid;place-items:center;text-align:center;padding:140px 20px 60px}
.notfound h1{font-size:clamp(5rem,20vw,14rem);line-height:.9;margin:0}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.kpi{padding:24px;border-radius:20px;border:1px solid var(--line);background:var(--glass)}
.kpi b{display:block;font:700 2rem/1 var(--ff-h);margin-bottom:6px}.kpi span{color:var(--muted);font-size:.9rem}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.value{padding:30px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass)}
.value .n{font:800 2.6rem/1 var(--ff-h);margin-bottom:30px;display:block}
.industry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.stack-card{border-radius:var(--r-lg)}
.tilt{transform-style:preserve-3d;will-change:transform}
.pill-list{display:flex;flex-wrap:wrap;gap:8px}
.pill-list span{padding:8px 14px;border-radius:999px;background:var(--glass);border:1px solid var(--line2);font-size:.86rem}
.reel-section{will-change:transform}
.stack-wrap .stack-panel{border-radius:clamp(26px,4vw,48px);overflow:hidden}

/* ===== RESPONSIVE ===== */
@media (max-width:1080px){
 .reel-pin{grid-template-columns:1fr;justify-items:center;text-align:center;padding:100px 0 40px;gap:30px}
 .reel-chapters{min-height:0;order:2}.reel-chapter p{margin-inline:auto}.reel-chapter .tags{justify-content:center}
 .reel-side-copy{display:none}
 .svc-hero-grid,.svc-why,.split-2,.trust,.contact-grid,.faq-layout,.article-layout{grid-template-columns:1fr}
 .faq-layout .sticky,.aside-card{position:static}
 .who-grid{grid-template-columns:1fr 1fr}.related-grid{grid-template-columns:1fr 1fr}
 .process-wrap{grid-template-columns:1fr 1fr}
 .post-card.feature{grid-template-columns:1fr}
 .values{grid-template-columns:1fr}
 .kpis{grid-template-columns:1fr 1fr}
 .hero-badge{display:none}.hero-row{grid-template-columns:1fr}
 .svc-hero .viz{max-width:520px;margin:auto}
}
@media (max-width:640px){
 .hero{padding-top:120px;min-height:auto}
 .hero h1{font-size:clamp(2.5rem,12vw,3.6rem)}
 .stats{grid-template-columns:1fr 1fr}
 .phone{width:min(74vw,290px)}
 .deliv,.who-grid,.related-grid,.process-wrap{grid-template-columns:1fr}
 .svc-card{width:82vw;min-height:380px}
 .score-wrap{grid-template-columns:1fr;justify-items:center}
 .reel-chapter h3{font-size:1.7rem}
 .audit-inline{flex-direction:column;border-radius:22px}.audit-inline input{min-height:48px}
 .cta-band .actions .btn{width:100%}
 .hero-actions .btn{flex:1 1 100%}
 .t-step{grid-template-columns:44px 1fr;gap:16px}.t-step .dot{width:44px;height:44px}.timeline::before,.timeline .fill{left:21px}
 .faq summary{padding:18px}.faq .ans{padding:0 18px 18px}
 .marquee-track span{font-size:1.4rem}
}

/* ===== PER-SERVICE DESIGN SYSTEM (themes from includes/service-themes.php) ===== */
.svcp{--ga:#7b00ff;--gb:#ff00c8;--gc:#ff4b9a;--pgrad:linear-gradient(115deg,var(--ga),var(--gc) 55%,var(--gb))}
.svcp.acc-1{--ga:#7b00ff;--gc:#ff4b9a;--gb:#ff00c8}
.svcp.acc-2{--ga:#4a4cff;--gc:#a64bff;--gb:#ff4b9a}
.svcp.acc-3{--ga:#ff00c8;--gc:#ff3fae;--gb:#ff4b9a}
.svcp.acc-4{--ga:#7b00ff;--gc:#5e2bff;--gb:#4a4cff}
.svcp.acc-5{--ga:#ff4b9a;--gc:#c33bff;--gb:#7b00ff}
.svcp.acc-6{--ga:#4a4cff;--gc:#a300ff;--gb:#ff00c8}
.svcp.acc-7{--ga:#ff00c8;--gc:#7b00ff;--gb:#4a4cff}
.svcp .grad,.svcp .grad .split-word{background-image:var(--pgrad)}
.svcp .eyebrow::before{background:var(--pgrad)}
.svcp .btn-primary{background:var(--pgrad)}
.svcp .svc-name i,.svcp .inc .ico,.svcp .t-step.on .dot,.svcp .deliv li::before{background-color:var(--ga)}
.svcp .viz{background:radial-gradient(70% 60% at 70% 20%,color-mix(in srgb,var(--gb) 35%,transparent),transparent 70%),radial-gradient(70% 70% at 20% 90%,color-mix(in srgb,var(--ga) 50%,transparent),transparent 70%),linear-gradient(160deg,#100c33,#05051a)}
.svcp .inc .n,.svcp .price-card .kick{color:var(--gc)}
.svcp .band{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--ga) 9%,var(--bg)) 12%,color-mix(in srgb,var(--ga) 9%,var(--bg)) 88%,transparent)}
.svcp .timeline .fill{background:var(--pgrad)}
/* hero backdrops */
.svcp .svc-hero::before{background:radial-gradient(50% 60% at 80% 20%,color-mix(in srgb,var(--gb) 32%,transparent),transparent 65%),radial-gradient(45% 55% at 5% 40%,color-mix(in srgb,var(--ga) 40%,transparent),transparent 65%)}
.svcp.bg-grid .svc-hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(180deg,#000,transparent 85%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%)}
.svcp.bg-rays .svc-hero::after{content:"";position:absolute;inset:-30% -10% auto;height:130%;z-index:-1;background:repeating-conic-gradient(from 200deg at 70% 0%,transparent 0 8deg,color-mix(in srgb,var(--gb) 12%,transparent) 8deg 10deg);mask-image:radial-gradient(70% 70% at 70% 0%,#000,transparent 70%);-webkit-mask-image:radial-gradient(70% 70% at 70% 0%,#000,transparent 70%)}
.svcp.bg-ring .svc-hero::after{content:"";position:absolute;width:80vw;height:80vw;max-width:1100px;max-height:1100px;right:-25vw;top:-30vw;z-index:-1;border-radius:50%;border:1px solid color-mix(in srgb,var(--gb) 40%,transparent);box-shadow:0 0 0 60px color-mix(in srgb,var(--ga) 6%,transparent),0 0 0 140px color-mix(in srgb,var(--ga) 4%,transparent)}
.svcp.bg-glow-tr .svc-hero::before{background:radial-gradient(60% 70% at 100% 0%,color-mix(in srgb,var(--gb) 45%,transparent),transparent 60%)}
.svcp.bg-glow-bl .svc-hero::before{background:radial-gradient(60% 70% at 0% 100%,color-mix(in srgb,var(--ga) 55%,transparent),transparent 60%),radial-gradient(30% 40% at 90% 10%,color-mix(in srgb,var(--gb) 30%,transparent),transparent 70%)}
/* hero layouts */
.svcp.h-split-rev .svc-hero-grid{grid-template-columns:.95fr 1.05fr}
.svcp.h-split-rev .svc-hero-grid>div:first-child{order:2}
.svcp.h-center .svc-hero-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
.svcp.h-center .svc-hero h1{font-size:clamp(2.6rem,7.4vw,7rem);max-width:14ch;margin-inline:auto}
.svcp.h-center .svc-hero .lead{margin-inline:auto}
.svcp.h-center .hero-actions{justify-content:center}
.svcp.h-center .svc-hero .viz{aspect-ratio:16/7;max-width:1100px;margin-top:20px}
.svcp.h-center .eyebrow{justify-content:center}
.svcp.h-overlay .svc-hero{min-height:100svh;display:flex;align-items:center}
.svcp.h-overlay .svc-hero-grid{grid-template-columns:1fr;position:relative}
.svcp.h-overlay .svc-hero-grid>div:last-child{position:absolute;right:-8vw;top:50%;transform:translateY(-50%);width:min(62vw,820px);z-index:-1;opacity:.95}
.svcp.h-overlay .svc-hero-grid>div:first-child{max-width:640px;padding:clamp(24px,4vw,44px);border-radius:var(--r-lg);background:rgba(5,5,20,.55);border:1px solid var(--line2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
html[data-theme=light] .svcp.h-overlay .svc-hero-grid>div:first-child{background:rgba(255,255,255,.7)}
.svcp.h-overlay .svc-hero h1{font-size:clamp(2.2rem,4.8vw,4.4rem)}
.svcp.h-stack .svc-hero-grid{grid-template-columns:1fr 1fr;grid-template-areas:"t t" "c v"}
.svcp.h-stack .svc-hero-grid>div:first-child{display:contents}
.svcp.h-stack .svc-hero .h-top{grid-area:t}
.svcp.h-stack .svc-hero .h-copy{grid-area:c;align-self:start}
.svcp.h-stack .svc-hero-grid>div:last-child{grid-area:v}
.svcp.h-stack .svc-hero h1{font-size:clamp(2.6rem,8.4vw,8.6rem);line-height:.92;letter-spacing:-.055em;max-width:none;margin-bottom:10px}
.svcp.h-stack .svc-hero .viz{aspect-ratio:4/3}
/* includes: bento */
.inc-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(190px,auto);gap:14px}
.inc-bento .inc:nth-child(1){grid-column:span 2;grid-row:span 2;background:var(--pgrad);border:0;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}
.inc-bento .inc:nth-child(1) p{color:rgba(255,255,255,.88);font-size:1.05rem}.inc-bento .inc:nth-child(1) h3{font-size:1.7rem}.inc-bento .inc:nth-child(1) .n{color:#fff}
.inc-bento .inc:nth-child(4){grid-column:span 2}
.inc-bento .inc:nth-child(7){grid-column:span 2}
/* includes: hscroll */
.inc-h{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--pad) 26px;scrollbar-width:thin}
.inc-h .inc{flex:0 0 clamp(260px,30vw,380px);min-height:320px;scroll-snap-align:start;display:flex;flex-direction:column}
.inc-h .inc h3{font-size:1.4rem;margin-top:auto}
.inc-h .inc .n{font:800 3.6rem/1 var(--ff-h);background:var(--pgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* includes: list (big type rows) */
.inc-list{border-top:1px solid var(--line2)}
.inc-row{display:grid;grid-template-columns:90px 1fr 1.1fr;gap:30px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line2);transition:padding .5s var(--ease)}
.inc-row:hover{padding-left:16px}
.inc-row .n{font:700 .9rem var(--ff-h);color:var(--gc)}
.inc-row h3{font-size:clamp(1.3rem,2.6vw,2.2rem);margin:0;transition:color .3s}
.inc-row:hover h3{background:var(--pgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.inc-row p{margin:0;color:var(--muted)}
/* includes: accordion */
.inc-acc .faq summary{font-family:var(--ff-h);font-size:1.15rem}
.inc-acc .faq summary .n{color:var(--gc);font-size:.8rem;margin-right:14px}
/* includes: orbit */
.inc-orbit{position:relative;width:min(100%,980px);aspect-ratio:1/.78;margin:0 auto}
.inc-orbit .core{position:absolute;left:50%;top:50%;width:30%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--pgrad);display:grid;place-items:center;text-align:center;padding:20px;color:#fff;font:700 clamp(.9rem,1.5vw,1.25rem)/1.2 var(--ff-h);box-shadow:0 0 90px color-mix(in srgb,var(--gb) 50%,transparent)}
.inc-orbit .ring{position:absolute;left:50%;top:50%;width:66%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed var(--line2);animation:vzSpin 60s linear infinite}
.inc-orbit .node{position:absolute;width:min(250px,28%);transform:translate(-50%,-50%);padding:16px 18px;border-radius:18px;background:var(--glass2);border:1px solid var(--line2);backdrop-filter:blur(12px)}
.inc-orbit .node h3{font-size:.98rem;margin:0 0 4px}.inc-orbit .node p{margin:0;font-size:.82rem;color:var(--muted)}
/* process: stacked sticky cards */
.proc-stack{display:grid;gap:20px}
.proc-stack .card{position:sticky;top:calc(100px + var(--i)*18px);min-height:240px;padding:clamp(26px,4vw,46px);border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(160deg,color-mix(in srgb,var(--ga) 22%,var(--bg2)),var(--bg2));display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;box-shadow:0 -20px 60px -30px rgba(0,0,0,.7)}
html[data-theme=light] .proc-stack .card{background:linear-gradient(160deg,color-mix(in srgb,var(--ga) 14%,#fff),#fff)}
.proc-stack .card .n{font:800 clamp(3.4rem,8vw,6.5rem)/1 var(--ff-h);background:var(--pgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.proc-stack .card h3{font-size:clamp(1.4rem,2.4vw,2rem)}.proc-stack .card p{color:var(--muted);margin:0;max-width:60ch}
/* process: horizontal steps */
.proc-steps{display:grid;grid-template-columns:repeat(var(--n,5),1fr);gap:18px;position:relative;counter-reset:s}
.proc-steps::before{content:"";position:absolute;left:4%;right:4%;top:28px;height:2px;background:var(--pgrad);opacity:.6}
.proc-steps .st{position:relative;padding-top:80px}
.proc-steps .st .n{position:absolute;top:0;left:0;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--gc);font:700 1.05rem var(--ff-h)}
.proc-steps .st h3{font-size:1.15rem}.proc-steps .st p{color:var(--muted);font-size:.93rem;margin:0}
/* process: big type */
.proc-big .row{display:grid;grid-template-columns:clamp(90px,14vw,200px) 1fr;gap:clamp(20px,4vw,60px);padding:clamp(26px,4vw,44px) 0;border-top:1px solid var(--line2);align-items:start}
.proc-big .row .n{font:800 clamp(3.6rem,10vw,9rem)/.85 var(--ff-h);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px var(--gc)}
.proc-big .row:hover .n{background:var(--pgrad);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:0}
.proc-big .row h3{font-size:clamp(1.5rem,3vw,2.6rem);margin-bottom:12px}.proc-big .row p{color:var(--muted);font-size:1.08rem;max-width:62ch;margin:0}
/* process: zigzag */
.proc-zig{position:relative;display:grid;gap:30px}
.proc-zig::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(var(--ga),var(--gb));opacity:.5}
.proc-zig .st{width:calc(50% - 50px);padding:28px;border-radius:var(--r);border:1px solid var(--line2);background:var(--glass);position:relative}
.proc-zig .st:nth-child(even){margin-left:auto}
.proc-zig .st::after{content:attr(data-n);position:absolute;top:24px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--pgrad);color:#fff;font:700 .95rem var(--ff-h)}
.proc-zig .st:nth-child(odd)::after{right:-74px}.proc-zig .st:nth-child(even)::after{left:-74px}
.proc-zig .st h3{font-size:1.3rem}.proc-zig .st p{color:var(--muted);margin:0}
/* deliverables: receipt */
.receipt{max-width:620px;margin:0 auto;padding:36px 34px 44px;background:#fbfaff;color:#141230;border-radius:18px;position:relative;box-shadow:0 40px 80px -30px rgba(0,0,0,.6);font-family:var(--ff)}
.receipt::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:28px;background:radial-gradient(circle at 14px -4px,transparent 15px,#fbfaff 16px) 0 0/28px 28px repeat-x}
.receipt h3{font-size:1.1rem;text-align:center;letter-spacing:.2em;text-transform:uppercase;margin-bottom:4px}
.receipt .sub{text-align:center;color:#6b6788;font-size:.82rem;margin-bottom:22px}
.receipt ol{list-style:none;margin:0;padding:0;border-top:2px dashed #d7d2ee}
.receipt li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px dashed #d7d2ee;font-weight:500}
.receipt li b{color:var(--ga);font-family:var(--ff-h);font-size:.8rem}
.receipt .tot{display:flex;justify-content:space-between;padding-top:16px;font:700 1rem var(--ff-h)}
/* deliverables: chips */
.deliv-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:1000px;margin:0 auto}
.deliv-chips span{padding:16px 24px;border-radius:999px;font-weight:600;font-size:1.02rem;background:linear-gradient(var(--bg),var(--bg)) padding-box,var(--pgrad) border-box;border:1.5px solid transparent}
.deliv-chips span:nth-child(3n+1){background:var(--pgrad);color:#fff;border:0}
/* deliverables: files */
.deliv-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.deliv-files .f{position:relative;padding:60px 20px 22px;border-radius:6px 22px 22px 22px;background:var(--glass);border:1px solid var(--line2);min-height:170px}
.deliv-files .f::before{content:"";position:absolute;left:-1px;top:-14px;width:44%;height:16px;border-radius:10px 10px 0 0;background:var(--glass2);border:1px solid var(--line2);border-bottom:0}
.deliv-files .f::after{content:attr(data-ext);position:absolute;left:20px;top:20px;padding:5px 9px;border-radius:8px;background:var(--pgrad);color:#fff;font:700 .66rem/1 var(--ff);letter-spacing:.1em}
.deliv-files .f p{margin:0;font-weight:600}
/* deliverables: table */
.deliv-table{width:100%;border-collapse:collapse}
.deliv-table td{padding:20px 14px;border-bottom:1px solid var(--line2);font-size:1.05rem}
.deliv-table td:first-child{width:70px;font:700 .85rem var(--ff-h);color:var(--gc)}
.deliv-table td:last-child{text-align:right;color:var(--muted);font-size:.85rem;white-space:nowrap}
.deliv-table tr:hover td{background:var(--glass)}
/* who: list / quote / pills */
.who-list{border-top:1px solid var(--line2)}
.who-list div{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid var(--line2);font:600 clamp(1.05rem,1.8vw,1.45rem)/1.35 var(--ff-h);letter-spacing:-.01em}
.who-list div b{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);font-size:1rem;transition:background .3s,transform .5s var(--ease)}
.who-list div:hover b{background:var(--pgrad);transform:rotate(45deg);border-color:transparent;color:#fff}
.who-quote{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.who-quote .big{font:700 clamp(1.8rem,3.6vw,3.2rem)/1.12 var(--ff-h);letter-spacing:-.035em}
.who-quote ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.who-quote li{padding:18px 20px;border-radius:16px;border-left:3px solid var(--gc);background:var(--glass)}
.who-pills{display:flex;flex-wrap:wrap;gap:12px}
.who-pills span{padding:18px 24px;border-radius:22px;background:var(--glass);border:1px solid var(--line2);font-size:1.02rem;max-width:520px}
.who-pills span::before{content:"→ ";color:var(--gc);font-weight:700}
@media (max-width:1080px){
 .svcp.h-split-rev .svc-hero-grid,.svcp.h-stack .svc-hero-grid{grid-template-columns:1fr;grid-template-areas:none}
 .svcp.h-split-rev .svc-hero-grid>div:first-child{order:0}
 .svcp.h-stack .svc-hero-grid>div:first-child{display:block}
 .svcp.h-overlay .svc-hero{min-height:0}
 .svcp.h-overlay .svc-hero-grid>div:last-child{position:relative;right:auto;top:auto;transform:none;width:100%;z-index:0;margin-top:24px}
 .inc-bento{grid-template-columns:1fr 1fr}
 .inc-row{grid-template-columns:60px 1fr}.inc-row p{grid-column:2}
 .inc-orbit{aspect-ratio:auto;display:grid;gap:12px}
 .inc-orbit .core{position:relative;left:auto;top:auto;transform:none;width:100%;aspect-ratio:auto;border-radius:var(--r);padding:30px}
 .inc-orbit .ring{display:none}
 .inc-orbit .node{position:relative;transform:none;width:auto;left:auto!important;top:auto!important}
 .proc-steps{grid-template-columns:1fr;gap:26px}.proc-steps::before{left:28px;right:auto;top:0;bottom:0;width:2px;height:auto}
 .proc-steps .st{padding:0 0 0 84px;min-height:58px}
 .proc-zig::before{left:22px}.proc-zig .st{width:auto;margin-left:60px!important}.proc-zig .st::after{left:-62px!important;right:auto!important}
 .who-quote{grid-template-columns:1fr}
}
@media (max-width:640px){
 .inc-bento{grid-template-columns:1fr}.inc-bento .inc{grid-column:auto!important;grid-row:auto!important}
 .proc-stack .card{grid-template-columns:1fr;gap:10px}
 .deliv-table td:last-child{display:none}
 .receipt{padding:28px 20px 36px}
 .svcp.h-center .svc-hero .viz{aspect-ratio:1/1.02}
}
.prose .quick-answer{border-left:0;border-radius:20px;padding:22px 24px;background:linear-gradient(135deg,rgba(123,0,255,.18),rgba(255,0,200,.1));border:1px solid rgba(255,0,200,.35)}.prose .quick-answer b{display:block;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pink);margin-bottom:6px}.prose .quick-answer p{margin:0;color:var(--ink)}

/* ===== headline treatments (per service) ===== */
.svcp.hl-grad .svc-hero h1 .split-word,.svcp.hl-grad .svc-hero h1:not(.is-split){background-image:var(--pgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.svcp.hl-outline .svc-hero h1 .split-line:nth-child(odd) .split-word{color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--gc) 85%,#fff)}
.svcp.hl-outline .svc-hero h1 .split-line:last-child .split-word{background-image:var(--pgrad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0}
.svcp.hl-upper .svc-hero h1{text-transform:uppercase;letter-spacing:-.02em;font-size:clamp(2rem,4.6vw,4.4rem);line-height:1}
.svcp.hl-upper .svc-hero h1 .split-line:nth-child(4n+3) .split-word{background-image:var(--pgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
.svcp.hl-mark .svc-hero h1 .split-word{background:linear-gradient(transparent 62%,color-mix(in srgb,var(--gb) 55%,transparent) 62%,color-mix(in srgb,var(--gb) 55%,transparent) 90%,transparent 90%);padding:0 .04em}
.svcp.hl-mixed .svc-hero h1{font-weight:400;letter-spacing:-.04em}
.svcp.hl-mixed .svc-hero h1 .split-line:nth-child(n+5) .split-word{font-weight:800;background-image:var(--pgrad);-webkit-background-clip:text;background-clip:text;color:transparent}
/* ===== mobile hero compositions: visual always in the first screen ===== */
@media (max-width:760px){
 .svcp .svc-hero{padding:92px 0 40px}
 .svcp .svc-hero .crumbs{display:none}
 .svcp .svc-hero-grid{display:flex!important;flex-direction:column;gap:0}
 .svcp .svc-hero-grid>div:first-child{display:contents!important}
 .svcp .svc-hero .h-top{order:1}
 .svcp .svc-hero-grid>div:last-child{order:2;width:100%;position:relative!important;inset:auto!important;transform:none!important;z-index:0!important;margin:18px 0 0}
 .svcp .svc-hero .h-copy{order:3;margin-top:22px}
 .svcp .svc-hero .viz{max-width:none;aspect-ratio:5/4;width:100%}
 .svcp .svc-hero .svc-name{margin-bottom:14px;font-size:.82rem}
 .svcp .svc-hero .eyebrow{margin-bottom:10px}
 .svcp .svc-hero h1{font-size:clamp(1.9rem,8.6vw,2.6rem);margin-bottom:0;line-height:1.04}
 .svcp .svc-hero .lead{font-size:1rem}
 .svcp .svc-hero .hero-actions{margin-top:18px}
 .svcp .svc-hero .sticker{display:none}
 /* split: text, then a tilted floating visual */
 .svcp.h-split .svc-hero .eyebrow{display:none}
 .svcp.h-split .svc-hero-grid>div:last-child{width:92%;margin:20px 0 0 auto;transform:rotate(-2.5deg)!important}
 .svcp.h-split .svc-hero .viz{aspect-ratio:4/3;box-shadow:0 30px 60px -20px color-mix(in srgb,var(--ga) 70%,transparent)}
 /* split-rev: visual-first, full-bleed, headline overlaps its bottom edge */
 .svcp.h-split-rev .svc-hero{padding-top:70px}
 .svcp.h-split-rev .svc-hero-grid>div:last-child{order:0;margin:0 calc(var(--pad)*-1);width:calc(100% + var(--pad)*2)}
 .svcp.h-split-rev .svc-hero .viz{border-radius:0;aspect-ratio:1/0.92;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent);mask-image:linear-gradient(180deg,#000 70%,transparent)}
 .svcp.h-split-rev .svc-hero .h-top{margin-top:-70px;position:relative;z-index:2}
 .svcp.h-split-rev .svc-hero .eyebrow{display:none}
 /* center: big centred type, wide strip visual */
 .svcp.h-center .svc-hero .h-top,.svcp.h-center .svc-hero .h-copy{text-align:center}
 .svcp.h-center .svc-hero h1{font-size:clamp(2.2rem,10.5vw,3rem)}
 .svcp.h-center .svc-hero .viz{aspect-ratio:16/11;margin-top:0}
 .svcp.h-center .svc-hero .hero-actions{justify-content:center}
 /* overlay: full-screen visual behind a glass card */
 .svcp.h-overlay .svc-hero{min-height:100svh;padding:80px 0 30px;display:flex;align-items:flex-end}
 .svcp.h-overlay .svc-hero>.container{width:100%}
 .svcp.h-overlay .svc-hero-grid>div:last-child{position:absolute!important;inset:64px 0 auto 0!important;margin:0;z-index:-1!important;opacity:.9}
 .svcp.h-overlay .svc-hero .viz{aspect-ratio:auto;height:62svh;border-radius:0;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
 .svcp.h-overlay .svc-hero .h-top{order:1;margin-top:34svh;padding:22px 20px 0;border-radius:24px 24px 0 0;background:rgba(5,5,20,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line2);border-bottom:0}
 .svcp.h-overlay .svc-hero .h-copy{order:3;margin-top:0;padding:14px 20px 22px;border-radius:0 0 24px 24px;background:rgba(5,5,20,.62);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line2);border-top:0}
 .svcp.h-overlay .svc-hero .lead{font-size:.95rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 html[data-theme=light] .svcp.h-overlay .svc-hero .h-top,html[data-theme=light] .svcp.h-overlay .svc-hero .h-copy{background:rgba(255,255,255,.75)}
 /* stack: giant type, visual as a sticker card */
 .svcp.h-stack .svc-hero h1{font-size:clamp(2.6rem,12.5vw,3.6rem);line-height:.94;letter-spacing:-.05em}
 .svcp.h-stack .svc-hero .svc-name{order:0}
 .svcp.h-stack .svc-hero-grid>div:last-child{width:78%;margin:22px auto 0 0;transform:rotate(3deg)!important}
 .svcp.h-stack .svc-hero .viz{aspect-ratio:1/1;border-radius:28px}
 /* background motifs stay visible on mobile */
 .svcp.bg-grid .svc-hero::after{background-size:36px 36px}
 .svcp.bg-ring .svc-hero::after{width:150vw;height:150vw;right:-80vw;top:-40vw}
}

/* ===== client portal (scoped) ===== */
body.portal-page .admin-shell{padding:120px 0 90px}
body.portal-page .admin-shell>.container{display:block}
body.portal-page h1{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.02}
body.portal-page h2{font-size:clamp(1.25rem,2.2vw,1.7rem);margin:0 0 14px}
body.portal-page .client-portal-welcome{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:clamp(24px,4vw,40px);border-radius:28px;background:linear-gradient(120deg,rgba(123,0,255,.38),rgba(255,0,200,.14)),var(--bg2);border:1px solid var(--line2);margin-bottom:24px}
body.portal-page .client-portal-welcome p{margin:8px 0 0}
body.portal-page .welcome-tag{display:inline-flex;margin-bottom:12px}
body.portal-page .dash-stat span{display:block;font-weight:600;font-size:.92rem}
body.portal-page .dash-stat strong{display:block;font:700 2.2rem/1.1 var(--ff-h);margin:8px 0 4px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
body.portal-page .dash-stat small{display:block;color:var(--muted);font-size:.8rem}
body.portal-page .progress-track{height:8px;border-radius:99px;background:var(--line2);overflow:hidden;margin-top:12px}
body.portal-page .progress-track span{display:block;height:100%;background:var(--grad)}
body.portal-page .portal-section{margin:34px 0 14px}
body.portal-page .admin-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:14px}
body.portal-page .feature-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
body.portal-page .admin-panel{padding:clamp(20px,3vw,30px);border-radius:24px;border:1px solid var(--line);background:var(--glass)}
body.portal-page .admin-panel h2{font-size:1.3rem}
body.portal-page .portal-item small{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}
body.portal-page .portal-item p{margin:8px 0 0}
body.portal-page .project-form{display:grid;gap:14px}
body.portal-page .project-form label{display:grid;gap:6px;font-size:.85rem;font-weight:600}
body.portal-page .button{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--ink);font-weight:600;cursor:pointer;text-decoration:none}
body.portal-page .button-primary{background:var(--grad);border-color:transparent;color:#fff}
body.portal-page .empty-state{padding:22px;border:1px dashed var(--line2);border-radius:18px;text-align:center;color:var(--muted)}
body.portal-page .admin-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}
@media (max-width:900px){body.portal-page .feature-layout{grid-template-columns:1fr}body.portal-page .admin-shell{padding-top:100px}}

/* addons.css */
/* ===== Krishva v2 add-ons: imagery, hero banners, mobile menu, intro, showreel, finder, calculator, popups, chat, cookie, PWA pages ===== */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- image hero banners (every inner page) ---------- */
.page-hero.has-img{min-height:clamp(440px,62vh,680px);display:flex;align-items:flex-end}
.page-hero.has-img::before{z-index:-1;background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 80%,transparent) 38%,color-mix(in srgb,var(--bg) 25%,transparent) 70%,transparent 100%),linear-gradient(0deg,var(--bg) 0%,transparent 38%),radial-gradient(50% 70% at 10% 30%,rgba(123,0,255,.35),transparent 65%)}
.ph-media{position:absolute;inset:0;z-index:-2;overflow:hidden}
.ph-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:phZoom 18s var(--ease) forwards;filter:saturate(1.08)}
@keyframes phZoom{to{transform:scale(1)}}
.page-hero.has-img .container{position:relative}
.page-hero.has-img h1{text-shadow:0 10px 40px rgba(0,0,0,.35)}
html[data-theme=light] .page-hero.has-img::before{background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 86%,transparent) 42%,color-mix(in srgb,var(--bg) 30%,transparent) 75%,transparent 100%),linear-gradient(0deg,var(--bg) 0%,transparent 40%)}
html[data-theme=light] .page-hero.has-img h1{text-shadow:none}
@media (max-width:760px){
  .page-hero.has-img{min-height:auto;padding-top:0;display:block}
  .page-hero.has-img .ph-media{position:relative;inset:auto;height:clamp(240px,62vw,340px);margin-bottom:-90px;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
  .page-hero.has-img::before{background:radial-gradient(70% 50% at 20% 40%,rgba(123,0,255,.3),transparent 70%)}
  .page-hero.has-img .container{padding-top:4px}
}
@media (prefers-reduced-motion:reduce){.ph-media img{animation:none;transform:none}}

/* generic image frames */
.kg-frame{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line2);box-shadow:var(--shadow);isolation:isolate;background:var(--bg2)}
.kg-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.kg-frame:hover img{transform:scale(1.04)}
.kg-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,3,10,.55));pointer-events:none}
.kg-frame figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;color:#fff;font-size:.85rem;opacity:.9}

/* image band (service "in action", home section banners) */
.img-band{position:relative;height:clamp(260px,46vw,560px);overflow:hidden;isolation:isolate;margin:clamp(10px,2vw,30px) 0}
.img-band img{position:absolute;inset:-12% 0;width:100%;height:124%;object-fit:cover;will-change:transform}
.img-band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,transparent 22%,transparent 60%,var(--bg) 100%),linear-gradient(90deg,color-mix(in srgb,var(--bg) 75%,transparent),transparent 60%)}
.img-band .container{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center}
.img-band .ib-quote{font:700 clamp(1.4rem,3.6vw,3rem)/1.12 var(--ff-h);letter-spacing:-.02em;max-width:18ch;margin:0}
.img-band .ib-kicker{font:600 .74rem/1 var(--ff);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);margin-bottom:16px}
@media (max-width:760px){.img-band{height:auto;min-height:300px}.img-band .container{padding:60px 0}.img-band .ib-quote{font-size:1.45rem}}

/* service hero image layer */
.svc-hero .svc-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;opacity:.42}
.svc-hero .svc-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) blur(1px);transform:scale(1.06)}
.svc-hero .svc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bg) 8%,color-mix(in srgb,var(--bg) 60%,transparent) 50%,color-mix(in srgb,var(--bg) 30%,transparent)),linear-gradient(0deg,var(--bg),transparent 45%)}
html[data-theme=light] .svc-hero .svc-bg{opacity:.28}
.svcp.h-overlay .svc-bg{opacity:.6}
@media (max-width:760px){.svc-hero .svc-bg{opacity:.32}}
.svc-photo{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(20px,3vw,40px);align-items:stretch}
.svc-photo .kg-frame{aspect-ratio:16/10}
.svc-photo .sp-side{display:flex;flex-direction:column;justify-content:center;gap:14px}
.svc-photo .sp-side h3{font-size:clamp(1.3rem,2.4vw,2rem);margin:0}
.svc-photo .sp-side p{color:var(--muted);margin:0}
.svcp.acc-1 .svc-photo,.svcp.acc-3 .svc-photo,.svcp.acc-5 .svc-photo{grid-template-columns:.75fr 1.25fr}
.svcp.acc-1 .svc-photo .kg-frame,.svcp.acc-3 .svc-photo .kg-frame,.svcp.acc-5 .svc-photo .kg-frame{order:2}
@media (max-width:860px){.svc-photo,.svcp .svc-photo{grid-template-columns:1fr!important}.svc-photo .kg-frame{order:0!important}}

/* home imagery */
.hero-photo{position:absolute;inset:0;z-index:-3;overflow:hidden;opacity:.55}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.hero-photo::after{content:"";position:absolute;inset:0;background:radial-gradient(80% 70% at 70% 40%,transparent,var(--bg) 85%),linear-gradient(0deg,var(--bg),transparent 40%)}
html[data-theme=light] .hero-photo{opacity:.25}
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.about-split .kg-frame{aspect-ratio:4/3.2}
.about-split .kg-frame .tag{position:absolute;top:16px;left:16px;z-index:2;padding:8px 12px;border-radius:999px;background:rgba(3,3,10,.6);backdrop-filter:blur(10px);font-size:.78rem;color:#fff;border:1px solid rgba(255,255,255,.18)}
@media (max-width:860px){.about-split{grid-template-columns:1fr}}
.sec-banner{position:relative;border-radius:var(--r-lg);overflow:hidden;height:clamp(150px,22vw,260px);margin-bottom:clamp(30px,4vw,50px);isolation:isolate;border:1px solid var(--line)}
.sec-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 1.4s var(--ease)}
.sec-banner:hover img{transform:scale(1)}
.sec-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,3,10,.85),rgba(3,3,10,.2) 70%)}
.sec-banner .sb-txt{position:absolute;left:clamp(20px,3vw,40px);bottom:clamp(18px,3vw,34px);z-index:2;color:#fff;max-width:520px}
.sec-banner .sb-txt b{display:block;font:700 clamp(1.1rem,2.2vw,1.7rem)/1.15 var(--ff-h)}
.sec-banner .sb-txt small{opacity:.8}
.section-bg{position:relative;isolation:isolate}
.section-bg>.sbg{position:absolute;inset:0;z-index:-1;overflow:hidden;opacity:.35;pointer-events:none}
.section-bg>.sbg img{width:100%;height:100%;object-fit:cover}
.section-bg>.sbg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,var(--bg),transparent 25%,transparent 75%,var(--bg))}
html[data-theme=light] .section-bg>.sbg{opacity:.12}

/* blog covers with photos */
.post-card .cover.has-img{padding:0}
.post-card .cover .cover-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform 1s var(--ease)}
.post-card:hover .cover .cover-img{transform:scale(1.06)}
.post-card .cover.has-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 50%,rgba(3,3,10,.55))}
.post-card .cover.has-img .mk{position:absolute;left:16px;bottom:14px;opacity:.9}
.post-hero-img{margin:0 auto clamp(30px,4vw,50px);aspect-ratio:21/9;max-height:520px}
@media (max-width:760px){.post-hero-img{aspect-ratio:16/10}}

/* ---------- header + logo fixes ---------- */
.brand img{shape-rendering:geometricPrecision;image-rendering:auto;height:26px;width:auto}
@media (max-width:760px){.brand img{height:24px}}
html[data-theme=light].nav-open .nav,html[data-theme=light] .site-header.is-scrolled .nav{background:rgba(255,255,255,.82);border-color:var(--line2)}
.nav-open .site-header{transform:none!important}
.nav-open .nav .btn-primary{opacity:0;pointer-events:none}

/* ---------- mobile menu (full-screen glass) ---------- */
.mobile-menu{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;gap:0;padding:96px max(18px,var(--pad)) calc(24px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:blur(26px) saturate(150%);-webkit-backdrop-filter:blur(26px) saturate(150%);clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .75s var(--ease),visibility 0s .75s;overflow-y:auto;overscroll-behavior:contain;visibility:hidden}
.nav-open .mobile-menu{clip-path:circle(160% at calc(100% - 44px) 44px);visibility:visible;transition:clip-path .8s var(--ease),visibility 0s}
.mm-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.mm-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;transform:scale(1.15);transition:transform 1.6s var(--ease)}
.nav-open .mm-bg-img{transform:scale(1)}
.mm-glow{position:absolute;inset:0;background:radial-gradient(90% 55% at 100% 0%,rgba(123,0,255,.45),transparent 60%),radial-gradient(70% 45% at 0% 100%,rgba(255,0,200,.28),transparent 60%)}
html[data-theme=light] .mobile-menu{background:color-mix(in srgb,#fbfaff 96%,transparent)}
html[data-theme=light] .mm-bg-img{opacity:.1}
html[data-theme=light] .mm-glow{background:radial-gradient(90% 55% at 100% 0%,rgba(123,0,255,.18),transparent 60%),radial-gradient(70% 45% at 0% 100%,rgba(255,0,200,.12),transparent 60%)}
.mm-nav{display:flex;flex-direction:column}
.mobile-menu a.m-link,.mobile-menu .m-link{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--line);font:700 clamp(1.02rem,4.4vw,1.3rem)/1.2 var(--ff-h);letter-spacing:-.01em;color:var(--ink);opacity:0;transform:translateY(22px);transition:opacity .45s,transform .6s var(--ease),color .2s,padding .3s var(--ease);transition-delay:0s;position:relative}
.mobile-menu>.mm-nav>.m-acc{opacity:0;transform:translateY(22px);transition:opacity .45s,transform .6s var(--ease)}
.nav-open .mobile-menu a.m-link,.nav-open .mobile-menu>.mm-nav>.m-acc{opacity:1;transform:none;transition-delay:calc(.12s + var(--i,0) * .045s)}
.nav-open .mobile-menu .m-acc .m-link{transition-delay:0s}
.mobile-menu .m-acc a.m-link{opacity:1;transform:none;border-bottom:0;flex:1}
.mm-n{font:600 .68rem/1 var(--ff);color:var(--muted);letter-spacing:.08em;min-width:20px}
.mm-ic{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;flex:none;background:var(--glass2);border:1px solid var(--line);color:var(--ink2);transition:background .3s,color .3s,transform .4s var(--ease)}
.mm-t{flex:1}
.mm-arr{opacity:0;transform:translate(-6px,6px);transition:.35s var(--ease);color:var(--magenta);font-family:var(--ff)}
.mobile-menu .m-link:active,.mobile-menu .m-link:hover{padding-left:10px}
.mobile-menu .m-link:hover .mm-arr,.mobile-menu .m-link:active .mm-arr{opacity:1;transform:none}
.mobile-menu .m-link:hover .mm-ic,.mobile-menu .m-link:active .mm-ic{transform:rotate(-8deg) scale(1.06)}
.mobile-menu a.m-link.active{color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text}
.mobile-menu .m-link.active .mm-ic{background:var(--grad);color:#fff;border-color:transparent}
.mobile-menu .m-link.active .mm-n{color:var(--magenta)}
.mobile-menu .m-link.active::before{content:"";position:absolute;left:-14px;top:50%;width:4px;height:22px;margin-top:-11px;border-radius:4px;background:var(--grad)}
.m-acc{border-bottom:1px solid var(--line)}
.m-acc-row{display:flex;align-items:center}
.m-acc-btn{width:42px;height:42px;border-radius:12px;border:1px solid var(--line2);background:var(--glass);color:var(--ink);position:relative;flex:none;cursor:pointer}
.m-acc-btn span::before,.m-acc-btn span::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;margin:-1px 0 0 -7px;border-radius:2px;background:currentColor;transition:transform .35s var(--ease)}
.m-acc-btn span::after{transform:rotate(90deg)}
.m-acc.open .m-acc-btn span::after{transform:rotate(0)}
.m-acc.open .m-acc-btn{background:var(--grad);color:#fff;border-color:transparent}
.m-acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.m-acc.open .m-acc-panel{grid-template-rows:1fr}
.m-acc-inner{overflow:hidden;min-height:0}
.mm-grp{padding:6px 0 10px 4px}
.mm-grp-h{display:flex;align-items:baseline;gap:8px;margin:8px 0 6px}
.mm-grp-h b{font:700 .72rem/1 var(--ff);letter-spacing:.16em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.mm-grp-h small{font-size:.72rem;color:var(--muted)}
.mm-svc{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:12px;font-size:.92rem;color:var(--ink2);transition:background .25s,transform .3s var(--ease)}
.mm-svc i{font-style:normal;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:var(--glass2);border:1px solid var(--line);font-size:.8rem;flex:none}
.mm-svc:active,.mm-svc:hover{background:var(--glass2);transform:translateX(4px)}
.mobile-menu .m-foot{margin-top:22px;display:grid;gap:10px;padding-top:0;opacity:0;transform:translateY(20px);transition:opacity .5s,transform .6s var(--ease)}
.nav-open .mobile-menu .m-foot{opacity:1;transform:none;transition-delay:.55s}
.mm-wa{display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:18px;background:linear-gradient(120deg,rgba(123,0,255,.28),rgba(255,0,200,.18));border:1px solid rgba(255,255,255,.14);color:var(--ink);position:relative;overflow:hidden}
.mm-wa::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.14) 50%,transparent 70%);transform:translateX(-100%);animation:mmShine 3.2s 1.2s infinite}
@keyframes mmShine{60%,100%{transform:translateX(100%)}}
.mm-wa-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#0b0a1f;color:#25d366;box-shadow:inset 0 0 0 1px rgba(37,211,102,.4);flex:none}
.mm-wa-ic svg{width:22px;height:22px}
.mm-wa b{display:block;font:700 .98rem/1.2 var(--ff-h)}
.mm-wa small{color:var(--muted);font-size:.8rem}
.mm-wa span:nth-child(2){flex:1}
.mm-wa .mm-arr{opacity:1;transform:none}
html[data-theme=light] .mm-wa{background:linear-gradient(120deg,rgba(123,0,255,.12),rgba(255,0,200,.1));border-color:var(--line2)}
html[data-theme=light] .mm-wa-ic{background:#fff}
.mm-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mm-chip{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 12px;border-radius:14px;border:1px solid var(--line2);background:var(--glass);color:var(--ink);font:600 .86rem/1.1 var(--ff);cursor:pointer;transition:background .25s,transform .25s}
.mm-chip svg{width:16px;height:16px;flex:none}
.mm-chip:active{transform:scale(.97);background:var(--glass2)}
.mm-chip.theme-toggle .sun,.mm-chip.theme-toggle .moon{display:inline-flex}
html[data-theme=dark] .mm-chip.theme-toggle .moon,html:not([data-theme=light]) .mm-chip.theme-toggle .moon{display:none}
html[data-theme=light] .mm-chip.theme-toggle .sun{display:none}
html[data-theme=light] .mm-chip.theme-toggle .moon{display:inline-flex}
.mm-meta{margin:6px 0 0;text-align:center;font-size:.76rem;color:var(--muted)}
.mm-meta a{color:var(--ink2)}
@media (max-width:370px){.mobile-menu{padding-top:88px}.mobile-menu .m-link{padding:9px 2px;font-size:1rem}.mm-ic{width:30px;height:30px}.mm-chip{font-size:.8rem}}
@media (min-width:1101px){.mobile-menu{display:none}}
@media (prefers-reduced-motion:reduce){.mobile-menu,.mobile-menu .m-link,.mobile-menu .m-foot,.mobile-menu>.mm-nav>.m-acc{transition:none!important}.mm-wa::before{animation:none}}

/* ---------- 1. 3D logo intro ---------- */
.kg-intro{position:fixed;inset:0;z-index:9999;display:none;place-items:center;background:radial-gradient(60% 50% at 50% 45%,#1a0b3d 0%,#03030a 70%);cursor:pointer;transition:opacity .6s var(--ease),visibility .6s}
.kg-intro-on .kg-intro{display:grid}
.kg-intro-on body{overflow:hidden}
.kg-intro.out{opacity:0;visibility:hidden}
.kg-intro-stage{display:grid;justify-items:center;gap:26px;perspective:900px}
.kg-intro-logo{position:relative;width:120px;height:150px;transform-style:preserve-3d;animation:kgSpin 2.2s var(--ease) both}
.kg-layer{position:absolute;inset:0;transform:translateZ(calc(var(--l) * -6px));opacity:calc(1 - var(--l) * .12);filter:drop-shadow(0 0 18px rgba(255,0,200,.35))}
.kg-layer:not(:first-child) img{filter:brightness(.55) saturate(1.4)}
.kg-layer img{width:100%;height:100%}
.kg-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.85) 50%,transparent 65%) no-repeat;background-size:260% 100%;background-position:160% 0;-webkit-mask:url(../brand/krishva-mark.svg) center/contain no-repeat;mask:url(../brand/krishva-mark.svg) center/contain no-repeat;mix-blend-mode:overlay;animation:kgShine 1.2s .9s var(--ease) forwards;transform:translateZ(1px)}
@keyframes kgSpin{0%{transform:rotateY(-140deg) rotateX(18deg) scale(.4);opacity:0}55%{opacity:1}100%{transform:rotateY(0) rotateX(0) scale(1)}}
@keyframes kgShine{to{background-position:-60% 0}}
.kg-intro-word{text-align:center;opacity:0;transform:translateY(14px);animation:kgUp .8s 1.05s var(--ease) forwards}
.kg-intro-word img{width:180px;height:auto;display:block;margin:0 auto 10px}
.kg-intro-word small{color:#a9a6c9;letter-spacing:.14em;text-transform:uppercase;font-size:.7rem}
@keyframes kgUp{to{opacity:1;transform:none}}
.kg-intro-skip{position:absolute;right:20px;bottom:calc(22px + env(safe-area-inset-bottom));padding:10px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:600 .8rem var(--ff);cursor:pointer}

/* ---------- 2. shared lead forms ---------- */
.kg-form-msg{margin:12px 0 0;font-size:.9rem;min-height:1.2em;color:var(--muted)}
.kg-form-msg.ok{color:#5be3a0}
.kg-form-msg.err{color:#ff7aa8}
.kg-lead-form.sent .form-row,.kg-lead-form.sent button[type=submit]{opacity:.5;pointer-events:none}
.form input.err,.form select.err,.form textarea.err{border-color:#ff4b9a!important;box-shadow:0 0 0 3px rgba(255,75,154,.18)}

/* ---------- 3. showreel ---------- */
.showreel{overflow:hidden}
.reel-row{display:flex;gap:clamp(14px,2vw,24px);overflow-x:auto;scroll-snap-type:x mandatory;padding:6px max(var(--pad),calc((100vw - var(--maxw))/2)) 30px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.reel-row::-webkit-scrollbar{display:none}
.reel-card{position:relative;flex:0 0 clamp(200px,24vw,290px);aspect-ratio:9/16;margin:0;border-radius:26px;overflow:hidden;scroll-snap-align:center;background:var(--bg2);border:1px solid var(--line2);box-shadow:0 30px 60px -30px rgba(123,0,255,.6);transition:transform .6s var(--ease)}
.reel-card:hover{transform:translateY(-6px) rotate(-.6deg)}
.reel-card video{width:100%;height:100%;object-fit:cover;display:block}
.reel-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,3,10,.85));pointer-events:none}
.reel-card figcaption{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;color:#fff;display:grid;gap:4px}
.reel-card figcaption small{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.reel-card figcaption b{font:700 .95rem/1.2 var(--ff-h)}
.reel-sound{position:absolute;top:12px;right:12px;z-index:3;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(3,3,10,.55);backdrop-filter:blur(8px);color:#fff;font-size:.95rem;cursor:pointer}
.reel-sound[aria-pressed=true]{background:var(--grad)}
.reel-link{position:absolute;inset:0;z-index:1}
@media (max-width:760px){.reel-card{flex-basis:62vw}}

/* ---------- 4. logo wall ---------- */
.logo-track{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.logo-run{display:flex;gap:clamp(30px,5vw,70px);width:max-content;animation:logoRun 40s linear infinite;align-items:center;padding:10px 0}
.logo-wall:hover .logo-run{animation-play-state:paused}
.logo-item img{height:clamp(32px,4vw,48px);width:auto;filter:grayscale(1) brightness(1.6);opacity:.7;transition:.3s}
.logo-item:hover img{filter:none;opacity:1}
html[data-theme=light] .logo-item img{filter:grayscale(1)}
@keyframes logoRun{to{transform:translateX(-50%)}}

/* ---------- 5. before / after ---------- */
.ba{position:relative;margin:0 0 30px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line2);aspect-ratio:16/9;user-select:none;touch-action:pan-y;background:var(--bg2)}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 20px rgba(255,0,200,.7);pointer-events:none}
.ba-handle i{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff;font-style:normal;box-shadow:0 10px 30px -8px rgba(255,0,200,.8)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-tag{position:absolute;top:14px;z-index:2;padding:6px 12px;border-radius:999px;background:rgba(3,3,10,.6);color:#fff;font-size:.75rem;backdrop-filter:blur(8px)}
.ba-tag-l{left:14px}.ba-tag-r{right:14px}
.ba figcaption{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font-size:.88rem;text-shadow:0 2px 10px rgba(0,0,0,.6)}

/* ---------- 6. Instagram ---------- */
.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.insta-item{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;border:1px solid var(--line)}
.insta-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.insta-item:hover img{transform:scale(1.07)}
.insta-play{position:absolute;top:10px;right:10px;color:#fff;font-size:.8rem;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.insta-cta{display:flex;align-items:center;gap:18px;padding:24px 28px;border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(120deg,rgba(123,0,255,.18),rgba(255,0,200,.12))}
.insta-ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;background:var(--grad);color:#fff;font-size:1.5rem;flex:none}
.insta-cta b{display:block;font:700 1.1rem var(--ff-h)}
.insta-cta small{color:var(--muted)}
.insta-cta span:nth-child(2){flex:1}
@media (max-width:760px){.insta-grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- 7. Service Finder ---------- */
.finder-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,5vw,70px);align-items:start}
.finder-page{padding-top:clamp(130px,15vw,180px)}
.finder-intro h1{font-size:clamp(2rem,5vw,4.2rem)}
.finder-card{position:relative;padding:clamp(22px,3.5vw,40px);border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));backdrop-filter:blur(16px);box-shadow:var(--shadow);overflow:hidden;min-height:360px}
html[data-theme=light] .finder-card{background:rgba(255,255,255,.75)}
.finder-progress{height:4px;border-radius:4px;background:var(--line);margin-bottom:26px;overflow:hidden}
.finder-progress span{display:block;height:100%;width:var(--p,25%);background:var(--grad);transition:width .6s var(--ease)}
.finder-step{border:0;margin:0;padding:0;min-width:0;display:none}
.finder-step.on{display:block;animation:fIn .55s var(--ease)}
@keyframes fIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
.finder-step legend{font:700 clamp(1.15rem,2.4vw,1.6rem)/1.25 var(--ff-h);margin-bottom:20px;padding:0}
.finder-step legend small{display:block;font:600 .72rem/1 var(--ff);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.finder-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.finder-opt{text-align:left;padding:15px 16px;border-radius:16px;border:1px solid var(--line2);background:var(--glass);color:var(--ink);font:600 .93rem/1.3 var(--ff);cursor:pointer;transition:transform .3s var(--ease),border-color .3s,background .3s}
.finder-opt:hover{transform:translateY(-2px);border-color:rgba(255,0,200,.5)}
.finder-opt.picked{background:var(--grad);color:#fff;border-color:transparent}
.finder-back{margin-top:18px;background:none;border:0;color:var(--muted);font:600 .85rem var(--ff);cursor:pointer;padding:6px 0}
.finder-result{animation:fIn .55s var(--ease)}
.finder-result h3{font-size:1.4rem;margin:6px 0 16px}
.finder-recs{display:grid;gap:10px;margin-bottom:22px}
.finder-rec{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:16px;border:1px solid var(--line2);background:var(--glass);transition:transform .3s var(--ease),border-color .3s}
.finder-rec:hover{transform:translateX(4px);border-color:rgba(255,0,200,.5)}
.finder-rec i{font-style:normal;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--grad);color:#fff;flex:none}
.finder-rec b{display:block;font:700 .98rem/1.25 var(--ff-h);margin-bottom:4px}
.finder-rec small{color:var(--muted);font-size:.85rem;line-height:1.45;display:block}
.finder-lead{border-top:1px solid var(--line);padding-top:18px}
@media (max-width:860px){.finder-wrap{grid-template-columns:1fr}.finder-opts{grid-template-columns:1fr}}

/* ---------- 8. Growth calculator ---------- */
.growth-teaser{display:flex;align-items:center;gap:20px;padding:26px 30px;border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(120deg,rgba(74,76,255,.18),rgba(255,0,200,.1));transition:transform .4s var(--ease)}
.growth-teaser:hover{transform:translateY(-3px)}
.growth-teaser .eyebrow{margin:0;flex:none}
.growth-teaser b{flex:1;font:600 1.05rem/1.4 var(--ff)}
.growth-teaser .arr{font-size:1.4rem}
@media (max-width:760px){.growth-teaser{flex-direction:column;align-items:flex-start;gap:10px}}
.growth{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(20px,3vw,36px);align-items:start}
.growth-out{display:grid;gap:clamp(16px,2vw,24px)}
.growth-budget{display:grid;gap:14px;margin-bottom:6px}
.growth-budget>span{display:flex;justify-content:space-between;align-items:baseline;font-weight:600;color:var(--ink2)}
.growth-budget b{font:700 clamp(1.5rem,3vw,2.2rem) var(--ff-h);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.growth input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:8px;background:linear-gradient(90deg,#7b00ff,#ff00c8 var(--fill,15%),var(--line2) var(--fill,15%));outline:none}
.growth input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:4px solid #ff00c8;box-shadow:0 6px 20px -4px rgba(255,0,200,.7);cursor:grab}
.growth input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid #ff00c8;cursor:grab}
.growth-ticks{display:flex;justify-content:space-between;font-size:.74rem;color:var(--muted);margin-bottom:22px}
.growth-goals{border:0;padding:0;margin:0 0 18px;display:grid;gap:8px}
.growth-goals legend{font-weight:700;margin-bottom:10px;color:var(--ink2)}
.growth-goal{position:relative;display:block;cursor:pointer}
.growth-goal input{position:absolute;opacity:0}
.growth-goal span{display:block;padding:13px 16px;border-radius:14px;border:1px solid var(--line2);background:var(--glass);font-weight:600;font-size:.93rem;transition:.3s}
.growth-goal input:checked+span{background:var(--grad);color:#fff;border-color:transparent}
.growth-goal input:focus-visible+span{outline:2px solid #ff00c8;outline-offset:2px}
.growth-bars{display:grid;gap:12px;margin:8px 0 14px}
.gbar{display:grid;gap:6px}
.gbar-top{display:flex;justify-content:space-between;gap:10px;font-size:.9rem}
.gbar-top a{font-weight:600}
.gbar-top b{font-variant-numeric:tabular-nums;white-space:nowrap}
.gbar-track{height:10px;border-radius:10px;background:var(--line);overflow:hidden}
.gbar-track i{display:block;height:100%;width:0;border-radius:10px;background:var(--grad);transition:width .9s var(--ease)}
.growth-plan{margin:8px 0 0;padding-left:20px;display:grid;gap:10px;color:var(--ink2)}
.growth-plan li::marker{color:#ff00c8;font-weight:700}
.growth-plan b{color:var(--ink)}
@media (max-width:900px){.growth{grid-template-columns:1fr}}

/* ---------- 9. Team ---------- */
.team-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(14px,2vw,24px)}
.tm{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line2);background:var(--bg2);aspect-ratio:4/5;isolation:isolate}
.tm-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.6) contrast(1.05);transform:scale(1.02);transition:filter .6s,transform 1s var(--ease)}
.tm:hover .tm-photo{filter:none;transform:scale(1.08)}
.tm-initial{position:absolute;inset:0;display:grid;place-items:center;font:800 5rem var(--ff-h);background:var(--grad2);color:rgba(255,255,255,.9)}
.tm-glow{position:absolute;inset:auto -30% -40% -30%;height:70%;background:radial-gradient(closest-side,rgba(255,0,200,.55),transparent);opacity:0;transition:opacity .6s;z-index:1}
.tm:hover .tm-glow{opacity:1}
.tm-meta{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:18px;background:linear-gradient(180deg,transparent,rgba(3,3,10,.9));color:#fff;transform:translateY(20%);transition:transform .6s var(--ease)}
.tm:hover .tm-meta{transform:none}
.tm-meta b{display:block;font:700 1.05rem var(--ff-h)}
.tm-meta small{opacity:.8}
.tm-meta p{margin:8px 0 0;font-size:.85rem;opacity:0;transition:opacity .5s}
.tm:hover .tm-meta p{opacity:.85}

/* ---------- 10. modal (exit popup) ---------- */
.kg-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;background:rgba(3,3,10,.6);backdrop-filter:blur(8px);opacity:0;transition:opacity .4s}
.kg-modal[hidden]{display:none}
.kg-modal.show{opacity:1}
.kg-modal-card{position:relative;width:min(100%,520px);padding:clamp(24px,4vw,40px);border-radius:var(--r-lg);background:linear-gradient(160deg,#120a2e,#080a20);border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 120px -30px rgba(123,0,255,.7);color:#f5f3ff;transform:translateY(24px) scale(.97);transition:transform .5s var(--ease);overflow:hidden}
.kg-modal-card::before{content:"";position:absolute;inset:-40% -20% auto auto;width:300px;height:300px;background:radial-gradient(closest-side,rgba(255,0,200,.35),transparent);pointer-events:none}
.kg-modal.show .kg-modal-card{transform:none}
.kg-modal-card h2{font-size:clamp(1.4rem,3.6vw,2rem);margin:0 0 10px}
.kg-modal-card .muted{color:#a9a6c9}
.kg-modal-card .form label{color:#d9d6f0}
.kg-x{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;z-index:2}

/* ---------- 11. chat assistant ---------- */
.kg-chat{position:fixed;right:18px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:70}
.kg-chat.open{z-index:95}
.kg-chat.open .kg-chat-panel{bottom:-66px}
.kg-chat-btn{position:relative;width:58px;height:58px;border-radius:50%;border:0;background:var(--grad);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 18px 40px -12px rgba(255,0,200,.75);transition:transform .35s var(--ease)}
.kg-chat-btn:hover{transform:scale(1.07) rotate(-6deg)}
.kg-chat-dot{position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;background:#25d366;border:2px solid #03030a;animation:dotP 2s infinite}
@keyframes dotP{50%{box-shadow:0 0 0 6px rgba(37,211,102,0)}0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}}
.kg-chat.open .kg-chat-btn{transform:scale(.8);opacity:0;pointer-events:none}
.kg-chat-panel{position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 24px));height:min(560px,calc(100svh - 110px));display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:#0b0a1f;border:1px solid rgba(255,255,255,.14);box-shadow:0 40px 100px -30px rgba(123,0,255,.75);color:#f5f3ff;transform-origin:bottom right;animation:chatIn .45s var(--ease)}
.kg-chat-panel[hidden]{display:none}
@keyframes chatIn{from{opacity:0;transform:scale(.85) translateY(20px)}}
.kg-chat-panel header{display:flex;align-items:center;gap:12px;padding:14px 56px 14px 16px;background:linear-gradient(120deg,#5a00c0,#c0009a);position:relative}
.kg-chat-panel header b{display:block;font:700 .95rem var(--ff-h)}
.kg-chat-panel header small{opacity:.85;font-size:.75rem}
.kg-chat-panel header .kg-x{top:50%;margin-top:-19px}
.kg-chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.kg-msg{max-width:86%;padding:10px 14px;border-radius:16px;font-size:.9rem;line-height:1.5;word-wrap:break-word}
.kg-msg.bot{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);border-bottom-left-radius:6px}
.kg-msg.user{align-self:flex-end;background:linear-gradient(120deg,#7b00ff,#ff00c8);border-bottom-right-radius:6px}
.kg-msg a{color:#ff9bd8;text-decoration:underline}
.kg-msg.typing{display:flex;gap:4px;padding:14px}
.kg-msg.typing i{width:7px;height:7px;border-radius:50%;background:#a9a6c9;animation:tDot 1s infinite}
.kg-msg.typing i:nth-child(2){animation-delay:.15s}.kg-msg.typing i:nth-child(3){animation-delay:.3s}
@keyframes tDot{50%{opacity:.3;transform:translateY(-3px)}}
.kg-chat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.kg-chat-chips button{padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#f5f3ff;font:600 .78rem var(--ff);cursor:pointer}
.kg-chat-chips button:hover{border-color:#ff00c8}
.kg-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08)}
.kg-chat-form input{flex:1;min-width:0;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;font:16px var(--ff)}
.kg-chat-form button{width:46px;border-radius:14px;border:0;background:var(--grad);color:#fff;font-size:1.1rem;cursor:pointer}
@media (max-width:520px){.kg-chat{right:18px;bottom:calc(82px + env(safe-area-inset-bottom))}.kg-chat-btn{width:52px;height:52px}.kg-chat.open .kg-chat-panel{position:fixed;right:10px;left:10px;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;height:calc(100svh - 90px)}}
.nav-open .kg-chat,.kg-intro-on .kg-chat{display:none}

/* ---------- 12. cookie consent ---------- */
.kg-cookie{position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:80;max-width:560px;padding:18px 18px 16px;border-radius:22px;background:rgba(11,10,31,.92);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 80px -20px rgba(0,0,0,.6);color:#f5f3ff;transform:translateY(140%);transition:transform .7s var(--ease)}
.kg-cookie.show{transform:none}
.kg-cookie[hidden]{display:none}
.kg-cookie b{font:700 .95rem var(--ff-h);display:block;margin-bottom:6px}
.kg-cookie p{margin:0 0 14px;font-size:.85rem;color:#c9c6e6;line-height:1.5}
.kg-cookie p a{color:#ff9bd8;text-decoration:underline}
.kg-cookie-actions{display:flex;flex-wrap:wrap;gap:8px}
.kg-cookie-actions button{flex:1 1 auto;min-height:42px;padding:9px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:600 .82rem var(--ff);cursor:pointer}
.kg-cookie-actions .ck-accept{background:var(--grad);border-color:transparent}
.kg-cookie-prefs{display:none;margin:0 0 14px;gap:8px}
.kg-cookie.prefs .kg-cookie-prefs{display:grid}
.kg-cookie-prefs label{display:flex;align-items:center;gap:10px;font-size:.85rem;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.05)}
.kg-cookie-prefs input{accent-color:#ff00c8;width:18px;height:18px}
@media (min-width:700px){.kg-cookie{left:24px;right:auto;bottom:24px}}

/* ---------- 13. packages comparison ---------- */
.compare{margin-top:20px}
.compare-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px;margin-bottom:22px}
.compare-tabs::-webkit-scrollbar{display:none}
.compare-tabs button{flex:none;padding:10px 16px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);color:var(--ink);font:600 .86rem var(--ff);cursor:pointer;transition:.3s}
.compare-tabs button[aria-selected=true]{background:var(--grad);color:#fff;border-color:transparent}
.compare-panel[hidden]{display:none}
.compare-scroll{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line2);background:var(--glass)}
.compare-table{width:100%;border-collapse:separate;border-spacing:0;min-width:560px}
.compare-table th,.compare-table td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:.92rem}
.compare-table thead th{position:sticky;top:0;background:color-mix(in srgb,var(--bg2) 92%,transparent);backdrop-filter:blur(10px);font:700 1rem/1.25 var(--ff-h)}
.compare-table thead th small{display:block;font:600 .72rem var(--ff);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.compare-table thead th .amt{display:block;margin-top:8px;font:800 1.25rem var(--ff-h);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.compare-table thead th .per{display:block;font:500 .78rem var(--ff);color:var(--muted)}
.compare-table th.feat-col{position:sticky;left:0;z-index:1;background:color-mix(in srgb,var(--bg2) 96%,transparent);font:600 .86rem var(--ff);color:var(--ink2);width:34%}
.compare-table td{color:var(--ink2)}
.compare-table .hl{background:linear-gradient(180deg,rgba(123,0,255,.1),rgba(255,0,200,.06))}
.compare-table thead .hl{box-shadow:inset 0 3px 0 #ff00c8}
.compare-table .yes{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--grad);color:#fff;font-size:.75rem}
.compare-table tbody tr{opacity:0;transform:translateY(10px);transition:opacity .5s,transform .6s var(--ease)}
.compare.in .compare-table tbody tr{opacity:1;transform:none}
.compare-table tbody tr:nth-child(2){transition-delay:.05s}.compare-table tbody tr:nth-child(3){transition-delay:.1s}.compare-table tbody tr:nth-child(4){transition-delay:.15s}.compare-table tbody tr:nth-child(5){transition-delay:.2s}.compare-table tbody tr:nth-child(n+6){transition-delay:.25s}
.compare-table tfoot td{border-bottom:0}
.compare-note{font-size:.84rem;color:var(--muted);margin-top:14px}
@media (prefers-reduced-motion:reduce){.compare-table tbody tr{opacity:1;transform:none}}

/* ---------- 14. resources hub ---------- */
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(16px,2vw,24px)}
.res-card{display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line2);background:var(--glass);transition:transform .5s var(--ease),border-color .3s}
.res-card:hover{transform:translateY(-4px);border-color:rgba(255,0,200,.45)}
.res-cover{aspect-ratio:4/3;background:var(--bg2);display:grid;place-items:center;overflow:hidden;position:relative}
.res-cover img{width:62%;height:auto;border-radius:8px;box-shadow:0 30px 50px -20px rgba(0,0,0,.7);transform:rotate(-4deg) translateY(10px);transition:transform .8s var(--ease)}
.res-card:hover .res-cover img{transform:rotate(0) translateY(0) scale(1.03)}
.res-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 60%,rgba(255,0,200,.3),transparent 70%)}
.res-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.res-body .kick{font:600 .7rem var(--ff);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.res-body h3{font-size:1.1rem;margin:0}
.res-body p{margin:0;color:var(--muted);font-size:.9rem;flex:1}
.res-gate{display:none;gap:8px;margin-top:6px}
.res-card.open .res-gate{display:grid}
.res-gate input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--glass2);color:var(--ink);font:16px var(--ff)}
.res-dl{display:none}
.res-card.unlocked .res-gate{display:none}
.res-card.unlocked .res-dl{display:inline-flex}
.res-card.unlocked .res-open{display:none}
.tool-row{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,20px);margin-bottom:clamp(40px,6vw,70px)}
@media (max-width:760px){.tool-row{grid-template-columns:1fr}}

/* ---------- 15. awards ---------- */
.awards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.award{padding:22px;border-radius:var(--r);border:1px solid var(--line2);background:var(--glass);text-align:center;display:grid;gap:10px;justify-items:center;transition:transform .4s var(--ease)}
.award:hover{transform:translateY(-4px) rotate(-.5deg)}
.award img{height:70px;width:auto;object-fit:contain}
.award b{font:700 .95rem/1.3 var(--ff-h)}
.award small{color:var(--muted)}

/* ---------- 16. referral / events / onboarding / careers ---------- */
.split-form{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,60px);align-items:start}
@media (max-width:900px){.split-form{grid-template-columns:1fr}}
.steps-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:14px;counter-reset:st}
.steps-list li{position:relative;padding:16px 18px 16px 62px;border-radius:18px;border:1px solid var(--line);background:var(--glass);counter-increment:st}
.steps-list li::before{content:counter(st,decimal-leading-zero);position:absolute;left:16px;top:16px;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--grad);color:#fff;font:700 .78rem var(--ff-h)}
.steps-list b{display:block;margin-bottom:2px}
.steps-list small{color:var(--muted)}
.event-card{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:22px;border-radius:var(--r-lg);border:1px solid var(--line2);background:var(--glass);margin-bottom:16px}
.event-date{width:78px;height:84px;border-radius:18px;background:var(--grad);color:#fff;display:grid;place-items:center;text-align:center;font:800 1.7rem/1 var(--ff-h)}
.event-date small{display:block;font:600 .7rem var(--ff);letter-spacing:.1em;text-transform:uppercase}
.event-card h3{margin:0 0 6px;font-size:1.15rem}
.event-card p{margin:0;color:var(--muted);font-size:.9rem}
@media (max-width:700px){.event-card{grid-template-columns:auto 1fr}.event-card .btn{grid-column:1/-1}}
.empty-state{padding:clamp(30px,5vw,60px);border-radius:var(--r-lg);border:1px dashed var(--line2);text-align:center;color:var(--muted)}
.ob-steps{display:flex;gap:6px;margin-bottom:24px}
.ob-steps span{flex:1;height:5px;border-radius:5px;background:var(--line)}
.ob-steps span.on{background:var(--grad)}
.ob-step{display:none;border:0;padding:0;margin:0;min-width:0}
.ob-step.on{display:grid;gap:14px;animation:fIn .5s var(--ease)}
.ob-step legend{font:700 1.25rem var(--ff-h);margin-bottom:6px;padding:0}
.ob-check{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ob-check label{display:flex!important;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--glass);font-weight:500!important;cursor:pointer}
.ob-check input{width:18px!important;height:18px;accent-color:#ff00c8;flex:none}
.ob-nav{display:flex;justify-content:space-between;gap:10px;margin-top:10px}
@media (max-width:600px){.ob-check{grid-template-columns:1fr}}
.file-drop{display:grid;place-items:center;gap:6px;padding:26px;border-radius:16px;border:1.5px dashed var(--line2);background:var(--glass);text-align:center;cursor:pointer;color:var(--muted)}
.file-drop input{max-width:100%}

/* ---------- 17. brochure + legal ---------- */
.brochure-card{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:20px 24px;border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(120deg,rgba(123,0,255,.16),rgba(255,0,200,.08))}
.brochure-card img{width:74px;height:auto;border-radius:8px;box-shadow:0 14px 30px -10px rgba(0,0,0,.6);transform:rotate(-5deg)}
.brochure-card b{display:block;font:700 1.05rem var(--ff-h)}
.brochure-card small{color:var(--muted)}
@media (max-width:640px){.brochure-card{grid-template-columns:auto 1fr}.brochure-card .btn{grid-column:1/-1}}
.legal{max-width:820px}
.legal h2{font-size:1.35rem;margin:36px 0 12px}
.legal p,.legal li{color:var(--ink2);line-height:1.75}
.legal .updated{color:var(--muted);font-size:.88rem}
.foot-brochure{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-weight:600}

/* ---------- 18. PWA install chip ---------- */
.kg-install{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));z-index:75;transform:translate(-50%,160%);display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:999px;background:rgba(11,10,31,.92);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:.85rem;box-shadow:0 20px 50px -15px rgba(123,0,255,.7);transition:transform .6s var(--ease)}
.kg-install.show{transform:translate(-50%,0)}
.kg-install button{border:0;border-radius:999px;padding:8px 14px;background:var(--grad);color:#fff;font:600 .8rem var(--ff);cursor:pointer}
.kg-install .x{background:transparent;padding:6px 8px}

.nav-open .wa-float,.kg-intro-on .wa-float{display:none}

/* fixes 19:52 */
.kg-frame .tag{display:inline-flex;align-items:center;gap:6px;line-height:1}
.kg-frame .tag svg{width:14px;height:14px;flex:none}
@media (max-width:860px){
 .hero-photo{opacity:.7}
 .hero-photo::after{background:linear-gradient(180deg,rgba(5,5,15,.35) 0%,rgba(5,5,15,.55) 45%,var(--bg) 92%)}
 html[data-theme=light] .hero-photo{opacity:.3}
}

/* home hero photo: sits over the GL nebula, screen-blended (20:06) */
.hero-photo{z-index:-2;mix-blend-mode:screen;opacity:.9;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 98%);mask-image:linear-gradient(180deg,#000 55%,transparent 98%)}
.hero-photo::after{display:none}
@media (min-width:861px){
 .hero-photo{-webkit-mask-image:linear-gradient(90deg,transparent 18%,rgba(0,0,0,.6) 42%,#000 65%),linear-gradient(180deg,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 18%,rgba(0,0,0,.6) 42%,#000 65%),linear-gradient(180deg,#000 70%,transparent 100%);mask-composite:intersect}
 .hero-photo img{object-position:65% 50%}
}
@media (max-width:860px){.hero-photo{opacity:.6}}
html[data-theme=light] .hero-photo{mix-blend-mode:multiply;opacity:.18}

/* hide floating overlays while the mobile menu is open */
.nav-open .kg-cookie,.nav-open .wa-float,.nav-open .kg-chat-fab,.nav-open #kgInstall{opacity:0!important;pointer-events:none!important;visibility:hidden}

/* mobile-fixes.css */
/* ===== Mobile fixes (client-fix-1, 2026-10-24): real Android 360–414 px ===== */

/* anchors/headings never hide under the fixed header */
html{scroll-padding-top:96px}
section[id],[id].section{scroll-margin-top:96px}

/* --- 1. Home "pinned phone" mock: clean inner UI at every width --- */
.phone-screen{container-type:inline-size}
.mv-search .bar{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;gap:8px;padding:0 14px;font-weight:500}
.mv-search .bar svg{width:14px;height:14px;flex:none;opacity:.55}
.mv-search .res.top{min-width:0;white-space:nowrap;overflow:hidden}
.mv-search .res.top::before{flex:none}
.reel .viz-mini{top:74px}
.reel .big{font-size:min(2.5rem,11.5cqi);overflow-wrap:normal}
.reel .cap{max-width:calc(100% - 48px)}
.reel .side{bottom:auto;top:58%;gap:12px}
.reel .side i{width:26px;height:26px}
.reel-dots{display:none}

@media (max-width:1080px){
 /* story is a tap/auto carousel here (no scroll pin): all chapters share one cell so nothing jumps */
 .reel-pin{min-height:0;padding:72px 0 40px;gap:22px}
 .reel-chapters{display:grid;min-height:0}
 .reel-chapter{grid-area:1/1;position:relative!important;inset:auto;transform:translateY(14px)}
 .reel-chapter.on{transform:none}
 .reel-chapter:not(.on){pointer-events:none;visibility:hidden;transition:opacity .5s,transform .6s var(--ease),visibility 0s .5s}
 .reel-chapter.on{visibility:visible;transition:opacity .5s,transform .6s var(--ease),visibility 0s}
 .reel-dots{display:flex;order:1;gap:8px;width:min(86vw,330px);margin-top:-4px}
 .reel-dots button{flex:1;display:grid;gap:7px;padding:8px 0 4px;border:0;background:none;color:var(--muted);font:700 .7rem/1 var(--ff);letter-spacing:.14em;cursor:pointer;-webkit-tap-highlight-color:transparent}
 .reel-dots button b{display:block;height:3px;border-radius:3px;background:var(--line2);overflow:hidden;position:relative}
 .reel-dots button b::after{content:"";position:absolute;inset:0;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
 .reel-dots button.on b::after,.reel-dots button.done b::after{transform:none}
 .reel-dots button.on{color:var(--text)}
 .hero .scroll-cue{display:none}
}

/* --- 2. Home services: native swipe carousel on touch widths --- */
.h-hint{display:none}
@media (max-width:1080px){
 .h-scroll{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y;scroll-padding-inline:var(--pad)}
 .h-scroll::-webkit-scrollbar{display:none}
 .h-track{padding:6px var(--pad) 10px;gap:14px}
 .h-track .svc-card{scroll-snap-align:start;scroll-snap-stop:normal}
 .h-track::after{content:"";flex:0 0 1px}
 .h-hint{display:flex;align-items:center;gap:14px;margin-top:14px;font:600 .78rem/1 var(--ff);color:var(--muted);letter-spacing:.06em}
 .h-hint-txt i{display:inline-block;font-style:normal;animation:kgNudge 1.6s ease-in-out infinite}
 .h-hint.moved .h-hint-txt i{animation:none}
 .h-hint-bar{flex:1;height:3px;border-radius:3px;background:var(--line2);overflow:hidden}
 .h-hint-bar b{display:block;height:100%;background:var(--grad);transform:scaleX(.06);transform-origin:left;transition:transform .15s linear}
 .h-hint-n b{color:var(--text)}
}
@keyframes kgNudge{50%{transform:translateX(5px)}}
@media (max-width:640px){
 .h-track .svc-card{width:78vw;max-width:330px}
}

/* service cards carry their service photo */
.svc-card.has-thumb{min-height:0;isolation:isolate}
.svc-card .thumb{display:block;position:relative;margin:-26px -26px 0;height:150px;border-radius:var(--r-lg) var(--r-lg) 0 0;overflow:hidden;background:#0b0a1f}
.svc-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s var(--ease)}
.svc-card .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,3,10,.55),transparent 40%,rgba(3,3,10,.35))}
.svc-card:hover .thumb img{transform:scale(1.05)}
.svc-card.has-thumb .no{position:absolute;top:20px;left:22px;z-index:2;color:#fff}
.svc-card.has-thumb .cat{top:20px;right:22px;z-index:2;color:#fff}
.svc-card.has-thumb .ico{position:relative;z-index:2;margin:-29px 0 0;width:54px;height:54px}
.svc-card.has-thumb h3{margin:18px 0 8px}
.svc-card.has-thumb .go{margin-top:auto}
@media (max-width:640px){.svc-card .thumb{height:140px}.svc-grid .svc-card.has-thumb,.h-track .svc-card.has-thumb{min-height:0}}

/* --- 3. No sticky/pinned headings on touch widths (nothing scrolls beneath text) --- */
@media (min-width:1081px){.proc-intro{position:sticky;top:120px;align-self:start}}
@media (max-width:1080px){
 .proc-intro{position:static}
 .proc-split{gap:28px}
 .proc-stack .card{position:relative;top:auto;box-shadow:none}
 .faq-layout .sticky,.aside-card{position:static}
 [style*="position:sticky"],[style*="position: sticky"]{position:static!important}
}

/* --- 4. One contact FAB on mobile + tablets (same switch-over as the mobile menu) instead of two stacked buttons --- */
.kg-fab{display:none}
@media (max-width:1080px){
 .wa-float{display:none!important}
 .kg-chat .kg-chat-btn{display:none}
 .kg-fab{display:block;position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:72;transition:transform .35s var(--ease),opacity .35s}
 .kg-fab.tuck{transform:translateY(calc(100% + 30px));opacity:0}
 .kg-fab-btn{position:relative;width:52px;height:52px;border-radius:50%;border:0;background:var(--grad);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 14px 34px -12px rgba(255,0,200,.75);-webkit-tap-highlight-color:transparent}
 .kg-fab-btn svg{grid-area:1/1;width:24px;height:24px;transition:opacity .25s,transform .35s var(--ease)}
 .kg-fab-btn .x{opacity:0;transform:rotate(-90deg)}
 .kg-fab.open .kg-fab-btn .o{opacity:0;transform:rotate(90deg)}
 .kg-fab.open .kg-fab-btn .x{opacity:1;transform:none}
 .kg-fab-menu{position:absolute;right:0;bottom:64px;display:grid;gap:8px;justify-items:end}
 .kg-fab-item{display:flex;align-items:center;gap:10px;height:46px;padding:0 18px 0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(11,10,31,.96);color:#fff;font:600 .9rem/1 var(--ff);white-space:nowrap;text-decoration:none;cursor:pointer;box-shadow:0 16px 36px -14px rgba(0,0,0,.7);opacity:0;transform:translateY(10px) scale(.96);transition:opacity .25s,transform .35s var(--ease)}
 .kg-fab.open .kg-fab-item{opacity:1;transform:none}
 .kg-fab.open .kg-fab-item:nth-child(2){transition-delay:.04s}
 .kg-fab.open .kg-fab-item:nth-child(3){transition-delay:.08s}
 .kg-fab-item svg{width:20px;height:20px;flex:none}
 .kg-fab-item.wa svg{color:#25d366}
 .kg-fab-item.ai svg{color:#ff4b9a}
 .kg-fab-item.call svg{color:#8f91ff}
 html[data-theme=light] .kg-fab-item{background:#fff;color:#14122b;border-color:rgba(20,18,43,.12);box-shadow:0 16px 36px -16px rgba(20,18,43,.35)}
 .nav-open .kg-fab,.kg-intro-on .kg-fab,.kg-chat.open~.kg-fab{opacity:0!important;pointer-events:none!important;visibility:hidden}
 /* last lines of the page stay clear of the FAB */
 .site-footer{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
}

/* service "in action" photo band: full-width image, calmer heading on phones */
@media (max-width:860px){
 .svc-photo{grid-template-columns:1fr!important}
 .svc-photo .kg-frame{width:100%;max-width:none;margin:0}
 .svc-photo .sp-side h3{font-size:clamp(1.25rem,5.6vw,1.6rem);line-height:1.25}
}

/* phone mock keeps its own left-aligned reel UI even inside the centred mobile story */
.phone{text-align:left}
/* fixed header on phones: a solid fade behind it so page text never shows through/above the floating bar */
@media (max-width:1080px){
 .site-header::before{content:"";position:absolute;left:0;right:0;top:-14px;height:calc(100% + 30px);z-index:-1;pointer-events:none;opacity:0;transition:opacity .3s;background:linear-gradient(180deg,var(--bg) 0,var(--bg) 62%,color-mix(in srgb,var(--bg) 0%,transparent))}
 .site-header.is-scrolled::before{opacity:1}
 .nav-open .site-header::before{opacity:0}
}


/* ===== v3 content sections (home + about), Krishva palette only ===== */
.dot-live{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--grad);box-shadow:0 0 0 4px rgba(255,0,200,.18);flex:none}
.hero h1.h1-beats{max-width:12ch}
/* search everywhere */
.se-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
.se-visual{position:relative}
.se-photo{aspect-ratio:4/3.1}
.se-chips{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.se-chips li{padding:9px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);font-size:.84rem;font-weight:600;color:var(--ink2);animation:seIn .8s var(--ease) both;animation-delay:calc(var(--k)*.06s)}
.se-chips li:nth-child(3n+1){border-color:rgba(255,0,200,.35)}
@keyframes seIn{from{opacity:0;transform:translateY(8px)}}
/* growth loop */
.loop-wrap .p-step .n{font-size:3.6rem}
/* tabs */
.kg-tablist{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.kg-tablist button{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);color:var(--ink2);font:600 .95rem/1 var(--ff);cursor:pointer;transition:background .3s,border-color .3s,color .3s}
.kg-tablist button .n{font:700 .72rem/1 var(--ff);letter-spacing:.12em;color:var(--pink)}
.kg-tablist button[aria-selected=true]{background:var(--grad);border-color:transparent;color:#fff}
.kg-tablist button[aria-selected=true] .n{color:#fff}
.kg-tabpanel{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4vw,60px);align-items:center;padding:clamp(22px,3vw,40px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);animation:seIn .5s var(--ease)}
.kg-tabpanel[hidden]{display:none}
.kg-tabpanel h3{font-size:clamp(1.4rem,2.4vw,2rem);margin:0 0 12px}
.kg-tabpanel .kg-frame{aspect-ratio:4/3;margin:0}
.kg-ticks{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:10px}
.kg-ticks li{position:relative;padding-left:30px;color:var(--ink2)}
.kg-ticks li::before{content:"";position:absolute;left:0;top:.35em;width:18px;height:18px;border-radius:50%;background:var(--grad);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.4 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm-1.4 14.2-4-4 1.4-1.4 2.6 2.6 5.6-5.6 1.4 1.4-7 7Z'/%3E%3C/svg%3E") center/contain no-repeat}
/* why us */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.why-card{padding:28px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);transition:border-color .4s,transform .5s var(--ease)}
.why-card:hover{border-color:rgba(255,0,200,.4);transform:translateY(-4px)}
.why-card .n{font:800 2.2rem/1 var(--ff-h);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.why-card h3{font-size:1.2rem;margin:18px 0 8px}
.why-card p{margin:0;color:var(--muted);font-size:.95rem}
/* reviews band */
.rv-band{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,3vw,40px);align-items:center;padding:clamp(26px,4vw,46px);border-radius:var(--r-lg);border:1px solid var(--line2);background:radial-gradient(60% 120% at 0% 0%,rgba(123,0,255,.25),transparent 60%),radial-gradient(60% 120% at 100% 100%,rgba(255,0,200,.18),transparent 60%),var(--bg2)}
.rv-band h2{font-size:clamp(1.6rem,3vw,2.4rem);margin:8px 0}
.rv-band p{margin:0;color:var(--muted)}
.rv-stars{font-size:clamp(1.6rem,3vw,2.2rem);letter-spacing:.08em;color:#ffc93c;text-shadow:0 0 24px rgba(255,201,60,.35)}
/* about */
.mv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mv-card{padding:clamp(24px,3vw,40px);border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(160deg,rgba(123,0,255,.16),transparent 70%),var(--glass)}
.mv-card .big{font:600 clamp(1.15rem,1.9vw,1.5rem)/1.4 var(--ff-h);margin:14px 0 0;letter-spacing:-.01em}
.values.values-5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1180px){.values.values-5{grid-template-columns:repeat(3,1fr)}}
@media (max-width:1080px){
 .se-grid,.kg-tabpanel,.rv-band,.mv-grid2{grid-template-columns:1fr}
 .why-grid{grid-template-columns:1fr 1fr}
 .rv-band{text-align:left}
}
@media (max-width:640px){
 .why-grid,.values.values-5{grid-template-columns:1fr}
 .kg-tablist{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--pad)*-1);padding-inline:var(--pad)}
 .kg-tablist::-webkit-scrollbar{display:none}
 .kg-tablist button{flex:none;padding:11px 15px;font-size:.88rem}
 .kg-tabpanel{padding:20px}
 .kg-tabpanel .kg-frame{order:-1}
 .loop-wrap .p-step{min-height:0}
 .loop-wrap .p-step .n{margin-bottom:6px}
}
@media (max-width:640px){.kg-tablist button .n{display:none}.kg-tablist{gap:6px}.kg-tablist button{padding:11px 14px}}
.hero h1.h1-beats{max-width:none;font-size:clamp(2.7rem,7.2vw,7.2rem)}
.hero h1.h1-beats .beat{display:block;white-space:nowrap}
figure.kg-frame{margin:0}
.hero h1.h1-beats .paid{position:relative}
.hero h1.h1-beats .paid .split-word:last-child{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* v2.1.1 polish: Approach / Expertise / Results tabs fit on phones (equal 3-column grid, no sideways scroll) */
@media (max-width:640px){
 .kg-tablist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;flex-wrap:nowrap;margin-inline:0;padding-inline:0}
 .kg-tablist button{display:flex;justify-content:center;text-align:center;min-width:0;width:100%;padding:11px 6px;font-size:.8rem;line-height:1.15;letter-spacing:-.01em;white-space:nowrap}
}
@media (max-width:374px){.kg-tablist button{font-size:.74rem;padding:11px 4px}}

/* service-v3.css */
/* Krishva Growth service pages v3: new sections (explainer, mid CTA, benefits, why us, reviews, trust line).
   Krishva palette, fonts and components only. No position:sticky or pinning anywhere in this file. */

/* hero trust line (real facts only) */
.svcp .sv3-trust{margin:22px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.92rem;color:var(--ink2)}
.svcp .sv3-trust b{color:var(--ink);font-weight:700}
.svcp .sv3-trust i{font-style:normal;opacity:.5}
.sv3-stars{letter-spacing:.12em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:1.05em}

/* explainer: "What is …?" with the second image */
.sv3-what-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}
.sv3-what h2{font-size:clamp(1.8rem,3.6vw,3.3rem);max-width:18ch;margin:0 0 22px}
.sv3-what-a{font:500 clamp(1.08rem,1.5vw,1.32rem)/1.65 var(--ff);color:var(--ink2);margin:0;letter-spacing:-.005em}
.sv3-what-short{margin:22px 0 0;padding:16px 18px;border-left:3px solid var(--ga,#7b00ff);border-radius:0 14px 14px 0;background:var(--glass);color:var(--muted);font-size:.98rem}
.sv3-what-short b{color:var(--ink)}
.sv3-what-img{margin:0;aspect-ratio:4/3}
.sv3-what-img img{width:100%;height:100%;object-fit:cover}
.sv3-what.no-img .sv3-what-grid{grid-template-columns:1fr;max-width:860px}
.sv3-what--left .sv3-what-img{order:-1}
.sv3-what--wide .sv3-what-grid{grid-template-columns:1fr;text-align:center;justify-items:center}
.sv3-what--wide .sv3-what-copy{max-width:860px}
.sv3-what--wide h2{margin-left:auto;margin-right:auto}
.sv3-what--wide .sv3-what-short{text-align:left}
.sv3-what--wide .sv3-what-img{width:100%;aspect-ratio:21/9}
.sv3-what--stack .sv3-what-grid{grid-template-columns:1.15fr .85fr;align-items:end}
.sv3-what--stack .sv3-what-img{aspect-ratio:4/5;transform:translateY(clamp(0px,3vw,40px));box-shadow:0 40px 90px -40px var(--ga,#7b00ff)}
.sv3-what--overlay .sv3-what-grid{grid-template-columns:1fr;position:relative}
.sv3-what--overlay .sv3-what-img{grid-row:1;grid-column:1;aspect-ratio:16/7;width:100%}
@media (min-width:1081px){
 .sv3-what--overlay .sv3-what-copy{grid-row:1;grid-column:1;align-self:end;justify-self:start;position:relative;z-index:3;max-width:640px;margin:0 0 34px 34px;padding:32px 34px;border-radius:var(--r);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--line2)}
 .sv3-what--overlay .sv3-what-img{aspect-ratio:auto;height:clamp(540px,44vw,640px)}
}

/* problem section photo */
.svc-why .sv3-pimg{margin:30px 0 0;aspect-ratio:4/3;max-width:560px}
.svc-why .sv3-pimg img{width:100%;height:100%;object-fit:cover}

/* early free-audit band */
.sv3-mid-band{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px 40px;padding:clamp(26px,4vw,44px) clamp(22px,4vw,52px);border-radius:var(--r-lg);border:1px solid transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--pgrad,var(--grad)) border-box;overflow:hidden;isolation:isolate}
.sv3-mid-band::before{content:"";position:absolute;inset:-40% -10% auto auto;width:60%;height:180%;background:radial-gradient(closest-side,color-mix(in srgb,var(--ga,#7b00ff) 30%,transparent),transparent);z-index:-1;pointer-events:none}
.sv3-mid-band h2{font-size:clamp(1.35rem,2.6vw,2.2rem);margin:0 0 8px;max-width:none}
.sv3-mid-band p{margin:0;color:var(--muted);max-width:56ch}
.sv3-mid-act{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}
.sv3-mid-band.is-center{flex-direction:column;text-align:center}
.sv3-mid-band.is-center p{margin-left:auto;margin-right:auto}
.sv3-mid-band.is-center .sv3-mid-act{justify-content:center}

/* benefits */
.sv3-ben-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sv3-ben-item{position:relative;padding:28px 24px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line);transition:transform .5s var(--ease),border-color .4s}
.sv3-ben-item:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--ga,#7b00ff) 60%,transparent)}
.sv3-ben-item i{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;font-style:normal;color:#fff;background:var(--pgrad,var(--grad));margin-bottom:18px}
.sv3-ben-item h3{font-size:clamp(1.02rem,1.3vw,1.2rem);margin:0 0 8px;line-height:1.3}
.sv3-ben-item p{margin:0;color:var(--muted);font-size:.96rem}
.sv3-ben--numbered .sv3-ben-item{background:none;border:0;border-top:1px solid var(--line2);border-radius:0;padding:24px 4px 6px}
.sv3-ben--numbered .sv3-ben-item .n{display:block;font:700 clamp(2.2rem,3.6vw,3.4rem)/1 var(--ff-h);background:var(--pgrad,var(--grad));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:16px}
.sv3-ben--glow .sv3-ben-grid{grid-template-columns:repeat(2,1fr);gap:20px}
.sv3-ben--glow .sv3-ben-item{padding:clamp(26px,3vw,40px);border:1px solid transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(135deg,color-mix(in srgb,var(--ga,#7b00ff) 70%,transparent),transparent 45%,color-mix(in srgb,var(--gb,#ff00c8) 60%,transparent)) border-box;box-shadow:0 30px 70px -45px var(--ga,#7b00ff)}
.sv3-ben--glow .sv3-ben-item h3{font-size:clamp(1.15rem,1.7vw,1.5rem)}
.sv3-ben-split{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(30px,6vw,90px);align-items:start}
.sv3-ben-list{list-style:none;margin:0;padding:0;counter-reset:none}
.sv3-ben-list li{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.sv3-ben-list li:first-child{border-top:1px solid var(--line)}
.sv3-ben-list .n{font:700 .9rem/1.9 var(--ff-h);color:var(--ga,#7b00ff)}
html[data-theme=light] .sv3-ben-list .n{color:#7b00ff}
.sv3-ben-list h3{margin:0 0 6px;font-size:clamp(1.05rem,1.4vw,1.25rem)}
.sv3-ben-list p{margin:0;color:var(--muted)}

/* why us (shared, six real points) */
.sv3-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sv3-why-item{display:grid;grid-template-columns:auto 1fr;gap:16px;padding:24px;border-radius:var(--r);background:var(--glass);border:1px solid var(--line)}
.sv3-why-item .n{font:700 .82rem/1 var(--ff-h);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);color:var(--ink)}
.sv3-why-item h3{font-size:1.06rem;margin:6px 0 6px;line-height:1.3}
.sv3-why-item p{margin:0;color:var(--muted);font-size:.95rem}
.sv3-why--rows .sv3-why-grid{grid-template-columns:repeat(2,1fr);gap:0 50px}
.sv3-why--rows .sv3-why-item{background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:22px 0}
.sv3-why--rows .sv3-why-item .n{border:0;background:var(--pgrad,var(--grad));color:#fff}

/* reviews band: the real count only, no quotes */
.sv3-rev-band{display:grid;grid-template-columns:auto 1fr;gap:clamp(26px,5vw,70px);align-items:center;padding:clamp(28px,5vw,60px);border-radius:var(--r-lg);background:var(--glass);border:1px solid var(--line2);position:relative;overflow:hidden;isolation:isolate}
.sv3-rev-band::after{content:"";position:absolute;left:-10%;top:-60%;width:50%;height:220%;background:radial-gradient(closest-side,color-mix(in srgb,var(--gb,#ff00c8) 22%,transparent),transparent);z-index:-1;pointer-events:none}
.sv3-rev-num{display:grid;justify-items:center;text-align:center;gap:6px;min-width:180px}
.sv3-rev-num b{font:800 clamp(3.4rem,8vw,6.4rem)/.95 var(--ff-h);background:var(--pgrad,var(--grad));-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.04em}
.sv3-rev-num .sv3-stars{font-size:1.35rem}
.sv3-rev-num small{color:var(--muted);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase}
.sv3-rev-copy h2{font-size:clamp(1.5rem,3vw,2.6rem);margin:0 0 12px;max-width:20ch}
.sv3-rev-copy p{color:var(--muted);margin:0 0 22px;max-width:52ch}

/* closing CTA */
.sv3-end h2{max-width:20ch}
.sv3-end p{max-width:60ch}

/* ---------- tablet ---------- */
@media (max-width:1080px){
 .sv3-ben-grid{grid-template-columns:repeat(2,1fr)}
 .sv3-why-grid{grid-template-columns:repeat(2,1fr)}
 .sv3-ben-split{grid-template-columns:1fr;gap:26px}
 .sv3-what--stack .sv3-what-img{transform:none}
}
/* ---------- phones ---------- */
@media (max-width:860px){
 .sv3-what-grid,.sv3-what--stack .sv3-what-grid{grid-template-columns:1fr;gap:26px}
 .sv3-what--wide .sv3-what-grid{text-align:left;justify-items:stretch}
 .sv3-what-img,.sv3-what--stack .sv3-what-img,.sv3-what--wide .sv3-what-img,.sv3-what--overlay .sv3-what-img{aspect-ratio:16/10}
 .sv3-what--overlay .sv3-what-img{grid-row:auto;order:-1}
 .sv3-what h2{max-width:none}
 .svc-why .sv3-pimg{max-width:none;margin-top:22px;aspect-ratio:16/10}
 .sv3-mid-band{flex-direction:column;align-items:flex-start;text-align:left}
 .sv3-mid-band.is-center{align-items:center;text-align:center}
 .sv3-mid-act{width:100%}
 .sv3-mid-act .btn{flex:1 1 auto;justify-content:center}
 .sv3-why--rows .sv3-why-grid{grid-template-columns:1fr}
 .sv3-rev-band{grid-template-columns:1fr;text-align:center;justify-items:center}
 .sv3-rev-copy h2,.sv3-rev-copy p{margin-left:auto;margin-right:auto}
}
@media (max-width:600px){
 .sv3-ben-grid,.sv3-ben--glow .sv3-ben-grid,.sv3-why-grid{grid-template-columns:1fr}
 .sv3-ben-item{padding:22px 20px}
 .sv3-why-item{padding:20px}
 .sv3-ben--numbered .sv3-ben-item{padding:20px 2px 4px}
 .sv3-ben--numbered .sv3-ben-item .n{font-size:2.2rem;margin-bottom:10px}
 .sv3-rev-num{min-width:0}
}

/* pages-v3.css */
/* Krishva Growth v3 pages: AI Visibility, How we work, Reviews, Free tools, Industries (+ detail), Services hub, desktop nav dropdowns, mobile menu sub-lists, footer columns.
   Uses Krishva's own tokens only (--grad, --glass, --line, --ff-h ...). No position:sticky anywhere in this file. */

/* ---------- hero beats ---------- */
.v3-beat{display:block}
.page-hero .hero-actions{margin-top:28px}
.v3-first{padding-top:clamp(40px,6vw,90px)}
.h3{font:700 clamp(1.15rem,1.8vw,1.45rem)/1.18 var(--ff-h);letter-spacing:-.02em;margin:0 0 .45em}

/* ---------- image + copy split ---------- */
.v3-split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(30px,5vw,80px);align-items:center}
.v3-split.rev{grid-template-columns:.95fr 1.05fr}
.v3-copy .lead{margin-bottom:0}
.v3-copy h2{font-size:clamp(1.8rem,3.8vw,3.2rem)}
.v3-media{margin:0;position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);aspect-ratio:4/3;background:var(--bg2);isolation:isolate;box-shadow:var(--shadow)}
.v3-media.tall{aspect-ratio:4/4.4}
.v3-media.wide{aspect-ratio:16/10}
.v3-media.thumb{aspect-ratio:1/1;border-radius:var(--r)}
.v3-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 1.4s var(--ease)}
.v3-media:hover img{transform:scale(1)}
.v3-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(3,3,10,.45));pointer-events:none}
.v3-mini{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}
.v3-mini li{display:flex;gap:14px;align-items:baseline;padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.v3-mini b{font:700 .78rem/1 var(--ff);letter-spacing:.14em;text-transform:uppercase;min-width:62px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.v3-mini span{color:var(--ink2)}

/* ---------- cards ---------- */
.v3-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v3-principles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v3-card{position:relative;padding:clamp(22px,2.4vw,30px);border-radius:var(--r);border:1px solid var(--line);background:var(--glass);transition:border-color .35s,transform .5s var(--ease),background .35s;overflow:hidden}
.v3-card:hover{border-color:rgba(255,0,200,.4);transform:translateY(-4px);background:var(--glass2)}
.v3-card h3{font-size:clamp(1.05rem,1.5vw,1.25rem);margin:18px 0 8px}
.v3-card p{margin:0;color:var(--muted);font-size:.95rem}
.v3-ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--grad);color:#fff;box-shadow:0 10px 30px -10px rgba(123,0,255,.7)}
.v3-num{display:inline-block;font:600 .74rem/1.3 var(--ff);letter-spacing:.14em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- pillars ---------- */
.v3-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:p}
.v3-pillar{position:relative;padding:30px 26px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);min-height:230px;display:flex;flex-direction:column}
.v3-pillar .n{font:800 3.4rem/1 var(--ff-h);letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:auto}
.v3-pillar h3{font-size:1.25rem;margin:26px 0 8px}
.v3-pillar p{margin:0;color:var(--muted);font-size:.95rem}

/* ---------- checklist ---------- */
.v3-checks{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px}
.v3-checks li{position:relative;padding:14px 16px 14px 52px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--ink2);font-weight:500}
.v3-checks li::before{content:"";position:absolute;left:14px;top:50%;width:24px;height:24px;margin-top:-12px;border-radius:50%;background:var(--grad)}
.v3-checks li::after{content:"";position:absolute;left:22px;top:50%;width:6px;height:11px;margin-top:-7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- growth loop ---------- */
.v3-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative}
.v3-loop::before{content:"";position:absolute;left:30px;right:30px;top:31px;height:2px;background:var(--grad);opacity:.55}
.v3-loop-step{position:relative;padding-top:84px}
.v3-loop-step .n{position:absolute;top:0;left:0;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid transparent;background-image:linear-gradient(var(--bg),var(--bg)),var(--grad);background-origin:border-box;background-clip:padding-box,border-box;font:700 1.05rem var(--ff-h)}
.band .v3-loop-step .n{background-image:linear-gradient(var(--bg2),var(--bg2)),var(--grad)}
.v3-loop-step h3{font-size:1.25rem;margin:0 0 10px}
.v3-loop-step p{margin:0;color:var(--muted);font-size:.95rem;max-width:34ch}

/* ---------- zig-zag (how we work) ---------- */
.v3-zig{display:grid;gap:clamp(40px,6vw,90px)}
.v3-zig-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.v3-zig-row.rev .v3-media{order:2}
.v3-big-n{display:block;font:800 clamp(3.4rem,7vw,6rem)/.9 var(--ff-h);letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}
.v3-zig-txt h3{font-size:clamp(1.6rem,3vw,2.5rem)}

/* ---------- Q&A ---------- */
.v3-qa{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v3-qa-item{padding:26px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);display:flex;flex-direction:column}
.v3-qa-item h3{font-size:1.1rem;margin:0 0 10px}
.v3-qa-item p{margin:0 0 18px;color:var(--muted);font-size:.95rem}
.v3-qa-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.v3-qa-links .chip{white-space:normal}

/* ---------- reviews ---------- */
.v3-revband{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,60px);align-items:center;padding:clamp(26px,4vw,50px);border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(120deg,rgba(123,0,255,.16),rgba(255,0,200,.08)),var(--glass)}
.v3-revband h2{font-size:clamp(1.5rem,3vw,2.4rem);margin-bottom:10px}
.v3-revband p{color:var(--muted);margin:0}
.v3-revband .hero-actions{margin-top:20px}
.v3-rev-score{text-align:center;padding:22px 30px;border-radius:var(--r);background:var(--bg);border:1px solid var(--line)}
.v3-rev-score .stars,.v3-score .stars{color:#ffc93c;letter-spacing:3px;font-size:1rem;display:block}
.v3-rev-score b{display:block;font:800 clamp(2.6rem,5vw,3.8rem)/1 var(--ff-h);letter-spacing:-.05em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin:8px 0 4px}
.v3-rev-score small{color:var(--muted);font-size:.85rem}
.v3-score{display:grid;grid-template-columns:1.1fr 1fr;gap:16px}
.v3-score-main{padding:clamp(30px,5vw,60px);border-radius:var(--r-lg);background:var(--grad2);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.v3-score-main::before{content:"";position:absolute;inset:-40%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.16),transparent 30%);animation:spin 14s linear infinite}
.v3-score-main b{display:block;font:800 clamp(4rem,11vw,8rem)/.95 var(--ff-h);letter-spacing:-.06em;margin:12px 0 8px}
.v3-score-main span:last-child{font-size:1.1rem;opacity:.92}
.v3-score-side{display:grid;gap:16px}
.v3-score-side div{padding:22px 26px;border-radius:var(--r);border:1px solid var(--line);background:var(--glass);display:flex;align-items:baseline;gap:16px}
.v3-score-side b{font:700 clamp(1.6rem,3vw,2.4rem)/1 var(--ff-h);min-width:90px}
.v3-score-side span{color:var(--muted)}
.v3-why{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}
.v3-why li{padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.v3-why b{display:block;font-family:var(--ff-h);font-size:1rem;margin-bottom:2px}
.v3-why span{color:var(--muted);font-size:.93rem}

/* ---------- free tools ---------- */
.v3-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v3-tool{display:flex;flex-direction:column;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);overflow:hidden;transition:border-color .35s,transform .5s var(--ease)}
.v3-tool:hover{border-color:rgba(255,0,200,.45);transform:translateY(-4px)}
.v3-tool.feature{grid-column:span 2;flex-direction:row}
.v3-tool-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--bg2)}
.v3-tool.feature .v3-tool-img{aspect-ratio:auto;flex:1.2;min-height:300px}
.v3-tool-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.v3-tool:hover .v3-tool-img img{transform:scale(1.05)}
.v3-tool-body{display:flex;flex-direction:column;padding:24px 24px 26px;flex:1}
.v3-tool.feature .v3-tool-body{justify-content:center;padding:clamp(26px,3.5vw,48px)}
.v3-tool-body h2{margin-top:10px}
.v3-tool-body p{color:var(--muted);margin:0 0 18px;font-size:.96rem}
.v3-tool .go,.v3-ind .go{margin-top:auto;display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.92rem}
.v3-tool .go b,.v3-ind .go b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#fff}
.v3-tool .go svg,.v3-ind .go svg{width:15px;height:15px}
.v3-strip{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:clamp(24px,3.5vw,44px);border-radius:var(--r-lg);border:1px solid var(--line2);background:linear-gradient(120deg,rgba(74,76,255,.14),rgba(255,0,200,.08)),var(--glass)}
.v3-strip:has(.v3-media){grid-template-columns:140px 1fr auto}
.v3-strip p{margin:0}
.v3-strip .hero-actions{margin:0}

/* ---------- services hub groups ---------- */
.v3-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.v3-group{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:280px;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);isolation:isolate;color:#fff;transition:transform .5s var(--ease),border-color .35s}
.v3-group:hover{transform:translateY(-4px);border-color:rgba(255,0,200,.45)}
.v3-group-img{position:absolute;inset:0;z-index:-2}
.v3-group-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.v3-group:hover .v3-group-img img{transform:scale(1.05)}
.v3-group::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(3,3,10,.1) 0%,rgba(3,3,10,.55) 45%,rgba(3,3,10,.92) 100%)}
.v3-group-body{padding:24px 24px 26px}
.v3-group-body h2{font-size:clamp(1.6rem,2.6vw,2.2rem);margin:8px 0 6px;color:#fff}
.v3-group-body p{margin:0;color:rgba(255,255,255,.82);font-size:.95rem}
.v3-group .v3-num{background:none;color:#fff;-webkit-text-fill-color:#fff;opacity:.85}

/* ---------- industries ---------- */
.v3-inds{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v3-ind{display:flex;flex-direction:column;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);overflow:hidden;transition:border-color .35s,transform .5s var(--ease)}
.v3-ind:hover{border-color:rgba(255,0,200,.45);transform:translateY(-4px)}
.v3-ind-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--bg2)}
.v3-ind-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.v3-ind:hover .v3-ind-img img{transform:scale(1.05)}
.v3-ind-body{display:flex;flex-direction:column;padding:22px 22px 24px;flex:1}
.v3-ind-body h2{margin-top:10px}
.v3-ind-body p{color:var(--muted);margin:0 0 14px;font-size:.94rem}
.v3-ind-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}
.v3-ind-tags span{padding:5px 10px;border-radius:999px;border:1px solid var(--line2);font-size:.74rem;color:var(--ink2)}
.v3-moves{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.v3-move{display:flex;flex-direction:column;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);overflow:hidden}
.v3-move-img{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:var(--bg2)}
.v3-move-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.v3-move-body{padding:22px 22px 24px;display:flex;flex-direction:column;flex:1}
.v3-move-body h3{font-size:1.2rem;margin:10px 0 8px}
.v3-move-body p{color:var(--muted);margin:0 0 16px;font-size:.94rem}
.v3-move-body .link-arrow{margin-top:auto;font-weight:600;font-size:.9rem}
.v3-other{display:flex;flex-direction:column;gap:14px}
.v3-other-list{display:flex;flex-wrap:wrap;gap:8px}
.v3-faq-head h2{font-size:clamp(1.8rem,3.6vw,3rem)}

/* ---------- desktop nav dropdowns (>=1081px only) ---------- */
.site-header .nav{position:relative}
.nav-dd{position:relative;display:flex}
.nav-dd-t{display:inline-flex!important;align-items:center;gap:6px}
.nav-dd-t i{width:7px;height:7px;border:solid currentColor;border-width:0 1.6px 1.6px 0;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .3s var(--ease)}
.nav-dd-panel{position:absolute;top:100%;left:50%;padding-top:14px;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .25s,transform .35s var(--ease),visibility 0s .35s;z-index:5}
.nav-dd:hover .nav-dd-panel,.nav-dd:focus-within .nav-dd-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .25s,transform .35s var(--ease),visibility 0s}
.nav-dd:hover .nav-dd-t i,.nav-dd:focus-within .nav-dd-t i{transform:translateY(1px) rotate(225deg)}
.nav-dd-inner{min-width:300px;padding:10px;border-radius:22px;border:1px solid var(--line2);background:rgba(8,10,32,.94);backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);box-shadow:0 30px 80px -20px rgba(0,0,0,.6),0 0 0 1px rgba(123,0,255,.08);display:grid}
html[data-theme=light] .nav-dd-inner{background:rgba(255,255,255,.97);box-shadow:0 30px 70px -25px rgba(60,20,140,.35)}
.nav-dd-inner>a{display:flex;align-items:center;gap:12px;padding:10px 14px!important;border-radius:14px!important;color:var(--ink2)}
.nav-dd-inner>a b{display:block;font-weight:600;font-size:.93rem;color:var(--ink)}
.nav-dd-inner>a small{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.nav-dd-inner>a:hover{background:var(--glass2)!important}
.nav-dd-2col{grid-template-columns:1fr 1fr;min-width:520px}
.nav-dd-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:6px;padding:12px 14px 6px;border-top:1px solid var(--line)}
.nav-dd-foot a{padding:0!important;background:none!important;font-size:.85rem!important;font-weight:600;background:var(--grad)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important}
.nav-dd-mega{position:static}
.nav-dd-mega .nav-dd-panel{left:50%;width:min(940px,calc(100vw - 40px))}
.nav-mega{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px;padding:6px 4px}
.nav-mega-col{display:flex;flex-direction:column}
.nav-dd-h{display:flex;align-items:baseline;gap:8px;margin:6px 10px 6px}
.nav-dd-h b{font:700 .7rem/1 var(--ff);letter-spacing:.16em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-dd-h small{font-size:.72rem;color:var(--muted)}
.nav-mega-col a{display:flex!important;align-items:center;gap:10px;padding:7px 10px!important;border-radius:12px!important;font-size:.86rem!important;color:var(--ink2)!important;line-height:1.25}
.nav-mega-col a:hover{background:var(--glass2)!important;color:var(--ink)!important}
.nav-mega-col a i{font-style:normal;flex:none;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:var(--glass2);border:1px solid var(--line);font-size:.74rem}
@media (min-width:1081px) and (max-width:1320px){.nav-links{gap:0}.nav-links>a,.nav-dd-t{padding:10px 10px!important;font-size:.88rem!important}.nav{gap:10px}}
@media (max-width:1080px){.nav-dd-panel{display:none}}
@media (hover:none){.nav-dd-panel{display:none}}

/* ---------- mobile menu sub-lists (Industries / Agency / Free tools) ---------- */
.mm-sub{padding:4px 0 10px 4px}
.mm-sub .mm-svc span{display:flex;flex-direction:column;min-width:0}
.mm-sub .mm-svc b{font-weight:600;color:var(--ink);font-size:.92rem;line-height:1.25}
.mm-sub .mm-svc small{font-size:.74rem;color:var(--muted);line-height:1.3}
.mm-sub .mm-svc i{font:600 .66rem/1 var(--ff);letter-spacing:.04em}
.mm-sub .mm-all b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- footer columns ---------- */
.f-grid.v3{grid-template-columns:1.15fr 1.25fr 1.05fr .9fr .95fr 1.3fr;gap:28px}
.f-short{font:700 1rem/1.3 var(--ff-h);letter-spacing:-.01em;margin:10px 0 0;display:inline-block}
.f-grid.v3 .f-contact a{overflow-wrap:anywhere}

/* ---------- responsive ---------- */
@media (max-width:1280px){
  .f-grid.v3{grid-template-columns:repeat(5,1fr)}
  .f-grid.v3 .f-about{grid-column:1/-1}
  .v3-inds{grid-template-columns:repeat(2,1fr)}
  .v3-principles{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1080px){
  .v3-grid,.v3-qa{grid-template-columns:repeat(2,1fr)}
  .v3-pillars,.v3-moves,.v3-loop{grid-template-columns:repeat(2,1fr)}
  .v3-loop{gap:34px 20px}
  .v3-loop::before{display:none}
  .v3-tools{grid-template-columns:repeat(2,1fr)}
  .v3-tool.feature{grid-column:1/-1}
  .v3-groups{grid-template-columns:1fr 1fr}
  .v3-groups .v3-group:last-child{grid-column:1/-1}
  .v3-score{grid-template-columns:1fr}
  .v3-strip,.v3-strip:has(.v3-media){grid-template-columns:1fr}
  .v3-strip .v3-media{display:none}
  .f-grid.v3{grid-template-columns:repeat(3,1fr)}
  .f-grid.v3 .f-contact{grid-column:span 1}
}
@media (max-width:760px){
  .v3-split,.v3-split.rev,.v3-zig-row{grid-template-columns:1fr;gap:28px}
  .v3-split.rev .v3-media,.v3-zig-row .v3-media,.v3-zig-row.rev .v3-media{order:-1}
  .v3-media.tall{aspect-ratio:4/3}
  .v3-tool.feature{flex-direction:column}
  .v3-tool.feature .v3-tool-img{aspect-ratio:16/10;min-height:0;flex:none}
  .v3-revband{grid-template-columns:1fr}
  .v3-rev-score{justify-self:start}
}
@media (max-width:640px){
  .v3-grid,.v3-qa,.v3-pillars,.v3-moves,.v3-loop,.v3-tools,.v3-groups,.v3-inds,.v3-principles{grid-template-columns:1fr}
  .v3-groups .v3-group:last-child{grid-column:auto}
  .v3-group{min-height:230px}
  .v3-pillar{min-height:0}
  .v3-pillar h3{margin-top:18px}
  .v3-pillar .n{font-size:2.6rem}
  .v3-loop-step{padding-top:0;padding-left:72px;min-height:56px}
  .v3-loop-step .n{width:54px;height:54px;font-size:.95rem}
  .v3-loop{gap:26px}
  .v3-loop::before{display:block;left:26px;right:auto;top:10px;bottom:10px;width:2px;height:auto}
  .v3-score-side div{padding:18px 20px}
  .v3-score-side b{min-width:76px}
  .v3-mini li{flex-direction:column;gap:4px}
  .v3-ind-img{aspect-ratio:16/9}
  .v3-move{display:grid;grid-template-columns:110px 1fr}
  .v3-move-img{aspect-ratio:auto;height:100%;min-height:150px}
  .v3-move-body{padding:16px 16px 18px}
  .f-grid.v3{grid-template-columns:1fr 1fr;gap:26px 18px}
  .f-grid.v3 .f-about,.f-grid.v3 .f-contact{grid-column:1/-1}
  .f-grid.v3 a{font-size:.9rem;padding:6px 0;line-height:1.3}
  .page-hero .hero-actions .btn{flex:1 1 auto}
}
@media (max-width:370px){
  .v3-move{grid-template-columns:1fr}
  .v3-move-img{aspect-ratio:16/9;min-height:0}
  .v3-score-side div{flex-direction:column;gap:6px}
}
@media (prefers-reduced-motion:reduce){.v3-score-main::before{animation:none}.v3-media img,.v3-tool-img img,.v3-ind-img img,.v3-group-img img{transition:none}}

/* mobile menu open: solid header bar so menu items never show through it while the menu scrolls */
@media (max-width:1100px){.nav-open .site-header::before{opacity:1!important}.nav-open .site-header .nav{background:rgba(8,10,32,.97)}html[data-theme=light].nav-open .nav,html[data-theme=light] .nav-open .site-header .nav{background:rgba(255,255,255,.98)}}

/* mobile-menu.css */
/* Krishva Growth — mobile menu v2.2: full-screen panel, plain list, drill-down sub-panels, vertical Free Audit edge tab.
   Structure after the client's reference; colours, fonts, logo and gradient are Krishva's own. Desktop nav untouched. */
@media (min-width:1081px){.mobile-menu.kgm{display:none!important}}
.mobile-menu.kgm{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;padding:0;gap:0;height:100vh;height:100dvh;overflow:hidden;
 background:radial-gradient(90% 55% at 100% 0%,rgba(123,0,255,.20),transparent 62%),radial-gradient(70% 40% at 0% 100%,rgba(255,0,200,.08),transparent 60%),var(--bg);
 backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--ink);
 --kgm-x:max(20px,env(safe-area-inset-left));--kgm-edge:38px;--kgm-r:calc(var(--kgm-edge) + 18px)}
html[data-theme=light] .mobile-menu.kgm{background:radial-gradient(90% 55% at 100% 0%,rgba(123,0,255,.10),transparent 62%),radial-gradient(70% 40% at 0% 100%,rgba(255,0,200,.06),transparent 60%),var(--bg)}
.kgm-top{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;height:72px;padding:calc(env(safe-area-inset-top)) 12px 0 var(--kgm-x);border-bottom:1px solid var(--line)}
.kgm-logo{display:flex;align-items:center;gap:8px;color:var(--ink)}
.kgm-logo img{height:24px;width:auto}
.kgm-logo small{font:600 .62rem/1 var(--ff);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.kgm-logo .logo-dark{display:none}.kgm-logo .logo-light{display:block}
html[data-theme=light] .kgm-logo .logo-light{display:none}html[data-theme=light] .kgm-logo .logo-dark{display:block}
.kgm-acts{display:flex;align-items:center;gap:2px}
.kgm-ib{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;color:var(--ink);background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .2s}
.kgm-ib:active,.kgm-ib:focus-visible{background:var(--glass2)}
.kgm-ib[aria-expanded=true]{color:var(--magenta)}
.kgm-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}
.kgm-panel{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;transition:transform .45s var(--ease),opacity .35s;will-change:transform;background:transparent}
.kgm-root{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.kgm-root.is-behind{transform:translateX(-28%);opacity:0;pointer-events:none}
.kgm-sub{transform:translateX(100%);opacity:1;background:var(--bg);box-shadow:-30px 0 60px -30px rgba(0,0,0,.5)}
.kgm-sub::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 50% at 100% 0%,rgba(123,0,255,.16),transparent 62%)}
html[data-theme=light] .kgm-sub{box-shadow:-30px 0 60px -30px rgba(40,10,90,.25)}
.kgm-sub.is-active{transform:none}
.kgm-sub[hidden]{display:none}
.kgm-list{list-style:none;margin:0;padding:0 var(--kgm-r) 0 var(--kgm-x)}
.kgm-list li{margin:0;border-bottom:1px solid var(--line2)}
html[data-theme=light] .kgm-list li{border-bottom-color:var(--line2)}
.kgm-item{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:64px;padding:0 2px;background:none;border:0;text-align:left;cursor:pointer;color:var(--ink);
 font:400 clamp(1.06rem,4.7vw,1.2rem)/1.25 var(--ff);letter-spacing:-.005em;-webkit-tap-highlight-color:transparent;transition:color .2s,padding .3s var(--ease)}
.kgm-item span{min-width:0}
.kgm-item .kgm-chev{flex:0 0 auto;color:var(--muted);transition:transform .3s var(--ease),color .2s}
.kgm-item:active,.kgm-item:focus-visible{color:var(--magenta);padding-left:6px}
.kgm-item:active .kgm-chev{color:var(--magenta);transform:translateX(3px)}
.kgm-item.is-current span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kgm-root .kgm-list li{opacity:0;transform:translateY(14px);transition:opacity .4s,transform .55s var(--ease)}
.nav-open .kgm-root .kgm-list li{opacity:1;transform:none;transition-delay:calc(.14s + var(--i,0) * .04s)}
/* sub-panels */
.kgm-sub-h{flex:0 0 auto;display:flex;align-items:center;gap:6px;min-height:64px;padding:0 var(--kgm-r) 0 calc(var(--kgm-x) - 12px);border-bottom:1px solid var(--line2)}
.kgm-back{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:none;border:0;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
.kgm-back:active,.kgm-back:focus-visible{background:var(--glass2);color:var(--magenta)}
.kgm-sub-t{font:500 clamp(1.05rem,4.8vw,1.25rem)/1.2 var(--ff-h);letter-spacing:-.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kgm-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(36px + env(safe-area-inset-bottom))}
.kgm-sublist .kgm-item{min-height:56px;font:500 1rem/1.3 var(--ff);letter-spacing:0;padding-top:12px;padding-bottom:12px}
.kgm-grp{display:flex;align-items:baseline;gap:10px;margin:0;padding:24px var(--kgm-r) 6px var(--kgm-x)}
.kgm-grp b{font:600 .72rem/1 var(--ff-h);letter-spacing:.16em;text-transform:uppercase;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kgm-grp small{font:400 .78rem/1.2 var(--ff);color:var(--muted)}
.kgm-hub{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px var(--kgm-r) 0 var(--kgm-x);padding:15px 18px;border-radius:14px;border:1px solid var(--line2);background:var(--glass);font:600 .95rem/1.2 var(--ff);color:var(--ink)}
.kgm-hub span:last-child{color:var(--magenta)}
.kgm-hub:active{border-color:var(--purple)}
/* search */
.kgm-sbox{flex:1 1 auto;min-width:0;display:block}
.kgm-sinput{width:100%;height:44px;border-radius:12px;border:1px solid var(--line2);background:var(--glass);color:var(--ink);padding:0 14px;font:400 16px/1 var(--ff);outline:none;-webkit-appearance:none;appearance:none}
.kgm-sinput:focus{border-color:var(--purple);box-shadow:0 0 0 3px rgba(123,0,255,.22)}
.kgm-sinput::placeholder{color:var(--muted)}
.kgm-sres .kgm-item{flex-direction:column;align-items:flex-start;justify-content:center;gap:3px}
.kgm-sres .kgm-item small{font:500 .7rem/1 var(--ff);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kgm-sres .kgm-item mark{background:none;color:var(--magenta)}
.kgm-sempty{padding:22px var(--kgm-r) 0 var(--kgm-x);margin:0;color:var(--muted);font:400 .95rem/1.5 var(--ff)}
.kgm-sempty a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--magenta);text-underline-offset:3px}
/* foot */
.kgm-foot{margin-top:auto;display:flex;flex-wrap:wrap;gap:8px;padding:28px var(--kgm-r) calc(22px + env(safe-area-inset-bottom)) var(--kgm-x);opacity:0;transition:opacity .5s}
.nav-open .kgm-foot{opacity:1;transition-delay:.45s}
.kgm-chip{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);color:var(--ink);font:500 .85rem/1 var(--ff);cursor:pointer}
.kgm-chip svg{width:16px;height:16px}
.kgm-chip.kgm-wa svg{color:#25d366}
.kgm-chip.theme-toggle .sun,.kgm-chip.theme-toggle .moon{display:inline-flex}
html[data-theme=light] .kgm-chip.theme-toggle .sun{display:none}html:not([data-theme=light]) .kgm-chip.theme-toggle .moon{display:none}
.kgm-meta{flex-basis:100%;margin:8px 0 0;font:400 .8rem/1.5 var(--ff);color:var(--muted)}
.kgm-meta a{color:var(--muted);white-space:nowrap}
/* vertical Free Audit edge tab (Krishva gradient) */
.kgm-edge{position:absolute;right:0;top:calc(50% + 20px);transform:translateY(-50%);z-index:3;display:flex;align-items:center;justify-content:center;width:var(--kgm-edge);padding:18px 0;border-radius:12px 0 0 12px;background:var(--grad);color:#fff;
 box-shadow:-8px 0 30px -8px rgba(255,0,200,.55);-webkit-tap-highlight-color:transparent}
.kgm-edge span{writing-mode:vertical-rl;transform:rotate(180deg);font:600 .78rem/1 var(--ff-h);letter-spacing:.08em;white-space:nowrap}
.kgm-edge:active{filter:brightness(1.1)}
.mobile-menu.kgm .kgm-edge{opacity:0;transition:opacity .4s}
.nav-open .mobile-menu.kgm .kgm-edge{opacity:1;transition-delay:.35s}
.kgm-search.is-active~.kgm-edge,.kgm-stage:has(.kgm-search.is-active)+.kgm-edge{opacity:0!important;pointer-events:none}
/* scroll lock while open */
html.nav-open,html.nav-open body{overflow:hidden!important;overscroll-behavior:none}
@media (prefers-reduced-motion:reduce){.kgm-panel,.kgm-root .kgm-list li,.kgm-foot,.kgm-edge{transition:none!important}}

/* f23-content.css */
/* v2.3 content features: Google reviews widget + case studies (owner: content helper).
   Krishva palette and tokens only (site.css vars). No sticky, no pins. */

/* ---------- Reviews: badge ---------- */
.rvw-head{display:flex;justify-content:center;margin-top:clamp(18px,3vw,28px)}
.rvw-badge{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:10px 12px;max-width:100%;padding:12px 20px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);backdrop-filter:blur(10px);color:var(--ink);font-size:.95rem;line-height:1.3;text-align:center;transition:border-color .3s,transform .4s var(--ease),box-shadow .4s}
a.rvw-badge:hover{border-color:rgba(255,0,200,.55);transform:translateY(-2px);box-shadow:0 14px 40px -18px rgba(255,0,200,.6)}
.rvw-badge .rvw-g{width:22px;height:22px;flex:none}
.rvw-badge-stars{color:#ffc93c;letter-spacing:2px;font-size:.95rem}
.rvw-badge-txt b{font-family:var(--ff-h);font-weight:700}
.rvw-badge-arr{color:var(--magenta);font-weight:700}

/* ---------- Reviews: cards ---------- */
.rvw-card{position:relative;display:flex;flex-direction:column;gap:14px;min-width:0;padding:clamp(22px,2.4vw,30px);border-radius:var(--r);border:1px solid var(--line);background:var(--glass);transition:border-color .35s,transform .5s var(--ease)}
.rvw-card:hover{border-color:var(--line2)}
.rvw-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rvw-stars{color:#ffc93c;letter-spacing:2px;font-size:1rem;line-height:1}
.rvw-stars i{font-style:normal;color:var(--line2)}
.rvw-src{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--muted);white-space:nowrap}
.rvw-src .rvw-g{width:16px;height:16px;flex:none}
.rvw-text{margin:0;color:var(--ink2);font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
.rvw-text p{margin:0}
.js .rvw-text.is-long{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;line-clamp:6;overflow:hidden}
.js .rvw-text.is-long.open{display:block;-webkit-line-clamp:unset;overflow:visible}
.rvw-more{display:none;align-self:flex-start;padding:0;border:0;background:none;color:var(--magenta);font-weight:600;font-size:.9rem;cursor:pointer}
.js .rvw-more{display:inline-block}
.rvw-more:hover{text-decoration:underline}
.rvw-who{margin-top:auto;display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding-top:6px}
.rvw-av{width:44px;height:44px;flex:none;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--grad2);color:#fff;font:700 1rem/1 var(--ff-h)}
.rvw-name{display:flex;flex-direction:column;min-width:0;flex:1 1 120px}
.rvw-name b{font-weight:600;overflow-wrap:anywhere}
.rvw-name small{color:var(--muted);font-size:.8rem}
.rvw-link{font-size:.82rem;color:var(--muted);white-space:nowrap}
.rvw-link:hover{color:var(--ink)}

/* /reviews grid */
.rvw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
@media (max-width:1080px){.rvw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.rvw-grid{grid-template-columns:minmax(0,1fr)}}

/* home / service carousel (native scroll-snap, no library) */
.rvw-sec{padding-top:0}
.rvw-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.rvw-bar-t{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;letter-spacing:.04em;color:var(--ink2)}
.rvw-bar-t .rvw-g{width:18px;height:18px}
.rvw-nav{display:flex;gap:8px}
.rvw-nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line2);background:var(--glass);color:var(--ink);font-size:1.1rem;cursor:pointer;display:grid;place-items:center;transition:background .3s,border-color .3s,opacity .3s}
.rvw-nav button:hover:not(:disabled){background:var(--grad);border-color:transparent;color:#fff}
.rvw-nav button:disabled{opacity:.35;cursor:default}
.rvw-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,calc((100% - 32px)/3));gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:4px 2px 14px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y}
.rvw-track::-webkit-scrollbar{height:6px}.rvw-track::-webkit-scrollbar-thumb{background:var(--line2);border-radius:6px}
.rvw-track>.rvw-card{scroll-snap-align:start}
.rvw-track:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
@media (max-width:1080px){.rvw-track{grid-auto-columns:minmax(0,calc((100% - 16px)/2))}}
@media (max-width:760px){.rvw-track{grid-auto-columns:86%;gap:12px}.rvw-nav{display:none}}
@media (prefers-reduced-motion:reduce){.rvw-track{scroll-behavior:auto}.rvw-card,.rvw-badge{transition:none}}

/* ---------- Case studies ---------- */
.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cs-grid.cs-n1{grid-template-columns:minmax(0,1fr);max-width:760px}
.cs-grid.cs-n2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:1080px){.cs-grid,.cs-grid.cs-n2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.cs-grid,.cs-grid.cs-n2{grid-template-columns:minmax(0,1fr)}}
.cs-card{display:flex;flex-direction:column;min-width:0;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);overflow:hidden;transition:border-color .35s,transform .5s var(--ease),box-shadow .5s}
.cs-card[hidden]{display:none}
.cs-card:hover{border-color:rgba(255,0,200,.45);transform:translateY(-4px);box-shadow:var(--shadow)}
.cs-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg2)}
.cs-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.cs-card:hover .cs-img img{transform:scale(1.04)}
.cs-img-ph{position:absolute;inset:0;background:radial-gradient(120% 90% at 20% 10%,rgba(123,0,255,.45),transparent 60%),radial-gradient(90% 80% at 90% 90%,rgba(255,0,200,.35),transparent 60%),var(--bg2)}
.cs-flag{position:absolute;top:12px;left:12px;padding:5px 11px;border-radius:999px;background:var(--grad);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.cs-body{display:flex;flex-direction:column;gap:10px;padding:clamp(18px,2.2vw,26px);flex:1;min-width:0}
.cs-meta{font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.cs-body h3{margin:0;font-size:clamp(1.05rem,1.5vw,1.3rem);overflow-wrap:anywhere}
.cs-body p{margin:0;color:var(--ink2);font-size:.96rem}
.cs-foot{margin-top:auto;padding-top:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.86rem}
.cs-client{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cs-go{font-weight:600;white-space:nowrap;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.cs-filters{margin-bottom:24px}
.cs-filters button{max-width:100%;white-space:normal;text-align:left}
.cs-empty{max-width:760px;padding:clamp(24px,4vw,44px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass)}
.cs-empty .lead{margin:0 0 22px}
.cs-teaser .sec-head p{margin:0}

/* detail */
.cs-hero .lead{margin-bottom:0}
.cs-facts{display:flex;flex-wrap:wrap;gap:12px 36px;margin:clamp(22px,3vw,34px) 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.cs-facts div{min-width:0}
.cs-facts dt{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.cs-facts dd{margin:0;font-weight:600}
.cs-facts-svc dd{display:flex;flex-wrap:wrap;gap:8px;font-weight:400}
.cs-facts-svc .chip{white-space:normal}
.cs-facts-svc .chip:hover{border-color:rgba(255,0,200,.5);color:var(--ink)}
.cs-cover{margin:clamp(18px,3vw,30px) 0 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--bg2);position:relative}
.cs-cover img{width:100%;height:auto;max-height:78vh;object-fit:cover}
.cs-cover figcaption{position:absolute;left:14px;top:14px;padding:6px 12px;border-radius:999px;background:rgba(3,3,10,.6);color:#fff;font-size:.75rem;backdrop-filter:blur(8px)}
.cs-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cs-steps.cs-n2{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-steps.cs-n1{grid-template-columns:minmax(0,1fr);max-width:860px}
@media (max-width:960px){.cs-steps,.cs-steps.cs-n2{grid-template-columns:minmax(0,1fr)}}
.cs-step{padding:clamp(22px,2.6vw,34px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);min-width:0}
.cs-step.is-results{background:linear-gradient(160deg,rgba(123,0,255,.16),rgba(255,0,200,.08)),var(--glass);border-color:rgba(255,0,200,.3)}
.cs-step-n{display:block;font:700 .9rem/1 var(--ff-h);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}
.cs-step h2{font-size:clamp(1.25rem,2vw,1.7rem);margin:0 0 12px}
.cs-step-txt{color:var(--ink2);line-height:1.7;overflow-wrap:anywhere}
.cs-ba .ba{margin:0}
.cs-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cs-gallery.cs-g1{grid-template-columns:minmax(0,1fr)}.cs-gallery.cs-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:760px){.cs-gallery,.cs-gallery.cs-g2{grid-template-columns:repeat(2,minmax(0,1fr))}.cs-gallery.cs-g1{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.cs-gallery,.cs-gallery.cs-g2{grid-template-columns:minmax(0,1fr)}}
.cs-gallery figure{margin:0;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:var(--bg2)}
.cs-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}
html[data-theme=light] .cs-flag,html[data-theme=light] .cs-cover figcaption{color:#fff}
@media (prefers-reduced-motion:reduce){.cs-card,.cs-img img{transition:none}.cs-card:hover{transform:none}.cs-card:hover .cs-img img{transform:none}}
.rvw-nav[hidden]{display:none}
@media (max-width:640px){.rvw-badge{border-radius:var(--r);padding:12px 16px}}

/* f23-booking.css */
/* v2.3 booking calendar (owner: booking helper). Krishva palette only; no sticky. */
.bk-section{padding-top:10px}
.bk-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,4.5vw,64px);align-items:start}
.bk-grid > *{min-width:0}
.bk-facts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.bk-facts span{padding:7px 13px;border-radius:999px;border:1px solid var(--line2);font-size:.82rem;color:var(--ink2)}
.bk-card{position:relative;overflow:hidden}
.bk-steps{display:flex;gap:6px;margin:0 0 18px;flex-wrap:wrap}
.bk-steps span{flex:1 1 0;min-width:0;text-align:center;padding:8px 6px;border-radius:999px;font-size:.76rem;font-weight:600;letter-spacing:.02em;color:var(--muted);border:1px solid var(--line);white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.bk-steps span.is-on{background:var(--grad);color:#fff;border-color:transparent}
.bk-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px}
.bk-title{font-family:var(--ff-h);font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.2;margin:0}
.bk-month{color:var(--muted);font-size:.88rem}
.bk-cal{width:100%}
.bk-dow,.bk-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.bk-dow{margin:0 0 6px}
.bk-dow span{text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.bk-days .bk-loading{grid-column:1/-1;color:var(--muted);padding:24px 0;text-align:center;margin:0}
.bk-day{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;height:54px;min-height:40px;padding:0;border-radius:12px;border:1px solid var(--line2);background:rgba(123,0,255,.08);color:var(--ink);font:600 .98rem/1 var(--ff);cursor:pointer;transition:transform .2s,border-color .2s,background .2s}
.bk-day:hover:not(:disabled){border-color:rgba(255,0,200,.65);transform:translateY(-1px)}
.bk-day:focus-visible,.bk-slot:focus-visible,.bk-link-btn:focus-visible{outline:2px solid #ff00c8;outline-offset:2px}
.bk-day.is-off{background:transparent;border-color:var(--line);color:var(--muted);opacity:.45;cursor:default}
.bk-day.is-today .bk-dn{text-decoration:underline;text-underline-offset:3px}
.bk-day.is-sel{background:var(--grad);border-color:transparent;color:#fff}
.bk-dm{font-size:.6rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;opacity:.85}
.bk-dot{position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:#ff00c8}
.bk-day.is-sel .bk-dot{background:#fff}
.bk-tz{margin:14px 0 0;font-size:.85rem;color:var(--muted)}
.bk-tz b{color:var(--ink2);font-weight:600}
.bk-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.bk-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;padding:10px 8px;border-radius:14px;border:1px solid var(--line2);background:rgba(123,0,255,.08);color:var(--ink);cursor:pointer;font:600 1rem/1.1 var(--ff);transition:border-color .2s,background .2s,transform .2s}
.bk-slot small{font-size:.72rem;font-weight:500;color:var(--muted)}
.bk-slot:hover{border-color:rgba(255,0,200,.65);transform:translateY(-1px)}
.bk-slot.is-sel{background:var(--grad);color:#fff;border-color:transparent}
.bk-slot.is-sel small{color:rgba(255,255,255,.85)}
.bk-link-btn{background:none;border:0;padding:6px 0;color:var(--ink2);font:600 .88rem/1.2 var(--ff);cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,0,200,.6)}
.bk-link-btn:hover{color:#ff00c8}
.bk-picked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;margin:0 0 18px;border-radius:16px;border:1px solid rgba(255,0,200,.35);background:linear-gradient(120deg,rgba(123,0,255,.16),rgba(255,0,200,.08))}
.bk-picked > div{display:flex;flex-direction:column;gap:3px;min-width:0}
.bk-picked small{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.bk-picked b{font-family:var(--ff-h);font-size:1rem;line-height:1.3}
.bk-picked span{font-size:.8rem;color:var(--muted);overflow-wrap:anywhere}
.bk-form label{display:grid;gap:8px;font-weight:600;font-size:.9rem}
.bk-error{padding:12px 14px;border-radius:12px;background:rgba(255,61,110,.12);border:1px solid rgba(255,61,110,.4);color:#ffc4d3;font-size:.9rem;margin:0}
html[data-theme=light] .bk-error{color:#9b1239;background:#fff0f4}
.bk-submit{width:100%}
.bk-submit.is-busy{opacity:.7;pointer-events:none}
.bk-muted{color:var(--muted);font-size:.86rem;margin:14px 0 0}
.bk-fine{margin:0;font-size:.8rem}
.bk-done,.bk-fallback{text-align:left}
.bk-done:focus,.bk-fallback:focus{outline:none}
.bk-check{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--grad);color:#fff;margin:0 0 16px;box-shadow:0 14px 40px -14px rgba(255,0,200,.7)}
.bk-when{font-family:var(--ff-h);font-size:clamp(1.1rem,2.4vw,1.5rem);line-height:1.25;margin:10px 0 6px}
.bk-sub{color:var(--muted);margin:0 0 18px;overflow-wrap:anywhere}
.bk-sub span{color:var(--ink2)}
.bk-actions{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 0}
.bk-actions .btn{flex:0 1 auto}
.bk-btn-line{color:var(--ink)}
.bk-status{display:inline-block;padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.02em;background:rgba(123,0,255,.16);color:var(--ink)}
.bk-status-confirmed{background:var(--grad);color:#fff}
.bk-status-cancelled{background:rgba(255,61,110,.14);color:#ff7a9c}
html[data-theme=light] .bk-status-cancelled{color:#b0123f}
.bk-manage{max-width:720px}
.bk-cancel{margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.bk-cancel .bk-muted{margin:0 0 4px}
.bk-notice{margin:0 0 18px}
html[data-theme=light] .bk-day,html[data-theme=light] .bk-slot{background:#fff}
html[data-theme=light] .bk-day.is-off{background:transparent}
html[data-theme=light] .bk-day.is-sel,html[data-theme=light] .bk-slot.is-sel{background:var(--grad)}
html[data-theme=light] .bk-picked{background:linear-gradient(120deg,rgba(123,0,255,.08),rgba(255,0,200,.05))}
@media (max-width:980px){
  .bk-grid{grid-template-columns:1fr}
  .bk-app{order:-1}
}
@media (max-width:640px){
  .bk-card.form-card{padding:20px 16px}
  .bk-dow,.bk-days{gap:5px}
  .bk-day{border-radius:10px;font-size:.92rem;min-height:38px;height:auto;aspect-ratio:1/1}
  .bk-dm{font-size:.54rem}
  .bk-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .bk-slot{min-height:52px;padding:8px 4px;font-size:.95rem}
  .bk-steps span{font-size:.7rem;padding:7px 4px}
  .bk-actions .btn{flex:1 1 100%}
  .bk-picked{padding:12px 14px}
}
@media (max-width:370px){
  .bk-dow span{font-size:.62rem;letter-spacing:0}
  .bk-dow,.bk-days{gap:4px}
  .bk-day{font-size:.85rem;border-radius:9px}
  .bk-slot{font-size:.88rem}
}
.bk-app [hidden],.bk-app[hidden]{display:none!important}

/* f23-tools.css */
/* v2.3 tools: instant website audit + public proposal view (Krishva palette, dark + light) */
.aud-section [hidden],.aud-section[hidden]{display:none!important}
.aud-opt{font-weight:400;color:var(--muted);font-size:.85em}
.aud-either{margin:-4px 0 4px}
.aud-what{display:grid;gap:16px}
.aud-what-g b{display:block;font:600 .78rem/1.2 var(--ff-h);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.aud-progress{display:flex;align-items:center;gap:18px;padding:28px 6px;min-height:180px}
.aud-progress p{margin:0;display:grid;gap:4px}
.aud-progress p span{color:var(--muted);font-size:.95rem}
.aud-spin{flex:0 0 54px;width:54px;height:54px;border-radius:50%;background:conic-gradient(#7b00ff,#ff4b9a,#ff00c8,transparent 75%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));mask:radial-gradient(farthest-side,transparent calc(100% - 6px),#000 calc(100% - 5px));animation:audspin .9s linear infinite}
@keyframes audspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.aud-spin{animation-duration:3s}}
.aud-offline{display:grid;gap:10px;padding:8px 2px}
.aud-offline p{margin:0;color:var(--muted)}
.aud-offline .btn{justify-self:start}
.aud-result{overflow:hidden}
.aud-head{align-items:center}
.aud-head-text{min-width:0}
.aud-host{font-size:clamp(1.5rem,3vw,2.5rem);overflow-wrap:anywhere;margin:.15em 0 .3em}
.aud-stats{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aud-stats li{border:1px solid var(--line);background:var(--glass);border-radius:14px;padding:12px 14px;min-width:0}
.aud-stats b{display:block;font:700 1.15rem/1.15 var(--ff-h);letter-spacing:-.02em;white-space:nowrap}
.aud-stats span{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}
.aud-cats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:34px 0 6px}
.aud-cat{display:grid;gap:8px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:inherit;text-decoration:none;min-width:0;transition:border-color .25s}
.aud-cat:hover{border-color:var(--line2)}
.aud-cat-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:600;font-size:.92rem;min-width:0}
.aud-cat-top>span{min-width:0;overflow-wrap:anywhere}
.aud-cat-top b{font:700 1.25rem/1 var(--ff-h)}
.aud-bar{display:block;height:7px;border-radius:9px;background:var(--line2);overflow:hidden}
.aud-bar i{display:block;height:100%;border-radius:9px}
.aud-cat small{color:var(--muted);font-size:.78rem;line-height:1.35}
.aud-actions{margin:26px 0 4px;flex-wrap:wrap}
.aud-group{scroll-margin-top:110px}
.aud-group h3{margin:36px 0 14px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.aud-group h3 .muted{font-size:.8em;font-weight:500}
.aud-result .checks li span{overflow-wrap:anywhere}
.aud-tag{font-style:normal;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:99px;margin-left:6px;vertical-align:2px;white-space:nowrap}
.aud-tag.aud-pass{background:rgba(31,174,84,.16);color:#1fae54}
.aud-tag.aud-warn{background:rgba(245,165,36,.16);color:#c98100}
.aud-tag.aud-fail{background:rgba(255,45,122,.15);color:#ff2d7a}
html:not([data-theme=light]) .aud-tag.aud-warn{color:#f5a524}
.aud-note{margin-top:26px}
.aud-again{margin:22px 0 0;text-align:center}
@media (max-width:1080px){.aud-cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){
  .aud-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .aud-stats li{padding:10px}
  .aud-stats b{font-size:.98rem}
  .aud-stats span{font-size:.72rem}
  .aud-cats{grid-template-columns:1fr 1fr;gap:10px}
  .aud-cat{padding:12px 14px}
  .aud-cat-top{flex-direction:column-reverse;align-items:flex-start;gap:4px}
  .aud-cat-top b{font-size:1.4rem}
  .aud-cat:last-child:nth-child(odd){grid-column:1/-1}
  .aud-head-text{text-align:center}
  .aud-actions{justify-content:center}
  .aud-actions .btn{flex:1 1 100%;justify-content:center}
  .aud-result .checks li{padding:14px}
}
/* Public proposal view (proposal.php) */
.prop-view{max-width:980px;margin:0 auto}
.prop-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0}
.prop-meta div{border:1px solid var(--line);background:var(--glass);border-radius:14px;padding:12px 16px;min-width:0}
.prop-meta span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em}
.prop-meta b{display:block;margin-top:4px;overflow-wrap:anywhere}
.prop-items{width:100%;border-collapse:collapse;margin:8px 0 0}
.prop-items th{font:600 .74rem/1.2 var(--ff-h);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--line2)}
.prop-items td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prop-items td.num,.prop-items th.num{text-align:right;white-space:nowrap}
.prop-items small{display:block;color:var(--muted);margin-top:4px;line-height:1.45}
.prop-totals{margin:18px 0 0 auto;max-width:360px;display:grid;gap:8px}
.prop-totals div{display:flex;justify-content:space-between;gap:16px}
.prop-totals .grand{border-top:1px solid var(--line2);padding-top:12px;font:700 1.25rem/1.2 var(--ff-h)}
.prop-notes{margin-top:28px;white-space:pre-line;color:var(--ink2)}
.prop-status{display:inline-block;padding:3px 12px;border-radius:99px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--glass2);border:1px solid var(--line2)}
@media (max-width:640px){
  .prop-meta{grid-template-columns:1fr}
  .prop-items thead{display:none}
  .prop-items,.prop-items tbody,.prop-items tr,.prop-items td{display:block;width:100%}
  .prop-items tr{border-bottom:1px solid var(--line);padding:12px 0}
  .prop-items td{border:0;padding:3px 0}
  .prop-items td.num{text-align:left}
  .prop-items td[data-l]::before{content:attr(data-l) ": ";color:var(--muted);font-size:.85rem}
  .prop-totals{max-width:none}
}

/* Saved audit report page (audit-report.php) + print stylesheet */
.aud-report-top{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:22px}
.aud-report-top .hero-actions{margin:0}
.aud-print-only{display:none}
@media (max-width:640px){.aud-report-top .hero-actions{width:100%}.aud-report-top .hero-actions .btn{flex:1 1 0;justify-content:center}}
@media print{
  html,body{background:#fff!important;color:#111!important}
  header,footer,nav,.site-header,.site-footer,.mobile-menu,.wa-float,#kgFab,.kgm-edge,.aud-print-hide,.cta-band,[class*="newsletter"],[class*="cookie"],.scroll-progress,.cursor,.noise,.grain{display:none!important}
  .aud-report{padding-top:0!important}
  .aud-result{border:0!important;box-shadow:none!important;background:#fff!important;padding:0!important}
  .aud-result *{color:#111!important}
  .aud-result .muted,.aud-result small,.aud-result .checks li span{color:#444!important}
  .aud-cat,.aud-stats li,.checks li{background:#fff!important;border-color:#ddd!important;break-inside:avoid}
  .score-ring::before{background:#fff!important}
  .aud-bar{background:#eee!important}
  .aud-group{break-inside:auto}
  .aud-print-only{display:block;margin-top:18px;font-size:.8rem;color:#444!important}
  [data-reveal]{opacity:1!important;transform:none!important}
  a[href]::after{content:none!important}
}

html[data-theme=light] .aud-result .score-ring{background:conic-gradient(var(--sc,#ff00c8) calc(var(--s)*1%),rgba(20,10,60,.1) 0)}
@media (max-width:1080px){.aud-grid>.form-card{order:-1}}

/* f23-blog.css */
/* v2.3 blog features: newsletter forms, popup-lite, blog TOC + preview bar (owner: blog helper) */
.kg-nl{position:relative;display:grid;gap:18px 40px;align-items:center;border:1px solid var(--line);border-radius:var(--r);background:var(--glass);padding:clamp(20px,3vw,32px);isolation:isolate;overflow:hidden}
.kg-nl::before{content:"";position:absolute;inset:auto -10% -60% auto;width:340px;height:340px;background:radial-gradient(closest-side,rgba(123,0,255,.28),transparent);z-index:-1;pointer-events:none}
.kg-nl .eyebrow{margin-bottom:8px}
.kg-nl-title{font-family:var(--ff-h);font-weight:600;font-size:clamp(1.15rem,2vw,1.5rem);line-height:1.25;margin:0;color:var(--ink);letter-spacing:-.01em}
.kg-nl-sub{margin:8px 0 0;color:var(--muted);font-size:.95rem;line-height:1.55}
.kg-nl-form{display:grid;gap:10px;min-width:0}
.kg-nl-row{display:flex;gap:10px;min-width:0}
.kg-nl-row input{flex:1 1 auto;min-width:0;min-height:52px;padding:0 18px;border-radius:999px;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:var(--ink);font:inherit;font-size:1rem;transition:border-color .25s,box-shadow .25s}
.kg-nl-row input::placeholder{color:var(--muted);opacity:.8}
.kg-nl-row input:focus{outline:none;border-color:var(--pink);box-shadow:0 0 0 4px rgba(255,0,200,.15)}
.kg-nl-row .btn{flex:0 0 auto;min-height:52px;white-space:nowrap}
.kg-nl-consent{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;line-height:1.45;color:var(--muted);cursor:pointer;margin:0}
.kg-nl-consent input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#ff00c8}
.kg-nl-consent a{color:var(--ink2);text-decoration:underline;text-underline-offset:2px}
.kg-nl-msg{margin:0;font-size:.9rem;line-height:1.45;min-height:0}
.kg-nl-msg:empty{display:none}
.kg-nl-msg.is-ok{color:#7ef0b0}.kg-nl-msg.is-err{color:#ff8fbf}.kg-nl-msg.is-info{color:var(--ink2)}
html[data-theme=light] .kg-nl-msg.is-ok{color:#08793f}html[data-theme=light] .kg-nl-msg.is-err{color:#b0005f}
.kg-nl-form.is-done .kg-nl-row,.kg-nl-form.is-done .kg-nl-consent{display:none}
.kg-nl-form.is-busy button{opacity:.7;pointer-events:none}
html[data-theme=light] .kg-nl{background:rgba(255,255,255,.7)}
html[data-theme=light] .kg-nl-row input{background:#fff}
/* footer band: one slim row on desktop */
.kg-nl--footer{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);margin-top:clamp(36px,5vw,56px)}
.kg-nl--footer .kg-nl-sub{font-size:.88rem}
/* blog list + after a post */
.kg-nl-blog-wrap{margin-top:clamp(40px,6vw,70px)}
.kg-nl--blog,.kg-nl--page{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.kg-nl--post{margin-top:36px;grid-template-columns:1fr;font-size:1rem}
.prose .kg-nl-title{margin:0}.prose .kg-nl a{color:var(--ink2)}
.prose .kg-nl p.kg-nl-sub{margin:8px 0 0}
.kg-nl--page{margin-top:30px}
@media (max-width:900px){.kg-nl--footer,.kg-nl--blog,.kg-nl--page{grid-template-columns:1fr}}
@media (max-width:420px){.kg-nl-row{flex-direction:column}.kg-nl-row .btn{width:100%;justify-content:center}}
/* newsletter page */
.kg-nl-page{padding:clamp(140px,16vw,200px) 0 clamp(60px,8vw,100px);position:relative;isolation:isolate}
.kg-nl-page::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(50% 70% at 50% 0%,rgba(123,0,255,.3),transparent 70%)}
.kg-nl-page h1{font-size:clamp(2rem,5vw,3.6rem);margin:12px 0 14px}
.kg-nl-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
/* popup-lite: small card, bottom-left on desktop, above the contact button on phones */
.kg-nl-pop{position:fixed;left:24px;bottom:24px;z-index:80;width:min(400px,calc(100vw - 48px));max-height:calc(100vh - 120px);overflow:auto;border-radius:var(--r);background:linear-gradient(160deg,#120a2e,#080a20);border:1px solid rgba(255,255,255,.12);box-shadow:0 30px 70px -20px rgba(0,0,0,.7),0 0 0 1px rgba(123,0,255,.15);opacity:0;transform:translateY(16px);transition:opacity .35s var(--ease),transform .35s var(--ease)}
.kg-nl-pop[hidden]{display:none}
.kg-nl-pop.show{opacity:1;transform:none}
html .kg-nl-pop .kg-nl,html[data-theme=light] .kg-nl-pop .kg-nl{border:0;background:transparent;padding:24px 22px 20px;gap:14px;grid-template-columns:1fr;color:#f5f3ff}
.kg-nl-pop .kg-nl-title{font-size:1.15rem;padding-right:28px;color:#fff}
html .kg-nl-pop .kg-nl-row input,html[data-theme=light] .kg-nl-pop .kg-nl-row input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.kg-nl-pop .eyebrow{color:#d9d6f0}
.kg-nl-pop .kg-nl-consent{color:#a9a6c9}.kg-nl-pop .kg-nl-consent a{color:#d9d6f0}
html .kg-nl-pop .kg-nl-msg.is-ok{color:#7ef0b0}html .kg-nl-pop .kg-nl-msg.is-err{color:#ff8fbf}html .kg-nl-pop .kg-nl-msg.is-info{color:#d9d6f0}
.kg-nl-pop-x{position:absolute;top:10px;right:10px;z-index:2;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;display:grid;place-items:center}
.kg-nl-pop-x:hover{background:rgba(255,255,255,.14)}
.nav-open .kg-nl-pop{display:none}
@media (max-width:1080px){
 .kg-nl-pop{left:12px;right:12px;width:auto;bottom:calc(78px + env(safe-area-inset-bottom));max-height:calc(100vh - 170px)}
 .kg-nl-pop .kg-nl{padding:20px 18px 16px}
}
/* blog: mobile table of contents (collapsible, never sticky) */
.kg-toc-m{display:none}
.kg-toc-d{display:grid;gap:14px}
.kg-toc-d .kg-toc{max-height:calc(100vh - 380px);overflow:auto;overscroll-behavior:contain}
@media (max-width:1080px){
 .kg-toc-m{display:block;margin:0 0 28px;border:1px solid var(--line2);border-radius:18px;background:var(--glass);font-size:1rem;line-height:1.5}
 .kg-toc-m summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;font-weight:600;color:var(--ink)}
 .kg-toc-m summary::-webkit-details-marker{display:none}
 .kg-toc-m summary small{margin-left:auto;color:var(--muted);font-weight:400;font-size:.82rem}
 .kg-toc-m summary i{width:10px;height:10px;border-right:2px solid var(--pink);border-bottom:2px solid var(--pink);transform:rotate(45deg) translateY(-3px);transition:transform .25s;flex:0 0 auto}
 .kg-toc-m[open] summary i{transform:rotate(-135deg) translateY(-2px)}
 .kg-toc-m .kg-toc{padding:0 18px 14px;display:grid}
 .kg-toc-m .kg-toc a{display:block;padding:8px 0 8px 12px;border-left:2px solid var(--line2);color:var(--muted);text-decoration:none;font-size:.95rem}
 .kg-toc-d{display:none}
}
.kg-toc a.l3{padding-left:24px;font-size:.88rem}
.kg-toc a.on{color:var(--ink);border-color:var(--pink)}
.prose h2[id],.prose h3[id]{scroll-margin-top:110px}
/* admin preview bar on draft/scheduled posts */
.kg-blog-preview-bar{position:relative;z-index:5;margin:96px auto 0;width:min(var(--maxw),calc(100% - 2*var(--pad)));padding:12px 18px;border-radius:14px;border:1px dashed var(--pink);background:rgba(255,0,200,.08);color:var(--ink);font-size:.92rem}
.kg-blog-preview-bar a{color:var(--pink);text-decoration:underline}
.kg-blog-preview-bar+.kg-post .article-hero{padding-top:40px}

/* responsive-v23.css */
/* v2.3 responsive pass: phones 320-430, tablets 768-1024, desktops 1280-1920 */

/* ---- install prompt (#kgInstall): tidy bottom card on phones, above the contact FAB ---- */
@media (max-width:699px){
 .kg-install{left:12px;right:12px;width:auto;max-width:none;transform:translateY(calc(100% + 120px));bottom:calc(78px + env(safe-area-inset-bottom));border-radius:18px;padding:12px 10px 12px 16px;gap:10px;font-size:.88rem;line-height:1.35}
 .kg-install.show{transform:none}
 .kg-install span{flex:1 1 auto;min-width:0}
 .kg-install button{flex:0 0 auto;white-space:nowrap}
}
@media (min-width:700px){.kg-install{white-space:nowrap}}
.kg-install[hidden]{display:none!important}

/* ---- contact quick-links (about + contact): long email must wrap inside its card on small phones ---- */
.quick,.quick a{min-width:0}
.quick a>span{min-width:0;flex:1 1 auto}
.quick a b{overflow-wrap:anywhere;word-break:break-word}
@media (max-width:380px){.quick a{padding:16px;gap:12px}.quick a i{width:42px;height:42px;border-radius:12px}.quick a b{font-size:.95rem}}

/* ---- KPI tiles: never wider than the column on small phones ---- */
@media (max-width:1080px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{min-width:0}.kpi span{overflow-wrap:anywhere}}
@media (max-width:380px){.kpis{gap:10px}.kpi{padding:16px 14px}.kpi b{font-size:1.7rem}.kpi span{font-size:.82rem}}

/* ---- blog search: input may shrink so the button never leaves the screen (320 px) ---- */
.blog-tools form{min-width:0;flex:1 1 240px}
.blog-tools input{min-width:0;width:100%}
.blog-tools .icon-btn{flex:none}
/* ---- growth calculator: single column may not grow past the screen (min-content of the goals fieldset) ---- */
@media (max-width:900px){.growth{grid-template-columns:minmax(0,1fr)}.growth>*,.growth fieldset,.growth-goals{min-width:0}}
@media (max-width:900px){.growth-out{grid-template-columns:minmax(0,1fr)}.growth-out>*,.growth-out .form>*{min-width:0}.growth-out .form{grid-template-columns:minmax(0,1fr)}.growth-out .hero-actions{flex-wrap:wrap}.growth-out .hero-actions .btn{max-width:100%;white-space:normal;text-align:center}}
/* growth calculator bars: long service names wrap, the share/amount stays on one line */
.growth-bars,.gbar{grid-template-columns:minmax(0,1fr)}
.gbar-top a{min-width:0}.gbar-top a b{white-space:normal}
.gbar-top>span{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ---- booking slots: times stay on one line on the smallest phones ---- */
@media (max-width:380px){.bk-slots{gap:6px}.bk-slot{padding:9px 4px;font-size:.86rem;white-space:nowrap}.bk-slot small{font-size:.66rem;white-space:nowrap}}

/* ---- pricing "jump to service" pills: one tidy line each, swipe sideways (were wrapping into tall ovals on phones) ---- */
.price-tabs .cat-pills{flex-wrap:nowrap}
.price-tabs .cat-pills a{flex:0 0 auto;white-space:nowrap}

/* ---- how-we-work service chips: long names may wrap, but as a neat rounded tag, not an oval ---- */
@media (max-width:860px){.v3-qa-links .chip{border-radius:14px;line-height:1.35;text-wrap:balance;max-width:100%}}
/* ---- services filter buttons at 320-360: keep label + count on one line ---- */
@media (max-width:360px){.filters button{padding:10px 13px;font-size:.84rem}.filters button small{white-space:nowrap}}

/* ==== v2.3 textfit: final text-fit pass (headings, buttons, long words) ==== */
/* balanced headings: no single short word left alone on the last line of a title */
h1,h2,.h1,.h2,.hero-title{text-wrap:balance;hyphens:manual}
h3,h4{text-wrap:balance;hyphens:manual}
p,li,blockquote,figcaption{text-wrap:pretty}
/* safety net: a word wider than its box breaks instead of being cut off */
h1,h2,h3,h4{overflow-wrap:break-word}
/* home hero "Get Found. / Get Chosen. / Get Paid." - each beat stays on one line at 320 */
@media (max-width:420px){.hero h1.h1-beats{font-size:min(2.7rem,12vw)}}
/* inner-page hero titles with long words (e.g. "procurement") at 320 */
@media (max-width:359px){.page-hero h1{font-size:min(2.3rem,10.6vw)}}
/* service cards: "E-commerce Development (Shopify & WooCommerce)" fits narrow cards */
@media (max-width:480px){.svc-card h3{font-size:min(1.45rem,5.9vw)}}
/* buttons on phones: a long label wraps onto a tidy 2nd line (arrow stays beside the text) instead of being cut off */
@media (max-width:480px){
  .btn,.button{white-space:normal;text-align:center;line-height:1.2;padding-top:10px;padding-bottom:10px;max-width:100%;text-wrap:balance}
  .btn .arr,.btn svg{flex:none}
  .sv3-rev-band>*,.sv3-rev-copy{min-width:0;max-width:100%}
}
@media (max-width:380px){.btn,.button{padding-left:18px;padding-right:18px;gap:8px}}
/* keep a short closing phrase together on tablet/desktop (e.g. "Krishva Growth.", "hear most.") */
@media (min-width:600px){.nw{white-space:nowrap}}
/* footer CTA title at 320: fewer, fuller lines */
@media (max-width:359px){.f-cta h2{font-size:min(2.2rem,9.4vw)}}
/* influencer illustration label: readable above the orbiting avatars on phones */
.v-inf .lbl{z-index:3;background:rgba(14,10,40,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media (max-width:480px){.v-inf .lbl{font-size:.6rem;padding:6px 9px;letter-spacing:.03em}}
/* h-stack service heroes (e.g. Influencer Marketing) at 761-1080: named grid areas left over from desktop created phantom columns and squeezed the illustration to 0 px */
@media (max-width:1080px){.svcp.h-stack .svc-hero-grid>div:last-child,.svcp.h-stack .svc-hero .h-top,.svcp.h-stack .svc-hero .h-copy{grid-area:auto}}
/* tablets / small laptops: hero titles run across the photo, so the photo scrim reaches further right (text over images stays readable) */
@media (min-width:761px) and (max-width:1180px){
  .page-hero.has-img::before,html[data-theme=light] .page-hero.has-img::before{background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 88%,transparent) 45%,color-mix(in srgb,var(--bg) 62%,transparent) 78%,color-mix(in srgb,var(--bg) 40%,transparent) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 45%)}
}
@media (min-width:1181px){
  .page-hero.has-img::before{background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 86%,transparent) 42%,color-mix(in srgb,var(--bg) 50%,transparent) 70%,color-mix(in srgb,var(--bg) 10%,transparent) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 38%),radial-gradient(50% 70% at 10% 30%,rgba(123,0,255,.35),transparent 65%)}
  html[data-theme=light] .page-hero.has-img::before{background:linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 90%,transparent) 45%,color-mix(in srgb,var(--bg) 55%,transparent) 75%,color-mix(in srgb,var(--bg) 15%,transparent) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 40%)}
}
/* inner-page hero titles on phones: a touch smaller so lines break into fuller, balanced lines ("Help patients / choose you / with confidence.") */
@media (max-width:480px){.page-hero h1{font-size:min(2.3rem,8.6vw)}}
.eyebrow{text-wrap:balance}
/* ==== end v2.3 textfit ==== */

/* fullwidth-v23.css */
/* v2.3 full-width desktop layout (>=1081px): no empty side bands on laptops/desktops.
   Phones and tablets (<=1080px) are untouched: every rule below sits inside a min-width:1081px query.
   Frame: side gutter --pad = clamp(28px, 3.6vw, 80px); content frame --maxw = 1840px
   (1280 -> 1188px wide, 1440 -> 1336, 1920 -> 1782, 2560 -> 1840 centred). */
@media (min-width:1081px){
  :root{--pad:clamp(28px,3.6vw,80px);--maxw:1840px}
  /* header pill follows the same frame as the sections (it sat in its own 1360px box) */
  .nav{width:max(min(100% - 28px,1360px),min(100% - var(--pad)*2 + 24px,var(--maxw) + 24px))}

  /* readable measure: long paragraphs keep ~65-75 characters, the section itself stays full width */
  .about-split p,.about-story p{max-width:68ch}
  main .container>p.muted,main .container>p.lead{max-width:80ch}


  /* auto-fill grids left empty tracks once the frame got wider (3 price cards used half the row);
     auto-fit lets the real cards share the row */
  .price-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  .quotes,.work-grid,.inc-grid,.industry-grid,.res-grid,.awards-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}

  /* blog post: reading column + sidebar use the full frame; text keeps its measure,
     cards (CTA, newsletter) use the whole column */
  .article-layout{grid-template-columns:minmax(0,1fr) clamp(300px,20vw,380px);gap:clamp(48px,4vw,88px)}
  .article-layout>.prose{max-width:none}
  .article-layout>.prose>:is(p,ul,ol,h2,h3,h4,blockquote,details,table,pre){max-width:76ch}
}
@media (min-width:1500px){
  /* grids that were 2-up get a column so cards don't balloon on wide screens */
  .sv3-why--rows .sv3-why-grid{grid-template-columns:repeat(3,1fr)}
  .sv3-ben--glow .sv3-ben-grid{grid-template-columns:repeat(4,1fr)}
  .deliv{grid-template-columns:repeat(3,1fr)}
  .article-layout>.prose{font-size:1.14rem}
}

/* v2.3 final: hero-badge clearance. The rotating seal keeps clear of the fixed chat/WhatsApp buttons, and its ring text fits the circle without the ends colliding. */
.hero-badge svg.ring text{letter-spacing:1.9px}
@media (min-width:1081px){.hero-badge{margin-right:170px}}

/* portfolio-v25.css */
/* Krishva v2.5 portfolio: cards, filters, project page, gallery lightbox. Palette: #03030a #080a20 #7b00ff #ff00c8 #4a4cff */
.pf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:clamp(16px,2vw,26px);margin-top:28px}
.pf-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1080px){.pf-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:680px){.pf-grid,.pf-grid--3{grid-template-columns:minmax(0,1fr)}}
@media (min-width:1900px){.pf-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}}
.pf-card{position:relative;display:flex;flex-direction:column;min-width:0;border-radius:var(--r);overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--line);color:inherit;text-decoration:none;isolation:isolate;transition:border-color .4s var(--ease),box-shadow .5s var(--ease),transform .5s var(--ease);animation:pfIn .7s var(--ease) backwards;animation-delay:calc(min(var(--i,0),8) * 45ms)}
.pf-card[hidden]{display:none}
.pf-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:var(--grad2);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .45s var(--ease);pointer-events:none;z-index:2}
.pf-card:hover,.pf-card:focus-visible{box-shadow:0 30px 70px -32px rgba(123,0,255,.6),0 10px 40px -30px rgba(255,0,200,.6)}
.pf-card:hover::before,.pf-card:focus-visible::before{opacity:1}
.pf-card:focus-visible{outline:2px solid #ff00c8;outline-offset:3px}
.pf-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--grad2)}
.pf-img img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.001);transition:transform 1.1s var(--ease),filter .6s var(--ease)}
.pf-card:hover .pf-img img{transform:scale(1.06)}
.pf-img::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(to top,rgba(3,3,10,.45),transparent);pointer-events:none;opacity:.7}
.pf-badge{position:absolute;top:12px;left:12px;z-index:3;display:inline-flex;align-items:center;gap:6px;padding:6px 11px 6px 9px;border-radius:999px;font:600 .66rem/1 var(--ff);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:rgba(8,10,32,.62);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pf-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--grad);box-shadow:0 0 10px #ff00c8}
.pf-badge--inline{position:static}
.pf-meta{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;flex:1}
.pf-kick{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);line-height:1.5}
.pf-kick i{font-style:normal;opacity:.6;margin:0 2px}
.pf-meta h3{margin:2px 0 0;font-family:var(--ff-h);font-size:clamp(1.05rem,1.3vw,1.3rem);line-height:1.2;overflow-wrap:anywhere}
.pf-meta p{margin:0;color:var(--ink2);font-size:.92rem;line-height:1.5}
.pf-more{margin-top:auto;padding-top:10px;font-size:.82rem;font-weight:600;color:var(--ink)}
.pf-more b{display:inline-block;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;transition:transform .4s var(--ease)}
.pf-card:hover .pf-more b{transform:translateX(5px)}
@keyframes pfIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
/* filters */
.pf-filters{display:grid;gap:16px;padding:clamp(16px,2.2vw,24px);border-radius:var(--r);border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.pf-f-row{display:flex;gap:12px 16px;align-items:flex-start;min-width:0}
.pf-f-row--2{align-items:center;flex-wrap:wrap}
.pf-f-label{flex:none;padding-top:9px;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.pf-chip{position:relative;cursor:pointer}
.pf-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pf-chip span{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--line2);font-size:.84rem;line-height:1.2;color:var(--ink2);background:rgba(255,255,255,.02);transition:background .3s,border-color .3s,color .3s}
.pf-chip:hover span{border-color:rgba(255,0,200,.5);color:var(--ink)}
.pf-chip input:checked+span{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 24px -12px rgba(255,0,200,.8)}
.pf-chip input:focus-visible+span{outline:2px solid #ff00c8;outline-offset:2px}
.pf-select{display:flex;align-items:center;gap:12px}
.pf-select .pf-f-label{padding-top:0}
.pf-select select{appearance:none;-webkit-appearance:none;min-width:220px;max-width:100%;padding:10px 40px 10px 14px;border-radius:999px;border:1px solid var(--line2);background:var(--bg2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23ff00c8' stroke-width='2'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 16px center;color:var(--ink);font:inherit;font-size:.9rem}
.pf-count{margin:0 0 0 auto;font-size:.85rem;color:var(--muted)}
.pf-reset{font-size:.85rem;font-weight:600;color:var(--ink);text-decoration:underline;text-decoration-color:#ff00c8;text-underline-offset:4px}
.pf-reset[hidden]{display:none}
.pf-none{margin:40px 0;text-align:center;color:var(--muted)}
.pf-none[hidden]{display:none}
@media (max-width:1080px){
  .pf-f-row:first-child{flex-direction:column;gap:8px}
  .pf-f-row:first-child .pf-f-label{padding-top:0}
  .pf-chips{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px;scrollbar-width:thin;-webkit-mask:linear-gradient(90deg,#000 88%,transparent);mask:linear-gradient(90deg,#000 88%,transparent);scroll-snap-type:x proximity}
  .pf-chip{flex:none;scroll-snap-align:start}
}
@media (max-width:560px){.pf-select{flex-direction:column;align-items:stretch;gap:6px;width:100%}.pf-select select{min-width:0;width:100%}.pf-count{margin:0}}
/* project page */
.pf-hero .pf-hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 16px}
.pf-tag{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--line2);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);text-decoration:none;transition:border-color .3s,color .3s}
a.pf-tag:hover{border-color:#ff00c8;color:var(--ink)}
.pf-sub{margin:10px 0 0;font-family:var(--ff-h);font-size:clamp(1rem,1.6vw,1.35rem);line-height:1.35;color:var(--ink2);max-width:52ch;text-wrap:balance}
.pf-facts{display:flex;flex-wrap:wrap;gap:14px 40px;margin:26px 0 0;padding:18px 0 0;border-top:1px solid var(--line)}
.pf-facts div{min-width:0}
.pf-facts dt{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.pf-facts dd{margin:4px 0 0;font-weight:600;overflow-wrap:anywhere}
.pf-facts dd a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,0,200,.6);text-underline-offset:3px}
.pf-cover{display:block;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--grad2);cursor:zoom-in}
.pf-cover img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.pf-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 28px;padding:14px 18px;border-radius:16px;border:1px dashed var(--line2);color:var(--ink2);font-size:.9rem;background:var(--glass)}
.pf-note span{color:#ff00c8}
.pf-h2{font-size:clamp(1.25rem,2.2vw,1.7rem);margin:0 0 16px}
.pf-deliv{margin-top:clamp(36px,5vw,64px)}
.pf-deliv ul{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.pf-deliv li{padding:10px 16px 10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--glass);font-size:.92rem;display:flex;gap:10px;align-items:center}
.pf-deliv li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--grad)}
.pf-gallery-wrap{margin-top:clamp(40px,5vw,70px)}
.pf-gal-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px}
.pf-gal-head .pf-h2{margin-bottom:8px}
.pf-gal-head p{margin:0 0 16px;font-size:.88rem}
.pf-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:clamp(12px,1.6vw,20px)}
.pf-gallery a{display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);cursor:zoom-in;background:var(--grad2)}
.pf-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;transition:transform .9s var(--ease)}
.pf-gallery a:hover img{transform:scale(1.04)}
.pf-gallery a:focus-visible,.pf-cover:focus-visible{outline:2px solid #ff00c8;outline-offset:3px}
/* lightbox */
.pf-lb{position:fixed;inset:0;z-index:2147483000;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:clamp(10px,3vw,40px);background:rgba(3,3,10,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s ease}
.pf-lb.is-open{opacity:1}
.pf-lb[hidden]{display:none}
.pf-lb figure{grid-column:2;margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;max-height:100%}
.pf-lb img{display:block;max-width:100%;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);width:auto;height:auto;border-radius:14px;box-shadow:0 40px 120px -40px rgba(123,0,255,.7);touch-action:pan-y}
.pf-lb figcaption{font-size:.82rem;color:#c9c6e6;text-align:center}
.pf-lb button{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(8,10,32,.7);color:#fff;font-size:20px;line-height:1;cursor:pointer;transition:background .25s,border-color .25s}
.pf-lb button:hover,.pf-lb button:focus-visible{background:linear-gradient(115deg,#7b00ff,#ff00c8);border-color:transparent;outline:none}
.pf-lb .pf-lb-close{position:absolute;top:clamp(10px,2vw,22px);right:clamp(10px,2vw,22px)}
.pf-lb .pf-lb-prev{grid-column:1}.pf-lb .pf-lb-next{grid-column:3}
@media (max-width:680px){.pf-lb{grid-template-columns:1fr;grid-template-rows:1fr auto}.pf-lb figure{grid-column:1}.pf-lb .pf-lb-prev,.pf-lb .pf-lb-next{position:absolute;bottom:18px;grid-column:auto}.pf-lb .pf-lb-prev{left:calc(50% - 56px)}.pf-lb .pf-lb-next{right:calc(50% - 56px)}.pf-lb img{max-height:calc(100dvh - 160px)}}
html.pf-lb-lock{overflow:hidden}
/* light theme */
html[data-theme=light] .pf-card{background:linear-gradient(160deg,#fff,rgba(255,255,255,.75));box-shadow:0 18px 50px -36px rgba(60,20,140,.45)}
html[data-theme=light] .pf-card:hover{box-shadow:0 30px 70px -34px rgba(123,0,255,.45)}
html[data-theme=light] .pf-chip span{background:rgba(255,255,255,.7)}
html[data-theme=light] .pf-select select{background-color:#fff}
html[data-theme=light] .pf-img::after{opacity:.35}
@media (prefers-reduced-motion:reduce){.pf-card{animation:none}.pf-card,.pf-img img,.pf-gallery img,.pf-more b{transition:none}.pf-card:hover .pf-img img,.pf-gallery a:hover img{transform:none}}

/* v26-ebooks.css */
/* v2.6 free guides (lead magnets): /resources cards with per-guide gate + home "Free guides" block. Uses the site's theme variables (dark + light). */
.eb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:clamp(16px,2vw,24px);align-items:start}
@media (min-width:1081px){.eb-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}
.eb-card{display:flex;flex-direction:column;border-radius:var(--r-lg,22px);overflow:hidden;border:1px solid var(--line2);background:var(--glass);transition:transform .5s var(--ease),border-color .3s;scroll-margin-top:110px;min-width:0}
.eb-card:hover,.eb-card.is-open{border-color:rgba(255,0,200,.45)}
.eb-card:hover{transform:translateY(-4px)}.eb-card.is-open{transform:none}
.eb-cover{aspect-ratio:4/3;background:var(--bg2);display:grid;place-items:center;overflow:hidden;position:relative}
.eb-cover::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 60%,rgba(255,0,200,.28),transparent 70%),radial-gradient(50% 50% at 20% 20%,rgba(123,0,255,.22),transparent 70%)}
.eb-cover img{position:relative;height:84%;width:auto;max-width:62%;object-fit:contain;border-radius:8px;box-shadow:0 30px 50px -20px rgba(0,0,0,.7);transform:rotate(-4deg) translateY(10px);transition:transform .8s var(--ease)}
.eb-card:hover .eb-cover img{transform:rotate(0) translateY(0) scale(1.03)}
.eb-new{position:absolute;top:14px;left:14px;font:700 .66rem/1 var(--ff);letter-spacing:.14em;text-transform:uppercase;color:#fff;padding:7px 11px;border-radius:999px;background:linear-gradient(90deg,#7b00ff,#ff4b9a,#ff00c8);box-shadow:0 8px 20px -8px rgba(255,0,200,.6)}
.eb-body{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}
.eb-body .kick{font:600 .7rem var(--ff);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eb-body h3{font-size:1.1rem;margin:0;overflow-wrap:anywhere}
.eb-sum{margin:0;color:var(--muted);font-size:.9rem;flex:1}
.eb-body .btn{align-self:flex-start;max-width:100%}
.eb-card.is-open .eb-open{display:none}
.eb-gate{display:grid;gap:9px;margin-top:4px;min-width:0}
.eb-gate[hidden],.eb-done[hidden]{display:none}
.eb-gate input[type=text],.eb-gate input:not([type]),.eb-gate input[type=email]{width:100%;min-width:0;padding:12px 14px;border-radius:12px;border:1px solid var(--line2);background:var(--glass2);color:var(--ink);font:16px var(--ff)}
.eb-gate input:focus{outline:2px solid rgba(255,0,200,.55);outline-offset:1px;border-color:transparent}
.eb-gate input.err{border-color:#ff4b6e}
.eb-opt{display:flex;gap:9px;align-items:flex-start;font-size:.82rem;color:var(--muted);line-height:1.45;cursor:pointer}
.eb-opt input{margin-top:2px;width:16px;height:16px;flex:0 0 16px;accent-color:#ff00c8}
.eb-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.eb-actions .btn{align-self:auto}
.eb-cancel{background:none;border:0;color:var(--muted);font:500 .85rem var(--ff);cursor:pointer;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}
.eb-cancel:hover{color:var(--ink)}
.eb-small{margin:0;font-size:.74rem;color:var(--muted);line-height:1.45}
.eb-small a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.eb-msg{margin:0;font-size:.85rem;min-height:0}
.eb-msg:empty{display:none}
.eb-msg.err{color:#ff6b8a}
.eb-msg.info{color:var(--muted)}
.eb-gate.busy button[type=submit]{opacity:.65;pointer-events:none}
.eb-done{display:grid;gap:8px;padding:14px 16px;border-radius:14px;border:1px solid rgba(255,0,200,.35);background:linear-gradient(135deg,rgba(123,0,255,.14),rgba(255,0,200,.08))}
.eb-done b{font-family:var(--ffh,var(--ff));font-size:.98rem}
.eb-done p{margin:0;font-size:.86rem;color:var(--muted)}
/* home block */
.eb-home .sec-head{margin-bottom:clamp(24px,3vw,36px)}
.eb-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.8vw,22px)}
.eb-home-card{display:flex;gap:18px;align-items:stretch;padding:16px;border-radius:var(--r-lg,22px);border:1px solid var(--line2);background:var(--glass);color:inherit;text-decoration:none;transition:transform .5s var(--ease),border-color .3s;min-width:0}
.eb-home-card:hover,.eb-home-card:focus-visible{transform:translateY(-4px);border-color:rgba(255,0,200,.45)}
.eb-home-cover{flex:0 0 32%;max-width:130px;align-self:center;position:relative}
.eb-home-cover::before{content:"";position:absolute;inset:-14%;background:radial-gradient(closest-side,rgba(255,0,200,.3),transparent);z-index:0}
.eb-home-cover img{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:7px;box-shadow:0 18px 34px -16px rgba(0,0,0,.7);transform:rotate(-3deg);transition:transform .6s var(--ease)}
.eb-home-card:hover .eb-home-cover img{transform:rotate(0) scale(1.03)}
.eb-home-body{display:flex;flex-direction:column;gap:7px;min-width:0}
.eb-home-body .kick{font:600 .66rem var(--ff);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eb-home-body b{font-size:1rem;line-height:1.3;overflow-wrap:anywhere}
.eb-home-sum{font-size:.84rem;color:var(--muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.eb-home-go{margin-top:auto;font-weight:600;font-size:.86rem;background:linear-gradient(90deg,#9d4bff,#ff4b9a,#ff00c8);-webkit-background-clip:text;background-clip:text;color:transparent;align-self:flex-start}
.eb-home-all{margin-top:clamp(20px,2.6vw,30px);display:flex;justify-content:center}
@media (max-width:1080px){.eb-home-grid{grid-template-columns:1fr;max-width:640px;margin-inline:auto}}
@media (max-width:420px){.eb-home-card{gap:14px;padding:14px}.eb-home-cover{flex-basis:30%}.eb-body{padding:18px}}
@media (prefers-reduced-motion:reduce){.eb-card,.eb-cover img,.eb-home-card,.eb-home-cover img{transition:none}}

/* v26-pages.css */
/* Krishva v2.6 pages: /services card portfolio strip, quote builder, comparison page. */
.svc-cell{display:flex;flex-direction:column;min-width:0}
.svc-cell>.svc-card{flex:1 1 auto}
.svc-cell.has-work>.svc-card{border-bottom-left-radius:0;border-bottom-right-radius:0}
.svc-cell.is-hidden,.svc-cell:has(>.svc-card.is-hidden){display:none}
.svc-work{border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r-lg,24px) var(--r-lg,24px);padding:12px 14px 14px;background:rgba(255,255,255,.025)}
html[data-theme=light] .svc-work{background:rgba(255,255,255,.6)}
.svc-work-l{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:9px}
.svc-work-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.svc-work-item{display:block;min-width:0;color:var(--ink2);text-decoration:none}
.svc-work-img{display:block;aspect-ratio:16/10;border-radius:10px;overflow:hidden;background:var(--bg2);border:1px solid var(--line)}
.svc-work-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease,ease)}
.svc-work-item:hover .svc-work-img img,.svc-work-item:focus-visible .svc-work-img img{transform:scale(1.06)}
.svc-work-name{display:block;margin-top:6px;font-size:.74rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.svc-work-all{display:inline-block;margin-top:10px;font-size:.8rem;font-weight:600;color:var(--ink);text-decoration:none;background:linear-gradient(120deg,#9b4dff,#ff4b9a);-webkit-background-clip:text;background-clip:text;color:transparent}
.svc-work-all:hover{text-decoration:underline}

/* quote builder */
.qb{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
.qb-side{position:sticky;top:110px}
.qb-step{border:1px solid var(--line2);border-radius:var(--r-lg,24px);background:var(--glass);padding:clamp(18px,2.6vw,30px);margin:0 0 18px;min-width:0}
.qb-step legend{display:flex;align-items:center;gap:10px;font-family:var(--fd,Unbounded,sans-serif);font-size:clamp(1.02rem,1.4vw,1.25rem);padding:0 8px;margin-left:-8px}
.qb-n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,#7b00ff,#ff00c8);color:#fff;font-size:.85rem;flex:none}
.qb-hint{margin:4px 0 14px;color:var(--muted);font-size:.92rem}
.qb-cat{margin-top:16px}.qb-cat h3{font-size:.95rem;margin:0 0 10px}.qb-cat h3 small{font-weight:400;color:var(--muted);font-family:var(--ff,Inter,sans-serif)}
.qb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.qb-svc{border:1px solid var(--line2);border-radius:16px;background:rgba(255,255,255,.03);transition:border-color .25s,background .25s;min-width:0}
.qb-svc.on{border-color:transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(135deg,#7b00ff,#ff4b9a,#ff00c8) border-box;border:1px solid transparent}
html[data-theme=light] .qb-svc.on{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#7b00ff,#ff4b9a,#ff00c8) border-box}
.qb-pick{display:flex!important;align-items:flex-start;gap:12px!important;padding:14px;cursor:pointer;font-weight:400!important}
.qb-pick input{position:absolute;opacity:0;width:1px;height:1px}
.qb-box{flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--line2);margin-top:1px;position:relative;transition:background .2s}
.qb-pick input:checked+.qb-box{background:linear-gradient(135deg,#7b00ff,#ff00c8);border-color:transparent}
.qb-pick input:checked+.qb-box::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.qb-pick input:focus-visible+.qb-box{outline:2px solid #ff00c8;outline-offset:2px}
.qb-txt{display:grid;gap:3px;min-width:0}.qb-txt b{font-size:.93rem;color:var(--ink);line-height:1.3}.qb-txt small{font-size:.8rem;color:var(--muted)}
.qb-tier{display:flex!important;align-items:center;gap:8px!important;padding:0 14px 14px;font-size:.8rem!important}
.qb-tier[hidden]{display:none!important}
.qb-tier select{min-height:40px!important;padding:6px 10px!important;font-size:.88rem!important;flex:1}
.qb-radio{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.qb-radio label{display:flex!important;gap:10px!important;align-items:flex-start;padding:14px;border:1px solid var(--line2);border-radius:16px;cursor:pointer;font-weight:400!important}
.qb-radio label span{display:grid;gap:3px}.qb-radio small{color:var(--muted)}
.qb-radio input{accent-color:#ff00c8;width:18px;height:18px;min-height:0!important;margin-top:2px}
.qb-est h2{font-size:clamp(1.1rem,1.5vw,1.3rem);margin:0 0 12px}
.qb-empty{color:var(--muted);font-size:.92rem;padding:10px 0 4px}
.qb-lines{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.qb-lines li{display:flex;justify-content:space-between;gap:12px;font-size:.88rem;padding-bottom:8px;border-bottom:1px dashed var(--line)}
.qb-lines li span{color:var(--ink2);min-width:0}.qb-lines li b{white-space:nowrap;text-align:right}.qb-lines small{color:var(--muted);font-weight:500}
.qb-onreq{font-size:.86rem;color:var(--muted);margin:10px 0 0}
.qb-done{max-width:760px;margin:0 auto;text-align:center}.qb-done .qb-lines,.qb-done .co-lines{text-align:left;max-width:520px;margin:0 auto 18px}
@media (max-width:1080px){.qb{grid-template-columns:1fr}.qb-side{position:static}}
@media (max-width:560px){.qb-radio{grid-template-columns:1fr}.qb-grid{grid-template-columns:1fr}}

/* comparison page */
.cmp-wrap{border:1px solid var(--line2);border-radius:var(--r-lg,24px);overflow:hidden;background:var(--glass)}
.cmp-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cmp-table th,.cmp-table td{padding:18px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:.93rem;line-height:1.55}
.cmp-table thead th{font-family:var(--fd,Unbounded,sans-serif);font-size:.92rem;background:rgba(255,255,255,.03)}
.cmp-table thead th:first-child{width:20%}
.cmp-table tbody th{font-weight:700;color:var(--ink)}
.cmp-table td{color:var(--ink2)}
.cmp-table tr:last-child>*{border-bottom:0}
.cmp-table .cmp-us{background:linear-gradient(180deg,rgba(123,0,255,.16),rgba(255,0,200,.08));color:var(--ink)}
.cmp-table thead .cmp-us{background:linear-gradient(120deg,#7b00ff,#ff4b9a 60%,#ff00c8);color:#fff}
html[data-theme=light] .cmp-table .cmp-us{background:linear-gradient(180deg,rgba(123,0,255,.08),rgba(255,0,200,.05))}
html[data-theme=light] .cmp-table thead .cmp-us{background:linear-gradient(120deg,#7b00ff,#ff4b9a 60%,#ff00c8)}
.cmp-when{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cmp-card{border:1px solid var(--line2);border-radius:var(--r-lg,24px);padding:24px;background:var(--glass)}
.cmp-card.us{border-color:transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(135deg,#7b00ff,#ff4b9a,#ff00c8) border-box;border:1.5px solid transparent}
html[data-theme=light] .cmp-card.us{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#7b00ff,#ff4b9a,#ff00c8) border-box}
.cmp-card h3{margin:14px 0 8px;font-size:1.05rem}.cmp-card p{margin:0;color:var(--ink2)}
.cmp-mix{margin:22px 0 0;color:var(--muted);max-width:70ch}
.cmp-faq{display:grid;gap:10px;max-width:900px}
.cmp-faq details{border:1px solid var(--line2);border-radius:16px;padding:16px 20px;background:var(--glass)}
.cmp-faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px}
.cmp-faq summary::-webkit-details-marker{display:none}
.cmp-faq summary::after{content:"+";font-size:1.3rem;line-height:1;color:#ff4b9a;transition:transform .25s}
.cmp-faq details[open] summary::after{transform:rotate(45deg)}
.cmp-faq p{margin:10px 0 0;color:var(--ink2)}
.cmp-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.cmp-cta h2{margin:0 0 6px}.cmp-cta p{margin:0}
@media (max-width:900px){.cmp-when{grid-template-columns:1fr}}
@media (max-width:760px){
  .cmp-wrap{border:0;background:none;overflow:visible}
  .cmp-table,.cmp-table tbody,.cmp-table tr,.cmp-table th,.cmp-table td{display:block;width:100%}
  .cmp-table thead{display:none}
  .cmp-table tr{border:1px solid var(--line2);border-radius:18px;margin:0 0 12px;overflow:hidden;background:var(--glass)}
  .cmp-table tbody th{padding:14px 16px;font-family:var(--fd,Unbounded,sans-serif);font-size:.95rem;border-bottom:1px solid var(--line)}
  .cmp-table td{padding:12px 16px;border-bottom:1px solid var(--line)}
  .cmp-table td::before{content:attr(data-col);display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
  .cmp-table td.cmp-us::before{color:#ff4b9a}
}

/* pricing → quote strip */
.v26-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;padding:clamp(20px,3vw,32px);border-radius:var(--r-lg,24px);border:1px solid transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(120deg,#7b00ff,#ff4b9a,#ff00c8) border-box}
html[data-theme=light] .v26-strip{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,#7b00ff,#ff4b9a,#ff00c8) border-box}
.v26-strip h2{margin:0 0 6px}.v26-strip p{margin:0;max-width:60ch}
.qb[hidden],.qb-done[hidden],.cur-bar[hidden]{display:none!important}
.qb .qb-step textarea{min-height:76px!important}
.qb-section,.cmp-section{padding-top:clamp(8px,2vw,24px)!important}

/* v26-pay.css */
/* Krishva v2.6 payments: currency switcher, checkout, payment success. Dark default + light theme. */
.cur-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:clamp(18px,3vw,30px)}
.cur-bar-in{margin:-6px 0 26px}
.cur-switch{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);max-width:100%}
.cur-switch-l{font-size:.78rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 8px 0 10px}
.cur-switch button{min-height:38px;min-width:44px;padding:6px 14px;border-radius:999px;border:0;background:transparent;color:var(--ink2);font:600 .88rem/1 var(--ff,Inter,sans-serif);cursor:pointer;transition:background .25s,color .25s}
.cur-switch button b{font-weight:700;margin-right:2px}
.cur-switch button:hover{background:rgba(123,0,255,.14);color:var(--ink)}
.cur-switch button[aria-pressed=true]{background:linear-gradient(120deg,#7b00ff,#ff4b9a 60%,#ff00c8);color:#fff;box-shadow:0 8px 24px -10px rgba(255,0,200,.6)}
.cur-switch button:focus-visible{outline:2px solid var(--pink,#ff00c8);outline-offset:2px}
.cur-note{margin:0;font-size:.86rem;color:var(--muted);max-width:56ch}
.kg-price{font:inherit}
@media (max-width:520px){.cur-switch-l{width:100%;padding:4px 10px 2px}.cur-switch{border-radius:18px}.cur-switch button{flex:1 1 auto;padding:6px 10px}}

/* checkout */
.co-section{padding-top:10px}
.co-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(18px,3vw,36px);align-items:start}
.co-grid>.co-summary{order:2;position:sticky;top:110px}
.co-grid>.co-form{order:1}
.co-card{border:1px solid var(--line2);border-radius:var(--r-lg,24px);background:var(--glass);padding:clamp(20px,3vw,34px);min-width:0}
.co-summary .co-card{background:linear-gradient(var(--bg2),var(--bg2)) padding-box,linear-gradient(135deg,#7b00ff,#ff4b9a,#ff00c8) border-box;border:1.5px solid transparent}
.co-card h2{font-size:clamp(1.15rem,1.6vw,1.4rem);margin:0 0 18px}
.co-sum-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.co-sum-head h2{margin:0}
.co-cur{display:flex;align-items:center;gap:8px;font-size:.84rem;color:var(--muted)}
.co-cur select{min-height:40px;padding:6px 30px 6px 12px;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:var(--ink);font-weight:600}
.co-cur select option{background:var(--bg2);color:var(--ink)}
.co-item{padding:16px 0;border-bottom:1px solid var(--line)}
.co-item .kick{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.co-item b{display:block;font-family:var(--fd,Unbounded,sans-serif);font-size:1.15rem;line-height:1.25}
.co-item p{margin:8px 0 0;color:var(--muted);font-size:.92rem}
.co-inc{padding:14px 0;border-bottom:1px solid var(--line)}
.co-inc small{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.co-inc ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px}
.co-inc li{position:relative;padding-left:24px;font-size:.92rem;color:var(--ink2)}
.co-inc li::before{content:"";position:absolute;left:2px;top:.45em;width:12px;height:7px;border-left:2px solid #ff4b9a;border-bottom:2px solid #ff4b9a;transform:rotate(-45deg)}
.co-lines{margin:14px 0 0;display:grid;gap:10px}
.co-lines>div{display:flex;justify-content:space-between;gap:16px;font-size:.95rem}
.co-lines>div[hidden]{display:none}
.co-lines dt{color:var(--muted)}.co-lines dd{margin:0;font-weight:600;text-align:right;white-space:nowrap}
.co-total{padding-top:12px;margin-top:4px;border-top:1px solid var(--line2);font-size:1.05rem!important}
.co-total dt{color:var(--ink)!important;font-weight:700}
.co-total dd{font-family:var(--fd,Unbounded,sans-serif);font-size:clamp(1.3rem,2vw,1.6rem);background:linear-gradient(120deg,#9b4dff,#ff4b9a,#ff00c8);-webkit-background-clip:text;background-clip:text;color:transparent}
.co-note{margin:14px 0 0;font-size:.84rem;color:var(--muted);line-height:1.55}
.co-change{display:inline-block;margin-top:12px;font-size:.88rem}
.co-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.co-f small{font-weight:400;color:var(--muted);font-size:.78rem}
.co-wide{grid-column:1/-1}
.co-form textarea{min-height:76px!important}
.co-coupon{margin-top:18px;padding:16px;border-radius:16px;border:1px dashed var(--line2)}
.co-coupon label{display:block;font-size:.86rem;font-weight:600;color:var(--ink2);margin-bottom:8px}
.co-coupon-row{display:flex;gap:10px}
.co-coupon-row input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em}
.co-coupon-row .btn{flex:none;min-height:52px}
.co-msg{margin:8px 0 0;font-size:.86rem;min-height:1px}
.co-msg.ok{color:#3ddc84}.co-msg.bad,.co-err{color:#ff6b9d}
html[data-theme=light] .co-msg.ok{color:#11803a}html[data-theme=light] .co-msg.bad,html[data-theme=light] .co-err{color:#c0105a}
.co-err{padding:12px 14px;border-radius:12px;background:rgba(255,0,120,.08);border:1px solid rgba(255,0,120,.25)}
.co-consent{margin-top:18px;font-size:.9rem}
.co-consent a{text-decoration:underline;text-underline-offset:3px}
.co-pay{width:100%;justify-content:center;margin-top:18px;min-height:58px;font-size:1.02rem}
.co-pay.is-busy{opacity:.75;cursor:progress}
.co-secure{display:flex;align-items:flex-start;gap:8px;margin:14px 0 0;font-size:.82rem;color:var(--muted)}
.co-secure svg{flex:none;margin-top:2px}
.co-methods{margin:6px 0 0;font-size:.78rem;letter-spacing:.06em;color:var(--muted);text-align:center}
.co-demo{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:rgba(123,0,255,.12);border:1px solid rgba(123,0,255,.35);font-size:.9rem}
.co-done{max-width:760px;margin:0 auto;text-align:center}
.co-tick{width:76px;height:76px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7b00ff,#ff4b9a,#ff00c8);box-shadow:0 18px 50px -16px rgba(255,0,200,.7)}
.co-tick svg{width:38px;height:38px}
.co-lead{font-size:clamp(1rem,1.4vw,1.15rem);color:var(--ink2);margin:0 auto 22px;max-width:56ch}
.co-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr) minmax(0,.8fr);gap:12px;margin:0 0 24px;text-align:left}
.co-facts>div{padding:14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);min-width:0}
.co-facts dt{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.co-facts dd{margin:6px 0 0;font-weight:600;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;font-size:clamp(.82rem,1.05vw,.95rem)}
.co-actions{justify-content:center;flex-wrap:wrap}
.co-next-h{margin:34px 0 14px;font-size:1.1rem}
.co-next{text-align:left;max-width:560px;margin:0 auto 18px;padding-left:22px;display:grid;gap:10px;color:var(--ink2)}
html[data-theme=light] .co-summary .co-card{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#7b00ff,#ff4b9a,#ff00c8) border-box}
html[data-theme=light] .co-card{background:rgba(255,255,255,.7)}
html[data-theme=light] .co-cur select{background:#fff}
html[data-theme=light] .co-facts>div{background:#fff}
@media (max-width:1080px){.co-grid{grid-template-columns:1fr}.co-grid>.co-summary{order:0;position:static}}
@media (max-width:640px){.co-fields{grid-template-columns:1fr}.co-facts{grid-template-columns:1fr 1fr}.co-coupon-row{flex-wrap:wrap}.co-coupon-row .btn{width:100%;justify-content:center}}
.page-checkout .site-footer .f-cta{display:none}
@media (max-width:640px){.co-facts{grid-template-columns:1fr 1fr}}
.co-facts>div:nth-child(-n+2) dd{white-space:nowrap;overflow-wrap:normal;letter-spacing:-.01em}
@media (max-width:640px){.co-facts>div:nth-child(2){grid-column:1/-1}}
@media (max-width:640px){.co-facts>div:nth-child(2){order:-1}}
.page-checkout .co-actions,.co-done .co-actions{margin-bottom:30px}
.co-actions{margin-bottom:30px;align-items:center}
.co-next-h{margin-top:8px}
@media (max-width:640px){.co-facts>div:nth-child(4){grid-column:1/-1}}
.co-actions>*{margin-top:0!important;margin-bottom:0!important}
.co-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* v26-widgets.css */
/* Krishva Growth v2.6 — floating widgets: dock (one corner, zero overlaps), chat assistant, exit-intent FREE AUDIT popup.
   --kg-dock-lift is set by assets/js/v26-widgets.js when a bottom bar (cookie banner, newsletter popup, install chip) would sit under the corner stack. */

/* ---------- 1. dock ---------- */
.wa-float{bottom:calc(18px + env(safe-area-inset-bottom) + var(--kg-dock-lift,0px));transition:transform .4s var(--ease),bottom .35s var(--ease),opacity .25s}
.kg-chat{bottom:calc(84px + env(safe-area-inset-bottom) + var(--kg-dock-lift,0px));transition:bottom .35s var(--ease)}
@media (max-width:1080px){
  .kg-fab{bottom:calc(14px + env(safe-area-inset-bottom) + var(--kg-dock-lift,0px));transition:transform .35s var(--ease),opacity .35s,bottom .35s var(--ease)}
  .kg-chat{bottom:calc(80px + env(safe-area-inset-bottom) + var(--kg-dock-lift,0px))}
}
html.kg-chat-open,html.kg-modal-open{--kg-dock-lift:0px!important}
/* while lifted above a bar, the scroll-tuck fades in place instead of sliding through the bar */
html.kg-dock-lifted .kg-fab.tuck{transform:none;opacity:0;pointer-events:none}
/* chat open → nothing else floats; exit popup open → only the dialog */
html.kg-chat-open .wa-float,html.kg-chat-open #kgFab,html.kg-chat-open .kg-cookie,html.kg-chat-open #kgNlPop,html.kg-chat-open #kgInstall,
html.kg-modal-open .wa-float,html.kg-modal-open #kgFab,html.kg-modal-open .kg-chat:not(.open),html.kg-modal-open #kgNlPop,html.kg-modal-open #kgInstall{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
/* the bottom bars never sit on top of each other: the newsletter popup waits while the cookie banner is up */
html:has(.kg-cookie.show) #kgNlPop{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
@media print{.kg-chat,.kg-exit,.kg-fab,.wa-float{display:none!important}}

/* ---------- 2. chat assistant ---------- */
.kg-chat-btn:focus-visible,.kg-chat-panel button:focus-visible,.kg-chat-panel a:focus-visible,.kg-chat-form input:focus-visible{outline:2px solid #ff4b9a;outline-offset:2px}
.kg-chat-panel{width:min(392px,calc(100vw - 32px));height:min(600px,calc(100svh - 120px))}
.kg-chat-panel header{padding:14px 98px 14px 16px;min-height:64px}
.kg-chat-panel header small{display:flex;align-items:center;gap:6px}
.kg-chat-live{width:7px;height:7px;border-radius:50%;background:#25d366;box-shadow:0 0 0 3px rgba(37,211,102,.25);flex:none}
.kg-chat-reset{position:absolute;top:50%;right:56px;margin-top:-17px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#fff;display:grid;place-items:center;cursor:pointer}
.kg-chat-reset:hover{background:rgba(255,255,255,.18)}
.kg-chat-log{scroll-behavior:smooth;gap:9px}
.kg-msg{max-width:88%;font-size:.89rem}
.kg-msg ul{margin:8px 0 6px;padding-left:18px;display:grid;gap:4px}
.kg-msg li{padding-left:2px}
.kg-msg small{display:block;margin-top:6px;opacity:.72;font-size:.75rem;line-height:1.4}
.kg-msg b{font-weight:700}
.kg-msg.user a{color:#fff}
.kg-chat-sum{list-style:none;padding:10px 12px!important;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.kg-chat-wa{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;padding:10px 14px;border-radius:12px;background:#1fae54;color:#fff!important;font-weight:600;text-decoration:none!important;font-size:.86rem}
.kg-chat-wa:hover{background:#17964a}
.kg-chat-chips{max-height:96px;overflow-y:auto;padding:2px 14px 10px}
.kg-chat-chips[hidden]{display:none}
.kg-chat-chips button{transition:border-color .2s,background .2s}
.kg-chat-chips button:hover,.kg-chat-chips button:focus-visible{background:rgba(255,0,200,.12)}
.kg-chat-form{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}
.kg-chat-form button{display:grid;place-items:center;flex:none}
.kg-chat-form input::placeholder{color:#8e8bb0}
/* phones: a full-width bottom sheet, max 85% of the screen, over a dimmed page */
@media (max-width:600px){
  .kg-chat.open::before{content:"";position:fixed;inset:0;background:rgba(3,3,10,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
  .kg-chat.open .kg-chat-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;height:min(85vh,85svh,680px);max-height:85svh;border-radius:22px 22px 0 0;border-bottom:0;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);animation:kgSheetIn .4s var(--ease)}
}
@keyframes kgSheetIn{from{transform:translateY(40px);opacity:0}}
/* light theme */
html[data-theme=light] .kg-chat-panel{background:#fff;color:#14122b;border-color:rgba(20,18,43,.12);box-shadow:0 40px 100px -30px rgba(80,40,160,.45)}
html[data-theme=light] .kg-chat-panel header{color:#fff}
html[data-theme=light] .kg-msg.bot{background:#f4f2fb;border-color:rgba(20,18,43,.08);color:#14122b}
html[data-theme=light] .kg-msg.bot a{color:#a3007f}
html[data-theme=light] .kg-msg.user{color:#fff}
html[data-theme=light] .kg-chat-sum{background:#fff;border-color:rgba(20,18,43,.12)}
html[data-theme=light] .kg-msg.typing i{background:#8b86ad}
html[data-theme=light] .kg-chat-chips button{background:#fff;color:#2a2650;border-color:rgba(20,18,43,.16)}
html[data-theme=light] .kg-chat-chips button:hover{background:#fdeaf8;border-color:#ff00c8}
html[data-theme=light] .kg-chat-form{border-top-color:rgba(20,18,43,.1)}
html[data-theme=light] .kg-chat-form input{background:#f7f6fc;color:#14122b;border-color:rgba(20,18,43,.16)}
html[data-theme=light] .kg-chat-form input::placeholder{color:#7a7699}
html[data-theme=light] .kg-chat-dot{border-color:#fff}

/* ---------- 3. exit-intent FREE AUDIT popup ---------- */
.kg-exit{z-index:96;overscroll-behavior:contain}
.kg-exit .kg-exit-card{width:min(100%,560px);max-height:calc(100svh - 32px);overflow-y:auto;outline:none}
.kg-exit .kg-exit-card::before{inset:-35% auto auto -25%;background:radial-gradient(closest-side,rgba(123,0,255,.42),transparent)}
.kg-exit .kg-exit-card::after{content:"";position:absolute;inset:auto -20% -45% auto;width:280px;height:280px;background:radial-gradient(closest-side,rgba(255,0,200,.28),transparent);pointer-events:none}
.kg-exit-step{position:relative;z-index:1}
.kg-exit-step[hidden]{display:none}
.kg-exit h2{padding-right:34px;line-height:1.15}
.kg-exit h2 span,.kg-exit h2 em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.kg-exit .eyebrow{color:#ff9bd8}
.kg-exit-points{list-style:none;margin:16px 0 20px;padding:0;display:grid;gap:9px}
.kg-exit-points li{position:relative;padding-left:30px;color:#e4e1f7;font-size:.94rem;line-height:1.45}
.kg-exit-points li::before{content:"";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--grad)}
.kg-exit-points li::after{content:"";position:absolute;left:7px;top:5px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.kg-exit-form label{display:block;font-size:.82rem;font-weight:600;color:#d9d6f0;margin-bottom:8px}
.kg-exit-row{display:flex;gap:10px;min-width:0}
.kg-exit-row input{flex:1 1 auto;min-width:0;min-height:52px;padding:0 16px;border-radius:14px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;font:16px var(--ff)}
.kg-exit-row input::placeholder{color:#8e8bb0}
.kg-exit-row input:focus{outline:none;border-color:#ff00c8;box-shadow:0 0 0 4px rgba(255,0,200,.18)}
.kg-exit-row .btn{flex:0 0 auto;min-height:52px;white-space:nowrap}
.kg-exit-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-top:16px}
.kg-exit-no,.kg-exit-alt{border:0;background:none;padding:6px 0;color:#a9a6c9;font:500 .88rem var(--ff);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.kg-exit-alt{color:#d9d6f0}
.kg-exit-no:hover,.kg-exit-alt:hover{color:#fff}
.kg-exit-fine{margin:12px 0 0;font-size:.76rem;color:#8e8bb0}
.kg-exit .kg-lead-form{margin-top:14px}
.kg-exit .kg-lead-form + .kg-exit-alt{margin-top:12px}
.kg-exit .kg-x:focus-visible,.kg-exit button:focus-visible,.kg-exit .btn:focus-visible{outline:2px solid #ff4b9a;outline-offset:3px}
@media (max-width:520px){
  .kg-exit{padding:12px;align-items:end}
  .kg-exit .kg-exit-card{padding:26px 20px calc(20px + env(safe-area-inset-bottom));border-radius:24px}
  .kg-exit-row{flex-direction:column}
  .kg-exit-row .btn{width:100%;justify-content:center}
  .kg-exit-points{margin:12px 0 16px}
}
@media (prefers-reduced-motion:reduce){.kg-chat-panel,.kg-chat.open .kg-chat-panel{animation:none}.wa-float,.kg-chat,.kg-fab{transition:none}}

/* v27-blog.css */
/* v2.7 blog articles (helper A): answer box, FAQ block, byline, scrollable tables. Scoped to .prose / .kg-byline27. */
.prose .quick-answer{position:relative;margin:0 0 2em;padding:24px 26px 22px 26px;border-radius:22px;border:1px solid rgba(255,0,200,.35);background:linear-gradient(135deg,rgba(123,0,255,.2),rgba(255,0,200,.08) 70%);box-shadow:0 18px 50px -30px rgba(123,0,255,.7)}
.prose .quick-answer b{display:inline-flex;align-items:center;gap:8px;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--pink,#ff4b9a);margin-bottom:8px}
.prose .quick-answer b::before{content:"";width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#7b00ff,#ff00c8);flex:none}
.prose .quick-answer p{margin:0;font-size:1.06rem;line-height:1.65;color:var(--ink)}
html[data-theme=light] .prose .quick-answer{background:linear-gradient(135deg,rgba(123,0,255,.08),rgba(255,0,200,.05) 70%);border-color:rgba(123,0,255,.3);box-shadow:none}
html[data-theme=light] .prose .quick-answer b{color:#b0007f}
.kg-byline27 .by a{color:inherit;text-decoration:none;font-weight:600}
.kg-byline27 .by a:hover{text-decoration:underline;text-underline-offset:3px}
.prose .kg-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.6em 0;border-radius:16px;border:1px solid var(--line2,rgba(255,255,255,.14))}
.prose .kg-table-scroll:focus-visible{outline:2px solid #ff00c8;outline-offset:3px}
.prose .kg-table-scroll table{margin:0;min-width:560px;border-collapse:collapse;border-style:hidden}
.prose .kg-table-scroll th,.prose .kg-table-scroll td{text-align:left;vertical-align:top;padding:12px 14px;line-height:1.5}
.prose .kg-table-scroll thead th{background:rgba(123,0,255,.16);font-weight:600;color:var(--ink);white-space:nowrap}
html[data-theme=light] .prose .kg-table-scroll thead th{background:rgba(123,0,255,.07)}
.prose .kg-faq27{margin-top:2.4em}
.prose .kg-faq27 .faq{display:grid;gap:12px;margin-top:1em}
.prose .kg-faq27 summary h3{margin:0;font-size:1.05rem;line-height:1.45;font-family:inherit;font-weight:600;color:var(--ink)}
.prose .kg-faq27 summary{padding:18px 22px}
.prose .kg-faq27 .ans{padding:0 22px 18px}
.prose .kg-faq27 .ans p{margin:0 0 .7em}.prose .kg-faq27 .ans p:last-child{margin:0}
.prose a[target=_blank]::after{content:"\2197";font-size:.8em;margin-left:2px;opacity:.7}
@media (max-width:560px){.prose .quick-answer{padding:20px 18px}.prose .kg-faq27 summary{padding:16px}.prose .kg-faq27 .ans{padding:0 16px 16px}}
.article-layout>.prose{min-width:0}
.prose .kg-faq27 summary h3{flex:1 1 auto;min-width:0;max-width:none;text-wrap:pretty}

/* v27-case-studies.css */
/* v2.7 (helper M): polished case-study detail page (.csx) + phone number display (.kg-phone). Auto-loaded on public pages. */
/* Phone: Inter draws "1" narrow, so "+91 77376" read as "+9177376". Non-breaking spaces + a touch of word-spacing keep the groups clear. */
.kg-phone{white-space:nowrap;word-spacing:.14em}

.csx-hero{padding:clamp(108px,13vw,168px) 0 clamp(28px,4vw,48px);position:relative}
.csx-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:min(620px,80%);pointer-events:none;background:radial-gradient(60% 70% at 85% 10%,rgba(123,0,255,.22),transparent 70%),radial-gradient(50% 60% at 10% 0%,rgba(255,0,200,.12),transparent 70%);z-index:-1}
.csx-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(10px,2vw,20px)}
.csx-hero-grid.no-cover{grid-template-columns:minmax(0,1fr);max-width:980px}
.csx-hero-copy{min-width:0}
.csx-hero h1{font-size:clamp(1.9rem,4.4vw,3.6rem);line-height:1.08;margin:12px 0 18px;overflow-wrap:anywhere}
.csx-hero .lead{margin:0 0 22px;max-width:60ch}
.csx-jump{display:flex;flex-wrap:wrap;gap:8px}
.csx-jump a{padding:8px 14px;border-radius:999px;border:1px solid var(--line);font-size:.86rem;font-weight:600;color:var(--ink2);text-decoration:none;transition:border-color .3s,color .3s}
.csx-jump a:hover{border-color:rgba(255,0,200,.5);color:var(--ink)}
.csx-cover{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);background:var(--bg2);box-shadow:var(--shadow);aspect-ratio:4/3}
.csx-cover img{width:100%;height:100%;object-fit:cover;display:block}
.csx-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:clamp(26px,4vw,48px) 0 0;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--line)}
.csx-facts>div{background:var(--bg,#03030a);padding:18px 20px;min-width:0}
.csx-facts dt{font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.csx-facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.csx-facts-svc{grid-column:span 2}
.csx-facts-svc dd{display:flex;flex-wrap:wrap;gap:8px;font-weight:400}
.csx-facts-svc .chip{white-space:normal}
.csx-story .container{display:flex;flex-direction:column;gap:clamp(14px,2vw,22px)}
.csx-sec{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:clamp(18px,4vw,64px);padding:clamp(24px,3.4vw,44px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);min-width:0}
.csx-sec-head{min-width:0}
.csx-sec-head h2{font-size:clamp(1.3rem,2.2vw,1.9rem);margin:0;overflow-wrap:anywhere}
.csx-sec-body{min-width:0;color:var(--ink2);line-height:1.75;font-size:1.02rem;overflow-wrap:anywhere}
.csx-sec-body p{margin:0 0 14px}.csx-sec-body p:last-child{margin-bottom:0}
.csx-list{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:10px}.csx-list:last-child{margin-bottom:0}
.csx-list li{position:relative;padding-left:26px}
.csx-list li::before{content:"";position:absolute;left:4px;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--grad)}
.csx-deliv{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.csx-deliv li{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r);border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--ink);font-weight:500;line-height:1.45;min-width:0}
.csx-tick{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:700;color:#fff;background:var(--grad)}
.csx-sec-results{background:linear-gradient(160deg,rgba(123,0,255,.18),rgba(255,0,200,.08)),var(--glass);border-color:rgba(255,0,200,.32)}
.csx-results{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.csx-results li{padding:16px 18px;border-radius:var(--r);background:rgba(3,3,10,.35);border:1px solid rgba(255,255,255,.08);color:var(--ink);font-weight:600;line-height:1.5}
.csx-quote{margin:0;padding:clamp(26px,4vw,52px);border-radius:var(--r-lg);border:1px solid var(--line);background:var(--glass);position:relative;overflow:hidden}
.csx-quote::before{content:"“";position:absolute;right:clamp(14px,3vw,40px);top:-.18em;font:700 clamp(7rem,14vw,12rem)/1 var(--ff-h);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.35;pointer-events:none}
.csx-quote blockquote{margin:12px 0 18px;max-width:60ch}
.csx-quote blockquote p{margin:0;font-family:var(--ff-h);font-size:clamp(1.15rem,2.1vw,1.6rem);line-height:1.45;color:var(--ink)}
.csx-quote figcaption{font-weight:600;color:var(--muted)}
.csx .cs-cover{margin-top:0}
@media (max-width:1080px){.csx-hero-grid{grid-template-columns:minmax(0,1fr)}.csx-cover{aspect-ratio:16/10}}
@media (max-width:760px){.csx-sec{grid-template-columns:minmax(0,1fr)}.csx-facts-svc{grid-column:auto}.csx-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.csx-facts-svc{grid-column:1/-1}}
@media (max-width:420px){.csx-facts{grid-template-columns:minmax(0,1fr)}.csx-deliv{grid-template-columns:minmax(0,1fr)}}
html[data-theme=light] .csx-facts>div{background:var(--bg,#fff)}
html[data-theme=light] .csx-results li{background:rgba(255,255,255,.75);border-color:rgba(20,20,43,.08)}
html[data-theme=light] .csx-deliv li{background:rgba(255,255,255,.6)}

/* v2.7 integrator: the non-breaking phone must not push the contact cards wider than very small phones */
@media (max-width:380px){.quick a b{font-size:.86rem}.quick .kg-phone{white-space:normal;overflow-wrap:anywhere}}
.kg-pkg-chip{white-space:normal;overflow-wrap:anywhere;max-width:100%;height:auto;line-height:1.4}

/* v27-countries.css */
/* v2.7 country landing pages + /global hub (helper C). Scoped to .page-country / .kgc-*. */
.kgc-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0}
.kgc-chips li{font-size:.82rem;line-height:1.2;padding:8px 13px;border-radius:999px;border:1px solid var(--line2);background:var(--glass);color:var(--ink2);max-width:100%}
.kgc-chips li:last-child{border-color:transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--grad) border-box;border:1px solid transparent;color:var(--ink)}
html[data-theme=light] .kgc-chips li:last-child{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}

.kgc-intro-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px);align-items:start}
.kgc-intro-grid h2{margin:0}
.kgc-intro-text p{font-size:clamp(1rem,1.15vw,1.15rem);line-height:1.7;color:var(--ink2);margin:0 0 1em}
.kgc-intro-text p:last-child{margin-bottom:0}

.kgc-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:none}
.kgc-step{position:relative;border:1px solid var(--line2);border-radius:var(--r);padding:24px 22px 22px;background:var(--glass);min-width:0}
.kgc-step h3{font-size:1.02rem;margin:12px 0 8px;line-height:1.3}
.kgc-step p{margin:0;color:var(--ink2);font-size:.95rem;line-height:1.6}
.kgc-n{font-family:var(--ff-h);font-size:.78rem;font-weight:700;letter-spacing:.08em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

.kgc-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kgc-zones--1{grid-template-columns:minmax(0,1fr)}
.kgc-zones--1 .kgc-zone{max-width:760px}
.kgc-zones--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.kgc-zone{border:1px solid var(--line2);border-radius:var(--r-lg,30px);padding:clamp(20px,2.4vw,30px);background:var(--glass);min-width:0;display:flex;flex-direction:column;gap:14px}
.kgc-zone header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.kgc-zone h3{margin:0;font-size:1.05rem;line-height:1.3}
.kgc-clock{font-family:var(--ff-h);font-size:.8rem;color:var(--muted);white-space:nowrap}
.kgc-zone dl{margin:0;display:grid;gap:10px}
.kgc-zone dl div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;border-bottom:1px dashed var(--line2);padding-bottom:10px}
.kgc-zone dt{color:var(--muted);font-size:.86rem}
.kgc-zone dd{margin:0;font-family:var(--ff-h);font-weight:600;font-size:.98rem;text-align:right}
.kgc-zone dd small{font-family:var(--ff);font-weight:500;color:var(--muted);font-size:.78rem}
.kgc-verdict{margin:0;display:flex;gap:10px;align-items:flex-start;color:var(--ink2);font-size:.93rem;line-height:1.5}
.kgc-verdict i{flex:0 0 10px;height:10px;margin-top:.45em;border-radius:50%;background:#6b6890}
.kgc-v-full .kgc-verdict i{background:#25d366;box-shadow:0 0 0 4px rgba(37,211,102,.15)}
.kgc-v-part .kgc-verdict i{background:var(--violet);box-shadow:0 0 0 4px rgba(74,76,255,.18)}
.kgc-v-short .kgc-verdict i{background:var(--pink);box-shadow:0 0 0 4px rgba(255,75,154,.16)}
.kgc-next{margin:0;font-size:.82rem;color:var(--muted);line-height:1.5}
.kgc-tz-note{margin:18px 0 0;font-size:.85rem}

.kgc-pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kgc-pkg{border:1px solid var(--line2);border-radius:var(--r-lg,30px);padding:clamp(20px,2.2vw,28px);background:var(--glass);display:flex;flex-direction:column;gap:8px;min-width:0}
.kgc-pkg-svc{font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.4}
.kgc-pkg h3{margin:0;font-size:1.15rem}
.kgc-pkg-amt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:6px}
.kgc-pkg-amt small{flex-basis:100%;color:var(--muted);font-size:.78rem}
.kgc-pkg-amt b{font-family:var(--ff-h);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}
.kgc-per{color:var(--muted);font-size:.85rem}
.kgc-inr{margin:0;color:var(--muted);font-size:.82rem}
.kgc-pkg .link-arrow{margin-top:auto;padding-top:8px;font-size:.9rem}
.kgc-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

.kgc-svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kgc-svc{display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:var(--r-lg,30px);overflow:hidden;background:var(--glass);color:inherit;text-decoration:none;min-width:0;transition:border-color .3s var(--ease),transform .3s var(--ease)}
.kgc-svc:hover{border-color:rgba(255,0,200,.45);transform:translateY(-3px)}
.kgc-svc-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--bg3)}
.kgc-svc-img img{width:100%;height:100%;object-fit:cover;display:block}
.kgc-svc-body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px;position:relative}
.kgc-svc-body b{font-family:var(--ff-h);font-size:1rem;line-height:1.3;padding-right:24px}
.kgc-svc-body span{color:var(--ink2);font-size:.92rem;line-height:1.55}
.kgc-svc-body i{position:absolute;top:18px;right:18px;font-style:normal}
.kgc-more{margin:20px 0 0}

.kgc-proof-box{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,4vw,60px);align-items:center;border-radius:var(--r-lg,30px);padding:clamp(22px,3.5vw,48px);background:linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--grad) border-box;border:1.5px solid transparent}
html[data-theme=light] .kgc-proof-box{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.kgc-proof-head h2{margin:0 0 10px}
.kgc-proof-head p{margin:0;font-size:.92rem}
.kgc-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kgc-stats li,.kgc-stats a{display:flex;flex-direction:column;gap:4px;color:inherit;text-decoration:none;min-width:0}
.kgc-stats b{font-family:var(--ff-h);font-size:clamp(1.5rem,2.6vw,2.4rem);font-weight:700;line-height:1.1}
.kgc-stats span{color:var(--ink2);font-size:.85rem;line-height:1.4}

.kgc-other .v3-other-list{flex-wrap:wrap}
.kgc-other .chip-hub{border-color:transparent;background:linear-gradient(var(--bg2),var(--bg2)) padding-box,var(--grad) border-box;border:1px solid transparent}
html[data-theme=light] .kgc-other .chip-hub{background:linear-gradient(#fff,#fff) padding-box,var(--grad) border-box}
.kgc-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:18px;font-size:.9rem;align-items:baseline}
.kgc-links a{color:var(--ink2);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.kgc-links a:hover{color:var(--ink);text-decoration-color:var(--pink)}

/* hub */
.kgc-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kgc-card{position:relative;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line2);border-radius:var(--r-lg,30px);padding:clamp(22px,2.6vw,32px);background:var(--glass);color:inherit;text-decoration:none;min-width:0;overflow:hidden;transition:border-color .3s var(--ease),transform .3s var(--ease)}
a.kgc-card:hover{border-color:rgba(255,0,200,.45);transform:translateY(-3px)}
.kgc-glyph{font-family:var(--ff-h);font-weight:800;font-size:clamp(2.6rem,4.6vw,4rem);line-height:1;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:6px}
.kgc-card h3{margin:0;font-size:1.2rem}
.kgc-card ul{list-style:none;margin:0;padding:0;display:grid;gap:6px;color:var(--ink2);font-size:.92rem}
.kgc-card ul small{color:var(--muted)}
.kgc-card p{margin:0;color:var(--ink2);font-size:.92rem;line-height:1.6}
.kgc-card .link-arrow{margin-top:auto;padding-top:8px}
.kgc-card-else{border-style:dashed}
.kgc-else-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:auto;padding-top:8px}
.kgc-cur-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.kgc-cur-list li{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line2);border-radius:16px;padding:12px 14px;background:var(--glass);min-width:0}
.kgc-cur-list b{font-family:var(--ff-h);font-size:1.2rem}
.kgc-cur-list span{color:var(--ink2);font-size:.82rem;line-height:1.35}

@media (max-width:1080px){
  .kgc-steps,.kgc-pkgs,.kgc-svc-grid,.kgc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kgc-zones{grid-template-columns:minmax(0,1fr)}
  .kgc-zones .kgc-zone{max-width:none}
  .kgc-proof-box{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .kgc-intro-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .kgc-steps,.kgc-pkgs,.kgc-svc-grid,.kgc-cards{grid-template-columns:minmax(0,1fr)}
  .kgc-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kgc-zone dd{text-align:left}
  .kgc-svc{flex-direction:row;align-items:stretch}
  .kgc-svc-img{flex:0 0 34%;aspect-ratio:auto;min-height:100%}
  .kgc-svc-body{padding:14px 16px 16px}
  .kgc-svc-body b{font-size:.95rem}
  .kgc-svc-body span{font-size:.86rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .kgc-svc-body i{top:14px;right:14px}
  .kgc-step{padding:20px 18px 18px}
}
@media (min-width:1081px){
  .kgc-zones--1 .kgc-zone{max-width:none;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);column-gap:clamp(24px,4vw,64px);row-gap:12px;align-items:start}
  .kgc-zones--1 .kgc-zone header{grid-column:1;flex-direction:column;align-items:flex-start;gap:6px}
  .kgc-zones--1 .kgc-zone header h3{font-size:1.2rem}
  .kgc-zones--1 .kgc-zone dl{grid-column:2;grid-row:1 / span 3;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .kgc-zones--1 .kgc-zone dl div{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;border-bottom:0;border-left:1px dashed var(--line2);padding:4px 0 4px 20px}
  .kgc-zones--1 .kgc-zone dd{text-align:left;font-size:clamp(1.1rem,1.5vw,1.45rem)}
  .kgc-zones--1 .kgc-verdict,.kgc-zones--1 .kgc-next{grid-column:1}
}

/* v27-greviews.css */
/* v2.7 helper R — LIVE Google reviews widget (includes/v27/30-google-reviews.php). Scoped to .grv-*.
   Google Maps content sits in its own bordered box (Google asks to visually separate it); the "Google Maps" attribution follows Google's text rules. */
.grv-sec .grv-shead{margin-bottom:clamp(18px,2.4vw,28px)}
.grv-box{position:relative;border:1px solid var(--line2);border-radius:var(--r-lg);background:var(--bg2);padding:clamp(18px,2.6vw,34px);min-width:0}
.grv-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding-bottom:clamp(16px,2vw,22px);border-bottom:1px solid var(--line)}
.grv-score{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;min-width:0}
.grv-num{font:700 clamp(2rem,3.4vw,2.8rem)/1 var(--ff-h);letter-spacing:-.03em}
.grv-stars{position:relative;display:inline-block;font-size:1.25rem;line-height:1;letter-spacing:2px;white-space:nowrap}
.grv-stars .grv-s0{color:var(--line2)}
.grv-stars .grv-s1{position:absolute;inset:0 auto 0 0;overflow:hidden;color:#fbbc04}
.grv-stars-sm{font-size:.95rem;letter-spacing:1px}
.grv-count{color:var(--ink2);font-size:.95rem}
.grv-actions{display:flex;flex-wrap:wrap;gap:10px}
.grv-actions .btn{min-height:44px;padding:0 20px;font-size:.88rem}
.grv-actions .grv-btn{background:var(--glass2)}
.grv-list{display:grid;outline-offset:4px;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(12px,1.4vw,18px);margin-top:clamp(16px,2vw,24px)}
.grv-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:clamp(16px,1.8vw,22px);border:1px solid var(--line);border-radius:var(--r);background:var(--glass)}
.grv-who{display:flex;align-items:center;gap:12px;min-width:0}
.grv-who>div{min-width:0;display:flex;flex-direction:column}
.grv-av{flex:0 0 40px;width:40px;height:40px;border-radius:50%;object-fit:cover;background:var(--bg3)}
.grv-ini{display:grid;place-items:center;font:700 1rem/1 var(--ff-h);color:#fff;background:var(--grad2)}
.grv-name{font-weight:600;color:var(--ink);overflow-wrap:anywhere}
a.grv-name:hover{text-decoration:underline}
.grv-who small{color:var(--muted);font-size:.82rem}
.grv-text{margin:0;color:var(--ink2);font-size:.95rem;line-height:1.6;overflow-wrap:anywhere}
.grv-text.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.grv-more{align-self:flex-start;padding:0;border:0;background:none;color:var(--pink);font-weight:600;font-size:.88rem;cursor:pointer}
.grv-more:hover{text-decoration:underline}
.grv-meta{color:var(--muted);font-size:.8rem}
.grv-tr{font-style:italic}
.grv-links{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:auto;padding-top:6px;font-size:.8rem;color:var(--muted)}
.grv-links a{color:var(--ink2);text-decoration:underline;text-underline-offset:2px}
.grv-links a:hover{color:var(--ink)}
.grv-links i{font-style:normal;opacity:.6}
.grv-foot{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:clamp(16px,2vw,22px);padding-top:14px;border-top:1px solid var(--line)}
.grv-foot p{flex:1 1 300px;margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}
.grv-foot p a{color:var(--ink2);text-decoration:underline}
/* Google Maps text attribution: Roboto/sans-serif, normal, 400, 12–16px, white/#1F1F1F/#5E5E5E, never wrapped or translated */
.grv-attr{font-family:Roboto,"Inter",sans-serif;font-style:normal;font-weight:400;font-size:14px;letter-spacing:normal;white-space:nowrap;color:#fff;text-transform:none}
html[data-theme=light] .grv-box{background:#fff}
html[data-theme=light] .grv-attr{color:#5e5e5e}
html[data-theme=light] .grv-card{background:#faf9ff}
@media (max-width:700px){
.grv-list{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(260px,86%);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding-bottom:10px;scrollbar-width:thin}
.grv-card{scroll-snap-align:start}
}
@media (max-width:560px){.grv-head{align-items:flex-start}.grv-actions{width:100%}.grv-actions .btn{flex:1 1 auto}}

