
/* ==========================================================================
   NOUSTIQ PRO V10.6. FINAL DESIGN
   Premium typography + product-led UX + explicit software/services split.
   No remote fonts or tracking dependencies.
   ========================================================================== */

:root {
  --v106-bg: #f6f8f6;
  --v106-paper: #ffffff;
  --v106-ink: #07111c;
  --v106-copy: #344657;
  --v106-muted: #6a7885;
  --v106-line: #dce5e1;
  --v106-green: #12b981;
  --v106-green-deep: #08745a;
  --v106-blue: #3578e5;
  --v106-lilac: #7d67e8;
  --v106-radius: 22px;
  --v106-shadow: 0 24px 70px rgba(7,17,28,.09), 0 4px 14px rgba(7,17,28,.035);
  --v106-display:
    "Segoe UI Variable Display", "SF Pro Display", "Avenir Next",
    "Helvetica Neue", "Segoe UI", Arial, sans-serif;
  --v106-text:
    "Segoe UI Variable Text", "SF Pro Text", "Avenir Next",
    "Helvetica Neue", "Segoe UI", Arial, sans-serif;
}

html { scroll-behavior: smooth; }
body {
  font-family: var(--v106-text);
  color: var(--v106-copy);
  background: #fff;
  font-optical-sizing: auto;
  font-kerning: normal;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,.display,.brand-word {
  font-family: var(--v106-display);
  color: var(--v106-ink);
  font-weight: 720;
  letter-spacing: -.035em;
  text-wrap: balance;
}
p { text-wrap: pretty; }

.shell { width: min(1180px, calc(100% - 40px)); }
.site-header {
  background: rgba(255,255,255,.9) !important;
  border-bottom: 1px solid rgba(220,229,225,.82);
  backdrop-filter: blur(18px) saturate(1.35);
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
}
.header-inner { min-height: 72px; }
.brand { gap: .52rem; text-decoration: none; }
.brand-word { font-size: 1.03rem; font-weight: 780; letter-spacing: -.035em; }
.v106-brand-pro {
  display:inline-flex; align-items:center; height:21px; padding:0 .42rem;
  margin-left:-.16rem; border:1px solid #cfe2da; border-radius:999px;
  background:#f2faf6; color:var(--v106-green-deep);
  font-size:.61rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase;
}
.primary-nav { gap:.05rem; }
.primary-nav a {
  padding:.55rem .64rem !important;
  border-radius:9px;
  color:#324151;
  font-size:.86rem;
  font-weight:650;
  letter-spacing:-.01em;
}
.primary-nav a:hover { background:#f1f5f3; color:var(--v106-ink); }
.primary-nav a[aria-current="page"] {
  background:#edf7f3 !important;
  color:var(--v106-green-deep) !important;
}

.button {
  border-radius: 11px !important;
  font-family: var(--v106-text);
  font-weight: 740 !important;
  letter-spacing: -.015em;
}
.button-primary {
  border-color: #08765a !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.12), transparent 35%),
    #0a805f !important;
  color:#fff !important;
  box-shadow: 0 9px 22px rgba(8,116,90,.17), inset 0 1px 0 rgba(255,255,255,.2);
}
.button-primary:hover {
  transform: translateY(-1px);
  background:#086f54 !important;
}
.button-secondary, .button-quiet {
  border-color:#d6e0dc !important;
  background:#fff !important;
  color:#172535 !important;
}

.eyebrow,.v105-kicker,.v106-kicker {
  font-family:var(--v106-text);
  color:var(--v106-green-deep);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.105em;
  text-transform:uppercase;
}

/* ---------- Final homepage hero ---------- */
.v106-hero {
  position:relative;
  overflow:hidden;
  padding: clamp(3.6rem, 7vw, 7rem) 0 clamp(3.2rem,6vw,5.2rem);
  background:
    radial-gradient(circle at 86% 5%, rgba(18,185,129,.16), transparent 33rem),
    radial-gradient(circle at 16% -15%, rgba(53,120,229,.09), transparent 29rem),
    linear-gradient(180deg,#f8faf8 0%,#f4f7f5 100%);
  border-bottom:1px solid var(--v106-line);
}
.v106-hero::after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.27;
  background-image:radial-gradient(rgba(7,17,28,.17) .65px, transparent .65px);
  background-size:20px 20px;
  mask-image:linear-gradient(to right,transparent 3%,#000 35%,transparent 90%);
}
.v106-hero-grid {
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.82fr);
  gap:clamp(3rem,7vw,6.8rem);
  align-items:center;
}
.v106-kicker {
  display:inline-flex; align-items:center; gap:.58rem; margin-bottom:1.2rem;
}
.v106-kicker::before {
  content:""; width:8px;height:8px;border-radius:50%;background:var(--v106-green);
  box-shadow:0 0 0 6px rgba(18,185,129,.1);
}
.v106-hero h1 {
  margin:0;
  max-width:10.6ch;
  font-size:clamp(3.15rem,6.25vw,6.2rem);
  font-weight:730;
  line-height:.94;
  letter-spacing:-.062em;
}
.v106-hero h1 .v106-accent {
  color:var(--v106-green-deep);
  position:relative;
}
.v106-hero h1 .v106-accent::after {
  content:""; position:absolute; left:.02em; right:.02em; bottom:.01em; height:.12em;
  border-radius:999px; background:rgba(18,185,129,.18); z-index:-1;
}
.v106-hero-lede {
  max-width:60ch;
  margin-top:1.55rem;
  color:#3c4d5e;
  font-size:clamp(1.05rem,1.45vw,1.21rem);
  line-height:1.67;
}
.v106-hero-actions {
  display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.05rem;
  margin-top:1.85rem;
}
.v106-text-link {
  display:inline-flex; align-items:center; gap:.3rem; min-height:42px;
  color:#172535; font-weight:720; text-decoration:none;
}
.v106-text-link:hover { text-decoration:underline; text-underline-offset:4px; }
.v106-audience {
  display:flex; flex-wrap:wrap; gap:.45rem .7rem; margin-top:1.2rem;
}
.v106-audience span {
  display:inline-flex; align-items:center; min-height:30px; padding:.22rem .68rem;
  border:1px solid #dae4e0; border-radius:999px; background:rgba(255,255,255,.7);
  color:#607080; font-size:.73rem; font-weight:650;
}

.v106-starter {
  position:relative;
  border:1px solid #d5dfdb;
  border-radius:26px;
  background:rgba(255,255,255,.97);
  box-shadow:var(--v106-shadow);
  padding:1.45rem;
}
.v106-starter::before {
  content:"";
  position:absolute; left:24px; right:24px; top:-1px; height:3px;
  border-radius:0 0 10px 10px;
  background:linear-gradient(90deg,var(--v106-green),var(--v106-blue),var(--v106-lilac));
}
.v106-starter-head {
  display:flex; justify-content:space-between; align-items:flex-start; gap:1rem;
  padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid #e4ebe8;
}
.v106-starter h2 { margin:.2rem 0 0; font-size:1.23rem; letter-spacing:-.035em; }
.v106-soft-badge {
  display:inline-flex; align-items:center; height:27px; padding:0 .58rem;
  border-radius:999px; background:#eaf8f2; color:var(--v106-green-deep);
  font-size:.68rem; font-weight:850; white-space:nowrap;
}
.v106-field { margin-top:.85rem; }
.v106-field label {
  display:block; margin-bottom:.4rem; color:#213140;
  font-size:.77rem; font-weight:760;
}
.v106-input,.v106-select {
  width:100%; min-height:50px; padding:.78rem .88rem;
  border:1px solid #cbd8d3; border-radius:11px; background:#fff;
  color:#172535; font:inherit; font-size:.93rem;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.v106-input:focus,.v106-select:focus {
  outline:0; border-color:#5e9ae8;
  box-shadow:0 0 0 4px rgba(53,120,229,.12);
}
.v106-starter .button { width:100%; justify-content:center; margin-top:1rem; min-height:50px; }
.v106-starter-foot {
  margin-top:.82rem; color:#71808d; font-size:.72rem; line-height:1.5;
}
.v106-mini-output {
  display:grid; grid-template-columns:1fr 1fr; gap:.55rem;
  margin-top:1.05rem; padding-top:1rem; border-top:1px solid #e4ebe8;
}
.v106-mini-output div {
  padding:.72rem; border-radius:11px; background:#f6f8f7;
}
.v106-mini-output strong { display:block; color:#1b2a39; font-size:.75rem; }
.v106-mini-output span { display:block; margin-top:.2rem; color:#6f7d89; font-size:.7rem; line-height:1.42; }

/* ---------- outcome strip ---------- */
.v106-flow { background:#fff; border-bottom:1px solid var(--v106-line); }
.v106-flow-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.v106-flow-item { display:flex; align-items:center; gap:.8rem; padding:1.22rem; }
.v106-flow-item + .v106-flow-item { border-left:1px solid #e5ebe9; }
.v106-flow-no {
  display:grid; place-items:center; width:30px;height:30px;flex:0 0 30px;
  border-radius:9px; background:#eef7f3; color:var(--v106-green-deep);
  font-size:.69rem; font-weight:850;
}
.v106-flow-item strong { display:block; color:#182737; font-size:.86rem; }
.v106-flow-item span { display:block; margin-top:.12rem; color:#71808d; font-size:.72rem; }

/* ---------- general premium sections ---------- */
.v106-section { padding:clamp(4rem,7vw,7rem) 0; }
.v106-section-soft { background:#f7f9f8; }
.v106-section-dark {
  background:
    radial-gradient(circle at 80% 0%, rgba(18,185,129,.18), transparent 28rem),
    #07111c;
  color:#d9e0e6;
}
.v106-section-dark h2,.v106-section-dark h3 { color:#fff; }
.v106-section-dark p { color:#b8c4ce; }
.v106-section-head { max-width:760px; margin-bottom:2.8rem; }
.v106-section-head h2 {
  margin:.6rem 0 0;
  font-size:clamp(2.2rem,4.2vw,4rem);
  line-height:1.02;
  letter-spacing:-.055em;
}
.v106-section-head p { margin-top:1rem; color:#6c7a86; font-size:1.02rem; line-height:1.7; }

.v106-proof-grid {
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2.4rem,6vw,5.5rem); align-items:center;
}
.v106-proof-copy h2 {
  margin:.5rem 0 0; font-size:clamp(2.3rem,4.5vw,4.4rem);
  line-height:1; letter-spacing:-.058em;
}
.v106-proof-copy p { margin-top:1.1rem; color:#647380; line-height:1.72; font-size:1.02rem; }
.v106-clean-list { list-style:none; padding:0; margin:1.45rem 0 0; }
.v106-clean-list li {
  display:flex; gap:.7rem; padding:.72rem 0; border-top:1px solid #e1e8e5;
  color:#344657; font-size:.92rem;
}
.v106-clean-list li::before {
  content:""; width:7px;height:7px; flex:0 0 7px; margin-top:.48rem;
  border-radius:50%; background:var(--v106-green);
}

.v106-path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.v106-path-card {
  display:flex; flex-direction:column; min-height:245px;
  padding:1.45rem; border:1px solid #dce5e1; border-radius:19px;
  background:#fff; color:inherit; text-decoration:none;
  box-shadow:0 4px 14px rgba(7,17,28,.025);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.v106-path-card:hover {
  transform:translateY(-3px); border-color:#bed1c9;
  box-shadow:0 20px 44px rgba(7,17,28,.07);
}
.v106-path-card .tag {
  color:var(--v106-green-deep); font-size:.69rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase;
}
.v106-path-card h3 { margin:.72rem 0 0; font-size:1.32rem; line-height:1.16; letter-spacing:-.035em; }
.v106-path-card p { margin:.62rem 0 1.15rem; color:#71808d; line-height:1.57; font-size:.9rem; }
.v106-path-card .go { margin-top:auto; color:#1c2c3b; font-weight:760; font-size:.86rem; }

.v106-split-choice {
  display:grid; grid-template-columns:1fr 1fr; gap:1rem;
}
.v106-choice {
  position:relative; overflow:hidden;
  min-height:390px; padding:clamp(1.6rem,3vw,2.35rem);
  border-radius:24px;
}
.v106-choice.product {
  border:1px solid #d4e2dc;
  background:linear-gradient(145deg,#f3faf7 0%,#fff 72%);
}
.v106-choice.services {
  border:1px solid #23313e;
  background:
    radial-gradient(circle at 90% 5%, rgba(18,185,129,.24), transparent 17rem),
    #0b1621;
  color:#c8d2da;
}
.v106-choice.services h3 { color:#fff; }
.v106-choice h3 {
  margin:.6rem 0 0;
  max-width:12ch;
  font-size:clamp(2rem,3.2vw,3.2rem);
  line-height:1.03; letter-spacing:-.05em;
}
.v106-choice > p { max-width:54ch; margin-top:1rem; line-height:1.65; }
.v106-choice.product > p { color:#61717e; }
.v106-choice.services > p { color:#acbbc6; }
.v106-choice-actions { display:flex; flex-wrap:wrap; gap:.7rem 1rem; margin-top:1.5rem; }
.v106-choice.services .v106-text-link { color:#e8f1f5; }

.v106-service-mini {
  display:grid; grid-template-columns:repeat(5,1fr); gap:.55rem; margin-top:1.5rem;
}
.v106-service-mini div {
  padding:.72rem .65rem; border:1px solid rgba(255,255,255,.11);
  border-radius:12px; background:rgba(255,255,255,.045);
}
.v106-service-mini strong { display:block; color:#fff; font-size:.72rem; }
.v106-service-mini span { display:block; margin-top:.15rem; color:#93a6b4; font-size:.66rem; line-height:1.35; }

/* ---------- services bridge ---------- */
.v106-service-bridge { padding:clamp(3.8rem,7vw,6.2rem) 0; background:#0a1520; }
.v106-service-shell {
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(2.5rem,6vw,5rem); align-items:center;
}
.v106-service-copy h2 {
  margin:.6rem 0 0; max-width:13ch;
  color:#fff; font-size:clamp(2.15rem,4vw,3.7rem); line-height:1.03; letter-spacing:-.052em;
}
.v106-service-copy p { max-width:58ch; margin-top:1rem; color:#aebbc5; line-height:1.67; }
.v106-service-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.7rem 1rem; margin-top:1.45rem; }
.v106-service-bridge .v106-text-link { color:#edf4f7; }
.v106-service-domains { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.v106-service-domain {
  display:flex; gap:.78rem; align-items:flex-start;
  padding:1rem; border:1px solid rgba(255,255,255,.1); border-radius:14px;
  background:rgba(255,255,255,.035);
}
.v106-service-domain > span {
  display:grid; place-items:center; flex:0 0 42px; width:42px;height:42px;
  border-radius:11px; background:rgba(18,185,129,.12); color:#5fe2b6;
  font-size:.66rem; font-weight:900; letter-spacing:.04em;
}
.v106-service-domain strong { display:block; color:#f1f6f8; font-size:.84rem; }
.v106-service-domain small { display:block; margin-top:.3rem; color:#91a3b1; line-height:1.45; font-size:.72rem; }
.v106-service-domain.is-focus {
  border-color:rgba(95,226,182,.42); background:rgba(18,185,129,.075);
}
.v106-service-bridge-compact .v106-service-domain small { display:none; }

/* ---------- acquisition pages ---------- */
.v106-intent-hero {
  position:relative; overflow:hidden;
  padding:clamp(3.4rem,6.5vw,5.9rem) 0 clamp(3rem,5vw,4.6rem);
  background:
    radial-gradient(circle at 86% 0%, rgba(18,185,129,.12), transparent 25rem),
    linear-gradient(180deg,#f8faf8 0%,#fff 100%);
  border-bottom:1px solid #e2e8e6;
}
.v106-intent-grid {
  display:grid; grid-template-columns:minmax(0,1.06fr) minmax(330px,.74fr);
  gap:clamp(2.6rem,6vw,5.5rem); align-items:center;
}
.v106-intent-hero h1 {
  margin:.65rem 0 0; max-width:13ch;
  font-size:clamp(2.8rem,5.25vw,5rem);
  line-height:.98; letter-spacing:-.058em;
}
.v106-intent-hero .lede { max-width:62ch; }
.v106-answer-panel {
  border:1px solid #d8e2de; border-radius:20px; background:#fff;
  padding:1.3rem; box-shadow:0 20px 55px rgba(7,17,28,.075);
}
.v106-answer-panel h2 { margin:.15rem 0 .75rem; font-size:1.08rem; }
.v106-answer-row {
  display:grid; grid-template-columns:88px 1fr; gap:.8rem;
  padding:.8rem 0; border-top:1px solid #e5ebe9;
}
.v106-answer-row strong {
  color:#71808d; font-size:.67rem; font-weight:850; letter-spacing:.055em; text-transform:uppercase;
}
.v106-answer-row span { color:#344657; font-size:.86rem; line-height:1.48; }

.v106-editorial {
  display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:clamp(2.3rem,6vw,5rem); align-items:start;
}
.v106-editorial h2 {
  margin:.55rem 0 0; font-size:clamp(2.15rem,4vw,3.65rem); line-height:1.03; letter-spacing:-.052em;
}
.v106-editorial > div:first-child > p:last-child { color:#6a7985; line-height:1.67; }
.v106-editorial-list { display:grid; grid-template-columns:1fr 1fr; gap:.7rem; }
.v106-editorial-item {
  padding:1.05rem 0; border-top:2px solid #dde6e2;
}
.v106-editorial-item h3 { margin:0; font-size:1rem; letter-spacing:-.02em; }
.v106-editorial-item p { margin:.42rem 0 0; color:#71808d; font-size:.87rem; line-height:1.55; }

.v106-mobile-cta { display:none; }

/* Beautify legacy public pages too */
.hero .display, .hero h1 {
  font-family:var(--v106-display);
  letter-spacing:-.052em !important;
  line-height:1.01;
}
.hero { background:linear-gradient(180deg,#fafcfa,#fff); }
.card { border-radius:16px !important; box-shadow:none; }
.section-subtle { background:#f7f9f8 !important; }

@media (max-width: 1020px) {
  .v106-hero-grid,.v106-proof-grid,.v106-service-shell,.v106-intent-grid,.v106-editorial { grid-template-columns:1fr; }
  .v106-starter { max-width:690px; }
  .v106-path-grid { grid-template-columns:1fr 1fr; }
  .v106-flow-grid { grid-template-columns:1fr 1fr; }
  .v106-flow-item:nth-child(3) { border-left:0; border-top:1px solid #e5ebe9; }
  .v106-flow-item:nth-child(4) { border-top:1px solid #e5ebe9; }
  .v106-service-mini { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 760px) {
  .shell { width:min(100% - 28px,1180px); }
  .v106-hero { padding-top:2.65rem; }
  .v106-hero h1 { max-width:10.8ch; font-size:clamp(2.75rem,13.5vw,4rem); }
  .v106-hero-lede { font-size:1rem; }
  .v106-hero-actions { flex-direction:column; align-items:stretch; }
  .v106-hero-actions .button { width:100%; justify-content:center; }
  .v106-hero-actions .v106-text-link { justify-content:center; }
  .v106-audience { gap:.4rem; }
  .v106-starter { border-radius:18px; padding:1.08rem; }
  .v106-mini-output { grid-template-columns:1fr; }
  .v106-flow-grid,.v106-path-grid,.v106-split-choice,.v106-service-domains,.v106-editorial-list { grid-template-columns:1fr; }
  .v106-flow-item + .v106-flow-item { border-left:0; border-top:1px solid #e5ebe9; }
  .v106-choice { min-height:0; }
  .v106-service-mini { grid-template-columns:1fr 1fr; }
  .v106-service-copy h2 { max-width:none; }
  .v106-intent-hero h1 { font-size:clamp(2.55rem,12vw,3.75rem); }
  .v106-answer-row { grid-template-columns:74px 1fr; }
  .v106-mobile-cta {
    display:block; position:fixed; z-index:80; left:10px; right:10px;
    bottom:max(10px,env(safe-area-inset-bottom));
    pointer-events:none;
  }
  .v106-mobile-cta .button {
    width:100%; min-height:48px; justify-content:center;
    pointer-events:auto; border-radius:13px !important;
    box-shadow:0 14px 36px rgba(7,17,28,.24);
  }
  body { padding-bottom:72px; }
}

@media (max-width: 420px) {
  .v106-audience { display:grid; grid-template-columns:1fr 1fr; }
  .v106-audience span { justify-content:center; text-align:center; }
  .v106-service-mini { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  .button,.v106-path-card { transition:none !important; }
}
