/* Austin's two-airport adaptation. The reusable single-airport master is unchanged. */
.austin-site .site-header { position: relative; }
.austin-site .header-inner { min-height: 88px; }
.austin-site .brand { flex-basis: 314px; }
.austin-site .brand img { width: 314px; }
.austin-site .nav { gap: 12px; font-size: 12px; }
.austin-site .nav .cta { white-space: nowrap; }
.airport-context { background: #f4effa; border-top: 1px solid #e7dfed; color: #4e3867; font-size: 11px; }
.airport-context .container { display: flex; align-items: center; gap: 12px; padding-top: 8px; padding-bottom: 8px; }
.airport-context strong { color: #28104d; font-weight: 750; }
.airport-context a { margin-left: auto; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.airport-selector .hero.selector-hero { padding: 27px 0 25px; }
.airport-selector .selector-hero h1 { font-size: clamp(31px, 3.6vw, 48px); margin: 8px 0 10px; max-width: none; line-height: 1.1; }
.selector-lede { font-size: 17px; color: #655172; margin: 0 0 22px; }
.airport-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.airport-choice { display: flex; flex-direction: column; border: 1px solid #d9cbe5; background: #fff; border-radius: 18px; overflow: hidden; text-decoration: none; color: #342046; box-shadow: 0 8px 25px #2d154b0b; transition: transform .18s, box-shadow .18s, border-color .18s; }
.airport-choice:hover { text-decoration: none; color: #342046; border-color: #b58140; transform: translateY(-3px); box-shadow: 0 14px 29px #2d154b16; }
.airport-choice:focus-visible { outline: 4px solid #6e44b7; outline-offset: 5px; }
.airport-choice-photo { position: relative; background: #f1ebf7; }
.airport-choice-photo img { display: block; width: 100%; height: clamp(200px, 20vw, 270px); object-fit: cover; object-position: center 60%; }
.airport-choice-photo .airport-code { position: absolute; top: 15px; right: 15px; padding: 8px 17px; color: #fff; background: #291052; border: 1px solid #ffffff88; border-radius: 10px; font-size: 23px; line-height: 1.15; letter-spacing: .04em; font-weight: 850; box-shadow: 0 2px 10px #0002; }
.airport-choice-body { padding: 20px 23px 21px; display: flex; flex-direction: column; flex: 1; }
.airport-choice-body h2 { font-size: clamp(23px, 2.2vw, 30px); letter-spacing: -.025em; margin: 5px 0 9px; color: #210b45; line-height: 1.16; }
.airport-choice-body p { margin: 0 0 18px; font-size: 14px; line-height: 1.65; max-width: 500px; color: #66546f; }
.airport-choice-action { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding-top: 14px; margin-top: auto; border-top: 1px solid #e9dfef; font-size: 15px; font-weight: 850; color: #33134f; }
.airport-choice-action span { display: inline-grid; place-items: center; background: #fff1d7; border: 1px solid #f4d69d; width: 34px; height: 34px; border-radius: 50%; font-size: 21px; }
.airport-location-note { font-size: 12px; line-height: 1.7; margin: 16px 0 0; color: #66536e; }
.airport-location-note strong { color: #3e2655; }
.root-editorial { display: grid; grid-template-columns: 1.45fr 1fr; gap: 45px; align-items: start; }
.root-editorial .aside-box { margin-top: 0; }
.root-editorial p { line-height: 1.85; }
.root-editorial h2 { margin-top: 10px; }
.card-link-stack { display: grid; gap: 10px; margin-top: auto; }
.site-identity { padding: 16px 0; background: #fff; border-top: 1px solid #e8e0ec; }
.site-identity p { font-size: 12px; margin: 0; color: #6d5c79; }
.site-identity a { text-decoration: underline; }
.austin-site .hero-photo img { height: auto; aspect-ratio: auto; object-fit: contain; width: 100%; }
.austin-home .hero-with-photo .hero-composition { align-items: center; }
.austin-home .hero h1 { font-size: clamp(32px, 3.7vw, 51px); }
.austin-site .hero-copy { line-height: 1.7; font-size: 16px; }
.austin-site .hero { padding-top: 30px; padding-bottom: 32px; }
.austin-site .site-disclosure { font-size: 11px; line-height: 1.65; margin-top: 14px; }
.section-spacing { margin-top: 30px; }
.austin-site .prose [id],.austin-site section[id],.austin-site .hotel-feature { scroll-margin-top: 22px; }
.austin-site .content-grid { align-items: start; }
.hotel-key-details { border-top: 1px solid #e8dfef; padding-top: 13px; margin-bottom: 0; font-size: 13px; line-height: 1.75; }
.hotel-key-details dt { color: #392050; font-weight: 800; margin: 10px 0 2px; }
.hotel-key-details dt:first-child { margin-top: 0; }
.hotel-key-details dd { margin: 0; color: #5d4c69; }
.hotel-feature figure img { aspect-ratio: 4/3; object-fit: cover; }
.trip-search-heading { display: block; }
.trip-search-heading h2 { margin: 8px 0; }
.trip-search-heading p { margin: 0; }
.trip-local-search .small-note { margin-bottom: 0; color: #655c70; font-size: 12px; line-height: 1.8; }
.trip-local-search .small-note a { text-decoration: underline; text-underline-offset: 3px; }
.trip-flight-desktop { display: flex; justify-content: center; width: 100%; overflow: auto; }
.trip-flight-mobile { display: none; }
.trip-flight-desktop iframe { border: 0; flex: 0 0 900px; }
.trip-flight-mobile iframe { border: 0; max-width: 100%; }
.wide-booking-section .guide-section { border-top: 0; padding-top: 0; }
.support-content { max-width: 1040px; }
.support-content h2 { margin-top: 36px; }
.support-content h2:first-child { margin-top: 0; }
.support-content p { line-height: 1.85; }
.support-content .credit-photo { align-items: center; }
.error-actions { display: flex; flex-wrap: wrap; gap: 14px; margin: 25px 0; }
.product-lead img { object-fit: contain; max-height: 430px; aspect-ratio: auto; }
.booking-transfer .eyebrow { display: block; margin-top: 18px; }
.transfer-card .brand-logo { max-width: 100%; }
.austin-site .nav a:focus-visible,.austin-site .btn:focus-visible { outline: 3px solid #8149c5; outline-offset: 4px; }
@media (max-width: 1100px) {
 .austin-site .brand { flex-basis: 290px; }
 .austin-site .brand img { width: 290px; }
 .austin-site .nav { gap: 9px; font-size: 11px; }
 .austin-site .nav .cta { padding: 10px 12px; }
 .trip-flight-desktop { display: none; }
 .trip-flight-mobile { display: flex; justify-content: center; }
}
@media (max-width: 980px) {
 .austin-site .brand { flex: 0 1 314px; }
 .austin-site .brand img { width: 314px; }
 .austin-site .nav { font-size: 14px; }
 .airport-context .container { flex-wrap: wrap; gap: 4px 12px; }
 .airport-context strong { max-width: calc(100% - 100px); }
 .airport-context span { display: none; }
 .airport-choice-body { padding: 18px; }
 .root-editorial { gap: 25px; }
}
@media (max-width: 760px) {
 .austin-site .header-inner { min-height: 78px; }
 .austin-site .brand { flex-basis: min(275px, calc(100% - 60px)); }
 .austin-site .brand img { width: 275px; }
 .airport-choice-grid { grid-template-columns: 1fr; gap: 19px; }
 .airport-choice-photo img { height: auto; aspect-ratio: 16/9; object-fit: cover; object-position: center 64%; }
 .airport-choice-body h2 { font-size: 27px; }
 .airport-choice-body p { font-size: 14px; margin-bottom: 13px; }
 .airport-choice-action { padding-top: 12px; }
 .airport-selector .hero.selector-hero { padding-top: 22px; }
 .selector-lede { font-size: 15px; margin-bottom: 19px; }
 .airport-location-note { font-size: 12px; }
 .root-editorial { grid-template-columns: 1fr; }
 .airport-context { font-size: 10px; }
 .airport-context strong { max-width: calc(100% - 88px); }
 .austin-site .hero h1 { font-size: 33px; }
 .austin-site .hero-copy { font-size: 15px; }
 .austin-site .hotel-feature { grid-template-columns: 1fr; }
 .hotel-feature figure img { max-height: 300px; }
 .trip-flight-mobile { justify-content: center; }
 .support-content .credit-photo img { width: 95px; height: auto; flex-basis: 95px; }
 .austin-site .sitemap-grid { columns: 1; }
 .austin-site .feature-strip .container { grid-template-columns: 1fr; }
 .austin-site .feature-strip .feature { border: 0; border-bottom: 1px solid #e8dfed; padding: 14px 0; }
}
@media (prefers-reduced-motion: reduce) {
 .airport-choice { transition: none; }
 .airport-choice:hover { transform: none; }
 .transfer-spinner { animation: none; }
}
@media (max-width: 600px) {
 .flight-search-widget { padding: 8px 0; }
}
@media (max-width: 360px) {
 .flight-search-widget { display: none; }
}
