/* Alinea Strategies: brand layer over the design kit (assets/system.css).
   Colors and fonts come from "Alinea Brand Kit.md" (decided 2026-11-10). Keep this file after the kit's CSS. */

@font-face { font-family: "Cormorant Garamond"; src: url("../fonts/cormorant-garamond-latin-wght-normal.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Cormorant Garamond"; src: url("../fonts/cormorant-garamond-latin-wght-italic.woff2") format("woff2"); font-weight: 300 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Manrope"; src: url("../fonts/manrope-latin-wght-normal.woff2") format("woff2"); font-weight: 200 800; font-style: normal; font-display: swap; }

:root {
  /* the brand palette */
  --forest: #1C3B2E; --gold: #C8A15A; --navy: #0D1E2C; --sand: #F3EDE3;
  --gold-text-on-light: #806128;
  --sand-deep: #EAE1D2;

  /* the kit's tokens, set from the brand */
  --p-bg: #f3ede3; --p-surface: #eae1d2; --p-ink: #1c3b2e; --p-muted: #4c6356;
  --p-accent: #1c3b2e; --p-accent-ink: #f3ede3; --p-action: #1c3b2e; --p-action-ink: #f3ede3;
  --p-inv-bg: #1c3b2e; --p-inv-surface: #24473a; --p-inv-ink: #f3ede3; --p-inv-muted: #c3c6b8;
  --p-inv-accent: #c8a15a; --p-inv-accent-ink: #0d1e2c; --p-inv-action: #f3ede3; --p-inv-action-ink: #1c3b2e;
  --font-display: "Cormorant Garamond", Georgia, serif;
  --font-text: "Manrope", system-ui, sans-serif;
  --display-weight: 500;
  --display-tracking: -0.01em;
  --display-tracking-xl: -0.015em;
  --ly-scale: 1;
}

/* headings: Cormorant runs small, so it sets a touch larger and a little looser */
h1, h2, .t-h1, .t-h2 { line-height: 1.06; }
h1 { font-size: calc(var(--t-h1) * 1.08); }
h2 { font-size: calc(var(--t-h2) * 1.08); }
h3 { font-family: var(--font-display); font-weight: 600; font-size: clamp(22px, .6vw + 19px, 28px); line-height: 1.15; letter-spacing: 0; }

/* the key phrase in italic gold (Capabilities Profile pattern). Deep gold on Sand, brand gold on dark grounds. */
.gold { font-style: italic; color: var(--gold-text-on-light); }
.ground-inverse .gold, .footer--dark .gold, .on-dark .gold { color: var(--gold); }

/* short all-caps labels above sections (Capabilities Profile pattern) */
.eyebrow { display: block; margin: 0 0 var(--s-4); font: 700 13px/1.2 var(--font-text); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text-on-light); }
.ground-inverse .eyebrow, .footer--dark .eyebrow { color: var(--gold); }

/* the thin gold curve that sweeps up and ends in a dot, under a headline */
.swash { display: block; width: 168px; height: 22px; margin: var(--s-4) 0 0; color: var(--gold); }
.swash path { fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; }
.swash circle { fill: currentColor; }

/* the logo in the bar and the footer */
/* a taller bar so her logo leads; the PNG has empty margins, so negative margins put the script on the left line */
:root { --nav: 104px; }
.nav__logo img { height: 92px; width: auto; display: block; margin: 0 -25px 0 -30px; }
@media (max-width: 639px) {
  :root { --nav: 76px; }
  .nav__logo img { height: 66px; margin: 0 -18px 0 -22px; }
}
.footer__brand { font: 500 34px/1 var(--font-display); letter-spacing: 0; }
.footer__brand small { display: block; margin-top: 8px; font: 600 12px/1 var(--font-text); letter-spacing: .32em; text-transform: uppercase; color: var(--gold); }

/* service cards: alternating forest and sand, large italic gold numerals */
.svc { display: flex; flex-direction: column; gap: var(--s-3); padding: var(--s-6); border-radius: var(--r-lg); background: var(--p-bg); color: var(--p-ink); text-decoration: none; height: 100%; }
.svc--dark { background: var(--forest); color: var(--sand); }
.svc__num { font: italic 500 56px/1 var(--font-display); color: var(--gold-text-on-light); }
.svc--dark .svc__num { color: var(--gold); }
.svc h3 { margin: 0; }
.svc p { margin: 0; font-size: 16px; line-height: 1.6; }
.svc .link { margin-top: auto; }
.svc--dark .link { color: var(--sand); }

/* the Alinea Approach panel: forest with a thin gold inner border */
.approach { position: relative; padding: clamp(32px, 4vw, 64px); border-radius: var(--r-lg); background: var(--forest); color: var(--sand); }
.approach::before { content: ""; position: absolute; inset: 12px; border: 1px solid var(--gold); border-radius: calc(var(--r-lg) - 6px); pointer-events: none; }
.approach > * { position: relative; }
.approach .lead-line { font: italic 500 clamp(26px, 1.4vw + 18px, 38px)/1.2 var(--font-display); color: var(--gold); margin: 0 0 var(--s-5); }
.approach p { font-size: 17px; line-height: 1.7; margin: 0; }

/* gold bullet lists: "Energizing • Candid • Customized" */
.dots { display: flex; flex-wrap: wrap; gap: 6px 0; list-style: none; padding: 0; margin: 0; }
.dots li { font-size: 17px; line-height: 1.6; }
.dots li:not(:last-child)::after { content: "\2022"; color: var(--gold); margin: 0 12px; }

/* the client and community list, set as type */
.names { columns: 2; column-gap: var(--s-6); list-style: none; padding: 0; margin: 0; }
.names li { break-inside: avoid; padding: 12px 0; border-bottom: 1px solid color-mix(in srgb, var(--p-ink) 14%, transparent); font: 500 clamp(19px, .4vw + 17px, 23px)/1.3 var(--font-display); }
@media (max-width: 639px) { .names { columns: 1; } }

/* photos that fill their frame */
.pic { position: relative; overflow: hidden; border-radius: var(--r-lg); background: var(--p-surface); width: 100%; }
.pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* a note that still needs Carissa's words: visible in preview, easy to find */
.todo { border-left: 3px solid var(--gold); padding: 8px 0 8px 16px; color: var(--p-muted); font-style: italic; }

/* forms */
.form select, .form textarea { width: 100%; font: 16px/1.5 var(--font-text); color: var(--p-ink); background: var(--p-bg); border: 1px solid color-mix(in srgb, var(--p-ink) 30%, transparent); border-radius: var(--r-sm); padding: 12px 14px; }
.form select { height: 48px; }
.form textarea { min-height: 120px; resize: vertical; }
.form--card { background: var(--p-surface); border-radius: var(--r-lg); padding: clamp(24px, 3vw, 40px); }
.form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-4); }
@media (max-width: 639px) { .form__row { grid-template-columns: 1fr; } }

