/* Dont Panic Business Technologies: Aero glass theme, purple base */
:root{
--ink:#f6f1ff;--mut:#d2c6ec;--link:#e2ccff;--accent:#c79bff;--violet:#7b3fe4;--violet-d:#5a22c0;--magenta:#5b21b6;
--bg0:#07020f;--bg1:#170632;--bg2:#100426;
--g-top:rgba(255,255,255,.17);--g-mid:rgba(255,255,255,.07);--g-low:rgba(255,255,255,.03);--g-bot:rgba(255,255,255,.08);
--g-bd:rgba(255,255,255,.24);--g-hi:rgba(255,255,255,.5);--g-sh:rgba(8,0,28,.5);
--line:rgba(255,255,255,.16);--tint:rgba(199,155,255,.16);--field:rgba(10,2,30,.35);
--r:16px;--wrap:1200px;--gut:clamp(20px,4vw,48px);--hdr:80px;
--fh:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--fb:"Source Sans 3",system-ui,-apple-system,"Segoe UI",sans-serif;
--err:#ffb4c0}
html[data-theme=light]{color-scheme:light;--ink:#1e0f3d;--mut:#4b3a6e;--link:#5a22c0;--accent:#6a2fd6;
--bg0:#efe9fb;--bg1:#ddd0f7;--bg2:#e6dcf9;
--g-top:rgba(255,255,255,.85);--g-mid:rgba(255,255,255,.55);--g-low:rgba(255,255,255,.42);--g-bot:rgba(255,255,255,.6);
--g-bd:rgba(255,255,255,.9);--g-hi:rgba(255,255,255,1);--g-sh:rgba(70,30,140,.18);
--line:rgba(60,20,120,.14);--tint:rgba(123,63,228,.1);--field:rgba(255,255,255,.7);--err:#a8102c}
html[data-theme=dark]{color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:calc(var(--hdr) + 16px);scroll-behavior:smooth;background:var(--bg0)}
body{margin:0;font:400 18px/1.65 var(--fb);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;
background:
radial-gradient(1200px 700px at 12% -10%,rgba(109,40,217,.42),transparent 60%),
radial-gradient(900px 600px at 95% 15%,rgba(76,29,149,.38),transparent 60%),
radial-gradient(1000px 700px at 50% 110%,rgba(67,28,140,.35),transparent 60%),
linear-gradient(160deg,var(--bg1),var(--bg0) 55%,var(--bg2));background-attachment:fixed}
html[data-theme=light] body{background:
radial-gradient(1200px 700px at 12% -10%,rgba(168,85,247,.35),transparent 60%),
radial-gradient(900px 600px at 95% 15%,rgba(124,58,237,.18),transparent 60%),
radial-gradient(1000px 700px at 50% 110%,rgba(99,102,241,.25),transparent 60%),
linear-gradient(160deg,var(--bg1),var(--bg0) 55%,var(--bg2));background-attachment:fixed}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
background:
linear-gradient(115deg,transparent 28%,rgba(255,255,255,.07) 36%,transparent 44%),
linear-gradient(115deg,transparent 52%,rgba(255,255,255,.05) 57%,transparent 63%),
linear-gradient(115deg,transparent 70%,rgba(255,255,255,.04) 73%,transparent 78%)}
h1,h2,h3,h4{font-family:var(--fh);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(34px,4.8vw,58px);line-height:1.06;letter-spacing:-.03em;font-weight:800;text-shadow:0 2px 24px rgba(199,155,255,.35)}
html[data-theme=light] h1{text-shadow:none}
h2{font-size:clamp(26px,3vw,38px)}h3{font-size:21px}
p{margin:0 0 1em}img{display:block;max-width:100%}figure{margin:0}
a{color:var(--link);text-underline-offset:3px}a:hover{color:#fff}html[data-theme=light] a:hover{color:var(--violet-d)}
:focus{outline:0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}
::selection{background:rgba(199,155,255,.4)}
.ico{display:inline-block;width:1.25em;height:1.25em;flex:none;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}
.ico.xl{width:100%;height:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-70px;background:var(--violet);color:#fff;padding:12px 18px;z-index:100;font-weight:700;border-radius:10px}.skip:focus{top:12px}
main:focus{outline:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}

/* glass surface */
.glass,.card2,.box,.form,.cbox,details,.steps div,.phead-art,.dd,.logo-plate{
background:linear-gradient(180deg,var(--g-top) 0%,var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot) 100%);
-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);
border:1px solid var(--g-bd);
box-shadow:inset 0 1px 0 var(--g-hi),inset 0 -1px 0 rgba(255,255,255,.06),0 12px 34px var(--g-sh)}

/* buttons: glossy aero capsules */
.btn{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 26px;border-radius:12px;font:700 16px/1.2 var(--fh);letter-spacing:.01em;text-decoration:none;cursor:pointer;color:#fff;
border:1px solid rgba(255,255,255,.45);
background:linear-gradient(180deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.12) 48%,rgba(255,255,255,.04) 52%,rgba(255,255,255,.14) 100%);
-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);
box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -8px 16px rgba(255,255,255,.08),0 6px 18px rgba(10,0,30,.35);
text-shadow:0 1px 2px rgba(20,0,50,.45);
transition:box-shadow .25s,transform .12s,border-color .25s,filter .25s}
.btn::before{content:"";position:absolute;left:6%;right:6%;top:1px;height:48%;border-radius:10px 10px 40% 40%/10px 10px 8px 8px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.08));z-index:-1;pointer-events:none}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-18deg);z-index:-1;pointer-events:none;transition:left .6s ease}
.btn:hover::after{left:130%}
.btn:hover{border-color:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -8px 18px rgba(255,255,255,.14),0 0 0 4px rgba(199,155,255,.18),0 0 28px rgba(199,155,255,.55),0 8px 22px rgba(10,0,30,.4);color:#fff}
.btn:active{transform:translateY(1px) scale(.99);box-shadow:inset 0 2px 8px rgba(10,0,30,.45),inset 0 1px 0 rgba(255,255,255,.4),0 2px 8px rgba(10,0,30,.3)}
.btn .ico{width:18px;height:18px;filter:drop-shadow(0 1px 1px rgba(20,0,50,.4))}
.btn-primary{border-color:rgba(236,210,255,.75);
background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%);
box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -10px 18px rgba(167,139,250,.3),0 8px 24px rgba(90,20,190,.55),0 0 0 1px rgba(60,10,140,.5)}
.btn-primary:hover{border-color:#fff;filter:brightness(1.08) saturate(1.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.9),inset 0 -10px 22px rgba(167,139,250,.45),0 0 0 4px rgba(199,155,255,.25),0 0 36px rgba(186,110,255,.75),0 10px 26px rgba(90,20,190,.55)}
.btn-primary:active{filter:brightness(.95)}
.btn-secondary{color:#fff}
html[data-theme=light] .btn-secondary{color:var(--ink);text-shadow:none;border-color:rgba(123,63,228,.35);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.7) 48%,rgba(240,230,255,.6) 52%,rgba(255,255,255,.85));box-shadow:inset 0 1px 0 #fff,0 4px 14px rgba(70,30,140,.15)}
html[data-theme=light] .btn-secondary:hover{color:var(--ink);border-color:var(--accent);box-shadow:inset 0 1px 0 #fff,0 0 0 4px rgba(123,63,228,.12),0 0 22px rgba(123,63,228,.3)}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}.btn:disabled::after{display:none}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:12px}
html[data-theme=light] .btn:focus-visible{outline-color:var(--violet)}

/* header: glass bar */
.hdr{position:sticky;top:0;z-index:50;
background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.05) 50%,rgba(255,255,255,.02) 51%,rgba(255,255,255,.06));
-webkit-backdrop-filter:blur(20px) saturate(1.7);backdrop-filter:blur(20px) saturate(1.7);
border-bottom:1px solid var(--g-bd);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 8px 30px var(--g-sh)}
html[data-theme=light] .hdr{background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,.6) 50%,rgba(255,255,255,.5) 51%,rgba(255,255,255,.7))}
.hdr-in{display:flex;align-items:center;gap:24px;min-height:var(--hdr)}
.brand{display:block;flex:none;border-radius:14px;padding:7px 12px;background:#000;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 1px rgba(167,139,250,.35),0 4px 18px rgba(109,40,217,.35)}.brand img{height:54px;width:auto;border-radius:0}
.mainnav{margin-left:auto}.mainnav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.mainnav a{position:relative;display:flex;align-items:center;min-height:44px;padding:0 15px;border-radius:10px;color:var(--ink);text-decoration:none;font:600 15.5px var(--fh);border:1px solid transparent;transition:background .2s,border-color .2s,box-shadow .2s}
.mainnav a:hover{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06) 50%,rgba(255,255,255,.02) 51%,rgba(255,255,255,.1));border-color:rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.5);color:var(--ink)}
.mainnav a[aria-current=page]{background:linear-gradient(180deg,rgba(199,155,255,.5),rgba(138,70,238,.35) 50%,rgba(106,38,214,.3) 51%,rgba(140,63,240,.45));border-color:rgba(236,210,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 18px rgba(186,110,255,.45);color:#fff}
html[data-theme=light] .mainnav a:hover{background:rgba(123,63,228,.08);border-color:rgba(123,63,228,.2)}
html[data-theme=light] .mainnav a[aria-current=page]{color:#fff;text-shadow:0 1px 1px rgba(40,0,90,.4)}
.has-dd{position:relative}.dd-row{display:flex;align-items:center}
.dd-btn{width:34px;height:34px;background:none;border:1px solid transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;margin-left:-2px;border-radius:8px}.dd-btn:hover{background:var(--tint);border-color:var(--line)}
.dd-btn .ico{width:16px;height:16px;transition:transform .2s}.dd-btn[aria-expanded=true] .ico{transform:rotate(180deg)}
.dd{display:none!important;position:absolute;top:calc(100% + 10px);left:0;min-width:340px;flex-direction:column;border-radius:18px;padding:8px!important;gap:2px!important;
background:linear-gradient(180deg,rgba(60,24,120,.92),rgba(36,12,80,.94))!important}
html[data-theme=light] .dd{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(246,240,255,.97))!important}
.dd.open{display:flex!important}@media(min-width:901px){.has-dd::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}}.dd a{font-weight:500;border-radius:12px}
.hdr-tools{display:flex;align-items:center;gap:8px}
.hdr-phone{display:flex;align-items:center;gap:8px}
.hdr-phone,.theme-btn,.menu-btn{position:relative;overflow:hidden;min-height:44px;border-radius:11px;color:var(--ink);text-decoration:none;font:700 15px var(--fh);white-space:nowrap;cursor:pointer;
border:1px solid rgba(255,255,255,.4);
background:linear-gradient(180deg,rgba(255,255,255,.26),rgba(255,255,255,.09) 48%,rgba(255,255,255,.03) 52%,rgba(255,255,255,.12));
box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 4px 14px rgba(10,0,30,.3);transition:box-shadow .2s,border-color .2s}
.hdr-phone{padding:0 16px}
.hdr-phone:hover,.theme-btn:hover,.menu-btn:hover{color:var(--ink);border-color:rgba(255,255,255,.8);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 0 22px rgba(199,155,255,.5)}
.hdr-phone .ico{width:17px;height:17px;color:var(--accent)}
.theme-btn,.menu-btn{width:44px;height:44px;display:grid;place-items:center;padding:0}
.theme-btn[aria-pressed=true]{border-color:rgba(236,210,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 16px rgba(186,110,255,.45)}
html[data-theme=light] .hdr-phone,html[data-theme=light] .theme-btn,html[data-theme=light] .menu-btn{border-color:rgba(123,63,228,.3);background:linear-gradient(180deg,#fff,rgba(255,255,255,.75) 48%,rgba(240,230,255,.7) 52%,#fff);box-shadow:inset 0 1px 0 #fff,0 3px 10px rgba(70,30,140,.14)}
.menu-btn{display:none}

.crumbs{max-width:var(--wrap);margin:0 auto;padding:22px var(--gut) 0}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:15px}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--mut)}.crumbs span{color:var(--mut)}
.kicker{display:inline-flex;align-items:center;gap:8px;font:700 12.5px/1 var(--fh);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 18px;padding:8px 14px;border-radius:999px;border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-low));box-shadow:inset 0 1px 0 var(--g-hi)}
.kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.lbl{font:700 13px/1.2 var(--fh);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;color:var(--mut)}
.lede{font-size:clamp(19px,1.8vw,22px);line-height:1.55;max-width:62ch;color:var(--mut)}
.prose{max-width:68ch}.prose p{margin:0 0 1.1em}.muted{color:var(--mut)}

