/* ============================================================================
   dssd_omni — public site (dssd-omni.ru)
   Design system: dssd_omni v1 (warm paper · teal · navy ink)
   Source of truth: dssd-omni-design-system / ui_kits/dia_web
   Voice: спокойно · технично · доказуемо
   No JS. CSS animations only. Respects prefers-reduced-motion.
   ========================================================================== */

:root {
  /* ── palette (base) ── */
  --teal:        #1a9b8c;
  --teal-deep:   #157a6e;
  --teal-tint:   #e3efec;
  --teal-tint-2: #eff5f2;

  --bg:          #f7f4ef;
  --bg-card:     #fbf9f5;

  --ink:         #0f1e2e;
  --ink-2:       #38506a;
  --ink-3:       #6b7f93;

  --line:        #e6ddd0;
  --line-2:      #d9cfc0;

  --warn:        #c7693a;
  --star:        #f2b339;

  /* dark surfaces */
  --ink-deep:    #11202f;
  --ink-soft:    #12281f;
  --on-ink:      #f7f4ef;
  --on-ink-2:    #cbd8d5;
  --on-ink-3:    #b8cfcb;
  --on-ink-4:    #8da8a3;
  --teal-glow:   #7ce0ce;

  /* type families */
  --font-serif: 'Newsreader', Georgia, 'Times New Roman', serif;
  --font-sans:  'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:  'JetBrains Mono', ui-monospace, SFMono-Regular, monospace;

  /* spacing (4-based) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-6:24px; --s-8:32px; --s-12:48px; --s-18:72px;

  /* radii */
  --r-s:8px; --r-m:14px; --r-l:20px; --r-xl:24px; --r-pill:999px;

  /* shadows — only on buttons + dark surfaces */
  --shadow-btn:       0 1px 0 rgba(255,255,255,0.15) inset, 0 10px 26px -12px rgba(15,30,46,0.45);
  --shadow-btn-hover: 0 1px 0 rgba(255,255,255,0.15) inset, 0 14px 32px -12px rgba(15,30,46,0.55);

  /* layout */
  --content-max:   1120px;
  --content-max-s: 480px;
  --pad-x:   24px;
  --pad-x-l: 48px;
}

/* ── reset / base ── */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
body{
  font-family:var(--font-sans);font-size:16px;line-height:1.6;
  font-feature-settings:"ss01","cv11";overflow-x:hidden;
}
img,svg{max-width:100%;display:block}

h1,h2,h3{margin:0;text-wrap:balance}
h1 em,h2 em,h3 em,.serif em,.em-teal{font-style:italic;color:var(--teal-deep);font-weight:400}
p{margin:0;color:var(--ink-2);text-wrap:pretty}

.serif{font-family:var(--font-serif);font-weight:400;letter-spacing:-0.01em}
.mono{font-family:var(--font-mono)}
.kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3)}
.lede{font-size:17px;line-height:1.55;color:var(--ink-2)}
@media (min-width:760px){.lede{font-size:19px}}

a{color:var(--ink);text-decoration:none}
a.txtlink{border-bottom:1px dotted var(--line-2);padding-bottom:1px;transition:border-color .15s ease}
a.txtlink:hover{border-color:var(--teal)}

/* keyboard focus — visible everywhere */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.product:focus-visible{
  outline:2px solid var(--teal);outline-offset:3px;border-radius:4px;
}

/* skip link */
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--on-ink);padding:10px 16px;border-radius:0 0 10px 0;z-index:50}
.skip:focus{left:0}

/* ── grain overlay (keeps paper from feeling flat) ── */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.04 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  opacity:0.5;mix-blend-mode:multiply;
}
header,main,footer{position:relative;z-index:2}