/* the plain pages (privacy, 404) */
.prose { max-width: 66ch; }
.prose p, .prose li { font-size: 17px; line-height: 1.7; }

@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }

/* Speaking hero: the stage photograph sits wider than the screen so Carissa stands right of the headline */
@media (min-width: 1024px) {
  .hero--photo.hero--stage > .hero__bg { width: 140%; left: 0; right: auto; object-position: 50% 35%; }
}

/* phones: the hero keeps to one screen */
@media (max-width: 639px) {
  .hero .eyebrow, .hero .swash { display: none; }
}
@media (max-width: 639px) {
  .hero--split .hero__text > div:last-child:not(.btn-row) { display: none; }  /* Services' "Designed for" list */
  .hero--stage { --photo: 190px; }
}

/* ===== Photo treatments (Carissa's go-ahead, 2026-11-10): arches, offset gold outlines, inset borders,
   circles, and text over photographs on a forest wash ===== */
.ph { position: relative; isolation: isolate; }
.ph img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ph__img { position: relative; overflow: hidden; height: 100%; border-radius: var(--r-lg); background: var(--p-surface); }
.ph__img img { transition: transform .9s cubic-bezier(.2,.7,.2,1); }
a.ph:hover .ph__img img, .ph:hover .ph__img img { transform: scale(1.025); }

/* an arch: the top rounds fully, like a doorway */
.ph--arch .ph__img { border-radius: 999px 999px var(--r-lg) var(--r-lg); }
/* a thin gold outline set off behind the photo */
.ph--offset { padding: 0 18px 18px 0; }
.ph--offset::before { content: ""; position: absolute; inset: 18px 0 0 18px; border: 1px solid var(--gold); border-radius: var(--r-lg); z-index: -1; }
.ph--arch.ph--offset::before { border-radius: 999px 999px var(--r-lg) var(--r-lg); }
/* a thin gold border inside the photo, like the Approach panel */
.ph--inset .ph__img::after { content: ""; position: absolute; inset: 14px; border: 1px solid rgb(243 237 227 / .75); border-radius: calc(var(--r-lg) - 6px); pointer-events: none; }
.ph--arch.ph--inset .ph__img::after { border-radius: 999px 999px calc(var(--r-lg) - 6px) calc(var(--r-lg) - 6px); }
/* a circle with a gold ring */
.ph--circle .ph__img { border-radius: 50%; aspect-ratio: 1; box-shadow: 0 0 0 6px var(--p-bg), 0 0 0 7px var(--gold); }

/* a small card that overlaps a photo's corner */
.ph__badge { position: absolute; z-index: 2; left: -28px; bottom: 40px; max-width: 260px; padding: 18px 22px; border-radius: var(--r-md); background: var(--forest); color: var(--sand); box-shadow: 0 18px 40px -18px rgb(13 30 44 / .45); }
.ph__badge b { display: block; font: italic 500 26px/1.1 var(--font-display); color: var(--gold); margin-bottom: 6px; }
.ph__badge span { display: block; font-size: 14px; line-height: 1.45; }
@media (max-width: 1023px) { .ph__badge { left: 16px; bottom: 16px; } }

/* two photographs overlapping: a large one and a small one in a ring */
.duo { position: relative; padding: 0 0 72px; }
.duo__main { width: 82%; aspect-ratio: 4 / 5; }
.duo__small { position: absolute; right: 0; bottom: 0; width: 44%; aspect-ratio: 1; }
.duo__small .ph__img { border-radius: 50%; box-shadow: 0 0 0 8px var(--p-bg); }
.ground-surface .duo__small .ph__img { box-shadow: 0 0 0 8px var(--p-surface); }

/* photo cards: words over the photograph on a forest wash at the foot */
.pcard { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 460px; overflow: hidden; border-radius: var(--r-lg); color: var(--sand); text-decoration: none; isolation: isolate; }
.pcard > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.pcard::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(28 59 46 / 0) 28%, rgb(28 59 46 / .78) 58%, rgb(18 40 31 / .96) 100%); }
.pcard:hover > img { transform: scale(1.03); }
.pcard__body { padding: 24px 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.pcard__num { font: italic 500 48px/1 var(--font-display); color: var(--gold); }
.pcard h3 { margin: 0; color: var(--sand); }
.pcard p { margin: 0; font-size: 15.5px; line-height: 1.55; color: rgb(243 237 227 / .92); }
.pcard .link { color: var(--sand); margin-top: 4px; }
@media (max-width: 639px) { .pcard { min-height: 420px; } }

/* a full-bleed photograph behind a section, with a forest wash so words read */
.band { position: relative; color: var(--sand); background: var(--navy); isolation: isolate; overflow: hidden; }
.band > .band__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.band::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgb(13 30 44 / .92) 0%, rgb(13 30 44 / .72) 42%, rgb(13 30 44 / .25) 100%); }
@media (max-width: 1023px) { .band::before { background: linear-gradient(180deg, rgb(13 30 44 / .55) 0%, rgb(13 30 44 / .9) 55%); } }
.band h2, .band h3 { color: var(--sand); }
.band .gold, .band .eyebrow { color: var(--gold); }
.band .approach { background: rgb(28 59 46 / .9); backdrop-filter: blur(2px); }

/* distinctions: three facts split by gold rules */
.facts3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; padding: 0; list-style: none; }
.facts3 li { padding: 4px 28px; border-left: 1px solid var(--gold); }
.facts3 li:first-child { padding-left: 0; border-left: 0; }
.facts3 b { display: block; font: italic 500 clamp(26px, 1vw + 20px, 34px)/1.1 var(--font-display); color: var(--gold-text-on-light); margin-bottom: 8px; }
.ground-inverse .facts3 b, .band .facts3 b { color: var(--gold); }
.facts3 span { font-size: 15.5px; line-height: 1.5; }
@media (max-width: 767px) { .facts3 { grid-template-columns: 1fr; gap: 20px; } .facts3 li { padding: 0 0 0 18px; border-left: 1px solid var(--gold); } .facts3 li:first-child { padding-left: 18px; border-left: 1px solid var(--gold); } }

/* press: names set as type with a gold rule */
.press { display: flex; flex-wrap: wrap; gap: 16px 40px; }
.press div { border-left: 2px solid var(--gold); padding-left: 14px; }
.press b { display: block; font: 600 20px/1.2 var(--font-display); letter-spacing: .02em; }
.press span { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--p-muted); }

/* numbered steps */
.steps { list-style: none; padding: 0; margin: 0; display: grid; gap: 22px; counter-reset: s; }
.steps li { counter-increment: s; display: grid; grid-template-columns: 56px 1fr; gap: 4px 12px; }
.steps li::before { content: counter(s); grid-row: span 2; font: italic 500 44px/1 var(--font-display); color: var(--gold-text-on-light); }
.steps b { font: 600 22px/1.2 var(--font-display); }
.steps span { font-size: 16px; line-height: 1.6; }

