:root{--bg:#0a0a0a;--panel:rgba(255,255,255,.05);--line:rgba(255,255,255,.11);--tx:#e9f0fb;--mut:#93a6c4;--a:#14181f;--b:#5b6472;color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{background:linear-gradient(160deg,#1a1a1a 0%,#0a0a0a 55%,#000 100%) fixed;color:var(--tx);font-family:'Inter',system-ui,sans-serif;overflow-x:hidden}
h1,h2,h3,.fd{font-family:'Sora',system-ui,sans-serif}
#wave{position:fixed;inset:0;z-index:0;pointer-events:none}
main,header,footer{position:relative;z-index:1}
.glass{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px)}
.grad{background:linear-gradient(100deg,var(--a),var(--b));-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{background:linear-gradient(100deg,var(--a),var(--b));color:#14181f;font-weight:600;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px -8px rgba(20,24,31,.6)}
.card{transition:transform .25s,border-color .25s,box-shadow .25s}
.card:hover{transform:translateY(-5px);border-color:rgba(20,24,31,.55);box-shadow:0 16px 40px -16px rgba(20,24,31,.4)}
@keyframes ltr{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.track{display:flex;width:max-content;animation:ltr 42s linear infinite}
.tick:hover .track{animation-play-state:paused}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.in{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}
@keyframes pl{0%,100%{box-shadow:0 0 30px 6px rgba(20,24,31,.35)}50%{box-shadow:0 0 54px 12px rgba(90,98,112,.4)}}
.badge{animation:pl 3.2s ease-in-out infinite}
input,textarea,select{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;color:var(--tx);font-size:.95rem}
input::placeholder,textarea::placeholder{color:#7389ab}
input:focus,textarea:focus,select:focus{outline:2px solid var(--a);outline-offset:1px}
select option{background:#ffffff}
a:focus-visible,button:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.ph{object-fit:cover;width:100%;height:100%}
details summary{cursor:pointer;list-style:none}details summary::-webkit-details-marker{display:none}
details[open] .pm{transform:rotate(45deg)}
@media (prefers-reduced-motion:reduce){.track,.in,.badge{animation:none}}

:root{--bg:#f7f6f3;--tx:#14181f;--line:#dcd8cf;--panel:rgba(255,255,255,.72);color-scheme:light}
body{background:linear-gradient(180deg,#fbfaf7 0%,#f1eee8 100%) fixed;color:#14181f}
.glass{box-shadow:0 1px 2px rgba(20,24,31,.05)}
.btn{background:#14181f;color:#fff}
.btn:hover{box-shadow:0 10px 26px -10px rgba(20,24,31,.55)}
.card:hover{box-shadow:0 18px 40px -18px rgba(90,98,112,.35)}
.text-slate-200{color:#2b2f38!important}.text-slate-300{color:#4a5160!important}.text-slate-400{color:#677080!important}.text-slate-500{color:#7c8494!important}
.hover\:text-white:hover{color:#000!important}
.bg-white\/5{background:rgba(20,24,31,.05)!important}
.border-white\/10{border-color:rgba(20,24,31,.1)!important}
input,textarea,select{background:#fff}
input::placeholder,textarea::placeholder{color:#9a9ba5}
.tick{background:#14181f;border:0}
.tick .track,.tick .fd{color:#f1f2f5!important}
.tick .track>span>span{color:#ffffff!important}
footer{background:#14181f;color:#e8eaef}
footer .text-slate-400,footer .text-slate-500{color:#a2a9b8!important}
footer .hover\:text-white:hover{color:#fff!important}
footer .glass{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22);color:#fff}
footer .btn{background:#fff;color:#14181f}
footer .border-white\/10{border-color:rgba(255,255,255,.14)!important}
#auth .glass{background:#fff}
body{font-family:'Manrope',system-ui,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2{font-family:'Fraunces',Georgia,serif;font-weight:600!important;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,5vw,3.9rem)!important;line-height:1.06!important}
h1 .grad{font-style:italic;font-weight:500}
h2{font-size:clamp(1.8rem,3.6vw,2.75rem)!important;line-height:1.12!important}
h3,.fd{font-family:'Manrope',system-ui,sans-serif;letter-spacing:-.01em}
h3{font-size:1.06rem;font-weight:700}
#home p{font-size:1.06rem;line-height:1.75}
nav a{font-size:.9rem;font-weight:500;letter-spacing:.01em}
.btn,button{font-family:'Manrope',system-ui,sans-serif;letter-spacing:.01em}
#services{position:relative}
#services::before{content:"";position:absolute;inset:4% 0 auto 0;height:75%;z-index:-1;pointer-events:none;background:radial-gradient(38% 48% at 18% 30%,rgba(90,98,112,.22),transparent 70%),radial-gradient(34% 44% at 82% 62%,rgba(20,24,31,.12),transparent 70%)}
#svc .card{background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 32px -14px rgba(20,24,31,.18),inset 0 1px 0 rgba(255,255,255,.75)}
#svc .card:hover{background:rgba(255,255,255,.38);border-color:rgba(20,24,31,.55)}
#svc h3{font-size:1.02rem}
#svc p{font-size:.9rem;line-height:1.65}
header.glass{background:rgba(255,255,255,.12)!important;-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);border:0;border-bottom:1px solid rgba(20,24,31,.08);box-shadow:none}
:root{--panel:rgba(255,255,255,.34)}
body{background:linear-gradient(135deg,#e6e9ef 0%,#f6f7f9 42%,#dce1e9 100%) fixed}
body::before{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(35% 35% at 20% 25%,rgba(255,255,255,.95),transparent 70%),radial-gradient(30% 30% at 80% 20%,rgba(150,160,178,.4),transparent 70%),radial-gradient(35% 35% at 70% 80%,rgba(255,255,255,.85),transparent 70%),radial-gradient(28% 28% at 15% 85%,rgba(110,120,140,.32),transparent 70%);animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate3d(4%,3%,0) scale(1.08)}}
@media (prefers-reduced-motion:reduce){body::before{animation:none}}
.glass{-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);border-color:rgba(255,255,255,.65)}
.tick{background:rgba(20,24,31,.72)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
footer{background:rgba(20,24,31,.72)!important;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
input,textarea,select{background:rgba(255,255,255,.7)}
#auth .glass{background:rgba(255,255,255,.92);max-height:92vh;overflow:auto}
.chip{padding:.4rem .85rem;border-radius:999px;border:1px solid rgba(20,24,31,.18);background:rgba(255,255,255,.55);font-size:.82rem;color:#14181f;text-decoration:none;cursor:pointer}
.chip:hover{background:rgba(255,255,255,.9)}.chip.on{background:#14181f;color:#fff;border-color:#14181f}
.sw{width:30px;height:30px;border-radius:50%;border:2px solid rgba(20,24,31,.25);cursor:pointer}.sw.on{outline:2px solid #14181f;outline-offset:2px}
#app{position:fixed;inset:0;z-index:55;display:flex;flex-direction:column;background:rgba(238,240,245,.8);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);padding-top:env(safe-area-inset-top,0px)}
#app.hidden{display:none}
.atop{display:flex;align-items:center;gap:.6rem;height:56px;padding:0 1rem;flex:none}
.abody{flex:1;display:flex;min-height:0;position:relative}
#drawer{width:280px;flex:none;overflow:auto;padding:.9rem;border-right:1px solid rgba(20,24,31,.1);background:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
#panel{flex:1;overflow:auto;padding:1.5rem 1.25rem 3rem}
@media(min-width:640px){#panel{padding:2rem 2.2rem 3rem}}
.dv{display:block;width:100%;text-align:left;padding:.55rem .8rem;border-radius:.7rem;font-size:.9rem;color:#14181f}
.dv:hover{background:rgba(20,24,31,.07)}.dv.on{background:#14181f;color:#fff}
.dh{margin:.9rem .4rem .3rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#677080}
@media(max-width:1023px){#drawer{position:absolute;top:0;bottom:0;left:0;z-index:5;transform:translateX(-102%);transition:transform .25s;background:rgba(255,255,255,.94)}#drawer.open{transform:none}}
.wa{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:45;padding:.65rem 1.1rem;border-radius:999px;background:#14181f;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:0 10px 26px -10px rgba(20,24,31,.6)}
#app .wa{display:none}

input:not([type=checkbox]):not([type=range]):not([type=color]),textarea,select{text-align:center;text-align-last:center;transition:border-color .2s,box-shadow .2s,background .2s}
textarea{text-align-last:auto}
input::placeholder,textarea::placeholder{text-align:center}
input:hover,textarea:hover,select:hover{border-color:rgba(20,24,31,.35)}
input:focus,textarea:focus,select:focus{box-shadow:0 0 0 4px rgba(20,24,31,.08);background:#fff}
label.block{text-align:center}
label.block>span{display:block;margin-bottom:.3rem;font-size:.74rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.btn:disabled{opacity:.6;cursor:wait}
#am,#rm,#cmsg,#om{text-align:center}
#auth .glass{box-shadow:0 30px 80px -20px rgba(20,24,31,.45);padding:2rem}
#auth .flex.justify-between{position:relative;justify-content:center}
#auth button[aria-label=Close]{position:absolute;right:0;top:50%;transform:translateY(-50%)}

.badge{left:auto!important;top:auto!important;right:4%;bottom:7%;transform:none!important;width:3.6rem!important;height:3.6rem!important;font-size:1.05rem!important}
.gt{position:absolute;pointer-events:none;padding:.3rem .75rem;border-radius:999px;background:rgba(20,24,31,.9);color:#fff;font-size:.78rem;font-weight:600;display:none;white-space:nowrap;z-index:3}
.gl{position:absolute;left:0;right:0;bottom:-4px;text-align:center;font-size:.75rem;color:#677080;pointer-events:none}

@keyframes rtl{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.track{animation-name:rtl;animation-duration:40s}
.track{font-weight:600;letter-spacing:.02em}
h1,h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.015em}
h1{font-size:clamp(2.2rem,4.8vw,3.7rem)!important;line-height:1.1!important}
h2{font-size:clamp(1.75rem,3.4vw,2.6rem)!important;line-height:1.15!important}
h1 .grad{font-style:italic;font-weight:500}
header a[href="#home"],#home div.fd.text-3xl,footer .fd.text-lg,.atop .fd,#home .fd.text-2xl{font-family:'Syne','Manrope',sans-serif;font-weight:800;letter-spacing:-.02em}
.dh,label.block>span{font-family:'Syne','Manrope',sans-serif}

.sx{display:grid;grid-template-columns:300px 1fr;gap:1.25rem;align-items:stretch}
.sx-list,.sx-d{border-radius:1.25rem;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 32px -14px rgba(20,24,31,.18),inset 0 1px 0 rgba(255,255,255,.75)}
.sx-list{max-height:440px;overflow:auto;padding:.5rem;scrollbar-width:thin}
.sx-i{display:flex;align-items:center;gap:.75rem;width:100%;padding:.62rem .8rem;border-radius:.85rem;text-align:left;font-family:'Syne','Manrope',sans-serif;font-weight:700;font-size:.88rem;color:#14181f;transition:background .2s,color .2s}
.sx-i svg{flex:none;width:22px;height:22px}
.sx-i:hover{background:rgba(255,255,255,.65)}
.sx-i.on{background:#14181f;color:#fff}.sx-i.on svg{filter:invert(1) brightness(2)}
.sx-d{padding:2rem 2.2rem;min-height:440px;animation:rise .45s both}
.sx-d h3{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;letter-spacing:-.01em;margin:.9rem 0 .5rem}
.sx-p{color:#4a5160;max-width:34rem;line-height:1.7;margin-bottom:1.4rem}
.sx-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.7rem}
.sx-step{padding:.85rem;border-radius:.95rem;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.85);font-size:.84rem;line-height:1.4}
.sx-step b{display:block;font-family:'Syne','Manrope',sans-serif;font-size:.66rem;letter-spacing:.14em;color:#677080;margin-bottom:.25rem}
@media(max-width:860px){.sx{grid-template-columns:1fr}.sx-list{display:flex;gap:.4rem;max-height:none;padding:.4rem;overflow-x:auto}.sx-i{width:auto;flex:none;white-space:nowrap;padding:.5rem .85rem}.sx-i svg{display:none}.sx-d{min-height:0;padding:1.4rem}}