/* ── layout ── */
.wrap{max-width:var(--content-max-s);margin:0 auto;padding:0 var(--pad-x);position:relative}
@media (min-width:760px){.wrap{max-width:var(--content-max);padding:0 var(--pad-x-l)}}
section{padding:72px 0;position:relative}
.section-tint{background:var(--teal-tint-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* ============================================================================
   NAV (shared)
   ========================================================================== */
.site-nav{padding:18px 0}
.site-nav .row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:-0.01em;color:var(--ink)}
.logo-dot{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 35% 35%, #2ec1af, #147669 70%);position:relative;box-shadow:0 0 0 4px rgba(26,155,140,0.08);flex-shrink:0}
.logo-dot::after{content:"";position:absolute;inset:6px;border-radius:50%;border:1px solid rgba(255,255,255,0.5)}
.brand .wordmark{font-family:var(--font-sans);font-weight:600}
.brand .sub{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);margin-left:2px}
.nav-links{display:flex;align-items:center;gap:4px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.nav-links a{font-size:13px;color:var(--ink-2);padding:8px 12px;border-radius:var(--r-pill);transition:color .15s ease,background .15s ease;border-bottom:2px solid transparent}
.nav-links a:hover{color:var(--ink);background:rgba(255,255,255,0.55)}
.nav-links a[aria-current="page"]{color:var(--teal-deep);border-bottom-color:var(--teal)}

/* ============================================================================
   BUTTONS
   ========================================================================== */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 22px;border-radius:var(--r-m);font-family:var(--font-sans);font-weight:600;font-size:15px;border:none;cursor:pointer;text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;line-height:1}
.btn-primary{background:var(--ink);color:var(--on-ink);box-shadow:var(--shadow-btn)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-btn-hover)}
.btn-primary .arr{transition:transform .2s ease}
.btn-primary:hover .arr{transform:translateX(3px)}
.btn-ghost{background:transparent;color:var(--ink-2);padding:12px 0;font-weight:500;font-size:14px}
.btn-ghost u{text-decoration:none;border-bottom:1px solid var(--line-2);padding-bottom:2px;transition:border-color .15s ease}
.btn-ghost:hover u{border-color:var(--teal)}
.btn-outline{background:transparent;border:1px solid var(--line-2);color:var(--ink);font-weight:600}
.btn-outline:hover{border-color:var(--teal);color:var(--teal-deep)}
.btn-on-ink{background:var(--teal);color:#06231f}
.btn-on-ink:hover{transform:translateY(-1px);box-shadow:0 12px 30px -14px rgba(26,155,140,0.6)}
.cta-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-top:28px}
@media (min-width:640px){.cta-row{flex-direction:row;align-items:center;gap:16px}}

/* ============================================================================
   SECTION HEADER (numbered mono label + serif title)
   ========================================================================== */
.sec-label{display:flex;align-items:center;gap:14px;margin-bottom:28px;font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:0.16em;text-transform:uppercase;flex-wrap:wrap}
.sec-label .num{color:var(--teal-deep)}
.sec-label .line{flex:1;min-width:24px;height:1px;background:var(--line)}
.sec-title{font-family:var(--font-serif);font-weight:400;font-size:32px;line-height:1.12;letter-spacing:-0.015em;color:var(--ink)}
@media (min-width:760px){.sec-title{font-size:48px}}
.sec-lede{margin:12px 0 0;color:var(--ink-2);font-size:16px;max-width:54ch;line-height:1.6}
@media (min-width:760px){.sec-lede{font-size:18px}}

/* ============================================================================
   HERO
   ========================================================================== */
.hero{padding:24px 0 56px;position:relative}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:28px}
.hero-eyebrow .bar{width:22px;height:1px;background:var(--ink-3);opacity:.5}
.hero h1{font-family:var(--font-serif);font-weight:400;font-size:44px;line-height:1.06;letter-spacing:-0.02em;color:var(--ink)}
@media (min-width:760px){.hero h1{font-size:72px;line-height:1.02}}
.hero .hero-deck{margin:18px 0 0;font-family:var(--font-serif);font-style:italic;font-size:24px;line-height:1.2;color:var(--teal-deep);letter-spacing:-0.01em}
@media (min-width:760px){.hero .hero-deck{font-size:30px}}
.hero-sub{margin:22px 0 0;font-size:17px;line-height:1.55;color:var(--ink-2);max-width:42ch}
@media (min-width:760px){.hero-sub{font-size:19px}}
.hero-sub b{color:var(--ink);font-weight:600}
.hero-grid{display:block}
@media (min-width:880px){
  .hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:64px;align-items:center}
}