/* checkmark-free list with gold dashes */
.dash { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.dash li { position: relative; padding-left: 26px; font-size: 16.5px; line-height: 1.55; }
.dash li::before { content: ""; position: absolute; left: 0; top: .78em; width: 14px; height: 1px; background: var(--gold); }

@media (prefers-reduced-motion: reduce) { .ph__img img, .pcard > img { transition: none; } }

/* the hero's photograph as an arch with a gold outline set behind it */
.hero__media.hm { overflow: visible; background: none; border-radius: 0; }
.hero__media.hm > .ph__img { position: absolute; inset: 0 22px 22px 0; border-radius: 999px 999px var(--r-lg) var(--r-lg); }
.hero__media.hm > .ph__img > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--ly-pos, 50% 50%); }
.hero__media.hm::before { content: ""; position: absolute; inset: 22px 0 0 22px; border: 1px solid var(--gold); border-radius: 999px 999px var(--r-lg) var(--r-lg); }
@media (max-width: 1023px) { .hero__media.hm > .ph__img > img { object-position: var(--ly-pos-phone, var(--ly-pos, 50% 50%)); } }
@media (max-width: 639px) { .hero .ph__badge { display: none; } }

/* background stage video: the pause button, and the speaking hero's wash so the words read */
.vid-toggle { position: absolute; z-index: 3; right: 20px; bottom: 20px; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgb(243 237 227 / .55); background: rgb(13 30 44 / .55); color: var(--sand); cursor: pointer; }
.vid-toggle svg { width: 16px; height: 16px; fill: currentColor; }
.vid-toggle:hover { background: rgb(13 30 44 / .8); }
.hero--video::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(90deg, rgb(13 30 44 / .85) 0%, rgb(13 30 44 / .55) 45%, rgb(13 30 44 / 0) 75%); }
.hero--video > .wrap { position: relative; z-index: 1; }
@media (max-width: 1023px) { .hero--video::after { display: none; } }

/* the stage video at its natural size on the right, its edges fading into the curtain's own dark blue,
   so it stays sharp instead of being blown up to fill the screen */
