:root{
  --bg0:#f6f7ff;
  --bg1:#f3fbff;
  --bg2:#fff8fb;
  --ink:#0f172a;
  --muted:#475569;
  --muted2:#64748b;
  --line:rgba(15,23,42,.12);
  --glass:rgba(255,255,255,.55);
  --glass2:rgba(255,255,255,.35);
  --shadow:0 18px 60px rgba(2,6,23,.10);
  --shadow2:0 10px 30px rgba(2,6,23,.08);
  --brand:#4f46e5;
  --brand2:#06b6d4;
  --good:#10b981;
  --bad:#ef4444;
  --radius:22px;
  --radius2:16px;
  --container:1120px;
  --topbar-h:72px;
}

*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
html:not(.icons-ready) .material-symbols-rounded{color:transparent}
body{
  margin:0;
  font-family:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:linear-gradient(135deg,var(--bg0),var(--bg1) 35%,var(--bg2));
  overflow-x:hidden;
  padding-top:var(--topbar-h,72px);
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea{font:inherit;color:inherit}

.bg{position:fixed;inset:0;z-index:-2;pointer-events:none}
.bg__mesh{
  position:absolute;inset:-20%;
  background:
    radial-gradient(closest-side at 20% 20%, rgba(79,70,229,.18), transparent 55%),
    radial-gradient(closest-side at 80% 25%, rgba(6,182,212,.16), transparent 55%),
    radial-gradient(closest-side at 60% 80%, rgba(244,114,182,.14), transparent 60%),
    radial-gradient(closest-side at 15% 85%, rgba(34,197,94,.10), transparent 60%);
  filter:blur(10px);
}
.bg__noise{
  position:absolute;inset:0;
  background-image:url("./assets/noise.svg");
  opacity:.06;
  mix-blend-mode:soft-light;
}

.container{width:min(var(--container), calc(100% - 40px));margin:0 auto}
.section{padding:74px 0}
.section__head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}
.section__head .muted{margin:0}
.section__head--stack{flex-direction:column;align-items:flex-start;justify-content:flex-start}

.h1{font-size:clamp(30px,4.2vw,54px);line-height:1.03;margin:12px 0 10px;letter-spacing:-.02em}
.h2{font-size:clamp(22px,2.4vw,34px);line-height:1.15;margin:0;letter-spacing:-.01em}
.lead{font-size:clamp(15px,1.6vw,18px);line-height:1.55;color:rgba(15,23,42,.86);margin:0}
.muted{color:var(--muted);line-height:1.5}

.glass{
  background:linear-gradient(180deg,var(--glass),var(--glass2));
  border:1px solid rgba(255,255,255,.55);
  box-shadow:var(--shadow2);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.pageLoader{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--bg0),var(--bg1) 35%,var(--bg2));
  transition:opacity .25s ease, visibility .25s ease;
}
.pageLoader.is-off{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.pageLoader__card{
  border-radius:28px;
  padding:18px 18px 16px;
  border:1px solid rgba(255,255,255,.70);
  box-shadow:var(--shadow);
  width:min(420px, calc(100% - 28px));
  text-align:center;
}
.pageLoader__brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.pageLoader__title{
  font-weight:1000;
  letter-spacing:-.01em;
}
.pageLoader__spinner{
  width:46px;
  height:46px;
  border-radius:999px;
  margin:14px auto 10px;
  background:conic-gradient(from 180deg, rgba(79,70,229,.92), rgba(6,182,212,.92), rgba(244,114,182,.80), rgba(79,70,229,.92));
  -webkit-mask:radial-gradient(circle, transparent 58%, #000 61%);
  mask:radial-gradient(circle, transparent 58%, #000 61%);
  animation:spin .9s linear infinite;
}
.pageLoader__text{
  color:rgba(15,23,42,.72);
  font-weight:800;
}
@keyframes spin{
  from{transform:rotate(0)}
  to{transform:rotate(360deg)}
}

.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  border-bottom:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.45);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.section[id]{scroll-margin-top:calc(var(--topbar-h,72px) + 18px)}
.topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px}
.brand__dot{width:12px;height:12px;border-radius:99px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 10px 30px rgba(79,70,229,.25)}
.brand__text{font-weight:700;letter-spacing:-.01em}
.nav{display:flex;gap:14px;align-items:center}
.nav__link{padding:8px 10px;border-radius:12px;color:rgba(15,23,42,.78);font-weight:600;font-size:14px}
.nav__link:hover{background:rgba(255,255,255,.55)}
.topbar__actions{display:flex;align-items:center;gap:10px}
.topbarCta{white-space:nowrap}
.topbarCta__text{display:inline}

.burger{display:none;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,255,255,.6);background:rgba(255,255,255,.55)}
.burger__line{display:block;width:18px;height:2px;background:rgba(15,23,42,.75);margin:2px 0;border-radius:2px}
.burger__icon{font-size:24px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.burger__icon--close{display:none}
.burger[aria-expanded="true"] .burger__icon--open{display:none}
.burger[aria-expanded="true"] .burger__icon--close{display:inline-flex}

.mobile{display:none;border-top:1px solid rgba(255,255,255,.4)}
.mobile__inner{padding:12px 0;display:grid;gap:8px}
.mobile__link{padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.55);font-weight:700}
.mobile__cta{margin-top:6px}