/* hero visual — breathing rings (functional ornament, not stock) */
.hero-visual{margin-top:48px;position:relative;height:320px;border-radius:var(--r-xl);background:radial-gradient(120% 90% at 50% 110%, rgba(26,155,140,0.10), transparent 60%),linear-gradient(180deg, var(--teal-tint-2), var(--bg-card));border:1px solid var(--line);overflow:hidden}
@media (min-width:880px){.hero-visual{margin-top:0;height:460px}}
.breath{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:220px;height:220px}
@media (min-width:880px){.breath{width:340px;height:340px}}
.breath-ring{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(26,155,140,0.35);animation:breathe 16s ease-in-out infinite}
.breath-ring.r2{inset:18px;border-color:rgba(26,155,140,0.28);animation-delay:-0.5s}
.breath-ring.r3{inset:40px;border-color:rgba(26,155,140,0.22);animation-delay:-1s}
.breath-ring.r4{inset:70px;border-color:rgba(26,155,140,0.6);background:radial-gradient(circle at 40% 40%, rgba(26,155,140,0.25), rgba(26,155,140,0.06));animation-delay:-1.5s}
@keyframes breathe{0%,100%{transform:scale(0.88)}25%{transform:scale(1.05)}50%{transform:scale(1.05)}75%{transform:scale(0.88)}}
.breath-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-serif);font-style:italic;font-size:20px;color:var(--teal-deep);text-align:center;letter-spacing:-0.01em}
@media (min-width:880px){.breath-label{font-size:26px}}
.breath-count{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:11px;color:var(--ink-3);letter-spacing:0.1em;text-transform:uppercase;display:flex;gap:10px}
.breath-count span{padding:6px 10px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(255,255,255,0.6)}
.breath-count span.active{background:var(--teal);color:#fff;border-color:var(--teal)}

/* hero visual — ecosystem constellation (home) */
.constellation{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.constellation .core{width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 35%, #2ec1af, #147669 70%);box-shadow:0 0 0 6px rgba(26,155,140,0.08);position:relative;z-index:2}
.constellation .core::after{content:"";position:absolute;inset:14px;border-radius:50%;border:1px solid rgba(255,255,255,0.45)}
.orbit{position:absolute;border:1px dashed rgba(26,155,140,0.22);border-radius:50%}
.orbit.o1{width:180px;height:180px}
.orbit.o2{width:300px;height:300px}
.orbit.o3{width:430px;height:430px}
.node{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--bg-card);border:1.5px solid var(--teal);box-shadow:0 0 0 4px rgba(26,155,140,0.08)}
.node.warn{border-color:var(--warn)}
.spin{animation:spin 70s linear infinite}
.spin.rev{animation-direction:reverse;animation-duration:95s}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}

/* ============================================================================
   STATS BAND
   ========================================================================== */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:8px}
@media (min-width:760px){.stats{grid-template-columns:repeat(5,1fr)}}
.stat{background:var(--bg);padding:24px 22px;text-align:left}
.stat .n{font-family:var(--font-serif);font-size:38px;line-height:1;color:var(--ink);letter-spacing:-0.02em}
.stat .n em{font-style:italic;color:var(--teal-deep)}
.stat .l{margin-top:8px;font-size:12px;color:var(--ink-2);line-height:1.4}
@media (min-width:760px){.stat .n{font-size:46px}}

/* ============================================================================
   DIRECTIONS GRID (4 strategic directions)
   ========================================================================== */
.dir-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px}
@media (min-width:760px){.dir-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
.dir{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-l);padding:28px}
.dir .num{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--teal-deep);display:flex;align-items:center;gap:8px;margin-bottom:16px}
.dir .num::before{content:"";width:18px;height:1px;background:var(--teal-deep);opacity:.5}
.dir h3{font-family:var(--font-serif);font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-0.01em;color:var(--ink);margin-bottom:8px}
.dir p{font-size:15px;line-height:1.55;color:var(--ink-2);max-width:42ch}

/* ============================================================================
   PRODUCT GRID + CARDS (ecosystem, featured)
   ========================================================================== */
