/* ==========================================================================
   Vitana Ventures - group site stylesheet
   Hand-written. No frameworks, no external requests. Fonts are self-hosted.
   Palette: charcoal #15171a · blue #5b8fe0 · deep blue #2f5fb0 · pale blue #cfe0fb · ivory #f1f5fa
   ========================================================================== */

@font-face {
  font-family: "Inter";
  src: url("../fonts/InterVariable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/* Tiny self-hosted subsets (Noto Sans, OFL) so the language labels render everywhere */
@font-face { font-family: "Indic"; src: url("../fonts/indic-malayalam.woff2") format("woff2"); unicode-range: U+0D00-0D7F, U+200C-200D; font-display: swap; }
@font-face { font-family: "Indic"; src: url("../fonts/indic-kannada.woff2") format("woff2"); unicode-range: U+0C80-0CFF; font-display: swap; }
@font-face { font-family: "Indic"; src: url("../fonts/indic-devanagari.woff2") format("woff2"); unicode-range: U+0900-097F; font-display: swap; }
@font-face {
  font-family: "Inter";
  src: url("../fonts/InterVariable-Italic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

:root {
  --charcoal: #15171a;
  --charcoal-2: #1c1f24;
  --graphite: #24272c;
  --ink-soft: #3a3f47;
  --blue: #5b8fe0;
  --blue-deep: #2f5fb0;
  --blue-pale: #cfe0fb;
  --ivory: #f1f5fa;
  --ivory-2: #e7ecf3;
  --white: #ffffff;
  --muted-dark: #a7b0bd;   /* on charcoal: 8.4:1 */
  --muted-light: #4f5866;  /* on ivory: 7.0:1 */
  --line-dark: rgba(207, 224, 251, 0.12);
  --line-light: rgba(21, 23, 26, 0.10);

  /* venture accents (overridden per page theme) */
  --accent: var(--blue);
  --accent-2: var(--blue-pale);
  --accent-ink: var(--blue-deep);     /* accent safe for text on light */
  --glow: rgba(91, 143, 224, 0.22);

  --font: "Inter", "Indic", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --step--1: clamp(0.82rem, 0.8rem + 0.1vw, 0.88rem);
  --step-0: clamp(1rem, 0.96rem + 0.18vw, 1.09rem);
  --step-1: clamp(1.18rem, 1.1rem + 0.35vw, 1.38rem);
  --step-2: clamp(1.45rem, 1.3rem + 0.7vw, 1.9rem);
  --step-3: clamp(1.9rem, 1.6rem + 1.4vw, 2.85rem);
  --step-4: clamp(2.5rem, 1.95rem + 2.6vw, 4.3rem);
  --step-5: clamp(3rem, 2.1rem + 4.2vw, 6rem);

  --space-section: clamp(5.5rem, 4rem + 7vw, 10rem);
  --wrap: 1240px;
  --radius: 20px;
  --radius-sm: 12px;
  --ease: cubic-bezier(.2, .7, .1, 1);
}

/* ---------- venture themes ---------- */
.theme-food {
  --accent: #e0a526;      /* turmeric */
  --accent-2: #c4442f;    /* chilli */
  --leaf: #6f9a3f;        /* banana leaf */
  --tamarind: #7a4a2a;
  --cream: #f6f0e4;
  --accent-ink: #8a4f12;  /* on cream 7.2:1 */
  --glow: rgba(224, 165, 38, 0.20);
}
.theme-comics {
  --accent: #f0b84a;      /* oath-chain gold */
  --accent-2: #7fd3ff;    /* hard-light cyan */
  --accent-ink: #1f4f8f;
  --glow: rgba(127, 211, 255, 0.18);
}
.theme-sfr {
  --charcoal: #090909;
  --charcoal-2: #121212;
  --accent: #d4af37;      /* gold */
  --accent-2: #e8d5a3;    /* pale gold */
  --accent-ink: #7a5c0d;
  --muted-dark: #b7ab96;
  --line-dark: rgba(212, 175, 55, 0.22);
  --glow: rgba(212, 175, 55, 0.16);
}
.theme-kas {
  --accent: #f5a524;
  --accent-2: #ffc65c;
  --accent-ink: #7a4a00;
  --glow: rgba(245, 165, 36, 0.2);
}
.theme-fin {
  --accent: #8b9cf4;
  --accent-2: #cfd6ff;
  --accent-ink: #3d47a8;
  --glow: rgba(139, 156, 244, 0.22);
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: var(--font);
  font-size: var(--step-0);
  line-height: 1.65;
  color: var(--charcoal);
  background: var(--ivory);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "ss01", "cv11";
}
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: 0.2em; text-decoration-thickness: 1px; }
p { margin: 0 0 1.1em; }
h1, h2, h3, h4 { margin: 0; font-weight: 500; letter-spacing: -0.025em; line-height: 1.08; }
h1 { font-size: var(--step-5); font-weight: 300; letter-spacing: -0.045em; line-height: 1.0; }
h2 { font-size: var(--step-4); font-weight: 300; letter-spacing: -0.04em; }
h3 { font-size: var(--step-2); letter-spacing: -0.02em; }
h4 { font-size: var(--step-1); letter-spacing: -0.015em; }
strong { font-weight: 600; }
em.serifish { font-style: italic; font-weight: 300; }
::selection { background: var(--blue-pale); color: var(--charcoal); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; border-radius: 6px; }

.skip { position: absolute; left: -9999px; top: 0; z-index: 100; background: var(--charcoal); color: var(--ivory); padding: .7rem 1rem; border-radius: 8px; }
.skip:focus { left: 1rem; top: 1rem; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.wrap { width: min(100% - 2.5rem, var(--wrap)); margin-inline: auto; }
.wrap-narrow { width: min(100% - 2.5rem, 820px); margin-inline: auto; }
.section { padding-block: var(--space-section); position: relative; }
.section-tight { padding-block: clamp(3.5rem, 3rem + 3vw, 6rem); }

/* dark / light surfaces */
.dark { background: var(--charcoal); color: var(--ivory); }
.dark .muted, .dark .lede { color: var(--muted-dark); }
.dark-2 { background: var(--charcoal-2); color: var(--ivory); }
.dark-2 .muted, .dark-2 .lede { color: var(--muted-dark); }
.light { background: var(--ivory); color: var(--charcoal); }
.paper { background: var(--white); color: var(--charcoal); }
.cream { background: var(--cream, #f6f0e4); color: var(--charcoal); }
.muted { color: var(--muted-light); }
.lede { font-size: var(--step-1); line-height: 1.6; color: var(--muted-light); max-width: 38em; font-weight: 400; }

.eyebrow {
  display: inline-flex; align-items: center; gap: .75rem;
  font-size: .74rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: var(--accent-ink); margin-bottom: 1.6rem;
}
.dark .eyebrow, .dark-2 .eyebrow { color: var(--accent); }
.eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .7; }

.rule { height: 1px; background: var(--line-light); border: 0; margin: 0; }
.dark .rule { background: var(--line-dark); }

/* ---------- header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(21, 23, 26, 0.94);
  -webkit-backdrop-filter: saturate(140%) blur(14px);
  backdrop-filter: saturate(140%) blur(14px);
  border-bottom: 1px solid var(--line-dark);
  color: var(--ivory);
}
.theme-sfr .site-header { background: rgba(9, 9, 9, 0.94); }
.nav { display: flex; align-items: center; justify-content: space-between; height: 76px; }
.brand { display: inline-flex; align-items: center; gap: .85rem; text-decoration: none; }
.brand img { width: 38px; height: 38px; }
.brand-text { display: flex; flex-direction: column; line-height: 1.1; }
.brand-text b { font-weight: 500; font-size: .95rem; letter-spacing: .18em; text-transform: uppercase; }
.brand-text small { font-size: .66rem; letter-spacing: .26em; text-transform: uppercase; color: var(--muted-dark); margin-top: .25rem; }
.nav-links { display: flex; align-items: center; gap: 2.1rem; list-style: none; margin: 0; padding: 0; }
.nav-links a { text-decoration: none; font-size: .88rem; color: rgba(241, 245, 250, .78); letter-spacing: .01em; transition: color .3s; position: relative; }
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--ivory); }
.nav-links a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -8px; height: 1px; background: var(--accent); }
.nav-cta { padding: .6rem 1.1rem; border: 1px solid rgba(241,245,250,.25); border-radius: 999px; }
.nav-cta:hover { border-color: var(--accent); }
.nav-toggle { display: none; background: none; border: 1px solid rgba(241,245,250,.25); color: var(--ivory); border-radius: 999px; padding: .5rem .95rem; font: inherit; font-size: .85rem; cursor: pointer; }

@media (max-width: 960px) {
  .nav-toggle { display: inline-flex; }
  .nav-links {
    position: absolute; top: 76px; left: 0; right: 0;
    flex-direction: column; align-items: flex-start; gap: 0;
    background: var(--charcoal); border-bottom: 1px solid var(--line-dark);
    padding: .5rem 1.25rem 1.5rem; display: none;
  }
  .nav-links.open { display: flex; }
  .nav-links li { width: 100%; }
  .nav-links a { display: block; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); font-size: 1.05rem; }
  .nav-links a[aria-current="page"]::after { display: none; }
  .nav-cta { border: 0; border-radius: 0; padding: 1rem 0; }
}

/* ---------- buttons ---------- */
.btn {
  display: inline-flex; align-items: center; gap: .7rem;
  padding: 1rem 1.6rem; border-radius: 999px;
  font: inherit; font-size: .92rem; font-weight: 500; letter-spacing: .01em;
  text-decoration: none; cursor: pointer; border: 1px solid transparent;
  transition: transform .4s var(--ease), background .3s, color .3s, border-color .3s, box-shadow .4s;
}
.btn .arrow { transition: transform .4s var(--ease); }
.btn:hover .arrow { transform: translateX(4px); }
.btn-primary { background: var(--ivory); color: var(--charcoal); }
.btn-primary:hover { background: var(--white); box-shadow: 0 10px 40px -10px var(--glow); }
.light .btn-primary, .paper .btn-primary, .cream .btn-primary { background: var(--charcoal); color: var(--ivory); }
.btn-accent { background: var(--accent); color: var(--charcoal); }
.btn-accent:hover { box-shadow: 0 14px 40px -12px var(--accent); transform: translateY(-1px); }
.btn-ghost { border-color: rgba(241,245,250,.28); color: var(--ivory); background: transparent; }
.btn-ghost:hover { border-color: var(--accent); }
.light .btn-ghost, .paper .btn-ghost, .cream .btn-ghost { border-color: rgba(21,23,26,.22); color: var(--charcoal); }
.btn-row { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.6rem; }

/* ---------- hero ---------- */
.hero { position: relative; overflow: hidden; background: var(--charcoal); color: var(--ivory); }
.hero::before {
  content: ""; position: absolute; inset: -20% -10% auto auto; width: 70vw; height: 70vw; max-width: 1100px; max-height: 1100px;
  background: radial-gradient(closest-side, var(--glow), transparent 70%);
  pointer-events: none;
}
.hero::after { /* fine grain */
  content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .07; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
.hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 5vw, 6rem); align-items: center; min-height: min(88vh, 860px); padding-block: clamp(5rem, 8vw, 8rem); }
.hero h1 { max-width: 11ch; }
.hero h1 .accent { color: var(--accent); }
.hero .lede { color: var(--muted-dark); margin-top: 2rem; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 2.5rem; margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid var(--line-dark); }
.hero-meta div { font-size: .8rem; color: var(--muted-dark); letter-spacing: .02em; }
.hero-meta b { display: block; color: var(--ivory); font-weight: 500; font-size: .95rem; margin-bottom: .2rem; letter-spacing: 0; }
.hero-art { position: relative; aspect-ratio: 1; width: 100%; max-width: 560px; justify-self: end; }
@media (max-width: 960px) {
  .hero-inner { grid-template-columns: 1fr; min-height: auto; }
  .hero-art { justify-self: center; max-width: 420px; order: -1; }
}

/* seal composition (home hero) */
.seal-stage { position: absolute; inset: 0; display: grid; place-items: center; }
.seal-stage .ring { position: absolute; border-radius: 50%; border: 1px solid var(--line-dark); }
.seal-stage .r1 { inset: 4%; }
.seal-stage .r2 { inset: 15%; border-style: dashed; border-color: rgba(207,224,251,.16); animation: spin 120s linear infinite; }
.seal-stage .r3 { inset: 26%; background: radial-gradient(circle at 35% 30%, rgba(91,143,224,.18), transparent 60%); }
.seal-stage img { width: 42%; height: auto; filter: drop-shadow(0 30px 60px rgba(0,0,0,.55)); position: relative; }
.orbit { position: absolute; inset: 0; animation: spin 90s linear infinite; }
.orbit svg { width: 100%; height: 100%; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .seal-stage .r2, .orbit { animation: none; } }

/* ---------- grids & cards ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2.5rem, 6vw, 7rem); align-items: start; }
.split-wide { grid-template-columns: .9fr 1.1fr; }
@media (max-width: 900px) { .split, .split-wide { grid-template-columns: 1fr; } }
.section-head { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; margin-bottom: clamp(3rem, 5vw, 5rem); }
.section-head p { margin: 0; }
@media (max-width: 900px) { .section-head { grid-template-columns: 1fr; gap: 1.5rem; } }

.ventures { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
@media (max-width: 800px) { .ventures { grid-template-columns: 1fr; } }
.venture {
  --v: var(--blue);
  position: relative; display: flex; flex-direction: column; justify-content: space-between;
  min-height: 380px; padding: clamp(1.8rem, 3vw, 2.6rem); border-radius: var(--radius);
  background: linear-gradient(160deg, #1f2329, #16181c 60%);
  border: 1px solid var(--line-dark); color: var(--ivory); text-decoration: none; overflow: hidden;
  transition: transform .6s var(--ease), border-color .4s, box-shadow .6s var(--ease);
}
.venture::before { content: ""; position: absolute; width: 420px; height: 420px; right: -160px; top: -160px; border-radius: 50%; background: radial-gradient(closest-side, color-mix(in srgb, var(--v) 34%, transparent), transparent); opacity: .7; transition: opacity .6s, transform .8s var(--ease); }
.venture:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--v) 45%, transparent); box-shadow: 0 30px 80px -40px color-mix(in srgb, var(--v) 60%, transparent); }
.venture:hover::before { opacity: 1; transform: scale(1.08); }
.venture .tag { align-self: flex-start; font-size: .7rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--v); border: 1px solid color-mix(in srgb, var(--v) 40%, transparent); padding: .45rem .8rem; border-radius: 999px; position: relative; }
.venture h3 { font-size: var(--step-3); font-weight: 300; letter-spacing: -0.035em; margin: 2.5rem 0 .9rem; position: relative; }
.venture p { color: var(--muted-dark); max-width: 30em; margin: 0; position: relative; }
.venture .more { display: inline-flex; align-items: center; gap: .6rem; margin-top: 2.2rem; font-size: .9rem; color: var(--ivory); position: relative; }
.venture .more .arrow { transition: transform .4s var(--ease); }
.venture:hover .more .arrow { transform: translateX(5px); }
.venture.v-food { --v: #e0a526; }
.venture.v-comics { --v: #7fd3ff; }
.venture.v-sfr { --v: #d4af37; }
.venture.v-fin { --v: #8b9cf4; }
.venture.v-kas { --v: #f5a524; }
.venture .glyph { position: absolute; right: 2rem; bottom: 2rem; width: 92px; height: 92px; opacity: .9; }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.cards.four { grid-template-columns: repeat(4, 1fr); }
.cards.two { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 1000px) { .cards, .cards.four { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cards, .cards.four, .cards.two { grid-template-columns: 1fr; } }
.card { padding: 2.2rem 2rem; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line-light); }
.cream .card { background: rgba(255,255,255,.65); border-color: rgba(122,74,42,.12); }
.dark .card, .dark-2 .card { background: rgba(255,255,255,.03); border-color: var(--line-dark); }
.card h3, .card h4 { margin-bottom: .8rem; }
.card p { margin: 0; color: var(--muted-light); font-size: .97rem; }
.dark .card p, .dark-2 .card p { color: var(--muted-dark); }
.card .num { display: block; font-size: .74rem; font-weight: 600; letter-spacing: .2em; color: var(--accent-ink); margin-bottom: 2.2rem; }
.dark .card .num, .dark-2 .card .num { color: var(--accent); }
.card .ico { width: 44px; height: 44px; margin-bottom: 1.8rem; color: var(--accent-ink); }
.dark .card .ico, .dark-2 .card .ico { color: var(--accent); }

/* principles list */
.principles { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line-light); }
.principles li { display: grid; grid-template-columns: 5rem 1fr 1.4fr; gap: 2rem; padding: 2.2rem 0; border-bottom: 1px solid var(--line-light); align-items: baseline; }
.principles .n { font-size: .78rem; letter-spacing: .2em; color: var(--accent-ink); font-weight: 600; }
.principles h3 { font-weight: 400; font-size: var(--step-2); }
.principles p { margin: 0; color: var(--muted-light); }
@media (max-width: 760px) { .principles li { grid-template-columns: 1fr; gap: .6rem; } }

/* big quote / statement */
.statement { font-size: var(--step-3); font-weight: 300; letter-spacing: -0.03em; line-height: 1.22; max-width: 22em; }
.statement .hl { color: var(--accent); }
.light .statement .hl, .paper .statement .hl, .cream .statement .hl { color: var(--accent-ink); }

/* CTA band */
.cta-band { text-align: center; }
.cta-band h2 { max-width: 14ch; margin-inline: auto; }
.cta-band .lede { margin: 1.6rem auto 0; }
.cta-band .btn-row { justify-content: center; }

/* placeholder frame (for future photography) */
.ph-frame {
  position: relative; border-radius: var(--radius); overflow: hidden; min-height: 280px;
  border: 1px dashed rgba(122,74,42,.35);
  background:
    repeating-linear-gradient(135deg, rgba(122,74,42,.05) 0 1px, transparent 1px 14px),
    linear-gradient(160deg, #fbf6ec, #efe5d2);
  display: grid; place-items: center; text-align: center; padding: 2rem;
}
.dark .ph-frame { border-color: rgba(207,224,251,.2); background: repeating-linear-gradient(135deg, rgba(207,224,251,.04) 0 1px, transparent 1px 14px), linear-gradient(160deg, #1d2025, #15171a); }
.ph-frame span { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--muted-light); font-weight: 600; }
.dark .ph-frame span { color: var(--muted-dark); }

/* ---------- forms ---------- */
.form-shell { position: relative; padding: clamp(1.8rem, 4vw, 3.2rem); border-radius: calc(var(--radius) + 4px); background: var(--white); border: 1px solid var(--line-light); box-shadow: 0 40px 120px -60px rgba(21,23,26,.35); }
.dark .form-shell, .dark-2 .form-shell { background: rgba(255,255,255,.03); border-color: var(--line-dark); box-shadow: none; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.3rem 1.4rem; }
.form-grid .full { grid-column: 1 / -1; }
@media (max-width: 640px) { .form-grid { grid-template-columns: 1fr; } }
.field label, .field legend { display: block; font-size: .8rem; font-weight: 500; letter-spacing: .02em; margin-bottom: .55rem; color: var(--charcoal); }
.dark .field label, .dark .field legend, .dark-2 .field label, .dark-2 .field legend { color: var(--ivory); }
.field .opt { color: var(--muted-light); font-weight: 400; }
.dark .field .opt, .dark-2 .field .opt { color: var(--muted-dark); }
.field input, .field select, .field textarea {
  width: 100%; font: inherit; font-size: .97rem; color: var(--charcoal);
  background: var(--ivory); border: 1px solid rgba(21,23,26,.14); border-radius: var(--radius-sm);
  padding: .95rem 1rem; transition: border-color .25s, box-shadow .25s, background .25s;
  appearance: none; -webkit-appearance: none;
}
.field select { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%234f5866' stroke-width='1.5'/></svg>"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.5rem; }
.field textarea { min-height: 140px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent); background: var(--white); }
.dark .field input, .dark .field select, .dark .field textarea, .dark-2 .field input, .dark-2 .field select, .dark-2 .field textarea { background: rgba(255,255,255,.04); border-color: rgba(241,245,250,.16); color: var(--ivory); }
.dark .field select option, .dark-2 .field select option { color: var(--charcoal); }
.dark .field input:focus, .dark .field select:focus, .dark .field textarea:focus, .dark-2 .field input:focus, .dark-2 .field textarea:focus, .dark-2 .field select:focus { border-color: var(--accent); background: rgba(255,255,255,.06); }
.field .err { display: none; font-size: .78rem; color: #b42318; margin-top: .45rem; }
.dark .field .err, .dark-2 .field .err { color: #ffb4a8; }
.field.invalid input, .field.invalid select, .field.invalid textarea { border-color: #b42318; }
.dark .field.invalid input, .dark-2 .field.invalid input { border-color: #ffb4a8; }
.field.invalid .err { display: block; }
.choices { display: flex; flex-wrap: wrap; gap: .6rem; border: 0; padding: 0; margin: 0; }
.chip { position: relative; }
.chip input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.chip span { display: inline-block; padding: .6rem 1rem; border-radius: 999px; border: 1px solid rgba(21,23,26,.16); font-size: .86rem; transition: all .25s; }
.dark .chip span, .dark-2 .chip span { border-color: rgba(241,245,250,.2); }
.chip input:checked + span { background: var(--charcoal); color: var(--ivory); border-color: var(--charcoal); }
.dark .chip input:checked + span, .dark-2 .chip input:checked + span { background: var(--accent); color: var(--charcoal); border-color: var(--accent); }
.chip input:focus-visible + span { outline: 2px solid var(--accent); outline-offset: 2px; }
.consent { display: flex; gap: .8rem; align-items: flex-start; font-size: .86rem; color: var(--muted-light); }
.dark .consent, .dark-2 .consent { color: var(--muted-dark); }
.consent input { width: 18px; height: 18px; margin-top: .2rem; accent-color: var(--accent-ink); flex: none; }
.form-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1.8rem; }
.form-foot small { color: var(--muted-light); font-size: .78rem; max-width: 34em; }
.dark .form-foot small, .dark-2 .form-foot small { color: var(--muted-dark); }
.thanks { display: none; text-align: center; padding: 3rem 1rem; }
.thanks .tick { width: 64px; height: 64px; margin: 0 auto 1.6rem; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--accent); color: var(--accent); }
.light .thanks .tick, .paper .thanks .tick, .cream .thanks .tick { color: var(--accent-ink); border-color: var(--accent-ink); }
.thanks h3 { font-weight: 300; font-size: var(--step-3); margin-bottom: .8rem; }
.thanks p { color: var(--muted-light); max-width: 30em; margin: 0 auto; }
.dark .thanks p, .dark-2 .thanks p { color: var(--muted-dark); }
.form-shell.sent form { display: none; }
.form-shell.sent .thanks { display: block; animation: rise .8s var(--ease) both; }
@keyframes rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

/* ---------- notes, badges ---------- */
.note { display: flex; gap: .8rem; align-items: flex-start; font-size: .84rem; color: var(--muted-light); padding: 1rem 1.2rem; border-radius: var(--radius-sm); border: 1px solid var(--line-light); background: rgba(255,255,255,.5); max-width: 46em; }
.dark .note { color: var(--muted-dark); border-color: var(--line-dark); background: rgba(255,255,255,.02); }
.note svg { flex: none; width: 18px; height: 18px; margin-top: .15rem; }
.pill { display: inline-flex; align-items: center; gap: .5rem; padding: .45rem .9rem; border-radius: 999px; font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; border: 1px solid currentColor; }
.pill .dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }

.draft-banner { background: repeating-linear-gradient(135deg, #fff4d6 0 14px, #fdecc0 14px 28px); color: #5c3d00; border-bottom: 1px solid #e6c46a; font-size: .86rem; padding: .85rem 0; text-align: center; font-weight: 500; }
.ph { background: #fff1c2; color: #5c3d00; border: 1px dashed #c99a1a; border-radius: 4px; padding: 0 .3em; font-weight: 500; white-space: normal; }
.dark .ph { background: rgba(212,175,55,.14); color: #f3dc8f; border-color: rgba(212,175,55,.5); }

/* ---------- prose (legal pages) ---------- */
.prose { max-width: 46rem; }
.prose h2 { font-size: var(--step-2); font-weight: 500; letter-spacing: -0.02em; margin: 3rem 0 1rem; }
.prose h3 { font-size: var(--step-1); font-weight: 600; margin: 2rem 0 .6rem; }
.prose p, .prose li { color: #2a2f36; }
.prose ul, .prose ol { padding-left: 1.2rem; margin: 0 0 1.2rem; }
.prose li { margin-bottom: .5rem; }
.prose li::marker { color: var(--accent-ink); }
.dark .prose p, .dark .prose li { color: #d9dee6; }
.page-hero { background: var(--charcoal); color: var(--ivory); padding: clamp(5rem, 9vw, 8rem) 0 clamp(3.5rem, 6vw, 5rem); position: relative; overflow: hidden; }
.page-hero::before { content: ""; position: absolute; right: -10%; top: -40%; width: 60vw; height: 60vw; max-width: 800px; max-height: 800px; background: radial-gradient(closest-side, var(--glow), transparent 70%); }
.page-hero > * { position: relative; }
.page-hero h1 { font-size: var(--step-4); max-width: 16ch; }
.page-hero .lede { color: var(--muted-dark); margin-top: 1.5rem; }

/* ---------- footer ---------- */
.site-footer { background: #0f1113; color: var(--muted-dark); padding: 5rem 0 2.5rem; font-size: .9rem; }
.theme-sfr .site-footer { background: #050505; }
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 3rem; padding-bottom: 3.5rem; border-bottom: 1px solid var(--line-dark); }
@media (max-width: 900px) { .footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .footer-top { grid-template-columns: 1fr; } }
.footer-brand img { width: 240px; height: auto; opacity: .95; margin-bottom: 1.4rem; }
.footer-brand p { max-width: 28em; font-size: .86rem; }
.site-footer h4 { color: var(--ivory); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; margin-bottom: 1.3rem; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin-bottom: .7rem; }
.site-footer a { text-decoration: none; color: var(--muted-dark); transition: color .25s; }
.site-footer a:hover { color: var(--ivory); }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-top: 2rem; font-size: .78rem; }
.footer-bottom .ph { font-size: .76rem; }
.motto { font-style: italic; font-weight: 300; color: var(--blue-pale); }

/* ---------- reveal ---------- */
.js .reveal { opacity: 0; transform: translateY(26px); transition: opacity 1.1s var(--ease), transform 1.1s var(--ease); transition-delay: var(--d, 0s); }
.js .reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .reveal { opacity: 1; transform: none; transition: none; } }

/* ===================== FOOD page specifics ===================== */
.theme-food .hero { background: radial-gradient(120% 90% at 85% 10%, #2a1f12 0%, #17140f 45%, #121110 100%); }
.theme-food .hero::before { background: radial-gradient(closest-side, rgba(224,165,38,.22), transparent 70%); }
.kasavu { height: 6px; background: linear-gradient(90deg, transparent, #c9a24a 15%, #f1d58a 50%, #c9a24a 85%, transparent); opacity: .9; }
.kasavu.thin { height: 2px; }
.jar-stage { position: absolute; inset: 0; }
.jar-stage svg { width: 100%; height: 100%; }
.leaf-band { background: #1e2a17; color: #f6f0e4; }
.leaf-band .muted, .leaf-band .lede { color: #c9d3b8; }
.leaf-band .eyebrow { color: #e0a526; }
.range { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 960px) { .range { grid-template-columns: 1fr; } }
.range-item { position: relative; border-radius: var(--radius); overflow: hidden; background: var(--white); border: 1px solid rgba(122,74,42,.14); display: flex; flex-direction: column; }
.range-item .art { aspect-ratio: 4 / 3; display: grid; place-items: center; position: relative; }
.range-item .art svg { width: 62%; height: auto; }
.range-item.r1 .art { background: radial-gradient(circle at 50% 70%, #f7e3b0, #efd28a 60%, #e5bf62); }
.range-item.r2 .art { background: radial-gradient(circle at 50% 70%, #f2c2b3, #e39a85 60%, #d57d66); }
.range-item.r3 .art { background: radial-gradient(circle at 50% 70%, #dfe9c9, #c3d6a0 60%, #a9c27f); }
.range-item .body { padding: 2rem; }
.range-item h3 { font-weight: 400; margin-bottom: .7rem; }
.range-item ul { list-style: none; margin: 1.2rem 0 0; padding: 0; border-top: 1px solid rgba(122,74,42,.14); }
.range-item li { padding: .75rem 0; border-bottom: 1px solid rgba(122,74,42,.10); font-size: .92rem; color: #3b3329; display: flex; justify-content: space-between; gap: 1rem; }
.range-item li span:last-child { color: #8a6a4f; font-size: .8rem; letter-spacing: .04em; }
.audience { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(246,240,228,.14); border-bottom: 1px solid rgba(246,240,228,.14); }
.audience div { padding: 2.2rem 1.5rem 2.4rem; border-left: 1px solid rgba(246,240,228,.14); }
.audience div:first-child { border-left: 0; }
.audience h4 { font-weight: 500; font-size: 1.05rem; margin: 1.4rem 0 .5rem; }
.audience p { font-size: .88rem; margin: 0; color: #c9c2b4; }
.audience svg { width: 34px; height: 34px; color: #e0a526; }
@media (max-width: 1000px) { .audience { grid-template-columns: repeat(2, 1fr); } .audience div { border-left: 0; border-top: 1px solid rgba(246,240,228,.14); } }
@media (max-width: 560px) { .audience { grid-template-columns: 1fr; } }
.steps { counter-reset: s; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
@media (max-width: 960px) { .steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .steps { grid-template-columns: 1fr; } }
.step { padding: 2rem 1.8rem; border-top: 2px solid var(--accent); background: rgba(255,255,255,.55); border-radius: 0 0 var(--radius-sm) var(--radius-sm); }
.step::before { counter-increment: s; content: "0" counter(s); display: block; font-size: .78rem; font-weight: 600; letter-spacing: .2em; color: var(--accent-ink); margin-bottom: 1.6rem; }
.step h4 { margin-bottom: .6rem; font-weight: 500; }
.step p { margin: 0; color: var(--muted-light); font-size: .94rem; }
.hamper { position: relative; aspect-ratio: 5 / 4; border-radius: var(--radius); overflow: hidden; background: radial-gradient(120% 90% at 30% 20%, #3a2a17, #1c160f); }
.hamper svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.brand-lockup { display: inline-block; background: #f6f0e4; border-radius: 14px; padding: .6rem; box-shadow: 0 20px 60px -30px rgba(0,0,0,.6); }
.brand-lockup img { width: 240px; height: auto; border-radius: 8px; }
.ml { font-family: "Noto Sans Malayalam", "Noto Serif Malayalam", var(--font); }

/* ===================== COMICS page ===================== */
.theme-comics .hero { background: radial-gradient(110% 80% at 80% 20%, #13284a 0%, #0c1426 50%, #090d18 100%); }
.halftone { position: absolute; inset: 0; pointer-events: none; opacity: .28; background-image: radial-gradient(rgba(127,211,255,.55) 1px, transparent 1.4px); background-size: 14px 14px; -webkit-mask-image: radial-gradient(70% 70% at 75% 40%, #000, transparent 75%); mask-image: radial-gradient(70% 70% at 75% 40%, #000, transparent 75%); }
.panel-stage { position: absolute; inset: 0; }
.panel-stage svg { width: 100%; height: 100%; }
.issue-list { list-style: none; margin: 0; padding: 0; counter-reset: i; }
.issue-list li { display: grid; grid-template-columns: 6rem 1fr auto; gap: 1.5rem; align-items: baseline; padding: 1.8rem 0; border-bottom: 1px solid var(--line-dark); }
.issue-list li:first-child { border-top: 1px solid var(--line-dark); }
.issue-list .no { font-size: var(--step-2); font-weight: 200; color: var(--accent); letter-spacing: -0.03em; }
.issue-list h4 { font-weight: 400; font-size: var(--step-2); }
.issue-list small { color: var(--muted-dark); font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 640px) { .issue-list li { grid-template-columns: 4rem 1fr; } .issue-list small { grid-column: 2; } }
.hero-card { position: relative; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line-dark); background: linear-gradient(170deg, #142340, #0b1222); min-height: 360px; display: flex; flex-direction: column; justify-content: flex-end; padding: 2rem; }
.hero-card .sig { position: absolute; inset: 0; }
.hero-card .sig svg { width: 100%; height: 100%; }
.hero-card > * { position: relative; }
.hero-card .role { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--accent-2); font-weight: 600; }
.hero-card h3 { font-weight: 400; margin: .6rem 0 .5rem; }
.hero-card p { color: var(--muted-dark); margin: 0; font-size: .92rem; }

/* ===================== SFR page ===================== */
.theme-sfr body, body.theme-sfr { background: #0b0b0b; }
.theme-sfr .hero { background: radial-gradient(100% 80% at 80% 0%, #1d180b 0%, #0d0c09 50%, #090909 100%); }
.phone { position: relative; width: min(330px, 80%); aspect-ratio: 9 / 19; margin: 0 auto; border-radius: 44px; padding: 14px; background: linear-gradient(160deg, #2a2a2a, #111); box-shadow: 0 0 0 1px rgba(212,175,55,.25), 0 60px 120px -40px rgba(212,175,55,.25), 0 40px 80px -30px rgba(0,0,0,.8); }
.phone-screen { height: 100%; border-radius: 32px; background: #0d0d0d; overflow: hidden; display: flex; flex-direction: column; padding: 2.2rem 1.3rem 1.3rem; gap: 1rem; border: 1px solid rgba(212,175,55,.18); }
.phone-screen .p-top { display: flex; justify-content: space-between; align-items: center; font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: #b7ab96; }
.phone-screen .p-points { text-align: center; padding: 1.6rem 0 1.2rem; border-bottom: 1px solid rgba(212,175,55,.18); }
.phone-screen .p-points b { display: block; font-size: 3.4rem; font-weight: 200; letter-spacing: -0.04em; color: #e8d5a3; line-height: 1; }
.phone-screen .p-points span { font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: #b7ab96; }
.p-ring { width: 120px; height: 120px; margin: .6rem auto 0; }
.p-row { display: flex; justify-content: space-between; align-items: center; padding: .75rem .9rem; border: 1px solid rgba(212,175,55,.16); border-radius: 14px; font-size: .78rem; color: #f6f1e7; }
.p-row em { font-style: normal; color: #d4af37; font-size: .72rem; letter-spacing: .1em; }
.p-btn { margin-top: auto; text-align: center; padding: .85rem; border-radius: 999px; background: #d4af37; color: #1a1408; font-size: .8rem; font-weight: 600; letter-spacing: .06em; }
.promise { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-dark); border: 1px solid var(--line-dark); border-radius: var(--radius); overflow: hidden; }
.promise div { background: #0e0e0e; padding: 2.4rem 2rem; }
.promise h4 { font-weight: 400; margin: 1.4rem 0 .5rem; color: #f6f1e7; }
.promise p { margin: 0; color: #b7ab96; font-size: .94rem; }
.promise svg { width: 30px; height: 30px; color: #d4af37; }
@media (max-width: 860px) { .promise { grid-template-columns: 1fr; } }
.gold-line { height: 1px; background: linear-gradient(90deg, transparent, rgba(212,175,55,.6), transparent); }

/* ===================== FinTrack ===================== */
.theme-fin .soon { min-height: calc(100vh - 76px); display: grid; align-items: center; background: radial-gradient(90% 70% at 70% 20%, #1c2146 0%, #12152a 45%, #0e1018 100%); color: var(--ivory); position: relative; overflow: hidden; }
.grid-lines { position: absolute; inset: 0; background-image: linear-gradient(rgba(139,156,244,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(139,156,244,.07) 1px, transparent 1px); background-size: 64px 64px; -webkit-mask-image: radial-gradient(60% 60% at 60% 40%, #000, transparent); mask-image: radial-gradient(60% 60% at 60% 40%, #000, transparent); }
.chart-art { position: absolute; right: -4%; bottom: 8%; width: 58%; max-width: 760px; opacity: .9; }
@media (max-width: 900px) { .chart-art { position: relative; width: 100%; right: auto; bottom: auto; margin-top: 2rem; } }
.inline-form { display: flex; gap: .7rem; max-width: 520px; margin-top: 2.4rem; }
.inline-form .field { flex: 1; }
.inline-form .field label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
@media (max-width: 560px) { .inline-form { flex-direction: column; } }

/* ===================== Kebabs and Stew (v2.5) ===================== */
.theme-kas .soon { min-height: calc(100vh - 76px); display: grid; align-items: center; background: radial-gradient(90% 70% at 75% 15%, #3a1d2c 0%, #231519 48%, #14100f 100%); color: var(--ivory); position: relative; overflow: hidden; }
.kas-embers { position: absolute; inset: 0; background: radial-gradient(40% 35% at 85% 85%, rgba(245,165,36,.16), transparent 70%), radial-gradient(30% 30% at 10% 90%, rgba(245,165,36,.08), transparent 70%); }
.kas-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.kas-soon h1 { max-width: 18ch; margin-bottom: 1.4rem; }
.kas-status { display: flex; flex-wrap: wrap; align-items: center; gap: .8rem 1rem; margin: 1.6rem 0 0; color: var(--muted-dark); font-size: .95rem; }
.kas-status .ind-status { flex: none; }
.kas-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.kas-photos figure { margin: 0; }
.kas-photos img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 18px; border: 1px solid var(--line-dark); box-shadow: 0 30px 70px -40px rgba(0,0,0,.8); }
.kas-photos figcaption { margin-top: .6rem; font-size: .85rem; color: var(--muted-dark); }
.kas-photos figure:nth-child(2) { margin-top: 2.2rem; }
@media (max-width: 900px) { .kas-grid { grid-template-columns: 1fr; } .kas-photos figure:nth-child(2) { margin-top: 1rem; } }

/* utility */
.center { text-align: center; }
.mt-0 { margin-top: 0; } .mt-1 { margin-top: 1rem; } .mt-2 { margin-top: 2rem; } .mt-3 { margin-top: 3rem; } .mt-4 { margin-top: 4rem; }
.mb-0 { margin-bottom: 0; } .mb-2 { margin-bottom: 2rem; }
.maxw-20 { max-width: 20ch; } .maxw-14 { max-width: 14ch; }
.accent-text { color: var(--accent); }
.light .accent-text, .cream .accent-text, .paper .accent-text { color: var(--accent-ink); }

.d1 { --d: .08s; } .d2 { --d: .16s; } .d3 { --d: .24s; } .d4 { --d: .32s; } .d5 { --d: .4s; }

/* dark-surface overrides for shared components */
.dark .principles, .dark-2 .principles { border-color: var(--line-dark); }
.dark .principles li, .dark-2 .principles li { border-color: var(--line-dark); }
.dark .principles p, .dark-2 .principles p { color: var(--muted-dark); }
.dark .principles .n, .dark-2 .principles .n { color: var(--accent); }
.dark .principles h4, .dark-2 .principles h4 { font-weight: 500; }
#gifting .principles li { grid-template-columns: 2rem 1fr 1.6fr; padding: 1.4rem 0; }
.soon .form-shell { padding: 0; border: 0; background: none; max-width: 560px; }
.soon .thanks { text-align: left; padding: 1rem 0; }
.soon .thanks .tick { margin: 0 0 1rem; }
.soon .wrap { position: relative; z-index: 1; padding-block: 6rem; }

/* ---- polish pass ---- */
.hero .eyebrow, .page-hero .eyebrow, .soon .eyebrow { color: var(--accent); }
.theme-comics .hero .eyebrow { color: var(--accent-2); }
fieldset.field { border: 0; padding: 0; margin: 0; min-width: 0; }
fieldset.field legend { padding: 0; }
.form-foot small { flex: 1 1 220px; }
@media (min-width: 901px) { .sticky-col { position: sticky; top: 120px; } }
.venture { justify-content: flex-start; }
.venture > div { flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.venture > div .more { margin-top: auto; padding-top: 2.2rem; }
@media (max-width: 800px) {
  .venture { min-height: 0; }
  .venture .glyph { display: none; }
  .venture h3 { margin-top: 2rem; }
  .hero-art { max-width: 320px; }
}
.dark-2 .note { color: var(--muted-dark); border-color: var(--line-dark); background: rgba(255,255,255,.02); }
.hero-card { min-height: 400px; }
.hero-card .sig { inset: 0 0 38% 0; }
.hero-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(9,14,28,.92) 62%); pointer-events: none; }
.hero-card > *:not(.sig) { z-index: 1; }
.theme-food #gifting { background: radial-gradient(90% 80% at 20% 30%, #2a1f12, #15110c 70%); }
.theme-food #gifting .split { align-items: center; }
.theme-food .hero-art { max-width: 620px; }
.brand-lockup img { width: 280px; }

/* Character art drop-in: site/assets/img/characters/<advocate|mercy|leo|mia>.webp */
.hero-card .sig.has-art { inset: 0 0 22% 0; }
.hero-card .sig.has-art img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; display: block; }
.hero-card:has(.has-art)::after { background: linear-gradient(180deg, transparent 40%, rgba(9,14,28,.55) 58%, rgba(9,14,28,.96) 76%); }

/* ---- सक्षम (Vitana) group logo ---- */
.brand { gap: .8rem; }
.brand img.brand-mark { width: auto; height: 42px; }
.brand-text { gap: .38rem; }
.brand-text img.brand-word { width: auto; height: 18px; display: block; }
.brand-text small { margin-top: 0; font-size: .6rem; letter-spacing: .32em; color: #d9dde3; font-weight: 500; }
.lockup { display: flex; flex-direction: column; align-items: center; text-align: center; }
.lockup img { height: auto; }
.lockup-tag { margin: 0; font-size: .74rem; font-weight: 500; letter-spacing: .14em; color: #8fb6ef; }
.lockup-name { margin: .7rem 0 0; font-size: .66rem; font-weight: 500; letter-spacing: .42em; text-transform: uppercase; color: var(--ivory); padding-left: .42em; }
.lockup-rule { width: 44px; height: 1px; background: linear-gradient(90deg, transparent, rgba(207,224,251,.55), transparent); margin: 1.6rem 0 1.1rem; }
.hero-lockup { position: relative; width: 62%; }
.hero-lockup img { width: 50%; filter: drop-shadow(0 26px 50px rgba(0,0,0,.5)); }
.lockup-left { align-items: flex-start; text-align: left; margin-bottom: 1.6rem; }
.lockup-left img { width: 92px; margin-bottom: 1.1rem; }
.lockup-left .lockup-tag { font-size: .7rem; }
.lockup-left .lockup-name { padding-left: 0; margin-top: .55rem; }
@media (max-width: 600px) {
  .brand img.brand-mark { height: 36px; }
  .brand-text img.brand-word { height: 16px; }
  .hero-lockup { width: 78%; }
  .hero-lockup .lockup-tag { font-size: .66rem; letter-spacing: .1em; }
  .hero-lockup .lockup-name { font-size: .6rem; }
}
.lockup-tag { white-space: nowrap; }
.hero-lockup { width: 86%; }
.hero-lockup .lockup-tag { letter-spacing: .1em; font-size: .78rem; }
.hero-lockup img { width: 44%; }
.lockup-left .lockup-tag { font-size: .68rem; letter-spacing: .06em; }
@media (max-width: 600px) { .hero-lockup { width: 96%; } .hero-lockup .lockup-tag { font-size: .62rem; letter-spacing: .04em; } }
.brand-text { align-items: flex-start; }
.brand { gap: .7rem; }
/* The lockup's tagline runs wider than the inner rings; keep the stage calm */
.seal-stage .orbit { display: none; }
.seal-stage .r2 { inset: 9%; }

/* ==========================================================================
   v2 (Oct 2026): Vitana Ventures naming, larger logo, six ventures, new venture pages
   ========================================================================== */
/* larger header logo */
.nav { height: 88px; }
.brand { gap: .85rem; }
.brand img.brand-mark { height: 56px; }
.brand-text img.brand-word { height: 26px; }
.brand-text small { font-size: .64rem; letter-spacing: .3em; }
.nav-links { gap: 1.55rem; }
.nav-links a { font-size: .86rem; }
@media (max-width: 1240px) {
  .nav-toggle { display: inline-flex; }
  .nav-links { position: absolute; top: 88px; left: 0; right: 0; flex-direction: column; align-items: flex-start; gap: 0;
    background: var(--charcoal); border-bottom: 1px solid var(--line-dark); padding: .5rem 1.25rem 1.5rem; display: none; }
  .nav-links.open { display: flex; }
  .nav-links li { width: 100%; }
  .nav-links a { display: block; padding: 1rem 0; border-bottom: 1px solid var(--line-dark); font-size: 1.05rem; }
  .nav-links a[aria-current="page"]::after { display: none; }
  .nav-cta { border: 0; border-radius: 0; padding: 1rem 0; }
}
@media (max-width: 600px) {
  .nav { height: 76px; } .nav-links { top: 76px; }
  .brand img.brand-mark { height: 46px; }
  .brand-text img.brand-word { height: 21px; }
}

/* home hero: big, animated lockup */
.hero-art-xl { max-width: 660px; }
.big-lockup { width: 100%; }
.big-lockup .lk-logo { width: 60%; filter: drop-shadow(0 30px 60px rgba(0,0,0,.55)); }
.big-lockup .lockup-tag { display: inline-flex; align-items: center; gap: .9rem; margin-top: 1.7rem; font-size: .86rem; letter-spacing: .1em; color: #a9c8f5; }
.big-lockup .gl { display: inline-block; width: 52px; height: 1px; background: linear-gradient(90deg, transparent, #5b8fe0 40%, #e0a526); }
.big-lockup .gl:last-child { background: linear-gradient(90deg, #e0a526, #5b8fe0 60%, transparent); }
.big-lockup .lockup-name { margin-top: 1rem; font-size: .8rem; letter-spacing: .5em; }
.seal-stage .r2 { inset: 2%; } .seal-stage .r1 { inset: -2%; } .seal-stage .r3 { inset: 16%; }
@keyframes lk-in { from { opacity: 0; transform: translateY(14px) scale(.94); filter: blur(6px) drop-shadow(0 30px 60px rgba(0,0,0,.55)); } to { opacity: 1; transform: none; } }
@keyframes lk-fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes lk-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.js .big-lockup .lk-logo { animation: lk-in 1.4s var(--ease) .15s both; }
.js .big-lockup .lk-tag { animation: lk-fade 1s var(--ease) .9s both; }
.js .big-lockup .gl { animation: lk-line 1.1s var(--ease) 1.1s both; transform-origin: right; }
.js .big-lockup .gl:last-child { transform-origin: left; }
.js .big-lockup .lk-name { animation: lk-fade 1s var(--ease) 1.35s both; }
@media (prefers-reduced-motion: reduce) { .js .big-lockup .lk-logo, .js .big-lockup .lk-tag, .js .big-lockup .gl, .js .big-lockup .lk-name { animation: none; } }
@media (max-width: 960px) { .hero-art-xl { max-width: 460px; } }
@media (max-width: 600px) { .big-lockup .lockup-tag { font-size: .6rem; gap: .5rem; letter-spacing: .04em; } .big-lockup .gl { width: 22px; } .big-lockup .lockup-name { font-size: .64rem; letter-spacing: .36em; } .hero-art.hero-art-xl { max-width: 360px; } }
.hero-meta { gap: 1.6rem 2.2rem; }

/* meaning section */
#meaning h2 { font-size: var(--step-3); margin: .4rem 0 1.4rem; }
.capabilities { list-style: none; padding: 0; margin: 1.6rem 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 1.6rem; }
.capabilities li { border-top: 1px solid var(--line-light); padding-top: .9rem; }
.capabilities b { display: block; font-weight: 600; margin-bottom: .3rem; }
.capabilities span { color: var(--muted-light); font-size: .92rem; }
@media (max-width: 640px) { .capabilities { grid-template-columns: 1fr; } }

/* six ventures */
.ventures-six { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1100px) { .ventures-six { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 800px) { .ventures-six { grid-template-columns: 1fr; } }
.ventures-six > .venture:last-child { grid-column: 1 / -1; }
@media (max-width: 800px) { .ventures-six > .venture:last-child { grid-column: auto; } }
.ventures-six .venture h3 { font-size: var(--step-2); margin-top: 1.6rem; }
.v-logo { display: flex; align-items: center; gap: .9rem; margin-top: 1.8rem; min-height: 66px; position: relative; }
.v-logo .glyph { position: static; width: 58px; height: 58px; display: block !important; }
.v-logo img { height: 60px; width: auto; max-width: 100%; }
.v-word { display: flex; flex-direction: column; font-size: 1.5rem; font-weight: 500; letter-spacing: -0.02em; line-height: 1.05; color: var(--ivory); }
.v-word small { font-size: .62rem; letter-spacing: .3em; text-transform: uppercase; color: var(--v); margin-top: .35rem; font-weight: 600; }
.venture.v-prana { --v: #f59e3f; }
.venture.v-snip { --v: #ff5a47; }

/* venture page themes */
.theme-prana { --accent: #f59e3f; --accent-2: #e4566e; --accent-ink: #9a4a0c; --glow: rgba(245,158,63,.20); }
.theme-prana .hero { background: radial-gradient(110% 80% at 80% 15%, #3a1f1a 0%, #1a1416 48%, #121114 100%); }
.theme-snip { --accent: #ff5a47; --accent-2: #ffb938; --accent-ink: #b32a18; --glow: rgba(255,90,71,.18); }
.theme-snip .hero { background: radial-gradient(110% 80% at 80% 15%, #2a1820 0%, #111827 50%, #0b111c 100%); }
.venture-hero .hero-inner { min-height: min(78vh, 760px); }
.venture-logo-stage { position: absolute; inset: 0; display: grid; place-items: center; border-radius: 28px; border: 1px solid var(--line-dark); background: radial-gradient(closest-side, var(--glow), transparent 75%); }
.venture-logo-stage img { width: 88%; height: auto; }

/* food: jar designs placeholder */
.jar-soon { margin-top: 3rem; display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; align-items: center; border: 1.5px dashed rgba(122,74,42,.35); border-radius: var(--radius); padding: 2rem; background: rgba(255,255,255,.35); }
.jar-soon h3 { margin: .3rem 0 .6rem; }
.jar-slots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.jar-slot { display: flex; flex-direction: column; align-items: center; gap: .5rem; }
.jar-slot .lid { width: 52%; height: 16px; border-radius: 5px; border: 1.5px dashed rgba(122,74,42,.45); }
.jar-slot .glass { width: 70%; aspect-ratio: 4 / 5; border-radius: 14px 14px 18px 18px; border: 1.5px dashed rgba(122,74,42,.45); background: repeating-linear-gradient(135deg, rgba(224,165,38,.08) 0 10px, transparent 10px 20px); }
.jar-slot small { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--muted-light); }
@media (max-width: 800px) { .jar-soon { grid-template-columns: 1fr; } }

/* ==========================================================================
   v2.1 Pranodaya app landing (theme-prana). Self-hosted CSS only; motion respects prefers-reduced-motion.
   ========================================================================== */
.prana-hero { overflow: hidden; }
.prana-hero .hero-inner { position: relative; z-index: 2; }
.dawn-sky { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.dawn-sky .sun { position: absolute; right: 18%; bottom: -14%; width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(255,210,122,.55) 0%, rgba(245,158,63,.30) 32%, rgba(228,86,110,.12) 58%, transparent 72%);
  filter: blur(6px); animation: prana-rise 14s ease-in-out infinite alternate; }
.dawn-sky .halo { position: absolute; right: calc(18% + 260px); bottom: calc(-14% + 260px); width: 0; height: 0; }
.dawn-sky .halo::before { content: ""; position: absolute; left: 50%; top: 50%; width: var(--s); height: var(--s); transform: translate(-50%,-50%) scale(.85);
  border-radius: 50%; border: 1px solid rgba(255,210,122,.16); animation: prana-breathe 8s ease-in-out infinite; animation-delay: var(--dl); }
.dawn-sky .h1 { --s: 640px; --dl: 0s; } .dawn-sky .h2 { --s: 820px; --dl: 1.3s; } .dawn-sky .h3 { --s: 1000px; --dl: 2.6s; }
.dawn-sky .horizon { position: absolute; left: 0; right: 0; bottom: 0; height: 32%; background: linear-gradient(180deg, transparent, rgba(18,17,20,.85) 70%, #121114); }
@keyframes prana-rise { from { transform: translateY(26px); opacity: .85; } to { transform: translateY(-14px); opacity: 1; } }
@keyframes prana-breathe { 0%,100% { transform: translate(-50%,-50%) scale(.85); opacity: .35; } 50% { transform: translate(-50%,-50%) scale(1); opacity: .9; } }
.prana-pills { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 2rem 0 0; }
.prana-pills li { font-size: .78rem; letter-spacing: .04em; padding: .42rem .85rem; border-radius: 999px; border: 1px solid rgba(255,210,122,.25); color: #f7dcb0; background: rgba(245,158,63,.08); }
.prana-hero-art { aspect-ratio: auto; display: grid; place-items: center; }

/* phone mockups */
.theme-prana .phone { width: min(310px, 82%); padding: 11px; border-radius: 46px; background: linear-gradient(160deg, #3a3236, #141114);
  box-shadow: 0 0 0 1px rgba(255,210,122,.18), 0 70px 120px -50px rgba(245,158,63,.45), 0 40px 80px -30px rgba(0,0,0,.75); }
.theme-prana .phone::before { content: ""; position: absolute; top: 20px; left: 50%; transform: translateX(-50%); width: 86px; height: 22px; border-radius: 14px; background: #0c0b0d; z-index: 2; }
.ph-screen { position: relative; height: 100%; border-radius: 36px; overflow: hidden; display: flex; flex-direction: column; gap: .8rem; padding: 3.1rem 1.25rem 1.3rem; color: #fff6ea; font-size: .82rem; }
.ph-dawn { background: linear-gradient(180deg, #2b1d3a 0%, #6b3350 34%, #d0674f 68%, #f2a65a 100%); }
.ph-dusk { background: linear-gradient(180deg, #1c1830 0%, #2a2143 55%, #3b2747 100%); }
.ph-night { background: radial-gradient(120% 70% at 50% 0%, #26305a 0%, #141a33 55%, #0c1022 100%); }
.ph-status { position: absolute; top: 18px; left: 26px; right: 26px; display: flex; justify-content: space-between; font-size: .7rem; font-weight: 600; opacity: .9; }
.ph-dots { display: inline-flex; gap: 3px; align-items: center; } .ph-dots i { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.ph-day { margin: .4rem 0 0; text-align: center; font-size: .72rem; letter-spacing: .08em; opacity: .8; }
.ph-time { margin: 0; text-align: center; font-size: 4rem; font-weight: 200; letter-spacing: -0.05em; line-height: 1; }
.ph-time small { font-size: .9rem; font-weight: 500; letter-spacing: .1em; margin-left: .3rem; }
.ph-quote { margin-top: auto; padding: 1rem 1rem .9rem; border-radius: 20px; background: rgba(20,12,24,.32); backdrop-filter: blur(6px); border: 1px solid rgba(255,255,255,.14); }
.ph-quote p { margin: .35rem 0 .45rem; font-size: .98rem; line-height: 1.38; font-weight: 450; }
.ph-label { font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: #ffd27a; }
.ph-src { font-size: .7rem; opacity: .75; }
.ph-voice { display: flex; align-items: center; gap: .6rem; font-size: .7rem; opacity: .95; }
.ph-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.ph-btn { display: grid; place-items: center; padding: .7rem .5rem; border-radius: 999px; font-size: .78rem; font-weight: 600; }
.ph-btn.ghost { background: rgba(255,255,255,.14); }
.ph-btn.solid { background: #fff6ea; color: #3a1f2b; }
.ph-btn.sm { padding: .5rem .9rem; }
.ph-title { margin: .3rem 0 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -0.02em; }
.ph-sub { margin: .2rem 0 0; font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: #ffd27a; }
.ph-seg { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border-radius: 999px; background: rgba(255,255,255,.08); }
.ph-seg span { text-align: center; padding: .45rem; border-radius: 999px; font-weight: 600; font-size: .78rem; opacity: .7; }
.ph-seg .on { background: linear-gradient(90deg, #f59e3f, #e4566e); opacity: 1; color: #fff; }
.ph-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.ph-list li { display: grid; grid-template-columns: 34px 1fr auto; gap: .65rem; align-items: center; padding: .55rem .7rem; border-radius: 16px; background: rgba(255,255,255,.06); border: 1px solid transparent; }
.ph-list li.on { border-color: rgba(255,210,122,.55); background: rgba(245,158,63,.12); }
.ph-list b { display: block; font-size: .86rem; } .ph-list small { font-size: .68rem; opacity: .7; }
.ph-av { width: 34px; height: 34px; border-radius: 50%; }
.ph-av.a1 { background: radial-gradient(circle at 35% 30%, #ffd27a, #e4566e); }
.ph-av.a2 { background: radial-gradient(circle at 35% 30%, #ffe3b0, #f59e3f); }
.ph-av.a3 { background: radial-gradient(circle at 35% 30%, #f6c1cf, #7a4a8f); }
.ph-play { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-size: .6rem; background: rgba(255,255,255,.12); }
.ph-slider { position: relative; height: 6px; border-radius: 6px; background: rgba(255,255,255,.14); }
.ph-slider span { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: linear-gradient(90deg, #f59e3f, #ffd27a); }
.ph-slider span::after { content: ""; position: absolute; right: -7px; top: 50%; width: 14px; height: 14px; transform: translateY(-50%); border-radius: 50%; background: #fff6ea; box-shadow: 0 2px 8px rgba(0,0,0,.35); }
.ph-slider.sm { height: 4px; } .ph-slider.sm span::after { width: 11px; height: 11px; right: -5px; }
.ph-slider .v18 { width: 18%; } .ph-slider .v30 { width: 30%; } .ph-slider .v42 { width: 42%; } .ph-slider .v48 { width: 48%; } .ph-slider .v72 { width: 72%; }
.ph-scale { display: flex; justify-content: space-between; font-size: .62rem; opacity: .6; }
.mixer { list-style: none; margin: .4rem 0 0; padding: 0; display: grid; gap: .55rem; }
.mixer li { display: grid; grid-template-columns: 34px 1fr; grid-template-rows: auto auto; column-gap: .7rem; row-gap: .4rem; align-items: center; padding: .65rem .75rem; border-radius: 16px; background: rgba(255,255,255,.06); }
.mx-ico { grid-row: span 2; width: 34px; height: 34px; border-radius: 12px; display: grid; place-items: center; background: rgba(140,170,255,.14); color: #cfe0fb; }
.mx-ico svg { width: 20px; height: 20px; }
.mx-name { font-size: .8rem; font-weight: 600; }
.ph-timer { margin-top: auto; display: grid; grid-template-columns: 40px 1fr auto; gap: .7rem; align-items: center; padding: .7rem .8rem; border-radius: 18px; background: rgba(255,255,255,.08); }
.ph-timer .ring { width: 40px; height: 40px; border-radius: 50%; background: conic-gradient(#ffd27a 0 62%, rgba(255,255,255,.12) 62% 100%); -webkit-mask: radial-gradient(circle, transparent 13px, #000 14px); mask: radial-gradient(circle, transparent 13px, #000 14px); }
.ph-timer b { display: block; font-size: .86rem; } .ph-timer small { font-size: .66rem; opacity: .7; }

/* voice waveform */
.wave { display: inline-flex; align-items: center; gap: 2px; height: 22px; flex: none; }
.wave i { width: 2px; height: 30%; border-radius: 2px; background: #ffd27a; animation: prana-wave 1.6s ease-in-out infinite; }
.wave i:nth-child(3n) { height: 70%; animation-delay: .2s; } .wave i:nth-child(3n+1) { height: 45%; animation-delay: .45s; }
.wave i:nth-child(4n) { height: 90%; animation-delay: .7s; } .wave i:nth-child(5n) { height: 55%; animation-delay: .95s; }
.wave i:nth-child(7n) { height: 25%; animation-delay: 1.2s; }
@keyframes prana-wave { 0%,100% { transform: scaleY(.55); } 50% { transform: scaleY(1); } }

/* features */
.feature-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 1rem; }
.feature { display: flex; flex-direction: column; gap: .5rem; padding: 1.6rem 1.4rem; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line-light); text-decoration: none; color: inherit; transition: transform .4s var(--ease), box-shadow .4s var(--ease); }
.feature:hover { transform: translateY(-3px); box-shadow: 0 24px 60px -36px rgba(154,74,12,.45); }
.feature .ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, #f59e3f, #e4566e); margin-bottom: .8rem; }
.feature .ico svg { width: 26px; height: 26px; }
.feature h3 { font-size: 1.05rem; font-weight: 600; margin: 0; letter-spacing: -0.01em; }
.feature p { margin: 0; font-size: .9rem; color: var(--muted-light); }
.prana-split { align-items: center; }
.prana-split.flip > :first-child { order: 2; }
.phone-stage { display: grid; place-items: center; padding: 1rem 0; }
.ticks { list-style: none; margin: 1.6rem 0; padding: 0; display: grid; gap: .65rem; }
.ticks li { position: relative; padding-left: 1.9rem; }
.ticks li::before { content: ""; position: absolute; left: 0; top: .32em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: radial-gradient(circle, #ffd27a 0 28%, rgba(245,158,63,.25) 30% 100%); }
.dark .ticks li { color: var(--muted-dark); } .light .ticks li { color: var(--muted-light); }

/* interval + alarm setup cards */
.interval-card { max-width: 460px; margin-inline: auto; padding: 1.8rem; border-radius: 28px; background: linear-gradient(160deg, #2a1d2c, #171216); color: #fff6ea; box-shadow: 0 50px 110px -50px rgba(228,86,110,.55); border: 1px solid rgba(255,210,122,.16); }
.ic-ring { position: relative; width: 160px; height: 160px; margin: 0 auto 1.4rem; }
.ic-ring svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.ic-ring circle { fill: none; stroke-width: 8; } .ic-ring .bg { stroke: rgba(255,255,255,.1); }
.ic-ring .fg { stroke: #f59e3f; stroke-linecap: round; stroke-dasharray: 326.7; stroke-dashoffset: 138; }
.ic-ring > span { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.ic-ring b { font-size: 2.6rem; font-weight: 250; line-height: 1; } .ic-ring small { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; opacity: .7; }
.ic-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.ic-rows li { display: grid; grid-template-columns: 7.5rem 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .88rem; }
.ic-rows span { opacity: .65; } .ic-rows b { font-weight: 500; }
.as-time { margin: 0 0 1rem; font-size: 3.6rem; font-weight: 200; letter-spacing: -0.04em; line-height: 1; }
.as-time small { font-size: .9rem; font-weight: 500; margin-left: .3rem; letter-spacing: .1em; }
.as-time span { display: block; font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; opacity: .65; margin-top: .6rem; }
.as-themes { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.as-themes span { font-size: .75rem; padding: .35rem .75rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.18); opacity: .75; }
.as-themes .on { background: linear-gradient(90deg, #f59e3f, #e4566e); border-color: transparent; opacity: 1; }

/* healing & calm: slow breathing visual */
.prana-calm { overflow: hidden; text-align: center; background: radial-gradient(90% 80% at 50% 100%, #3a1f1a 0%, #1a1416 55%, #121114 100%); }
.narrow-center { max-width: 760px; position: relative; z-index: 1; }
.narrow-center .eyebrow { justify-content: center; }
.calm-visual { position: absolute; left: 50%; top: 50%; width: 0; height: 0; }
.calm-visual .breath { position: absolute; left: 50%; top: 50%; width: 420px; height: 420px; transform: translate(-50%,-50%) scale(.7); border-radius: 50%;
  background: radial-gradient(circle, rgba(245,158,63,.16), rgba(228,86,110,.05) 55%, transparent 70%); animation: prana-calm 10s ease-in-out infinite; }
.calm-visual .b2 { width: 640px; height: 640px; animation-delay: 1.2s; opacity: .7; }
.calm-visual .b3 { width: 880px; height: 880px; animation-delay: 2.4s; opacity: .5; }
@keyframes prana-calm { 0%,100% { transform: translate(-50%,-50%) scale(.7); } 45% { transform: translate(-50%,-50%) scale(1); } }
.breathe-cue { display: inline-grid; margin-top: 1.5rem; font-size: .8rem; letter-spacing: .3em; text-transform: uppercase; color: #ffd27a; }
.breathe-cue span { grid-area: 1 / 1; animation: prana-cue 10s ease-in-out infinite; }
.breathe-cue span + span { animation-delay: -5s; }
@keyframes prana-cue { 0%,40% { opacity: 1; } 50%,90% { opacity: 0; } 100% { opacity: 1; } }

.prana-logo-card { border-radius: 28px; background: radial-gradient(closest-side, rgba(245,158,63,.14), transparent 80%), var(--white); border: 1px solid var(--line-light); padding: clamp(1.5rem, 4vw, 3rem); }
.prana-logo-card img { width: 100%; height: auto; }
.prana-choices { border: 0; padding: 0; margin: 1.2rem 0; display: grid; gap: .5rem; }
.prana-choices legend { font-size: .9rem; margin-bottom: .5rem; font-weight: 500; }
.prana-choices label { display: flex; gap: .6rem; align-items: center; font-size: .92rem; }
.prana-choices input { accent-color: #c4651a; width: 1.05rem; height: 1.05rem; }

@media (max-width: 1100px) { .feature-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 900px) {
  .prana-split.flip > :first-child { order: 0; }
  .dawn-sky .sun { right: -20%; width: 420px; height: 420px; }
  .feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) { .feature-grid { grid-template-columns: minmax(0,1fr); } .ic-rows li { grid-template-columns: 6rem 1fr; } }
@media (prefers-reduced-motion: reduce) {
  .dawn-sky .sun, .dawn-sky .halo::before, .wave i, .calm-visual .breath, .breathe-cue span { animation: none; }
  .breathe-cue span + span { display: none; }
}
@media (max-width: 960px) { .prana-hero-art { order: 0; max-width: 360px; } }
.prana-row h2 + .lede, .prana-calm h2 + .lede { margin-top: 1.4rem; }
.prana-choices input[type="checkbox"] { -webkit-appearance: auto; appearance: auto; width: 1.05rem; height: 1.05rem; min-height: 0; padding: 0; margin: 0; flex: none; border: 0; box-shadow: none; background: none; }

/* ==========================================================================
   v2.1 owner feedback: taller header, bigger logo, active/hover nav underline, sticky blur;
   Vitana lockup tagline restored as in the original (bold sky-blue, dash lines, VITANA VENTURES below).
   ========================================================================== */
.site-header { background: rgba(21, 23, 26, 0.82); transition: background .35s, box-shadow .35s, border-color .35s; }
.site-header.scrolled { background: rgba(21, 23, 26, 0.72); -webkit-backdrop-filter: saturate(160%) blur(18px); backdrop-filter: saturate(160%) blur(18px);
  box-shadow: 0 10px 30px -18px rgba(0,0,0,.7); border-bottom-color: rgba(207,224,251,.16); }
.theme-sfr .site-header.scrolled { background: rgba(9, 9, 9, 0.78); }
.nav { height: 92px; }
.brand { gap: .9rem; }
.brand img.brand-mark { height: 64px; width: auto; }
.brand-text { gap: .42rem; }
.brand-text img.brand-word { height: 30px; width: auto; }
.brand-text small { font-size: .66rem; letter-spacing: .32em; color: #e6eaf0; font-weight: 600; }
/* nav: active = bright text + 3px rounded blue-gradient bar; others get an animated hover bar */
.nav-links a:not(.nav-cta) { padding: .45rem 0; color: rgba(241,245,250,.74); }
.nav-links a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, #5b8fe0, #2f5fb0); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ease); display: block; }
.nav-links a:not(.nav-cta):hover::after, .nav-links a:not(.nav-cta):focus-visible::after { transform: scaleX(1); }
.nav-links a[aria-current="page"]:not(.nav-cta) { color: #ffffff; font-weight: 600; }
.nav-links a[aria-current="page"]:not(.nav-cta)::after { transform: scaleX(1); background: linear-gradient(90deg, #5b8fe0, #2f5fb0); }
.nav-cta[aria-current="page"] { color: #fff; font-weight: 600; border-color: transparent; background: linear-gradient(90deg, #5b8fe0, #2f5fb0); }
@media (prefers-reduced-motion: reduce) { .nav-links a::after { transition: none; } }
@media (max-width: 1240px) {
  .nav-links { top: 92px; background: rgba(21,23,26,.97); }
  .nav-links a:not(.nav-cta) { padding: 1rem 0 1rem .9rem; }
  .nav-links a:not(.nav-cta)::after, .nav-links a[aria-current="page"]::after { display: block; left: 0; right: auto; top: 50%; bottom: auto; width: 3px; height: 1.4rem;
    transform: translateY(-50%) scaleY(0); transform-origin: center; }
  .nav-links a[aria-current="page"]:not(.nav-cta)::after { transform: translateY(-50%) scaleY(1); }
  .nav-links a:not(.nav-cta):hover::after { transform: translateY(-50%) scaleY(1); }
  .nav-links .nav-cta { padding: 1rem 0 1rem .9rem; }
  .nav-cta[aria-current="page"] { background: none; color: #fff; border-left: 3px solid #5b8fe0; padding-left: calc(.9rem - 3px); }
}
@media (max-width: 600px) {
  .nav { height: 72px; } .nav-links { top: 72px; }
  .brand img.brand-mark { height: 48px; }
  .brand-text img.brand-word { height: 22px; }
  .brand-text small { font-size: .56rem; letter-spacing: .26em; }
}
/* lockup tagline, everywhere the full logo appears */
.lockup-tag { white-space: normal; color: #4aa8f0; font-weight: 700; letter-spacing: .01em; line-height: 1.35; }
.lockup .gl { display: inline-block; vertical-align: middle; width: 40px; height: 2px; border-radius: 2px; margin: 0 .6rem;
  background: linear-gradient(90deg, transparent, #4aa8f0 45%, #5b8fe0); }
.lockup .gl:last-child { background: linear-gradient(90deg, #5b8fe0, #4aa8f0 55%, transparent); }
.lockup-name { color: #f1f5fa; font-weight: 600; opacity: 1; }
/* home hero */
.big-lockup .lk-logo { width: 52%; }
.big-lockup .lockup-tag { display: block; max-width: 34ch; margin: 1.6rem auto 0; font-size: clamp(1.05rem, .7rem + 1vw, 1.375rem); letter-spacing: .01em; color: #4aa8f0;
  text-shadow: 0 2px 18px rgba(74,168,240,.25); text-wrap: balance; }
.big-lockup .gl { width: 56px; height: 2px; }
.big-lockup .lockup-name { margin-top: 1.1rem; font-size: clamp(.85rem, .7rem + .35vw, 1rem); letter-spacing: .5em; padding-left: .5em; }
.js .big-lockup .gl { transform-origin: center; }
/* footer */
.lockup-left .lockup-tag { font-size: .95rem; letter-spacing: .01em; }
.lockup-left .lockup-tag .gl:first-child { margin-left: 0; }
.lockup-left .gl { width: 28px; }
.lockup-left .lockup-name { font-size: .72rem; letter-spacing: .4em; margin-top: .6rem; }
@media (max-width: 960px) { .hero-art.hero-art-xl { aspect-ratio: auto; max-width: 520px; padding-block: 1rem; } .hero-art-xl .seal-stage { position: relative; } }
@media (max-width: 600px) {
  .hero-art.hero-art-xl { max-width: 100%; }
  .big-lockup { width: 100%; } .big-lockup .lk-logo { width: 56%; }
  .big-lockup .lockup-tag { font-size: 1.12rem; max-width: 22ch; letter-spacing: 0; }
  .big-lockup .gl { width: 26px; margin: 0 .45rem; }
  .big-lockup .lockup-name { font-size: .8rem; letter-spacing: .42em; }
}
@media (max-width: 1240px) { .site-header .nav-links { background: #15171a; box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); } }
.lockup-left .lockup-tag { text-wrap: balance; max-width: 22em; }

/* =====================================================================
   v2.2: industry navigation, header lockup with tagline, footer
   ===================================================================== */
:root { --tagline: #4db3ff; --hd-dur: .22s; }
.site-header .hd-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 84px; padding-block: .5rem; }
.hd-brand { display: inline-flex; flex-direction: column; align-items: center; gap: .26rem; text-decoration: none; color: var(--ivory); flex: 0 1 auto; min-width: 0; }
.hd-brand:focus-visible { outline: 2px solid var(--tagline); outline-offset: 6px; border-radius: 6px; }
.brand-logo { display: inline-flex; align-items: center; gap: .6rem; }
.brand-logo .brand-mark { height: 40px; width: auto; }
.brand-logo .brand-word { height: 21px; width: auto; }
.brand-name { display: block; font-size: .58rem; font-weight: 600; letter-spacing: .42em; padding-left: .42em; text-transform: uppercase; color: #e6eaf0; line-height: 1; }

/* desktop mega-menu */
.hd-toggle { display: none; }
.hd-links { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: .15rem; }
.nav-item { position: relative; }
.nav-btn, .hd-link { display: inline-flex; align-items: center; gap: .4rem; background: none; border: 0; font: inherit; font-size: .86rem; font-weight: 500; color: rgba(241,245,250,.8);
  padding: .7rem .6rem; cursor: pointer; text-decoration: none; position: relative; white-space: nowrap; border-radius: 8px; transition: color var(--hd-dur); }
.nav-btn:hover, .hd-link:hover, .nav-item.open > .nav-btn { color: #fff; }
.nav-btn:focus-visible, .hd-link:focus-visible, .hd-cta:focus-visible, .hd-toggle:focus-visible, .np-link:focus-visible, .np-head:focus-visible { outline: 2px solid var(--tagline); outline-offset: 2px; }
.nav-btn::after, .hd-link::after { content: ""; position: absolute; left: .6rem; right: .6rem; bottom: .3rem; height: 2px; border-radius: 2px; background: linear-gradient(90deg, #5b8fe0, var(--tagline)); transform: scaleX(0); transform-origin: left; transition: transform var(--hd-dur) var(--ease); }
.nav-btn:hover::after, .nav-item.open > .nav-btn::after, .nav-item[data-here="true"] > .nav-btn::after, .hd-link:hover::after, .hd-link[aria-current="page"]::after { transform: scaleX(1); }
.nav-item[data-here="true"] > .nav-btn, .hd-link[aria-current="page"] { color: #fff; font-weight: 600; }
.nav-btn .chev { transition: transform var(--hd-dur); opacity: .75; }
.nav-item.open > .nav-btn .chev { transform: rotate(180deg); }
.hd-cta { display: inline-flex; align-items: center; margin-left: .6rem; padding: .62rem 1.15rem; border-radius: 999px; font-size: .86rem; font-weight: 600; text-decoration: none; color: #fff;
  background: linear-gradient(90deg, #5b8fe0, #2f5fb0); border: 1px solid transparent; transition: filter var(--hd-dur), transform var(--hd-dur); }
.hd-cta:hover { filter: brightness(1.12); }
.hd-cta[aria-current="page"] { box-shadow: 0 0 0 2px #15171a, 0 0 0 4px var(--tagline); }

.nav-panel { position: absolute; top: calc(100% + 12px); left: -14px; width: 440px; padding: .5rem; border-radius: 18px; background: #181b20; border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 34px 70px -24px rgba(0,0,0,.85), 0 0 0 1px rgba(0,0,0,.4); visibility: hidden; opacity: 1; transform: translateY(6px); transition: none; z-index: 1100; isolation: isolate; }
.nav-panel::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
.nav-item:nth-child(n+3) > .nav-panel { left: auto; right: -14px; }
.nav-item.open > .nav-panel { visibility: visible; opacity: 1; transform: none; transition: transform .16s var(--ease); }
.np-head { display: block; padding: 1rem 1.1rem .9rem; text-decoration: none; border-radius: 12px; color: #fff; }
.np-head b { display: block; font-family: var(serif, inherit); font-size: 1.05rem; font-weight: 600; letter-spacing: .005em; }
.np-head span { display: block; color: #a8b3c2; font-size: .84rem; margin-top: .15rem; }
.np-head i { display: inline-flex; align-items: center; gap: .4rem; margin-top: .6rem; font-style: normal; font-size: .78rem; color: var(--tagline); font-weight: 600; }
.np-head:hover { background: rgba(255,255,255,.04); }
.np-list { list-style: none; margin: 0; padding: .35rem 0 0; border-top: 1px solid rgba(255,255,255,.08); }
.np-link { display: block; padding: .8rem 1.1rem; border-radius: 12px; text-decoration: none; color: #fff; transition: background var(--hd-dur); }
.np-link:hover { background: rgba(91,143,224,.14); }
.np-link[aria-current="page"] { background: rgba(91,143,224,.18); box-shadow: inset 3px 0 0 var(--tagline); }
.np-name { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; font-weight: 600; font-size: .98rem; }
.np-name em { font-style: italic; font-weight: 400; color: #c3cedc; font-size: .9rem; }
.np-desc { display: block; margin-top: .22rem; font-size: .82rem; line-height: 1.45; color: #a8b3c2; }
.badge { display: inline-flex; align-items: center; padding: .08rem .5rem; border-radius: 999px; font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #15171a; background: #ffd479; line-height: 1.5; }
.ext { opacity: .8; align-self: center; }

/* header tagline sizing: desktop wide */
@media (min-width: 1320px) {
  .site-header .hd-nav { min-height: 96px; }
  .brand-logo .brand-mark { height: 46px; } .brand-logo .brand-word { height: 24px; }
  .brand-name { font-size: .62rem; }
}

/* drawer + accordion below 1320px (tablet, phones) */
@media (max-width: 1319.98px) {
  .hd-toggle { display: inline-flex; align-items: center; gap: .55rem; min-height: 44px; min-width: 44px; justify-content: center; padding: 0 .9rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.04); color: #fff; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; }
  .hd-toggle .bars, .hd-toggle .bars::before, .hd-toggle .bars::after { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: transform var(--hd-dur), opacity var(--hd-dur); }
  .hd-toggle .bars { position: relative; }
  .hd-toggle .bars::before, .hd-toggle .bars::after { content: ""; position: absolute; left: 0; }
  .hd-toggle .bars::before { top: -6px; } .hd-toggle .bars::after { top: 6px; }
  .hd-toggle[aria-expanded="true"] .bars { background: transparent; }
  .hd-toggle[aria-expanded="true"] .bars::before { transform: translateY(6px) rotate(45deg); }
  .hd-toggle[aria-expanded="true"] .bars::after { transform: translateY(-6px) rotate(-45deg); }
  .hd-links { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: .4rem max(var(--hd-pad, 1rem), calc((100vw - 760px) / 2)) 2rem;
    background: #15171a; border-top: 1px solid var(--line-dark); box-shadow: 0 40px 60px -20px rgba(0,0,0,.85); max-height: calc(100vh - 100px); max-height: calc(100dvh - 100px); overflow-y: auto; overscroll-behavior: contain; }
  .hd-links.open { display: flex; }
  html.nav-open, html.nav-open body { overflow: hidden; }
  .nav-item { width: 100%; border-bottom: 1px solid var(--line-dark); }
  .nav-btn, .hd-link { width: 100%; justify-content: space-between; padding: 1.05rem .2rem; font-size: 1.05rem; border-radius: 0; color: #f1f5fa; }
  .nav-btn::after, .hd-link::after { display: none; }
  .nav-item[data-here="true"] > .nav-btn, .hd-link[aria-current="page"] { box-shadow: inset 3px 0 0 var(--tagline); padding-left: .9rem; }
  .nav-panel { position: static; width: auto; visibility: visible; opacity: 1; transform: none; display: none; background: transparent; border: 0; box-shadow: none; padding: 0 0 1rem .9rem; transition: none; }
  .nav-panel::before { display: none; }
  .nav-item:nth-child(n+3) > .nav-panel { right: auto; }
  .nav-item.open > .nav-panel { display: block; }
  .np-head { padding: .2rem .4rem .6rem; }
  .np-head b, .np-head span { display: none; }
  .np-head i { margin: 0; }
  .np-list { border-top: 0; padding: 0; }
  .np-link { padding: .75rem .9rem; background: rgba(255,255,255,.04); margin-bottom: .45rem; }
  .nav-item.plain { border-bottom: 0; }
  .nav-item.plain:nth-last-child(2) { border-bottom: 1px solid var(--line-dark); }
  .hd-cta { margin: 1.2rem 0 0; justify-content: center; padding: .95rem 1.2rem; font-size: 1rem; width: 100%; }
  }
@media (max-width: 520px) {
  .site-header .hd-nav { min-height: 78px; gap: .5rem; }
  .brand-logo .brand-mark { height: 34px; } .brand-logo .brand-word { height: 18px; }
      .brand-name { font-size: .52rem; letter-spacing: .38em; }
  .hd-toggle { padding: 0; width: 44px; } .hd-toggle .lbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .site-header.scrolled .brand-tagline, .site-header.scrolled .brand-name { display: none; }
  .site-header.scrolled .hd-nav { min-height: 56px; }
  .hd-links { max-height: calc(100vh - 80px); max-height: calc(100dvh - 80px); }
}
@media (max-width: 340px) { .brand-logo .brand-word { height: 16px; } }
@media (prefers-reduced-motion: reduce) { .nav-panel, .nav-btn::after, .hd-link::after, .hd-toggle .bars, .hd-toggle .bars::before, .hd-toggle .bars::after { transition: none; } }

/* footer v2.2 */
.footer-top { grid-template-columns: 1.15fr 1.9fr .9fr; gap: 3rem; }
@media (max-width: 1000px) { .footer-top { grid-template-columns: 1fr 1fr; } .footer-brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .footer-top { grid-template-columns: 1fr; gap: 2.2rem; } }
.footer-brand .lockup img { width: 104px; height: auto; margin: 0 0 1rem; opacity: 1; }
.footer-brand .lockup { text-align: left; }
.footer-brand .lockup-tag { font-size: .88rem; display: flex; align-items: center; flex-wrap: wrap; gap: .1rem .3rem; margin: 0; color: var(--tagline); font-weight: 700; max-width: 100%; }
.footer-brand .lockup-tag .gl { display: none; }
.footer-brand .lockup-tag .tg::before { content: "\2014\00a0"; } .footer-brand .lockup-tag .tg::after { content: "\00a0\2014"; }
.footer-brand .lockup-name { margin: .5rem 0 1.4rem; font-size: .7rem; letter-spacing: .4em; text-transform: uppercase; color: #e6eaf0; font-weight: 600; }
.footer-brand p { font-size: .86rem; }
.fi-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 2rem; }
@media (max-width: 560px) { .fi-list { grid-template-columns: 1fr; } }
.fi-list > li { margin: 0; }
.site-footer .fi-h { display: block; color: var(--ivory); font-weight: 600; margin-bottom: .55rem; }
.fi ul li { margin-bottom: .4rem; }
.fi .badge { margin: 0 .25rem; vertical-align: 1px; }
.fi .ext { margin-left: .15rem; }
.site-footer .mt-h { margin-top: 2rem; }
.site-footer a[aria-current="page"] { color: var(--ivory); }
.site-footer a:focus-visible { outline: 2px solid var(--tagline); outline-offset: 3px; border-radius: 3px; }
@media (max-width: 560px) { .footer-bottom { flex-direction: column; } }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* industries + about (v2.2) */
.ind-section .split { align-items: start; }
.ind-no { font-size: .74rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--accent-ink); margin-bottom: 1.2rem; display: block; }
.ind-section h2 { font-size: var(--step-4); }
.ind-stack { display: grid; gap: 1.1rem; }
.ind-card { padding: 1.9rem 1.8rem; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line-light); }
.section.light .ind-card { background: #fff; }
.ind-card header { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .9rem; margin-bottom: .7rem; }
.ind-card h3 { font-size: var(--step-2); margin: 0; }
.ind-card h3 em { font-weight: 400; font-style: italic; color: var(--muted-light); font-size: .8em; }
.ind-status { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: .2rem .65rem; border-radius: 999px; background: #e6edf9; color: #1f3f7a; }
.ind-status.preview { background: #ffe9b0; color: #5a3d00; }
.ind-card p { color: var(--muted-light); font-size: .97rem; margin: 0 0 1rem; }
.ind-card ul { margin: 0 0 1.2rem; padding-left: 1.1rem; color: var(--muted-light); font-size: .93rem; } .ind-card li { margin-bottom: .3rem; }
.ind-links { display: flex; flex-wrap: wrap; gap: .5rem 1.4rem; }
.ind-links a { font-weight: 600; font-size: .92rem; color: var(--accent-ink); display: inline-flex; align-items: center; gap: .45rem; text-underline-offset: .25em; }
.ind-links .badge { background: #ffd479; }
.ind-toc { list-style: none; display: flex; flex-wrap: wrap; gap: .6rem; padding: 0; margin: 2.2rem 0 0; }
.ind-toc a { display: inline-block; padding: .6rem 1.1rem; border-radius: 999px; border: 1px solid var(--line-dark); color: var(--ivory); text-decoration: none; font-size: .9rem; transition: border-color .2s, background .2s; }
.ind-toc a:hover { border-color: #4db3ff; background: rgba(77,179,255,.1); }
.ind-section { scroll-margin-top: 110px; }
.about-lockup { display: grid; place-items: center; padding: 3rem 1rem; border-radius: var(--radius); background: #15171a; }
.about-lockup .big-lockup { margin: 0; }
@media (max-width: 760px) { .ind-section .split { gap: 2rem; } }
.site-header, .site-header.scrolled { background: rgba(21, 23, 26, .97); }
.theme-sfr .site-header, .theme-sfr .site-header.scrolled { background: rgba(9, 9, 9, .97); }
.site-footer h4, .site-footer .fi-h { font-family: var(--font-body, "Inter", ui-sans-serif, system-ui, sans-serif); }
.fi li a { display: inline-flex; align-items: center; gap: .3rem; flex-wrap: nowrap; }

/* v2.2: about page mark + industry index cards */
.about-mark{width:min(180px,50vw);height:auto;margin-inline:auto}
a.card{text-decoration:none}

/* v2.2.1: header and footer brand lockup is LEFT-aligned (logo, tagline and name share one left edge) */
.hd-brand { align-items: flex-start; text-align: left; }
.brand-name { padding-left: 0; letter-spacing: .4em; }
.brand-logo { justify-content: flex-start; }
.footer-brand, .footer-brand .lockup { align-items: flex-start; text-align: left; }
.footer-brand .lockup-name { padding-left: 0; }
@media (max-width: 520px) { .brand-name { letter-spacing: .34em; } }

/* v2.3: header spacing. Brand sits near the left edge, tabs sit flush right, clear gap between them. */
.site-header { --hd-pad: clamp(16px, 2vw, 24px); }
.site-header .wrap.hd-nav { width: calc(100% - 2 * var(--hd-pad)); max-width: none; margin-inline: auto; }
.hd-links { margin-left: auto; }
@media (min-width: 1320px) {
  .hd-brand { margin-right: clamp(3rem, 4.5vw, 5.5rem); }
  .hd-links { justify-content: flex-end; }
}

/* v2.4: venture icons sit inline to the left of the venture name, vertically centred. Decorative (alt=""), the name is always adjacent. */
.v-ic { display: inline-block; flex: none; border-radius: 22%; vertical-align: middle; object-fit: contain; }
.v-ic-xs { width: 20px; height: 20px; } .v-ic-sm { width: 28px; height: 28px; } .v-ic-md { width: 36px; height: 36px; } .v-ic-lg { width: 52px; height: 52px; }
@media (max-width: 520px) { .v-ic-lg { width: 46px; height: 46px; } }
/* top-bar dropdown items */
.np-link { display: flex; align-items: center; gap: .85rem; }
.np-link .np-ic { width: 38px; height: 38px; }
.np-txt { display: block; min-width: 0; flex: 1 1 auto; }
/* footer link lists */
.fi li a { gap: .55rem; }
.fi li a .v-ic { border-radius: 6px; }
/* industries page cards: icon + name on the left, status pill kept on the same row */
.ind-card header { align-items: center; justify-content: space-between; gap: .6rem 1rem; flex-wrap: wrap; }
.ind-card h3 { display: flex; align-items: center; gap: .8rem; min-width: 0; }
.ind-card h3 .ven-title { min-width: 0; }
.ind-card header .ind-status { flex: none; white-space: nowrap; }
/* page-header eyebrow with a 52 px icon */
.ven-head { gap: 1rem; }
.ven-head::before { display: none; }
.ven-head > span { line-height: 1.5; }
/* group home: venture cards and hero meta */
.v-logo img.v-ic { width: 56px; height: 56px; max-width: none; }
.hero-meta b { display: flex; align-items: center; gap: .55rem; }
.hero-meta b .v-ic { border-radius: 6px; }
/* Thulli sub-bar */
.ts-brand .v-ic { width: 36px; height: 36px; }
@media (max-width: 520px) { .ind-card h3 { font-size: 1.45rem; } .ind-card h3 .v-ic { width: 34px; height: 34px; } }

/* =====================================================================
   v2.7: navigation states. One accent (--tagline, the site's blue) used three ways:
   hover = neutral wash, open = stronger wash, current page = blue tint + ring + small indicator.
   Keyboard focus = white ring, so it never reads as "current". No colour-only cues: current also has weight, a bar/dot.
   ===================================================================== */
:root { --nav-tint: rgba(77,179,255,.14); --nav-tint-2: rgba(77,179,255,.22); --nav-ring: rgba(77,179,255,.4); --nav-wash: rgba(255,255,255,.07); }
.nav-btn, .hd-link { transition: color var(--hd-dur), background-color var(--hd-dur), box-shadow var(--hd-dur); }
.nav-btn:hover, .hd-link:hover { background-color: var(--nav-wash); color: #fff; }
.nav-item.open > .nav-btn { background-color: rgba(255,255,255,.11); color: #fff; }
.nav-btn::after, .hd-link::after { left: 50%; right: auto; width: 18px; margin-left: -9px; bottom: 4px; height: 3px; background: var(--tagline); box-shadow: 0 0 10px rgba(77,179,255,.55); transform: scaleX(0); transform-origin: center; opacity: 0; transition: transform var(--hd-dur) var(--ease), opacity var(--hd-dur); }
.nav-btn:hover::after, .hd-link:hover::after, .nav-item.open > .nav-btn::after { transform: scaleX(0); opacity: 0; }
.nav-item[data-here="true"] > .nav-btn, .hd-link[aria-current="page"] { color: #fff; font-weight: 600; background-color: var(--nav-tint); box-shadow: inset 0 0 0 1px var(--nav-ring); }
.nav-item[data-here="true"] > .nav-btn::after, .hd-link[aria-current="page"]::after { transform: scaleX(1); opacity: 1; }
.nav-item[data-here="true"] > .nav-btn:hover, .hd-link[aria-current="page"]:hover, .nav-item[data-here="true"].open > .nav-btn { background-color: var(--nav-tint-2); }
.nav-item[data-here="true"] > .nav-btn:hover::after, .hd-link[aria-current="page"]:hover::after, .nav-item[data-here="true"].open > .nav-btn::after { transform: scaleX(1); opacity: 1; }
.nav-item[data-here="true"] > .nav-btn .chev { color: var(--tagline); opacity: 1; }
.nav-btn:focus-visible, .hd-link:focus-visible, .hd-cta:focus-visible, .hd-toggle:focus-visible, .np-link:focus-visible, .np-head:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.np-link:focus-visible, .np-head:focus-visible { outline-offset: -2px; }

/* dropdown items */
.np-link { position: relative; transition: background-color var(--hd-dur), box-shadow var(--hd-dur); }
.np-link:hover { background: var(--nav-wash); }
.np-link[aria-current="page"] { background: var(--nav-tint); box-shadow: inset 0 0 0 1px var(--nav-ring); padding-left: 1.5rem; padding-right: 2.6rem; }
.np-link[aria-current="page"]:hover { background: var(--nav-tint-2); }
.np-link[aria-current="page"]::before { content: ""; position: absolute; left: 9px; top: 14px; bottom: 14px; width: 4px; border-radius: 4px; background: var(--tagline); }
.np-link[aria-current="page"]::after { content: ""; position: absolute; right: 16px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--tagline); box-shadow: 0 0 0 4px rgba(77,179,255,.22); }
.np-link[aria-current="page"] .np-desc { color: #c3cedc; }

/* drawer (tablet, phone) */
@media (max-width: 1319.98px) {
  .nav-btn:hover, .hd-link:hover { background-color: var(--nav-wash); }
  .nav-item[data-here="true"] > .nav-btn, .hd-link[aria-current="page"] { background-color: var(--nav-tint); box-shadow: inset 4px 0 0 var(--tagline); padding-left: 1rem; border-radius: 0 10px 10px 0; font-weight: 600; }
  .nav-item[data-here="true"] > .nav-btn:hover, .hd-link[aria-current="page"]:hover, .nav-item[data-here="true"].open > .nav-btn { background-color: var(--nav-tint-2); }
  .nav-btn:focus-visible, .hd-link:focus-visible { outline-offset: -3px; }
  .np-link { min-height: 56px; }
  .np-link[aria-current="page"] { background: var(--nav-tint); }
  .np-link[aria-current="page"]::before { left: 7px; top: 12px; bottom: 12px; }
  .np-link[aria-current="page"]::after { right: 14px; }
}
@media (prefers-reduced-motion: reduce) { .nav-btn, .hd-link, .np-link, .nav-btn::after, .hd-link::after { transition: none; } }


/* =====================================================================
   v2.7: single-venture pages. No sticky company header and no venture tab row. A quiet, non-sticky, one-line text strip on top
   (back to Vitana Ventures + a few plain links; collapses to a text menu on phones) and a clear back link above the footer.
   No logos or images in the strip, so the venture's own logo and hero lead.
   ===================================================================== */
.vstrip { position: static; background: #121417; border-bottom: 1px solid rgba(255,255,255,.07); color: #aeb7c4; font-size: .78rem; }
.theme-sfr .vstrip { background: #070707; }
.vs-nav { display: flex; align-items: center; justify-content: space-between; gap: .5rem 1.2rem; min-height: 44px; position: relative; }
.vs-back { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; color: #d3dae4; text-decoration: none; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; font-size: .7rem; }
.vs-back:hover { color: #fff; } .vs-back span { font-size: .95rem; letter-spacing: 0; transition: transform .2s; } .vs-back:hover span { transform: translateX(-3px); }
.vs-links { list-style: none; margin: 0; padding: 0; display: flex; gap: .2rem; }
.vs-links a, .vs-menu ul a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .7rem; color: #aeb7c4; text-decoration: none; border-radius: 6px; }
.vs-links a:hover, .vs-menu ul a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.vs-back:focus-visible, .vs-links a:focus-visible, .vs-menu summary:focus-visible, .vs-menu ul a:focus-visible, .back-link:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.vs-menu { display: none; }
.vs-menu summary { list-style: none; cursor: pointer; display: inline-flex; align-items: center; min-height: 44px; padding: 0 .8rem; color: #d3dae4; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; min-width: 44px; justify-content: center; }
.vs-menu summary::-webkit-details-marker { display: none; }
.vs-menu[open] summary { color: #fff; background: rgba(255,255,255,.08); }
.vs-menu ul { list-style: none; margin: 0; padding: .3rem; position: absolute; right: 0; top: 100%; z-index: 20; min-width: 200px; background: #181b20; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; box-shadow: 0 24px 50px -20px rgba(0,0,0,.8); }
.vs-menu ul a { display: flex; font-size: .95rem; }
@media (max-width: 700px) { .vs-links { display: none; } .vs-menu { display: block; } }
.back-link { display: inline-flex; align-items: center; gap: .6rem; min-height: 44px; padding: .45rem 1.1rem .45rem .85rem; border-radius: 999px; border: 1px solid rgba(255,255,255,.26); background: rgba(255,255,255,.06);
  color: #fff; font-size: .95rem; font-weight: 600; text-decoration: none; transition: background-color .22s, border-color .22s; }
.back-link .bk-ar { flex: none; transition: transform .22s; }
.back-link:hover { background: rgba(77,179,255,.16); border-color: var(--tagline, #4db3ff); } .back-link:hover .bk-ar { transform: translateX(-3px); }
.back-foot { background: #15171a; border-top: 1px solid rgba(255,255,255,.08); padding-block: 1.4rem; color: #fff; }
.theme-sfr .back-foot { background: #090909; }
@media (prefers-reduced-motion: reduce) { .back-link, .back-link .bk-ar, .vs-back span { transition: none; } }

/* v2.7: header tagline (single constant HEADER_TAGLINE in common.py). Blue accent #4db3ff on the dark header (about 7.9:1); the header is dark on every page and theme. */
.brand-tagline { display: block; margin-top: .02rem; font-size: .68rem; font-weight: 600; line-height: 1.25; letter-spacing: .01em; color: var(--tagline); text-align: left; max-width: 100%; }
@media (min-width: 1320px) { .brand-tagline { font-size: .74rem; } }
@media (max-width: 520px) { .brand-tagline { font-size: .62rem; } }
@media (max-width: 360px) { .brand-tagline { font-size: .56rem; } }
@media (min-width: 521px) { .brand-tagline { white-space: nowrap; } }
@media (min-width: 1320px) { .hd-brand { flex-shrink: 0; } .brand-tagline { font-size: .7rem; } }
@media (min-width: 1320px) and (max-width: 1439px) { .brand-tagline { font-size: .64rem; } .hd-brand { margin-right: 3.25rem; } }

/* v2.8: Kebabs and Stew venture page: large logo lockup instead of the small icon eyebrow */
.kas-lockup { display: block; height: 64px; width: auto; max-width: 100%; margin: 0 0 1.1rem; }
@media (min-width: 600px) { .kas-lockup { height: 76px; } }
@media (min-width: 1100px) { .kas-lockup { height: 88px; } }
.kas-by { margin-bottom: 1rem; }

/* v2.9: the Kebabs and Stew glow sits behind the copy and never intercepts clicks */
.kas-embers { z-index: 0; pointer-events: none; }
.kas-soon .kas-grid { position: relative; z-index: 1; }


/* Vitana theme-aware header: exactly ONE logo visible */
.foot .lockup img[src*="vitana"] { max-height: 96px; width: auto; }

/* Vitana header: exactly one logo (site chrome is dark). Theme dual-logo removed. */
.brand-logo .vitana-header,
.brand-logo .brand-mark { display: inline-block; height: 40px; width: auto; }
.brand-logo .vitana-header-light { display: none !important; }
.hd-brand .brand-name,
.hd-brand .brand-tagline,
.hd-brand .brand-word { display: none !important; }
/* Hero lockup: logo artwork already carries name + tagline — never re-print */
.hero-lockup .lockup-tag,
.hero-lockup .lockup-name,
.big-lockup.hero-lockup .lockup-tag,
.big-lockup.hero-lockup .lockup-name { display: none !important; }

.tagline-line { margin: .35rem 0 1rem; font-size: 1.05rem; color: var(--muted, #8a93a3); }

/* v2.2 (31 Oct 2026): much larger, clearly visible header logo — owner request */
.brand-logo .vitana-header,
.brand-logo .brand-mark { height: 140px !important; width: auto !important; max-width: none; }
.site-header .hd-nav, .site-header.scrolled .hd-nav { min-height: 160px; padding-block: .6rem; }
.site-header.scrolled .brand-logo .vitana-header { height: 96px !important; }
.site-header.scrolled .hd-nav { min-height: 112px; }
@media (max-width: 720px) {
  .brand-logo .vitana-header, .brand-logo .brand-mark { height: 96px !important; }
  .site-header .hd-nav { min-height: 116px; }
  .site-header.scrolled .brand-logo .vitana-header { height: 64px !important; }
  .site-header.scrolled .hd-nav { min-height: 80px; }
}

/* Official live venture logos, 6 Nov 2026 */
.v-logo-img > img, .kas-lockup { width: min(100%, 300px); height: auto; max-height: none; }
.venture-logo-lockup img { width: min(100%, 210px); height: auto; }

/* Official dark-background lockup needs a contrast-safe presentation. */
.v-kas .v-logo-img, .kas-grid > div:first-child { }
.v-kas .v-logo-img { background: #fff; border-radius: 12px; padding: 12px 18px; width: min(100%, 336px); }
.v-kas .v-logo-img > img { width: 100%; height: auto; }
.kas-lockup { background: #fff; border-radius: 12px; padding: 14px 20px; width: min(100%, 348px); height: auto; }
/* The official horizontal lockup is not a square icon. Show the name beside its registered mark. */
.np-link img.knotbridge-icon, img.v-ic[src*="knotbridge-icon"] { object-fit: contain; }
