/* =========================
   css/fstyle.css (FULL) — FINAL + ULTRA “SHARP” (REAL CUT SPLIT)
   ========================= */
:root{
  --ink: #0b0c10;
  --muted: rgba(11,12,16,.62);
  --paper: #fffdf9;
  --paper2:#f6f8fb;

  --red: #e1061a;
  --red2:#ff2a3d;

  --surface: rgba(255,255,255,.78);

  --shadow1: 0 18px 48px rgba(2,6,23,.08);
  --shadow2: 0 40px 120px rgba(2,6,23,.12);

  --pill: 999px;
  --container: 1120px;
  --pad: clamp(3.6rem, 5.8vw, 6rem);
  --ring: 0 0 0 4px rgba(225,6,26,.16);

  /* dark hero */
  --hero-text: rgba(255,255,255,.92);
  --hero-muted: rgba(255,255,255,.70);
  --hero-stroke: rgba(255,255,255,.14);
  --hero-shadow1: 0 18px 60px rgba(0,0,0,.35);
  --hero-shadow2: 0 36px 110px rgba(0,0,0,.55);
}

* , *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  min-height:100vh;
  font-family:"Poppins", system-ui, -apple-system, Segoe UI, sans-serif;
  color:var(--ink);
  background: linear-gradient(180deg, var(--paper), var(--paper2));
  overflow-x:hidden;
}

a{ color:inherit; text-decoration:none; }
p{ margin:0 0 1rem; color:var(--muted); line-height:1.75; }
h1,h2,h3{ margin:0 0 .55rem; letter-spacing:-.02em; }
:focus-visible{ outline:none; box-shadow: var(--ring); border-radius: 12px; }

.container{
  width:min(var(--container), 100% - 2.5rem);
  margin-inline:auto;
  position:relative;
  z-index:2;
}

/* =========================
   BACKGROUND
   ========================= */
.bg{ position:fixed; inset:0; pointer-events:none; z-index:0; }

.bg-paper{
  position:absolute; inset:0;
  background:
    radial-gradient(1000px 520px at 14% 10%, rgba(225,6,26,.10), transparent 60%),
    radial-gradient(900px 520px at 86% 12%, rgba(0,0,0,.05), transparent 62%),
    radial-gradient(900px 700px at 56% 90%, rgba(225,6,26,.06), transparent 62%);
  filter: blur(6px);
  opacity:.95;
}

.bg-blades .blade{
  position:absolute;
  width: 520px;
  height: 44px;
  border-radius: 16px;
  opacity:.26;
  background: linear-gradient(90deg, rgba(225,6,26,.18), rgba(225,6,26,.05), rgba(0,0,0,.05));
  clip-path: polygon(0 0, 95% 0, 100% 50%, 95% 100%, 0 100%, 5% 50%);
  filter: drop-shadow(0 20px 50px rgba(2,6,23,.10));
  animation: bladeFloat 11s ease-in-out infinite;
}
.bg-blades .b1{ left:-160px; top: 16vh; transform: rotate(-12deg); }
.bg-blades .b2{ right:-200px; top: 10vh; transform: rotate(14deg); animation-delay:-2s; opacity:.20; }
.bg-blades .b3{ left: 12%; bottom: 10vh; transform: rotate(-6deg); width: 620px; animation-delay:-4s; opacity:.18; }

@keyframes bladeFloat{
  0%,100%{ transform: translateY(0) rotate(var(--r, -10deg)); }
  50%{ transform: translateY(-18px) rotate(var(--r, -10deg)); }
}

.bg-grain{
  position:absolute; inset:0;
  opacity:.06;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  background-size:180px 180px;
}

/* =========================
   SCROLL PROGRESS
   ========================= */
.scroll-progress{
  position:fixed; top:0; left:0;
  height:3px; width:0%;
  background: linear-gradient(90deg, var(--red), rgba(225,6,26,.45));
  z-index:999;
  box-shadow: 0 10px 22px rgba(225,6,26,.16);
}

