/* ==========================================================================
   Despegia — main stylesheet
   Night mode is the default; day mode via [data-theme="light"] or the visitor's
   system when "auto" is chosen. Brand colours are fixed on purpose.
   ========================================================================== */

/* ---------- tokens ---------- */
:root{
  --bg:#050B1F;--bg2:#081230;--surf:#0B1633;--surf2:#0E1B3E;--line:#1E2E5C;--line2:#34498A;
  --fg:#E8EEFF;--muted:#AEBEDD;--blue:#4C8DFF;--cyan:#2BD9F0;--gold:#F5B83D;--goldink:#F5B83D;--ongold:#050B1F;--threat:#FF7A7A;--ok:#3DDC97;
  --glass:rgba(8,18,48,.9);--hdr:rgba(5,11,31,.86);--shadow:0 24px 48px -24px rgba(0,0,0,.65);
  --f-d:'Sora','Segoe UI',system-ui,sans-serif;
  --f-b:'DM Sans','Segoe UI',system-ui,sans-serif;
  --f-m:'JetBrains Mono',ui-monospace,Consolas,monospace;
  --gutter:clamp(16px,4vw,64px);--maxw:1760px;--radius:16px;
  color-scheme:dark;
}
@media (prefers-color-scheme:light){:root:not([data-theme="dark"]){
  --bg:#F6F8FC;--bg2:#ECF1FA;--surf:#FFFFFF;--surf2:#F4F7FD;--line:#D7DFEE;--line2:#A9B9D6;
  --fg:#0B1B3F;--muted:#4A5B7D;--blue:#1D4ED8;--cyan:#0A6E86;--gold:#F0A91A;--goldink:#7A4E00;--ongold:#0B1B3F;--threat:#D62828;--ok:#0F8A5F;
  --glass:rgba(255,255,255,.93);--hdr:rgba(246,248,252,.9);--shadow:0 24px 48px -28px rgba(11,27,63,.35);color-scheme:light}}
:root[data-theme="light"]{
  --bg:#F6F8FC;--bg2:#ECF1FA;--surf:#FFFFFF;--surf2:#F4F7FD;--line:#D7DFEE;--line2:#A9B9D6;
  --fg:#0B1B3F;--muted:#4A5B7D;--blue:#1D4ED8;--cyan:#0A6E86;--gold:#F0A91A;--goldink:#7A4E00;--ongold:#0B1B3F;--threat:#D62828;--ok:#0F8A5F;
  --glass:rgba(255,255,255,.93);--hdr:rgba(246,248,252,.9);--shadow:0 24px 48px -28px rgba(11,27,63,.35);color-scheme:light}
@property --p{syntax:'<percentage>';inherits:false;initial-value:0%}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 var(--f-b);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto}
a{color:inherit;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--f-d);line-height:1.12;letter-spacing:-.02em;text-wrap:balance;margin:0 0 .5em;font-weight:700}
p{margin:0 0 1em}
::selection{background:var(--gold);color:var(--ongold)}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:200;background:var(--gold);color:var(--ongold);padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
.gut{padding-inline:max(var(--gutter),env(safe-area-inset-left,0px))}
.in-w{max-width:var(--maxw);margin-inline:auto;width:100%}
.dsp-i{flex:none;vertical-align:middle}
input,textarea,select{font:inherit;color:var(--fg);background:var(--surf);border:1px solid var(--line2);border-radius:12px;padding:12px 14px;max-width:100%}
input[type=checkbox],input[type=radio]{accent-color:var(--gold)}
label{font-weight:500}
table{border-collapse:collapse;width:100%}
th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:start}

/* ---------- buttons & links ---------- */
.btn,.button,button[type=submit],input[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:12px;background:var(--gold);color:var(--ongold);font:600 15px var(--f-b);text-decoration:none;border:0;cursor:pointer;transition:filter .2s,transform .2s}
.btn:hover,.button:hover,button[type=submit]:hover,input[type=submit]:hover{filter:brightness(1.08)}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line2)}
.btn.ghost:hover{border-color:var(--gold)}
.more{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--goldink);text-decoration:none;padding-bottom:4px;border-bottom:1px solid var(--line2);transition:border-color .2s}
.more:hover{border-color:var(--gold)}
.more .arr{transition:transform .2s}
.more:hover .arr{transform:translateX(4px)}
.linkbtn{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.eb{display:inline-flex;align-items:center;gap:10px;font:500 12px var(--f-m);letter-spacing:.16em;text-transform:uppercase;color:var(--goldink);margin:0 0 14px}
.eb span{display:inline-grid;place-items:center;min-width:34px;height:22px;padding:0 6px;border:1px solid var(--line2);border-radius:6px;color:var(--cyan);letter-spacing:.06em}

/* ---------- top bar ---------- */
.tb{background:var(--bg2);border-bottom:1px solid var(--line);position:relative;z-index:120}
.tb .in-w{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.tb .g{display:flex;align-items:center;gap:4px;min-width:0}
.tl{display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:13px;min-height:34px;padding:0 8px;border-radius:8px}
.tl:hover{color:var(--fg)}
.ib{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--muted);border:0;background:transparent;cursor:pointer;text-decoration:none;position:relative;transition:color .2s,background .2s}
.ib:hover{color:var(--gold);background:var(--line)}
.lang{position:relative}
.lb{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--fg);font:500 13px var(--f-m);cursor:pointer}
.lm{display:none;position:absolute;inset-inline-end:0;top:100%;min-width:170px;padding:6px;border-radius:14px;background:var(--surf);border:1px solid var(--line2);box-shadow:var(--shadow);z-index:130}
.lm::before{content:"";position:absolute;inset:-8px 0 auto;height:8px}
.lang:hover .lm,.lang:focus-within .lm{display:block}
.lm a{display:flex;gap:10px;align-items:center;min-height:42px;padding:0 12px;border-radius:10px;text-decoration:none;font-size:14px}
.lm a:hover,.lm a[aria-current]{background:var(--line)}
.lm b{font:500 12px var(--f-m);color:var(--goldink);width:22px}
.lm a[lang=fa]{font-family:'Vazirmatn',var(--f-b)}

