:root {
  --orange: #f15a24;
  --orange-dark: #d94814;
  --navy: #17273b;
  --navy-2: #21364c;
  --cream: #f5f1e9;
  --paper: #fffdf9;
  --ink: #17212d;
  --muted: #69717a;
  --line: #ddd9d0;
  --white: #fff;
  --radius: 6px;
  --shadow: 0 22px 60px rgba(23, 39, 59, .13);
}

@view-transition { navigation: auto; }

body { animation: none; }
.topbar { view-transition-name: aodr-topbar; }
.site-header { view-transition-name: aodr-site-header; }
main { view-transition-name: aodr-page-content; animation: content-enter .48s cubic-bezier(.22, 1, .36, 1) both; }

@keyframes content-enter {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

::view-transition-old(aodr-topbar),
::view-transition-new(aodr-topbar),
::view-transition-old(aodr-site-header),
::view-transition-new(aodr-site-header) {
  animation: none;
  mix-blend-mode: normal;
}

::view-transition-old(aodr-page-content) {
  animation: content-leave .2s ease both;
}

::view-transition-new(aodr-page-content) {
  animation: content-enter .48s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes content-leave {
  to { opacity: 0; transform: translateY(-5px); }
}

body { background: var(--paper); color: var(--ink); }
.site-header { background: rgba(255, 253, 249, .95); border-color: #e6e2da; }
.button-primary { background: var(--orange); box-shadow: 0 8px 20px rgba(241, 90, 36, .24); }
.button-primary:hover { background: var(--orange-dark); }
.hero:before { border-color: #ddd8cf; box-shadow: 0 0 0 45px var(--paper), 0 0 0 46px #e8e4db, 0 0 0 91px var(--paper), 0 0 0 92px #eeebe4; }
.hero-intro { color: #56606b !important; }
.choice, .quick-form input, .quick-form select { background: #203348; color: var(--white); }
.choice { background: #23374c; }
.choice.active, .choice:hover { background: rgba(241, 90, 36, .1); }
.quick-form input::placeholder { color: #8895a2; }
.form-head small { color: #b7c0ca; }
.quick-form legend, .quick-form label { color: #d6dce2; }
.form-note { color: #aab4be; }
.form-note span { color: #63c28d; }

.proof-strip { background: #f1eee7; border-color: #e0ddd5; }
.proof-strip > div { border-color: #d9d5cc; }
.proof-strip strong { color: #c9c3b9; }
.package-card { background: #fff; border-color: #dcd8d0; }
.package-card .tag { background: #f0eee8; }
.package-card.dark { background: var(--navy); color: #fff; }
.package-card.dark .tag { background: #314359; }
.package-card.dark > p, .package-card.dark .price span, .package-card.dark .price small { color: #aeb8c2 !important; }
.package-card.dark .price { border-color: #3b4c5f; }
.package-number, .steps article > span { color: #c5bfb6; }
.price, .steps, .steps article { border-color: var(--line); }
.weekly-guide { background: var(--cream); border-color: #ddd8d0; }

.region-section { background: var(--navy); }
.region-copy p { color: #b8c2cc !important; }
.region-note small { color: #8f9dac; }
.region-note span { color: #aab5bf; }
.station-panel, .station-logo { background: #fff; color: var(--ink); }
.station-logo { border-color: #e2dfd8; }
.station-note { color: #93999f; }
.steps article:nth-child(2) .step-icon { background: var(--navy); }
.steps article:nth-child(3) .step-icon { background: #e2ded4; color: var(--navy); }

.faq-section { background: #f0ede6; }
.accordion details { border-color: #d1cdc5; }
.cta-section { background: var(--orange); }
.cta-waves { border-color: rgba(255,255,255,.15); box-shadow: 0 0 0 55px var(--orange), 0 0 0 56px rgba(255,255,255,.13), 0 0 0 110px var(--orange), 0 0 0 111px rgba(255,255,255,.13); }
footer { background: #101c2b; color: #c6ced6; }
.footer-top { border-color: #34404e; }
.footer-top > p { color: #c6ced6; }
.footer-contact > span, .footer-bottom { color: #758390; }

.hero-intro, .section-heading > p, .section-heading.centered > p, .package-card > p, .steps p, .accordion details p, .faq-intro p, .weekly-guide p { color: var(--muted) !important; }

.accordion details { overflow: hidden; }
.accordion details > p { will-change: height, opacity; }
.accordion details.is-animating summary { pointer-events: none; }
.accordion summary span { transition: transform .32s cubic-bezier(.22, 1, .36, 1), color .2s ease; }
.accordion details[open] summary span { transform: rotate(45deg); }

@media (prefers-reduced-motion: reduce) {
  .accordion details > p { will-change: auto; }
  .accordion summary span { transition: none; }
  main,
  ::view-transition-old(aodr-page-content),
  ::view-transition-new(aodr-page-content) { animation: none; }
}

.legal-hero { padding: 78px 0 58px; border-bottom: 1px solid var(--line); }
.legal-hero h1 { font: 800 58px/1 Manrope; letter-spacing: -3px; margin: 0; }
.legal-hero h1 em { font: 400 58px Georgia; color: var(--orange); }
.legal-hero p { max-width: 680px; color: var(--muted); line-height: 1.7; margin: 22px 0 0; }
.legal-content { width: min(820px, calc(100% - 48px)); margin: 0 auto; padding: 72px 0 105px; }
.legal-content .updated { display: inline-block; padding: 7px 11px; background: var(--cream); color: var(--brown, #663900); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 28px; }
.legal-content h2 { font: 800 24px/1.25 Manrope; letter-spacing: -.7px; margin: 45px 0 13px; }
.legal-content h3 { font: 800 16px/1.35 Manrope; margin: 26px 0 8px; }
.legal-content p, .legal-content li { color: var(--muted); font-size: 14px; line-height: 1.8; }
.legal-content ul, .legal-content ol { padding-left: 21px; }
.legal-content li { margin-bottom: 6px; }
.legal-content a { color: var(--orange-dark); text-decoration: underline; text-underline-offset: 3px; }
.legal-address { border-left: 3px solid var(--orange); padding: 5px 0 5px 18px; margin: 22px 0; }
.legal-address p { margin: 0; }
.legal-notice { border: 1px solid #e4c8b9; background: #fff6f0; padding: 22px 24px; margin-bottom: 38px; }
.legal-notice strong { display: block; font: 800 15px Manrope; margin-bottom: 6px; }
.legal-notice p { margin: 0; font-size: 12px; }
@media(max-width:680px){.legal-hero{padding:52px 0 42px}.legal-hero h1,.legal-hero h1 em{font-size:42px}.legal-content{width:calc(100% - 30px);padding:52px 0 75px}.legal-content h2{font-size:21px}}