.hero{position:relative;min-height:86vh;display:grid;align-items:center;padding:54px 0}
.hero__media{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg, rgba(15,23,42,.08), rgba(15,23,42,.05)),
    radial-gradient(closest-side at 60% 20%, rgba(255,255,255,.55), transparent 65%),
    url("./assets/hero.svg");
  background-size:cover;
  background-position:center;
}
.hero__inner{display:grid}
.hero__grid{
  display:grid;
  grid-template-columns:minmax(520px, 1.1fr) minmax(360px, .9fr);
  gap:18px;
  align-items:stretch;
}
.hero__card{
  border-radius:var(--radius);
  padding:26px 26px 20px;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.68);
  max-width:none;
  justify-self:start;
}
.hero__side{display:grid;align-items:center;justify-items:end}
.heroPhoto{
  width:min(520px, 100%);
  aspect-ratio:4/5;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.70);
  box-shadow:0 26px 90px rgba(2,6,23,.16);
  position:relative;
  overflow:hidden;
}
.heroPhoto__img{
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.02);
}
.heroPhoto__shine{
  position:absolute;
  inset:-30%;
  background:
    radial-gradient(closest-side at 20% 20%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(closest-side at 80% 30%, rgba(79,70,229,.18), transparent 62%),
    radial-gradient(closest-side at 55% 85%, rgba(6,182,212,.14), transparent 65%);
  pointer-events:none;
  mix-blend-mode:soft-light;
}
.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.65);font-weight:700;font-size:13px}
.badge__dot{width:9px;height:9px;border-radius:99px;background:linear-gradient(135deg,var(--good),var(--brand2))}
.hero__cta{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 10px}
.hero__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
.meta{padding:12px 12px;border-radius:18px;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.6)}
.meta__title{font-size:12px;font-weight:800;color:rgba(15,23,42,.6);letter-spacing:.02em;text-transform:uppercase}
.meta__value{margin-top:4px;font-weight:700;color:rgba(15,23,42,.86)}

.btn{
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.55);
  padding:11px 14px;border-radius:16px;
  font-weight:800;font-size:14px;
  cursor:pointer;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 18px 50px rgba(2,6,23,.10)}
.btn:active{transform:translateY(0)}
.btn--primary{
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  border-color:rgba(255,255,255,.35);
  color:white;
}
.btn--ghost{background:rgba(255,255,255,.52)}
.btn--full{width:100%}
.btn--lg{padding:13px 16px;border-radius:18px}
.btn--cta{
  padding:14px 22px;
  border-radius:999px;
  width:fit-content;
  min-width:240px;
  max-width:min(420px, 100%);
  justify-self:center;
  box-shadow:0 18px 60px rgba(79,70,229,.18);
}
.btn--primary.btn--cta:hover{box-shadow:0 26px 80px rgba(79,70,229,.26)}

.grid{display:grid;gap:14px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}