/* ---------- main navigation ---------- */
.nav{position:sticky;top:0;z-index:110;background:var(--hdr);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.admin-bar .nav{top:32px}
@media (max-width:782px){.admin-bar .nav{top:46px}}
.nav>.in-w{display:flex;align-items:center;gap:18px;min-height:66px}
.logo,.custom-logo-link{display:flex;align-items:center;gap:10px;font:700 24px var(--f-d);letter-spacing:-.5px;text-decoration:none;flex:none}
.logo i{font-style:normal;color:var(--gold)}
.custom-logo{max-height:44px;width:auto}
.links{flex:1;display:flex;justify-content:center}
.links .menu{display:flex;align-items:center;gap:clamp(14px,2vw,30px);list-style:none;margin:0;padding:0}
.links .menu>li{position:relative}
.links .menu>li>a{display:inline-flex;align-items:center;gap:6px;font-size:15px;color:var(--muted);text-decoration:none;padding:10px 2px;border-bottom:2px solid transparent;white-space:nowrap;transition:color .2s,border-color .2s}
.links .menu>li>a:hover,.links .menu>li:focus-within>a,.links .menu>li.current-menu-item>a,.links .menu>li.current-menu-ancestor>a{color:var(--fg);border-bottom-color:var(--gold)}
.links .chev{transition:transform .2s}
.links li:hover>a .chev,.links li:focus-within>a .chev{transform:rotate(180deg)}
.links .sub-menu{position:absolute;top:100%;inset-inline-start:-14px;min-width:280px;list-style:none;margin:8px 0 0;padding:10px;background:var(--surf);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow);display:none;gap:2px;z-index:130}
.links .sub-menu::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.links li:hover>.sub-menu,.links li:focus-within>.sub-menu{display:grid}
.links .dsp-mega>.sub-menu{min-width:340px}
.links .sub-menu a,.mmenu .sub-menu a{display:flex;gap:12px;align-items:center;padding:9px 12px;border-radius:10px;color:var(--fg);text-decoration:none;font-size:14.5px;font-weight:500}
.links .sub-menu a:hover,.links .sub-menu .current-menu-item>a{background:var(--line)}
.ic{width:34px;height:34px;flex:none;border-radius:10px;background:var(--line);display:inline-grid;place-items:center;color:var(--cyan);transition:background .2s,color .2s}
.sub-menu a:hover .ic,.sub-menu .current-menu-item .ic{background:var(--gold);color:var(--ongold)}
.cartl .cc{position:absolute;top:2px;inset-inline-end:0;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--gold);color:var(--ongold);font:700 10px/16px var(--f-b)}
.cartl .cc:empty{display:none}
.burger{display:none;margin-inline-start:auto;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:var(--surf);color:var(--fg);cursor:pointer;align-items:center;justify-content:center}
.mpanel{border-top:1px solid var(--line);padding-top:6px;padding-bottom:20px;max-height:calc(100svh - 70px);overflow:auto}
.mmenu{list-style:none;margin:0 0 16px;padding:0}
.mmenu>li>a{display:flex;align-items:center;gap:8px;min-height:52px;font-size:17px;text-decoration:none;border-bottom:1px solid var(--line)}
.mmenu .sub-menu{list-style:none;margin:6px 0 10px;padding:0}
.mmenu .chev{display:none}
.mpanel .btn{width:100%}
@media (max-width:1180px){.links,.nav .btn.d{display:none}.burger{display:inline-flex}}
@media (max-width:760px){.hs{display:none!important}.ib{width:40px;height:40px}.lb{height:40px}}

/* ---------- stage (transforming illustration) ---------- */
#stage{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.site-content{position:relative;z-index:2}
.dsp-builder{position:relative}

/* ---------- footer ---------- */
.site-foot{position:relative;z-index:3;background:var(--bg2);border-top:1px solid var(--line);padding-top:clamp(48px,7vw,96px)}
.fgrid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.fbrand p{color:var(--muted);max-width:42ch;margin:16px 0}
.socials{display:flex;flex-wrap:wrap;gap:4px}
.site-foot .widget-title{font:500 12px var(--f-m);letter-spacing:.16em;text-transform:uppercase;color:var(--goldink);margin:0 0 16px}
.site-foot ul.menu,.site-foot .widget ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.site-foot .widget a,.site-foot ul.menu a{color:var(--muted);text-decoration:none}
.site-foot .widget a:hover,.site-foot ul.menu a:hover{color:var(--fg)}
.site-foot .widget{margin-bottom:24px}
.site-foot .ct .cb{min-height:52px;padding:8px 14px;border-color:var(--line2);color:var(--fg)}
.site-foot .ct .cb.wa{color:var(--ongold)}
.site-foot .ct .cb span span{font-size:14px}
.fbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:clamp(36px,5vw,64px);padding:22px 0 calc(22px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.fbar p{margin:0}
.fbar .menu{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.fbar a{color:var(--muted);text-decoration:none}
.fbar a:hover{color:var(--fg)}
@media (max-width:980px){.fgrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fbrand{grid-column:1/-1}}
@media (max-width:560px){.fgrid{grid-template-columns:minmax(0,1fr)}}

/* ---------- back to top ---------- */
.totop{position:fixed;inset-inline-end:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:140;width:52px;height:52px;border-radius:50%;border:0;background:var(--surf);color:var(--fg);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow);opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .3s,transform .3s}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop .ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.totop .ring circle{fill:none;stroke:var(--line2);stroke-width:2}
.totop .ring .pr{stroke:var(--gold);stroke-dasharray:138.2;stroke-dashoffset:138.2;stroke-linecap:round}
.totop:hover{color:var(--gold)}
.totop .dsp-i{position:relative;transition:transform .2s}
.totop:hover .dsp-i{transform:translateY(-2px)}

/* ---------- cookie banner ---------- */
.ckb{position:fixed;z-index:150;inset-inline:max(16px,env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));max-width:560px;margin-inline-start:auto;background:var(--surf);border:1px solid var(--line2);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow);font-size:14.5px}
.ckb p{color:var(--muted);margin:0 0 14px}
.ckb a{color:var(--goldink)}
.ckb-b{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.ckb .btn{min-height:42px;padding:0 18px}
.totop.ck-up{bottom:calc(var(--ckh,0px) + 28px)}

/* ==========================================================================
   Slides (dsp_chapter)
   ========================================================================== */
.ch{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;padding-top:calc(var(--hh,72px) + 12px);padding-bottom:clamp(24px,5vh,56px)}
/* readability veil behind bottom-placed text only (no band between side-layout slides) */
.ch::before{content:none}
.ch.shb::before{content:"";position:absolute;inset-inline:0;bottom:0;height:var(--sh,0px);background:linear-gradient(to bottom,transparent 0,color-mix(in srgb,var(--bg) 78%,transparent) 40%,color-mix(in srgb,var(--bg) 78%,transparent) 78%,transparent 100%);pointer-events:none}
/* the first slide sits below the header (not under it): fit it exactly in the first screen */
.ch.hero.ch-top{min-height:calc(100vh - var(--hh,66px) - var(--tbh,0px));min-height:calc(100svh - var(--hh,66px) - var(--tbh,0px));padding-top:16px;padding-bottom:clamp(40px,9vh,112px)}
.ch>.in-w{position:relative;z-index:1}
.tx{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);column-gap:clamp(28px,5vw,96px);align-items:end}
.tx .hd{grid-column:1;position:relative}
.tx .bd{grid-column:2;min-width:0}
.hd::before{content:"";position:absolute;inset-inline-start:0;top:-22px;height:2px;width:0;background:linear-gradient(90deg,var(--gold),var(--cyan));border-radius:2px;transition:width 1.2s .1s cubic-bezier(.2,.7,.2,1)}
.tx.in .hd::before{width:min(100%,240px)}
.tx h1,.tx h2{font-size:clamp(34px,4.9vw,84px);line-height:1;letter-spacing:-.035em;margin:0 0 8px}
.tx h1 em,.tx h2 em{font-style:normal;color:var(--blue)}
.tx .bd p{margin:0 0 16px;color:var(--muted);font-size:clamp(16px,1.3vw,20px);line-height:1.55}
.tx .bd p.big{font:500 clamp(18px,1.6vw,24px)/1.45 var(--f-d);color:var(--fg);margin:0 0 20px}
.tx .bd p.lead{font-size:clamp(16px,1.25vw,19px)}
.tx .cta{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 0}
.chips span{font:500 12px var(--f-m);padding:6px 12px;border:1px solid var(--line2);border-radius:999px;color:var(--muted)}