/* hero */
.hero{position:relative}
.hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,80px);padding-top:clamp(48px,7vw,104px);padding-bottom:clamp(48px,7vw,104px);align-items:center}
.hero h1{margin-bottom:24px}.hero p{color:var(--mut)}.hero .lede{color:var(--ink)}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.logo-plate{border-radius:26px;padding:clamp(14px,2vw,22px);position:relative}
.logo-plate img{width:100%;height:auto;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.7),0 8px 26px rgba(10,0,30,.35)}
.logo-plate::after{content:"";position:absolute;inset:1px 1px 50% 1px;border-radius:25px 25px 60% 60%/25px 25px 30px 30px;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent);pointer-events:none}
.hero-fig figcaption{font:600 15px var(--fh);letter-spacing:.04em;margin-top:18px;color:var(--mut);text-align:center}

/* page head */
.phead-in{display:flex;gap:32px;justify-content:space-between;align-items:center;padding-top:clamp(24px,3.5vw,48px);padding-bottom:clamp(32px,4.5vw,64px)}
.phead h1{margin-bottom:14px;font-size:clamp(32px,4.2vw,52px)}
.phead-art{flex:none;width:clamp(80px,11vw,136px);aspect-ratio:1;color:#fff;padding:clamp(18px,2.6vw,32px);border-radius:30px;
background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%)!important;border-color:rgba(236,210,255,.7)!important;
box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -14px 24px rgba(167,139,250,.3),0 16px 40px rgba(90,20,190,.55)!important;position:relative;overflow:hidden}
.phead-art::before{content:"";position:absolute;left:8%;right:8%;top:2px;height:46%;border-radius:28px 28px 50% 50%/28px 28px 18px 18px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.05))}
.phead-art .ico{position:relative;filter:drop-shadow(0 2px 3px rgba(30,0,70,.5))}