.prod-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:32px}
@media (min-width:680px){.prod-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.prod-grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.product{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-l);padding:26px;text-decoration:none;color:inherit;transition:border-color .15s ease, transform .15s ease}
a.product:hover{border-color:var(--line-2);transform:translateY(-2px)}
.product .phead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.product .pname{font-family:var(--font-serif);font-size:22px;letter-spacing:-0.01em;color:var(--ink)}
.product .pdesc{font-size:14px;line-height:1.5;color:var(--ink-2);flex:1}
.product .pmeta{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.badge{font-family:var(--font-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px;border:1px solid var(--line-2);color:var(--ink-2);background:rgba(255,255,255,0.5)}
.badge.prod{color:var(--teal-deep);border-color:rgba(26,155,140,0.3);background:var(--teal-tint)}
.badge.ready{color:var(--ink-2)}
.badge.dev{color:var(--ink-3)}
.badge.ext{color:var(--warn);border-color:rgba(199,105,58,0.35);background:rgba(199,105,58,0.06)}
.product .arrow{font-size:14px;color:var(--teal-deep);transition:transform .2s ease}
a.product:hover .arrow{transform:translateX(3px)}
.group-label{display:flex;align-items:center;gap:14px;margin:48px 0 4px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3)}
.group-label .line{flex:1;height:1px;background:var(--line)}

/* filters (visual, non-functional) */
.filters{display:flex;flex-direction:column;gap:14px;margin-top:32px;padding:22px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--bg-card)}
.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filter-row .flabel{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);min-width:96px}
.chip{font-size:13px;padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:rgba(255,255,255,0.5);color:var(--ink-2);cursor:default}
.chip.on{background:var(--teal);border-color:var(--teal);color:#fff}
.filter-count{margin-top:6px;font-family:var(--font-mono);font-size:12px;color:var(--ink-3)}

/* ============================================================================
   FEATURE CARDS (dia_web — reused on product-dia)
   ========================================================================== */
.features{display:flex;flex-direction:column;gap:16px;margin-top:40px}
@media (min-width:760px){.features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}}
.feature{position:relative;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-l);padding:28px;overflow:hidden}
@media (min-width:760px){.feature{padding:32px}}
.feature-num{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--teal-deep);margin-bottom:18px;display:flex;align-items:center;gap:8px}
.feature-num::before{content:"";width:18px;height:1px;background:var(--teal-deep);opacity:.5}
.feature h3{font-family:var(--font-serif);font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-0.01em;color:var(--ink);margin-bottom:10px}
.feature p{color:var(--ink-2);font-size:15px;line-height:1.55;max-width:42ch}
.feature-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.tag{font-family:var(--font-mono);font-size:11px;padding:5px 9px;border:1px solid var(--line-2);border-radius:6px;color:var(--ink-2);background:rgba(255,255,255,0.5);letter-spacing:0.02em}
.feature-viz{margin-top:24px;border:1px solid var(--line);border-radius:var(--r-m);background:var(--bg);padding:18px}

.sym-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.sym-list li{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--ink);padding:10px 12px;border-radius:10px;background:rgba(255,255,255,0.6);border:1px solid var(--line)}
.sym-list li .cbox{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff}
.sym-list li.on .cbox{background:var(--teal);border-color:var(--teal)}
.sym-list li.on .cbox::after{content:"";width:5px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg) translate(-1px,-1px)}
.sym-list li .t{flex:1}
.sym-list li .meta{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);letter-spacing:0.05em}
.triage-result{margin-top:12px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--teal-tint);border:1px solid rgba(26,155,140,0.25);font-size:13px;color:var(--teal-deep)}
.triage-result b{font-weight:600;color:var(--ink)}
.pulse-mini{width:8px;height:8px;border-radius:50%;background:var(--teal);flex-shrink:0;box-shadow:0 0 0 0 rgba(26,155,140,0.5);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(26,155,140,0.5)}50%{box-shadow:0 0 0 6px rgba(26,155,140,0)}}