/* =========================
   HEADER / NAV
   ========================= */
.header{
  position:sticky; top:0; z-index:50;
  background: rgba(255,255,255,.74);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding: .9rem 0;
  gap: 1.2rem;
}
.brand-logo{ height: 28px; width:auto; display:block; }

.main-nav ul{
  display:flex; align-items:center; gap: 1.6rem;
  list-style:none; margin:0; padding:0;
}
.main-nav a{
  font-size:.9rem;
  color: rgba(11,12,16,.72);
  position:relative;
  padding:.35rem .2rem;
}
.main-nav a::after{
  content:"";
  position:absolute; left:0; bottom:-8px;
  width:0; height:2px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--red), rgba(225,6,26,.35));
  transition: width .22s ease;
  opacity:.9;
}
.main-nav a:hover::after{ width:100%; }

.nav-cta{
  padding: .58rem 1.05rem;
  border-radius: var(--pill);
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255,255,255,.86);
  box-shadow: var(--shadow1);
  position:relative;
  overflow:hidden;
}
.nav-cta::before{
  content:"";
  position:absolute; inset:-50%;
  background: linear-gradient(90deg, rgba(225,6,26,.22), transparent 60%);
  transform: rotate(10deg);
  opacity:.35;
}

.nav-toggle{
  display:none;
  border:none;
  background: rgba(255,255,255,.86);
  border:1px solid rgba(15, 23, 42, .10);
  border-radius: var(--pill);
  padding:.45rem .6rem;
  cursor:pointer;
  box-shadow: var(--shadow1);
}
.nav-toggle span{
  display:block;
  width: 22px; height: 2px;
  margin: 4px 0;
  border-radius:999px;
  background: rgba(11,12,16,.9);
}

/* =========================
   HERO (DARK + VIDEO)
   ========================= */
.hero.hero-dark{
  min-height: 100vh;
  padding-top: clamp(4.4rem, 7vw, 7.4rem);
  padding-bottom: clamp(3.1rem, 5.2vw, 5.2rem);
  position:relative;
  z-index:2;
  overflow:hidden;
  color: var(--hero-text);
}

.hero-media{ position:absolute; inset:0; z-index:1; background:#0b0c10; }
.hero-media video{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  transform: scale(1.03);
  filter: contrast(1.08) saturate(1.08);
}

.hero-overlay{
  position:absolute; inset:0; z-index:2;
  background:
    radial-gradient(1100px 560px at 16% 16%, rgba(225,6,26,.26), transparent 62%),
    radial-gradient(1000px 560px at 86% 14%, rgba(0,0,0,.46), transparent 70%),
    radial-gradient(900px 650px at 60% 92%, rgba(225,6,26,.16), transparent 62%),
    linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,.70));
}

.hero-grid{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 3.1rem;
  align-items:center;
}