.sec{padding:clamp(48px,7vw,104px) 0;position:relative}
.sec-alt{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
html[data-theme=light] .sec-alt{background:rgba(255,255,255,.35)}
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,5vw,80px)}
.sec h2{margin-bottom:18px}.mt{margin-top:44px}.after{margin-top:36px}
.grp{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(20px,3vw,40px);margin-top:48px}.grp-l p{color:var(--mut);font-size:16px}.grp-l h3{margin-bottom:6px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:44px}.grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:var(--wrap);margin-left:auto;margin-right:auto;padding:0 var(--gut);box-sizing:border-box}.wgrid>*,.wgrid>:nth-child(n+4){grid-column:span 1}

/* cards */
.card2{display:flex;flex-direction:column;align-items:flex-start;gap:10px;border-radius:var(--r);padding:28px;position:relative;transition:box-shadow .25s,transform .25s,border-color .25s}
.card2:hover{transform:translateY(-3px);border-color:rgba(236,210,255,.7);box-shadow:inset 0 1px 0 var(--g-hi),0 0 0 1px rgba(199,155,255,.25),0 0 34px rgba(186,110,255,.35),0 18px 40px var(--g-sh)}
.card2 h3{margin:0;font-size:20px}.card2 h3 a{color:var(--ink);text-decoration:none}.card2 h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r)}
.card2 h3 a:focus-visible{outline:0}.card2:has(h3 a:focus-visible){outline:3px solid var(--accent);outline-offset:3px}
.card2 p{margin:0;font-size:16.5px;color:var(--mut);line-height:1.55}
.card2 .more{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:8px;font:700 15px var(--fh);text-decoration:none;position:relative;color:var(--link)}.card2 .more .ico{width:17px;height:17px;transition:transform .2s}.card2:hover .more .ico{transform:translateX(4px)}
.card2-ico{position:relative;overflow:hidden;width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin-bottom:6px;color:#fff;
background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%);border:1px solid rgba(236,210,255,.7);
box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -8px 14px rgba(167,139,250,.3),0 6px 16px rgba(90,20,190,.45)}
.card2-ico::before{content:"";position:absolute;left:6%;right:6%;top:1px;height:46%;border-radius:14px 14px 50% 50%/14px 14px 8px 8px;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.05))}
.card2-ico .ico{position:relative;width:28px;height:28px;filter:drop-shadow(0 1px 2px rgba(30,0,70,.5))}
.tagl{font:700 12px/1 var(--fh)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--ink)!important;padding:7px 12px;border-radius:999px;display:inline-block;border:1px solid rgba(236,210,255,.5);background:linear-gradient(180deg,rgba(199,155,255,.4),rgba(123,63,228,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}.steps div{padding:26px 22px;border-radius:var(--r);display:flex;flex-direction:column;gap:18px;min-height:170px}
.steps b{font:800 42px/1 var(--fh);background:linear-gradient(180deg,#fff,#c79bff);-webkit-background-clip:text;background-clip:text;color:transparent}
html[data-theme=light] .steps b{background:linear-gradient(180deg,#8a46ee,#5a22c0);-webkit-background-clip:text;background-clip:text}
.steps span{font:700 18px/1.3 var(--fh);margin-top:auto}
.split-big{align-items:center}
.rel{display:flex;gap:24px;flex-wrap:wrap;font-weight:700}
.svc{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:start}
.lead2{font-size:clamp(26px,3vw,34px);margin-bottom:24px!important}
.box{border-radius:20px;padding:32px;position:sticky;top:calc(var(--hdr) + 24px)}
.ticks{list-style:none;margin:0;padding:0}.ticks li{padding:13px 0 13px 38px;border-top:1px solid var(--line);position:relative}.ticks li:first-child{border-top:0}
.ticks li::before{content:"";position:absolute;left:0;top:16px;width:24px;height:24px;border-radius:50%;background:linear-gradient(180deg,#8b5cf6,#6d28d9 50%,#5b21b6 51%,#6d28d9);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 2px 8px rgba(90,20,190,.5)}
.ticks li::after{content:"";position:absolute;left:8px;top:23px;width:9px;height:5px;border-left:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(-45deg)}
.trip{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,5fr) minmax(0,4fr);gap:clamp(20px,4vw,56px)}.trip h2{font-size:clamp(22px,2.4vw,30px)}
.rl{list-style:none;margin:0;padding:0;font-weight:600;display:flex;flex-direction:column;gap:10px}
.rl a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 20px;border-radius:14px;text-decoration:none;color:var(--ink);
border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-mid) 48%,var(--g-low) 52%,var(--g-bot));box-shadow:inset 0 1px 0 var(--g-hi),0 6px 18px var(--g-sh);transition:box-shadow .2s,border-color .2s}
.rl a::after{content:"\203A";font-size:24px;line-height:1;color:var(--accent)}
.rl a:hover{color:var(--ink);border-color:rgba(236,210,255,.7);box-shadow:inset 0 1px 0 var(--g-hi),0 0 24px rgba(186,110,255,.4)}
.rl-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.case{max-width:1000px}.case-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(20px,4vw,56px);padding:36px 0;border-top:1px solid var(--line)}.case-row:first-child{border-top:0;padding-top:0}.case-row h2{font-size:clamp(22px,2.4vw,28px)}
.note{font-size:15px;color:var(--mut)}
.faq{max-width:860px}details{border-radius:var(--r);margin-bottom:12px}details[open]{border-color:rgba(236,210,255,.6)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:64px;padding:14px 24px;font:700 18.5px/1.35 var(--fh);border-radius:var(--r)}summary::-webkit-details-marker{display:none}summary:hover{color:var(--link)}
.pm{width:28px;height:28px;flex:none;position:relative;border-radius:50%;color:#fff;background:linear-gradient(180deg,#8b5cf6,#6d28d9 50%,#5b21b6 51%,#6d28d9);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 2px 8px rgba(90,20,190,.45)}
.pm::before,.pm::after{content:"";position:absolute;background:currentColor;left:8px;right:8px;top:13px;height:2px;border-radius:2px}.pm::after{transform:rotate(90deg);transition:transform .2s}details[open] .pm::after{transform:none}
details p{max-width:68ch;padding:0 24px 22px;margin:0;color:var(--mut)}
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,5vw,80px);align-items:start}
.cbox{list-style:none;margin:28px 0;padding:0;border-radius:20px;overflow:hidden}.cbox li{padding:22px 26px;display:flex;flex-direction:column;gap:4px}.cbox li+li{border-top:1px solid var(--line)}
.cbox a{font:700 clamp(22px,3vw,30px)/1.2 var(--fh);overflow-wrap:anywhere;text-decoration:none;color:var(--ink)}.cbox a:hover{color:var(--link)}
.form{border-radius:24px;padding:clamp(22px,3vw,40px)}.form h2{font-size:28px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px}.field label{font:700 15px var(--fh)}.req,.opt{font:400 13px var(--fb);color:var(--mut);margin-left:6px}
.input{width:100%;min-height:50px;padding:11px 16px;font:inherit;font-size:17px;color:var(--ink);background:var(--field);border:1px solid var(--g-bd);border-radius:12px;box-shadow:inset 0 2px 6px rgba(10,0,30,.25);transition:border-color .2s,box-shadow .2s}
html[data-theme=light] .input{box-shadow:inset 0 2px 4px rgba(70,30,140,.08);border-color:rgba(123,63,228,.25)}
.input:hover{border-color:rgba(236,210,255,.6)}.input:focus-visible{border-color:var(--accent);box-shadow:inset 0 2px 6px rgba(10,0,30,.2),0 0 0 4px rgba(199,155,255,.25),0 0 18px rgba(186,110,255,.35);outline:0}
select.input{appearance:auto}
select.input option{color:#1e0f3d;background:#fff}
textarea.input{resize:vertical}
.input[aria-invalid=true]{border-color:var(--err);box-shadow:0 0 0 3px color-mix(in srgb,var(--err) 30%,transparent)}
.err{color:var(--err);font-weight:700;font-size:15px;margin:0}
.help{font-size:15px;color:var(--mut)}
.status{border:1px solid var(--g-bd);border-left:4px solid var(--accent);border-radius:12px;padding:14px 18px;margin-bottom:20px;font-weight:600;background:var(--tint)}.status.bad{border-left-color:var(--err)}.status[hidden]{display:none}
.ctrls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:20px}.vsel{margin:0;min-width:240px}
.story{border-top:1px solid var(--line);margin-top:28px;padding-top:28px;font-size:clamp(19px,2vw,22px);line-height:1.75;max-width:70ch}.story p{padding:8px 16px;margin:0 -16px 12px;border-radius:14px;border:1px solid transparent}.story p.on{background:var(--tint);border-color:rgba(236,210,255,.45);box-shadow:0 0 22px rgba(186,110,255,.25)}

/* contact band: big glass slab */
.band{padding:clamp(40px,6vw,88px) 0}
.band-in{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:30px;max-width:calc(var(--wrap) - 2*var(--gut));margin:0 auto;
background:linear-gradient(135deg,rgba(124,58,237,.5),rgba(76,29,149,.55) 55%,rgba(46,16,101,.6));
-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);
border:1px solid rgba(236,210,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 24px 60px rgba(60,10,140,.5)}
@media(max-width:1296px){.band-in{margin:0 var(--gut)}}
.band-in::before{content:"";position:absolute;left:0;right:0;top:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0));pointer-events:none}
.band-in>*{position:relative}
.band h2{font-size:clamp(28px,3.8vw,46px);margin:0;line-height:1.1;color:#fff;text-shadow:0 2px 12px rgba(40,0,90,.4)}.band p{font-size:19px;color:#f3eaff}.band a{color:#fff}

/* footer */
.ftr{margin-top:0;padding-top:64px;color:var(--mut);background:linear-gradient(180deg,rgba(10,2,30,.25),rgba(10,2,30,.6));border-top:1px solid var(--g-bd);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
html[data-theme=light] .ftr{background:rgba(255,255,255,.55)}
.ftr a{color:var(--ink);text-decoration:none}.ftr a:hover{color:var(--link);text-decoration:underline}
.ftr-grid{display:grid;grid-template-columns:1.2fr 1fr 1.4fr 1fr;gap:36px}.ftr ul{list-style:none;margin:0;padding:0}.ftr li a{display:inline-flex;align-items:center;min-height:34px;font-size:16px}
.ftr-logo{background:#000;border-radius:14px;padding:10px 16px;height:96px;box-sizing:border-box;border:1px solid rgba(167,139,250,.35);width:auto;margin-bottom:16px;box-shadow:0 6px 18px rgba(10,0,30,.35)}.ftr .lbl{color:var(--accent)}
.ftr-base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding-top:22px;padding-bottom:30px;border-top:1px solid var(--line);font-size:15px}

@media(max-width:1150px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr-grid{grid-template-columns:1fr 1fr}.trip{grid-template-columns:1fr 1fr}.trip .rl{grid-column:1/-1}.hdr-phone span:not(.ico){display:none}.hdr-phone{padding:0;width:44px;min-width:44px;justify-content:center}.mainnav a{padding:0 11px}}
@media(max-width:900px){:root{--hdr:72px}.brand img{height:44px}.menu-btn{display:grid}
.mainnav{display:none;position:absolute;top:100%;left:0;right:0;max-height:calc(100vh - var(--hdr));overflow:auto;background:linear-gradient(180deg,rgba(50,18,104,.96),rgba(28,8,64,.97));border-bottom:1px solid var(--g-bd);box-shadow:0 20px 40px var(--g-sh)}
html[data-theme=light] .mainnav{background:rgba(255,255,255,.97)}
.mainnav.open{display:block}.mainnav ul{flex-direction:column;padding:12px var(--gut)}.mainnav a{min-height:48px}
.dd{position:static;min-width:0;border:0!important;box-shadow:none!important;background:none!important;border-left:2px solid var(--line)!important;border-radius:0;margin-left:14px;-webkit-backdrop-filter:none;backdrop-filter:none}
.dd-row{justify-content:space-between}.dd-row a{flex:1}.dd-btn{width:48px;height:48px;margin:0}
.hdr-in{justify-content:space-between}.hdr-tools{margin-left:auto}
.hero-in,.split,.svc,.contact,.band-in,.case-row,.grp{grid-template-columns:1fr}.box{position:static}.grid3,.grid2{grid-template-columns:1fr 1fr}.grid3>:first-child{grid-column:1/-1}
.wgrid{grid-template-columns:1fr 1fr}.wgrid>*,.wgrid>:nth-child(n+4){grid-column:span 1}.wgrid>:first-child{grid-column:1/-1}.trip{grid-template-columns:1fr}.phead-art{display:none}}
@media(max-width:600px){body{font-size:17px}.grid2,.grid3,.grid4,.wgrid{grid-template-columns:1fr}.wgrid>:first-child,.grid3>:first-child{grid-column:auto}.ftr-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps div{min-height:0}.actions .btn{width:100%}.brand img{height:36px}.hdr-in{gap:8px}.band-in{border-radius:22px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.card2,.box,.form,.cbox,details,.steps div{background:rgba(45,16,96,.92)}html[data-theme=light] .card2,html[data-theme=light] .box,html[data-theme=light] .form,html[data-theme=light] .cbox,html[data-theme=light] details,html[data-theme=light] .steps div{background:rgba(255,255,255,.95)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.card2:hover{transform:none}.btn::after{display:none}}

/* ===== v4 layout ===== */
.topbar{font-size:14.5px;color:var(--mut);border-bottom:1px solid var(--line);background:rgba(5,1,14,.35)}
html[data-theme=light] .topbar{background:rgba(255,255,255,.5)}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:42px}
.topbar-c{display:flex;gap:22px}.topbar a{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none;font-weight:600;min-height:42px}.topbar a:hover{color:var(--link)}
.topbar .ico{width:15px;height:15px;color:var(--accent)}
.hdr-phone{display:none}
.btn-sm{min-height:44px;padding:10px 18px;font-size:15px}
.btn-lg{min-height:56px;padding:14px 30px;font-size:17px}
.btn-block{width:100%;justify-content:center}
.hdr .mainnav{margin-left:auto}.hdr-tools{gap:10px}
.frame{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--g-bd);box-shadow:inset 0 1px 0 var(--g-hi),0 24px 60px var(--g-sh);background:#170638}
.frame img{width:100%;height:100%;object-fit:cover}
.frame::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0) 40%);pointer-events:none}
.frame.tall{aspect-ratio:4/3}.frame.portrait{aspect-ratio:4/5;max-width:420px;margin-bottom:28px}.frame.wide-f{aspect-ratio:16/10;margin-top:28px}
/* hero */
.hero2{padding-bottom:clamp(32px,4vw,56px)}
.hero2-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,4vw,56px);align-items:start;padding-top:clamp(28px,4vw,48px);padding-bottom:clamp(28px,3vw,40px)}
.hero2 h1{font-size:clamp(32px,3.4vw,46px);line-height:1.15;margin-bottom:18px}
.hero2 h1 span{display:block}
@media(max-width:600px){.hero2 h1{font-size:clamp(26px,7.5vw,32px)}}
.hero2 .lede{color:var(--ink);opacity:.92}
.hero2-sub{color:var(--mut);font-size:16.5px;max-width:58ch;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.hero2-media{position:relative;padding:0 0 40px 40px}
.hero2-media .frame{aspect-ratio:14/11}
.glass{background:linear-gradient(180deg,var(--g-top) 0%,var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot) 100%);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);border:1px solid var(--g-bd);box-shadow:inset 0 1px 0 var(--g-hi),0 12px 34px var(--g-sh)}
.float{position:absolute;left:0;bottom:0;width:min(66%,380px);padding:12px;border-radius:18px}
.float img{width:100%;height:auto;border-radius:10px;background:#000;padding:14px 18px;box-sizing:border-box}
.float-call{position:absolute;right:-12px;top:28px;display:flex;align-items:center;gap:12px;padding:12px 18px 12px 12px;border-radius:16px;text-decoration:none;color:var(--ink)}
.float-call>.ico{width:22px;height:22px;color:var(--accent);margin-left:6px}
.float-call small{display:block;font-size:13px;color:var(--mut)}.float-call b{font:800 18px var(--fh)}
.float-call:hover{color:var(--ink);border-color:rgba(236,210,255,.7);box-shadow:inset 0 1px 0 var(--g-hi),0 0 26px rgba(139,92,246,.5)}
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.facts li{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:16px;border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot));box-shadow:inset 0 1px 0 var(--g-hi),0 10px 28px var(--g-sh)}
.facts-ico{position:relative;overflow:hidden;flex:none;width:48px;height:48px;border-radius:12px;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%);border:1px solid rgba(236,210,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px rgba(76,29,149,.5)}
.facts-ico::before{content:"";position:absolute;left:6%;right:6%;top:1px;height:46%;border-radius:11px 11px 50% 50%/11px 11px 6px 6px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.04))}
.facts-ico .ico{position:relative;width:24px;height:24px}
.facts-t{display:flex;flex-direction:column;gap:2px;min-width:0}
.facts b{font:800 18px/1.2 var(--fh);color:var(--ink);white-space:nowrap}
.facts-t span{color:var(--mut);font-size:15px;line-height:1.35}
/* section heads */
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:44px}
.sec-head h2{margin:0}.sec-head p{color:var(--mut);margin-bottom:18px}.sec-head .prose p:last-child{margin-bottom:0}
section[aria-labelledby="sv-h"] .sec-head{display:block}
section[aria-labelledby="sv-h"] .sec-head h2{margin-bottom:24px}
section[aria-labelledby="sv-h"] .sec-head>div:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 40px;align-items:start}
section[aria-labelledby="sv-h"] .sec-head>div:last-child p{grid-column:1;max-width:76ch;margin:0}
section[aria-labelledby="sv-h"] .sec-head .btn{grid-column:2;grid-row:1/3;align-self:center}
@media(max-width:900px){section[aria-labelledby="sv-h"] .sec-head>div:last-child{display:block}section[aria-labelledby="sv-h"] .sec-head>div:last-child p{margin-bottom:18px}}
.media-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,88px);align-items:center}
.media-split .btn{margin-top:10px}
.steps2{list-style:none;margin:24px 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.steps2 li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;font:700 16px/1.3 var(--fh);border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-low));box-shadow:inset 0 1px 0 var(--g-hi)}
.steps2 b{flex:none;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#fff;font-size:14px;background:linear-gradient(180deg,#8b5cf6,#6d28d9 50%,#5b21b6 51%,#6d28d9);box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
/* bento */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.bento .big{grid-column:span 2;grid-row:span 2}.bento .wide{grid-column:span 2}
.card2 .card-img{margin:-28px -28px 14px;width:calc(100% + 56px);aspect-ratio:16/10;overflow:hidden;border-radius:var(--r) var(--r) 0 0;border-bottom:1px solid var(--g-bd);position:relative}
.card2 .card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card2:hover .card-img img{transform:scale(1.04)}
.bento .big .card-img{aspect-ratio:16/9}
.bento .wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;align-content:start}
.bento .wide .card-img{grid-row:1/span 4;margin:-28px 0 -28px -28px;width:calc(100% + 28px);height:calc(100% + 56px);aspect-ratio:auto;border-radius:var(--r) 0 0 var(--r);border-bottom:0;border-right:1px solid var(--g-bd)}
.bento .wide>*:not(.card-img){grid-column:2}
.bento .wide .card2-ico{margin-top:0}
.bento .big .card2-ico,.bento .wide .card2-ico,.bento-hub .card2-ico{position:relative;z-index:1}
.has-img .card-img+.card2-ico,.bcard .card-img+.card2-ico{margin-top:-46px;margin-left:0}
.bento .wide .card-img+.card2-ico{margin-top:0}
.bento-hub{grid-template-columns:repeat(4,minmax(0,1fr))}
.grid3 .card2,.grid2 .card2,.wgrid .card2{height:100%}
/* page banner */
.pbanner{position:relative;overflow:hidden;min-height:440px;display:flex;border-bottom:1px solid var(--g-bd)}
.pbanner.sm{min-height:340px}
.pbanner-media{position:absolute;inset:0;margin:0}.pbanner-media img{width:100%;height:100%;object-fit:cover;object-position:75% 50%}
.pbanner-ov{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,2,15,.82) 0%,rgba(7,2,15,.5) 42%,rgba(7,2,15,0) 75%),linear-gradient(0deg,rgba(7,2,15,.55),transparent 35%)}
html[data-theme=light] .pbanner-ov{background:linear-gradient(90deg,rgba(239,233,251,.96) 0%,rgba(239,233,251,.82) 45%,rgba(239,233,251,.3) 100%)}
.pbanner-in{position:relative;width:100%;display:flex;flex-direction:column;padding-top:22px;padding-bottom:clamp(36px,5vw,64px)}
.pbanner .crumbs{padding:0;margin:0 0 auto;background:none;max-width:none}
.pbanner-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:clamp(40px,6vw,80px)}
.pbanner-t{max-width:760px}.pbanner h1{font-size:clamp(34px,4.6vw,58px);margin-bottom:14px}.pbanner .lede{color:var(--ink);opacity:.9}
.crumbs{background:none}
/* service page */
.svc .prose .frame{margin-top:32px}
.minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.mini{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:var(--r);text-decoration:none;color:var(--ink);border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot));box-shadow:inset 0 1px 0 var(--g-hi),0 10px 28px var(--g-sh);transition:box-shadow .2s,border-color .2s,transform .2s}
.mini:hover{color:var(--ink);transform:translateY(-2px);border-color:rgba(236,210,255,.7);box-shadow:inset 0 1px 0 var(--g-hi),0 0 30px rgba(139,92,246,.4)}
.mini .card2-ico{margin:0;flex:none}.mini b{display:block;font:700 18px/1.3 var(--fh);margin-bottom:4px}.mini small{display:block;font-size:15.5px;color:var(--mut);line-height:1.5}
/* case pages */
.case-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,56px);align-items:start}
.case-aside{position:sticky;top:calc(var(--hdr) + 24px);padding:28px;border-radius:20px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.case-aside-t{font:700 20px/1.3 var(--fh);margin:4px 0 0}.case-aside .note{margin:0 0 8px}
.case-row .frame{margin-top:24px}
.case-row h2{hyphens:auto;overflow-wrap:anywhere}
@media(max-width:1150px){.bento,.bento-hub{grid-template-columns:repeat(2,minmax(0,1fr))}.bento .big{grid-row:auto}.facts{grid-template-columns:1fr 1fr}.topbar-in>span:first-child{display:none}.topbar-in{justify-content:flex-end}.hdr-cta{display:none}}
@media(max-width:900px){.topbar{display:none}.hdr-phone{display:flex}.hero2-in,.media-split,.sec-head,.case-grid{grid-template-columns:1fr}.media-split.rev .frame{order:-1}.hero2-media{padding:0 0 32px 20px;max-width:620px}.float-call{right:0}.case-aside{position:static}.pbanner{min-height:380px}.pbanner-ov{background:linear-gradient(90deg,rgba(7,2,15,.9),rgba(7,2,15,.7))}html[data-theme=light] .pbanner-ov{background:rgba(239,233,251,.88)}.hdr-phone span:not(.ico){display:none}.hdr-phone{padding:0;width:44px;justify-content:center}}
@media(max-width:600px){.bento,.bento-hub{grid-template-columns:1fr}.bento .big,.bento .wide{grid-column:auto}.bento .wide{display:flex}.bento .wide .card-img{margin:-28px -28px 14px;width:calc(100% + 56px);height:auto;aspect-ratio:16/10;border-radius:var(--r) var(--r) 0 0;border-right:0;border-bottom:1px solid var(--g-bd)}.bento .wide .card-img+.card2-ico{margin-top:-46px}.facts{grid-template-columns:1fr}.steps2{grid-template-columns:1fr}.float{width:62%}.float-call{top:12px}.pbanner{min-height:320px}}

.hero2-media .frame.vframe{aspect-ratio:16/9;background:#000}
.vframe .vposter,.vframe iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.vframe iframe{pointer-events:auto}
.vplay{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.vplay span{width:76px;height:76px;border-radius:20px;position:relative;background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%);border:1px solid rgba(236,210,255,.7);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 10px 30px rgba(76,29,149,.6);transition:box-shadow .2s,transform .2s}
.vplay span::before{content:"";position:absolute;left:31px;top:24px;border-left:22px solid #fff;border-top:14px solid transparent;border-bottom:14px solid transparent}
.vplay:hover span{transform:scale(1.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 0 40px rgba(139,92,246,.7)}
.vframe.playing .vplay,.vframe.playing .vposter{display:none}
.vtoggle{position:absolute;right:14px;bottom:14px;z-index:3;min-height:40px;padding:8px 14px;font-size:14px}
.hero2-media{padding:0}
@media(min-width:901px){
  .hero2-in{padding-bottom:clamp(72px,8vw,104px)}
  .hero2-media{align-self:center;top:20px}
  .hero2+.sec{padding-top:clamp(32px,3vw,48px)}
}

.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.quote{position:relative;margin:0;display:flex;flex-direction:column;gap:24px;padding:clamp(28px,3.5vw,44px);border-radius:22px;border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top) 0%,var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot) 100%);-webkit-backdrop-filter:blur(18px) saturate(1.6);backdrop-filter:blur(18px) saturate(1.6);box-shadow:inset 0 1px 0 var(--g-hi),0 16px 40px var(--g-sh)}
.quote-mark{position:absolute;top:10px;right:26px;font:800 120px/1 var(--fh);background:linear-gradient(180deg,#a78bfa,rgba(109,40,217,.15));-webkit-background-clip:text;background-clip:text;color:transparent;pointer-events:none}
.quote blockquote{margin:0}.quote blockquote p{margin:0;font-size:clamp(18px,1.6vw,20px);line-height:1.65;color:var(--ink);text-wrap:pretty}
.quote figcaption{margin-top:auto;display:flex;align-items:center;gap:14px;padding-top:22px;border-top:1px solid var(--line);font-size:inherit;color:inherit;text-align:left}
.quote-av{flex:none;width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font:800 16px var(--fh);color:#fff;letter-spacing:.04em;background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%);border:1px solid rgba(236,210,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px rgba(76,29,149,.5)}
.quote figcaption b{display:block;font:700 17px/1.3 var(--fh)}.quote figcaption small{display:block;font-size:15px;color:var(--mut)}
.case-row .quote{margin-top:0}
@media(max-width:900px){.quotes{grid-template-columns:1fr}}

.pbanner{min-height:480px}
.contact2{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,72px);align-items:center}
.logo-show{margin:0;padding:clamp(24px,4vw,48px);border-radius:28px;background:#000;border:1px solid rgba(167,139,250,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 0 60px rgba(109,40,217,.35),0 30px 70px rgba(5,0,20,.6);position:relative;overflow:hidden}
.logo-show::after{content:"";position:absolute;left:1px;right:1px;top:1px;height:40%;border-radius:27px 27px 50% 50%/27px 27px 30px 30px;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);pointer-events:none}
.logo-show img{width:100%;height:auto}
.contact2-t h2{font-size:clamp(28px,3vw,38px)}.contact2-t>p{color:var(--mut)}
.ctiles{display:flex;flex-direction:column;gap:14px;margin:28px 0 18px}
.ctile{display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:18px;text-decoration:none;color:var(--ink);border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot));box-shadow:inset 0 1px 0 var(--g-hi),0 12px 30px var(--g-sh);transition:box-shadow .2s,border-color .2s,transform .2s}
.ctile:hover{color:var(--ink);transform:translateY(-2px);border-color:rgba(236,210,255,.7);box-shadow:inset 0 1px 0 var(--g-hi),0 0 34px rgba(139,92,246,.5)}
.ctile-ico{position:relative;overflow:hidden;flex:none;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%);border:1px solid rgba(236,210,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px rgba(76,29,149,.5)}
.ctile-ico::before{content:"";position:absolute;left:6%;right:6%;top:1px;height:46%;border-radius:13px 13px 50% 50%/13px 13px 7px 7px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.04))}
.ctile-ico .ico{position:relative;width:26px;height:26px}
.ctile small{display:block;font-size:14px;color:var(--mut)}.ctile b{display:block;font:800 clamp(20px,2.2vw,26px)/1.2 var(--fh);overflow-wrap:anywhere}
@media(max-width:900px){.contact2{grid-template-columns:1fr}}