.card{padding:18px 18px;border-radius:var(--radius2);border:1px solid rgba(255,255,255,.65)}
.card__icon{font-size:22px;opacity:.92;line-height:1;display:inline-flex;align-items:center}
.card__title{margin-top:10px;font-weight:900;letter-spacing:-.01em}
.card__text{margin-top:8px;color:rgba(15,23,42,.75);line-height:1.55}
.card__price{margin-top:12px;font-weight:1000;letter-spacing:-.01em;font-size:18px}
.card--accent{background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.38)), radial-gradient(closest-side at 80% 20%, rgba(79,70,229,.14), transparent 55%)}

.steps{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:s}
.step{display:flex;gap:14px;padding:16px;border-radius:var(--radius2);border:1px solid rgba(255,255,255,.65)}
.step__num{
  width:40px;height:40px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  font-weight:900;color:white;
  background:linear-gradient(135deg,var(--brand),var(--brand2));
  flex:0 0 auto;
  box-shadow:0 14px 40px rgba(79,70,229,.18);
}
.step__title{font-weight:900;letter-spacing:-.01em}
.step__text{margin-top:6px;color:rgba(15,23,42,.72);line-height:1.5}

.case{
  margin-top:16px;
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.65);
  padding:16px;
}
.case__head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:12px}
.case__title{font-weight:1000;letter-spacing:-.01em;font-size:16px}
.case__sub{color:rgba(15,23,42,.70);line-height:1.45;max-width:640px}
.gallery{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.thumb{
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  border-radius:18px;
  overflow:hidden;
  position:relative;
  box-shadow:0 16px 44px rgba(2,6,23,.10);
}
.thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,23,42,.00), rgba(15,23,42,.06));
  opacity:.0;
  transition:opacity .12s ease;
}
.thumb:hover::after{opacity:1}
.thumb:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(79,70,229,.18), 0 16px 44px rgba(2,6,23,.12);
}
.thumb__img{
  width:100%;
  height:280px;
  object-fit:cover;
  background:rgba(255,255,255,.65);
}

.lightbox{
  position:fixed;
  inset:0;
  display:none;
  z-index:130;
}
.lightbox.is-open{display:block}
.lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.42);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.lightbox__panel{
  position:relative;
  width:min(980px, calc(100% - 24px));
  margin:8vh auto 0;
  border-radius:26px;
  border:1px solid rgba(255,255,255,.65);
  box-shadow:var(--shadow);
  padding:10px;
}
.lightbox__close{
  position:absolute;
  top:10px;
  right:10px;
  width:46px;
  height:46px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.55);
  cursor:pointer;
}
.lightbox__nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.55);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.lightbox__nav--prev{left:10px}
.lightbox__nav--next{right:10px}
.lightbox__nav:hover{box-shadow:0 18px 60px rgba(2,6,23,.12);transform:translateY(-50%) translateY(-1px)}
.lightbox__nav:active{transform:translateY(-50%)}
.lightbox__nav:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(79,70,229,.18), 0 18px 60px rgba(2,6,23,.12);
}
.lightbox__counter{
  position:absolute;
  left:12px;
  bottom:12px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.75);
  color:rgba(15,23,42,.72);
  font-weight:1000;
  letter-spacing:-.01em;
}
.lightbox__img{
  width:100%;
  max-height:78vh;
  object-fit:contain;
  border-radius:18px;
  background:rgba(255,255,255,.65);
}

.faq{display:grid;gap:12px}
.faq__item{border-radius:var(--radius2);padding:14px 16px;border:1px solid rgba(255,255,255,.65)}
.faq__q{cursor:pointer;font-weight:900;letter-spacing:-.01em;list-style:none}
.faq__q::-webkit-details-marker{display:none}
.faq__a{margin-top:10px;color:rgba(15,23,42,.75);line-height:1.55}

.notice{margin-top:18px;border-radius:var(--radius);padding:18px;border:1px solid rgba(255,255,255,.65);display:grid;gap:12px}
.notice__title{font-weight:1000;letter-spacing:-.01em}
.notice__text{color:rgba(15,23,42,.78);line-height:1.55}
.notice__strong{font-weight:1000}

