
/* ==========================================================================
   NOUSTIQ V10.5. HUMAN CLARITY + PRODUCT-LED UX
   Final public-site layer. No external fonts, no images required for layout.
   ========================================================================== */

:root {
  --v105-max: 1180px;
  --v105-hero-bg: #f7faf9;
  --v105-warm: #fbfcfd;
  --v105-soft-green: #eaf8f2;
  --v105-soft-blue: #eef5ff;
  --v105-line: #dfe8e5;
  --v105-ink: #07111f;
  --v105-copy: #304154;
}

.site-header {
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.header-inner { min-height: 68px; }
.primary-nav { gap: .15rem; }
.primary-nav a {
  padding: .55rem .68rem;
  border-radius: .6rem;
  font-size: .9rem;
  font-weight: 620;
}
.primary-nav a:hover,
.primary-nav a[aria-current="page"] { background: var(--nq-surface-subtle); }

.v105-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(3.2rem, 7vw, 6.4rem) 0 clamp(2.7rem, 5vw, 4.4rem);
  background:
    radial-gradient(circle at 88% 12%, rgba(24,201,139,.13), transparent 34rem),
    radial-gradient(circle at 18% -8%, rgba(27,111,224,.07), transparent 28rem),
    var(--v105-hero-bg);
  border-bottom: 1px solid var(--v105-line);
}
.v105-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.06fr) minmax(340px,.84fr);
  gap: clamp(2.6rem, 6vw, 5.8rem);
  align-items: center;
}
.v105-hero-copy { max-width: 680px; }
.v105-kicker {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: 1.15rem;
  color: var(--nq-brand-accent-deep);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.v105-kicker::before {
  content: "";
  width: 7px; height: 7px; border-radius: 99px;
  background: var(--nq-brand-accent);
  box-shadow: 0 0 0 5px rgba(24,201,139,.12);
}
.v105-hero h1 {
  max-width: 12ch;
  margin: 0;
  color: var(--v105-ink);
  font-size: clamp(2.8rem, 5.7vw, 5.45rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.v105-hero .v105-lede {
  max-width: 61ch;
  margin-top: 1.5rem;
  color: var(--v105-copy);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  line-height: 1.62;
}
.v105-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem 1rem;
  margin-top: 1.8rem;
}
.v105-quiet-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--nq-text-strong);
  font-weight: 720;
  text-decoration: none;
}
.v105-quiet-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.v105-trustline {
  display: flex; flex-wrap: wrap; gap: .55rem 1rem;
  margin-top: 1.25rem;
  color: var(--nq-text-muted);
  font-size: .82rem;
}
.v105-trustline span { display: inline-flex; align-items:center; gap:.4rem; }
.v105-trustline span::before {
  content:""; width:5px; height:5px; border-radius:50%; background:var(--nq-brand-accent-deep);
}