.band:has(> video.band__bg), .hero--video { background: #050f1b; }
.band > video.band__bg, .hero--video > video.hero__bg {
  inset: auto 0 auto auto; top: 50%; transform: translateY(-50%);
  width: min(66%, 1060px); height: auto; aspect-ratio: 940 / 446; object-fit: cover;
  -webkit-mask-image: radial-gradient(ellipse 58% 64% at 52% 48%, #000 45%, transparent 100%);
          mask-image: radial-gradient(ellipse 58% 64% at 52% 48%, #000 45%, transparent 100%);
}
.band:has(> video.band__bg)::before { background: linear-gradient(90deg, #050f1b 0%, rgb(5 15 27 / .6) 40%, rgb(5 15 27 / 0) 60%); }
.hero--video::after { background: linear-gradient(90deg, #050f1b 0%, rgb(5 15 27 / .55) 42%, rgb(5 15 27 / 0) 60%); }
@media (max-width: 1023px) {
  .band > video.band__bg { top: 0; transform: none; width: 100%; -webkit-mask-image: linear-gradient(180deg, #000 70%, transparent); mask-image: linear-gradient(180deg, #000 70%, transparent); }
  .band:has(> video.band__bg)::before { background: linear-gradient(180deg, rgb(5 15 27 / 0) 0%, rgb(5 15 27 / .6) 30%, #050f1b 50%); }
  .band:has(> video.band__bg) > .wrap { padding-top: 34vw; }
}
@media (max-width: 639px) {
  .hero--video > video.hero__bg { top: var(--nav); transform: none; width: 100%; height: var(--photo); -webkit-mask-image: none; mask-image: none; }
}
@media (max-width: 639px) {
  /* Speaking hero on a phone: the video on top, the words under it on the same dark blue */
  .hero--video, .hero--video[data-tone] { --photo: 300px; background: #050f1b; color: var(--sand); --ink: var(--sand); --muted: var(--sand); }
  .hero--video h1, .hero--video .hero__lead { color: var(--sand); }
  .hero--video .vid-toggle { bottom: auto; top: calc(var(--nav) + 12px); right: 12px; }
}

/* =====================================================================
   v3 (2026-11-10): Carissa asked for less empty space, bolder type contrast,
   larger photos and quicker paths to her offerings and contact.
   ===================================================================== */

/* sections size to what they hold (the kit's one-screen-per-section rule is lifted at her request);
   the hero stays a full first screen and the scroll story keeps its own height */
main > section.section:not(.hero):not([data-moment="photo-chapters"]), footer.closing {
  height: auto !important; min-height: 0 !important;
  padding: clamp(64px, 6.5vw, 104px) 0 calc(clamp(64px, 6.5vw, 104px) + var(--bar)) !important;
}
main > section.section:not(.hero) > .wrap, footer.closing > .wrap { height: auto !important; }
main > section.statement { padding-block: clamp(56px, 6vw, 96px) !important; }

/* a bolder type scale: big statements, big numbers, readable body */
h2 { font-size: clamp(34px, 2.6vw + 18px, 62px); line-height: 1.04; letter-spacing: -0.012em; }
.hero h1 { font-size: clamp(44px, 3.6vw + 22px, 88px); line-height: 1; letter-spacing: -0.015em; }
.hero .hero__lead { font-size: clamp(18px, .45vw + 15px, 22px); line-height: 1.55; }
.section p, .hero p { font-size: 17px; line-height: 1.7; }
.section .t-lead, .t-lead { font-size: clamp(19px, .5vw + 16px, 23px); line-height: 1.55; }
.eyebrow { font-size: 13.5px; }
.mo-wh__text { font-family: var(--font-display); font-size: clamp(34px, 2.8vw + 16px, 64px) !important; line-height: 1.12 !important; letter-spacing: -0.01em; max-width: 24ch; }
.facts3 b { font-size: clamp(34px, 2vw + 20px, 52px); }
.pcard { min-height: clamp(460px, 38vw, 580px); }
.pcard h3 { font-size: clamp(24px, .7vw + 19px, 30px); }

/* a credential line under the hero buttons */
.cred { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 28px; font-size: 14.5px; line-height: 1.4; color: var(--p-muted); }
.cred b { color: var(--p-ink); font-weight: 600; }
.cred i { width: 5px; height: 5px; border-radius: 50%; background: var(--gold); display: inline-block; }

/* the four-beat lead: each focus on its own line, the verb in ink */
.beats { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.beats li { font: 500 clamp(19px, .55vw + 15px, 23px)/1.35 var(--font-text); color: var(--p-muted); }
.beats li b { color: var(--p-ink); font-weight: 600; }

/* "Where are you headed?" three big paths */
.paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.path { position: relative; display: flex; flex-direction: column; gap: 14px; min-height: 300px; padding: 30px 30px 28px; border-radius: var(--r-lg); text-decoration: none; overflow: hidden; isolation: isolate; color: var(--sand); background: var(--forest); transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.path:hover { transform: translateY(-3px); }
.path > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: .9; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.path::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(28 59 46 / .35) 0%, rgb(20 44 34 / .93) 62%); }
.path:hover > img { transform: scale(1.04); }
.path__who { font: 700 13px/1.2 var(--font-text); letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-top: auto; }
.path__title { font: 500 clamp(28px, 1vw + 20px, 38px)/1.08 var(--font-display); }
.path__go { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15.5px; }
.path__go::after { content: "\2192"; color: var(--gold); transition: transform .3s; }
.path:hover .path__go::after { transform: translateX(4px); }
@media (max-width: 1023px) { .paths { grid-template-columns: 1fr; } .path { min-height: 220px; } }

/* jump links under a page's top section */
.jump { display: flex; flex-wrap: wrap; gap: 10px; }
.jump a { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px 0 14px; border-radius: 999px; border: 1px solid color-mix(in srgb, var(--forest) 22%, transparent); background: var(--p-bg); color: var(--forest); font-weight: 600; font-size: 15.5px; text-decoration: none; transition: background .25s, color .25s; }
.jump a span { font: italic 500 22px/1 var(--font-display); color: var(--gold-text-on-light); }
.jump a:hover { background: var(--forest); color: var(--sand); }
.jump a:hover span { color: var(--gold); }
.jumpbar { padding: 22px 0 !important; background: var(--p-surface); }

/* the organizations, set large as one flowing line of names */
.marquee-names { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 0; font: 500 clamp(24px, 1.2vw + 16px, 38px)/1.3 var(--font-display); }
.marquee-names li:not(:last-child)::after { content: "\2022"; color: var(--gold); margin: 0 .45em; font-size: .7em; vertical-align: middle; }

/* FAQ */
.faq2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.faq2 div { padding: 22px 0; border-top: 1px solid color-mix(in srgb, var(--forest) 16%, transparent); }
.faq2 h3 { font-size: clamp(22px, .5vw + 19px, 26px); margin: 0 0 8px; }
.faq2 p { margin: 0; }
@media (max-width: 767px) { .faq2 { grid-template-columns: 1fr; } }

/* Connect: three ways to reach Carissa */
.reach3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.reach3 a { display: flex; flex-direction: column; gap: 8px; padding: 26px; border-radius: var(--r-lg); background: var(--p-surface); color: var(--forest); text-decoration: none; transition: transform .3s, background .3s; }
.reach3 a:first-child { background: var(--forest); color: var(--sand); }
.reach3 a:hover { transform: translateY(-3px); }
.reach3 b { font: 500 26px/1.1 var(--font-display); }
.reach3 span { font-size: 15.5px; line-height: 1.5; }
.reach3 em { font-style: normal; font-weight: 600; font-size: 14.5px; margin-top: auto; padding-top: 8px; }
.reach3 a:first-child em { color: var(--gold); }
@media (max-width: 767px) { .reach3 { grid-template-columns: 1fr; } }

/* phone menu: her email and LinkedIn at the foot of the sheet */
.nav__reach { display: none; }
@media (max-width: 1023px) {
  .nav.is-open .nav__reach { display: flex; flex-direction: column; gap: 14px; margin-top: 28px; padding-top: 22px; border-top: 1px solid var(--gold); }
  .nav__reach a { font-size: 17px; color: var(--forest); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--gold); }
}

/* photos larger in splits */
.ph--tall { aspect-ratio: 4 / 5; }
@media (min-width: 1024px) { .split-photo-lg { grid-column: 7 / span 6 !important; } }

@media (prefers-reduced-motion: reduce) { .path, .path > img, .reach3 a { transition: none; } }
/* a short display line that sells each offering */
.hook { font: italic 500 clamp(24px, .8vw + 18px, 32px)/1.2 var(--font-display) !important; color: var(--gold-text-on-light); margin: 0; }
/* paths: let the photographs show; darken only where the words sit */
.path > img { opacity: 1; }
.path::before { background: linear-gradient(180deg, rgb(20 44 34 / 0) 20%, rgb(20 44 34 / .55) 50%, rgb(16 36 28 / .95) 82%); }
.path { min-height: 360px; }
/* the footer ends right after its legal line */
footer.closing { padding-bottom: calc(40px + var(--bar)) !important; }
footer.closing .closing__links { margin-top: 0; }
footer.closing .closing__cta + .closing__links { margin-top: clamp(48px, 5vw, 80px); }

/* ===== v4: contact-first Connect page, attendee feedback ===== */

/* Connect: the form fills the first screen beside her contact details */
.hero--contact { height: auto !important; min-height: 100svh; padding-bottom: clamp(48px, 5vw, 80px) !important; }
.hero--contact h1 { font-size: clamp(44px, 3vw + 24px, 80px); }
.hero--contact .hero-text { align-items: start; row-gap: 32px; }
.reach { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 0; }
.reach li { display: grid; grid-template-columns: 92px 1fr; align-items: baseline; gap: 12px; padding: 16px 0; border-top: 1px solid color-mix(in srgb, var(--forest) 16%, transparent); }
.reach li:last-child { border-bottom: 1px solid color-mix(in srgb, var(--forest) 16%, transparent); }
.reach span { font: 700 12.5px/1 var(--font-text); letter-spacing: .14em; text-transform: uppercase; color: var(--gold-text-on-light); }
.reach a { font: 500 clamp(21px, .6vw + 17px, 26px)/1.25 var(--font-display); color: var(--forest); text-decoration: none; word-break: break-word; }
.reach a:hover { text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 5px; }
.contact__me { display: grid; grid-template-columns: 96px 1fr; gap: 18px; align-items: center; margin-top: 8px; }
.contact__me .ph--circle .ph__img { box-shadow: 0 0 0 4px var(--p-bg), 0 0 0 5px var(--gold); }
.contact__me p { margin: 0; font: italic 500 19px/1.4 var(--font-display); color: var(--forest); }
.contact__me b { font: 600 13px/2 var(--font-text); font-style: normal; color: var(--p-muted); }
.form--lead { background: var(--forest); color: var(--sand); padding: clamp(28px, 3vw, 44px); box-shadow: 0 30px 60px -30px rgb(13 30 44 / .45); --ink: var(--sand); }
.form--lead .form__head h2 { color: var(--sand); font-size: clamp(30px, 1.4vw + 20px, 42px); margin: 0 0 6px; }
.form--lead .form__head p { margin: 0; color: rgb(243 237 227 / .85); font-size: 16px; }
.form--lead label { color: var(--sand); font-weight: 600; font-size: 15px; }
.form--lead input, .form--lead select, .form--lead textarea { background: var(--sand) !important; color: var(--forest) !important; border-color: transparent !important; }
.form--lead .btn--send { background: var(--gold); color: var(--navy); border-color: var(--gold); min-height: 56px; font-size: 17px; padding-inline: 32px; }
.form--lead .btn--send:hover { background: #d6b273; }
.form--lead .field__error { color: #ffd9a8; }
.form--lead .form__status { color: var(--sand); }
@media (max-width: 1023px) { .hero--contact { min-height: 0; } }
@media (max-width: 639px) { .form--lead .btn--send { width: 100%; justify-content: center; } }

/* feedback: a large quote, four figures, three short quotes */
.proof h2 { font-size: clamp(38px, 3vw + 18px, 72px); font-style: normal; }
.proof__by { margin: 0; font: 700 13px/1.3 var(--font-text); letter-spacing: .14em; text-transform: uppercase; color: var(--p-inv-muted); }
.stats4 { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 28px 32px; }
.stats4 li { border-top: 1px solid var(--gold); padding-top: 14px; }
.stats4 b { display: block; font: italic 500 clamp(44px, 2.4vw + 22px, 64px)/1 var(--font-display); color: var(--gold); }
.stats4 small { font-size: .45em; color: var(--sand); margin-left: 2px; }
.stats4 span { display: block; margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--sand); }
.quotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.quotes figure, .pull { margin: 0; padding: 26px 28px; border-radius: var(--r-lg); background: var(--p-inv-surface); }
.quotes blockquote, .pull blockquote { margin: 0 0 14px; font: italic 500 clamp(22px, .5vw + 19px, 27px)/1.3 var(--font-display); color: var(--sand); }
.quotes blockquote::before { content: "“"; color: var(--gold); }
.quotes blockquote::after { content: "”"; color: var(--gold); }
.quotes figcaption, .pull figcaption { font-size: 13.5px; color: var(--p-inv-muted); }
.pull { background: var(--forest); }
@media (max-width: 1023px) { .quotes { grid-template-columns: 1fr; } }
@media (max-width: 479px) { .stats4 { grid-template-columns: 1fr 1fr; gap: 20px; } }

/* talk titles and a direct line */
.talks { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.talks li { padding-left: 18px; border-left: 2px solid var(--gold); font: 500 clamp(21px, .5vw + 18px, 25px)/1.3 var(--font-display); }
.direct { font-size: 17px; }
.direct a { font-weight: 600; color: var(--forest); text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 4px; }
.reach a, .stats4 b, .facts3 b, .footer__col a { font-variant-numeric: lining-nums; }
@media (max-width: 1023px) {
  /* phones and tablets: headline, then the form, then the phone and email */
  .hero--contact .hero-text { display: flex; flex-direction: column; gap: 24px; }
  .hero--contact .contact__side { display: contents; }
  .hero--contact .contact__side > .eyebrow, .hero--contact h1, .hero--contact .hero__lead { order: 1; margin: 0; }
  .hero--contact #message { order: 2; }
  .hero--contact .reach { order: 3; }
  .hero--contact .contact__me { order: 4; }
  .hero--contact .hero__lead { font-size: 17px; }
}

/* ===== v5: the Connect form as five quick questions with tick-box tiles ===== */
.form--lead .opt { font-weight: 400; color: rgb(243 237 227 / .7); }
.picks { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.picks legend { padding: 0; margin-bottom: 10px; font-weight: 600; font-size: 15px; color: var(--sand); }
.pick { position: relative; display: flex; align-items: flex-start; gap: 12px; min-height: 64px; padding: 14px 14px; border-radius: var(--r-md); border: 1px solid rgb(243 237 227 / .28); background: rgb(243 237 227 / .06); cursor: pointer; transition: background .2s, border-color .2s, transform .2s; }
.pick:hover { border-color: var(--gold); background: rgb(243 237 227 / .1); }
.pick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pick__box { flex: none; display: grid; place-items: center; width: 24px; height: 24px; margin-top: 1px; border-radius: 6px; border: 1.5px solid var(--gold); background: transparent; transition: background .2s; }
.pick__box svg { width: 15px; height: 15px; fill: none; stroke: var(--navy); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transform: scale(.6); transition: opacity .15s, transform .2s; }
.pick__text { display: grid; gap: 2px; }
.pick__text b { font-weight: 600; font-size: 15.5px; line-height: 1.3; color: var(--sand); }
.pick__text small { font-size: 13.5px; line-height: 1.35; color: rgb(243 237 227 / .72); }
.pick:has(input:checked) { background: rgb(200 161 90 / .16); border-color: var(--gold); }
.pick:has(input:checked) .pick__box { background: var(--gold); }
.pick:has(input:checked) .pick__box svg { opacity: 1; transform: none; }
.pick:has(input:focus-visible) { outline: 2px solid var(--gold); outline-offset: 2px; }
.form--lead textarea::placeholder { color: rgb(28 59 46 / .55); }
.form__fine { margin: 0; font-size: 13.5px !important; line-height: 1.5 !important; color: rgb(243 237 227 / .72); }
@media (max-width: 639px) { .picks { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .pick, .pick__box, .pick__box svg { transition: none; } }

/* the Privacy page: readable long-form text */
.prose h1 { font-size: clamp(40px, 2.6vw + 22px, 68px); margin: 0; }
.prose h2 { font-size: clamp(26px, 1vw + 20px, 34px); margin: 28px 0 0; }
.prose .dash li b { color: var(--forest); }

/* ===== v6: her light logo, signature, taglines and cleared group photos ===== */
.footer__logo img { display: block; width: min(300px, 80%); height: auto; margin-left: -6%; }
.footer__where { margin: 0; font-size: 15px; line-height: 1.6; color: var(--p-inv-muted); max-width: 32ch; }
.sig { display: block; width: min(260px, 70%); height: auto; margin-top: 8px; }
.where { font-size: 16px; line-height: 1.6; padding: 16px 18px; border-left: 2px solid var(--gold); background: var(--p-bg); border-radius: 0 var(--r-md) var(--r-md) 0; }
.where b { color: var(--forest); }

/* "Doubt will choose comfort. Courage chooses what's next." set like her sticker */
.courage { position: relative; overflow: hidden; text-align: center; }
.courage .wrap { position: relative; align-items: center; }
.section p.courage__a { margin: 0; font: 500 clamp(30px, 2vw + 18px, 52px)/1.1 var(--font-display); color: var(--forest); }
.courage__caps { text-transform: uppercase; letter-spacing: .06em; font-weight: 600; }
.courage__a em { font-weight: 700; font-style: italic; position: relative; display: inline-block; }
.courage__a em::after { content: ""; position: absolute; left: -6%; right: 4%; bottom: -.08em; height: 2px; border-radius: 2px; background: var(--gold); transform: rotate(-1.2deg); }
.section p.courage__b { margin: .35em 0 0; font: 500 clamp(44px, 4.4vw + 18px, 112px)/1 var(--font-display); color: var(--forest); letter-spacing: -0.015em; }
.courage__b .gold { font-style: italic; }
.courage__burst { position: absolute; right: max(2%, calc(50% - 640px)); top: -10px; width: clamp(120px, 14vw, 220px); color: var(--gold); opacity: .9; pointer-events: none; }
@media (max-width: 767px) { .courage__burst { width: 110px; right: -12px; top: -24px; opacity: .55; } }

/* "What's mine to own?" as an arch card */
.own { border: 2px solid var(--forest); border-radius: 999px 999px 6px 6px; padding: clamp(56px, 6vw, 84px) 32px 44px; text-align: center; background: var(--p-bg); }
.section p.own__q { margin: 0; font: 500 clamp(30px, 1.6vw + 20px, 44px)/1.05 var(--font-display); text-transform: uppercase; letter-spacing: .04em; color: var(--forest); }
.own__q span { display: block; }
.own__q em { display: block; text-transform: none; letter-spacing: 0; font: italic 600 clamp(48px, 2.6vw + 30px, 72px)/1 var(--font-display); color: var(--gold-text-on-light); }
.own__rule { display: block; position: relative; height: 2px; margin: 22px auto; width: 80%; background: linear-gradient(90deg, transparent, var(--gold) 20%, var(--gold) 80%, transparent); }
.own__rule::after { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; border-radius: 50%; background: var(--gold); transform: translate(-50%, -50%); }
.section p.own__list { margin: 0; font: 500 clamp(24px, .8vw + 19px, 31px)/1.35 var(--font-display); color: var(--forest); }
.own__list b { font-style: italic; font-weight: 700; color: var(--gold-text-on-light); }

/* four photos in a row, arches and rectangles alternating */
.strip4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; align-items: end; }
@media (max-width: 1023px) { .strip4 { grid-template-columns: 1fr 1fr; } }

/* ===== v7: credibility band, bigger logos and photos, less empty sand ===== */

/* organizations band: dark, right under each page's top section */
main > section.orgband { padding: clamp(36px, 3.4vw, 56px) 0 !important; background: var(--forest); color: var(--sand); }
.orgband__in { display: grid !important; grid-template-columns: minmax(220px, 300px) 1fr; gap: 24px 56px; align-items: center; }
.orgband__h { margin: 0; font: 500 clamp(22px, .6vw + 18px, 28px)/1.2 var(--font-display); color: var(--sand); }
.orgband__h .eyebrow { color: var(--gold); margin-bottom: 10px; }
.orgband__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 0; font: 600 clamp(19px, .55vw + 15px, 24px)/1.3 var(--font-display); letter-spacing: .01em; }
.orgband__list li:not(:last-child)::after { content: "\2022"; color: var(--gold); margin: 0 .6em; }
@media (max-width: 1023px) { .orgband__in { grid-template-columns: 1fr; } }

/* bigger logo in the header, bigger logo in the footer */
:root { --nav: 116px; }
.nav__logo img { height: 104px; margin: 0 -28px 0 -34px; }
@media (max-width: 639px) { :root { --nav: 84px; } .nav__logo img { height: 74px; margin: 0 -20px 0 -25px; } }
.footer__logo img { width: min(440px, 92%); margin-left: -7%; }

/* tighter sections, so less empty sand */
main > section.section:not(.hero):not([data-moment="photo-chapters"]):not(.orgband):not(.jumpbar) {
  padding: clamp(52px, 5vw, 84px) 0 calc(clamp(52px, 5vw, 84px) + var(--bar)) !important;
}
main > section.statement { padding-block: clamp(44px, 4.5vw, 72px) !important; }
.section-head { margin-bottom: clamp(24px, 2.4vw, 40px); }

/* photos take more of the page */
@media (min-width: 1024px) {
  .hero--split .hero__grid > .hero__text { grid-column: 1 / span 5; }
  .hero--split .hero__grid > .hero__media { grid-column: 6 / span 7; }
  .wrap.grid > .span-6.start-7:has(> .ph), .wrap.grid > .span-6.start-7:has(> .duo) { grid-column: 6 / span 7; }
  .wrap.grid > .span-5.start-8:has(> .ph) { grid-column: 7 / span 6; }
  .wrap.grid > .span-5:has(> .duo), .wrap.grid > .span-6:has(> .ph):first-child { grid-column: 1 / span 6; }
}
.duo__main { width: 86%; }
.pcard { min-height: clamp(480px, 40vw, 620px); }
@media (min-width: 1024px) {
  /* when the photo widens to seven columns, its text column narrows to five so both stay on one row */
  .wrap.grid:has(> .span-6.start-7 > .ph, > .span-6.start-7 > .duo) > .span-6:first-child { grid-column: 1 / span 5; }
}
.press--lg b { font-size: clamp(24px, 1vw + 18px, 32px); }
.press--lg div { padding-left: 18px; }
@media (min-width: 1024px) {
  /* split photos: a little less tall now that they are wider, so they end near their text */
  .wrap.grid > [class*="span-"] > .ph[style*="4 / 5"] { aspect-ratio: 6 / 5 !important; }
  .wrap.grid > [class*="span-"] > .ph.ph--arch[style*="4 / 5"] { aspect-ratio: 1 / 1 !important; }
  .duo__main > .ph { aspect-ratio: 1 / 1 !important; }
  .duo { padding-bottom: 56px; }
}
main > section.section.jumpbar { padding: 18px 0 !important; }

/* v8: About, the story behind Alinea in her words */
#why .story-pull { font: 500 clamp(22px, .7vw + 18px, 28px)/1.35 var(--font-display); color: var(--forest); max-width: 34ch; border-left: 3px solid var(--gold); padding-left: 22px; }
#why .story-pull em { font-style: italic; color: #806128; }
#why .story-name { background: var(--forest); color: var(--sand); padding: 22px 26px; border-radius: var(--r-lg); }
#why .story-name p { color: var(--sand); margin: 0; }
#why .story-name em { font: italic 600 1.25em/1 var(--font-display); color: var(--gold); }
#why .story-close { font: 500 clamp(28px, 1.4vw + 20px, 42px)/1.15 var(--font-display); color: var(--forest); margin-top: 8px; }
@media (min-width: 1024px) { #why .why__photo { position: sticky; top: calc(var(--nav) + 24px); align-self: start; } #why .why__photo .ph { aspect-ratio: 4 / 5.6 !important; } }

/* v9: Speaking, signature talks */
.talks--home li b { display: block; font-weight: 600; color: var(--forest); }
.talks--home li { font-size: clamp(17px, .3vw + 15px, 19px); font-style: italic; }
.talks-head { display: grid; gap: 16px 56px; align-items: end; }
@media (min-width: 1024px) { .talks-head { grid-template-columns: 7fr 5fr; } }
.talks-head h2 { margin: 0; }
.sigtalks { display: grid; gap: 24px; }
@media (min-width: 768px) and (max-width: 1023px) { .sigtalks { grid-template-columns: 1fr 1fr; } .sigtalk:last-child { grid-column: 1 / -1; } }
@media (min-width: 1024px) { .sigtalks { grid-template-columns: repeat(3, 1fr); } }
.sigtalk { display: flex; flex-direction: column; background: #fff9f0; border-radius: var(--r-lg); overflow: hidden; box-shadow: 0 1px 0 rgb(28 59 46 / .08), 0 14px 34px -22px rgb(13 30 44 / .35); transition: transform .35s ease; }
.sigtalk:hover { transform: translateY(-2px); }
.sigtalk__ph { aspect-ratio: 16 / 11; overflow: hidden; }
.sigtalk__ph img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.sigtalk:hover .sigtalk__ph img { transform: scale(1.03); }
.sigtalk__body { display: flex; flex-direction: column; gap: 12px; padding: 24px 26px 26px; flex: 1; }
.sigtalk__body .eyebrow { color: #806128; }
.sigtalk h3 { margin: 0; font-size: clamp(24px, .6vw + 20px, 29px); line-height: 1.15; color: var(--forest); }
.sigtalk__hook { margin: 0; font: italic 500 clamp(20px, .4vw + 17px, 23px)/1.3 var(--font-display); color: #806128; }
.sigtalk__body > p:not([class]) { margin: 0; font-size: 16px; line-height: 1.6; }
.sigtalk__leave { margin: auto 0 0 !important; padding: 16px 18px; border-radius: var(--r-md, 12px); background: var(--forest); color: var(--sand); font-size: 15.5px; line-height: 1.5; }
.sigtalk__leave b { display: block; margin-bottom: 4px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.moretalks { display: grid; gap: 20px 56px; padding-top: 8px; }
@media (min-width: 1024px) { .moretalks { grid-template-columns: 4fr 8fr; align-items: start; } }
.moretalks__h { margin: 10px 0 0; font-size: clamp(28px, 1vw + 21px, 38px); line-height: 1.12; color: var(--forest); }
.moretalks__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.moretalks__list li { padding: 18px 0; border-top: 1px solid rgb(28 59 46 / .18); display: grid; gap: 6px 32px; }
.moretalks__list li:last-child { border-bottom: 1px solid rgb(28 59 46 / .18); }
@media (min-width: 768px) { .moretalks__list li { grid-template-columns: 5fr 7fr; } }
.moretalks__list h4 { margin: 0; font: 600 clamp(20px, .4vw + 17px, 23px)/1.25 var(--font-display); color: var(--forest); }
.moretalks__list p { margin: 0; font-size: 16px; line-height: 1.6; }
.tailor { display: grid; gap: 20px 48px; align-items: center; padding: clamp(26px, 3vw, 44px); border-radius: var(--r-lg); background: var(--navy); color: var(--sand); }
@media (min-width: 1024px) { .tailor { grid-template-columns: 7fr 5fr; } }
.tailor__h { margin: 0 0 10px; color: var(--sand); font-size: clamp(26px, 1vw + 20px, 36px); line-height: 1.15; }
.tailor p { margin: 0; color: rgb(243 237 227 / .9); }
.tailor__cta { display: grid; gap: 16px; justify-items: start; }
.tailor__line { font: italic 500 clamp(19px, .4vw + 16px, 22px)/1.35 var(--font-display); }
.tailor .gold { color: var(--gold); }
#talks .sigtalk__hook { font: italic 500 clamp(21px, .4vw + 18px, 24px)/1.3 var(--font-display); color: #806128; }
#talks .tailor__line { font: italic 500 clamp(20px, .4vw + 17px, 23px)/1.35 var(--font-display); color: var(--sand); }
#talks .moretalks__list h4 { font: 600 clamp(21px, .4vw + 18px, 24px)/1.25 var(--font-display); }

/* v10: proven results, testimonial, coaching for every level, credentials */
.bigstat { display: grid; gap: 10px; padding: 22px 0 6px; border-top: 1px solid rgb(200 161 90 / .45); }
.bigstat__n { margin: 0 !important; font: 500 clamp(52px, 4.4vw + 22px, 104px)/0.95 var(--font-display) !important; color: var(--gold) !important; letter-spacing: -.01em; }
.bigstat__n span { font-size: .6em; vertical-align: .15em; margin: 0 .12em; opacity: .85; }
.bigstat__t { margin: 0 !important; font-size: clamp(17px, .3vw + 15.5px, 19px); line-height: 1.55; max-width: 46ch; color: rgb(243 237 227 / .92); }
.bigstat__t b { color: var(--sand); }
.wins { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px 32px; }
@media (min-width: 640px) { .wins { grid-template-columns: 1fr 1fr; } }
.wins li { border-left: 2px solid var(--gold); padding-left: 16px; }
.wins b { display: block; font: 600 clamp(22px, .5vw + 18px, 26px)/1.15 var(--font-display); color: var(--sand); margin-bottom: 4px; }
.wins span { font-size: 15px; line-height: 1.5; color: rgb(243 237 227 / .82); }
#results .grid { align-items: center; }
.tquote { margin: 0; padding: clamp(26px, 3vw, 44px); border-radius: var(--r-lg); background: #fff9f0; position: relative; box-shadow: 0 18px 40px -26px rgb(13 30 44 / .4); }
.tquote::before { content: "“"; position: absolute; top: -.18em; left: 18px; font: 600 clamp(110px, 8vw, 160px)/1 var(--font-display); color: var(--gold); opacity: .55; pointer-events: none; }
.tquote blockquote { margin: 0; display: grid; gap: 14px; position: relative; }
.section .tquote blockquote p { margin: 0; font: 400 clamp(17px, .3vw + 15.5px, 19px)/1.6 var(--font-body); color: var(--ink); }
.section .tquote blockquote p.tquote__big { font: italic 500 clamp(25px, 1vw + 19px, 34px)/1.25 var(--font-display); color: var(--forest); }
.tquote figcaption { margin-top: 22px; padding-top: 16px; border-top: 1px solid rgb(28 59 46 / .18); font-size: 14.5px; color: var(--p-muted); }
.tquote figcaption b { display: block; font: 600 20px/1.2 var(--font-display); color: var(--forest); }
.tquote--dark { background: var(--forest); box-shadow: none; border: 1px solid rgb(200 161 90 / .35); }
.section .tquote--dark blockquote p { color: rgb(243 237 227 / .9); }
.section .tquote--dark blockquote p.tquote__big { color: var(--sand); }
.tquote--dark figcaption { border-top-color: rgb(243 237 227 / .2); color: rgb(243 237 227 / .75); }
.tquote--dark figcaption b { color: var(--gold); }
.section p.track { margin: 0; padding: 14px 18px; border-left: 3px solid var(--gold); background: rgb(28 59 46 / .06); border-radius: 0 var(--r-md) var(--r-md) 0; font-size: 15.5px; line-height: 1.55; max-width: 60ch; }
.track b { display: block; margin-bottom: 3px; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #806128; }
.section p.track--dark { background: rgb(13 30 44 / .55); color: var(--sand); }
.track--dark b { color: var(--gold); }
.seats { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
@media (min-width: 640px) { .seats { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .seats { grid-template-columns: repeat(5, 1fr); } }
.seats li { padding: 22px 20px; border-radius: var(--r-lg); background: rgb(243 237 227 / .07); border: 1px solid rgb(200 161 90 / .3); display: grid; gap: 10px; align-content: start; }
.seats b { font: 600 clamp(21px, .4vw + 18px, 24px)/1.15 var(--font-display); color: var(--gold); }
.seats span { font-size: 15px; line-height: 1.55; color: rgb(243 237 227 / .88); }
.invest { display: grid; gap: 14px 40px; align-items: center; padding: clamp(24px, 3vw, 40px); border-radius: var(--r-lg); background: var(--sand); color: var(--ink); }
@media (min-width: 1024px) { .invest { grid-template-columns: 4fr 6fr auto; } }
.section .invest p { margin: 0; color: var(--ink); }
.section .invest p.invest__h { font: 500 clamp(28px, 1vw + 21px, 38px)/1.1 var(--font-display); color: var(--forest); }
.invest .gold { color: #806128; }
.creds { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px 28px; }
@media (min-width: 640px) { .creds { grid-template-columns: 1fr 1fr; } }
.creds li { font-size: 15px; line-height: 1.45; padding-left: 16px; position: relative; color: rgb(243 237 227 / .9); }
.creds li::before { content: ""; position: absolute; left: 0; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); }
.section p.spoken { margin: 0; font-size: 15px; line-height: 1.7; color: var(--p-muted); }
.spoken b { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: #806128; margin-right: 6px; }
#testimonial .grid { align-items: center; }
#who .invest p:not(.invest__h) { color: #23302a !important; font-size: 16.5px; line-height: 1.6; }

/* v11: short client quote inside a service, footer photo credit */
.minq { margin: 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--gold); max-width: 58ch; }
.section .minq blockquote { margin: 0 0 6px; font: italic 500 clamp(20px, .5vw + 17px, 24px)/1.3 var(--font-display); color: var(--forest); }
.minq figcaption { font-size: 13.5px; line-height: 1.45; color: var(--p-muted); }
.minq figcaption b { color: var(--ink); }
.footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; }
.footer__credit { font-size: 12.5px; opacity: .7; }

/* v12: executive proof on Coaching */
.execproof { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px 28px; }
@media (min-width: 640px) { .execproof { grid-template-columns: 1fr 1fr; } }
.execproof li { padding: 16px 18px; border-radius: var(--r-md); background: var(--forest); color: var(--sand); }
.execproof b { display: block; margin-bottom: 4px; font: 600 clamp(19px, .3vw + 17px, 21px)/1.2 var(--font-display); color: var(--gold); }
.execproof span { font-size: 14.5px; line-height: 1.5; color: rgb(243 237 227 / .9); }
#admins .minq blockquote { font-size: clamp(18px, .3vw + 16px, 21px); }
@media (min-width: 1024px) { #leaders .leaders__photo { position: sticky; top: calc(var(--nav) + 24px); align-self: start; } }

/* v13: retreat steps, Fractional Chief of Staff */
.steps--sm { gap: 14px; }
.steps--sm li { grid-template-columns: 40px 1fr; }
.steps--sm li::before { font-size: 32px; }
.steps--sm b { font: 600 19px/1.25 var(--font-display); color: var(--forest); }
.steps--sm span { font-size: 15.5px; line-height: 1.55; }
.link--light { color: var(--sand) !important; align-self: center; }
@media (min-width: 1024px) { #fractional .fractional__photo { position: sticky; top: calc(var(--nav) + 24px); align-self: start; } }

/* v13b: deep gold reads at 4.5:1+ on the darker sand surface too */
.ground-surface { --gold-text-on-light: #735620; }
.ground-surface .eyebrow, .ground-surface .track b, .ground-surface .spoken b, .ground-surface .gold { color: #735620; }
/* keyboard focus ring stays visible on dark green, navy and photo sections */
.ground-inverse :focus-visible, .footer--dark :focus-visible, .band :focus-visible, .hero--video :focus-visible, .tailor :focus-visible, .results :focus-visible, .actionbar :focus-visible { outline-color: var(--gold); }
/* secondary buttons read as buttons: a forest outline on sand, a cream outline on dark */
.btn.btn--secondary { border: 1.5px solid var(--forest) !important; color: var(--forest) !important; background: transparent !important; }
.btn.btn--secondary:hover { background: var(--forest) !important; color: var(--sand) !important; }
.ground-inverse .btn.btn--secondary, .band .btn.btn--secondary, .hero--video .btn.btn--secondary, .footer--dark .btn.btn--secondary { border-color: var(--sand) !important; color: var(--sand) !important; }
.ground-inverse .btn.btn--secondary:hover, .band .btn.btn--secondary:hover { background: var(--sand) !important; color: var(--forest) !important; }
.btn-row { align-items: center; }
.btn { white-space: normal; max-width: 100%; text-align: left; }

/* About "Approach" band on a phone: the photo sits on top, the text box under it, so the box never covers Carissa */
@media (max-width: 639px) {
  #approach.band > img.band__bg { inset: 0 0 auto 0; height: 100vw; object-position: 44% 20%; -webkit-mask-image: linear-gradient(180deg, #000 72%, transparent); mask-image: linear-gradient(180deg, #000 72%, transparent); }
  #approach.band:has(> img.band__bg)::before { background: linear-gradient(180deg, rgb(13 30 44 / 0) 0%, rgb(13 30 44 / 0) 60%, var(--navy) 100vw); }
  #approach.band:has(> img.band__bg) > .wrap { padding-top: 78vw; }
}

/* Home service cards: two per row on tablets and small laptops, so the words sit under the faces, not on them */
@media (min-width: 640px) and (max-width: 1199px) {
  .grid > .pcard.span-3 { grid-column: span 6; }
}
