/* Homepage revision: a personal introduction and an open service index. */
.home-hero {
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(40px, 7vw, 112px);
  row-gap: 56px;
  padding: 140px max(32px, calc((100vw - 1280px) / 2)) 42px;
}
.home-hero .hero-copy { max-width: 710px; min-height: 0; padding: 0; animation: none; }
.home-hero .hero-kicker { font-size: .75rem; line-height: 1.6; letter-spacing: .08em; margin: 0 0 22px !important; }
.home-hero h1 { font-family: 'Manrope', sans-serif; font-size: clamp(3rem, 5.3vw, 4.8rem); font-weight: 600; line-height: 1.06; letter-spacing: -.055em; max-width: 710px; text-wrap: balance; }
.home-hero .hero-copy > p:not(.hero-kicker):not(.hero-note) { font-size: 1.0625rem; line-height: 1.8; max-width: 560px; margin: 24px 0 0; }
.home-hero .hero-intro-contact { margin: 26px 0 0; max-width: none; }
.home-hero .hero-intro-contact .hero-actions { margin: 0; }
.home-hero .hero-intro-contact .hero-note { margin-top: 12px; font-weight: 500; }
.home-hero .hero-guide { display: block; width: 100%; max-width: 400px; margin: 0; justify-self: end; }
.home-hero .hero-guide picture { display: block; width: 100%; height: auto; }
.home-hero .hero-guide img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 2px; border: 0; box-shadow: none; }
.home-hero .hero-guide figcaption { display: grid; grid-template-columns: 1fr; gap: 4px; margin-top: 16px; }
.home-hero .hero-guide-name { font-size: .9375rem; font-weight: 800; }
.home-hero .hero-guide-credential { font-size: .8125rem; max-width: 100%; margin: 0; }
.home-hero .hero-service-paths { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 44px; row-gap: 0; border-top: 1px solid #879781; }
.home-hero .hero-service-paths > a,
.home-hero .hero-service-paths > a:first-child,
.home-hero .hero-service-paths > a:nth-child(2),
.home-hero .hero-service-paths > a:nth-child(3) { display: flex; flex-direction: column; align-items: flex-start; padding: 26px 0 8px; background: transparent; border: 0; border-radius: 0; box-shadow: none; min-width: 0; }
.home-hero .hero-path-label { font-size: .8125rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: #405441; }
.home-hero .hero-service-paths h2 { font-family: 'Manrope', sans-serif; font-size: clamp(1.25rem, 1.65vw, 1.5rem); font-weight: 750; line-height: 1.3; letter-spacing: -.04em; margin: 10px 0 12px; }
.home-hero .hero-service-paths p { font-size: .875rem; line-height: 1.7; max-width: 340px; margin: 0 0 18px; }
.home-hero .hero-path-next { font-size: .8125rem; line-height: 1.5; padding: 10px 0; margin-top: auto; text-decoration-thickness: 1px; }
.home-hero .hero-coaching-footer { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 0; border: 0; margin-top: auto; }
.home-hero .hero-coaching-footer .coaching-availability { font-size: .75rem; }
.home-hero .hero-coaching-footer .hero-path-next { margin: 0; }
.home-hero .hero-service-paths > a:focus-visible { outline: 3px solid #10261a; outline-offset: 8px; }
.home-hero + .trust-line p { font-family: 'Manrope', sans-serif; font-size: .875rem; font-weight: 650; min-height: 76px; }
@media (hover: hover) {
  .home-hero .hero-service-paths > a:nth-child(n):hover { background: transparent; }
  .home-hero .hero-service-paths > a:hover h2 { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
}
@media (max-width: 1000px) {
  .home-hero { column-gap: 36px; row-gap: 40px; }
  .home-hero .hero-service-paths { column-gap: 28px; }
}
@media (max-width: 800px) {
  .home-hero { padding-top: 48px; }
  .home-hero h1 { font-size: clamp(2.5rem, 5.6vw, 3.3rem); }
}
@media (max-width: 640px) {
  .home-hero { grid-template-columns: 1fr; padding: 38px 22px 30px; gap: 30px; }
  .home-hero h1 { font-size: clamp(2.4rem, 10vw, 3.6rem); line-height: 1.1; letter-spacing: -.05em; }
  .home-hero .hero-kicker { font-size: .6875rem; margin-bottom: 18px !important; }
  .home-hero .hero-copy > p:not(.hero-kicker):not(.hero-note) { font-size: .9375rem; margin-top: 20px; }
  .home-hero .hero-intro-contact { margin-top: 24px; }
  .home-hero .hero-guide { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 18px; align-items: center; max-width: none; }
  .home-hero .hero-guide figcaption { margin: 0; gap: 6px; }
  .home-hero .hero-service-paths { grid-template-columns: 1fr; }
  .home-hero .hero-service-paths > a { padding: 24px 0; }
  .home-hero .hero-service-paths > a:nth-child(n + 2) { border-top: 1px solid #c5d1d4; }
  .home-hero .hero-service-paths h2 { font-size: 1.4rem; }
  .home-hero .hero-service-paths p { max-width: 100%; margin-bottom: 12px; }
  .home-hero .hero-coaching-footer { gap: 10px; }
  .home-hero + .trust-line { grid-template-columns: 1fr; }
  .home-hero + .trust-line p { min-height: 54px; }
}

/* Layered geometric motion, confined behind the portrait and out of the tab order. */
.home-hero { position:relative; isolation:isolate; --hero-x:0px; --hero-y:0px; --hero-scroll:0px; }
.home-hero > .hero-ambient { position:absolute; z-index:-1; inset:0; overflow:hidden; pointer-events:none; }
.hero-depth { position:absolute; inset:0; will-change:transform; }
.hero-depth-back { transform:translate3d(calc(var(--hero-x) * -.4),calc(var(--hero-y) * -.4 + var(--hero-scroll) * .3),0); }
.hero-depth-mid { transform:translate3d(calc(var(--hero-x) * .65),calc(var(--hero-y) * .65 + var(--hero-scroll) * -.25),0); }
.hero-depth-front { transform:translate3d(var(--hero-x),calc(var(--hero-y) + var(--hero-scroll) * -.5),0); }
.ambient-object { position:absolute; display:block; animation-play-state:paused; }
.ambient-frame { right:-100px; top:-125px; width:660px; height:710px; border:2px solid #23402f35; background:linear-gradient(135deg,#dce7e960,transparent 55%); transform:rotate(-23deg); }
.ambient-route { right:-110px; top:-36px; width:720px; height:680px; stroke:#345d4f55; stroke-width:1.5; }
.ambient-route circle { fill:#c6f24e; stroke:#31573a; }
.ambient-corner { right:29%; top:125px; width:110px; height:110px; border:18px solid #c6f24e; border-left-color:transparent; border-bottom-color:transparent; transform:rotate(14deg); }
.ambient-marker { right:4%; top:560px; width:28px; height:28px; background:#23402f; transform:rotate(-12deg); }
@media(prefers-reduced-motion:no-preference) {
 .ambient-frame { animation:hero-frame-drift 16s ease-in-out infinite alternate; }
 .ambient-route { animation:hero-route-drift 20s ease-in-out infinite alternate; }
 .ambient-corner { animation:hero-corner-drift 12s ease-in-out infinite alternate; }
 .ambient-marker { animation:hero-marker-drift 10s ease-in-out infinite alternate; }
 .home-hero[data-motion="running"] .ambient-object { animation-play-state:running; }
 .home-hero:not([data-motion="running"]) .ambient-object { animation-play-state:paused; }
}
@keyframes hero-frame-drift { from {transform:translate(0,0) rotate(-23deg)} to {transform:translate(-28px,22px) rotate(-18deg)} }
@keyframes hero-route-drift { from {transform:translate(0,0)} to {transform:translate(20px,-28px)} }
@keyframes hero-corner-drift { from {transform:translate(0,0) rotate(14deg)} to {transform:translate(-18px,22px) rotate(26deg)} }
@keyframes hero-marker-drift { from {transform:translate(0,0) rotate(-12deg)} to {transform:translate(-18px,-24px) rotate(24deg)} }
.home-hero .hero-guide figcaption { position:relative; padding-right:0; }
.hero-motion-toggle { display:inline-flex; justify-self:start; align-items:center; gap:8px; min-height:44px; margin:4px 0 -10px; padding:0; font-size:.75rem; color:#354b43; cursor:pointer; }
.hero-motion-toggle:hover { text-decoration:underline; text-underline-offset:4px; }
.hero-motion-toggle:focus-visible { outline:3px solid #10261a; outline-offset:4px; }
.hero-motion-toggle[hidden] { display:none; }
@media(max-width:800px) {
 .home-hero > .hero-ambient { opacity:.45; }
 .ambient-frame { right:-225px; top:-60px; width:430px; height:470px; border-color:#23402f20; }
 .ambient-route { right:-290px; width:570px; top:160px; opacity:.6; }
 .ambient-corner { right:-18px; top:430px; width:80px; height:80px; border-width:13px; opacity:.7; }
 .ambient-marker { right:8%; top:670px; width:18px; height:18px; }
 .hero-depth { transform:none; will-change:auto; }
}
@media(prefers-reduced-motion:reduce) {
 .home-hero .hero-depth { transform:none; will-change:auto; }
 .home-hero .ambient-object { animation:none; }
}

/* Separate service identities, with a whole-area link and a persistent arrow. */
.home-hero .hero-service-paths { column-gap: 20px; border-top: 0; }
.home-hero .hero-service-paths > a:nth-child(n) { padding: 24px; border-radius: 6px; border: 1px solid #10261a19; background: var(--service-surface); transition: background .2s, box-shadow .2s, transform .2s; }
.home-hero .hero-service-paths > a:nth-child(1) { --service-surface: #fffdf8; --service-accent: #254c45; --service-symbol: #deebe7; }
.home-hero .hero-service-paths > a:nth-child(2) { --service-surface: #e5eef2; --service-accent: #274855; --service-symbol: #d2e0e6; }
.home-hero .hero-service-paths > a:nth-child(3) { --service-surface: #e5eee7; --service-accent: #31573a; --service-symbol: #d0dfd5; }
.home-hero .hero-path-heading { display: flex; align-items: center; width: 100%; gap: 12px; margin-bottom: 16px; }
.home-hero .hero-service-symbol { display: grid; place-items: center; flex-shrink: 0; width: 42px; height: 42px; color: var(--service-accent); background: var(--service-symbol); border-radius: 50%; }
.home-hero .symbol-implementation { border-radius: 9px; }
.home-hero .symbol-training { border-radius: 14px 4px 14px 4px; }
.hero-service-symbol svg { width: 28px; height: 28px; }
.home-hero .hero-path-label { color: var(--service-accent); font-size: 1rem; font-weight: 700; line-height: 1.45; }
.home-hero .hero-choice-arrow { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; margin-left: auto; color: var(--service-accent); font-size: 1.35rem; transition: transform .2s; }
.home-hero .hero-service-paths h2 { margin-top: 4px; }
.home-hero .hero-service-paths > a:focus-visible { outline-offset: 4px; box-shadow: 0 8px 20px #10261a12; }
.home-hero .hero-service-paths > a:active { transform: translateY(1px); }
@media (hover: hover) {
  .home-hero .hero-service-paths > a:nth-child(n):hover { background: var(--service-surface); transform: translateY(-3px); box-shadow: 0 8px 20px #10261a12; border-color: var(--service-accent); }
  .home-hero .hero-service-paths > a:hover .hero-choice-arrow { transform: translate(3px,-3px); }
}
@media (max-width: 1000px) and (min-width: 641px) {
  .home-hero .hero-service-paths { gap: 12px; }
  .home-hero .hero-service-paths > a:nth-child(n) { padding: 18px; }
  .home-hero .hero-path-heading { flex-wrap: wrap; }
  .home-hero .hero-path-label { order: 3; width: 100%; }
}
@media (max-width: 640px) {
  .home-hero .hero-service-paths { gap: 16px; }
  .home-hero .hero-service-paths > a:nth-child(n) { padding: 22px; }
  .ambient-ring { width: 380px; height: 380px; right: -230px; top: 50px; }
  .ambient-loop { right: -26px; top: 350px; width: 80px; height: 126px; }
  .ambient-pieces { left: 72%; top: 520px; }
  .hero-motion-toggle { margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-ambient > span { animation: none; }
  .home-hero .hero-service-paths > a:nth-child(n), .home-hero .hero-choice-arrow { transition: none; transform: none; }
}

/* Give each existing paper illustration an intentional, full-width stage. */
.home-fractional.metaphor-story-enhanced #what-changes .handoff-chain { gap: 24px; }
.home-fractional.metaphor-story-enhanced #what-changes .handoff-chain article { overflow: hidden; padding: 0 26px 28px; border-radius: 10px; box-shadow: none; }
.home-fractional.metaphor-story-enhanced #what-changes .story-card-art-wrap { width: calc(100% + 52px); height: clamp(230px, 22vw, 310px); margin: 0 -26px 26px; justify-content: center; align-items: flex-end; overflow: hidden; background: #dfe8ec; }
.home-fractional.metaphor-story-enhanced #what-changes article:nth-child(2) .story-card-art-wrap { background: #e0e8ec; }
.home-fractional.metaphor-story-enhanced #what-changes article:nth-child(3) .story-card-art-wrap { background: #d8e5e1; }
.home-fractional.metaphor-story-enhanced #what-changes .story-card-art { width: 88%; max-width: none; height: 94%; object-fit: contain; object-position: center bottom; filter: none; }
.home-fractional.metaphor-story-enhanced #what-changes article:nth-child(3) .story-card-art { width: 100%; height: 132%; object-fit: contain; object-position: center top; transform: translateY(25%); transform-origin: center bottom; }
.home-fractional.metaphor-story-enhanced #what-changes .handoff-chain h3,
.home-fractional.metaphor-story-enhanced #what-changes .handoff-chain p { max-width: none; }
@media (max-width: 900px) {
  .home-fractional.metaphor-story-enhanced #what-changes .story-card-art-wrap { height: clamp(230px, 60vw, 320px); }
}

/* A shared next-step invitation replaces the duplicate service selector. */
.next-step-actions { margin-top:30px; min-width:0; }
.next-step-links { display:flex; align-items:center; flex-wrap:wrap; gap:16px 28px; }
.next-step-links .button { white-space:normal; text-align:center; line-height:1.5; }
.next-step-compare { display:inline-flex; align-items:center; gap:12px; min-height:48px; padding:12px 0; font-size:.875rem; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.next-step-section .next-step-note { margin:16px 0 0; font-size:.875rem; line-height:1.7; max-width:470px; }
.next-step-section .next-step-actions a:focus-visible { outline:3px solid #10261a; outline-offset:5px; }
.home-fractional .ownership-receipt dd { max-width:60%; text-align:right; }
@media(max-width:640px) { .next-step-links { align-items:flex-start; flex-direction:column; gap:10px; } .next-step-links .button { width:100%; } }

/* Cool neutral planes and a sharper portrait frame define the current hero. */
.home-fractional .home-hero { background:#f4f7f8; color:#10261a; padding-bottom:52px; }
.home-hero .hero-guide picture { position:relative; z-index:0; }
.home-hero .hero-guide picture::before { content:""; position:absolute; inset:20px -18px -18px 20px; z-index:-1; border:2px solid #23402f; background:#e0e9e7; transform:translate3d(calc(var(--hero-x) * -.25),calc(var(--hero-y) * -.25),0); }
.home-hero .hero-guide img { border-radius:0; box-shadow:0 16px 40px #10261a14; }
.home-hero .hero-guide figcaption { margin-top:34px; }
.home-hero .hero-service-paths>a:nth-child(n) { border-radius:12px; border:1px solid #23402f38; box-shadow:none; }
.home-fractional .offer-section { background:#f4f7f8; }
.home-fractional .offer-categories>article { background:#e8eef0; border-color:#bac9c8; }
.home-fractional.metaphor-story-enhanced .metaphor-story-scene-chef-quality-gate { background:#f4f7f8; }
.home-fractional.metaphor-story-enhanced .metaphor-story-scene-chef-quality-gate .offers-copy { background:transparent; }
@media(max-width:640px) {
 .home-hero .hero-guide picture::before { inset:8px -8px -8px 8px; transform:none; }
 .home-hero .hero-guide figcaption { margin-top:0; }
 .home-hero .hero-service-paths>a:nth-child(n) { padding:22px; }
}
@media(prefers-reduced-motion:reduce) { .home-hero .hero-guide picture::before { transform:none; } }

.home-fractional .site-header {background:#f4f7f8;}

/* Match pointer emphasis when navigating the service choices by keyboard. */
.home-hero .hero-service-paths > a:nth-child(n):focus-visible { border-color:var(--service-accent); box-shadow:0 8px 20px #10261a12; }
@media (prefers-reduced-motion:no-preference) {
 .home-hero .hero-service-paths > a:nth-child(n):focus-visible { transform:translateY(-3px); }
}

/* Existing offer marks share one consistent, unboxed presentation. */
.home-hero .hero-service-symbol { width:48px; height:48px; background:transparent; border-radius:0; }
.home-hero .hero-service-symbol img { display:block; width:48px; height:48px; }
