@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap");

:root {
  --ink: #111612;
  --forest: #6d1728;
  --forest-light: #8f2538;
  --paper: #f4f2e9;
  --white: #fff;
  --accent-red: #f04b57;
  --accent-green: #36c96b;
  --accent-yellow: #ffd54a;
  --lime: #ffd54a;
  --mint: #f4d9dd;
  --muted: #667068;
  --line: rgba(17, 22, 18, .15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; }
body::before, body::after { content: ""; width: 150px; height: 72vh; position: fixed; top: 15vh; z-index: 18; pointer-events: none; opacity: .34; background: radial-gradient(ellipse at 28% 20%, rgba(54,201,107,.9), transparent 42%), radial-gradient(ellipse at 62% 52%, rgba(255,213,74,.78), transparent 47%), radial-gradient(ellipse at 30% 82%, rgba(240,72,91,.65), transparent 43%); filter: blur(34px); mix-blend-mode: multiply; animation: sideGlowDrift 13s ease-in-out infinite; }
body::before { left: -82px; }
body::after { right: -82px; transform: scaleX(-1); animation-direction: reverse; animation-delay: -6.5s; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }

.site-header {
  min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 28px;
  padding: 10px max(24px, calc((100vw - 1180px) / 2)); border-bottom: 1px solid var(--line);
  position: sticky; top: 0; z-index: 20; background: rgba(244, 242, 233, .93); backdrop-filter: blur(16px);
}
.brand { display: flex; align-items: center; gap: 12px; font-weight: 700; letter-spacing: -.03em; flex: 0 0 auto; }
.brand-mark { width: 37px; height: 37px; display: grid; place-items: center; background: var(--ink); color: var(--lime); border-radius: 50%; font: 800 11px/1 "Manrope", sans-serif; letter-spacing: -.06em; }
.brand-copy { display: grid; gap: 3px; line-height: 1; }
.brand-copy small { color: var(--muted); font: 600 9px/1.2 "Manrope", sans-serif; letter-spacing: .03em; }
.site-header nav { display: flex; align-items: center; justify-content: flex-end; gap: clamp(16px, 2vw, 27px); font-size: 12px; font-weight: 700; }
.site-header nav a:not(.nav-cta) { transition: opacity .2s; }
.site-header nav a:not(.nav-cta):hover { opacity: .5; }
.nav-cta { overflow: hidden; position: relative; isolation: isolate; background: linear-gradient(115deg, var(--accent-green), var(--accent-yellow)); color: var(--ink); padding: 11px 16px; border-radius: 999px; white-space: nowrap; transition: transform .2s, filter .2s, box-shadow .55s ease, color .35s ease; }
.nav-cta:hover { filter: brightness(.96); transform: translateY(-2px); }

.hero { min-height: calc(100svh - 74px); padding: clamp(58px, 6vw, 82px) max(24px, calc((100vw - 1180px) / 2)); display: grid; align-items: center; overflow: hidden; position: relative; isolation: isolate; background: radial-gradient(circle at 16% 0, rgba(240,75,87,.15), transparent 30%), radial-gradient(circle at 86% 4%, rgba(255,213,74,.2), transparent 31%), radial-gradient(circle at 50% 74%, rgba(54,201,107,.08), transparent 34%), var(--paper); }
.particle-field { position: absolute; inset: 0; z-index: 0; overflow: hidden; pointer-events: none; mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%); }
.particle-field::before, .particle-field::after { content: ""; width: min(68vw, 780px); height: 48%; position: absolute; left: 50%; top: 46%; border-radius: 50%; filter: blur(72px); transform: translate(-50%, -50%); }
.particle-field::before { background: conic-gradient(from 30deg, rgba(255,77,93,.2), rgba(255,228,95,.2), rgba(84,227,142,.18), rgba(70,223,240,.2), rgba(169,109,255,.19), rgba(255,103,196,.18), rgba(255,77,93,.2)); animation: energyPulseRed 4.8s ease-in-out infinite; }
.particle-field::after { width: min(54vw, 620px); height: 38%; top: 53%; background: radial-gradient(ellipse, rgba(255,255,255,.28), rgba(255,213,74,.12) 38%, transparent 70%); animation: energyPulseYellow 5.7s ease-in-out -1.4s infinite; }
.particle-field i { --helix-radius: clamp(48px, 7vw, 96px); --helix-near: clamp(42px, 6.05vw, 83px); --helix-half: clamp(24px, 3.5vw, 48px); width: 4px; height: 4px; position: absolute; left: calc(50% - 2px); top: 0; border-radius: 50%; opacity: 0; animation-duration: 12.8s; animation-timing-function: linear; animation-iteration-count: infinite; will-change: transform, opacity; }
.particle-field i:nth-child(-n + 18) { --helix-center: clamp(-470px, -34vw, -200px); animation-name: helixStrandA; }
.particle-field i:nth-child(n + 19):nth-child(-n + 36) { --helix-center: clamp(-470px, -34vw, -200px); animation-name: helixStrandB; }
.particle-field i:nth-child(n + 37):nth-child(-n + 54) { --helix-center: clamp(200px, 34vw, 470px); animation-name: helixStrandA; }
.particle-field i:nth-child(n + 55) { --helix-center: clamp(200px, 34vw, 470px); animation-name: helixStrandB; }
.particle-field i { background: currentColor; box-shadow: 0 0 12px currentColor; }
.particle-field i::before, .particle-field i::after { content: ""; position: absolute; border-radius: 50%; background: currentColor; }
.particle-field i::before { width: 2px; height: 2px; left: -8px; top: 5px; opacity: .45; box-shadow: 0 0 8px currentColor; }
.particle-field i::after { width: 1px; height: 1px; left: 10px; top: -4px; opacity: .32; box-shadow: 0 0 6px currentColor; }
.particle-field i:nth-child(4n) { width: 5px; height: 5px; }
.particle-field i:nth-child(5n) { width: 2px; height: 2px; }
.particle-field i:nth-child(8n + 1) { color: #ff4d5d; }
.particle-field i:nth-child(8n + 2) { color: #ff9d3f; }
.particle-field i:nth-child(8n + 3) { color: #ffe45f; }
.particle-field i:nth-child(8n + 4) { color: #54e38e; }
.particle-field i:nth-child(8n + 5) { color: #46dff0; }
.particle-field i:nth-child(8n + 6) { color: #5795ff; }
.particle-field i:nth-child(8n + 7) { color: #a96dff; }
.particle-field i:nth-child(8n) { color: #ff67c4; }
.particle-field i:nth-child(18n + 1) { animation-delay: 0s; }
.particle-field i:nth-child(18n + 2) { animation-delay: -.71s; }
.particle-field i:nth-child(18n + 3) { animation-delay: -1.42s; }
.particle-field i:nth-child(18n + 4) { animation-delay: -2.13s; }
.particle-field i:nth-child(18n + 5) { animation-delay: -2.84s; }
.particle-field i:nth-child(18n + 6) { animation-delay: -3.56s; }
.particle-field i:nth-child(18n + 7) { animation-delay: -4.27s; }
.particle-field i:nth-child(18n + 8) { animation-delay: -4.98s; }
.particle-field i:nth-child(18n + 9) { animation-delay: -5.69s; }
.particle-field i:nth-child(18n + 10) { animation-delay: -6.4s; }
.particle-field i:nth-child(18n + 11) { animation-delay: -7.11s; }
.particle-field i:nth-child(18n + 12) { animation-delay: -7.82s; }
.particle-field i:nth-child(18n + 13) { animation-delay: -8.53s; }
.particle-field i:nth-child(18n + 14) { animation-delay: -9.24s; }
.particle-field i:nth-child(18n + 15) { animation-delay: -9.96s; }
.particle-field i:nth-child(18n + 16) { animation-delay: -10.67s; }
.particle-field i:nth-child(18n + 17) { animation-delay: -11.38s; }
.particle-field i:nth-child(18n + 18) { animation-delay: -12.09s; }
.hero-grid { width: 100%; max-width: 1180px; margin: 0; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr); gap: clamp(48px, 7vw, 100px); align-items: center; position: relative; z-index: 1; }
.hero-message { max-width: 680px; margin: 0; position: relative; z-index: 2; text-align: left; transition: transform .8s cubic-bezier(.22,.78,.22,1); }
.hero-service-label { width: fit-content; margin: 0 0 18px; color: #465047; font: 800 9px/1.3 "Manrope", sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.hero-service-label::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 10px; border-radius: 50%; background: linear-gradient(135deg, var(--accent-green), var(--accent-yellow)); box-shadow: 0 0 0 5px rgba(54,201,107,.1); }
.hero-brand-title { margin: 0; font: 650 clamp(25px, 2.4vw, 34px)/1 "Manrope", Arial, sans-serif; letter-spacing: -.045em; }
.hero-brand-title span { color: #737b74; font-weight: 400; }
.eyebrow, .kicker { text-transform: uppercase; letter-spacing: .16em; font-weight: 800; font-size: 10px; display: flex; align-items: center; gap: 10px; }
.hero .eyebrow { justify-content: flex-start; }
.eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg, var(--accent-red), var(--accent-yellow)); box-shadow: 0 0 0 4px rgba(240,75,87,.1); }
h1, h2, h3 { font-family: "Manrope", Arial, sans-serif; margin: 0; letter-spacing: -.052em; }
h1 { max-width: 900px; margin: 24px auto 20px; font-size: clamp(54px, 6vw, 78px); line-height: .95; font-weight: 750; }
h1 span, h1 em { display: block; }
h1 em { color: var(--forest); font-family: Georgia, serif; font-weight: 400; font-style: italic; letter-spacing: -.06em; }
.hero h1 { width: auto; max-width: 680px; margin: 31px 0 0; font-family: "DM Sans", Arial, sans-serif; font-size: clamp(54px, 5.4vw, 76px); font-weight: 300; letter-spacing: -.055em; line-height: .91; text-align: left; white-space: normal; }
.hero h1 span { width: fit-content; max-width: 100%; margin: 5px 0 0; padding: 0 .05em .055em; color: var(--ink); background: linear-gradient(90deg, var(--accent-red), var(--accent-yellow)) bottom / 100% .22em no-repeat; }
.hero-deck { max-width: 590px; margin: 27px 0 0; color: #566057; font-size: clamp(15px, 1.3vw, 18px); line-height: 1.62; }
.hero-actions { margin-top: 30px; display: flex; align-items: center; gap: 24px; }
.hero-actions .text-link { padding: 8px 0; }
.hero-copy { max-width: 650px; margin: 0 auto 27px; color: #4f5a52; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.55; }
.hero-note { margin: 25px 0 0; color: #687269; font-size: 11px; font-weight: 600; }
.hero-note i { margin: 0 7px; color: #9ba29c; font-style: normal; }
.hero-paths { position: relative; z-index: 2; overflow: hidden; padding: 28px; border: 1px solid rgba(17,22,18,.16); border-radius: 16px; background: rgba(255,255,255,.76); color: var(--ink); box-shadow: 0 28px 70px rgba(17,22,18,.11); backdrop-filter: blur(18px); opacity: 1; visibility: visible; transform: none; transition: opacity .68s ease, transform .8s cubic-bezier(.22,.78,.22,1), visibility 0s linear; }
.hero-paths::before { content: ""; height: 4px; position: absolute; inset: 0 0 auto; background: linear-gradient(90deg, var(--accent-red), var(--accent-yellow), var(--accent-green)); }
.hero-paths header { display: grid; gap: 7px; margin-bottom: 20px; }
.hero-paths header p { margin: 0; color: var(--forest); font: 800 9px/1.2 "Manrope", sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.hero-paths header h2 { margin: 0; color: var(--ink); font-size: clamp(25px, 2.4vw, 33px); line-height: 1.05; }
.hero-paths > a { min-height: 79px; display: grid; grid-template-columns: 28px 1fr 20px; align-items: center; gap: 14px; padding: 15px 2px; border-top: 1px solid var(--line); transition: padding .2s, background .2s; }
.hero-paths > a:hover { padding-left: 10px; padding-right: 10px; background: rgba(54,201,107,.07); }
.hero-paths > a > b { color: #238c4a; font: 800 9px "Manrope", sans-serif; letter-spacing: .08em; }
.hero-paths > a > span { display: grid; gap: 5px; }
.hero-paths > a strong { color: var(--ink); font-size: 15px; }
.hero-paths > a small { color: var(--muted); font-size: 11px; line-height: 1.4; }
.hero-paths > a > i { color: var(--forest); font-size: 18px; font-style: normal; }
.hero-paths-foot { margin: 18px 0 0; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; line-height: 1.55; }
@media (min-width: 1041px) {
  .home-gated .hero-grid { grid-template-columns: minmax(0, 780px); justify-content: center; align-items: center; }
  .home-gated .hero-message { width: 100%; max-width: 780px; margin: 0 auto; grid-column: 1; grid-row: 1; text-align: center; }
  .home-gated .hero-service-label { margin-left: auto; margin-right: auto; }
  .home-gated .hero h1 { margin-left: auto; margin-right: auto; text-align: center; }
  .home-gated .hero h1 span { margin-left: auto; margin-right: auto; }
  .home-gated .hero-deck { margin-left: auto; margin-right: auto; }
  .home-gated .hero-actions { justify-content: center; }
  .home-gated .hero-note { text-align: center; }
  .home-started .hero-grid { grid-template-columns: minmax(320px, .72fr) minmax(0, 1.08fr); align-items: start; }
  .home-started .hero-paths { grid-column: 1; grid-row: 1; }
  .home-started .hero-message { width: 100%; grid-column: 2; grid-row: 1; }
}
.home-gated .hero-paths { position: absolute; opacity: 0; visibility: hidden; transform: translateX(-28px) scale(.97); pointer-events: none; }
.home-gated .hero-message { width: 100%; margin-left: auto; margin-right: auto; text-align: center; }
.home-gated .hero-service-label { margin-left: auto; margin-right: auto; }
.home-gated .hero h1 { margin-left: auto; margin-right: auto; text-align: center; }
.home-gated .hero h1 span { margin-left: auto; margin-right: auto; }
.home-gated .hero-deck { margin-left: auto; margin-right: auto; }
.home-gated .hero-actions { justify-content: center; align-items: center; }
.home-gated .hero-note { margin-left: auto; margin-right: auto; text-align: center; }
.js.home-gated main > section:not(.hero),
.js.home-gated footer { display: none; }
.button { overflow: hidden; position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; gap: 18px; padding: 13px 17px; border: 0; border-radius: 4px; font-weight: 800; cursor: pointer; transition: transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(17,22,18,.12); }
.button span { font-size: 19px; }
.button.primary, .button.lime, .button.outline, .button.light { background: linear-gradient(115deg, var(--accent-green), var(--accent-yellow)); color: var(--ink); }
.home-gated .hero .button.primary::after, .home-gated .nav-cta::after { content: ""; width: 22%; position: absolute; top: -55%; bottom: -55%; left: -40%; z-index: 2; pointer-events: none; transform: skewX(-18deg); background: linear-gradient(90deg, transparent, rgba(255,255,255,.04) 30%, rgba(255,255,255,.28) 50%, rgba(255,255,255,.04) 70%, transparent); box-shadow: 0 0 6px rgba(255,255,255,.05); animation: buttonShimmer 7s ease-in-out infinite; }
.home-started [data-home-intro] { color: white; box-shadow: inset 0 0 0 100px var(--ink); transition: transform .2s, box-shadow .55s ease, color .35s ease; }
.home-started [data-home-intro]:hover { box-shadow: inset 0 0 0 100px var(--ink), 0 12px 30px rgba(17,22,18,.16); }
.button.outline { border: 0; }
.text-link { padding: 10px 0; border-bottom: 1px solid currentColor; font-size: 13px; font-weight: 800; }
.text-link span { margin-left: 11px; }

.hero-visual { width: 100%; max-width: 900px; margin: 0 auto; position: relative; padding: 0; }
.browser-card { background: #fbfaf5; border: 1px solid rgba(17,22,18,.13); border-radius: 10px; box-shadow: 0 24px 65px rgba(17,22,18,.13); overflow: hidden; }
.browser-bar { height: 40px; display: flex; align-items: center; gap: 6px; padding: 0 14px; border-bottom: 1px solid #dddcd5; }
.browser-bar i { width: 7px; height: 7px; border-radius: 50%; background: #c4c4bd; }
.browser-bar span { margin: auto; padding: 4px 45px; border-radius: 10px; background: #edede8; color: #898b85; font-size: 9px; }
.browser-content { min-height: 285px; padding: 24px 30px; position: relative; overflow: hidden; background: #2b1117; color: white; text-align: left; }
.mini-nav { display: flex; justify-content: space-between; font-size: 8px; }
.mini-copy { margin-top: 54px; display: flex; flex-direction: column; align-items: flex-start; position: relative; z-index: 2; }
.mini-copy small { color: var(--lime); font-size: 7px; letter-spacing: .15em; }
.mini-copy strong { margin: 10px 0 22px; font: 700 clamp(28px, 3vw, 40px)/.98 "Manrope"; letter-spacing: -.06em; }
.mini-button { padding: 10px 12px; background: linear-gradient(115deg, var(--accent-green), var(--accent-yellow)); color: var(--ink); font-size: 7px; font-weight: 800; }
.mini-shape { width: 36%; height: 72%; position: absolute; right: 28px; bottom: 0; border-radius: 14px 14px 0 0; background: linear-gradient(145deg, var(--accent-red), var(--accent-yellow)); opacity: .92; }
.float-tag { display: none; }
.section { padding: clamp(64px, 7vw, 88px) 24px; }
.section > * { width: 100%; max-width: 1180px; margin-left: auto; margin-right: auto; }
.section-heading { max-width: 760px; margin-bottom: clamp(38px, 5vw, 54px); }
.section-heading > p:not(.kicker) { max-width: 650px; margin: 22px 0 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.section-heading:not(.split) { text-align: center; }
.section-heading:not(.split) .kicker { justify-content: center; }
.section-heading:not(.split) > p:not(.kicker) { margin-left: auto; margin-right: auto; }
.section-heading.split { max-width: none; display: grid; grid-template-columns: 1.3fr .7fr; gap: clamp(45px, 8vw, 120px); align-items: end; }
.section-heading.split > p { margin: 0; color: var(--muted); line-height: 1.65; }
.kicker { margin: 0 0 18px; color: var(--muted); }
h2 { font-size: clamp(38px, 4.5vw, 60px); line-height: 1.03; }

.pathways { background: linear-gradient(to bottom, var(--paper) 0, white 78px, white 100%); }
.path-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.path-card { min-height: 300px; padding: 25px; border: 1px solid var(--line); border-radius: 10px; display: flex; flex-direction: column; align-items: flex-start; overflow: hidden; position: relative; background: #fafaf6; color: var(--ink); }
.path-dark, .path-light { background: #fafaf6; color: var(--ink); }
.card-number { margin-bottom: 22px; color: var(--forest); font: 800 10px "Manrope"; letter-spacing: .14em; }
.path-card h3 { max-width: 580px; margin: 0 0 13px; font-size: clamp(23px, 2.1vw, 31px); line-height: 1.08; }
.path-card p, .path-light p { max-width: 580px; margin: 0 0 17px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.path-card .card-price { margin: -8px 0 19px; display: flex; align-items: baseline; gap: 9px; color: var(--ink); }
.card-price strong { font: 500 24px/1 "DM Sans", sans-serif; letter-spacing: -.045em; }
.card-price span { color: var(--muted); font: 700 9px/1.3 "Manrope", sans-serif; letter-spacing: .04em; }
.path-card ul { margin: 0 0 26px; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 12px; font-weight: 700; }
.path-card li::before, .path-light li::before { content: "✓"; margin-right: 10px; color: var(--forest); }
.path-card .button { margin-top: auto; padding: 11px 13px; border: 0; background: var(--ink); color: white; font-size: 12px; }
.path-card.is-selected { border-color: var(--forest); box-shadow: 0 0 0 3px rgba(23,63,43,.13); }
.path-dark.is-selected { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(255,117,111,.24); }
.path-card .button[aria-pressed="true"]::before { content: "✓"; font-size: 12px; }

[hidden] { display: none !important; }
.guided-intake { margin-top: 28px; padding: clamp(26px, 4vw, 45px); border: 1px solid var(--line); border-radius: 10px; background: var(--paper); box-shadow: none; }
.guided-heading { max-width: 730px; margin: 0 auto; text-align: center; }
.guided-heading .kicker { justify-content: center; }
.guided-heading h3 { font-size: clamp(29px, 3.4vw, 44px); line-height: 1.04; }
.guided-heading > p:not(.kicker) { margin: 16px auto 0; color: var(--muted); line-height: 1.6; }
.intake-panel, .intake-contact { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--line); }
.panel-heading { margin-bottom: 22px; display: flex; align-items: baseline; gap: 16px; }
.panel-heading > span { flex: 0 0 auto; color: var(--forest); font: 800 9px "Manrope"; letter-spacing: .13em; text-transform: uppercase; }
.panel-heading h3 { font-size: clamp(24px, 2.7vw, 34px); line-height: 1.08; }
.question-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.question { padding: 18px; border: 1px solid var(--line); border-radius: 7px; background: white; }
.contact-form .question label { margin: 0; }
.contact-form .question .custom-answer { margin-top: 14px; padding-top: 14px; border-top: 1px solid #e3e5e0; color: #535d55; }
.contact-form .question select, .contact-form .question input { margin-top: 1px; }
.intake-contact { max-width: 850px; margin-left: auto; margin-right: auto; }
.intake-contact > label { margin-top: 0; }
.guided-intake .form-error { margin-bottom: 0; text-align: center; }

.formations { background: linear-gradient(to bottom, white 0, var(--paper) 78px, var(--paper) 100%); }
.formation-grid { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--line); }
.formation-card { min-height: 0; padding: 22px 8px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; display: grid; grid-template-columns: 52px minmax(210px, .72fr) minmax(280px, 1fr) auto; gap: clamp(18px, 3vw, 40px); align-items: center; transition: padding .25s, background .25s; }
.formation-card:hover { padding-left: 16px; padding-right: 16px; background: rgba(255,255,255,.5); }
.formation-card > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 999px; background: linear-gradient(115deg, var(--accent-green), var(--accent-yellow)); color: var(--ink); font: 800 10px "Manrope"; }
.formation-card h3 { margin: 0; font-size: 21px; line-height: 1.08; }
.formation-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.58; }
.formation-card a { margin: 0; padding-bottom: 3px; border-bottom: 1px solid currentColor; font-size: 11px; font-weight: 800; white-space: nowrap; }
.formation-card a b { margin-left: 8px; }
.legal-note { max-width: 1180px; margin: 28px auto 0; padding: 11px 0 11px 18px; border: 0; border-left: 2px solid var(--accent-green); border-radius: 0; color: var(--muted); font-size: 11px; line-height: 1.6; text-align: left; }

.statement { padding: 72px 0 52px; overflow: hidden; background: linear-gradient(to bottom, var(--paper), rgba(244,242,233,0) 54px), linear-gradient(105deg, var(--accent-red), var(--accent-yellow)); text-align: center; }
.statement > p { margin: 0 24px 28px; font: 650 clamp(22px, 2.5vw, 34px) "Manrope"; letter-spacing: -.04em; }
.marquee { width: max-content; display: flex; align-items: center; gap: 30px; transform: translateX(0); font: 800 clamp(30px, 4.5vw, 62px) "Manrope"; letter-spacing: -.06em; white-space: nowrap; animation: marqueeDrift 32s linear infinite alternate; }
.marquee i { font-style: normal; font-size: .45em; }

.why { background: linear-gradient(to bottom, rgba(255,213,74,.24) 0, white 82px, white 100%); }
.why-points { margin-bottom: 34px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 28px; }
.why-points article { padding: 23px 4px 25px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; }
.why-points article > span { color: var(--forest); font: 800 9px "Manrope", sans-serif; letter-spacing: .12em; }
.why-points h3 { margin: 16px 0 9px; font-size: 20px; line-height: 1.08; }
.why-points p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.comparison { border-radius: 10px; overflow: hidden; background: var(--ink); color: white; }
.comparison-heading { padding: clamp(28px, 4vw, 50px); display: grid; grid-template-columns: 1fr .55fr; gap: 50px; align-items: end; }
.comparison-heading .kicker { color: var(--lime); }
.comparison-heading h3 { max-width: 700px; font-size: clamp(32px, 4vw, 58px); line-height: 1.03; }
.comparison-heading > p { margin: 0; color: #aeb6af; line-height: 1.6; font-size: 13px; }
.comparison-table { background: white; color: var(--ink); }
.comparison-row { display: grid; grid-template-columns: 1.25fr 1fr 1fr; min-width: 720px; border-bottom: 1px solid #dce0dc; }
.comparison-row:last-child { border-bottom: 0; }
.comparison-row > * { padding: 20px 24px; border-right: 1px solid #dce0dc; font-size: 13px; }
.comparison-row > *:last-child { border-right: 0; }
.comparison-row strong { background: #fff0f1; color: var(--forest); }
.comparison-head { background: #eef0eb; font-weight: 800; }

.process { background: linear-gradient(105deg, rgba(240,75,87,.22), rgba(255,213,74,.26)) top / 100% 82px no-repeat, var(--paper); }
.steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.steps li { display: grid; grid-template-columns: 48px 1fr; gap: 22px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.steps li > span { padding-top: 5px; color: #7b857d; font: 700 11px "Manrope"; }
.steps li > div { display: grid; grid-template-columns: minmax(210px, .55fr) 1fr; gap: clamp(30px, 6vw, 90px); align-items: start; }
.steps h3 { font-size: 24px; line-height: 1.08; }
.steps p { margin: 0; color: var(--muted); line-height: 1.55; font-size: 14px; }

.service-area { background: linear-gradient(to bottom, var(--paper) 0, var(--ink) 76px, var(--ink) 100%); color: white; }
.area-copy { max-width: 980px; margin: 0 auto; padding: clamp(116px, 10vw, 136px) 24px clamp(62px, 7vw, 82px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.area-copy .kicker { color: var(--lime); }
.area-copy .kicker { justify-content: center; }
.area-copy h2 { max-width: 1000px; }
.area-copy p:not(.kicker) { max-width: 760px; margin: 27px 0 34px; color: #aeb6af; font-size: 16px; line-height: 1.7; }
.area-copy .button { align-self: center; }

.guide-hero { padding: clamp(64px, 7vw, 90px) max(24px, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(310px, .72fr); gap: clamp(50px, 8vw, 105px); align-items: center; background: radial-gradient(circle at 18% 7%, rgba(240,75,87,.14), transparent 31%), radial-gradient(circle at 70% 0%, rgba(255,213,74,.16), transparent 30%), var(--paper); }
.guide-hero-copy { max-width: 740px; }
.guide-hero h1 { margin: 21px 0 23px; font-size: clamp(47px, 5.5vw, 70px); line-height: .98; }
.guide-hero-copy > p:last-child { max-width: 680px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.68; }
.guide-directory { padding: 25px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.78); box-shadow: 0 18px 45px rgba(23,63,43,.07); }
.directory-title { margin: 0 0 12px; color: var(--muted); font: 800 10px "Manrope"; letter-spacing: .15em; text-transform: uppercase; }
.guide-jump { display: grid; }
.guide-jump a { padding: 13px 2px; display: grid; grid-template-columns: 28px 55px 1fr; gap: 10px; align-items: center; border-bottom: 1px solid var(--line); transition: color .2s, padding .2s; }
.guide-jump a:first-child { border-top: 1px solid var(--line); }
.guide-jump a:hover { padding-left: 7px; color: var(--forest); }
.guide-jump span { color: #9aa39c; font: 700 9px "Manrope"; }
.guide-jump strong { font: 800 12px "Manrope"; }
.guide-jump small { color: var(--muted); font-size: 12px; }
.guide-intro { padding: clamp(64px, 7vw, 88px) max(24px, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(45px, 8vw, 105px); align-items: start; background: white; }
.guide-intro-heading h2 { margin-top: 14px; font-size: clamp(37px, 4vw, 53px); }
.guide-principles { display: grid; }
.guide-principles article { padding: 19px 0; display: grid; grid-template-columns: 38px 1fr; gap: 16px; border-top: 1px solid var(--line); }
.guide-principles article:last-child { border-bottom: 1px solid var(--line); }
.guide-principles article > span { padding-top: 4px; color: #89938b; font: 800 9px "Manrope"; }
.guide-principles h3 { margin-bottom: 7px; font-size: 18px; letter-spacing: -.035em; }
.guide-principles p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.guide-overview { padding: clamp(64px, 7vw, 88px) max(24px, calc((100vw - 1180px) / 2)); background: var(--paper); }
.guide-overview-heading { margin-bottom: 34px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: end; }
.guide-overview-heading h2 { margin-top: 13px; font-size: clamp(36px, 4vw, 52px); }
.guide-overview-heading > p { max-width: 610px; margin: 0; color: var(--muted); line-height: 1.65; }
.overview-table { border-top: 1px solid var(--line); }
.overview-row { min-height: 78px; padding: 16px 10px; display: grid; grid-template-columns: 70px 1.15fr 1.45fr 1.1fr 28px; gap: 20px; align-items: center; border-bottom: 1px solid var(--line); }
.overview-row:not(.overview-head) { transition: background .2s, padding .2s; }
.overview-row:not(.overview-head):hover { padding-left: 16px; background: rgba(255,255,255,.72); }
.overview-head { min-height: auto; padding-top: 10px; padding-bottom: 10px; color: #879189; font: 800 9px "Manrope"; letter-spacing: .1em; text-transform: uppercase; }
.overview-row > span:first-child { color: var(--forest); font: 800 12px "Manrope"; }
.overview-row strong { font: 750 15px "Manrope"; letter-spacing: -.025em; }
.overview-row p, .overview-doc { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.overview-row i { font-style: normal; font-size: 17px; text-align: right; }
.guide-entries { padding: 0 24px clamp(72px, 8vw, 100px); background: white; }
.guide-entry { max-width: 1080px; margin: 0 auto; padding: clamp(48px, 6vw, 68px) 0; scroll-margin-top: 96px; border-top: 1px solid var(--line); position: relative; }
.guide-entry-title { display: grid; grid-template-columns: 72px 1fr; gap: 38px; align-items: start; }
.guide-entry-title > span { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 8px; background: var(--mint); color: var(--forest); font: 800 13px "Manrope"; }
.guide-entry-title h2 { max-width: 850px; font-size: clamp(35px, 4vw, 52px); overflow-wrap: anywhere; }
.guide-entry-title > div > p:last-child { max-width: 760px; margin: 18px 0 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.guide-entry-details { margin: 34px 0 26px 110px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.guide-entry-details > div { padding: 25px; border: 1px solid var(--line); border-radius: 10px; background: #fafaf6; }
.guide-entry-details h3 { margin: 0 0 14px; font-size: 18px; letter-spacing: -.03em; }
.guide-entry-details h3:not(:first-child) { margin-top: 24px; }
.guide-entry-details p, .guide-entry-details li { color: var(--muted); line-height: 1.65; }
.guide-entry-details p { margin: 0; }
.guide-entry-details ul { margin: 0; padding-left: 20px; }
.guide-entry-details li + li { margin-top: 8px; }
.guide-entry > .text-link { margin-left: 110px; display: inline-block; }
.professional-note { padding: clamp(64px, 7vw, 88px) 24px; text-align: center; background: linear-gradient(120deg, #2fe66b 0%, #87f04f 54%, #d8ee35 100%); color: var(--ink); }
.professional-note > * { max-width: 900px; margin-left: auto; margin-right: auto; }
.professional-note .kicker { justify-content: center; color: #143b1f; }
.professional-note h2 { font-size: clamp(38px, 5vw, 64px); }
.professional-note > p:last-child { max-width: 700px; margin-top: 24px; color: #24422c; line-height: 1.7; }

.pricing-hero { background: radial-gradient(circle at 18% 7%, rgba(54,201,107,.14), transparent 31%), radial-gradient(circle at 78% 0%, rgba(255,213,74,.2), transparent 32%), var(--paper); }
.pricing-summary { padding: 32px; border: 1px solid var(--line); border-radius: 14px; background: var(--ink); color: white; box-shadow: 0 18px 45px rgba(17,22,18,.12); }
.pricing-summary .directory-title { color: var(--accent-yellow); }
.summary-price { display: block; margin: 16px 0 8px; font: 300 clamp(54px,7vw,82px)/.9 "DM Sans", sans-serif; letter-spacing: -.07em; }
.pricing-summary > p:not(.directory-title) { color: #aeb6af; line-height: 1.55; }
.pricing-summary > div { margin-top: 24px; padding-top: 22px; border-top: 1px solid #343b35; display: grid; gap: 6px; }
.pricing-summary > div span { color: var(--accent-green); font: 800 9px "Manrope", sans-serif; text-transform: uppercase; letter-spacing: .14em; }
.pricing-summary > div b { font-size: 15px; }
.pricing-summary small { display: block; margin-top: 18px; color: #929a93; line-height: 1.55; }
.pricing-options { padding: clamp(70px,8vw,100px) max(24px,calc((100vw - 1180px)/2)); background: white; }
.pricing-section-heading { max-width: 760px; margin: 0 auto clamp(42px,5vw,58px); text-align: center; }
.pricing-section-heading .kicker { justify-content: center; }
.pricing-section-heading h2 { font-size: clamp(40px,5vw,62px); }
.pricing-section-heading > p:not(.kicker) { margin: 20px auto 0; color: var(--muted); line-height: 1.65; }
.pricing-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: stretch; }
.pricing-grid-five { grid-template-columns: repeat(6,minmax(0,1fr)); }
.pricing-grid-five > .pricing-card { grid-column: span 2; }
.pricing-grid-five > .pricing-card:nth-last-child(-n + 2) { grid-column: span 3; }
.pricing-card { padding: 28px; border: 1px solid var(--line); border-radius: 10px; background: #fafaf6; display: flex; flex-direction: column; }
.pricing-card.featured { background: var(--ink); color: white; border-color: var(--ink); }
.pricing-type { margin: 0 0 24px; color: var(--forest); font: 800 10px "Manrope", sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.featured .pricing-type { color: var(--accent-yellow); }
.price-line { min-height: 88px; display: flex; align-items: flex-end; gap: 14px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.featured .price-line { border-color: #343b35; }
.price-line strong { font: 300 clamp(36px,4.2vw,56px)/.9 "DM Sans", sans-serif; letter-spacing: -.06em; }
.price-line strong.price-compact { font-size: clamp(30px,3vw,42px); letter-spacing: -.05em; white-space: nowrap; }
.price-line span { color: var(--muted); font-size: 11px; line-height: 1.35; }
.featured .price-line span, .featured > p:not(.pricing-type) { color: #aeb6af; }
.pricing-card > p:not(.pricing-type) { margin: 22px 0 20px; color: var(--muted); line-height: 1.6; font-size: 14px; }
.pricing-card ul { margin: 0 0 28px; padding: 0; list-style: none; display: grid; gap: 10px; font-size: 12px; font-weight: 700; }
.pricing-card li::before { content: "✓"; margin-right: 9px; color: var(--forest); }
.featured li::before { color: var(--accent-green); }
.pricing-card .button { margin-top: auto; align-self: flex-start; }
.pricing-card:not(.featured) .button { background: var(--ink); color: white; }
.pricing-breakdown { padding: clamp(80px,8vw,105px) max(24px,calc((100vw - 1180px)/2)); background: var(--ink); color: white; }
.pricing-breakdown-heading { max-width: 820px; }
.pricing-breakdown .kicker { color: var(--accent-yellow); }
.pricing-breakdown-heading h2 { font-size: clamp(42px,5vw,64px); }
.pricing-breakdown-heading > p:not(.kicker) { margin: 24px 0 0; color: #aeb6af; line-height: 1.68; }
.cost-parts { margin-top: 52px; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #343b35; border: 1px solid #343b35; }
.cost-parts article { padding: 28px; background: #171d18; }
.cost-parts span { color: var(--accent-green); font: 800 9px "Manrope", sans-serif; letter-spacing: .14em; }
.cost-parts h3 { margin: 18px 0 10px; font-size: 24px; }
.cost-parts p { margin: 0; color: #aeb6af; font-size: 13px; line-height: 1.6; }
.pricing-faq { padding: clamp(76px,8vw,100px) max(24px,calc((100vw - 1180px)/2)); background: white; }
.pricing-faq-layout { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(54px,8vw,110px); align-items: start; }
.pricing-faq-intro { position: sticky; top: 104px; }
.pricing-faq-intro h2 { max-width: 480px; margin-top: 14px; font-size: clamp(40px,4.6vw,60px); }
.pricing-faq-intro > p:last-child { max-width: 460px; margin: 24px 0 0; color: var(--muted); line-height: 1.68; }
.pricing-faq .faq-list { width: 100%; max-width: none; margin: 0; border-top: 1px solid var(--line); }
.pricing-faq details { border-bottom: 1px solid var(--line); }
.pricing-faq summary { min-height: 86px; display: grid; grid-template-columns: 34px minmax(0,1fr) 30px; gap: 16px; align-items: center; cursor: pointer; list-style: none; font: 700 clamp(17px,1.55vw,21px) "Manrope", sans-serif; letter-spacing: -.035em; }
.pricing-faq summary::-webkit-details-marker { display: none; }
.pricing-faq summary > span { color: #879189; font: 800 9px "Manrope", sans-serif; letter-spacing: .08em; }
.pricing-faq summary > b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--mint); color: var(--forest); font-size: 20px; font-weight: 500; transition: transform .25s, background .25s; }
.pricing-faq details[open] summary > b { transform: rotate(45deg); background: var(--accent-green); }
.pricing-faq details > p { max-width: 680px; margin: -2px 40px 28px 50px; color: var(--muted); line-height: 1.68; }
.pricing-faq details > p a { color: var(--forest); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.pricing-faq summary:focus-visible { outline: 2px solid var(--accent-green); outline-offset: 5px; }
.pricing-cta > p:not(.kicker) { margin: 20px auto 0; color: var(--muted); line-height: 1.65; }
.official-resources { padding: clamp(64px, 7vw, 88px) 24px; display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(45px, 8vw, 100px); background: var(--paper); }
.official-resources > * { width: 100%; max-width: 590px; }
.official-resources > div:first-child { margin-left: auto; }
.official-resources > div:last-child { display: grid; align-content: start; }
.official-resources a { padding: 18px 0; display: flex; justify-content: space-between; gap: 20px; border-bottom: 1px solid var(--line); font-weight: 700; overflow-wrap: anywhere; }
.guide-cta { padding: clamp(70px, 8vw, 100px) 24px; text-align: center; background: white; }
.guide-cta > * { max-width: 850px; margin-left: auto; margin-right: auto; }
.guide-cta .kicker { justify-content: center; }
.guide-cta .guide-cta-note { margin-top: 18px; color: var(--muted); line-height: 1.6; }
.guide-cta .button { margin-top: 28px; }

.service-page-hero .guide-hero-copy > p:not(.kicker):not(.service-price-note) { max-width: 680px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.68; }
.service-page-hero .guide-hero-copy .service-price-note { max-width: 680px; margin: 24px 0 0; padding: 15px 17px; border-left: 3px solid var(--accent-green); background: rgba(255,255,255,.56); color: var(--muted); font-size: 13px; line-height: 1.55; }
.service-price-note strong { margin-right: 8px; color: var(--ink); font-size: 21px; letter-spacing: -.035em; }
.service-intro-actions { margin-top: 30px; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.service-step-list { display: grid; }
.service-step-list > div { padding: 14px 2px; display: grid; grid-template-columns: 30px 1fr; gap: 12px; border-bottom: 1px solid var(--line); }
.service-step-list > div:first-child { border-top: 1px solid var(--line); }
.service-step-list span { color: #929b94; font: 800 9px "Manrope"; }
.service-step-list strong { font: 750 13px "Manrope"; letter-spacing: -.02em; }
.service-step-list p { grid-column: 2; margin: -5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
.service-intake-section { padding: clamp(64px, 7vw, 88px) max(24px, calc((100vw - 1180px) / 2)); background: var(--paper); }
.service-intake-wrap { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(45px, 7vw, 90px); align-items: start; }
.service-intake-head h2 { margin-top: 14px; font-size: clamp(37px, 4vw, 53px); }
.service-intake-head > p:last-child { margin: 20px 0 0; color: var(--muted); line-height: 1.65; }
.service-form { border: 1px solid var(--line); background: white; }
.service-form .panel-heading { padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.service-form .question-grid { grid-template-columns: 1fr; }
.service-form .question { background: #fafaf6; }
.service-form .form-note { margin-bottom: 0; }
.service-form .button { margin-top: 4px; }

.faq { padding-top: clamp(120px, 10vw, 140px); background: linear-gradient(to bottom, var(--ink) 0, white 76px, white 100%); }
.faq-list { max-width: 1080px; margin-left: auto; border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { min-height: 74px; display: grid; grid-template-columns: 40px 1fr 26px; gap: 16px; align-items: center; cursor: pointer; list-style: none; font: 700 clamp(17px, 1.7vw, 22px) "Manrope"; letter-spacing: -.035em; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary > span { color: #879189; font: 700 10px "Manrope"; }
.faq summary b { font-size: 25px; font-weight: 400; transition: transform .25s; }
.faq details[open] summary b { transform: rotate(45deg); }
.faq details > p { max-width: 800px; margin: -4px 48px 28px 63px; color: var(--muted); line-height: 1.65; }

.contact { padding: clamp(126px, 10vw, 146px) max(24px, calc((100vw - 1180px) / 2)) clamp(68px, 7vw, 88px); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(48px, 6vw, 76px); align-items: start; background: linear-gradient(to bottom, white 0, var(--ink) 76px, var(--ink) 100%); color: white; }
.contact .kicker { color: var(--lime); }
.contact h2 { max-width: 680px; }
.contact-intro > p:not(.kicker) { max-width: 560px; margin: 28px 0 0; color: #aeb6af; font-size: 17px; line-height: 1.65; }
.contact-intro .button { margin-top: 28px; }
.contact-summary { align-self: stretch; padding: clamp(27px, 4vw, 42px); border: 1px solid #343c35; border-radius: 8px; display: flex; flex-direction: column; justify-content: center; background: #171d18; }
.contact-summary > span { color: var(--lime); font: 800 9px "Manrope"; letter-spacing: .14em; text-transform: uppercase; }
.contact-summary strong { margin: 15px 0; font: 700 clamp(29px, 3.5vw, 46px)/1.02 "Manrope"; letter-spacing: -.05em; }
.contact-summary p { max-width: 560px; margin: 0; color: #aeb6af; line-height: 1.65; }
.contact-form { padding: clamp(24px, 3vw, 32px); border-radius: 8px; background: #f5f4ed; color: var(--ink); text-align: left; }
.contact-form label { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; font-size: 13px; font-weight: 700; }
.contact-form label span { color: #757d76; font-size: 11px; font-weight: 500; }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; padding: 13px 14px; border: 1px solid #cdd2cc; border-radius: 5px; outline: none; background: white; color: var(--ink); resize: vertical; }
.contact-form input:focus, .contact-form textarea:focus, .contact-form select:focus { border-color: #c8434e; box-shadow: 0 0 0 3px rgba(255,213,74,.25); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-note { margin: 14px 0 0; color: #6d756e; font-size: 11px; }
.form-error { min-height: 18px; margin: 8px 0 0; color: #a13030; font-size: 12px; font-weight: 700; }
.contact-form .field-invalid { border-color: #b94646; box-shadow: 0 0 0 3px rgba(185,70,70,.12); }
.hidden-field { width: 1px; height: 1px; position: absolute; left: -10000px; overflow: hidden; }

footer { padding: 36px max(24px, calc((100vw - 1180px) / 2)); display: grid; grid-template-columns: 1fr 1.25fr 1fr; align-items: end; gap: 32px; border-top: 1px solid #343b35; background: var(--ink); color: white; }
footer > p, footer > div:last-child { color: #929a93; font-size: 12px; line-height: 1.55; }
footer > div:last-child { display: flex; flex-direction: column; gap: 6px; text-align: right; }
footer a { color: white; }
footer .brand-copy small { color: #929a93; }

.js .reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
.js .formation-card:nth-child(2), .js .steps li:nth-child(2) { transition-delay: .08s; }
.js .formation-card:nth-child(3), .js .steps li:nth-child(3) { transition-delay: .16s; }
.js .formation-card:nth-child(4), .js .steps li:nth-child(4) { transition-delay: .24s; }

@keyframes tagFloat { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-10px) rotate(1deg); } }
@keyframes shapeFloat { 0%,100% { transform: translate(0,0) rotate(0); } 50% { transform: translate(-8px,-9px) rotate(5deg); } }
@keyframes marqueeDrift { from { transform: translateX(0); } to { transform: translateX(calc(-100% + 100vw)); } }
@keyframes helixStrandA {
  0% { opacity: 0; transform: translate3d(calc(var(--helix-center) - var(--helix-radius)),108vh,0) scale(.62); }
  4.17% { opacity: .18; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),103.2vh,0) scale(.68); }
  8.33% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),98.3vh,0) scale(.78); }
  12.5% { opacity: .62; transform: translate3d(var(--helix-center),93.5vh,0) scale(.94); }
  16.67% { opacity: .8; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),88.7vh,0) scale(1.08); }
  20.83% { opacity: .9; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),83.8vh,0) scale(1.18); }
  25% { opacity: .94; transform: translate3d(calc(var(--helix-center) + var(--helix-radius)),79vh,0) scale(1.22); }
  29.17% { opacity: .9; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),74.2vh,0) scale(1.18); }
  33.33% { opacity: .8; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),69.3vh,0) scale(1.08); }
  37.5% { opacity: .62; transform: translate3d(var(--helix-center),64.5vh,0) scale(.94); }
  41.67% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),59.7vh,0) scale(.78); }
  45.83% { opacity: .22; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),54.8vh,0) scale(.68); }
  50% { opacity: .18; transform: translate3d(calc(var(--helix-center) - var(--helix-radius)),50vh,0) scale(.62); }
  54.17% { opacity: .22; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),45.2vh,0) scale(.68); }
  58.33% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),40.3vh,0) scale(.78); }
  62.5% { opacity: .62; transform: translate3d(var(--helix-center),35.5vh,0) scale(.94); }
  66.67% { opacity: .8; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),30.7vh,0) scale(1.08); }
  70.83% { opacity: .9; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),25.8vh,0) scale(1.18); }
  75% { opacity: .94; transform: translate3d(calc(var(--helix-center) + var(--helix-radius)),21vh,0) scale(1.22); }
  79.17% { opacity: .9; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),16.2vh,0) scale(1.18); }
  83.33% { opacity: .8; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),11.3vh,0) scale(1.08); }
  87.5% { opacity: .62; transform: translate3d(var(--helix-center),6.5vh,0) scale(.94); }
  91.67% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),1.7vh,0) scale(.78); }
  95.83% { opacity: .18; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),-3.2vh,0) scale(.68); }
  100% { opacity: 0; transform: translate3d(calc(var(--helix-center) - var(--helix-radius)),-8vh,0) scale(.62); }
}
@keyframes helixStrandB {
  0% { opacity: 0; transform: translate3d(calc(var(--helix-center) + var(--helix-radius)),108vh,0) scale(1.22); }
  4.17% { opacity: .62; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),103.2vh,0) scale(1.18); }
  8.33% { opacity: .58; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),98.3vh,0) scale(1.08); }
  12.5% { opacity: .5; transform: translate3d(var(--helix-center),93.5vh,0) scale(.94); }
  16.67% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),88.7vh,0) scale(.78); }
  20.83% { opacity: .22; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),83.8vh,0) scale(.68); }
  25% { opacity: .18; transform: translate3d(calc(var(--helix-center) - var(--helix-radius)),79vh,0) scale(.62); }
  29.17% { opacity: .22; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),74.2vh,0) scale(.68); }
  33.33% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),69.3vh,0) scale(.78); }
  37.5% { opacity: .5; transform: translate3d(var(--helix-center),64.5vh,0) scale(.94); }
  41.67% { opacity: .58; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),59.7vh,0) scale(1.08); }
  45.83% { opacity: .62; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),54.8vh,0) scale(1.18); }
  50% { opacity: .66; transform: translate3d(calc(var(--helix-center) + var(--helix-radius)),50vh,0) scale(1.22); }
  54.17% { opacity: .62; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),45.2vh,0) scale(1.18); }
  58.33% { opacity: .58; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),40.3vh,0) scale(1.08); }
  62.5% { opacity: .5; transform: translate3d(var(--helix-center),35.5vh,0) scale(.94); }
  66.67% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),30.7vh,0) scale(.78); }
  70.83% { opacity: .22; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),25.8vh,0) scale(.68); }
  75% { opacity: .18; transform: translate3d(calc(var(--helix-center) - var(--helix-radius)),21vh,0) scale(.62); }
  79.17% { opacity: .22; transform: translate3d(calc(var(--helix-center) - var(--helix-near)),16.2vh,0) scale(.68); }
  83.33% { opacity: .36; transform: translate3d(calc(var(--helix-center) - var(--helix-half)),11.3vh,0) scale(.78); }
  87.5% { opacity: .5; transform: translate3d(var(--helix-center),6.5vh,0) scale(.94); }
  91.67% { opacity: .58; transform: translate3d(calc(var(--helix-center) + var(--helix-half)),1.7vh,0) scale(1.08); }
  95.83% { opacity: .42; transform: translate3d(calc(var(--helix-center) + var(--helix-near)),-3.2vh,0) scale(1.18); }
  100% { opacity: 0; transform: translate3d(calc(var(--helix-center) + var(--helix-radius)),-8vh,0) scale(1.22); }
}
@keyframes energyPulseRed { 0%,100% { opacity: .28; transform: translate(-50%, -50%) scale(.84); } 48% { opacity: .55; transform: translate(-50%, -50%) scale(1.13); } }
@keyframes energyPulseYellow { 0%,100% { opacity: .2; transform: translate(-50%, -50%) scale(1.12); } 55% { opacity: .48; transform: translate(-50%, -50%) scale(.82); } }
@keyframes sideRailDrift { from { opacity: .52; background-position: 3px 0, 3px 30px, center 15px; } to { opacity: .86; background-position: 3px 60px, 3px 90px, center 75px; } }
@keyframes sideGlowDrift { 0%,100% { opacity: .28; transform: translate3d(0,-3%,0) scale(.9); } 50% { opacity: .44; transform: translate3d(8px,5%,0) scale(1.08); } }

@media (max-width: 1040px) {
  body::before, body::after { display: none; }
  .site-header nav a:not(.nav-cta):not(.nav-filing) { display: none; }
  .guide-hero { grid-template-columns: 1fr; }
  .guide-directory { width: 100%; max-width: 740px; }
  .overview-row { grid-template-columns: 60px 1.05fr 1.3fr 1fr 24px; gap: 12px; }
  .hero-grid { grid-template-columns: 1fr; min-height: auto; }
  .hero-message { max-width: 680px; margin: 0; }
  .hero-paths { width: 100%; max-width: 760px; }
  .hero-visual { max-width: 820px; width: 100%; }
  .path-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .path-card:last-child { grid-column: 1 / -1; }
  .why-points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact { grid-template-columns: 1fr; }
  .pricing-grid:not(.pricing-grid-five), .cost-parts { grid-template-columns: 1fr; }
  .pricing-grid-five { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pricing-grid-five > .pricing-card,
  .pricing-grid-five > .pricing-card:nth-last-child(-n + 2) { grid-column: auto; }
  .pricing-grid-five > .pricing-card:last-child { grid-column: 1 / -1; }
  .pricing-card { min-height: auto; }
  .pricing-faq-layout { grid-template-columns: 1fr; gap: 38px; }
  .pricing-faq-intro { position: static; }
}

@media (max-width: 720px) {
  .pricing-grid-five { grid-template-columns: 1fr; }
  .pricing-grid-five > .pricing-card:last-child { grid-column: auto; }
  .site-header { min-height: 70px; padding: 10px 18px; }
  .site-header nav { gap: 8px; }
  .nav-filing { font-size: 10px; white-space: nowrap; }
  .brand-mark { width: 37px; height: 37px; font-size: 11px; }
  .nav-cta { padding: 11px 14px; font-size: 11px; }
  .hero { min-height: calc(100svh - 70px); padding: 42px 20px 60px; }
  .hero-grid { gap: 32px; }
  .hero-message { text-align: left; }
  .hero-service-label { margin-bottom: 15px; font-size: 8px; }
  .hero-brand-title { font-size: clamp(24px, 7vw, 29px); line-height: 1; }
  .hero .eyebrow { justify-content: flex-start; }
  h1 { font-size: clamp(44px, 13vw, 56px); }
  .hero-offer { width: 100%; max-width: 520px; margin: 36px auto 28px; gap: 22px; }
  .hero h1 { margin-top: 26px; font-size: clamp(45px, 13vw, 58px); text-align: left; white-space: normal; }
  .hero h1 span { margin: 0; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 13px; }
  .hero-paths { padding: 22px 20px; border-radius: 12px; }
  .hero-paths > a { grid-template-columns: 24px 1fr 18px; gap: 10px; }
  .hero-note { max-width: 310px; margin-left: 0; margin-right: 0; line-height: 1.7; }
  .hero-visual { width: 100%; }
  .browser-content { min-height: 230px; padding: 20px; }
  .mini-nav span { display: none; }
  .mini-copy { margin-top: 40px; }
  .mini-shape { width: 34%; right: 18px; }
  .section { padding: 64px 20px; }
  .section-heading.split, .comparison-heading { grid-template-columns: 1fr; gap: 24px; }
  h2 { font-size: clamp(36px, 10.5vw, 48px); }
  .path-grid, .question-grid { grid-template-columns: 1fr; }
  .why-points { grid-template-columns: 1fr; }
  .path-card, .path-card:last-child { min-height: auto; padding: 25px; grid-column: auto; }
  .card-number { margin-bottom: 22px; }
  .formation-card { padding: 20px 4px; grid-template-columns: 46px 1fr; gap: 10px 16px; align-items: start; }
  .formation-card:hover { padding-left: 4px; padding-right: 4px; background: transparent; }
  .formation-card > span { grid-row: 1 / span 3; width: 40px; height: 40px; }
  .formation-card h3 { padding-top: 8px; }
  .formation-card p, .formation-card a { grid-column: 2; }
  .formation-card a { width: fit-content; margin-top: 4px; }
  .legal-note { padding-left: 14px; }
  .steps li { grid-template-columns: 34px 1fr; gap: 14px; padding: 22px 0; }
  .steps li > div { grid-template-columns: 1fr; gap: 10px; }
  .comparison-table { overflow-x: auto; }
  .comparison-row { min-width: 680px; }
  .guided-intake { padding: 25px 18px; }
  .panel-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .area-copy { padding: 116px 20px 60px; }
  .faq { padding-top: 116px; }
  .faq summary { grid-template-columns: 30px 1fr 22px; min-height: 70px; }
  .faq details > p { margin: 0 25px 25px 50px; }
  .contact { padding: 120px 20px 64px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .guide-hero { padding: 52px 20px 60px; grid-template-columns: 1fr; gap: 36px; }
  .guide-hero h1 { font-size: clamp(42px, 12vw, 55px); }
  .guide-directory { padding: 20px; }
  .guide-jump a { grid-template-columns: 26px 48px 1fr; }
  .guide-intro, .official-resources { padding: 60px 20px; grid-template-columns: 1fr; gap: 32px; }
  .guide-overview { padding: 60px 20px; }
  .guide-overview-heading { grid-template-columns: 1fr; gap: 18px; }
  .overview-head { display: none; }
  .overview-row { padding: 18px 0; grid-template-columns: 52px 1fr 24px; gap: 8px 14px; align-items: start; }
  .overview-row > span:first-child { grid-column: 1; grid-row: 1 / span 3; padding-top: 3px; }
  .overview-row strong { grid-column: 2; }
  .overview-row p, .overview-doc { grid-column: 2 / -1; }
  .overview-row i { grid-column: 3; grid-row: 1; }
  .overview-row:not(.overview-head):hover { padding-left: 0; }
  .official-resources > div:first-child { margin-left: 0; }
  .guide-entries { padding: 0 20px 64px; }
  .guide-entry { padding: 50px 0; }
  .guide-entry-title { grid-template-columns: 1fr; gap: 22px; }
  .guide-entry-title h2 { font-size: clamp(34px, 10.5vw, 48px); line-height: 1.02; }
  .guide-entry-details { margin: 30px 0 25px; grid-template-columns: 1fr; gap: 12px; }
  .guide-entry-details > div { padding: 21px; }
  .guide-entry > .text-link { margin-left: 0; }
  .service-intro-actions { align-items: flex-start; flex-direction: column; }
  .service-intake-wrap { grid-template-columns: 1fr; gap: 34px; }
  .professional-note, .guide-cta { padding: 64px 20px; }
  .pricing-summary { padding: 25px; }
  .price-line { align-items: flex-start; flex-direction: column; }
  .pricing-faq { padding-left: 20px; padding-right: 20px; }
  .pricing-faq summary { min-height: 76px; grid-template-columns: 28px minmax(0,1fr) 28px; gap: 10px; }
  .pricing-faq details > p { margin: 0 28px 25px 38px; }
  footer { grid-template-columns: 1fr; }
  footer > div:last-child { text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}

@keyframes buttonShimmer {
  0%, 12% { left: -40%; opacity: 0; }
  24% { opacity: .45; }
  62% { left: 118%; opacity: .45; }
  74%, 100% { left: 118%; opacity: 0; }
}