.ad-frame{margin:0;border-radius:22px;overflow:hidden;border:1px solid var(--g-bd);box-shadow:inset 0 1px 0 var(--g-hi),0 0 50px rgba(109,40,217,.3),0 28px 64px var(--g-sh);background:#000}
.ad-frame img{width:100%;height:auto}
.card-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(28px,5vw,72px);align-items:center}
.bcard-fig{margin:0;justify-self:center;width:100%;max-width:520px;perspective:1200px}
.bcard-fig img{width:100%;height:auto;border-radius:10px;background:#fff;box-shadow:0 2px 0 rgba(255,255,255,.6) inset,0 30px 60px rgba(5,0,20,.55),0 0 0 1px rgba(255,255,255,.4);transform:rotateX(8deg) rotateY(-10deg) rotateZ(-2deg);transition:transform .4s}
.bcard-fig:hover img{transform:none}
.bcard-fig figcaption{text-align:center;margin-top:22px;font-size:14px;color:var(--mut)}
@media(max-width:900px){.card-split{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.bcard-fig img{transform:none}}

.creds{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px;align-items:stretch}
.cred{margin:0;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot));box-shadow:inset 0 1px 0 var(--g-hi),0 16px 40px var(--g-sh)}
.cred-img{flex:1;display:grid;place-items:center;padding:28px;background:#fff;border-bottom:1px solid var(--g-bd)}
.cred-img img{max-width:100%;max-height:340px;width:auto;height:auto}
.cred figcaption{padding:20px 24px;margin:0;display:flex;flex-direction:column;gap:4px;text-align:left;font-size:inherit;color:inherit}
.cred figcaption b{font:700 18px/1.3 var(--fh)}.cred figcaption span{color:var(--mut);font-size:15.5px}
@media(max-width:900px){.creds{grid-template-columns:1fr}}

.feature{margin-top:20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;padding:24px 28px;border-radius:20px;text-decoration:none;color:var(--ink);transition:box-shadow .2s,border-color .2s,transform .2s}
.feature:hover{color:var(--ink);transform:translateY(-2px);border-color:rgba(236,210,255,.7);box-shadow:inset 0 1px 0 var(--g-hi),0 0 34px rgba(139,92,246,.45)}
.feature-ico{position:relative;overflow:hidden;width:64px;height:64px;border-radius:16px;display:grid;place-items:center;color:#fff;background:linear-gradient(180deg,#8b5cf6 0%,#6d28d9 47%,#5b21b6 52%,#6d28d9 100%);border:1px solid rgba(236,210,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 14px rgba(76,29,149,.5)}
.feature-ico .ico{width:30px;height:30px}
.feature-t{display:flex;flex-direction:column;gap:4px}.feature-t small{font:700 12.5px var(--fh);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}.feature-t b{font:700 22px/1.25 var(--fh)}.feature-t>span{color:var(--mut);font-size:16.5px}
.feature-go{display:inline-flex;align-items:center;gap:8px;font:700 15px var(--fh);color:var(--link);white-space:nowrap}.feature-go .ico{width:17px;height:17px}
.stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.stats li{padding:26px 24px;border-radius:18px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-mid) 46%,var(--g-low) 50%,var(--g-bot));box-shadow:inset 0 1px 0 var(--g-hi),0 12px 30px var(--g-sh)}
.stats b{font:800 clamp(26px,2.8vw,38px)/1.1 var(--fh);background:linear-gradient(180deg,#fff,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent;overflow-wrap:anywhere}
html[data-theme=light] .stats b{background:linear-gradient(180deg,#6d28d9,#4c1d95);-webkit-background-clip:text;background-clip:text}
.stats span{color:var(--mut);font-size:15.5px}
.price{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:28px;padding:22px 26px;border-radius:18px}
.price small{display:block;font-size:14px;color:var(--mut)}.price b{font:800 40px/1 var(--fh)}.price b span{font-size:17px;font-weight:600;color:var(--mut);margin-left:4px}
.shot{margin:0;justify-self:center;max-width:380px;width:100%}.shot.sm{max-width:440px}
.shot-img{border-radius:20px;overflow:hidden;background:#fff;border:1px solid var(--g-bd);box-shadow:0 0 50px rgba(109,40,217,.3),0 28px 60px var(--g-sh)}
.shot-img img{width:100%;height:auto}
.shot figcaption{margin-top:14px;font-size:14.5px;color:var(--mut);text-align:left}
.svc .shot{position:sticky;top:calc(var(--hdr) + 24px)}
.drone-fig{margin:0;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--g-bd);box-shadow:0 0 60px rgba(109,40,217,.3),0 28px 64px var(--g-sh)}
.drone-fig img{width:100%;height:auto}
.drone-fig figcaption{margin:0;padding:10px 18px;font-size:13px;color:#4b3a6e;background:#f4f1fa;text-align:right}
@media(max-width:1150px){.stats{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.svc .shot{position:static}.feature{grid-template-columns:auto minmax(0,1fr)}.feature-go{grid-column:2}}
@media(max-width:600px){.stats{grid-template-columns:1fr 1fr}.feature{grid-template-columns:1fr}.feature-go{grid-column:auto}}

.diag{margin:0}
.diag-img{border-radius:20px;overflow:hidden;background:#eef0f4;border:1px solid var(--g-bd);box-shadow:0 0 50px rgba(109,40,217,.25),0 26px 60px var(--g-sh)}
.diag-img img{width:100%;height:auto;display:block}
.diag figcaption{margin-top:12px;font-size:14px;color:var(--mut);text-align:left;line-height:1.45}
.svc .prose .diag{margin-top:32px}
.card2 .card-img img[src*="network-design"],.card2 .card-img img[src*="solution-2012"]{object-fit:cover;object-position:30% 45%;background:#eef0f4;filter:saturate(.9)}
.me{margin:0 0 28px;width:180px;height:180px;border-radius:24px;overflow:hidden;padding:5px;border:1px solid var(--g-bd);background:linear-gradient(180deg,var(--g-top),var(--g-low));box-shadow:inset 0 1px 0 var(--g-hi),0 0 40px rgba(109,40,217,.35),0 16px 36px var(--g-sh)}
.me img{width:100%;height:100%;object-fit:cover;border-radius:19px}
.me.sm{width:96px;height:96px;margin:0;border-radius:20px;padding:4px;flex:none}.me.sm img{border-radius:16px}
.me-row{display:flex;align-items:center;gap:18px;margin-bottom:26px}.me-row b{display:block;font:700 19px/1.3 var(--fh)}.me-row span{color:var(--mut);font-size:15.5px}
.creds3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1150px){.creds3{grid-template-columns:1fr 1fr}.creds3 .cred:last-child{grid-column:1/-1}}
@media(max-width:900px){.creds3{grid-template-columns:1fr}.creds3 .cred:last-child{grid-column:auto}}

.pf-grid{list-style:none;margin:0;padding:0;columns:4 240px;column-gap:18px}
.pf-grid li{break-inside:avoid;margin:0 0 18px}
.pf-item{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--g-bd);background:#000;box-shadow:0 14px 34px var(--g-sh);transition:transform .25s,box-shadow .25s,border-color .25s}
.pf-item img{width:100%;height:auto;display:block}
.pf-item:hover{transform:translateY(-3px);border-color:rgba(236,210,255,.7);box-shadow:0 0 34px rgba(139,92,246,.45),0 18px 40px var(--g-sh)}
.lightbox{padding:0;border:0;background:transparent;max-width:min(94vw,1100px);max-height:94vh;overflow:visible}
.lightbox::backdrop{background:rgba(5,1,15,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lightbox img{display:block;max-width:100%;max-height:86vh;width:auto;height:auto;margin:0 auto;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-close{position:absolute;top:-56px;right:0}
@media(prefers-reduced-motion:reduce){.pf-item:hover{transform:none}}

.pf-group+.pf-group{margin-top:44px}
.pf-ghead{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.pf-ghead h3{margin:0;font-size:22px}.pf-ghead p{margin:0;color:var(--mut);font-size:16px}
.pf-group .pf-item{background:#fff}

.mq{overflow:hidden;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.mq-track.logos,.mq-track.pf-grid{display:flex;flex-wrap:nowrap;width:max-content;columns:auto;gap:0;padding:6px 0 24px;animation:mq var(--dur,40s) linear infinite}
.mq:hover .mq-track,.mq:focus-within .mq-track{animation-play-state:paused}
.mq-track.logos li{flex:none;width:200px;margin-right:16px}
.mq-track.pf-grid li{flex:none;margin:0 18px 0 0}
.mq-track.pf-grid .pf-item img{height:clamp(220px,28vw,340px);width:auto}
@keyframes mq{to{transform:translateX(-50%)}}
.mq-track.mq-rev{animation-direction:reverse}
@media(prefers-reduced-motion:reduce){.mq{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.mq-track{animation:none!important}.mq-track>[aria-hidden=true]{display:none}}
.clients{padding:clamp(28px,4vw,48px) 0}
.clients-in{border-radius:22px;padding:24px clamp(20px,3vw,36px);display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center}
.clients .lbl{margin:0;white-space:nowrap}
.logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}
.logos li{display:grid;place-items:center;height:96px;padding:12px 18px;border-radius:14px;background:#fff;box-shadow:inset 0 1px 0 #fff,0 6px 18px rgba(5,0,20,.35)}
.logos img{max-width:100%;max-height:68px;width:auto;height:auto;object-fit:contain}
@media(max-width:900px){.clients-in{grid-template-columns:1fr}.logos{grid-template-columns:1fr 1fr}}

.pano{position:relative;height:clamp(140px,22vw,300px);overflow:hidden;margin-top:clamp(24px,4vw,48px)}
.pano img{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block}
.pano::before,.pano::after{content:"";position:absolute;left:0;right:0;height:40%;z-index:1;pointer-events:none}
.pano::before{top:0;background:linear-gradient(var(--bg,#0b0420),transparent)}
.pano::after{bottom:0;background:linear-gradient(transparent,var(--bg,#0b0420))}

/* One continuous navigation surface encloses the service link and its arrow. */
.dd-row{border:1px solid transparent;border-radius:10px;transition:background .2s,border-color .2s,box-shadow .2s}
.mainnav .dd-row>a{border:0;border-radius:9px 0 0 9px;padding-right:2px;min-height:42px}
.dd-row .dd-btn{flex:none;width:44px;height:42px;margin:0;padding:0;border:0;border-radius:0 9px 9px 0}
.dd-row .dd-btn .ico{width:14px;height:14px}
.mainnav .dd-row>a:hover,.mainnav .dd-row>a[aria-current=page],.dd-row .dd-btn:hover{background:none;border-color:transparent;box-shadow:none}
.dd-row:hover,.dd-row:focus-within{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.06) 50%,rgba(255,255,255,.02) 51%,rgba(255,255,255,.1));border-color:rgba(255,255,255,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
html[data-theme=light] .dd-row:hover,html[data-theme=light] .dd-row:focus-within{background:rgba(123,63,228,.08);border-color:rgba(123,63,228,.2)}
.mainnav .dd-row:has(>a[aria-current=page]){background:linear-gradient(180deg,rgba(199,155,255,.5),rgba(138,70,238,.35) 50%,rgba(106,38,214,.3) 51%,rgba(140,63,240,.45));border-color:rgba(236,210,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 0 18px rgba(186,110,255,.45);color:#fff}
.dd-row:has(>a[aria-current=page]) .dd-btn{color:#fff}
@media(max-width:900px){.mainnav .dd-row>a,.dd-row .dd-btn{min-height:46px;height:46px}.dd-row .dd-btn{width:48px}}
.mq-paused .mq-track{animation-play-state:paused}
html[data-theme=light] .mainnav a[aria-current=page]{background:linear-gradient(180deg,#7b3fe4,#5b21b6);border-color:#5b21b6;color:#fff}
html[data-theme=light] .mainnav .dd-row>a:hover,html[data-theme=light] .mainnav .dd-row>a[aria-current=page]{background:none;border-color:transparent;box-shadow:none}
html[data-theme=light] .mainnav .dd-row:has(>a[aria-current=page]){background:linear-gradient(180deg,#7b3fe4,#5b21b6);border-color:#5b21b6}
.mq-toggle{margin-top:8px}
.mq-toggle[hidden]{display:none}
.vtoggle{min-height:44px;top:12px;bottom:auto}
.lb-close{top:12px;right:12px;z-index:1}
.lightbox img{max-height:82vh}
@media(max-width:600px){.stats li{padding:20px 12px}.stats b{font-size:clamp(17px,4.6vw,24px);white-space:nowrap}}
@media(max-width:390px){.brand{padding:6px}.brand img{height:30px}.hdr-tools{gap:6px}.hdr-phone,.theme-btn,.menu-btn{width:44px;min-width:44px}.hdr-in{padding-left:12px;padding-right:12px}}

/* Category-specific project sections: heading precedes the introduction. */
.project-experience .sec-head{display:block}
.project-experience .sec-head h2{margin-bottom:20px}
.project-experience .sec-head .prose{max-width:80ch}
.project-single .wcard{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px}
.project-single .wcard>.card-img{grid-column:1;grid-row:1/5;width:100%;height:100%;margin:0}
.project-single .wcard>.card-img img{height:100%;object-fit:cover}
.project-single .wcard>p,.project-single .wcard>h3,.project-single .wcard>.more{grid-column:2}
.project-single .wcard>.tagl{margin-top:28px;justify-self:start}
@media(max-width:700px){.project-single .wcard{display:block}.project-single .wcard>.card-img{height:auto;aspect-ratio:8/5}}
