:root {
  --sc-canvas: #0f3326;
  --sc-surface: #163d2f;
  --sc-ink: #f4efe2;
  --sc-ink-soft: #b8c9bf;
  --sc-accent: #e0a054;
  --sc-accent-ink: #14342a;
  --sc-font-display: "Big Shoulders", system-ui, sans-serif;
  --sc-font-text: "Archivo", system-ui, sans-serif;
  --sc-measure: 62ch;
  --sc-r-sm: 2px;
  --sc-r-md: 4px;
  --sc-r-lg: 4px;
  --sc-section: clamp(48px, 9vw, 128px);
  --sc-gutter: clamp(20px, 4vw, 48px);
  --sc-maxw: 1180px;
  --sc-shadow-color: 151 44% 14%;
  --sc-ease-out: cubic-bezier(0.23, 1, 0.32, 1);
}

.home-page { background: #0f3326; color: #f4efe2; }
.home-page main { overflow: clip; }
.emblem-home { position: relative; }
.emblem-symbols { position: absolute; width: 0; height: 0; overflow: hidden; }

.emblem-hero { position: relative; isolation: isolate; color: #f4efe2; }
.hero-stage { top: 68px; height: calc(100svh - 68px) !important; min-height: 650px; overflow: hidden; background: #0f3326; }
.hero-copy-band { position: relative; z-index: 30; height: 100%; pointer-events: none; }
.hero-copy-grid { display: grid; height: 100%; grid-template-columns: 46% 54%; align-items: center; }
.emblem-hero-copy { grid-column: 1; max-width: 560px; padding: 32px 28px 34px 0; pointer-events: auto; }
.hero-label { margin-bottom: 16px; color: #e0a054; font-size: .75rem; font-weight: 700; line-height: 1.3; letter-spacing: .08em; text-transform: uppercase; }
.emblem-hero h1 { max-width: 10.5ch; color: #f4efe2; font-size: clamp(3rem, 6.2vw, 5rem); line-height: .96; letter-spacing: -.02em; }
.hero-lede { max-width: 50ch; margin: 20px 0 24px; color: #f4efe2; font-size: 1.0625rem; font-weight: 500; line-height: 1.65; letter-spacing: .01em; }
.hero-actions { display: flex; align-items: center; gap: 22px; }
.hero-phone { display: grid; color: #f4efe2; font-family: var(--display); font-size: 1.65rem; font-weight: 760; line-height: 1; text-decoration: none; font-variant-numeric: tabular-nums; }
.hero-phone span { margin-bottom: 6px; color: #b8c9bf; font-family: var(--text); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.identity-strip { display: grid; max-width: 500px; grid-template-columns: 72px 1fr; align-items: center; gap: 16px; margin-top: 24px; border-top: 1px solid rgba(244, 239, 226, .25); padding-top: 18px; }
.identity-strip img { width: 72px; height: 72px; border: 2px solid #e0a054; border-radius: 50%; object-fit: cover; }
.identity-strip p { display: grid; gap: 2px; margin: 0; color: #b8c9bf; font-size: .78rem; font-weight: 500; line-height: 1.45; letter-spacing: .01em; }
.identity-strip strong { color: #f4efe2; font-size: .875rem; }
.identity-strip a { color: #e0a054; }
.hero-assurance { margin: 12px 0 0; color: #b8c9bf; font-size: .75rem; font-weight: 500; letter-spacing: .01em; }

.emblem-scene { pointer-events: none; }
.emblem-scene--hero { position: absolute; z-index: 1; inset: 0; overflow: hidden; }
.emblem-plane { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; will-change: transform; transform: translate3d(var(--plane-x, 0px), calc(var(--plane-y, 0px) + var(--plane-pointer-y, 0px)), 0); }
.plane-sky { z-index: 1; }
.plane-rainier { z-index: 2; filter: blur(.25px); transform-origin: 72% 70%; }
.plane-far { z-index: 3; filter: blur(.15px); }
.plane-water { z-index: 4; }
.plane-near { z-index: 5; }
.emblem-scene--hero .plane-cabin { z-index: 6; inset: auto -1% -8% auto; width: 57%; height: 65%; }
.plane-boughs { z-index: 7; overflow: hidden; }
.bough { position: absolute; top: -7%; width: min(31vw, 450px); height: 88%; max-width: none; }
.bough-left { left: -8%; }
.bough-right { right: -8%; transform: scaleX(-1); }
.plane-rope { z-index: 5; transform: translate3d(39.5vw, 0, 0) scale(var(--ring-scale, 1)); transform-origin: 0 50%; opacity: var(--ring-opacity, 1); }
.scene-grain { position: absolute; z-index: 15; inset: 0; opacity: .045; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E"); }

.home-chapter { position: relative; color: #14342a; background: #f4f1e8; }
.home-chapter h2, .home-chapter h3 { color: #14342a; }
.home-chapter p { color: #4f6058; }
.chapter-heading { display: grid; grid-template-columns: 1fr .72fr; align-items: end; gap: clamp(32px, 7vw, 88px); margin-bottom: 56px; }
.chapter-heading h2 { max-width: 12ch; }
.chapter-heading > p { max-width: 38ch; margin: 0; }

.process-chapter { padding-block: var(--sc-section); }
.process-list { display: grid; margin: 0; padding: 0; list-style: none; }
.process-list li { display: grid; min-height: 154px; grid-template-columns: 120px .8fr 1fr; align-items: start; gap: 28px; border-top: 1px solid #c9d3ce; padding: 28px 0; }
.process-list li:last-child { border-bottom: 1px solid #c9d3ce; }
.process-list li > span { color: #8f5d18; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.process-list h3 { grid-column: 2; max-width: 14ch; }
.process-list li > div { display: contents; }
.process-list p { grid-column: 3; margin: 0; }

.answers-chapter { padding: var(--sc-section) 0 0; }
.answers-layout { display: grid; grid-template-columns: .62fr 1fr; align-items: start; gap: clamp(48px, 8vw, 112px); }
.answers-heading { position: sticky; top: 104px; }
.answers-heading h2 { max-width: 8ch; }
.answers-heading p { margin-top: 16px; }
.answer-list { margin: 0; border-top: 1px solid #14342a; }
.answer-list > div { border-bottom: 1px solid #14342a; padding: 24px 0; }
.answer-list dt { color: #14342a; font-weight: 700; }
.answer-list dd { margin: 8px 0 0; color: #4f6058; }
.verify-wrap { margin-top: var(--sc-section); overflow: hidden; border-top: 1px solid #c9d3ce; border-bottom: 1px solid #c9d3ce; background: #ffffff; }
.verify-plate { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 64px; padding-block: 42px; }
.verify-plate > div { display: grid; gap: 5px; }
.verify-plate span { color: #8f5d18; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.verify-plate strong { color: #14342a; font-family: var(--display); font-size: 1.55rem; line-height: 1.1; }
.verify-plate a { color: #8f5d18; font-weight: 700; }
.verify-plate > p { margin: 0; font-size: .875rem; line-height: 1.55; }

.situations-chapter { padding-block: var(--sc-section); }
.signpost-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; border-top: 1px solid #c9d3ce; }
.signpost { display: grid; min-height: 112px; grid-template-columns: 1fr auto; align-items: center; gap: 20px; border-bottom: 1px solid #c9d3ce; padding: 22px 0; color: #14342a; text-decoration: none; }
.signpost > span { display: grid; gap: 5px; }
.signpost strong { font-family: var(--display); font-size: 1.55rem; line-height: 1.05; }
.signpost small { max-width: 44ch; color: #4f6058; font-size: .8125rem; line-height: 1.55; }
.signpost i { color: #8f5d18; font-size: 1.25rem; font-style: normal; transition: transform 150ms var(--sc-ease-out); }
.signpost:hover strong { text-decoration: underline; text-decoration-color: #a8701f; text-underline-offset: 4px; }
.signpost:hover i { transform: translateX(4px); }
.guide-block { margin-top: 84px; }
.guide-block > h3 { margin-bottom: 20px; font-size: 2rem; }
.signpost-guide { min-height: 104px; }
.signpost-guide strong { font-size: 1.35rem; }
.area-block { display: grid; grid-template-columns: .68fr 1fr; align-items: center; gap: clamp(40px, 8vw, 96px); margin-top: 96px; border-top: 1px solid #c9d3ce; padding-top: 64px; }
.area-block h3 { max-width: 11ch; font-size: clamp(2rem, 4vw, 3.4rem); }
.area-block > div:first-child p { margin-top: 18px; }
.county-panel { width: min(100%, 520px); margin-inline: auto; }
.county-map { width: 100%; filter: drop-shadow(0 8px 18px rgba(20, 52, 42, .13)); }
.county-map .coast { fill: none; stroke: #4f6058; stroke-width: 2; stroke-dasharray: 5 8; opacity: .7; }
.county-map .county-shape path { fill: #ffffff; stroke: #14342a; stroke-width: 2; }
.county-map .county-shape text { fill: #14342a; font: 700 13px "Archivo", Arial, sans-serif; text-anchor: middle; }
.county-links { margin-top: 20px; border-top: 1px solid #c9d3ce; padding-top: 16px; }
.county-links ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 18px; margin: 0; padding: 0; list-style: none; }
.county-links a { color: #8f5d18; font-size: .75rem; font-weight: 700; }

.emblem-register { position: relative; color: #f4efe2; }
.register-stage { position: relative; height: auto; min-height: 800px; color: #f4efe2; background: #0f3326; }
.emblem-scene--close { position: absolute; z-index: 1; inset: 0 38% 0 0; overflow: hidden; --door-glow: 0; }
.emblem-scene--close::before { content: ""; position: absolute; z-index: 14; inset: 0; pointer-events: none; background: #9a6e49; opacity: var(--close-dusk, .28); mix-blend-mode: soft-light; }
.emblem-scene--close .plane-rainier { transform: translate3d(-17%, -6%, 0) scale(.92); opacity: .45; }
.emblem-scene--close .plane-far { transform: translate3d(-10%, 5%, 0) scale(1.08); }
.emblem-scene--close .plane-water { transform: translate3d(-8%, 13%, 0) scale(1.12); opacity: .62; }
.emblem-scene--close .plane-near { transform: translate3d(-4%, 10%, 0) scale(1.1); }
.emblem-scene--close .plane-cabin { z-index: 7; inset: auto auto -2% 30%; width: 75%; height: 48%; transform: none; }
.emblem-scene--close .door-glow { opacity: var(--door-glow, 0); }
.emblem-scene--close .cabin-door { opacity: calc(.45 + (var(--door-glow, 0) * .55)); }
.emblem-scene--close .plane-boughs { opacity: .72; }
.emblem-scene--close .bough { width: min(24vw, 360px); }
.register-layout { position: relative; z-index: 25; display: grid; min-height: 100svh; grid-template-columns: .72fr 1.18fr; align-items: center; gap: clamp(44px, 6vw, 86px); padding-block: 48px; }
.register-intro { align-self: start; max-width: 470px; padding-top: 64px; }
.register-intro h2 { max-width: 9ch; color: #f4efe2; font-size: clamp(2.5rem, 4.4vw, 4.5rem); }
.register-intro p { margin: 20px 0; color: #b8c9bf; font-weight: 500; line-height: 1.65; letter-spacing: .01em; }
.register-phone { display: block; color: #e0a054; font-family: var(--display); font-size: 2.2rem; font-weight: 760; line-height: 1; text-decoration: none; font-variant-numeric: tabular-nums; }
.register-intro > span { display: block; margin-top: 8px; color: #b8c9bf; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.register-form { width: 100%; max-width: 630px; justify-self: end; }
.register-form .lead-form { padding: 22px 24px; }
.register-form .form-heading { padding-bottom: 16px; }
.register-form .form-heading p { margin-bottom: 5px; }
.register-form .form-fields { gap: 12px; }
.register-form .lead-form textarea { min-height: 60px; }
.register-form .consent { font-size: .68rem !important; }

.plan-builder { display: grid; gap: 14px; border-top: 1px solid #c9d3ce; border-bottom: 1px solid #c9d3ce; padding-block: 14px; }
.chip-group > p { margin: 0 0 8px; color: #14342a; font-size: .8125rem; font-weight: 700; }
.chip-group em { color: #4f6058; font-size: .72rem; font-weight: 400; }
.chip-buttons { display: flex; flex-wrap: wrap; gap: 6px; }
.chip-buttons button { min-height: 36px; cursor: pointer; border: 1px solid #9cad9f; border-radius: 4px; padding: 7px 10px; background: #ffffff; color: #14342a; font-size: .7rem; font-weight: 700; line-height: 1.2; transition: background-color 140ms var(--sc-ease-out), border-color 140ms var(--sc-ease-out), transform 120ms var(--sc-ease-out); }
.chip-buttons button:hover { border-color: #a8701f; background: #f4f1e8; }
.chip-buttons button[aria-pressed="true"] { border-color: #14342a; background: #e0a054; }
.chip-buttons button:active { transform: translateY(1px); }
.plan-summary { border: 1px solid #c9d3ce; border-radius: 2px; padding: 12px 14px; background: #f4f1e8; }
.plan-summary strong { color: #14342a; font-family: var(--display); font-size: 1.15rem; }
.plan-summary p { margin: 3px 0 0; color: #4f6058; font-size: .75rem; line-height: 1.45; }
.plan-summary a { display: inline-block; margin-top: 5px; color: #8f5d18; font-size: .75rem; font-weight: 700; }
.timing-notice { border: 1px solid #8a2d1c; border-radius: 2px; padding: 12px 14px; background: #fff8f5; }
.timing-notice p { margin: 0; color: #5a2d24; font-size: .72rem; line-height: 1.5; }
.timing-notice p + p { margin-top: 5px; font-weight: 700; }
.timing-notice a { color: #7a2819; font-weight: 700; }

@media (max-width: 1100px) {
  .emblem-hero-copy { padding-right: 18px; }
  .emblem-hero h1 { font-size: clamp(3rem, 6vw, 4.4rem); }
  .hero-lede { max-width: 44ch; font-size: 1rem; }
  .identity-strip { max-width: 455px; }
  .register-layout { grid-template-columns: .62fr 1.18fr; gap: 32px; }
  .register-form .lead-form { padding: 18px; }
}

@media (min-width: 901px) and (max-height: 760px) {
  .emblem-scene--close .plane-cabin { bottom: 6%; }
}

@media (max-width: 900px) {
  .emblem-hero, .emblem-register { height: auto !important; }
  .hero-stage, .register-stage { position: relative !important; top: auto !important; height: auto !important; min-height: 0; }
  .hero-stage { display: flex; flex-direction: column; }
  .hero-copy-band { order: 1; height: auto; background: #0f3326; }
  .hero-copy-grid { display: block; height: auto; }
  .emblem-hero-copy { max-width: none; padding: 46px 0 40px; }
  .emblem-hero h1 { max-width: 12ch; font-size: 2.6rem; }
  .hero-lede { max-width: 48ch; }
  .emblem-scene--hero { position: relative; order: 2; height: clamp(390px, 108vw, 570px); }
  .emblem-scene--hero .plane-rainier { transform: translate3d(-12%, -14%, 0) scale(1.18); }
  .emblem-scene--hero .plane-far { transform: translate3d(-8%, 0, 0) scale(1.12); }
  .emblem-scene--hero .plane-water { transform: translate3d(-8%, 9%, 0) scale(1.15); }
  .emblem-scene--hero .plane-near { transform: translate3d(-6%, 8%, 0) scale(1.14); }
  .emblem-scene--hero .plane-cabin { inset: auto -8% -8% -8%; width: 116%; height: 77%; transform: none; }
  .emblem-scene--hero .bough { top: -16%; width: 58vw; height: 78%; }
  .emblem-scene--hero .bough-left { left: -27%; }
  .emblem-scene--hero .bough-right { right: -27%; }
  .emblem-scene--hero .plane-rope { transform: scale(1.28); transform-origin: 50% 50%; opacity: .78; }
  .chapter-heading { grid-template-columns: 1fr; align-items: start; gap: 16px; }
  .answers-layout { grid-template-columns: 1fr; gap: 32px; }
  .answers-heading { position: relative; top: auto; }
  .verify-plate { grid-template-columns: 1fr; }
  .area-block { grid-template-columns: 1fr; }
  .register-stage { padding-bottom: 0; }
  .emblem-scene--close { position: relative; inset: auto; height: 360px; --door-glow: 1 !important; --close-dusk: 0 !important; }
  .emblem-scene--close .plane-cabin { inset: auto -10% -8% -10%; width: 120%; height: 80%; }
  .emblem-scene--close .plane-rainier { transform: translate3d(-8%, -18%, 0) scale(1.2); }
  .emblem-scene--close .bough { width: 52vw; }
  .register-layout { min-height: 0; grid-template-columns: 1fr; gap: 32px; padding-block: 44px 64px; }
  .register-intro { max-width: 620px; padding-top: 0; }
  .register-intro h2 { max-width: 10ch; }
  .register-form { max-width: 680px; justify-self: start; }
}

@media (max-width: 700px) {
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .process-list li { min-height: 0; grid-template-columns: 72px 1fr; gap: 16px; }
  .process-list h3, .process-list p { grid-column: 2; }
  .process-list p { margin-top: 10px; }
  .signpost-grid { grid-template-columns: 1fr; }
  .guide-block { margin-top: 64px; }
  .area-block { margin-top: 72px; padding-top: 48px; }
  .county-links ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .register-form .lead-form { padding: 18px; }
}

@media (max-width: 430px) {
  .emblem-hero-copy { padding-top: 36px; }
  .hero-label { font-size: .7rem; }
  .hero-lede { font-size: .95rem; }
  .identity-strip { grid-template-columns: 64px 1fr; }
  .identity-strip img { width: 64px; height: 64px; }
  .emblem-scene--hero { height: 410px; }
  .process-list li { grid-template-columns: 58px 1fr; }
  .signpost { min-height: 100px; }
  .signpost strong { font-size: 1.4rem; }
  .verify-plate { padding-block: 34px; }
  .emblem-scene--close { height: 310px; }
  .register-layout { padding-block: 36px 52px; }
  .register-intro h2 { font-size: 2.75rem; }
  .register-phone { font-size: 1.9rem; }
  .chip-buttons button { min-height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  .emblem-hero, .emblem-register { height: auto !important; }
  .hero-stage, .register-stage { position: relative !important; top: auto !important; height: auto !important; min-height: 0; }
  .emblem-plane { transform: none !important; }
  .emblem-scene--hero .plane-rope { transform: translate3d(39.5vw, 0, 0) scale(1.08) !important; transform-origin: 0 50% !important; opacity: .7 !important; }
  .emblem-scene--close { --door-glow: 1 !important; --close-dusk: 0 !important; }
  [data-sc-in], [data-sc-in] > * { opacity: 1 !important; transform: none !important; }
}

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  .emblem-scene--hero .plane-rope { transform: scale(1.28) !important; transform-origin: 50% 50% !important; }
}