/* hero: very large single-column headline */
.ch.hero .tx{grid-template-columns:minmax(0,1fr);row-gap:24px}
.ch.hero .hd,.ch.hero .bd{grid-column:1}
.ch.hero h1{font-size:clamp(38px,5.2vw,100px);line-height:.98;letter-spacing:-.045em;max-width:30ch}
.ch.hero .bd{display:grid;grid-template-columns:minmax(0,58ch) auto;column-gap:48px;row-gap:16px;align-items:end;justify-content:space-between}
.ch.hero .bd>*{margin:0}
.ch.hero .chips{grid-column:1/-1}

/* side layouts: compact text column, illustration takes the other side */
@media (min-width:901px){
  .ch[data-lay=L] .in-w,.ch[data-lay=R] .in-w{display:flex}
  .ch[data-lay=L] .tx,.ch[data-lay=R] .tx{width:min(100%,var(--tw,600px));grid-template-columns:minmax(0,1fr);column-gap:0}
  .ch[data-lay=L] .tx .hd,.ch[data-lay=L] .tx .bd,.ch[data-lay=R] .tx .hd,.ch[data-lay=R] .tx .bd{grid-column:1}
  .ch[data-lay=R] .tx{margin-inline-start:auto}
  .ch[data-lay=L] h2,.ch[data-lay=R] h2{font-size:clamp(34px,4.6vw,76px)}
  .ch[data-lay=L] h1,.ch[data-lay=R] h1{font-size:clamp(32px,3.9vw,64px);line-height:1.04}
}