.photo-card{display:flex;gap:14px;align-items:center}
.photo-ph{width:80px;height:80px;border-radius:12px;flex-shrink:0;background:repeating-linear-gradient(45deg, #e3d9c7 0 6px, #eae2d3 6px 12px);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;color:var(--ink-3);text-align:center;line-height:1.2}
.photo-meta{flex:1;min-width:0}
.photo-meta .dish{font-family:var(--font-serif);font-size:18px;color:var(--ink);line-height:1.2}
.photo-meta .note{font-size:12px;color:var(--ink-3);margin-top:3px}
.xe-pill{font-family:var(--font-serif);font-style:italic;font-size:22px;color:var(--teal-deep);display:flex;align-items:baseline;gap:4px;margin-top:8px}
.xe-pill .unit{font-family:var(--font-sans);font-style:normal;font-size:12px;color:var(--ink-3);font-weight:500}
.xe-bar{margin-top:12px;height:6px;border-radius:3px;background:var(--line);overflow:hidden;position:relative}
.xe-bar::after{content:"";position:absolute;left:0;top:0;bottom:0;width:72%;background:linear-gradient(90deg, var(--teal), var(--teal-deep));border-radius:3px}
.xe-legend{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--font-mono);font-size:10px;color:var(--ink-3);letter-spacing:0.05em}

.chart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.chart-head .t{font-family:var(--font-serif);font-size:16px;color:var(--ink)}
.chart-head .r{font-family:var(--font-mono);font-size:10px;color:var(--ink-3);letter-spacing:0.08em}
svg.chart{display:block;width:100%;height:110px}
.chart-legend{display:flex;gap:16px;margin-top:10px;font-size:11px;color:var(--ink-2);flex-wrap:wrap}
.chart-legend .sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}
.phq{margin-top:14px;padding:10px 12px;background:rgba(26,155,140,0.06);border-left:2px solid var(--teal);border-radius:0 8px 8px 0;font-size:12px;color:var(--ink-2)}
.phq b{color:var(--ink);font-weight:600}

/* ============================================================================
   DARK BAND (SOS / generic promise)
   ========================================================================== */
.dark-band{margin-top:48px;background:var(--ink);color:var(--on-ink);border-radius:var(--r-l);padding:32px;position:relative;overflow:hidden}
@media (min-width:760px){.dark-band{padding:48px 56px}}
.dark-band::before{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(247,244,239,0.08)}
.dark-band::after{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;border:1px solid rgba(247,244,239,0.12)}
.dark-band .k{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--on-ink-3);margin-bottom:14px}
.dark-band h3{font-family:var(--font-serif);font-weight:400;font-size:28px;line-height:1.15;letter-spacing:-0.01em;color:var(--on-ink);max-width:22ch}
@media (min-width:760px){.dark-band h3{font-size:40px}}
.dark-band p{color:var(--on-ink-2);font-size:15px;line-height:1.55;max-width:52ch;margin-top:12px}
.cmd-pill{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-family:var(--font-mono);font-size:13px;padding:10px 14px;border-radius:10px;background:rgba(26,155,140,0.18);color:var(--teal-glow);border:1px solid rgba(26,155,140,0.35)}

/* ============================================================================
   PROOF GRID
   ========================================================================== */
.proof-grid{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-top:36px}
@media (min-width:760px){.proof-grid{grid-template-columns:repeat(3,1fr)}}
.proof-cell{background:var(--bg);padding:28px}
@media (min-width:760px){.proof-cell{padding:40px 36px}}
.proof-cell .n{font-family:var(--font-serif);font-size:44px;line-height:1;color:var(--ink);letter-spacing:-0.02em}
@media (min-width:760px){.proof-cell .n{font-size:64px}}
.proof-cell .n em{font-style:italic;color:var(--teal-deep)}
.proof-cell .l{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.45}

/* ============================================================================
   PRICING
   ========================================================================== */
