:root{--bg:#FFFFFF;--bg2:#F6F6F4;--dk:#111111;--ink:#111111;--mute:#4A4A4F;--wal:#111111;--cog:#1E3A8A;--ol:#F6F6F4;--ac:#2346D8;--acd:#1E3A8A;--card:#FFFFFF;--line:rgba(17,17,17,.12)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:76px}
body{background:var(--bg);color:var(--ink);font-family:Heebo,system-ui,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;line-height:1.7;font-size:17px}
img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}
.skip{position:absolute;right:12px;top:0;transform:translateY(-120%);background:var(--dk);color:#fff;padding:12px 18px;z-index:99}.skip:focus{transform:none}
:focus-visible{outline:2px solid var(--ac);outline-offset:3px}
.wrap{max-width:1280px;margin:0 auto;padding:0 48px}
/* header */
header.nav{position:sticky;top:0;z-index:40;background:rgba(17,17,17,.97);color:#FFFFFF;border-bottom:3px solid var(--ac)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;height:72px}
.nav .logo img{height:34px;width:auto}
.nav ul{display:flex;gap:26px;list-style:none;font-size:15px;font-weight:400}
.nav ul a{opacity:.88;padding:6px 0;border-bottom:2px solid transparent}.nav ul a:hover,.nav ul a.on{opacity:1;border-bottom-color:var(--ac)}
.nav .tel{font-size:15px;font-weight:500;background:var(--ac);color:#111111;padding:9px 16px;direction:ltr;white-space:nowrap}
/* hero */
.hero{position:relative;min-height:calc(100vh - 72px);min-height:calc(100svh - 72px);max-height:900px;display:flex;align-items:flex-end;background:var(--dk);color:#fff;overflow:hidden}
.hero>img{position:absolute;inset:0}
.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,10,14,.9),rgba(10,10,14,.4) 55%,rgba(10,10,14,.1))}
.hero .wrap{position:relative;z-index:2;padding-bottom:72px;padding-top:120px;width:100%}
.hero .eb{color:#8FA6FF}
.hero h1{font-size:clamp(34px,4.6vw,64px);line-height:1.12;font-weight:700;max-width:900px;margin:14px 0 18px}
.hero p.sub{font-size:clamp(17px,1.5vw,21px);max-width:640px;color:#E6E8EE}
.hero .btns{margin-top:32px}
.ai{position:absolute;bottom:10px;inset-inline-start:10px;font-size:12px;letter-spacing:.04em;color:#FFFFFF;background:rgba(10,10,14,.6);padding:3px 10px;z-index:3;font-weight:500}
.hero .ai{top:18px;bottom:auto;inset-inline-start:auto;inset-inline-end:48px}
/* buttons */
.btns{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;font-size:16px;font-weight:500;border:1px solid var(--ink);transition:background .25s,color .25s;cursor:pointer;font-family:inherit}
.btn.f{background:var(--ac);border-color:var(--ac);color:#111111}.btn.lt{background:#FFFFFF;color:#111111;border-color:#FFFFFF}.btn.wa{background:var(--ac);border-color:var(--ac);color:#111111}
.btn:hover{background:var(--cog);border-color:var(--cog);color:#FFFFFF}
/* trust */
.trust{background:var(--cog);color:#FFFFFF}
.trust ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr)}
.trust li{padding:26px 24px;display:flex;gap:14px;align-items:center;font-weight:500;font-size:17px;border-inline-start:1px solid rgba(255,255,255,.25)}.trust li:first-child{border:0}
.trust li i{flex:none;width:34px;height:34px;border-radius:50%;background:var(--ac);color:#111111;display:grid;place-items:center;font-style:normal;font-size:15px;font-weight:700}
/* sections */
.sec{padding:110px 0}.sec.alt{background:var(--bg2)}.sec.dk{background:var(--dk);color:#FFFFFF}
.sec+.sec{border-top:1px solid var(--line)}
.sh{max-width:780px;margin-bottom:52px}
.eb{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--acd)}.dk .eb,.wn .eb,.ol .eb,.hero .eb{color:var(--ac)}
.eb span{background:var(--ac);color:#111111;border:0!important;display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border:1px solid var(--ac);font-size:14px}
.sh h2{font-size:clamp(32px,3.6vw,50px);line-height:1.15;font-weight:700;margin:16px 0 14px}
.sh .lead{font-size:19px;color:var(--mute);max-width:680px}.dk .sh .lead,.dk p,.wn .sh .lead,.ol .sh .lead{color:#D5D8E0}.sec.wn{background:var(--wal);color:#FFFFFF}.sec.ol{background:var(--ol);color:#FFFFFF}.sec.dk,.sec.wn,.sec.ol{border-top:0}
/* services */
.svc{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.svc article{background:var(--card);box-shadow:0 14px 30px rgba(17,17,17,.12);border-top:4px solid var(--ac)!important;border:1px solid var(--line);display:flex;flex-direction:column}
.svc .im{aspect-ratio:4/3;overflow:hidden;position:relative}
.svc .bd{padding:22px 22px 26px}
.svc .n{font-size:13px;font-weight:700;color:var(--acd);letter-spacing:.1em}
.svc h3{font-size:22px;font-weight:700;margin:6px 0 10px;line-height:1.3}.svc p{font-size:16px;color:var(--mute)}
.svc ul{list-style:none;margin-top:14px;font-size:15px}.svc li{padding:6px 0;border-top:1px solid var(--line)}.svc li:before{content:'— ';color:var(--ac)}
/* before/after */
.ba .row{display:grid;grid-template-columns:7fr 5fr;gap:36px;align-items:center;margin-bottom:36px}
.ba .row.two{grid-template-columns:1fr 1fr;align-items:start}
.cmp{position:relative;overflow:hidden;aspect-ratio:6/5;--x:50%;user-select:none;-webkit-user-select:none;background:#111111;touch-action:pan-y}
.cmp.p{aspect-ratio:4/5}
.cmp img{position:absolute;inset:0;object-position:50% 50%;pointer-events:none}
.cmp .a{clip-path:inset(0 calc(100% - var(--x)) 0 0)}
.cmp .bar{position:absolute;top:0;bottom:0;left:var(--x);width:2px;margin-left:-1px;background:#FFFFFF;pointer-events:none;z-index:2}
.cmp .bar:after{content:'‹ ›';position:absolute;top:50%;left:-23px;width:46px;height:46px;margin-top:-23px;border:2px solid #FFFFFF;border-radius:50%;background:rgba(10,10,14,.6);color:#FFFFFF;display:grid;place-items:center;font-size:20px;line-height:1;direction:ltr}
.cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:3;touch-action:pan-y}
.cmp .t{position:absolute;top:14px;font-size:14px;font-weight:600;color:#FFFFFF;background:rgba(10,10,14,.65);padding:4px 12px;z-index:2;pointer-events:none}
.cmp .t.l{left:14px}.cmp .t.r{right:14px}
.ba figcaption{font-size:15px;color:var(--mute);font-weight:500;margin-top:12px;display:flex;justify-content:space-between;gap:12px}
.ba .txt h3{font-size:clamp(24px,2.2vw,32px);font-weight:700;line-height:1.25;margin:12px 0}.ba .txt p{color:var(--mute)}
/* CTA band */
.ctab{background:linear-gradient(90deg,#2346D8,#1E3A8A);color:#111111;padding:44px 0}
.ctab{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:max(48px,calc((100% - 1184px)/2));flex-wrap:wrap}
.ctab h2{font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1.25}.ctab p{font-size:17px;color:#E6E8EE}
.ctab .btn.lt{background:#111111;color:#FFFFFF;border-color:#111111}.ctab .btn.wa{background:#FFFFFF;border-color:#FFFFFF}
/* steps */
.steps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:20px;counter-reset:s}
.steps li{border-top:4px solid var(--ac);padding-top:20px;position:relative}
.steps b{display:block;font-size:44px;font-weight:700;color:var(--ac);line-height:1}
.steps h3{font-size:20px;font-weight:700;margin:12px 0 8px;line-height:1.3}.steps p{font-size:16px}
/* about */
.about{display:grid;grid-template-columns:5fr 7fr;gap:56px;align-items:center}
.about .ph{display:grid;grid-template-columns:3fr 2fr;gap:16px}
.about .ph figure:first-child{aspect-ratio:4/5;overflow:hidden}.about .ph figure:last-child{aspect-ratio:3/4;overflow:hidden;align-self:end}
.about p.b{font-size:18px;color:var(--mute);max-width:560px;margin-bottom:16px}
.about ul{list-style:none;margin:22px 0 28px;display:grid;gap:10px}.about li{font-weight:500;padding-inline-start:26px;position:relative}.about li:before{content:'';position:absolute;inset-inline-start:0;top:.7em;width:12px;height:2px;background:var(--ac)}
/* gallery */
.gal{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}
.gal figure{position:relative}.gal .f{overflow:hidden;position:relative}
.gal figcaption{font-size:15px;color:#D5D8E0;margin-top:10px;display:flex;justify-content:space-between}
.g1{grid-column:1/8}.g1 .f{aspect-ratio:16/10}.g2{grid-column:8/13}.g2 .f{aspect-ratio:auto;height:calc(100% - 36px)}
.g3{grid-column:1/5}.g4{grid-column:5/9}.g5{grid-column:9/13}.g3 .f,.g4 .f,.g5 .f{aspect-ratio:1}
.g6{grid-column:1/6}.g6 .f{aspect-ratio:4/3}.g7{grid-column:6/13}.g7 .f{aspect-ratio:auto;height:calc(100% - 36px)}
.note{margin-top:28px;font-size:15px;color:#D5D8E0}
/* reviews */
.tst ul{list-style:none;columns:3;column-gap:24px}
.tst li{break-inside:avoid;background:var(--card);border-inline-start:4px solid var(--ac)!important;border:1px solid var(--line);padding:28px 26px;margin-bottom:24px}
.tst blockquote{font-size:18px;line-height:1.7;color:var(--ink)}
.tst blockquote:before{content:'”';display:block;font-size:52px;line-height:.6;color:var(--cog);margin-bottom:12px;font-weight:700}
.tst cite{display:block;margin-top:16px;font-style:normal;font-size:15px;color:var(--cog);font-weight:500}
/* faq */
.faq{max-width:900px}
.faq details{border-top:1px solid var(--line);padding:4px 0}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;font-size:20px;font-weight:600;padding:20px 0;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';color:var(--ac);font-size:26px;line-height:1}.faq details[open] summary:after{content:'−'}
.faq details p{padding:0 0 22px;color:var(--mute);max-width:760px}
/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.contact address{font-style:normal;font-size:18px;line-height:2}
.contact address b{font-weight:600}
.me{display:flex;align-items:center;gap:18px;margin:8px 0 22px}.me .ph{width:84px;height:84px;border-radius:50%;overflow:hidden;flex:none}
.me b{display:block;font-weight:600}.me span{color:var(--mute)}
form{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}
form .full{grid-column:1/-1}
label{display:block;font-size:15px;color:var(--ink);margin-bottom:6px;font-weight:500}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--card);border:1px solid rgba(17,17,17,.3);padding:12px 14px;border-radius:0}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--ink)}
.map{position:relative;min-height:520px;background:#E5E7EB}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(.95)}
.map a{position:absolute;bottom:20px;inset-inline-start:20px;background:var(--dk);color:#FFFFFF;padding:12px 20px;font-size:15px;font-weight:500}
footer{background:#0A0A0A;color:#D5D8E0;border-top:4px solid var(--ac)}footer .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:44px;padding-bottom:110px;gap:20px;flex-wrap:wrap;font-size:15px}
footer img{height:32px;width:auto}footer nav{display:flex;gap:24px}footer a{text-decoration:underline;text-underline-offset:3px}
.fab{position:fixed;bottom:22px;left:22px;z-index:50;display:flex;flex-direction:column;gap:10px;transition:opacity .3s,transform .3s}
.fab.hide{opacity:0;transform:translateY(20px);pointer-events:none}
.fab a{display:flex;align-items:center;gap:10px;background:var(--dk);color:#FFFFFF;padding:13px 18px;font-size:15px;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.25)}
.fab a.wa{background:var(--ac);color:var(--dk);border-color:var(--ac)}
.fab svg{width:18px;height:18px;fill:currentColor}
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.rv{opacity:1;transform:none}}
@media(max-width:1100px){.nav ul{gap:16px;font-size:14px}.svc{grid-template-columns:1fr 1fr}.steps{grid-template-columns:repeat(3,1fr)}.tst ul{columns:2}}
@media(max-width:900px){
body{font-size:16px}.wrap{padding:0 20px}
header.nav .wrap{height:62px}.nav ul{display:none}.nav .logo img{height:28px}.nav .tel{font-size:14px;padding:8px 12px}
html{scroll-padding-top:66px}
.hero{min-height:calc(92vh - 62px);min-height:calc(92svh - 62px)}.hero>img{object-position:30% 50%}.hero .wrap{padding-bottom:40px}.hero .ai{inset-inline-end:20px}
.hero .btns,.ctab .btns{flex-direction:column;width:100%}.btn{width:100%}
.trust ul{grid-template-columns:1fr}.trust li{border:0;border-top:1px solid var(--line);padding:16px 20px}.trust li:first-child{border:0}
.sec{padding:72px 0}.sh{margin-bottom:34px}.sh .lead{font-size:17px}
.svc{grid-template-columns:1fr}
.ba .row,.ba .row.two{grid-template-columns:1fr;gap:20px}
.ctab{padding:36px 20px}
.steps{grid-template-columns:1fr;gap:22px}.steps li{display:grid;grid-template-columns:56px 1fr;column-gap:12px;border-top-width:2px}.steps b{grid-row:span 2;font-size:34px}.steps h3{margin-top:0}
.about{grid-template-columns:1fr;gap:32px}
.gal{grid-template-columns:1fr 1fr;gap:12px}.gal>figure{grid-column:auto!important}.g1,.g6,.g7{grid-column:1/-1!important}.gal .f{aspect-ratio:4/3!important;height:auto!important}.g2 .f,.g3 .f,.g4 .f,.g5 .f{aspect-ratio:3/4!important}
.tst ul{columns:1}
.faq summary{font-size:18px}
.contact{grid-template-columns:1fr;gap:36px}form{grid-template-columns:1fr}.map{min-height:380px}
footer .wrap{flex-direction:column;align-items:flex-start;padding-bottom:110px}
.fab{left:12px;right:12px;bottom:12px;flex-direction:row}.fab a{flex:1;justify-content:center}
}
/* ===== Theme A · depth layer ===== */
.dk label{color:#fff}.dk .me span{color:#D5D8E0}
:root{--sh1:0 1px 2px rgba(17,17,30,.05),0 6px 14px rgba(17,17,30,.06),0 22px 44px rgba(17,17,30,.10);--sh2:0 2px 4px rgba(17,17,30,.05),0 12px 24px rgba(17,17,30,.08),0 32px 64px -12px rgba(17,17,30,.18);--glow:0 8px 22px -6px rgba(35,70,216,.75),0 0 36px -8px rgba(35,70,216,.65)}
body{background:linear-gradient(180deg,#fff,#F7F8FA 60%,#fff)}
header.nav{background:rgba(17,17,17,.82);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 10px 30px rgba(0,0,0,.18)}
.nav .tel{border-radius:12px;color:#fff;background:linear-gradient(180deg,#3557E6,#1E3A8A);box-shadow:var(--glow)}
.btn{border-radius:14px;transition:transform .25s,box-shadow .25s,background .25s}
.btn.f,.btn.wa{color:#fff;background:linear-gradient(180deg,#3557E6,#2346D8 55%,#1E3A8A);border-color:transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.3),var(--glow)}
.btn.lt{background:#fff;color:#111;border-color:#fff;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.btn:hover{transform:translateY(-2px);background:#1E3A8A;color:#fff;border-color:#1E3A8A}
.hero:after{background:radial-gradient(120% 80% at 80% 0%,rgba(35,70,216,.25),transparent 60%),linear-gradient(0deg,rgba(10,10,14,.9),rgba(10,10,14,.35) 55%,rgba(10,10,14,.1))}
.hero .eb{color:#8FA6FF}.hero h1{text-shadow:0 6px 28px rgba(0,0,0,.5)}
.hero .btns{display:inline-flex;background:rgba(255,255,255,.1);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:14px;box-shadow:0 24px 60px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.25)}
.ai{border-radius:8px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.trust{position:relative;z-index:5;background:transparent;color:#111;margin-top:-46px}
.trust ul{max-width:1184px;margin:0 auto;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.7);border-radius:24px;box-shadow:var(--sh2)}
.trust li{border-color:var(--line)}
.trust li i{color:#fff;background:linear-gradient(180deg,#3557E6,#1E3A8A);box-shadow:0 6px 14px -3px rgba(35,70,216,.7)}
.sec{position:relative}.sec.alt{background:linear-gradient(180deg,#F1F3F8,#F8F8F6)}
.sec.dk,.sec.wn{background:radial-gradient(90% 60% at 85% 0%,rgba(35,70,216,.22),transparent 60%),#111;color:#fff}
.sec.ol{background:linear-gradient(180deg,#F6F6F4,#EEF1F8);color:#111}
.ol .eb{color:#1E3A8A}.ol .sh .lead{color:#4A4A4F}
.dk .eb,.wn .eb{color:#8FA6FF}
.eb span{color:#fff;border-radius:10px;background:linear-gradient(180deg,#3557E6,#1E3A8A);box-shadow:0 6px 16px -4px rgba(35,70,216,.7)}
.sec+.sec{border-top:0}
/* perspective cards */
.svc,.tst ul,.steps,.gal{perspective:1400px}
.svc article{border:1px solid rgba(17,17,17,.06)!important;border-top:0!important;border-radius:22px;background:linear-gradient(165deg,#fff,#F8F9FC);box-shadow:var(--sh2);transform:rotateX(2deg) rotateY(-1.5deg);transition:transform .4s,box-shadow .4s;margin-top:14px}
.svc article:nth-child(even){transform:rotateX(2deg) rotateY(1.5deg)}
.svc article:hover{transform:translateY(-6px);box-shadow:var(--sh2),0 0 0 2px rgba(35,70,216,.25)}
.svc .im{border-radius:18px;margin:-14px 12px 0;box-shadow:0 18px 36px -8px rgba(0,0,0,.35)}
.svc .n{display:inline-block;background:#EEF2FF;color:#1E3A8A;padding:2px 10px;border-radius:99px}
.svc li:before{color:#2346D8}
.cmp{border-radius:22px;box-shadow:var(--sh2);background:#111}
.cmp .bar{background:#fff;box-shadow:0 0 16px rgba(143,166,255,.9)}
.cmp .bar:after{border-color:#fff;background:rgba(35,70,216,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;box-shadow:0 0 24px rgba(35,70,216,.8)}
.cmp .t{border-radius:10px;color:#fff;background:rgba(10,10,14,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}
.ctab{background:radial-gradient(80% 140% at 90% 0%,#3D5DF0,transparent 60%),linear-gradient(100deg,#2346D8,#1E3A8A);color:#fff;margin:0 max(16px,calc((100% - 1280px)/2));border-radius:28px;position:relative;z-index:3;box-shadow:0 30px 60px -20px rgba(35,70,216,.6),var(--sh1);transform:translateY(-28px);margin-bottom:-56px}
.ctab p{color:#E6E8EE}
.ctab .btn.lt{background:#111;color:#fff;border-color:#111;box-shadow:0 12px 28px rgba(0,0,0,.35)}
.ctab .btn.wa{background:#fff;color:#1E3A8A;border-color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.25)}
.ctab+.sec{padding-top:150px}
.steps li{background:rgba(255,255,255,.06);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)!important;border-top:3px solid #8FA6FF!important;border-radius:20px;padding:22px;box-shadow:0 24px 50px -16px rgba(0,0,0,.6)}
.steps b{color:#8FA6FF;text-shadow:0 0 24px rgba(143,166,255,.6)}
.about .ph figure{border-radius:22px;overflow:hidden;box-shadow:var(--sh2)}
.about .ph figure:first-child{transform:rotate(-1.5deg)}
.about .ph figure:last-child{transform:translate(28px,30px) rotate(2deg);position:relative;z-index:2;border:6px solid #fff}
.about li:before{background:#2346D8}
.gal .f{border-radius:20px;box-shadow:0 24px 50px -18px rgba(0,0,0,.8)}
.gal figure:nth-child(odd) .f{transform:rotateY(-2deg)}.gal figure:nth-child(even) .f{transform:rotateY(2deg)}
.gal figcaption,.note{color:#D5D8E0}
.tst li{border:1px solid rgba(17,17,17,.06)!important;border-radius:22px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--sh1);transform:rotate(-.4deg)}
.tst li:nth-child(even){transform:rotate(.5deg) translateY(8px)}
.tst blockquote:before{color:#2346D8}.tst cite{color:#1E3A8A}
.faq details{border:1px solid rgba(17,17,17,.06)!important;border-radius:18px;padding:4px 22px;margin-bottom:14px;background:#fff;box-shadow:var(--sh1)}
.faq details[open]{box-shadow:var(--sh2),0 0 0 2px rgba(35,70,216,.18)}
.faq summary:after{color:#2346D8}
input,select,textarea{border-radius:12px;background:#fff;border:1px solid rgba(17,17,17,.18);box-shadow:inset 0 1px 2px rgba(0,0,0,.06)}
input:focus,select:focus,textarea:focus{border-color:#2346D8;box-shadow:0 0 0 4px rgba(35,70,216,.18)}
.map{border-radius:24px 24px 0 0;overflow:hidden;box-shadow:var(--sh2)}
.map a{border-radius:12px;background:rgba(17,17,17,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff}
.me .ph{box-shadow:0 0 0 4px rgba(143,166,255,.4),var(--sh1)}
footer{background:#0A0A0A;color:#D5D8E0;border-top:1px solid rgba(143,166,255,.25)}
.fab a{border-radius:14px;background:rgba(17,17,17,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.fab a.wa{color:#fff;background:linear-gradient(180deg,#3557E6,#1E3A8A);border-color:transparent;box-shadow:var(--glow)}
:focus-visible{outline-color:#2346D8}.dk :focus-visible,.wn :focus-visible,.hero :focus-visible,footer :focus-visible{outline-color:#8FA6FF}
@media(max-width:900px){
.hero .btns{display:flex;width:100%}
.trust{margin:-34px 14px 0}.trust li{border:0;border-top:1px solid var(--line)}
.ctab{margin:0 12px;border-radius:24px;transform:translateY(-20px);margin-bottom:-40px}.ctab+.sec{padding-top:110px}
.about .ph figure:last-child{transform:translate(10px,20px) rotate(2deg)}
.svc .im{margin:-12px 10px 0}
}
@media (prefers-reduced-motion:reduce){.svc article,.svc article:nth-child(even),.tst li,.tst li:nth-child(even),.gal .f,.about .ph figure,.btn:hover,.svc article:hover{transform:none!important}}

/* ===== mobile stability fix ===== */
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
main,section,footer,header{max-width:100%;overflow-x:clip}
.trust,.ctab,.cmp,.svc article,.tst li{max-width:100%}
.cmp,.cmp input{touch-action:pan-y}
.rv{transition:opacity .6s}.rv:not(.in){transform:none}
@media(max-width:900px),(hover:none){
.svc,.tst ul,.steps,.gal{perspective:none}
.svc article,.svc article:nth-child(even),.svc article:hover,.tst li,.tst li:nth-child(even),.gal .f,.gal figure:nth-child(odd) .f,.gal figure:nth-child(even) .f,.about .ph figure,.about .ph figure:first-child,.about .ph figure:last-child,.btn:hover,.ctab{transform:none!important;transition:box-shadow .25s,background .25s}
.svc .im{margin:-12px 10px 0;max-width:calc(100% - 20px)}
.ctab{margin:0 12px 24px;width:auto}.ctab+.sec{padding-top:72px}
.trust{margin:-34px 12px 0;width:auto}
.about .ph figure:last-child{margin-top:20px}
.hero{max-height:none}
header.nav{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(17,17,17,.96)}
}
/* qa-0311: mobile footer links wrap; no 3D tilt on mobile gallery (photos were cut at the edge) */
@media(max-width:760px){footer nav{flex-wrap:wrap;gap:10px 18px}footer nav a{white-space:nowrap}.gal figure .f,.gal figure:nth-child(odd) .f,.gal figure:nth-child(even) .f{transform:none!important}}
