:root{ --bg:#121621; --bg-footer:#0d111b; --acc1:#58e6ff; --acc2:#a78bfa; --acc3:#ff70c8; }
body{ color:#f0f3fa; }
.reveal,.reveal.in{ filter:none; }
.reveal{ transition:opacity .3s ease-out,transform .3s ease-out; }
.blob{ animation:none; }
.aurora::before,.aurora::after{ animation:none; will-change:auto; }
.btn{ will-change:auto; }
.shell{ max-width:1520px; padding-inline:32px; }
.grain{ opacity:.035; }
.dot-grid{ opacity:.8; }
.blob-1{ background:rgba(70,140,255,.10); }
.blob-2{ background:rgba(177,72,255,.08); }
.site-header{ background:rgba(18,22,33,.88); border-color:rgba(145,169,230,.16); }
.header-inner{ height:84px; }
@font-face{
  font-family:'Stalinist One';
  src:url('../fonts/StalinistOne-Regular.ttf') format('truetype');
  font-style:normal;
  font-weight:400;
  font-display:swap;
}
.brand-name{ font-family:var(--font-sans); font-weight:500; letter-spacing:.2em; font-size:20px; }
.site-header .brand-name,.site-footer .brand-name{ font-family:'Stalinist One',sans-serif; font-weight:400; letter-spacing:0; }
.nav{ gap:2.6rem; }
.nav a{ font-size:12px; letter-spacing:.14em; color:#adafb3; }
.mobile-menu{ top:84px; background:rgba(18,22,33,.98); }
main{ padding-top:84px; padding-bottom:7rem; }
.hero{ isolation:isolate; min-height:760px; min-height:max(760px, calc(100svh - 84px)); margin:0 0 5rem; padding:90px 0 140px; }
.hero-eyebrow{ margin-bottom:48px; }
.hero-eyebrow .mono-label{ font-size:13px; letter-spacing:.14em; color:#a5c7de; }
.hero-eyebrow .rule{ width:32px; background:var(--acc1); box-shadow:0 0 14px #58e6ff88; }
.hero .mask{ position:relative; z-index:1; overflow:visible; margin-bottom:32px; }
.hero-title{ font-family:'Stalinist One',sans-serif; font-size:clamp(44px,8.5vw,92px); font-weight:400; letter-spacing:0; line-height:1.08; color:#f1f5ff; text-shadow:0 0 65px #729cff18; animation:studio-title 1.4s var(--ease) both; }
.hero-title > span{ padding-right:.12em; margin-right:-.12em; background:linear-gradient(120deg,#f1f5ff 15%,#b7e9ff 58%,#bba7fa); background-clip:text; -webkit-background-clip:text; color:transparent; }
@keyframes studio-title{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
.hero .hero-statement-mask{ margin:0 0 42px; }
.hero-sub{ flex-direction:column; align-items:flex-start; gap:10px; white-space:normal; animation:studio-title 1.4s var(--ease) .15s both; }
.hero-sub-label{ font-family:var(--font-sans); font-weight:400; font-size:clamp(20px,2.2vw,31px); letter-spacing:-.035em; text-transform:none; color:#c2cadb; padding-right:0; }
.hero-sub-label::after{ display:none; }
.hero-sub-main{ font-size:clamp(20px,2.2vw,31px); letter-spacing:-.035em; background:linear-gradient(100deg,#58e6ff 5%,#a78bfa 55%,#ff70c8); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; animation:none; }
.hero-sub-label::before{ content:none; }
.hero-sub-main::before{ content:none; }
.hero-sub-arrow{ display:inline-block; width:1.15em; height:.9em; margin-right:.55em; vertical-align:-.04em; stroke:#79cfe9; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.hero-sub-dot{ color:var(--acc3); }
.hero-foot{ position:relative; z-index:2; flex-direction:column; align-items:flex-start; gap:32px; max-width:560px; }
.hero-lead{ max-width:470px; font-size:16px; color:#aeb2b6; line-height:1.85; }
.btn{ min-height:54px; font-size:12px; letter-spacing:.1em; padding:16px 24px; border-radius:2px; }
.btn-primary{ background:linear-gradient(110deg,#70eaff,#97b4ff 58%,#d1a6ff); color:#10172b; box-shadow:0 5px 28px #639eff22; }
.btn-primary:hover{ background:linear-gradient(110deg,#a0f2ff,#b6caff 58%,#e2c6ff); box-shadow:0 5px 35px #839aff44; }
.btn-ghost{ border-color:#6e83b455; color:#c1cce0; }
.hero-signature{ position:absolute; bottom:0; left:0; right:0; padding:24px 0; border-top:1px solid #ffffff24; display:flex; align-items:center; justify-content:space-between; gap:24px; font:12px/1.8 var(--font-mono); letter-spacing:.02em; color:#9ba2a3; }
.hero-signature a:hover{ color:#eef1ea; }
.hero-explore{ display:flex; align-items:center; gap:32px; }
.hero-explore span{ font-size:25px; color:var(--acc1); }
.scroll-hint{ display:none; }
.hero-sculpture{ position:absolute; width:490px; height:530px; right:12px; top:95px; z-index:-1; pointer-events:none; perspective:900px; }
.hero-sculpture::after{ content:''; position:absolute; inset:8%; border-radius:50%; background:radial-gradient(circle at var(--light-x,40%) var(--light-y,35%),#78eaff35,transparent 48%); filter:blur(30px); opacity:var(--ring-light,.35); transition:opacity .6s; }
.hero-sculpture::before{ content:''; position:absolute; inset:-20%; background:radial-gradient(ellipse at 30% 30%,#27cfff30,transparent 55%),radial-gradient(ellipse at 75% 65%,#c542ff36,transparent 55%); filter:blur(40px); }
.marquee{ margin-bottom:100px; padding:24px 0; border-color:#ffffff12; }
.marquee span{ background:linear-gradient(90deg,var(--acc1),var(--acc2),var(--acc3),var(--acc1)); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; color:transparent; font-size:10px; letter-spacing:.16em; opacity:.95; }
.marquee i{ color:var(--acc2); }
.section{ margin-bottom:110px; scroll-margin-top:110px; }
.section-head{ margin-bottom:40px; gap:20px; }
.sh-num{ color:var(--acc1); font-size:10px; }
.sh-title{ color:#bfc9e0; font-size:10px; letter-spacing:.17em; }
.sh-line{ background:linear-gradient(90deg,#58e6ff66,#a78bfa44,#ff70c81a); }
.section-intro{ display:flex; justify-content:space-between; align-items:flex-end; gap:48px; margin-bottom:48px; }
.section-intro h2{ font:400 clamp(32px,4.2vw,56px)/1.12 var(--font-sans); letter-spacing:-.055em; }
.section-intro h2 span{ color:#adb9d2; }
.section-intro > p{ max-width:290px; color:#a7adb0; font-size:14px; line-height:1.8; }
.grid{ gap:16px; }
.card{ border-color:#ffffff1c; background:linear-gradient(145deg,#ffffff06,#ffffff02); border-radius:4px; }
.grid-services .card{ background:linear-gradient(135deg,color-mix(in srgb,var(--card-acc) 7%,#191e2b),#191d2800 75%); border-color:color-mix(in srgb,var(--card-acc) 22%,#ffffff0a); padding:28px; }
.grid-services .card-title{ font-size:17px; font-weight:400; letter-spacing:-.025em; color:#e7e9e5; }
.grid-services .card-desc{ font-size:13px; color:#a9afb1; }
.card-top{ margin-bottom:40px; }
.ico-circle{ border-radius:10px; }
.grid-services .ico-circle svg{ color:var(--card-acc); }
.grid-services .ico-circle{ border-color:color-mix(in srgb,var(--card-acc) 35%,transparent); background:color-mix(in srgb,var(--card-acc) 8%,transparent); }
.tags span{ font-size:9px; color:#929b98; border-color:#ffffff18; }
.card.approach{ padding:36px; }
.card.approach h4{ font-weight:400; letter-spacing:-.025em; }
.card.approach p{ font-size:14px; color:#a6afb0; }
.ghost-num{ color:#a78bfa12; }
.card.price{ padding:30px; background:linear-gradient(140deg,color-mix(in srgb,var(--price-acc) 12%,#1c2230),#191e2c 75%); border-color:color-mix(in srgb,var(--price-acc) 36%,#ffffff0a); }
.card.price h4{ font-size:19px; font-weight:400; letter-spacing:-.035em; color:#e8ece8; }
.card.price p{ color:#aeb6b8; font-size:13px; }
.price-val{ font-size:24px; letter-spacing:-.045em; padding-top:25px; border-color:#ffffff20; }
.card.price > .price-link{ margin-top:25px; font-size:10px; color:#bdc6c1; }
.price-note{ color:#a3acae; font-size:13px; line-height:1.9; }
.price-note b,.faq-a b{ font-weight:500; color:#f0f3fa; text-decoration:underline; text-decoration-color:var(--acc3); text-decoration-thickness:2px; text-underline-offset:4px; }
.card.review{ min-height:0; padding:30px; background:linear-gradient(140deg,#a78bfa12,#191e2c 70%); border-color:#a78bfa38; }
.card.review:hover{ border-color:#a78bfa88; }
.review-stars{ gap:4px; margin-bottom:22px; }
.review-stars svg{ width:15px; height:15px; color:#fbbf24; fill:#fbbf24; }
.review-text{ color:#c9d0d6; font-size:15px; font-style:normal; line-height:1.75; }
.review-who{ border-color:#ffffff20; }
.review-ava{ width:38px; height:38px; border:0; background:linear-gradient(135deg,#58e6ff,#a78bfa 60%,#ff70c8); color:#10172b; font-weight:500; }
.review-name{ color:#e1e6ee; }
.review-date{ color:#8e98a6; }
@media(min-width:641px){ .rail-review{ width:clamp(300px,31vw,470px); } }
.reviews-add{ color:#d5dcea; border-bottom:1px solid #a78bfa88; transition:color .3s,border-color .3s; }
.reviews-add:hover{ color:#fff; border-color:var(--acc1); }
.faq{ max-width:none; }
.faq-q{ padding:26px 0; }
.faq-q > span:first-child{ font-size:18px; color:#cdd2cf; letter-spacing:-.02em; }
.faq-a p{ max-width:800px; font-size:15px; color:#a9b2ae; }
.contact{ border-radius:4px; background:#ffffff04; }
.contact-kind{ font-weight:500; color:color-mix(in srgb,var(--accent) 75%,#fff); }
.contact-val{ color:#e3e8ee; font-weight:500; }
.contact-note{ color:#aab3c2; font-weight:400; }
.lead-form{ padding:40px; border:1px solid #a78bfa44; border-top-color:#58e6ff88; border-radius:4px; background:linear-gradient(120deg,#58e6ff09,#a78bfa0b 55%,#ff70c807); scroll-margin-top:110px; }
.lead-title{ color:#d2dbf0; font-size:12px; letter-spacing:.08em; }
.lf-field label{ color:#b0bdd6; font-size:10px; letter-spacing:.1em; }
.lf-field input,.lf-field textarea,.lf-field select{ background:#0d1424; border:1px solid #879bcb40; border-radius:2px; }
.lf-field select{
  appearance:none; -webkit-appearance:none;
  width:100%; min-width:0; min-height:56px; padding:1rem 3.5rem 1rem 1.1rem;
  border:1px solid #596780; border-radius:2px;
  color:#e5ebf7; font:400 16px/1.4 var(--font-sans); letter-spacing:-.015em;
  color-scheme:dark; cursor:pointer;
  background-color:#121a29;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%23b8c5dd' stroke-width='1.5' stroke-linecap='square'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1.1rem center; background-size:16px;
  transition:border-color .2s,background-color .2s,box-shadow .2s;
}
.lf-field select:hover{ border-color:#8291ab; background-color:#182132; }
.lf-field select:focus{ outline:none; border-color:#8ab9d7; box-shadow:0 0 0 3px #83b8e014; }
.lf-field select:invalid{ color:#98a6bd; }
.lf-field select option{ background:#151e2d; color:#e5ebf7; font-weight:400; }
@media(forced-colors:active){ .lf-field select{ appearance:auto; background-image:none; }.lf-field select:focus{ outline:2px solid Highlight; } }
.grid-services .spot::before{ background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--card-acc) 25%,transparent),transparent 70%); }
.card.price::before{ background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--price-acc) 28%,transparent),transparent 70%); }
.contact::before{ background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--accent) 26%,transparent),transparent 70%); }
.card.approach::before,.card.review::before{ background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),#a78bfa38,transparent 70%); }
.grid-services .card:hover{ border-color:color-mix(in srgb,var(--card-acc) 65%,#ffffff15); }
.card-link{ display:flex; flex-direction:column; color:inherit; }
.grid-services .card-sites{ border-color:color-mix(in srgb,var(--card-acc) 45%,#ffffff0a); box-shadow:0 0 0 1px color-mix(in srgb,var(--card-acc) 18%,transparent),0 18px 50px color-mix(in srgb,var(--card-acc) 12%,transparent); }
.card-sites .card-top{ margin-bottom:18px; align-items:center; }
.card-new{ font:500 11px var(--font-mono); letter-spacing:.08em; text-transform:uppercase; color:#1a1020; background:var(--card-acc); padding:6px 10px; border-radius:999px; }
.sites-mini{ border-radius:8px; overflow:hidden; border:1px solid #ffffff1f; background:#0e121c; margin-bottom:20px; }
.sm-bar{ display:flex; gap:4px; padding:6px 8px; background:#171d2b; }
.sm-bar i{ width:6px; height:6px; border-radius:50%; background:#ffffff30; }
.sm-body{ position:relative; display:flex; flex-direction:column; gap:6px; padding:12px; height:86px; }
.sm-h{ width:70%; height:10px; border-radius:3px; background:linear-gradient(90deg,#58e6ff,#a78bfa,#ff70c8); }
.sm-l{ width:90%; height:6px; border-radius:3px; background:#ffffff1c; }
.sm-l.short{ width:55%; }
.sm-btn{ width:38%; height:14px; margin-top:4px; border-radius:4px; background:var(--card-acc); transition:filter .3s; }
.sm-cursor{ position:absolute; left:62%; top:70%; width:12px; height:12px; border-left:2px solid #fff; border-top:2px solid #fff; transform:rotate(-20deg) skew(8deg); filter:drop-shadow(0 2px 3px #000a); transition:left .6s var(--ease),top .6s var(--ease); }
.card-sites:hover .sm-cursor{ left:24%; top:66%; }
.card-sites:hover .sm-btn{ filter:brightness(1.25); }
.card-more{ margin-top:auto; padding-top:16px; font:500 13px var(--font-sans); color:var(--card-acc); display:inline-flex; gap:8px; }
.card-more span{ transition:transform .3s var(--ease); }
.card-sites:hover .card-more span{ transform:translateX(4px); }
.nav a.nav-sites{ color:#f7a8d4; }
.nav a.nav-sites:hover{ color:#ffd0ea; }
@media(prefers-reduced-motion:reduce){ .sm-cursor,.card-more span{ transition:none; } }
.card.price:hover{ border-color:color-mix(in srgb,var(--price-acc) 70%,#ffffff15); }
.site-footer{ border-color:#ffffff18; }
a:focus-visible,button:focus-visible{ outline:2px solid var(--acc1); outline-offset:5px; }
@media(min-width:1024px){ .grid-services{ grid-template-columns:repeat(4,1fr); } }
@media(max-width:1100px){ .hero-sculpture{ right:-80px; opacity:.65; transform:scale(.85); }.shell{ padding-inline:32px; } }
@media(max-width:767px){
  .shell{ padding-inline:24px; }.header-inner{ height:72px; }.mobile-menu{ top:72px; }main{ padding-top:72px; }
  .hero{ min-height:0; padding:56px 0 0; margin-bottom:32px; justify-content:flex-start; }
  .hero-title{ font-size:clamp(32px,10vw,58px); }.hero-eyebrow .mono-label{ font-size:11px; letter-spacing:.1em; line-height:1.5; }
  .hero-eyebrow{ gap:12px; margin-bottom:38px; }.hero-eyebrow .rule{ width:20px; }
  .hero-sculpture{ width:260px; height:310px; top:110px; right:-110px; opacity:.28; transform:scale(.7); transform-origin:top right; }
  .hero-sub{ flex-direction:column; align-items:flex-start; gap:8px; }.hero-sub-label,.hero-sub-main{ font-size:clamp(20px,5.6vw,26px); white-space:normal; }.hero-foot{ gap:24px; }.hero-lead{ max-width:none; font-size:15px; }
  .hero-signature{ position:relative; margin-top:44px; flex-wrap:wrap; gap:18px; font-size:11px; }.hero-explore{ width:100%; justify-content:space-between; }.hero-signature > span{ max-width:48%; }
  .section{ margin-bottom:76px; }.section-intro{ display:block; margin-bottom:32px; }.section-intro > p{ margin-top:24px; max-width:340px; }
  .section-intro h2{ font-size:clamp(29px,7.7vw,40px); }.section-head{ margin-bottom:30px; }.marquee{ margin-bottom:56px; }
  .lead-form{ padding:24px; }.rail-price{ width:min(82vw,340px); }.card.price{ padding:26px; }.faq-q > span:first-child{ font-size:16px; }
  .hero-actions{ width:100%; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; }
  .hero-actions .btn{ justify-content:center; padding-inline:18px; }
  .hero-foot{ width:100%; }
  .lead-grid,.lf-field,.promo-input{ min-width:0; }
  .lf-field input,.lf-field textarea{ min-width:0; }
  .lead-foot .btn{ width:100%; justify-content:center; }
  .contact{ padding:24px; }
  .section,.lead-form{ scroll-margin-top:92px; }
  .site-footer .shell{ padding-block:40px; }
  .footer-bottom{ align-items:flex-start; }
  .footer-bottom .mono-label{ overflow-wrap:anywhere; }
}
@media(max-width:380px){
  .shell{ padding-inline:18px; }
  .hero-actions .btn{ padding-inline:12px; font-size:11px; }.hero-eyebrow .mono-label{ font-size:10px; }
  .lead-form{ padding:18px; }
  .grid-services .card,.card.approach{ padding:24px; }
  .hero-signature{ column-gap:12px; font-size:10px; }
}
@media(hover:none), (pointer:coarse){
  .grain{ display:none; }
  .site-header{ backdrop-filter:none; -webkit-backdrop-filter:none; background:#121621f7; }
  .card:hover,.contact:hover{ --ty:0px; }
  .spot::before,.spot::after,.contact::before{ display:none; }
  .marquee-track{ animation-duration:65s; }
}
@media(prefers-reduced-motion:reduce){ .hero-title,.hero-sub{ animation:none; transform:none; }.hero-sculpture::after{ display:none; } }