.pricing{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px}
@media (min-width:760px){.pricing{grid-template-columns:1fr 1fr;gap:20px}}
.plan{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-l);padding:28px}
.plan.pro{background:linear-gradient(180deg, #12281f, #0f1e2e);color:var(--on-ink);border-color:#12281f;position:relative;overflow:hidden}
.plan.pro::before{content:"";position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle, rgba(26,155,140,0.25), transparent 70%)}
.plan-kicker{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3)}
.plan.pro .plan-kicker{color:var(--teal-glow)}
.plan h3{font-family:var(--font-serif);font-weight:400;font-size:28px;letter-spacing:-0.01em;margin:10px 0 4px}
.plan .desc{font-size:14px;color:var(--ink-2);margin:0 0 22px}
.plan.pro .desc{color:var(--on-ink-3)}
.price{display:flex;align-items:baseline;gap:8px;margin-bottom:20px}
.price .amt{font-family:var(--font-serif);font-size:40px;line-height:1;letter-spacing:-0.02em}
.price .star{color:var(--star);font-size:28px;line-height:1}
.price .per{font-size:13px;color:var(--ink-3)}
.plan.pro .price .per{color:var(--on-ink-3)}
.feat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.feat-list li{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45}
.feat-list li::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--teal-tint);border:1px solid rgba(26,155,140,0.3);flex-shrink:0;margin-top:4px}
.feat-list li.check::before{background:var(--teal);border-color:var(--teal);background-image:linear-gradient(45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%),linear-gradient(-45deg, transparent 45%, #fff 45%, #fff 55%, transparent 55%)}
.plan.pro .feat-list li::before{background:rgba(124,224,206,0.15);border-color:rgba(124,224,206,0.4)}
.plan.pro .feat-list li.check::before{background:var(--teal);border-color:var(--teal)}
.plan-note{margin-top:18px;font-size:12px;color:var(--ink-3);padding-top:16px;border-top:1px dashed var(--line-2)}
.plan.pro .plan-note{color:var(--on-ink-4);border-top-color:rgba(247,244,239,0.1)}

/* ============================================================================
   FINAL CTA
   ========================================================================== */
.final-cta{text-align:center;padding:72px 0;position:relative}
.final-cta .big{font-family:var(--font-serif);font-weight:400;font-size:40px;line-height:1.08;letter-spacing:-0.02em;color:var(--ink);margin:0 auto 16px;max-width:16ch}
@media (min-width:760px){.final-cta .big{font-size:64px}}
.final-cta p{margin:0 auto 32px;max-width:46ch;color:var(--ink-2)}
.final-cta .btn{margin:0 auto}
.trust{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:28px}
.trust-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--ink-2);padding:8px 12px;border:1px solid var(--line);border-radius:var(--r-pill);background:rgba(255,255,255,0.5)}
.trust-badge .d{width:5px;height:5px;border-radius:50%;background:var(--teal)}

/* ============================================================================
   ABOUT — four words + philosophy
   ========================================================================== */
.words{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px}
@media (min-width:760px){.words{grid-template-columns:repeat(2,1fr);gap:20px}}
.word{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-l);padding:30px}
.word .w{font-family:var(--font-serif);font-size:34px;letter-spacing:-0.02em;color:var(--ink)}
.word .w em{font-style:italic;color:var(--teal-deep)}
.word p{margin-top:10px;font-size:15px;line-height:1.55;color:var(--ink-2)}
.stack{display:flex;flex-direction:column;gap:16px;margin-top:36px}
.row-item{display:flex;gap:16px;align-items:flex-start;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-m);padding:22px}
.row-item .idx{font-family:var(--font-serif);font-style:italic;font-size:18px;color:var(--teal-deep);flex-shrink:0;min-width:30px}
.row-item h4{font-family:var(--font-sans);font-weight:600;font-size:16px;color:var(--ink);margin:0 0 4px}
.row-item p{font-size:14px;line-height:1.5;color:var(--ink-2)}

/* ============================================================================
   FOUNDER — timeline, pull-quote, principles
   ========================================================================== */