/* Topline */
.hero-topline{
  display:flex; flex-wrap:wrap;
  gap:.7rem .9rem;
  align-items:center;
  margin-bottom: 1rem;
}
.dk-pill{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.5rem .8rem;
  border-radius: var(--pill);
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
  box-shadow: var(--hero-shadow1);
  font-size:.82rem;
  color: rgba(255,255,255,.88);
}
.dk-city{ font-weight:800; color: rgba(255,255,255,.92); }
.dk-flag{
  width: 18px; height: 12px;
  border-radius: 3px;
  background:
    linear-gradient(#fff 0 0) 38% 0/2px 100%,
    linear-gradient(#fff 0 0) 0 52%/100% 2px,
    var(--red);
  background-repeat:no-repeat;
  box-shadow: 0 8px 18px rgba(225,6,26,.18);
}
.hero-mini{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.82rem;
  color: rgba(255,255,255,.72);
}
.mini-dot{
  width: 8px; height:8px;
  border-radius:999px;
  background: var(--red);
  box-shadow: 0 10px 22px rgba(225,6,26,.25);
}

.hero-title{
  font-size: clamp(2.9rem, 4.8vw, 4.25rem);
  line-height: 1.05;
  color: rgba(255,255,255,.96);
}

/* =========================
   ULTRA “SHARP” (REAL CUT SPLIT)
   Requires data-text="Sharp"
   ========================= */
.sharp-word{
  position: relative;
  display: inline-block;
  padding: 0 .18em 0 .16em;
  margin: 0 .04em;
  font-weight: 950;
  letter-spacing: -0.02em;
  line-height: 1;

  color: transparent;
  background-image:
    linear-gradient(135deg,
      rgba(255,255,255,.98),
      rgba(255,255,255,.78) 38%,
      rgba(255,42,61,.96) 80%
    ),
    linear-gradient(135deg,
      transparent 0 46%,
      rgba(255,255,255,.95) 49%,
      rgba(255,42,61,.45) 51%,
      rgba(255,255,255,.35) 53%,
      transparent 56% 100%
    );
  background-size: 100% 100%, 240% 240%;
  background-position: 0 0, -120% 40%;
  background-repeat: no-repeat;

  -webkit-background-clip: text;
  background-clip: text;

  -webkit-text-stroke: 1px rgba(255,255,255,.10);
  filter: drop-shadow(0 12px 30px rgba(0,0,0,.34));

  animation: fractureGlint 4.6s cubic-bezier(.2,.8,.2,1) infinite;
}

.sharp-word::before{
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: rgba(255,255,255,.92);
  transform: translate(-1px,-2px);
  opacity: .90;
  clip-path: polygon(0 0, 100% 0, 100% 56%, 0 46%);
  text-shadow:
    0 10px 26px rgba(0,0,0,.28),
    0 0 18px rgba(255,255,255,.10);
  mix-blend-mode: screen;
  pointer-events: none;
}

.sharp-word::after{
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: rgba(255,42,61,.90);
  transform: translate(2px,2px);
  opacity: .78;
  clip-path: polygon(0 56%, 100% 46%, 100% 100%, 0 100%);
  text-shadow:
    0 14px 30px rgba(0,0,0,.34),
    0 0 18px rgba(255,42,61,.12);
  mix-blend-mode: screen;
  pointer-events: none;
}

/* razor underline */
.sharp-word{
  --bladeY: -0.18em;
}
.sharp-word{
  text-shadow:none;
}
.sharp-word{
  /* nothing */
}

/* underline as separate pseudo-element (using box-shadow on an extra span isn't allowed),
   so we use a tiny background via text-decoration-like trick: */
.sharp-word{
  background-image:
    linear-gradient(135deg,
      rgba(255,255,255,.98),
      rgba(255,255,255,.78) 38%,
      rgba(255,42,61,.96) 80%
    ),
    linear-gradient(135deg,
      transparent 0 46%,
      rgba(255,255,255,.95) 49%,
      rgba(255,42,61,.45) 51%,
      rgba(255,255,255,.35) 53%,
      transparent 56% 100%
    ),
    linear-gradient(90deg,
      rgba(255,42,61,0),
      rgba(255,42,61,.75),
      rgba(255,255,255,.55),
      rgba(255,42,61,.70),
      rgba(255,42,61,0)
    );
  background-size: 100% 100%, 240% 240%, 140% 0.38em;
  background-position: 0 0, -120% 40%, 50% calc(100% + 0.18em);
  background-repeat: no-repeat;
}

@keyframes fractureGlint{
  0%   { background-position: 0 0, -140% 40%, 50% calc(100% + 0.18em); }
  55%  { background-position: 0 0,  40% 40%, 50% calc(100% + 0.18em); }
  100% { background-position: 0 0, 220% 40%, 50% calc(100% + 0.18em); }
}

.hero-title:hover .sharp-word{
  animation-duration: 2.6s;
  filter: drop-shadow(0 18px 42px rgba(0,0,0,.42));
}
.hero-title:hover .sharp-word::before{ opacity: .98; transform: translate(-2px,-3px); }
.hero-title:hover .sharp-word::after { opacity: .86; transform: translate(3px,3px); }

/* ========================= */

.hero-subtitle{
  margin-top: 1rem;
  margin-bottom: 1.35rem;
  font-size: clamp(1.05rem, 1.2vw, 1.18rem);
  color: var(--hero-muted);
  max-width: 520px;
}

.hero-ctas{
  display:flex; flex-wrap:wrap;
  gap:.9rem;
  margin-bottom: 1.05rem;
}

/* Buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  border-radius: var(--pill);
  padding: .95rem 1.55rem;
  font-size:.92rem;
  font-weight: 900;
  cursor:pointer;
  border: 1px solid transparent;
  position:relative;
  overflow:hidden;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease;
  user-select:none;
}
.btn-primary{
  background: linear-gradient(135deg, var(--red), var(--red2));
  color: #fff;
  box-shadow: 0 26px 70px rgba(225,6,26,.22), 0 18px 45px rgba(0,0,0,.28);
}
.btn-primary:hover{
  transform: translateY(-3px);
  box-shadow: 0 40px 120px rgba(225,6,26,.25), 0 28px 85px rgba(0,0,0,.38);
}
.btn-ghost{
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.35);
  color: rgba(255,255,255,.92);
  box-shadow: var(--hero-shadow1);
}
.btn-ghost:hover{
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.50);
  box-shadow: var(--hero-shadow2);
}
.btn-block{ width:100%; }

.btn-sheen{
  position:absolute; inset:-40%;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.38), transparent 60%);
  transform: translateX(-46%) rotate(14deg);
  transition: transform .55s ease;
  pointer-events:none;
}
.btn-primary:hover .btn-sheen{ transform: translateX(46%) rotate(14deg); }

/* Proof */
.hero-proof{
  display:flex; align-items:center; gap: 1rem;
  flex-wrap:wrap;
  padding: .85rem 1rem;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  box-shadow: var(--hero-shadow1);
  width: fit-content;
  max-width: 100%;
}
.proof-item{ display:grid; gap:.12rem; }
.proof-k{ font-weight: 900; color: rgba(255,255,255,.92); letter-spacing:-.02em; }
.proof-l{ font-size: .82rem; color: rgba(255,255,255,.62); }
.proof-cut{
  width: 12px; height: 18px;
  background: linear-gradient(180deg, rgba(225,6,26,.45), rgba(225,6,26,.10));
  clip-path: polygon(0 0, 100% 35%, 100% 65%, 0 100%);
  opacity:.75;
}

/* Right card */
.sharp-card{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  padding: 1.2rem;
  backdrop-filter: blur(16px);
  box-shadow: var(--hero-shadow2);
  position:relative;
  overflow:hidden;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.sharp-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 46px 140px rgba(0,0,0,.55);
  border-color: rgba(255,255,255,.22);
}

/* blade cut hover */
.bladecut::after{
  content:"";
  position:absolute; inset:-40%;
  background: linear-gradient(120deg,transparent 45%,rgba(255,255,255,.25) 50%,transparent 55%);
  transform: translateX(-60%) rotate(12deg);
  transition: transform .7s ease;
  pointer-events:none;
  mix-blend-mode: overlay;
}
.bladecut:hover::after{ transform: translateX(60%) rotate(12deg); }

.sc-head{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap: .8rem;
  font-weight: 800;
  margin-bottom: .55rem;
}
.sc-head-left{
  letter-spacing:.06em;
  text-transform: uppercase;
  font-size:.82rem;
  color: rgba(255,255,255,.88);
}

.sc-sub{
  color: rgba(255,255,255,.68);
  font-size:.90rem;
  margin: 0 0 .95rem;
}

/* 2 columns compare */
.sc-compare{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
}
.sc-col{
  background: rgba(255,255,255,.03);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: .85rem;
  text-align:center;
}
.sc-pill{
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform: uppercase;
  font-weight: 900;
  display:inline-flex;
  padding:.20rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.70);
  margin-bottom: .65rem;
}
.sc-pill.good{
  background: rgba(225,6,26,.16);
  border-color: rgba(225,6,26,.35);
  color: rgba(255,255,255,.92);
}

.sc-mark{
  background:#fff;
  border-radius: 12px;
  padding:.7rem;
  height: 66px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}
.sc-mark img{
  max-height: 40px;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display:block;
}
.sc-mark.dull img{
  opacity:.55;
}
.sc-mark.sharp{
  box-shadow: 0 0 0 2px rgba(225,6,26,.25);
}
.after-slice{
  position:absolute;
  right:-6px; top:-6px;
  width: 18px; height: 18px;
  background: var(--red);
  clip-path: polygon(0 0, 100% 0, 100% 100%);
}

.sc-meta{
  margin-top: .55rem;
  font-size: .78rem;
  color: rgba(255,255,255,.68);
}

.sc-cta{ margin-top: .95rem; }

/* trust bar */
.hero-bottom{ padding-top: 2.2rem; }
.trustbar{
  border-radius: 20px;
  padding: 1rem 1.1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1.2rem;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(14px);
  box-shadow: var(--hero-shadow1);
}
.trustbar p{ margin:0; font-size: .9rem; color: rgba(255,255,255,.78); }
.trust-logos{ display:flex; flex-wrap:wrap; gap:.6rem; }
.trust-logo{
  font-size: .82rem;
  padding: .35rem .75rem;
  border-radius: var(--pill);
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.78);
}