.v105-starter {
  position: relative;
  border: 1px solid #d6e2de;
  border-radius: 22px;
  background: rgba(255,255,255,.95);
  box-shadow: 0 28px 70px rgba(7,17,31,.12), 0 4px 12px rgba(7,17,31,.05);
  padding: clamp(1.25rem, 2.4vw, 1.8rem);
}
.v105-starter::before {
  content:"";
  position:absolute;
  left:24px; right:24px; top:-1px;
  height:3px; border-radius:0 0 10px 10px;
  background: linear-gradient(90deg, var(--nq-brand-accent), #3d87ea);
}
.v105-starter-top {
  display:flex; align-items:flex-start; justify-content:space-between; gap:1rem;
  padding-bottom:1rem; margin-bottom:1.05rem; border-bottom:1px solid var(--nq-rule);
}
.v105-starter-top h2 { margin:0; font-size:1.15rem; letter-spacing:-.02em; }
.v105-mini-badge {
  display:inline-flex; align-items:center; min-height:26px; padding:.2rem .55rem;
  border-radius:999px; background:var(--v105-soft-green); color:var(--nq-brand-accent-deep);
  font-size:.7rem; font-weight:800; white-space:nowrap;
}
.v105-field { margin-top: .9rem; }
.v105-field label {
  display:block; margin-bottom:.42rem; color:var(--nq-text-strong);
  font-size:.78rem; font-weight:750;
}
.v105-input, .v105-select {
  width:100%; min-height:48px; padding:.75rem .85rem;
  border:1px solid var(--nq-border-strong); border-radius:10px;
  background:#fff; color:var(--nq-text); font:inherit;
}
.v105-input:focus, .v105-select:focus {
  outline:3px solid rgba(27,111,224,.15); border-color:var(--nq-focus);
}
.v105-starter .button { width:100%; margin-top:1rem; justify-content:center; }
.v105-starter-note {
  margin-top:.85rem; color:var(--nq-text-muted); font-size:.76rem; line-height:1.5;
}
.v105-research-preview {
  display:grid; grid-template-columns:1fr 1fr; gap:.55rem;
  margin-top:1.1rem; padding-top:1rem; border-top:1px solid var(--nq-rule);
}
.v105-research-preview div {
  min-width:0; padding:.65rem .7rem; border-radius:10px; background:var(--nq-surface-subtle);
}
.v105-research-preview strong { display:block; font-size:.76rem; color:var(--nq-text-strong); }
.v105-research-preview span { display:block; margin-top:.18rem; color:var(--nq-text-muted); font-size:.72rem; line-height:1.4; }

.v105-flow {
  background:#fff;
  border-bottom:1px solid var(--nq-rule);
}
.v105-flow-inner {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:0; min-height:92px;
}
.v105-flow-step {
  position:relative; display:flex; align-items:center; gap:.8rem;
  padding:1.1rem 1.2rem;
}
.v105-flow-step + .v105-flow-step { border-left:1px solid var(--nq-rule); }
.v105-flow-step b {
  display:grid; place-items:center; flex:0 0 28px; width:28px; height:28px;
  border-radius:8px; background:var(--nq-surface-subtle); color:var(--nq-brand-accent-deep);
  font-size:.72rem;
}
.v105-flow-step strong { display:block; color:var(--nq-text-strong); font-size:.9rem; }
.v105-flow-step span { display:block; margin-top:.14rem; color:var(--nq-text-muted); font-size:.76rem; }

.v105-section { padding: clamp(3.5rem, 7vw, 6.5rem) 0; }
.v105-section-muted { background: var(--v105-warm); }
.v105-section-head { max-width: 760px; margin-bottom: clamp(2rem,4vw,3.2rem); }
.v105-section-head h2 {
  margin:.55rem 0 0; font-size:clamp(2rem,3.5vw,3.2rem);
  line-height:1.08; letter-spacing:-.045em; color:var(--nq-text-strong);
}
.v105-section-head p { margin-top:1rem; color:var(--nq-text-muted); font-size:1.02rem; line-height:1.68; }

.v105-difference {
  display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(2.3rem,6vw,5rem); align-items:center;
}
.v105-difference-copy h2 {
  font-size:clamp(2.1rem,4vw,3.65rem); line-height:1.03; letter-spacing:-.05em;
}
.v105-difference-copy p { margin-top:1.1rem; color:var(--nq-text-muted); font-size:1.04rem; line-height:1.7; }
.v105-simple-list { list-style:none; padding:0; margin:1.5rem 0 0; }
.v105-simple-list li {
  display:flex; gap:.75rem; padding:.7rem 0; border-top:1px solid var(--nq-rule);
  color:var(--nq-text);
}
.v105-simple-list li::before {
  content:""; flex:0 0 8px; width:8px; height:8px; margin-top:.5rem;
  border-radius:99px; background:var(--nq-brand-accent);
}

.v105-paths {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
}
.v105-path {
  display:flex; flex-direction:column; min-height:250px;
  padding:1.4rem; border:1px solid var(--nq-border); border-radius:18px;
  background:#fff; text-decoration:none; color:inherit;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.v105-path:hover {
  transform:translateY(-2px); border-color:#b8c8c2;
  box-shadow:0 18px 38px rgba(7,17,31,.08);
}
.v105-path .v105-path-tag {
  color:var(--nq-brand-accent-deep); font-size:.72rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
}
.v105-path h3 { margin:.8rem 0 0; font-size:1.34rem; line-height:1.18; }
.v105-path p { margin:.65rem 0 1.2rem; color:var(--nq-text-muted); line-height:1.6; }
.v105-path .v105-path-link { margin-top:auto; font-weight:750; color:var(--nq-text-strong); }

.v105-proofbar {
  display:grid; grid-template-columns:1.2fr repeat(3,1fr);
  border:1px solid var(--nq-border); border-radius:18px; overflow:hidden; background:#fff;
}
.v105-proofbar > div { padding:1.15rem 1.2rem; }
.v105-proofbar > div + div { border-left:1px solid var(--nq-border); }
.v105-proofbar strong { display:block; font-size:.86rem; color:var(--nq-text-strong); }
.v105-proofbar span { display:block; margin-top:.28rem; color:var(--nq-text-muted); font-size:.78rem; line-height:1.48; }

.v105-intent-hero {
  padding:clamp(3rem,6vw,5.2rem) 0 2.6rem;
  background:linear-gradient(180deg,#f8fbfa 0%,#fff 100%);
  border-bottom:1px solid var(--nq-rule);
}
.v105-intent-grid {
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  gap:clamp(2rem,6vw,5rem); align-items:center;
}
.v105-intent-hero h1 {
  max-width:14ch; font-size:clamp(2.55rem,5vw,4.6rem); line-height:1;
  letter-spacing:-.052em; color:var(--nq-text-strong);
}
.v105-intent-hero .lede { max-width:62ch; }
.v105-answer-panel {
  border:1px solid var(--nq-border); border-radius:18px; background:#fff;
  padding:1.25rem; box-shadow:var(--nq-shadow-md);
}
.v105-answer-panel h2 { font-size:1rem; margin:0 0 .75rem; }
.v105-answer-row { display:grid; grid-template-columns:95px 1fr; gap:.8rem; padding:.7rem 0; border-top:1px solid var(--nq-rule); }
.v105-answer-row strong { font-size:.72rem; color:var(--nq-text-muted); text-transform:uppercase; letter-spacing:.05em; }
.v105-answer-row span { font-size:.88rem; color:var(--nq-text); line-height:1.48; }

.v105-editorial-grid {
  display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(2rem,5vw,4rem); align-items:start;
}
.v105-editorial-cards { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.v105-editorial-card {
  padding:1.1rem; border-top:2px solid var(--nq-border); background:transparent;
}
.v105-editorial-card h3 { font-size:1.02rem; }
.v105-editorial-card p { margin-top:.45rem; color:var(--nq-text-muted); font-size:.9rem; line-height:1.55; }

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

@media (max-width: 980px) {
  .v105-hero-grid, .v105-intent-grid, .v105-difference, .v105-editorial-grid { grid-template-columns:1fr; }
  .v105-hero-copy { max-width:760px; }
  .v105-starter { max-width:680px; }
  .v105-paths { grid-template-columns:1fr 1fr; }
  .v105-flow-inner { grid-template-columns:1fr 1fr; }
  .v105-flow-step:nth-child(3) { border-left:0; border-top:1px solid var(--nq-rule); }
  .v105-flow-step:nth-child(4) { border-top:1px solid var(--nq-rule); }
  .v105-proofbar { grid-template-columns:1fr 1fr; }
  .v105-proofbar > div:nth-child(3) { border-left:0; border-top:1px solid var(--nq-border); }
  .v105-proofbar > div:nth-child(4) { border-top:1px solid var(--nq-border); }
}

@media (max-width: 680px) {
  .v105-hero { padding-top:2.35rem; }
  .v105-hero h1 { font-size:clamp(2.55rem,13vw,3.65rem); max-width:10ch; }
  .v105-hero .v105-lede { font-size:1rem; }
  .v105-actions { align-items:stretch; flex-direction:column; }
  .v105-actions .button { width:100%; justify-content:center; }
  .v105-quiet-link { justify-content:center; }
  .v105-trustline { display:grid; grid-template-columns:1fr 1fr; gap:.45rem .8rem; }
  .v105-starter { border-radius:16px; padding:1.1rem; }
  .v105-research-preview { grid-template-columns:1fr; }
  .v105-flow-inner, .v105-paths, .v105-proofbar, .v105-editorial-cards { grid-template-columns:1fr; }
  .v105-flow-step + .v105-flow-step { border-left:0; border-top:1px solid var(--nq-rule); }
  .v105-proofbar > div + div { border-left:0; border-top:1px solid var(--nq-border); }
  .v105-path { min-height:0; }
  .v105-intent-hero h1 { font-size:clamp(2.45rem,12vw,3.55rem); }
  .v105-answer-row { grid-template-columns:78px 1fr; }
  .v105-mobile-cta {
    display:block; position:fixed; left:0; right:0; bottom:0; z-index:70;
    padding:.65rem max(.8rem, env(safe-area-inset-right)) calc(.65rem + env(safe-area-inset-bottom)) max(.8rem, env(safe-area-inset-left));
    background:rgba(255,255,255,.96); border-top:1px solid var(--nq-border);
    box-shadow:0 -12px 26px rgba(7,17,31,.08);
  }
  .v105-mobile-cta .button { width:100%; justify-content:center; }
  body { padding-bottom:74px; }
}

@media (prefers-reduced-motion: reduce) {
  .v105-path { transition:none; }
}