.reviewsBox{
  border-radius:var(--radius);
  border:1px solid rgba(255,255,255,.65);
  padding:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.reviewsBox__left{display:flex;align-items:center;gap:12px;min-width:0}
.reviewsBox__icon{
  width:44px;height:44px;border-radius:18px;
  display:inline-flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:0 18px 60px rgba(2,6,23,.10);
}
.reviewsBox__title{font-weight:1100;letter-spacing:-.01em}
.reviewsBox__text{margin-top:6px;color:rgba(15,23,42,.72);line-height:1.5}
.reviewsBox__copy{min-width:0}
.reviewsBox__right{display:flex;align-items:center}

.footer{padding:34px 0 54px}
.footer__inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.footer__brand{font-weight:1000;letter-spacing:-.01em}
.footer__muted{color:rgba(15,23,42,.65);margin-top:6px}
.footer__links{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}
.footer__link{
  color:rgba(15,23,42,.74);
  font-weight:900;
  font-size:13px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.10);
  background:rgba(255,255,255,.50);
}
.footer__link:hover{background:rgba(255,255,255,.62)}

.material-symbols-rounded{
  font-variation-settings:"FILL" 0,"wght" 650,"GRAD" 0,"opsz" 24;
  user-select:none;
}

.floatCta{
  position:fixed;
  right:clamp(14px, 2.2vw, 22px);
  bottom:calc(clamp(14px, 2.2vw, 22px) + env(safe-area-inset-bottom, 0px));
  z-index:70;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:12px 14px;
  text-decoration:none;
  color:rgba(15,23,42,.92);
  border:1px solid rgba(255,255,255,.70);
  box-shadow:0 22px 70px rgba(2,6,23,.16);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  overflow:hidden;
}
.floatCta__glass{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.55)),
    radial-gradient(closest-side at 20% 20%, rgba(79,70,229,.16), transparent 60%),
    radial-gradient(closest-side at 85% 65%, rgba(6,182,212,.14), transparent 62%);
  pointer-events:none;
}
.floatCta__content{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:1000;
  letter-spacing:-.01em;
  white-space:nowrap;
}
.floatCta:hover{
  transform:translateY(-2px);
  box-shadow:0 28px 90px rgba(2,6,23,.18);
}
.floatCta:active{transform:translateY(0)}
.floatCta:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(79,70,229,.18), 0 28px 90px rgba(2,6,23,.18);
}
.floatCta__text{font-size:14px}

@media (max-width: 960px){
  .nav{display:none}
  .burger{display:flex}
  .topbarCta{display:none}
  .hero{min-height:auto;padding:78px 0 48px}
  .hero__grid{grid-template-columns:1fr}
  .hero__side{display:grid;justify-items:stretch;margin-top:0;margin-bottom:14px;order:-1}
  .hero__card{order:1}
  .heroPhoto{width:100%;aspect-ratio:7/5;border-radius:24px}
  .heroPhoto__img{object-position:center 30%}
  .hero__meta{grid-template-columns:1fr;gap:10px}
  .section{padding:58px 0}
  .section__head{flex-direction:column;align-items:flex-start}
  .grid--2{grid-template-columns:1fr}
  .grid--3{grid-template-columns:1fr}
  .btn--full{width:100%}
  .case__head{align-items:flex-start}
  .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .thumb__img{height:220px}
  .lightbox__panel{margin:10vh auto 0}
  .lightbox__nav{width:46px;height:46px;border-radius:18px}
  .reviewsBox{flex-direction:column;align-items:stretch}
  .reviewsBox__right .btn{width:100%}
  .floatCta{display:none}
}

@media (min-width: 961px) and (max-width: 1120px){
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width: 420px){
  .floatCta__text{display:none}
  .floatCta{padding:12px}
  .gallery{
    grid-auto-flow:column;
    grid-auto-columns:78%;
    grid-template-columns:none;
    overflow:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:6px;
  }
  .thumb{scroll-snap-align:start}
  .thumb__img{height:240px}
  .heroPhoto{aspect-ratio:7/10}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .btn{transition:none}
}