.timeline{margin-top:36px;border-left:1px solid var(--line-2);padding-left:28px;display:flex;flex-direction:column;gap:26px}
.tl-item{position:relative}
.tl-item::before{content:"";position:absolute;left:-34px;top:5px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:1.5px solid var(--teal)}
.tl-item .when{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal-deep)}
.tl-item p{margin-top:6px;font-size:15px;line-height:1.5;color:var(--ink-2)}
.pull-quote{margin-top:48px;background:var(--teal-tint-2);border:1px solid var(--line);border-radius:var(--r-l);padding:36px 32px}
@media (min-width:760px){.pull-quote{padding:48px 56px}}
.pull-quote .q{font-family:var(--font-serif);font-size:24px;line-height:1.35;letter-spacing:-0.01em;color:var(--ink);text-wrap:balance}
@media (min-width:760px){.pull-quote .q{font-size:30px}}
.pull-quote .q em{font-style:italic;color:var(--teal-deep)}
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:36px}
@media (min-width:760px){.principles{grid-template-columns:repeat(4,1fr)}}
.principle{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-m);padding:22px}
.principle .p1{font-family:var(--font-serif);font-size:20px;color:var(--ink);letter-spacing:-0.01em}
.principle .p1 em{font-style:italic;color:var(--teal-deep)}
.principle .p2{font-size:12px;color:var(--ink-3);margin-top:6px}

/* ============================================================================
   BREADCRUMB
   ========================================================================== */
.breadcrumb{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-3);padding-top:8px}
.breadcrumb a{color:var(--ink-3)}
.breadcrumb a:hover{color:var(--teal-deep)}
.breadcrumb .sep{margin:0 8px;opacity:.6}

/* ============================================================================
   CASE STUDY — BMPW block (own dark/silver chrome, inside site frame)
   ========================================================================== */