/* =========================
   SECTIONS / CARDS
   ========================= */
.section{ padding: var(--pad) 0; position:relative; z-index:2; }
.section-alt{
  background: linear-gradient(180deg, rgba(255,255,255,.65), rgba(255,255,255,.92));
  border-top: 1px solid rgba(15, 23, 42, .06);
  border-bottom: 1px solid rgba(15, 23, 42, .06);
  backdrop-filter: blur(12px);
}

.section-head{
  max-width: 860px;
  margin: 0 auto 2.6rem;
  text-align:center;
}
.section-head h2{
  font-size: clamp(2rem, 2.9vw, 2.65rem);
  display:inline-block;
  position:relative;
}
.section-head h2::after{
  content:"";
  display:block;
  width: 140px;
  height: 14px;
  margin: .55rem auto 0;
  background: linear-gradient(90deg, rgba(225,6,26,.35), transparent 70%);
  clip-path: polygon(0 70%, 100% 0, 100% 55%, 0 100%);
  opacity:.95;
}

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

.card{
  background: var(--surface);
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: var(--shadow1);
  backdrop-filter: blur(14px);
  padding: 1.75rem 1.85rem;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  position:relative;
  overflow:hidden;
  border-radius: 22px;
}
.card:hover{
  transform: translateY(-7px);
  box-shadow: var(--shadow2);
  border-color: rgba(225,6,26,.22);
}

