/* ==========================================================================
   NovaGridTechnologies — shared design system
   Style direction: "Confetti Studio" — a deliberately maximalist, colorful
   web-design agency identity, requested explicitly as "colorful, rich,
   alive." Rather than one accent on a neutral base (the pattern used by
   every prior build), this one runs FOUR saturated accents at once —
   coral, violet, mint, sunflower — over a warm cream base, with floating
   organic blob shapes and a bouncy, rounded display face. First build on
   the new 4-page template: Services + Pricing now live on services.html.
   Uses Pricing MODEL A (tiered ladder).
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@500;600;700&family=Onest:wght@400;500;600;700;800&display=swap');

:root{
  --ngt-ink:        #1A1523;
  --ngt-ink-soft:    #2B2338;
  --ngt-cream:         #FFFBF3;
  --ngt-cream-2:        #FFF3E0;
  --ngt-paper:            #FFFEFB;
  --ngt-coral:              #FF5D5D;
  --ngt-coral-d:             #E8453F;
  --ngt-violet:               #7C5CFC;
  --ngt-violet-d:              #6644E0;
  --ngt-mint:                   #2EC4B6;
  --ngt-mint-d:                  #1CA89B;
  --ngt-yellow:                   #FFC93C;
  --ngt-yellow-d:                  #F0AD12;
  --ngt-ink-70: rgba(26,21,35,.72);
  --ngt-ink-50: rgba(26,21,35,.5);
  --ngt-ink-20: rgba(26,21,35,.12);
  --ngt-cream-70: rgba(255,251,243,.72);
  --ngt-cream-50: rgba(255,251,243,.5);
  --ngt-cream-20: rgba(255,251,243,.16);

  --ngt-display: 'Fredoka', -apple-system, sans-serif;
  --ngt-body: 'Onest', -apple-system, BlinkMacSystemFont, sans-serif;

  --ngt-radius-s: 12px;
  --ngt-radius-m: 20px;
  --ngt-radius-l: 32px;
  --ngt-maxw: 1240px;
  --ngt-maxw-wide: 1520px;
  --ngt-border: 2px solid var(--ngt-ink-20);

  --ngt-ease: cubic-bezier(.34,1.4,.4,1);
  --ngt-ease-soft: cubic-bezier(.22,.68,.32,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html.ngt-lock{ overflow:hidden; }
body{
  margin:0;
  font-family:var(--ngt-body);
  background:var(--ngt-cream);
  color:var(--ngt-ink);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4,p{ margin:0; }

.ngt-skip-link{ position:absolute; left:16px; top:-60px; z-index:1000; background:var(--ngt-coral); color:#fff; padding:12px 20px; border-radius:999px; font-weight:700; font-size:14px; transition:top .2s var(--ngt-ease-soft); }
.ngt-skip-link:focus{ top:16px; }
a:focus-visible, button:focus-visible{ outline:3px solid var(--ngt-violet); outline-offset:3px; border-radius:6px; }

.ngt-wrap{ max-width:var(--ngt-maxw); margin:0 auto; padding:0 32px; }
.ngt-wrap-wide{ max-width:var(--ngt-maxw-wide); margin:0 auto; padding:0 32px; }

.ngt-tag{ font-family:var(--ngt-display); font-size:13px; font-weight:600; color:var(--ngt-ink); display:inline-flex; align-items:center; gap:9px; background:var(--ngt-yellow); padding:8px 18px; border-radius:999px; border:2px solid var(--ngt-ink); box-shadow:3px 3px 0 var(--ngt-ink); }
.ngt-tag::before{ content:"✦"; }
section[data-tone="dark"] .ngt-tag{ background:var(--ngt-coral); color:#fff; border-color:var(--ngt-ink); }

.ngt-h2{ font-family:var(--ngt-display); font-weight:600; font-size:clamp(30px,4.4vw,50px); line-height:1.1; letter-spacing:-.01em; margin-top:16px; }
.ngt-h2 mark{ background:none; color:var(--ngt-coral-d); position:relative; }
section[data-tone="dark"] .ngt-h2 mark{ color:var(--ngt-yellow); }

.ngt-lede{ font-size:17px; line-height:1.65; color:var(--ngt-ink-70); max-width:560px; margin-top:18px; }
section[data-tone="dark"] .ngt-lede{ color:var(--ngt-cream-70); }
section[data-tone="dark"] .ngt-h2, section[data-tone="dark"]{ color:var(--ngt-cream); }

.ngt-btn{ display:inline-flex; align-items:center; gap:10px; padding:15px 28px; border-radius:999px; font-weight:600; font-family:var(--ngt-display); font-size:15px; border:2.5px solid var(--ngt-ink); transition:transform .2s var(--ngt-ease), box-shadow .2s var(--ngt-ease); white-space:nowrap; box-shadow:4px 4px 0 var(--ngt-ink); }
.ngt-btn:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ngt-ink); }
.ngt-btn:active{ transform:translate(0,0); box-shadow:2px 2px 0 var(--ngt-ink); }
.ngt-btn-coral{ background:var(--ngt-coral); color:#fff; }
.ngt-btn-violet{ background:var(--ngt-violet); color:#fff; }
.ngt-btn-mint{ background:var(--ngt-mint); color:#fff; }
.ngt-btn-yellow{ background:var(--ngt-yellow); color:var(--ngt-ink); }
.ngt-btn-ghost{ background:var(--ngt-cream); color:var(--ngt-ink); }
section[data-tone="dark"] .ngt-btn-ghost{ background:transparent; color:var(--ngt-cream); border-color:var(--ngt-cream); box-shadow:4px 4px 0 var(--ngt-cream-20); }
.ngt-link-arrow{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-family:var(--ngt-display); font-size:14px; color:var(--ngt-ink); transition:gap .18s var(--ngt-ease-soft); }
.ngt-link-arrow i{ transition:transform .18s var(--ngt-ease-soft); font-size:11px; color:var(--ngt-coral-d); }
.ngt-link-arrow:hover{ gap:12px; }
.ngt-link-arrow:hover i{ transform:translateX(3px); }
section[data-tone="dark"] .ngt-link-arrow{ color:var(--ngt-cream); }
section[data-tone="dark"] .ngt-link-arrow i{ color:var(--ngt-yellow); }

/* ---- floating blob shapes: signature motif ---- */
.ngt-blob{ position:absolute; border-radius:58% 42% 65% 35% / 45% 55% 45% 55%; filter:blur(2px); opacity:.85; animation:ngtBlobFloat 9s ease-in-out infinite; }
.ngt-blob.ngt-b2{ animation-delay:-3s; animation-duration:11s; }
.ngt-blob.ngt-b3{ animation-delay:-6s; animation-duration:8s; }
@keyframes ngtBlobFloat{
  0%,100%{ transform:translate(0,0) rotate(0deg) scale(1); }
  33%{ transform:translate(14px,-18px) rotate(8deg) scale(1.04); }
  66%{ transform:translate(-12px,10px) rotate(-6deg) scale(.97); }
}
@media (prefers-reduced-motion: reduce){ .ngt-blob{ animation:none; } }

