/* Contained corrections above the frozen Master visual system. */
html { scroll-padding-top: 96px; scroll-padding-bottom: calc(var(--consent-notice-height, 0px) + 16px); }
body:has(.consent-notice) { padding-bottom: var(--consent-notice-height, 90px); }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #ff9357; outline-offset: 4px; }
button:not(:disabled), a { cursor: pointer; }
.master-skip { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 12px 20px; background: #f36a2d; color: #0e1012; border-radius: 8px; font-weight: 700; transform: translateY(-150%); }
.master-skip:focus { transform: translateY(0); }
.master-announcement { margin-top: 80px; }
.master-announcement + header + main > section:first-child { padding-top: 112px; }
.master-hero-photo { filter: contrast(1.08) brightness(.83) saturate(.85); object-position: center top; }
.master-photo-range { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; touch-action: pan-y; }
.master-photo-range:focus-visible { opacity: .05; }
div:has(> .master-photo-range:focus-visible) { outline: 3px solid #ff9357; outline-offset: 4px; }
[class*="text-[#6B7480]"], [class*="text-[#6b7480]"] { color: #959da7; }
.master-principles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); aspect-ratio: 2048 / 1360; background: #e7e7e5; gap: 4px; padding: 4px; }
.master-principle { container-type: inline-size; position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 5%; text-align: left; color: #c3c8ce; border: 1px solid #343b42; background: linear-gradient(#ffffff08 1px, transparent 1px), linear-gradient(90deg, #ffffff08 1px, transparent 1px), #0e1012; background-size: 13% 13%; }
.master-principle-index, .master-principle-note { position: relative; z-index: 1; font-family: "JetBrains Mono", monospace; font-size: clamp(5px, 3.2cqw, 12px); letter-spacing: .04em; }
.master-principle-note { color: #a2aab4; }
.master-principle strong { position: relative; z-index: 1; font-family: "Space Grotesk", sans-serif; font-size: 22cqw; font-weight: 700; letter-spacing: -.065em; line-height: .95; color: #f4f6f8; }
.master-principle-reticle { position: absolute; width: 70%; aspect-ratio: 1; border: 1px solid #858f9955; border-radius: 50%; top: 11%; left: 22%; }
.master-principle-reticle::before { content: ""; position: absolute; inset: 20%; border: 1px solid #858f9955; border-radius: 50%; }
.master-principle-reticle::after { content: ""; position: absolute; width: 8%; aspect-ratio: 1; background: #f36a2d; border-radius: 50%; top: 10%; left: 75%; }
.master-principle[aria-pressed="true"] { border-color: #f36a2d; background-color: #201810; }
.master-principle[aria-pressed="true"] strong { color: #ff9357; }
.master-principle-2 strong { writing-mode: vertical-rl; font-size: 24cqw; align-self: center; }
.master-principle-3 .master-principle-reticle { border-radius: 0; transform: rotate(30deg); }
.master-principle-4 strong { font-size: 36cqw; }
.master-principle-5 .master-principle-reticle { top: 20%; left: -20%; width: 120%; }
.master-principle-6 strong { font-size: 19cqw; }
.consent-notice { position: fixed; bottom: 0; left: 0; right: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px max(20px, calc((100vw - 1216px) / 2)); border-top: 1px solid #343b42; background: #14171bf5; color: #c3c8ce; backdrop-filter: blur(14px); font-size: 13px; }
.consent-notice-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.consent-notice button { min-height: 40px; padding: 8px 12px; border: 1px solid #626970; border-radius: 6px; font-size: 12px; font-weight: 600; color: #f4f6f8; background: #1e2328; }
.consent-notice button:hover { border-color: #f36a2d; }
.consent-notice button:focus-visible { outline-offset: 2px; }
.legal-section, .apply-section { max-width: 896px; padding: 144px 24px 96px; margin: auto; }
.legal-title, .apply-title { margin: 12px 0 24px; font-size: clamp(36px, 5vw, 56px); line-height: 1.05; font-weight: 800; color: white; letter-spacing: -.04em; }
.legal-lockup, .apply-lockup { color: #c3c8ce; line-height: 1.7; }
.legal-lockup h2 { margin: 32px 0 12px; color: white; font-size: 23px; font-weight: 700; }
.legal-lockup p, .apply-deck { margin-bottom: 16px; }
.legal-lockup ul { list-style: disc; padding-left: 24px; }
.legal-lockup li { margin: 8px 0; }
.legal-lockup a, .legal-back a { color: #ff9357; text-decoration: underline; text-underline-offset: 4px; }
.eyebrow { color: #f36a2d; font-family: "JetBrains Mono", monospace; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.primary-cta { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; margin: 8px 0 20px; padding: 12px 20px; border-radius: 10px; color: #0e1012; background: #f36a2d; font-weight: 700; line-height: 1.35; text-align: center; }
.support-contact { margin-top: 24px; }
.support-contact a { color: #ff9357; }
.support-contact-actions { display: flex; flex-wrap: wrap; gap: 16px; margin: 12px 0; }
@media (min-width: 768px) { .master-announcement + header + main > section:first-child { padding-top: 108px; } }
@media (max-width: 639px) {
  .consent-notice { align-items: flex-start; flex-direction: column; gap: 8px; padding: 12px 16px; }
  .master-announcement { font-size: 10px; }
  .master-announcement + header + main > section:first-child { padding-top: 80px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
}

[class~="bg-[#F36A2D]"][class~="text-white"] { color: #0e1012; }

img[src="/chris/drive/07-portrait.jpg"] { object-position: center 10%; }

/* Preserve the full header only where its labels and actions fit. */
.master-brand { flex-shrink: 0; white-space: nowrap; }
/* Open Structure mark on graphite: presentation knockout, no square plate or scale box. */
.master-brand-mark {
  height: 3rem;
  width: auto;
  object-fit: contain;
  background: transparent;
}
.master-primary-nav, .master-nav-actions { display: none; }
.master-nav-toggle { display: block; min-width: 44px; min-height: 44px; }
.master-phone-row { flex-wrap: wrap; gap: 4px 8px; }
.master-phone-row > span { flex-shrink: 0; }
@media (min-width: 768px) { .master-nav-actions { display: flex; } }
@media (min-width: 1280px) {
  .master-primary-nav { display: flex; }
  .master-nav-toggle, .master-nav-drawer { display: none; }
}
@media (max-width: 1279px) {
  .master-announcement + header + main > #hero { padding-top: 64px; }
}
@media (max-width: 639px) {
  .master-announcement + header + main > #hero { padding-top: 48px; }
}

/* Explicit review controls retain the native range inside narrow cards. */
.master-review-focus { width: min(100%, 320px); min-width: 0; flex-shrink: 0; gap: 4px; padding: 4px; }
.master-review-focus button { flex: 0 0 auto; min-width: 44px; min-height: 44px; padding: 8px; border: 1px solid transparent; border-radius: 8px; font: inherit; line-height: 1.3; }
.master-review-focus button[aria-pressed="true"] { border-color: currentColor; background: #ffffff0a; }
.master-review-focus button:hover { border-color: currentColor; }
.master-review-focus input { flex: 1 1 0; min-width: 0; width: 0; }

/* The existing header action stays available after the mobile hero. */
@media (max-width: 767px) {
  .master-mobile-apply .master-nav-row { gap: 12px; }
  .master-mobile-apply .master-brand-copy,
  .master-mobile-apply .master-nav-capacity { display: none; }
  .master-mobile-apply .master-nav-actions { display: flex; flex: 1 1 auto; min-width: 0; max-width: 240px; gap: 0; }
  .master-mobile-apply .master-nav-apply { width: 100%; min-width: 0; min-height: 44px; padding: 10px 12px; font-size: 12px; line-height: 1.25; letter-spacing: 0; text-align: center; white-space: normal; transform: none; }
  .master-mobile-apply .master-nav-apply svg,
  .master-mobile-apply .master-nav-toggle { flex-shrink: 0; }
}