.case-bmpw{margin-top:40px;background:#15171c;color:#e8e9ec;border-radius:var(--r-l);padding:32px;position:relative;overflow:hidden;border:1px solid #23262d}
@media (min-width:760px){.case-bmpw{padding:48px}}
.case-bmpw .ck{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#9aa3b2;margin-bottom:14px}
.case-bmpw h3{font-family:var(--font-serif);font-weight:400;font-size:30px;letter-spacing:-0.01em;color:#fff;margin-bottom:8px}
@media (min-width:760px){.case-bmpw h3{font-size:40px}}
.case-bmpw .csub{color:#aeb6c2;font-size:15px;line-height:1.55;max-width:60ch}
.ba-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:28px}
@media (min-width:760px){.ba-grid{grid-template-columns:1fr 1fr}}
.ba-box{border:1px solid #2a2e36;border-radius:var(--r-m);padding:20px;background:rgba(255,255,255,0.02)}
.ba-box .t{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:8px}
.ba-box.before .t{color:#c98b6a}
.ba-box.after .t{color:#8fd3c6}
.ba-box p{color:#c3cad4;font-size:14px;line-height:1.55}
.case-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#2a2e36;border:1px solid #2a2e36;border-radius:var(--r-m);overflow:hidden;margin-top:24px}
@media (min-width:760px){.case-metrics{grid-template-columns:repeat(3,1fr)}}
.cm{background:#15171c;padding:20px}
.cm .n{font-family:var(--font-serif);font-size:30px;color:#fff;letter-spacing:-0.01em}
.cm .l{font-size:12px;color:#9aa3b2;margin-top:6px;line-height:1.4}
.case-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.case-stack .s{font-family:var(--font-mono);font-size:11px;padding:6px 10px;border:1px solid #2f343d;border-radius:6px;color:#aeb6c2}

/* ============================================================================
   CONTACT — paths, form
   ========================================================================== */
.paths{display:grid;grid-template-columns:1fr;gap:16px;margin-top:40px}
@media (min-width:880px){.paths{grid-template-columns:repeat(3,1fr);gap:20px}}
.path{display:flex;flex-direction:column;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-l);padding:28px}
.path .pk{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:12px}
.path h3{font-family:var(--font-serif);font-weight:400;font-size:24px;letter-spacing:-0.01em;color:var(--ink);margin-bottom:10px}
.path p{font-size:14px;line-height:1.55;color:var(--ink-2)}
.path ul{margin:14px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.path ul li{position:relative;padding-left:18px;font-size:13px;color:var(--ink-2);line-height:1.45}
.path ul li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.path .path-cta{margin-top:auto;padding-top:20px;display:flex;flex-wrap:wrap;gap:10px}

.form{margin-top:40px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--r-l);padding:28px}
@media (min-width:760px){.form{padding:36px}}
.form .grid2{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:640px){.form .grid2{grid-template-columns:1fr 1fr}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-3)}
.field input,.field select,.field textarea{
  font-family:var(--font-sans);font-size:15px;color:var(--ink);background:var(--bg);
  border:1px solid var(--line-2);border-radius:var(--r-m);padding:12px 14px;width:100%;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--teal);outline-offset:1px;border-color:var(--teal)}
.field textarea{min-height:120px;resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--ink-2);margin:6px 0 18px}
.consent input{margin-top:3px;accent-color:var(--teal)}
.form-note{margin-top:16px;font-size:12px;color:var(--ink-3);padding-top:14px;border-top:1px dashed var(--line-2)}

.contact-direct{display:grid;grid-template-columns:1fr;gap:14px;margin-top:36px}
@media (min-width:760px){.contact-direct{grid-template-columns:repeat(3,1fr)}}
.cd{border:1px solid var(--line);border-radius:var(--r-m);padding:20px;background:var(--bg-card)}
.cd .ck{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}
.cd .cv{font-family:var(--font-serif);font-size:20px;color:var(--ink);letter-spacing:-0.01em;word-break:break-word}

/* CTA band (cardless, tinted) */
.cta-band{margin-top:48px;text-align:center;padding:48px 28px;border:1px solid var(--line);border-radius:var(--r-l);background:var(--teal-tint-2)}
.cta-band h3{font-family:var(--font-serif);font-weight:400;font-size:28px;letter-spacing:-0.01em;color:var(--ink);max-width:24ch;margin:0 auto 8px}
@media (min-width:760px){.cta-band h3{font-size:36px}}
.cta-band p{max-width:52ch;margin:0 auto 24px;color:var(--ink-2)}
.cta-band .btn{margin:0 auto}

/* disclaimer / notice block */
.notice{margin-top:32px;font-size:13px;color:var(--ink-2);line-height:1.6;max-width:72ch;border-left:2px solid var(--line-2);padding:4px 0 4px 16px}
.notice b{color:var(--ink)}

/* ============================================================================
   FOOTER (shared)
   ========================================================================== */
.site-footer{background:#11202f;color:var(--on-ink-3);padding:56px 0 40px;margin-top:72px}
.site-footer .foot-brand{margin-bottom:36px}
.site-footer .brand{color:var(--on-ink)}
.site-footer .foot-intro{color:var(--on-ink-4);font-size:13px;line-height:1.6;margin-top:14px;max-width:46ch}
.site-footer .foot-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media (min-width:640px){.site-footer .foot-grid{grid-template-columns:repeat(3,1fr);gap:40px}}
.site-footer h4{font-family:var(--font-mono);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#7a9590;margin:0 0 14px;font-weight:500}
.site-footer .foot-links{display:flex;flex-direction:column;gap:10px;font-size:13px}
.site-footer .foot-links a{color:var(--on-ink-3);border-bottom:1px dotted #38506a;width:fit-content}
.site-footer .foot-links a:hover{color:var(--on-ink)}
.site-footer .foot-bottom{margin-top:36px;padding-top:24px;border-top:1px solid rgba(247,244,239,0.08);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;color:#7a9590}
.site-footer .foot-bottom .mono{color:#8da8a3}

/* ============================================================================
   PROSE (legal / long-form: privacy, cookie)
   ========================================================================== */
.prose{max-width:72ch;margin-top:8px}
.prose h2{font-family:var(--font-serif);font-weight:400;font-size:26px;line-height:1.2;letter-spacing:-0.01em;color:var(--ink);margin:36px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{font-size:16px;line-height:1.7;color:var(--ink-2);margin:0 0 14px}
.prose ul{margin:0 0 14px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.prose ul li{position:relative;padding-left:18px;font-size:15px;line-height:1.6;color:var(--ink-2)}
.prose ul li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.prose a{color:var(--teal-deep);border-bottom:1px dotted var(--line-2)}
.prose a:hover{border-color:var(--teal)}
.prose .updated{font-family:var(--font-mono);font-size:12px;letter-spacing:0.06em;color:var(--ink-3);margin-bottom:24px}

/* ============================================================================
   MOTION SAFETY
   ========================================================================== */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
  .breath-ring,.spin{animation:none}
  .pulse-mini{animation:none;box-shadow:0 0 0 3px rgba(26,155,140,0.3)}
}