/* ==========================================================================
   HEADER
   ========================================================================== */
.ngt-header{ position:fixed; top:0; left:0; right:0; z-index:500; padding:20px 0; transition:padding .25s var(--ngt-ease-soft), background .25s var(--ngt-ease-soft), border-color .25s var(--ngt-ease-soft); border-bottom:2.5px solid transparent; }
.ngt-header.ngt-scrolled{ padding:13px 0; background:rgba(255,251,243,.92); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom-color:var(--ngt-ink); }
.ngt-header-inner{ max-width:var(--ngt-maxw); margin:0 auto; padding:0 32px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.ngt-brand{ display:flex; align-items:center; gap:11px; font-family:var(--ngt-display); font-size:18px; font-weight:600; color:var(--ngt-ink); }
.ngt-brand svg{ width:36px; height:36px; flex:none; }
.ngt-brand mark{ background:none; color:var(--ngt-coral-d); }

.ngt-nav{ display:flex; align-items:center; gap:26px; }
.ngt-nav a{ font-size:14px; font-weight:600; color:var(--ngt-ink-70); position:relative; padding:4px 0; transition:color .2s var(--ngt-ease-soft); }
.ngt-nav a::after{ content:""; position:absolute; left:0; bottom:-2px; height:3px; width:0; background:var(--ngt-coral); border-radius:2px; transition:width .22s var(--ngt-ease-soft); }
.ngt-nav a:hover, .ngt-nav a.ngt-active{ color:var(--ngt-ink); }
.ngt-nav a:hover::after, .ngt-nav a.ngt-active::after{ width:100%; }

.ngt-header-actions{ display:flex; align-items:center; gap:18px; }
.ngt-burger{ display:none; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; border:2.5px solid var(--ngt-ink); border-radius:999px; background:var(--ngt-cream); }
.ngt-burger span{ width:17px; height:2px; background:var(--ngt-ink); margin:0 auto; transition:transform .25s var(--ngt-ease-soft), opacity .2s; border-radius:2px; }
.ngt-burger.ngt-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.ngt-burger.ngt-open span:nth-child(2){ opacity:0; }
.ngt-burger.ngt-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.ngt-mobile-panel{ position:fixed; inset:0; top:0; z-index:490; background:var(--ngt-cream); padding:100px 32px 40px; display:flex; flex-direction:column; gap:6px; transform:translateY(-8px); opacity:0; visibility:hidden; transition:opacity .28s var(--ngt-ease-soft), transform .28s var(--ngt-ease-soft), visibility 0s linear .28s; }
.ngt-mobile-panel.ngt-show{ opacity:1; visibility:visible; transform:translateY(0); transition:opacity .28s var(--ngt-ease-soft), transform .28s var(--ngt-ease-soft), visibility 0s; }
.ngt-mobile-panel a{ font-family:var(--ngt-display); font-weight:600; font-size:28px; padding:14px 0; border-bottom:2px solid var(--ngt-ink-20); color:var(--ngt-ink); }
.ngt-mobile-panel a.ngt-active{ color:var(--ngt-coral-d); }
.ngt-mobile-cta{ margin-top:24px; }

@media (max-width:900px){
  .ngt-nav{ display:none; }
  .ngt-header-actions .ngt-btn{ display:none; }
  .ngt-burger{ display:flex; }
}

section{ position:relative; }
section[data-tone="dark"]{ background:var(--ngt-ink); }
section[data-tone="light"]{ background:var(--ngt-paper); }
section[data-tone="cream"]{ background:var(--ngt-cream-2); }

.ngt-reveal{ opacity:0; transform:translateY(24px); transition:opacity .6s var(--ngt-ease-soft), transform .6s var(--ngt-ease-soft); }
html.ngt-js-ready .ngt-reveal{ opacity:0; transform:translateY(24px); }
html.ngt-js-ready .ngt-reveal.ngt-inview{ opacity:1; transform:translateY(0); }
.ngt-reveal.ngt-d1{ transition-delay:.06s; } .ngt-reveal.ngt-d2{ transition-delay:.12s; } .ngt-reveal.ngt-d3{ transition-delay:.18s; }
.ngt-reveal.ngt-d4{ transition-delay:.24s; } .ngt-reveal.ngt-d5{ transition-delay:.3s; } .ngt-reveal.ngt-d6{ transition-delay:.36s; }
noscript{ display:block; }
@media (prefers-reduced-motion: reduce){
  html.ngt-js-ready .ngt-reveal{ transition:none !important; opacity:1 !important; transform:none !important; }
  *{ animation-duration:.001ms !important; transition-duration:.001ms !important; }
}

/* ==========================================================================
   HERO (index.html) — copy centered, blobs as full-bleed backdrop
   ========================================================================== */
.ngt-hero{ padding:176px 0 120px; overflow:hidden; isolation:isolate; }
.ngt-hero-blobs{ position:absolute; inset:0; z-index:-1; overflow:hidden; }
.ngt-hero-blobs .ngt-blob.ngt-b1{ width:340px; height:340px; top:-60px; left:-80px; background:var(--ngt-mint); opacity:.55; }
.ngt-hero-blobs .ngt-blob.ngt-b2{ width:280px; height:280px; top:60px; right:-60px; background:var(--ngt-yellow); opacity:.6; }
.ngt-hero-blobs .ngt-blob.ngt-b3{ width:260px; height:260px; bottom:-80px; left:38%; background:var(--ngt-violet); opacity:.35; }
.ngt-hero-inner{ text-align:center; max-width:840px; margin:0 auto; position:relative; z-index:1; }
.ngt-hero .ngt-tag{ margin:0 auto; }
.ngt-hero-title{ font-family:var(--ngt-display); font-weight:600; font-size:clamp(36px,6.4vw,66px); line-height:1.06; letter-spacing:-.01em; margin-top:22px; }
.ngt-hero-title mark{ background:none; color:var(--ngt-coral-d); }
.ngt-hero-sub{ font-size:18px; line-height:1.65; color:var(--ngt-ink-70); max-width:580px; margin:24px auto 0; }
.ngt-hero-ctas{ display:flex; justify-content:center; gap:16px; margin-top:36px; flex-wrap:wrap; }
.ngt-hero-meta{ display:flex; justify-content:center; gap:44px; margin-top:64px; flex-wrap:wrap; }
.ngt-hero-meta .ngt-num{ font-family:var(--ngt-display); font-size:28px; font-weight:600; color:var(--ngt-violet-d); }
.ngt-hero-meta .ngt-lab{ font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--ngt-ink-50); margin-top:4px; font-weight:600; }

