/* Gvine's approved cosmic accents. The shared Nyden layout stays in gvine.css. */
:root {
  --ink: #161b38;
  --body: #555b71;
  --gold: #6840b5;
  --gold-soft: #e3d7fb;
  --blue: #dce9ff;
  --ivory: #f4f2fc;
  --line: #deddf0;
  --cosmic-purple: #6840b5;
  --cosmic-blue: #245eb2;
  --cosmic-gradient: linear-gradient(110deg, #6840b5, #245eb2);
}

body {
  background: linear-gradient(120deg, #f7f5ff, #f3f8ff 50%, #f9f7ff);
}
main { background: #fff; }
.site-header {
  background: linear-gradient(100deg, #fcfafff5, #f7fbfff5);
  border-bottom-color: #d9d5ee;
}
.wordmark { color: #2d3263; }
.wordmark span { color: #606787; border-left-color: #8464c9; }
.site-header nav a { color: #3c4265; }
.site-header nav a[aria-current=page] { border-color: var(--cosmic-purple); color: #503197; }
.nav-toggle { background: #f7f4ff; color: #503197; border-color: #cec3ea; }
.site-header.nav-open nav { background: #fcfaff; }
.eyebrow { color: #6540a8; }

.hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(ellipse at 13% 17%, #bdb0ec5c, transparent 44%),
    radial-gradient(ellipse at 85% 24%, #95c5f66b, transparent 43%),
    radial-gradient(ellipse at 54% 96%, #d9caf658, transparent 46%),
    linear-gradient(150deg, #f9f6ff, #f4f9ff 55%, #fbfaff);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 13% 22%, #8877c8 0 1px, transparent 2px),
    radial-gradient(circle at 24% 9%, #749ac8 0 1px, transparent 2px),
    radial-gradient(circle at 86% 15%, #8f78c8 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 92% 52%, #6392d0 0 1px, transparent 2px),
    radial-gradient(circle at 7% 72%, #8f78c8 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 81% 86%, #749ac8 0 1px, transparent 2px);
  opacity: .65;
}
.hero::after {
  content: '';
  position: absolute;
  width: 720px;
  height: 720px;
  right: -450px;
  top: -370px;
  border: 1px solid #818ac826;
  border-radius: 50%;
  box-shadow: 0 0 0 40px #818ac808, 0 0 0 100px #818ac807;
  pointer-events: none;
}
.hero > * { position: relative; z-index: 1; }
.hero h1 em, .meet-gvine-card h2, .brief h2 em {
  color: var(--cosmic-purple);
  background: var(--cosmic-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.lede { color: #303853; }
.meet-gvine-card h2 { width: fit-content; max-width: 100%; }
.button {
  color: #fff;
  border-color: #6851b8;
  background: linear-gradient(110deg, #6340b6, #285fb5);
  box-shadow: 0 5px 18px #5a49ad2c;
}
.button:hover { background: linear-gradient(110deg, #523398, #214e96); }
.button:disabled { opacity: .62; }
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, summary:focus-visible {
  outline-color: #6745b5;
}

.meet-gvine {
  background: linear-gradient(110deg, #f1ecfb, #ecf5ff);
  border-color: #dedbf0;
}
.meet-gvine-card {
  background: linear-gradient(115deg, #ffffffed, #fbfbff);
  border-left-color: var(--cosmic-purple);
  border-image: var(--cosmic-gradient) 1;
  box-shadow: 0 12px 35px #55549d0b;
}
.service {
  background: radial-gradient(ellipse at 100% 0, #eae2fb4a, transparent 46%), #fff;
}
.service:nth-of-type(even) {
  background: radial-gradient(ellipse at 0 0, #d9eaff55, transparent 46%), #fbfcff;
}
.chapter-head li::before { color: #7651bd; }
.service figure, .app-scene, .image-viewer figure {
  border-color: #d7d3ea;
  box-shadow: 0 14px 34px #32367816;
}
figcaption { color: #626582; background: linear-gradient(110deg, #f0ecfa, #eef5ff); }
figcaption a, .text-link, .viewer-back, .consent a { color: #4d3b99; }

.sample {
  background: radial-gradient(ellipse at 5% 30%, #e9e1fb80, transparent 55%), #fafbff;
}
.sample-tabs button { border-color: #d4cbed; color: #524478; background: #fff; }
.sample-tabs button[aria-selected=true] {
  background: var(--cosmic-gradient);
  border-color: #6e51ba;
  color: #fff;
}
.sample-panel { background: linear-gradient(125deg, #f1ecfb, #edf5ff); }
.sample-panel small { color: #636884; }
.sample-panel > div span { border-color: #d9d6ed; background: #ffffffda; }
.deliverable { background: linear-gradient(155deg, #fff, #f8f7ff); }
#deliverable .deliverable-grid article {
  background: linear-gradient(145deg, #fff, #f4f1fc);
  border-color: #dfdbef;
  border-top-color: #9f8bd6;
}
#deliverable .deliverable-grid article:nth-child(even) {
  background: linear-gradient(145deg, #fff, #f0f6ff);
  border-top-color: #84a8da;
}
#deliverable .deliverable-grid article > span,
.phase-number { background: linear-gradient(110deg, #e8ddfb, #dceaff); color: #563799; }
#deliverable .deliverable-grid p { color: var(--body); }
.playbook-deliverable-strip { background: linear-gradient(110deg, #eee8fa, #eaf3ff); }
.playbook-example { border-color: #d3d8ef; background: linear-gradient(115deg, #eeeafa, #eef6ff); }
.example-priorities li { border-color: #d7dbee; }
.example-priorities strong { color: #503997; }
.example-priorities span { color: #454d6a; }
.phase-path li { background: linear-gradient(145deg, #fff, #f7f5ff); border-color: #dedaf0; }
.phase-note { color: #636884; }

.brief {
  background:
    radial-gradient(ellipse at 0 100%, #ccdffa77, transparent 52%),
    linear-gradient(120deg, #f0eafa, #eef5ff);
}
.form-shell { border-color: #d8d1eb; box-shadow: 0 14px 35px #3931780e; }
.form-shell input:not([type=checkbox]), .form-shell select, .form-shell textarea { border-color: #c9c5df; }
.form-shell label span { color: #686d84; }
.consent input { accent-color: var(--cosmic-purple); }
.recipient-note, .delivery-status { background: #f5f2fc; border-left-color: var(--cosmic-purple); }
.recipient-inline, .form-foot, .website-draft-state { color: #616780; }
.image-viewer { background: linear-gradient(140deg, #f6f1ff, #f0f6ff); }

footer {
  background: radial-gradient(ellipse at 10% 0, #7251bb45, transparent 60%), linear-gradient(110deg, #211b40, #172944);
  color: #c6c9e2;
  border-top-color: #625985;
}
footer .wordmark { color: #f4f1ff; }
footer .wordmark span { color: #c4c7e0; border-left-color: #a89cdd; }
footer nav a { color: #e0ddf4; }
@media (forced-colors: active) {
  .hero h1 em, .meet-gvine-card h2, .brief h2 em {
    background: none;
    -webkit-text-fill-color: currentColor;
  }
}