/* title styles */
.ts-center .tx{text-align:center}
.ts-center .eb{justify-content:center}
.ts-center .hd::before{inset-inline-start:50%;transform:translateX(-50%)}
.ts-end .hd{text-align:end}
.ts-end .eb{justify-content:flex-end}
.ts-end .hd::before{inset-inline:auto 0}
.ts-upper h1,.ts-upper h2{text-transform:uppercase;letter-spacing:-.02em;line-height:1.02}
.ts-gradient h1,.ts-gradient h2{background:linear-gradient(95deg,var(--fg) 30%,var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.ts-caret h1::after,.ts-caret h2::after{content:"";display:inline-block;width:.08em;height:.82em;margin-inline-start:.12em;background:var(--gold);animation:bk 1s steps(2) infinite;vertical-align:-.04em}
@keyframes bk{50%{opacity:0}}

/* reveal */
.js .rv{opacity:0;transform:translateY(18px);filter:blur(6px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1),filter .7s;transition-delay:calc(var(--i,0) * 90ms)}
.js .in .rv,.js .dsp-sec .rv{opacity:1;transform:none;filter:none}
.js .scan{-webkit-mask-image:linear-gradient(90deg,#000 var(--p),transparent calc(var(--p) + 16%));mask-image:linear-gradient(90deg,#000 var(--p),transparent calc(var(--p) + 16%));--p:0%}
.js .in .scan{animation:scan 1.3s .15s cubic-bezier(.3,.6,.2,1) forwards}
@keyframes scan{to{--p:116%}}
.js .scan.rev-rl{-webkit-mask-image:linear-gradient(270deg,#000 var(--p),transparent calc(var(--p) + 16%));mask-image:linear-gradient(270deg,#000 var(--p),transparent calc(var(--p) + 16%))}
.js .scan.rev-tb{-webkit-mask-image:linear-gradient(180deg,#000 var(--p),transparent calc(var(--p) + 16%));mask-image:linear-gradient(180deg,#000 var(--p),transparent calc(var(--p) + 16%))}
.js .scan.rev-bt{-webkit-mask-image:linear-gradient(0deg,#000 var(--p),transparent calc(var(--p) + 16%));mask-image:linear-gradient(0deg,#000 var(--p),transparent calc(var(--p) + 16%))}
.js .scan.rev-radial{-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 var(--p),transparent calc(var(--p) + 16%));mask-image:radial-gradient(ellipse at 50% 50%,#000 var(--p),transparent calc(var(--p) + 16%))}
.js .in .scan.rev-type{animation-timing-function:steps(26,end)}
.rvs{opacity:1}
.js .rvs{opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rvs.in{opacity:1;transform:none}

/* typewriter */
.tw{white-space:pre-wrap}
.js .tw span{opacity:0}
.js .in .tw span{animation:tw .01s steps(1) forwards;animation-delay:calc(var(--n) * 16ms + 380ms)}
@keyframes tw{to{opacity:1}}
.tw::after{content:"";display:inline-block;width:.42em;height:1em;margin-inline-start:3px;background:var(--gold);vertical-align:-.12em;opacity:0}
.js .in .tw::after{opacity:1;animation:bk 1s steps(2) infinite}

/* records (DNS strip) */
.rec{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));border:1px solid var(--line2);border-radius:14px;overflow:hidden;font:500 13px/1.5 var(--f-m);text-align:start;margin:0 0 20px;background:color-mix(in srgb,var(--surf) 70%,transparent)}
.rec div{padding:14px 18px;border-inline-start:1px solid var(--line2)}
.rec div:first-child{border-inline-start:0}
.rec b{display:block;color:var(--goldink);font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.rec span{color:var(--fg)}

/* code card */
.codecard{border:1px solid var(--line2);border-radius:18px;overflow:hidden;background:color-mix(in srgb,var(--bg) 55%,#000);margin:0 0 20px}
.tbar{display:flex;gap:6px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font:500 12px var(--f-m);color:var(--muted)}
.tbar i{width:9px;height:9px;border-radius:50%;background:var(--line2)}
.tbar span{margin-inline-start:auto}
pre.code{margin:0;padding:20px 22px;font:500 clamp(12.5px,1vw,15px)/1.75 var(--f-m);color:var(--fg);white-space:pre-wrap;word-break:break-word;text-align:left;direction:ltr}
.kw{color:var(--gold)}.id{color:var(--cyan)}.key{color:var(--fg)}.str{color:var(--muted)}.c{color:var(--muted);opacity:.8}

/* live monitoring (PRTG style) */
.prtg{border:1px solid var(--line2);border-radius:16px;background:var(--surf);overflow:hidden;margin:0 0 20px}
.prtg .ph{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font:600 11.5px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.livec{padding:14px 16px 8px;border-bottom:1px solid var(--line)}
.livec svg{width:100%;height:80px;display:block;overflow:visible}
.lc-l{fill:none;stroke:var(--cyan);stroke-width:2;vector-effect:non-scaling-stroke}
.lc-a{fill:color-mix(in srgb,var(--cyan) 14%,transparent)}
.lcl{display:flex;justify-content:space-between;font:500 12px var(--f-m);color:var(--muted);margin-top:6px}
.lcl b{color:var(--goldink);font-weight:600}
.sn{display:grid;grid-template-columns:auto minmax(0,1fr) 110px auto;gap:14px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.sn:last-child{border-bottom:0}
.sn i{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 20%,transparent);animation:pl 2.4s infinite}
.sn i.w{background:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 20%,transparent)}
@keyframes pl{50%{box-shadow:0 0 0 7px transparent}}
.sn b{display:block;font:600 15px/1.25 var(--f-d);color:var(--fg)}
.sn small{display:block;font:500 12px var(--f-m);color:var(--muted)}
.sn svg{width:110px;height:34px;color:var(--cyan)}
.sn em{font:600 13px var(--f-m);font-style:normal;color:var(--cyan);min-width:36px;text-align:end}

/* pull quote + app mock-up */
.quote{margin:0 0 20px;padding:0;border:0;font:500 clamp(21px,2.2vw,34px)/1.3 var(--f-d);color:var(--fg)}
.quote::before{content:"\201C";color:var(--gold);font-size:2.4em;line-height:0;vertical-align:-.38em;margin-inline-end:.06em}
.tx .bd p.sig{font:600 13px/1.6 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin:0 0 20px}
.appwrap{display:flex;gap:22px;align-items:center;margin:0 0 20px}
.app{width:170px;height:290px;flex:none;border:6px solid var(--line2);border-radius:28px;background:var(--bg);padding:16px 12px;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow)}
.app .ah{font:600 14px var(--f-d);color:var(--fg);margin:4px 0}
.acard{display:flex;gap:8px;align-items:center;padding:8px;border-radius:12px;background:var(--surf);border:1px solid var(--line2);font:600 12px/1.3 var(--f-d);color:var(--fg)}
.acard small{display:block;font:500 10.5px var(--f-m);color:var(--muted)}
.thumb{width:30px;height:30px;border-radius:8px;flex:none;background:linear-gradient(135deg,var(--blue),var(--cyan))}
.thumb.t2{background:linear-gradient(135deg,var(--gold),#FFE08A)}
.thumb.t3{background:linear-gradient(135deg,#A78BFA,var(--blue))}
.app .tabs{margin-top:auto;display:flex;justify-content:space-around;padding-top:10px;border-top:1px solid var(--line)}
.app .tabs i{width:18px;height:4px;border-radius:2px;background:var(--line2)}
.app .tabs i.on{background:var(--gold)}
.tx .bd p.cap,.cap{margin:0;font:500 13px/1.5 var(--f-m);color:var(--muted);max-width:26ch}

/* payment card + order */
.pay{display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center;margin:0 0 20px}
.bcard{width:min(100%,300px);aspect-ratio:1.586;border-radius:18px;padding:16px 18px;color:#fff;background:linear-gradient(135deg,#1D4ED8 0%,#0B1B3F 55%,#0B1633 100%);box-shadow:0 22px 44px -22px rgba(0,0,0,.7),inset 0 0 0 1px rgba(245,184,61,.35);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.bcard::after{content:"";position:absolute;inset-inline-end:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(245,184,61,.45),transparent 70%)}
.bcard .chip{width:38px;height:28px;border-radius:6px;background:linear-gradient(135deg,#F5B83D,#FFE08A);box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}
.tx .bd .bcard p.bt,.bcard .bt{font:600 clamp(14px,1.15vw,17px)/1.2 var(--f-d);margin:0;max-width:14ch;position:relative;z-index:1;color:#fff;letter-spacing:.01em}.bcard .row{display:flex;justify-content:space-between;gap:10px;font:500 10.5px var(--f-m);letter-spacing:.12em;text-transform:uppercase;opacity:.9;position:relative;z-index:1}
.bcard .row span:first-child{opacity:.8}
.order{border:1px solid var(--line2);border-radius:16px;padding:16px 18px;background:var(--surf);min-width:0}
.order .oh{display:flex;justify-content:space-between;align-items:center;gap:10px;font:600 16px var(--f-d);color:var(--fg)}
.okt{font:500 11px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:#0B1B3F;background:var(--gold);padding:4px 9px;border-radius:999px;white-space:nowrap}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:16px}
.steps div{font:500 11px/1.4 var(--f-m);color:var(--muted);border-top:3px solid var(--line2);padding-top:8px}
.steps div.d{border-color:var(--cyan);color:var(--fg)}
.steps div.last{border-color:var(--gold);color:var(--goldink)}

/* search result card */
.serp{position:relative;overflow:hidden;background:var(--surf);border:1px solid var(--line2);border-radius:18px;padding:24px 26px;margin:0 0 20px;--mx:50%;--my:50%}
.serp::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 130px at var(--mx) var(--my),color-mix(in srgb,var(--gold) 20%,transparent),transparent 70%);opacity:0;transition:opacity .35s}
.serp:hover::before{opacity:1}
.serp .bc{display:block;font:500 12.5px var(--f-m);color:var(--muted);margin-bottom:6px}
.serp .st{display:block;font:600 clamp(19px,1.8vw,26px)/1.25 var(--f-d);color:var(--cyan);text-decoration:none}
.serp .st:hover{text-decoration:underline}
.serp .meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:10px 0}
.stars{color:var(--gold);letter-spacing:.1em;font-size:15px}
.slab{font:500 12px var(--f-m);color:var(--muted)}
.price{font:600 15px var(--f-d);color:var(--fg)}
.schema{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.schema span{font:500 11px var(--f-m);color:var(--cyan);border:1px dashed var(--cyan);border-radius:6px;padding:2px 7px}
.tx .bd .serp p.sdesc,.sdesc{font-size:16px;margin:0 0 6px;color:var(--fg)}
.tx .bd .serp p.sdesc2,.sdesc2{font-size:14px;margin:0 0 14px;color:var(--muted);opacity:.5}
.sitel{display:flex;flex-wrap:wrap;gap:8px}
.sitel span{font:500 13px var(--f-m);padding:6px 12px;border:1px solid var(--line2);border-radius:8px;color:var(--fg)}

/* automation map (n8n style) */
.wfmap{position:relative;aspect-ratio:5/3;margin:0 0 20px}
.wfmap>svg{position:absolute;inset:0;width:100%;height:100%}
.pth{fill:none;stroke:var(--gold);stroke-opacity:.85;stroke-width:.7;stroke-dasharray:3 5;vector-effect:non-scaling-stroke;animation:flow .7s linear infinite}
@keyframes flow{to{stroke-dashoffset:-16}}
.nd{border:1px solid var(--line2);border-radius:14px;background:var(--surf);padding:12px 14px;min-width:0}
.wfmap .nd{position:absolute;width:30%;transform:translate(-50%,-50%)}
.nd .st{display:block;font:500 10.5px var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--ok);margin-bottom:6px}
.nd strong{display:block;font:600 15px/1.25 var(--f-d);color:var(--fg);margin-bottom:2px}
.nd small{font:500 12px/1.4 var(--f-m);color:var(--muted)}
.nd.run{border-color:var(--gold);box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 18%,transparent);animation:pl2 1.6s infinite}
.nd.run .st{color:var(--goldink)}
@keyframes pl2{50%{box-shadow:0 0 0 9px transparent}}
.wf-list{aspect-ratio:auto;display:grid;gap:12px}
.wf-list .nd{position:static;transform:none;width:auto}

/* ad campaigns console (Google Ads style) */
.adc{border:1px solid var(--line2);border-radius:16px;background:var(--surf);overflow:hidden;margin:0 0 20px}
.adc .ah2{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);font:600 11.5px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.adc .ah2 b{display:inline-flex;align-items:center;gap:7px;color:var(--ok);font-weight:600}
.adc .ah2 b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent);animation:pl 2.4s infinite}
.adk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}
.adk div{padding:12px 14px;border-inline-start:1px solid var(--line);min-width:0;position:relative}
.adk div:first-child{border-inline-start:0}
.adk div::before{content:"";position:absolute;inset-inline:0;top:0;height:3px;background:var(--c,var(--blue))}
.adk div:nth-child(2){--c:var(--cyan)}.adk div:nth-child(3){--c:var(--gold)}.adk div:nth-child(4){--c:var(--ok)}
.adk small{display:block;font:500 10.5px var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adk b{display:block;font:600 clamp(16px,1.4vw,21px)/1.3 var(--f-d);color:var(--fg);white-space:nowrap}
.adk em{font:500 11px var(--f-m);font-style:normal;color:var(--ok)}
.adch{padding:12px 16px 6px;border-bottom:1px solid var(--line)}
.adch svg{width:100%;height:70px;display:block;overflow:visible}
.adch .l1{fill:none;stroke:var(--blue);stroke-width:2;vector-effect:non-scaling-stroke}
.adch .l2{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
.adch .a1{fill:color-mix(in srgb,var(--blue) 14%,transparent)}
.adch .lg2{display:flex;gap:16px;font:500 11.5px var(--f-m);color:var(--muted);margin-top:4px}
.adch .lg2 i{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--blue);vertical-align:middle;margin-inline-end:6px}
.adch .lg2 span+span i{background:var(--gold)}
.adr{display:grid;grid-template-columns:minmax(0,1fr) auto 90px;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line);font:500 12.5px var(--f-m);color:var(--fg)}
.adr:last-child{border-bottom:0}
.adr strong{font:600 14px/1.3 var(--f-d);display:flex;align-items:center;gap:8px;min-width:0}
.adr strong i{width:8px;height:8px;border-radius:2px;flex:none;background:var(--c,var(--blue))}
.adr:nth-of-type(2){--c:var(--cyan)}.adr:nth-of-type(3){--c:var(--gold)}.adr:nth-of-type(4){--c:#A78BFA}
.adr span{color:var(--muted);font-size:11.5px;white-space:nowrap}
.adr .bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.adr .bar i{display:block;height:100%;width:0;background:var(--c,var(--blue));border-radius:inherit;transition:width 1.4s cubic-bezier(.2,.7,.2,1)}
.in .adr .bar i,.adc.on .adr .bar i{width:var(--w)}

/* ==========================================================================
   Sections (WPBakery rows with class dsp-sec, or [dsp_section])
   ========================================================================== */
.dsp-builder .vc_row{margin-inline:0}
.dsp-builder .vc_row.dsp-row>.vc_column_container>.vc_column-inner{padding:0}
.dsp-builder .vc_row.dsp-row .wpb_wrapper>*{margin-bottom:0}
.dsp-sec,.dsp-builder .vc_row.dsp-sec{position:relative;z-index:2;max-width:calc(var(--maxw) + 2 * var(--gutter));margin-inline:auto;padding:clamp(64px,9vw,128px) var(--gutter);background:var(--bg)}
.dsp-builder .vc_row.dsp-sec::after{content:"";display:table;clear:both}
.dsp-sec.alt,.dsp-builder .vc_row.dsp-sec.alt{background:var(--bg2);box-shadow:0 0 0 100vmax var(--bg2);clip-path:inset(0 -100vmax)}
.dsp-builder .vc_row.dsp-sec>.vc_column_container:only-child>.vc_column-inner{padding-inline:0}
.dsp-builder .wpb_content_element{margin-bottom:28px}
.dsp-first{margin-top:0}

.shead{max-width:860px;margin:0 0 clamp(28px,4vw,48px)}
.shead.a-center{text-align:center;margin-inline:auto}
.shead h2,.shead h1{font-size:clamp(30px,3.6vw,56px);letter-spacing:-.03em;margin:0 0 14px}
.shead h3{font-size:clamp(22px,2.2vw,32px)}
.shead .sub{color:var(--muted);font-size:clamp(16px,1.3vw,19px);margin:0}
.shead.a-center .eb{justify-content:center}

.feats{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:16px}
.feat{background:var(--surf);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;transition:border-color .25s,transform .25s}
.feat:hover{border-color:var(--line2);transform:translateY(-3px)}
.feat .ic{width:44px;height:44px;border-radius:12px;margin-bottom:16px}
.feat h3{font-size:19px;margin:0 0 8px;letter-spacing:-.01em}
.feat p{color:var(--muted);margin:0;font-size:15.5px}
.feat a{color:var(--goldink)}

.psteps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;counter-reset:st}
.psteps li{counter-increment:st;position:relative;padding:26px 22px 22px;border-top:2px solid var(--line2)}
.psteps li::before{content:counter(st,decimal-leading-zero);display:block;font:500 13px var(--f-m);color:var(--goldink);letter-spacing:.12em;margin-bottom:10px}
.psteps li:hover{border-top-color:var(--gold)}
.psteps h3{font-size:18px;margin:0 0 6px}
.psteps p{color:var(--muted);margin:0;font-size:15.5px}

.media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:center}
.media.side-left .media-i{order:-1}
.media-i{margin:0;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--surf)}
.media-i img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

.svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}
.svc-card{position:relative;background:var(--surf);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;transition:border-color .25s,transform .25s}
.svc-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.svc-card .ic{width:46px;height:46px;border-radius:12px;margin-bottom:18px}
.svc-card:hover .ic{background:var(--gold);color:var(--ongold)}
.svc-card h3{font-size:20px;margin:0 0 8px}
.svc-card h3 a{text-decoration:none}
.svc-card h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.svc-card p{color:var(--muted);margin:0 0 14px;font-size:15.5px}
.svc-card .more{border:0;padding:0}

.faq{display:grid;gap:10px;max-width:980px}
.shead.a-center+.faq,.a-center~.faq{margin-inline:auto}
.faq details{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:0 20px;transition:border-color .2s}
.faq details[open]{border-color:var(--line2)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:62px;font:600 17px/1.35 var(--f-d)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 24px var(--f-b);color:var(--goldink);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--muted);margin:0 0 18px}

.ctab{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;padding:clamp(28px,4vw,48px);border-radius:24px;background:linear-gradient(120deg,var(--surf2),var(--surf));border:1px solid var(--line2);position:relative;overflow:hidden}
.ctab::after{content:"";position:absolute;inset-inline-end:-80px;top:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--gold) 30%,transparent),transparent 70%);pointer-events:none}
.ctab h2{font-size:clamp(24px,2.6vw,40px);margin:0 0 8px;max-width:28ch}
.ctab p{color:var(--muted);margin:0;max-width:60ch}
.ctab .cta{display:flex;flex-wrap:wrap;gap:12px;position:relative;z-index:1}

.clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:14px}
.client{margin:0}
.client .lg{min-height:96px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;padding:14px;background:var(--surf);text-decoration:none;transition:border-color .2s}
.client .lg:hover{border-color:var(--line2)}
.client .lg img{max-width:100%;max-height:56px;width:auto;object-fit:contain;filter:grayscale(1) brightness(1.6);opacity:.85;transition:filter .3s,opacity .3s}
:root[data-theme=light] .client .lg img{filter:grayscale(1)}
.client .lg:hover img{filter:none;opacity:1}
.client .nm{font:700 20px var(--f-d);letter-spacing:-.02em}
.client figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:8px}
.client.add .lg{border-style:dashed;color:var(--muted);font-size:15px;font-weight:500}
.client.add .lg:hover{color:var(--goldink);border-color:var(--gold)}

.marq{overflow:hidden;display:flex;gap:0;margin-top:clamp(28px,4vw,48px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.marq ul{display:flex;flex:none;gap:48px;list-style:none;margin:0;padding:0 24px;animation:marq 40s linear infinite}
.marq li{font:500 clamp(15px,1.35vw,20px) var(--f-m);letter-spacing:.02em;color:var(--muted);white-space:nowrap;opacity:.8}
.marq:hover ul{animation-play-state:paused}
@keyframes marq{to{transform:translateX(-100%)}}

.clocks{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:12px}
.clock{border:1px solid var(--line);border-radius:14px;padding:16px 18px;background:var(--surf)}
.clock span{display:block;font-size:14px;color:var(--muted)}
.clock b{display:block;font:500 clamp(24px,2.2vw,32px) var(--f-m);color:var(--fg);letter-spacing:-.02em}

.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(28px,5vw,80px);align-items:center;padding:clamp(32px,5vw,64px);border-radius:28px;background:linear-gradient(135deg,#0B1B3F,#102a6b);color:#fff}
.contact h2{font-size:clamp(28px,3.4vw,52px);margin:0 0 14px}
.contact p{color:#C7D4F0;margin:0}
.contact .eb{color:#F5B83D}
.ct{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.cb{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 18px;border:1px solid rgba(255,255,255,.28);border-radius:16px;color:#fff;text-decoration:none;transition:background .25s,border-color .25s,transform .25s}
.cb:hover{background:rgba(255,255,255,.08);border-color:#F5B83D;transform:translateX(4px)}
.cb .dsp-i{color:#F5B83D}
.cb b{display:block;font:500 11px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:#F5B83D}
.cb span span{display:block;font-size:16px;font-weight:500;overflow-wrap:anywhere}
.cb.wa{background:#F5B83D;border-color:#F5B83D;color:#050B1F}
.cb.wa .dsp-i,.cb.wa b{color:#050B1F}
.cb.wa:hover{background:#FFC75A}
.site-foot .cb:not(.wa){color:var(--fg);border-color:var(--line2)}
.site-foot .cb:not(.wa) b,.site-foot .cb:not(.wa) .dsp-i{color:var(--goldink)}

/* ==========================================================================
   Inner pages
   ========================================================================== */
.phead{position:relative;z-index:2;padding-top:clamp(40px,7vw,96px);padding-bottom:clamp(28px,4vw,56px);border-bottom:1px solid var(--line);background:radial-gradient(1200px 400px at 85% 0,color-mix(in srgb,var(--blue) 14%,transparent),transparent 70%),var(--bg)}
.phead h1{font-size:clamp(34px,4.6vw,72px);letter-spacing:-.035em;max-width:24ch;margin:0 0 12px}
.phead-sub{color:var(--muted);font-size:clamp(16px,1.3vw,20px);max-width:64ch;margin:0}
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font:500 13px var(--f-m);color:var(--muted);margin:0 0 22px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--goldink)}
.crumbs .sep,.crumbs .breadcrumb_last{opacity:.9}
.crumbs [aria-current]{color:var(--fg)}
.page-body{position:relative;z-index:2;padding-block:clamp(36px,6vw,80px)}
.featimg{margin:0 0 32px;border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.featimg img{display:block;width:100%}

.prose{max-width:760px;font-size:17.5px;line-height:1.75}
.page-body>.prose,.legal .prose{margin-inline:auto}
.prose h2{font-size:clamp(24px,2.4vw,34px);margin:2em 0 .6em;scroll-margin-top:100px}
.prose h3{font-size:clamp(19px,1.8vw,24px);margin:1.6em 0 .5em}
.prose a{color:var(--goldink)}
.prose ul,.prose ol{padding-inline-start:1.3em}
.prose li{margin:.35em 0}
.prose li::marker{color:var(--goldink)}
.prose blockquote{margin:1.5em 0;padding-block:4px;padding-inline:20px 0;border-inline-start:3px solid var(--gold);color:var(--fg);font:500 1.1em/1.5 var(--f-d)}
.prose code{font:500 .9em var(--f-m);background:var(--surf);border:1px solid var(--line);padding:1px 6px;border-radius:6px}
.prose pre{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:16px;overflow:auto}
.prose table{margin:1.5em 0;font-size:15px}
.prose th{font-family:var(--f-d);color:var(--fg)}
.prose img{border-radius:14px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2.5em 0}
.prose .placeholder,.prose mark{background:color-mix(in srgb,var(--gold) 22%,transparent);color:var(--fg);padding:0 4px;border-radius:4px}
.alignwide{max-width:1100px}
.alignfull{max-width:none}
.aligncenter{margin-inline:auto;display:block}
.alignleft{float:inline-start;margin-inline-end:1.5em}
.alignright{float:inline-end;margin-inline-start:1.5em}
.wp-caption-text,figcaption{font-size:14px;color:var(--muted)}
.sticky .pcard-b h2::before{content:"★ ";color:var(--gold)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.bypostauthor{}

/* legal */
.legal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(28px,5vw,80px);padding-block:clamp(36px,6vw,80px);align-items:start}
.toc-wrap{position:sticky;top:96px}
.toc{border:1px solid var(--line);border-radius:16px;padding:18px;background:var(--surf);font-size:14.5px}
.toc ol{list-style:none;margin:0;padding:0;display:grid;gap:4px;counter-reset:t}
.toc li{counter-increment:t}
.toc a{display:flex;gap:10px;padding:6px 8px;border-radius:8px;color:var(--muted);text-decoration:none}
.toc a::before{content:counter(t,decimal-leading-zero);font:500 12px/1.9 var(--f-m);color:var(--goldink)}
.toc a:hover,.toc a.on{background:var(--line);color:var(--fg)}
.legal .prose{margin:0}

/* blog */
.blog-wrap{position:relative;z-index:2;padding-block:clamp(36px,6vw,80px)}
.blog-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.blog-grid:has(.side){grid-template-columns:minmax(0,1fr) 300px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}
.pcard{background:var(--surf);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.pcard:hover{border-color:var(--line2);transform:translateY(-3px)}
.pcard-img{display:block;aspect-ratio:16/10;background:var(--surf2);overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover;display:block}
.pcard-img .ph{display:grid;place-items:center;height:100%;color:var(--line2)}
.pcard-b{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.pcard h2{font-size:20px;margin:0 0 8px}
.pcard h2 a{text-decoration:none}
.pcard p{color:var(--muted);font-size:15.5px}
.pcard .more{margin-top:auto;align-self:flex-start}
.pmeta{font:500 12.5px var(--f-m);color:var(--muted);margin:0 0 10px}
.phead .post-categories,.phead a[rel~=category]{display:inline-block;font:500 12px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--goldink);text-decoration:none;margin-bottom:12px}
.post-foot{margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.tags a{font:500 12.5px var(--f-m);padding:5px 12px;border:1px solid var(--line2);border-radius:999px;text-decoration:none;color:var(--muted)}
.nav-links{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.nav-links a{display:flex;flex-direction:column;text-decoration:none;font:600 16px var(--f-d)}
.nav-links a span{font:500 12px var(--f-m);color:var(--muted);text-transform:uppercase;letter-spacing:.12em}
.pagination .nav-links{justify-content:center;gap:6px;margin-top:36px}
.page-numbers{display:inline-grid;place-items:center;min-width:42px;height:42px;border-radius:10px;border:1px solid var(--line);text-decoration:none;font-weight:600}
.page-numbers.current{background:var(--gold);color:var(--ongold);border-color:var(--gold)}
.side .widget{background:var(--surf);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}
.side .widget-title{font:500 12px var(--f-m);letter-spacing:.16em;text-transform:uppercase;color:var(--goldink);margin:0 0 12px}
.side ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.side a{color:var(--muted);text-decoration:none}
.side a:hover{color:var(--fg)}

/* forms & comments */
.sform{display:flex;gap:8px;max-width:520px}
.sform input{flex:1;min-height:48px}
.sform .btn{min-width:54px;padding:0 16px}
.comments{margin-top:56px}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-inline-start:28px}
.comment-body{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:12px}
.comment-author img{border-radius:50%;vertical-align:middle;margin-inline-end:8px}
.comment-form{display:grid;gap:12px}
.comment-form textarea,.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url]{width:100%}

/* 404 */
.nf{position:relative;z-index:2;padding-block:clamp(64px,12vw,160px);text-align:center}
.nf .in-w{display:grid;justify-items:center;gap:16px}
.nf-code{font:800 clamp(96px,20vw,260px)/.9 var(--f-d);letter-spacing:-.06em;margin:0;background:linear-gradient(180deg,var(--fg),transparent);-webkit-background-clip:text;background-clip:text;color:transparent}
.nf h1{font-size:clamp(28px,3.4vw,48px);margin:0}
.nf .cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.none{padding:40px 0}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:900px){
  .ch{padding-top:calc(var(--hh,64px) + 8px)}
  .tx{grid-template-columns:minmax(0,1fr);row-gap:14px}
  .tx .hd,.tx .bd{grid-column:1}
  .tx h1,.tx h2,.ch.hero h1{font-size:clamp(30px,9.2vw,46px)}
  .tx .bd p{font-size:15.5px;margin-bottom:10px}
  .tx .bd p.big{font-size:clamp(17px,5vw,21px)}
  .ch.hero .bd{grid-template-columns:minmax(0,1fr)}
  .ch.hero .chips{display:none}
  .ts-end .hd{text-align:start}
  .ts-end .eb{justify-content:flex-start}
  .ts-end .hd::before{inset-inline:0 auto}
  .rec{grid-template-columns:minmax(0,1fr)}
  .rec div{border-inline-start:0;border-top:1px solid var(--line2)}
  .rec div:first-child{border-top:0}
  .pay{grid-template-columns:minmax(0,1fr)}
  .app{width:150px;height:260px}
  .wfmap{aspect-ratio:auto;display:grid;gap:12px}
  .wfmap>svg{display:none}
  .wfmap .nd{position:static;transform:none;width:auto}
  .sn{grid-template-columns:auto minmax(0,1fr) auto}
  .sn svg{display:none}
  .adk{grid-template-columns:repeat(2,minmax(0,1fr))}
  .adk div:nth-child(3){border-inline-start:0}
  .adk div:nth-child(n+3){border-top:1px solid var(--line)}
  .adr{grid-template-columns:minmax(0,1fr) 70px}
  .adr span{display:none}
  .serp{padding:18px}
  pre.code{font-size:12.5px;line-height:1.6}
  .feats{grid-template-columns:minmax(0,1fr)}
  .media{grid-template-columns:minmax(0,1fr)}
  .media.side-left .media-i{order:0}
  .contact{grid-template-columns:minmax(0,1fr)}
  .legal{grid-template-columns:minmax(0,1fr)}
  .toc-wrap{position:static}
  .blog-grid:has(.side){grid-template-columns:minmax(0,1fr)}
}
@media (min-width:901px) and (max-width:1200px){
  .feats{grid-template-columns:repeat(min(var(--cols,3),2),minmax(0,1fr))}
}
@media (min-width:901px) and (max-height:820px){
  .tx h1,.tx h2{font-size:clamp(34px,8.6vh,80px)}
  .ch.hero h1{font-size:clamp(36px,8.8vh,84px)}
  .tx .bd p.big,.quote{font-size:clamp(16px,2.4vh,21px)}
  pre.code{font-size:12.5px;padding:14px 16px}
  .bcard{width:250px}
  .ch{padding-bottom:28px}
  .ch.hero.ch-top{padding-bottom:clamp(32px,7vh,72px)}
  .livec svg,.adch svg{height:52px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rv,.js .rvs{opacity:1;transform:none;filter:none;transition:none}
  .js .scan{-webkit-mask-image:none;mask-image:none}
  .js .tw span{opacity:1;animation:none}
  .tw::after,.ts-caret h1::after,.ts-caret h2::after{display:none}
  .marq ul,.pth,.sn i,.nd.run,.adc .ah2 b::before{animation:none}
  .adr .bar i{transition:none;width:var(--w)}
}
@media print{
  .tb,.nav,.site-foot,.totop,.ckb,#stage{display:none!important}
  body{background:#fff;color:#000}
}

/* ---------- in-depth service sections ---------- */
.deep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin-top:8px}
.deep-item{position:relative;padding:26px 26px 24px;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--surf) 70%,transparent)}
.deep-item::before{content:"";position:absolute;inset-inline-start:26px;top:-1px;width:48px;height:2px;background:linear-gradient(90deg,var(--gold),var(--cyan));border-radius:2px}
.deep-item h3{font:600 clamp(18px,1.6vw,22px)/1.3 var(--f-d);margin:0 0 10px;color:var(--fg);letter-spacing:-.01em}
.deep-item p{margin:0;color:var(--muted);font-size:16.5px;line-height:1.7}
.wpb_text_column .deep-grid p:empty{display:none}
@media (max-width:760px){.deep-grid{grid-template-columns:minmax(0,1fr)}.deep-item{padding:20px}}