.card-sub{ color: rgba(11,12,16,.64); }
.price{ font-weight:900; color: rgba(11,12,16,.92); margin: .65rem 0 .85rem; }
.list{ list-style:none; padding:0; margin:0 0 .6rem; display:grid; gap:.35rem; color: rgba(11,12,16,.70); font-size:.92rem; }
.tiny{ font-size:.84rem; color: rgba(11,12,16,.60); }

.featured{ border-color: rgba(225,6,26,.24); transform: translateY(-2px); }
.featured-tag{
  position:absolute;
  right: 1.25rem;
  top: 1.05rem;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  padding:.22rem .65rem;
  border-radius: var(--pill);
  background: rgba(225,6,26,.08);
  border: 1px solid rgba(225,6,26,.22);
  color: rgba(11,12,16,.86);
  font-weight: 900;
}

/* Portfolio */
.project{ padding:0; }
.project-body{ padding: 1.45rem 1.6rem 1.6rem; }
.meta{ font-size:.88rem; color: rgba(11,12,16,.60); margin-bottom:.4rem; }
.project-media{
  height: 210px;
  border-bottom: 1px solid rgba(15,23,42,.10);
  position:relative;
  overflow:hidden;
}
.project-media::after{
  content:"";
  position:absolute; left:-30px; bottom:-18px;
  width: 70%; height: 38px;
  background: linear-gradient(90deg, rgba(225,6,26,.22), rgba(0,0,0,.06));
  clip-path: polygon(0 0, 96% 0, 100% 50%, 96% 100%, 0 100%, 4% 50%);
  transform: rotate(-8deg);
  opacity:.70;
}
.pm1{ background:
  radial-gradient(700px 340px at 20% 10%, rgba(225,6,26,.16), transparent 60%),
  radial-gradient(700px 360px at 90% 30%, rgba(0,0,0,.06), transparent 60%),
  linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,245,247,.92));
}
.pm2{ background:
  radial-gradient(700px 340px at 20% 10%, rgba(0,0,0,.06), transparent 60%),
  radial-gradient(700px 360px at 90% 30%, rgba(225,6,26,.12), transparent 60%),
  linear-gradient(135deg, rgba(255,255,255,.86), rgba(245,248,255,.92));
}
.pm3{ background:
  radial-gradient(700px 340px at 20% 10%, rgba(225,6,26,.14), transparent 60%),
  radial-gradient(700px 360px at 90% 30%, rgba(0,0,0,.05), transparent 60%),
  linear-gradient(135deg, rgba(255,255,255,.86), rgba(245,255,252,.92));
}
.tags{
  display:flex; flex-wrap:wrap; gap:.5rem;
  list-style:none; padding:0; margin:.9rem 0 0;
}
.tags li{
  font-size:.78rem;
  padding:.26rem .72rem;
  border-radius: var(--pill);
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255,255,255,.88);
  color: rgba(11,12,16,.68);
}