.ngt-page-hero{ padding:166px 0 68px; text-align:center; position:relative; overflow:hidden; background:var(--ngt-cream-2); }
.ngt-page-hero-inner{ max-width:640px; margin:0 auto; position:relative; z-index:1; }
.ngt-page-hero .ngt-tag{ margin:0 auto; }
.ngt-page-hero h1{ font-family:var(--ngt-display); font-weight:600; font-size:clamp(32px,5vw,50px); line-height:1.12; letter-spacing:-.01em; margin-top:16px; }
.ngt-page-hero p{ font-size:17px; color:var(--ngt-ink-70); margin-top:14px; line-height:1.6; }
.ngt-page-hero .ngt-blob{ position:absolute; z-index:0; }
.ngt-page-hero .ngt-blob.ngt-b1{ width:200px; height:200px; top:-40px; left:-40px; background:var(--ngt-mint); opacity:.4; }
.ngt-page-hero .ngt-blob.ngt-b2{ width:180px; height:180px; bottom:-50px; right:-30px; background:var(--ngt-yellow); opacity:.5; }

/* ==========================================================================
   TRUST STRIP
   ========================================================================== */
.ngt-trust{ padding:52px 0; border-bottom:var(--ngt-border); }
.ngt-trust-label{ font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ngt-ink-50); margin-bottom:26px; text-align:center; }
.ngt-trust-row{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.ngt-trust-row span{ font-family:var(--ngt-display); font-weight:600; font-size:15.5px; color:var(--ngt-ink-50); white-space:nowrap; transition:color .2s var(--ngt-ease-soft); }
.ngt-trust-row span:nth-child(4n+1):hover{ color:var(--ngt-coral-d); }
.ngt-trust-row span:nth-child(4n+2):hover{ color:var(--ngt-violet-d); }
.ngt-trust-row span:nth-child(4n+3):hover{ color:var(--ngt-mint-d); }
.ngt-trust-row span:nth-child(4n+4):hover{ color:var(--ngt-yellow-d); }

/* ==========================================================================
   SERVICES (services.html) — asymmetric bento grid
   ========================================================================== */
.ngt-services{ padding:118px 0; }
.ngt-services-head{ text-align:center; max-width:660px; margin:0 auto 52px; }
.ngt-services-head .ngt-lede{ margin-left:auto; margin-right:auto; }
.ngt-bento{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:150px; gap:18px; }
.ngt-bcard{ border-radius:var(--ngt-radius-m); padding:28px; display:flex; flex-direction:column; justify-content:space-between; border:2.5px solid var(--ngt-ink); box-shadow:5px 5px 0 var(--ngt-ink); transition:transform .22s var(--ngt-ease), box-shadow .22s var(--ngt-ease); }
.ngt-bcard:hover{ transform:translate(-3px,-3px); box-shadow:8px 8px 0 var(--ngt-ink); }
.ngt-bcard-icon{ width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--ngt-ink); flex:none; }
.ngt-bcard-icon i{ font-size:18px; color:#fff; }
.ngt-bcard h3{ font-family:var(--ngt-display); font-size:19px; font-weight:600; margin-top:14px; }
.ngt-bcard p{ font-size:13.5px; line-height:1.55; color:var(--ngt-ink-70); margin-top:8px; }
.ngt-b-1{ grid-column:span 3; grid-row:span 2; background:var(--ngt-mint); }
.ngt-b-2{ grid-column:span 3; grid-row:span 1; background:var(--ngt-yellow); }
.ngt-b-3{ grid-column:span 2; grid-row:span 1; background:var(--ngt-coral); color:#fff; }
.ngt-b-3 p, .ngt-b-3 .ngt-bcard-icon{ color:inherit; }
.ngt-b-3 p{ color:rgba(255,255,255,.85); }
.ngt-b-3 .ngt-bcard-icon{ background:#fff; }
.ngt-b-3 .ngt-bcard-icon i{ color:var(--ngt-coral); }
.ngt-b-4{ grid-column:span 4; grid-row:span 1; background:var(--ngt-violet); color:#fff; }
.ngt-b-4 p{ color:rgba(255,255,255,.85); }
.ngt-b-4 .ngt-bcard-icon{ background:#fff; }
.ngt-b-4 .ngt-bcard-icon i{ color:var(--ngt-violet); }
.ngt-b-5{ grid-column:span 3; grid-row:span 1; background:var(--ngt-cream-2); }
.ngt-b-6{ grid-column:span 3; grid-row:span 1; background:var(--ngt-mint); }
@media (max-width:960px){
  .ngt-bento{ grid-template-columns:repeat(2,1fr); grid-auto-rows:auto; }
  .ngt-bcard{ grid-column:span 1 !important; grid-row:span 1 !important; min-height:180px; }
}
@media (max-width:560px){ .ngt-bento{ grid-template-columns:1fr; } }

/* ==========================================================================
   PRICING (services.html) — 3 cards, featured elevated
   ========================================================================== */
.ngt-pricing{ padding:126px 0; }
.ngt-pricing-head{ text-align:center; max-width:660px; margin:0 auto 60px; }
.ngt-pricing-head .ngt-lede{ margin-left:auto; margin-right:auto; }
.ngt-pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; align-items:center; }
.ngt-pcard{ border-radius:var(--ngt-radius-l); padding:38px 30px; background:var(--ngt-paper); border:2.5px solid var(--ngt-ink); display:flex; flex-direction:column; transition:transform .3s var(--ngt-ease-soft); box-shadow:6px 6px 0 var(--ngt-ink); }
.ngt-pcard-tag{ font-family:var(--ngt-display); font-size:12.5px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--ngt-ink-50); }
.ngt-pcard h3{ font-family:var(--ngt-display); font-size:24px; font-weight:600; margin-top:10px; }
.ngt-pcard .ngt-pdesc{ font-size:13.5px; color:var(--ngt-ink-70); margin-top:10px; line-height:1.55; min-height:40px; }
.ngt-pprice{ display:flex; align-items:baseline; gap:8px; margin-top:24px; padding-top:20px; border-top:2px dashed var(--ngt-ink-20); }
.ngt-pprice .ngt-amt{ font-family:var(--ngt-display); font-size:38px; font-weight:600; }
.ngt-pprice .ngt-per{ font-size:12px; color:var(--ngt-ink-50); font-weight:600; }
.ngt-pfeat{ margin-top:22px; display:flex; flex-direction:column; gap:11px; flex:1; }
.ngt-pfeat li{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; line-height:1.5; color:var(--ngt-ink-70); }
.ngt-pfeat i{ color:var(--ngt-coral-d); margin-top:3px; font-size:11px; }
.ngt-pcard .ngt-btn{ margin-top:26px; justify-content:center; }
.ngt-pcard-featured{ background:var(--ngt-violet); color:#fff; transform:translateY(-22px); box-shadow:8px 8px 0 var(--ngt-ink); }
.ngt-pcard-featured .ngt-pcard-tag{ color:rgba(255,255,255,.75); }
.ngt-pcard-featured .ngt-pdesc{ color:rgba(255,255,255,.8); }
.ngt-pcard-featured .ngt-pprice{ border-top-color:rgba(255,255,255,.25); }
.ngt-pcard-featured .ngt-pfeat li{ color:rgba(255,255,255,.85); }
.ngt-pcard-featured .ngt-pfeat i{ color:var(--ngt-yellow); }
@media (max-width:960px){
  .ngt-pgrid{ grid-template-columns:1fr; max-width:420px; margin:0 auto; }
  .ngt-pcard-featured{ transform:none; order:-1; }
}

/* ==========================================================================
   ADDITIONAL SERVICES (services.html) — colorful card grid
   ========================================================================== */
.ngt-modules-sec{ padding:118px 0; }
.ngt-modules-head{ text-align:center; max-width:660px; margin:0 auto 52px; }
.ngt-modules-head .ngt-lede{ margin-left:auto; margin-right:auto; }
.ngt-mgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.ngt-mcard{ border:2.5px solid var(--ngt-ink); border-radius:var(--ngt-radius-m); padding:22px; display:flex; flex-direction:column; gap:12px; background:var(--ngt-paper); transition:transform .2s var(--ngt-ease); box-shadow:4px 4px 0 var(--ngt-ink); }
.ngt-mcard:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ngt-ink); }
.ngt-mcard:nth-child(4n+1){ background:#FFF0EE; }
.ngt-mcard:nth-child(4n+2){ background:#F1EDFF; }
.ngt-mcard:nth-child(4n+3){ background:#E7FBF8; }
.ngt-mcard:nth-child(4n+4){ background:#FFF7E0; }
.ngt-mcard-price{ font-family:var(--ngt-display); font-size:23px; font-weight:600; color:var(--ngt-coral-d); }
.ngt-mcard-title{ font-size:13px; font-weight:600; line-height:1.4; flex:1; }
.ngt-mcard .ngt-link-arrow{ margin-top:auto; font-size:12px; }
@media (max-width:900px){ .ngt-mgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .ngt-mgrid{ grid-template-columns:1fr; } }

/* ==========================================================================
   PROCESS (index.html) — alternating zig-zag
   ========================================================================== */
.ngt-process{ padding:118px 0; }
.ngt-process-head{ text-align:center; max-width:660px; margin:0 auto 60px; }
.ngt-process-head .ngt-lede{ margin-left:auto; margin-right:auto; }
.ngt-zigzag{ display:flex; flex-direction:column; gap:8px; max-width:900px; margin:0 auto; }
.ngt-zrow{ display:grid; grid-template-columns:120px 1fr; align-items:center; gap:32px; padding:24px 0; }
.ngt-zrow:nth-child(even){ grid-template-columns:1fr 120px; }
.ngt-zrow:nth-child(even) .ngt-znum{ order:2; }
.ngt-zrow:nth-child(even) .ngt-zbody{ order:1; text-align:right; }
.ngt-znum{ width:96px; height:96px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--ngt-display); font-size:30px; font-weight:600; color:#fff; border:2.5px solid var(--ngt-ink); box-shadow:4px 4px 0 var(--ngt-ink); }
.ngt-zrow:nth-child(4n+1) .ngt-znum{ background:var(--ngt-coral); }
.ngt-zrow:nth-child(4n+2) .ngt-znum{ background:var(--ngt-violet); }
.ngt-zrow:nth-child(4n+3) .ngt-znum{ background:var(--ngt-mint); }
.ngt-zrow:nth-child(4n+4) .ngt-znum{ background:var(--ngt-yellow); color:var(--ngt-ink); }
.ngt-zbody h3{ font-family:var(--ngt-display); font-weight:600; font-size:20px; }
.ngt-zbody p{ font-size:14px; line-height:1.6; color:var(--ngt-ink-70); margin-top:8px; max-width:480px; }
.ngt-zrow:nth-child(even) .ngt-zbody p{ margin-left:auto; }
.ngt-ztime{ font-size:11px; color:var(--ngt-coral-d); font-weight:700; text-transform:uppercase; letter-spacing:.03em; margin-top:8px; display:inline-block; }
@media (max-width:700px){
  .ngt-zrow, .ngt-zrow:nth-child(even){ grid-template-columns:70px 1fr; gap:18px; }
  .ngt-zrow:nth-child(even) .ngt-znum{ order:0; }
  .ngt-zrow:nth-child(even) .ngt-zbody{ order:0; text-align:left; }
  .ngt-zrow:nth-child(even) .ngt-zbody p{ margin-left:0; }
  .ngt-znum{ width:64px; height:64px; font-size:20px; }
}

/* ==========================================================================
   GUARANTEE BAND (index.html) — two-column
   ========================================================================== */
.ngt-guarantee{ padding:54px 0; background:var(--ngt-ink); color:var(--ngt-cream); }
.ngt-guarantee-inner{ display:flex; align-items:center; gap:28px; justify-content:space-between; flex-wrap:wrap; }
.ngt-guarantee-badge{ width:64px; height:64px; border-radius:50%; background:var(--ngt-yellow); display:flex; align-items:center; justify-content:center; flex:none; border:2.5px solid var(--ngt-cream); }
.ngt-guarantee-badge i{ font-size:24px; color:var(--ngt-ink); }
.ngt-guarantee-text{ flex:1; min-width:260px; }
.ngt-guarantee-text h3{ font-family:var(--ngt-display); font-weight:600; font-size:clamp(21px,3vw,29px); }
.ngt-guarantee-text p{ font-size:14px; color:var(--ngt-cream-70); margin-top:8px; max-width:600px; }
.ngt-guarantee .ngt-btn{ flex:none; }

/* ==========================================================================
   COMPARISON STRIP (index.html) — paired short cards
   ========================================================================== */
.ngt-comparison{ padding:100px 0; }
.ngt-comparison-head{ text-align:center; max-width:660px; margin:0 auto 48px; }
.ngt-cpair{ display:grid; grid-template-columns:1fr 1fr; gap:24px; max-width:900px; margin:0 auto; }
.ngt-ccard{ border-radius:var(--ngt-radius-l); padding:32px; border:2.5px solid var(--ngt-ink); }
.ngt-ccard-us{ background:var(--ngt-mint); box-shadow:5px 5px 0 var(--ngt-ink); }
.ngt-ccard-them{ background:var(--ngt-cream-2); }
.ngt-ccard h4{ font-family:var(--ngt-display); font-weight:600; font-size:17px; margin-bottom:16px; }
.ngt-ccard ul{ display:flex; flex-direction:column; gap:12px; }
.ngt-ccard li{ display:flex; align-items:flex-start; gap:9px; font-size:13.5px; color:var(--ngt-ink-70); line-height:1.5; }
.ngt-ccard-us li i{ color:var(--ngt-ink); }
.ngt-ccard-them li i{ color:var(--ngt-ink-50); }
@media (max-width:700px){ .ngt-cpair{ grid-template-columns:1fr; } }

/* ==========================================================================
   FAQ (index.html) — two-column accordion split
   ========================================================================== */
.ngt-faq{ padding:118px 0; }
.ngt-faq-head{ text-align:center; max-width:660px; margin:0 auto 52px; }
.ngt-faq-head .ngt-lede{ margin-left:auto; margin-right:auto; }
.ngt-faq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0 40px; max-width:980px; margin:0 auto; }
.ngt-faq-col{ border-top:var(--ngt-border); }
.ngt-faq-item{ border-bottom:var(--ngt-border); }
.ngt-faq-trigger{ width:100%; background:none; border:none; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 2px; }
.ngt-faq-trigger h3{ font-family:var(--ngt-display); font-size:16px; font-weight:600; }
.ngt-faq-icon{ width:28px; height:28px; border-radius:50%; border:2.5px solid var(--ngt-ink); display:flex; align-items:center; justify-content:center; font-size:11px; flex:none; transition:transform .25s var(--ngt-ease), background .2s; }
.ngt-faq-item.ngt-open .ngt-faq-icon{ transform:rotate(45deg); background:var(--ngt-coral); color:#fff; }
.ngt-faq-panel{ max-height:0; overflow:hidden; transition:max-height .3s var(--ngt-ease-soft); }
.ngt-faq-item.ngt-open .ngt-faq-panel{ max-height:200px; }
.ngt-faq-panel-inner{ padding:0 2px 22px; }
.ngt-faq-panel-inner p{ font-size:13.5px; line-height:1.6; color:var(--ngt-ink-70); }
.ngt-faq-panel-inner a{ color:var(--ngt-coral-d); text-decoration:underline; }
html:not(.ngt-js-ready) .ngt-faq-panel{ max-height:none; }
noscript .ngt-faq-panel{ max-height:none !important; }
@media (max-width:800px){ .ngt-faq-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   ABOUT (index.html) — visual as background behind prose, plus TEAM
   ========================================================================== */
.ngt-about{ padding:126px 0; position:relative; overflow:hidden; }
.ngt-about-blobs{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.ngt-about-blobs .ngt-blob.ngt-b1{ width:420px; height:420px; top:-100px; right:-120px; background:var(--ngt-violet); opacity:.16; }
.ngt-about-blobs .ngt-blob.ngt-b2{ width:300px; height:300px; bottom:-80px; left:-80px; background:var(--ngt-mint); opacity:.2; }
.ngt-about-inner{ position:relative; z-index:1; max-width:760px; margin:0 auto; text-align:center; }
.ngt-about-inner .ngt-tag{ margin:0 auto; }
.ngt-about-inner p{ font-size:16px; line-height:1.78; color:var(--ngt-ink-70); margin-top:16px; }
.ngt-stats{ position:relative; z-index:1; margin-top:76px; padding-top:44px; border-top:2px solid var(--ngt-ink-20); display:grid; grid-template-columns:repeat(4,1fr); gap:24px; max-width:900px; margin-left:auto; margin-right:auto; }
.ngt-stat{ text-align:center; }
.ngt-stat .ngt-stat-num{ font-family:var(--ngt-display); font-size:36px; font-weight:600; color:var(--ngt-coral-d); }
.ngt-stat .ngt-stat-lab{ font-size:12px; color:var(--ngt-ink-70); margin-top:8px; font-weight:600; }
.ngt-team{ position:relative; z-index:1; margin-top:60px; padding-top:44px; border-top:2px solid var(--ngt-ink-20); max-width:900px; margin-left:auto; margin-right:auto; }
.ngt-team-label{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ngt-ink-50); margin-bottom:22px; text-align:center; }
.ngt-team-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.ngt-team-card{ display:flex; align-items:center; gap:16px; background:var(--ngt-paper); border:2.5px solid var(--ngt-ink); border-radius:var(--ngt-radius-m); padding:20px; text-align:left; box-shadow:4px 4px 0 var(--ngt-ink); }
.ngt-team-avatar{ width:54px; height:54px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:600; font-family:var(--ngt-display); font-size:16px; color:#fff; flex:none; border:2px solid var(--ngt-ink); }
.ngt-team-name{ font-weight:600; font-family:var(--ngt-display); font-size:15px; }
.ngt-team-role{ font-size:12px; color:var(--ngt-ink-50); margin-top:2px; }
.ngt-team-note{ font-size:12.5px; color:var(--ngt-ink-70); margin-top:6px; font-style:italic; }
@media (max-width:900px){
  .ngt-stats{ grid-template-columns:repeat(2,1fr); }
  .ngt-team-grid{ grid-template-columns:1fr; }
}

/* ==========================================================================
   REVIEWS (index.html) — one large featured + 3 supporting
   ========================================================================== */
.ngt-reviews{ padding:120px 0; }
.ngt-reviews-head{ text-align:center; max-width:600px; margin:0 auto 56px; }
.ngt-reviews-head .ngt-lede{ margin-left:auto; margin-right:auto; }
.ngt-rlayout{ display:grid; grid-template-columns:1.3fr 1fr; gap:24px; align-items:stretch; }
.ngt-rfeatured{ border-radius:var(--ngt-radius-l); padding:44px; background:var(--ngt-violet); color:#fff; display:flex; flex-direction:column; justify-content:space-between; border:2.5px solid var(--ngt-ink); box-shadow:6px 6px 0 var(--ngt-ink); }
.ngt-rfeatured .ngt-stars{ color:var(--ngt-yellow); font-size:18px; letter-spacing:3px; }
.ngt-rfeatured p{ font-family:var(--ngt-display); font-size:24px; font-weight:500; line-height:1.4; margin-top:20px; }
.ngt-rside{ display:flex; flex-direction:column; gap:18px; }
.ngt-rcard{ flex:1; border-radius:var(--ngt-radius-m); padding:22px; background:var(--ngt-paper); border:2.5px solid var(--ngt-ink); display:flex; flex-direction:column; gap:12px; }
.ngt-rcard .ngt-stars{ color:var(--ngt-coral-d); font-size:12px; letter-spacing:2px; }
.ngt-rcard p{ font-size:13.5px; line-height:1.55; }
.ngt-rauthor{ display:flex; align-items:center; gap:12px; margin-top:auto; }
.ngt-avatar{ width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:600; font-family:var(--ngt-display); font-size:12.5px; color:#fff; flex:none; border:2px solid var(--ngt-ink); }
.ngt-rauthor-name{ font-weight:600; font-size:13.5px; }
.ngt-rauthor-role{ font-size:11px; color:var(--ngt-ink-50); }
.ngt-rfeatured .ngt-avatar{ border-color:#fff; }
@media (max-width:900px){ .ngt-rlayout{ grid-template-columns:1fr; } }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.ngt-footer{ background:var(--ngt-ink); color:var(--ngt-cream-70); padding:88px 0 0; }
.ngt-footer-grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:48px; padding-bottom:60px; border-bottom:2px solid var(--ngt-cream-20); }
.ngt-footer-brand .ngt-brand{ color:var(--ngt-cream); }
.ngt-footer-brand p{ font-size:14px; line-height:1.65; margin-top:18px; max-width:280px; }
.ngt-footer-socials{ display:flex; gap:12px; margin-top:24px; }
.ngt-footer-socials a{ width:38px; height:38px; border-radius:50%; border:2px solid var(--ngt-cream-20); display:flex; align-items:center; justify-content:center; font-size:13px; transition:background .2s, border-color .2s; }
.ngt-footer-socials a:hover{ background:var(--ngt-coral); border-color:var(--ngt-coral); }
.ngt-footer h5{ font-family:var(--ngt-display); font-size:12px; font-weight:600; letter-spacing:.03em; text-transform:uppercase; color:var(--ngt-cream-50); margin-bottom:20px; }
.ngt-footer-col ul{ display:flex; flex-direction:column; gap:13px; }
.ngt-footer-col a{ font-size:14px; transition:color .18s; }
.ngt-footer-col a:hover{ color:var(--ngt-cream); }
.ngt-footer-col li{ display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.5; }
.ngt-footer-col li i{ color:var(--ngt-coral); margin-top:3px; font-size:12px; }
.ngt-footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding:24px 0; flex-wrap:wrap; gap:12px; font-size:12.5px; color:var(--ngt-cream-50); }
.ngt-footer-bottom-links{ display:flex; gap:22px; }
.ngt-footer-bottom-links a:hover{ color:var(--ngt-cream); }
@media (max-width:900px){ .ngt-footer-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .ngt-footer-grid{ grid-template-columns:1fr; } }

/* ==========================================================================
   STICKY CTA
   ========================================================================== */
.ngt-sticky-cta{ position:fixed; right:24px; bottom:24px; z-index:450; opacity:0; transform:translateY(16px) scale(.9); pointer-events:none; transition:opacity .3s var(--ngt-ease-soft), transform .3s var(--ngt-ease); }
.ngt-sticky-cta.ngt-show{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
@media (max-width:600px){ .ngt-sticky-cta{ right:16px; bottom:16px; } .ngt-sticky-cta .ngt-btn{ padding:12px 22px; font-size:13px; } }

/* ==========================================================================
   CONTACT PAGE
   ========================================================================== */
.ngt-contact-sec{ padding:78px 0 128px; }
.ngt-contact-grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:24px; align-items:start; }
.ngt-ccards{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.ngt-ccard-c{ border:2.5px solid var(--ngt-ink); border-radius:var(--ngt-radius-m); padding:26px; background:var(--ngt-paper); transition:transform .2s; box-shadow:4px 4px 0 var(--ngt-ink); }
.ngt-ccard-c:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ngt-ink); }
.ngt-ccard-c-icon{ width:44px; height:44px; border-radius:14px; background:var(--ngt-yellow); color:var(--ngt-ink); display:flex; align-items:center; justify-content:center; font-size:15px; margin-bottom:16px; border:2px solid var(--ngt-ink); }
.ngt-ccard-c h4{ font-size:11px; letter-spacing:.04em; text-transform:uppercase; color:var(--ngt-ink-50); font-weight:700; }
.ngt-ccard-c .ngt-cval{ font-family:var(--ngt-display); font-weight:600; font-size:16px; margin-top:8px; line-height:1.4; }
.ngt-ccard-c a.ngt-cval:hover{ color:var(--ngt-coral-d); }
.ngt-side-panel{ background:var(--ngt-ink); color:var(--ngt-cream); border-radius:var(--ngt-radius-l); padding:34px 28px; display:flex; flex-direction:column; height:100%; }
.ngt-side-panel h3{ font-family:var(--ngt-display); font-weight:600; font-size:22px; }
.ngt-side-panel p{ font-size:14px; color:var(--ngt-cream-70); line-height:1.6; margin-top:14px; }
.ngt-side-panel .ngt-btn{ margin-top:24px; justify-content:center; }
.ngt-side-hours{ margin-top:28px; padding-top:22px; border-top:2px solid var(--ngt-cream-20); font-size:13px; }
.ngt-side-hours div{ display:flex; justify-content:space-between; padding:6px 0; color:var(--ngt-cream-70); }
.ngt-map-wrap{ margin-top:24px; border-radius:var(--ngt-radius-l); overflow:hidden; border:2.5px solid var(--ngt-ink); height:400px; }
.ngt-map-wrap iframe{ width:100%; height:100%; border:0; display:block; }
@media (max-width:900px){ .ngt-contact-grid{ grid-template-columns:1fr; } .ngt-ccards{ grid-template-columns:1fr; } }

/* ==========================================================================
   LEGAL PAGE
   ========================================================================== */
.ngt-legal-sec{ padding:78px 0 128px; }
.ngt-legal-intro{ max-width:760px; font-size:15px; line-height:1.7; color:var(--ngt-ink-70); padding-bottom:38px; border-bottom:var(--ngt-border); margin-bottom:0; }
.ngt-legal-subnav{ position:sticky; top:78px; z-index:50; background:var(--ngt-cream); display:flex; gap:8px; padding:18px 0; margin-bottom:20px; border-bottom:var(--ngt-border); flex-wrap:wrap; }
.ngt-legal-subnav a{ padding:9px 18px; border-radius:999px; font-size:13px; font-weight:600; font-family:var(--ngt-display); border:2px solid var(--ngt-ink); transition:background .2s, color .2s; }
.ngt-legal-subnav a:hover, .ngt-legal-subnav a.ngt-active{ background:var(--ngt-ink); color:var(--ngt-cream); }
.ngt-legal-doc{ max-width:760px; padding:54px 0; border-bottom:var(--ngt-border); scroll-margin-top:150px; }
.ngt-legal-doc:last-child{ border-bottom:none; }
.ngt-legal-doc h2{ font-family:var(--ngt-display); font-size:28px; font-weight:600; }
.ngt-legal-doc .ngt-legal-updated{ font-size:12.5px; color:var(--ngt-ink-50); margin-top:8px; }
.ngt-legal-doc h3{ font-family:var(--ngt-display); font-size:16px; font-weight:600; margin-top:30px; }
.ngt-legal-doc p{ font-size:14.5px; line-height:1.75; color:var(--ngt-ink-70); margin-top:13px; }
.ngt-legal-doc ul{ margin-top:13px; display:flex; flex-direction:column; gap:10px; }
.ngt-legal-doc ul li{ font-size:14.5px; line-height:1.6; color:var(--ngt-ink-70); padding-left:20px; position:relative; }
.ngt-legal-doc ul li::before{ content:"→"; position:absolute; left:0; color:var(--ngt-coral-d); }

/* ==========================================================================
   COOKIE BANNER
   ========================================================================== */
.ngt-cookie{ position:fixed; left:24px; right:24px; bottom:-200px; z-index:800; max-width:520px; margin:0 auto; background:var(--ngt-ink); color:var(--ngt-cream); border-radius:var(--ngt-radius-l); padding:24px 26px; box-shadow:0 30px 60px -20px rgba(0,0,0,.5); border:2.5px solid var(--ngt-yellow); transition:bottom .5s var(--ngt-ease-soft); }
.ngt-cookie.ngt-show{ bottom:24px; }
.ngt-cookie p{ font-size:13px; line-height:1.6; color:var(--ngt-cream-70); }
.ngt-cookie a{ color:var(--ngt-yellow); text-decoration:underline; }
.ngt-cookie-actions{ display:flex; gap:12px; margin-top:16px; }
.ngt-cookie-actions button{ flex:1; padding:10px 16px; border-radius:999px; font-size:12px; font-weight:600; font-family:var(--ngt-display); border:2px solid rgba(255,251,243,.3); background:transparent; color:var(--ngt-cream); transition:background .2s, color .2s; }
.ngt-cookie-actions .ngt-cookie-accept{ background:var(--ngt-coral); border-color:var(--ngt-coral); }
.ngt-cookie-actions .ngt-cookie-accept:hover{ background:var(--ngt-coral-d); }
.ngt-cookie-actions .ngt-cookie-decline:hover{ background:rgba(255,251,243,.1); }

@media (max-width:760px){
  .ngt-hero{ padding:150px 0 78px; }
  .ngt-page-hero{ padding:134px 0 54px; }
  .ngt-services, .ngt-pricing, .ngt-modules-sec, .ngt-process, .ngt-comparison, .ngt-faq, .ngt-about, .ngt-reviews{ padding:70px 0; }
  .ngt-hero-meta{ margin-top:48px; gap:26px; }
  .ngt-footer{ padding-top:56px; }
}

/* ==========================================================================
   NEW SERVICE BANNER (index.html) — AI Search Visibility + live checker
   ========================================================================== */
.ngt-launch{ padding:24px 0 72px; }
.ngt-launch-card > *{ min-width:0; }
.ngt-launch-card{ position:relative; overflow:hidden; isolation:isolate; display:grid; grid-template-columns:1.1fr 1fr; gap:44px; align-items:center; padding:52px; border-radius:var(--ngt-radius-l); background:var(--ngt-violet); color:#fff; border:2.5px solid var(--ngt-ink); box-shadow:8px 8px 0 var(--ngt-ink); }
.ngt-launch-blobs{ position:absolute; inset:0; z-index:-1; overflow:hidden; }
.ngt-launch-blobs .ngt-blob.ngt-b1{ width:320px; height:320px; top:-120px; left:-90px; background:var(--ngt-coral); opacity:.45; }
.ngt-launch-blobs .ngt-blob.ngt-b2{ width:260px; height:260px; bottom:-110px; left:38%; background:var(--ngt-mint); opacity:.4; }
.ngt-launch-title{ font-family:var(--ngt-display); font-weight:600; font-size:clamp(28px,3.6vw,42px); line-height:1.1; margin-top:18px; }
.ngt-launch-title mark{ background:var(--ngt-yellow); color:var(--ngt-ink); padding:0 .18em; border-radius:10px; }
.ngt-launch-sub{ font-size:15.5px; line-height:1.65; color:rgba(255,255,255,.86); margin-top:16px; max-width:520px; }
.ngt-launch-sub strong{ color:#fff; }
.ngt-launch-list{ margin-top:22px; display:flex; flex-direction:column; gap:11px; }
.ngt-launch-list li{ display:flex; gap:12px; align-items:flex-start; font-size:14px; line-height:1.5; color:rgba(255,255,255,.9); }
.ngt-launch-list i{ width:26px; height:26px; flex:none; border-radius:8px; background:rgba(255,255,255,.16); color:var(--ngt-yellow); display:flex; align-items:center; justify-content:center; font-size:11.5px; }
.ngt-launch-list code{ font-size:12.5px; background:rgba(0,0,0,.22); padding:1px 6px; border-radius:6px; }

.ngt-checker{ background:var(--ngt-paper); color:var(--ngt-ink); border:2.5px solid var(--ngt-ink); border-radius:var(--ngt-radius-m); padding:28px; box-shadow:6px 6px 0 var(--ngt-ink); display:flex; flex-direction:column; gap:18px; }
.ngt-checker-head h3{ font-family:var(--ngt-display); font-size:21px; font-weight:600; }
.ngt-checker-head p{ font-size:13px; color:var(--ngt-ink-50); margin-top:4px; }
.ngt-checker-body{ display:grid; grid-template-columns:1fr 112px; gap:18px; align-items:center; }
.ngt-checker-items{ display:flex; flex-direction:column; gap:8px; }
.ngt-checker-items label{ display:flex; gap:11px; align-items:flex-start; font-size:13px; line-height:1.45; cursor:pointer; padding:8px 10px; border-radius:12px; transition:background .15s; }
.ngt-checker-items label:hover{ background:var(--ngt-cream-2); }
.ngt-checker-items input{ position:absolute; opacity:0; pointer-events:none; }
.ngt-check-box{ width:22px; height:22px; flex:none; border:2.5px solid var(--ngt-ink); border-radius:7px; display:flex; align-items:center; justify-content:center; background:#fff; transition:background .18s, transform .2s var(--ngt-ease); }
.ngt-check-box i{ font-size:11px; color:#fff; opacity:0; transform:scale(.4); transition:opacity .15s, transform .2s var(--ngt-ease); }
.ngt-checker-items input:checked + .ngt-check-box{ background:var(--ngt-mint); transform:rotate(-6deg); }
.ngt-checker-items input:checked + .ngt-check-box i{ opacity:1; transform:scale(1); }
.ngt-checker-items input:focus-visible + .ngt-check-box{ outline:3px solid var(--ngt-violet); outline-offset:2px; }
.ngt-checker-score{ position:relative; width:112px; height:112px; }
.ngt-checker-score svg{ width:100%; height:100%; transform:rotate(-90deg); }
.ngt-ring-bg{ fill:none; stroke:var(--ngt-ink-20); stroke-width:12; }
.ngt-ring{ fill:none; stroke:var(--ngt-coral); stroke-width:12; stroke-linecap:round; stroke-dasharray:314.16; stroke-dashoffset:314.16; transition:stroke-dashoffset .5s var(--ngt-ease), stroke .3s; }
.ngt-score-num{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--ngt-display); font-weight:600; font-size:34px; }
.ngt-score-num small{ font-size:15px; color:var(--ngt-ink-50); margin-left:2px; align-self:center; margin-top:10px; }
.ngt-checker-verdict{ font-size:13.5px; line-height:1.55; background:var(--ngt-cream-2); border:2px dashed var(--ngt-ink-20); border-radius:14px; padding:14px 16px; color:var(--ngt-ink-70); min-height:72px; }
.ngt-checker-verdict strong{ color:var(--ngt-ink); font-family:var(--ngt-display); font-weight:600; }
.ngt-checker-cta{ justify-content:center; }

@media (max-width:960px){
  .ngt-launch-card{ grid-template-columns:minmax(0,1fr); padding:36px 28px; gap:32px; }
}
@media (max-width:520px){
  .ngt-launch-card{ padding:28px 18px; box-shadow:5px 5px 0 var(--ngt-ink); }
  .ngt-checker{ padding:20px 16px; }
  .ngt-checker-body{ grid-template-columns:1fr; }
  .ngt-checker-score{ order:-1; margin:0 auto; width:96px; height:96px; }
  .ngt-score-num{ font-size:28px; }
  }
.ngt-launch{ scroll-margin-top:110px; }