/* Process */
.steps{
  list-style:none; padding:0; margin:0;
  display:grid; gap: 1.1rem;
  max-width: 980px;
  margin-inline:auto;
}
.step{
  display:grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items:flex-start;
  padding: 1.25rem 1.35rem;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: var(--shadow1);
  backdrop-filter: blur(14px);
  border-radius: 22px;
}
.no{
  width: 38px; height:38px;
  border-radius: 999px;
  display:flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .12);
  font-weight: 900;
  font-size:.82rem;
  box-shadow: var(--shadow1);
  color: rgba(11,12,16,.86);
}

/* About */
.about{
  display:grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .9fr);
  gap: 2.4rem;
  align-items:start;
}
.bullets{
  list-style: disc;
  padding-left: 1.2rem;
  color: rgba(11,12,16,.70);
  font-size:.94rem;
  display:grid; gap:.35rem;
  margin: 1rem 0;
}
.badge-row{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.3rem; }
.badge{
  font-size:.8rem;
  padding:.28rem .75rem;
  border-radius: var(--pill);
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255,255,255,.88);
  color: rgba(11,12,16,.72);
}
.about-stats{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.stat{
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(15,23,42,.12);
  box-shadow: var(--shadow1);
  border-radius: 20px;
  padding: 1.05rem 1.15rem;
}
.stat-k{
  display:block;
  font-size: 1.55rem;
  font-weight: 900;
  color: rgba(11,12,16,.92);
  margin-bottom:.1rem;
}
.stat-l{ display:block; font-size:.86rem; color: rgba(11,12,16,.62); }

/* FAQ */
.faq{
  max-width: 780px;
  margin: 0 auto;
  display:grid;
  gap: .8rem;
}
.faq-item{
  border-radius: 20px;
  padding: .65rem .95rem;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(15,23,42,.12);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow1);
}
.faq-item summary{
  cursor:pointer;
  list-style:none;
  padding: .52rem .45rem;
  font-weight: 900;
  color: rgba(11,12,16,.92);
  display:flex;
  justify-content: space-between;
  align-items:center;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item p{ margin:.35rem .45rem .9rem; color: rgba(11,12,16,.66); }

/* Contact */
.contact{
  display:grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  gap: 2.5rem;
  align-items:start;
}
.form{ padding: 2rem; }
.field{ margin-bottom: 1rem; }
.two{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
label{
  display:block;
  margin-bottom:.28rem;
  font-size:.88rem;
  color: rgba(11,12,16,.86);
  font-weight: 800;
}
input, textarea, select{
  width:100%;
  padding: .72rem .82rem;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255,255,255,.92);
  color: rgba(11,12,16,.90);
  font-family:inherit;
  font-size:.95rem;
  transition: box-shadow .15s ease, border-color .15s ease, transform .12s ease;
}
input:focus, textarea:focus, select:focus{
  border-color: rgba(225,6,26,.32);
  box-shadow: var(--ring);
  transform: translateY(-1px);
}
textarea{ resize: vertical; }
.form-note{ margin-top: .9rem; font-size: .9rem; color: rgba(11,12,16,.62); }

/* Footer */
.footer{
  padding: 1.8rem 0 2rem;
  border-top: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(12px);
  position:relative;
  z-index:2;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 1rem;
}
.foot-logo{ height: 24px; width:auto; display:block; margin-bottom:.35rem; }
.foot-left p{ margin:0; font-size:.9rem; color: rgba(11,12,16,.62); }
.foot-right{
  display:flex;
  flex-direction:column;
  gap:.35rem;
  align-items:flex-end;
  font-size:.9rem;
  color: rgba(11,12,16,.62);
}
.foot-right a{ color: rgba(11,12,16,.80); font-weight:700; }
.foot-right a:hover{ color: var(--red); }

/* Reveal + Spotlight */
.reveal{
  opacity:0;
  transform: translateY(18px);
  transition: opacity .6s ease, transform .6s ease;
}
.reveal.is-visible{ opacity:1; transform: translateY(0); }

.spotlight{ position:relative; overflow:hidden; }
.spotlight::before{
  content:"";
  position:absolute; inset:0;
  background: radial-gradient(650px circle at var(--mx, 50%) var(--my, 50%),
    rgba(225,6,26,.12), transparent 45%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events:none;
}
.spotlight:hover::before{ opacity:1; }

/* Responsive */
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: 1fr; }
  .grid-3{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .about{ grid-template-columns: 1fr; }
  .contact{ grid-template-columns: 1fr; }
  .trustbar{ flex-direction:column; align-items:flex-start; }
  .sc-compare{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  .nav-toggle{ display:inline-flex; }
  .main-nav{
    position:fixed;
    inset: 3.8rem 1.25rem auto 1.25rem;
    padding: .95rem 1.1rem 1.1rem;
    border-radius: 18px;
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(15, 23, 42, .10);
    backdrop-filter: blur(16px);
    transform-origin: top;
    transform: translateY(-8px) scale(.98);
    opacity:0;
    pointer-events:none;
    transition: opacity .18s ease, transform .18s ease;
    box-shadow: var(--shadow2);
  }
  .main-nav.open{
    opacity:1;
    pointer-events:auto;
    transform: translateY(0) scale(1);
  }
  .main-nav ul{ flex-direction:column; align-items:flex-start; gap:.65rem; }
  .hero-ctas{ flex-direction:column; }
  .hero-ctas .btn{ width:100%; }
  .grid-3{ grid-template-columns: 1fr; }
  .about-stats{ grid-template-columns: 1fr; }
  .two{ grid-template-columns: 1fr; }
  .footer-inner{ flex-direction:column; align-items:flex-start; }
  .foot-right{ align-items:flex-start; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
  .spotlight::before{ display:none !important; }
  .bladecut::after{ display:none !important; }
  .sharp-word{ animation:none !important; }
}

/* Hero: lift the Case Snapshot card a bit */
.hero-visual { 
  margin-top: -14px; 
}

@media (max-width: 900px){
  .hero-visual { margin-top: 0; } /* на мобилке не поднимаем */
}

