/* ADN editorial design pass: photographic sea tones, paper neutrals, varied rhythms. */
:root {
  --display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --body: 'Urbanist', Arial, sans-serif;
  --paper: #f3f1e9;
  --chalk: #f9f8f2;
  --kelp: #11373a;
  --sea-glass: #729c9a;
  --mist: #e4eae3;
  --ink: #183339;
  --ocean: #376f74;
  --line: #c8d5cf;
}

body { background: var(--paper); font-weight: 500; }
.preview-ribbon, .ribbon {
  height: 30px;
  font: 500 11px/1.2 var(--body);
  text-transform: none;
  letter-spacing: .035em;
  background: #10282c;
  color: #c6d7d4;
}
.topbar { padding-top: 29px; }
.mainnav a { font-size: 14px; font-weight: 650; letter-spacing: 0; }
.nav-cta {
  text-transform: none;
  letter-spacing: .015em;
  font-weight: 700;
  font-size: 13px;
}
.eyebrow {
  font: 700 12px/1.3 var(--body);
  letter-spacing: .035em;
  text-transform: none;
  gap: 12px;
}
.eyebrow::before { width: 27px; height: 2px; }
.eyebrow.dark { color: #3c6a6b; }
.eyebrow.light { color: #d0e4dd; }

.hero { overflow: hidden; }
.hero::before { filter: saturate(.82) contrast(1.05); }
.hero::after {
  background: linear-gradient(90deg, rgba(1,18,21,.89) 0%, rgba(1,19,22,.65) 36%, rgba(1,18,21,.12) 73%), linear-gradient(0deg, rgba(1,19,22,.50), transparent 30%);
}
.hero h1 {
  font-family: var(--display);
  text-transform: none;
  font-weight: 600;
  letter-spacing: -.017em;
  line-height: .88;
}
.hero h1 .accent, .hero h1 span { color: #d8e8e1; }
.hero p, .hero-body p { color: #e6f0eb; font-weight: 500; line-height: 1.58; }
.action-primary, .primary, .search-btn, .filter-submit {
  font: 800 13px/1.2 var(--body);
  letter-spacing: .015em;
  text-transform: none;
}
.action-secondary { font-size: 14px; }

.home-page .hero { min-height: 755px; }
.home-page .hero-inner { padding-top: 139px; padding-bottom: 215px; }
.home-page .hero h1 { font-size: clamp(86px, 10.5vw, 158px); max-width: 790px; margin: 29px 0 26px; }
.home-page .hero p { max-width: 565px; font-size: 19px; }
.search-shelf {
  border-top: 0;
  border-left: 7px solid var(--gold);
  max-width: 1260px;
  margin-top: -103px;
  background: var(--chalk);
  box-shadow: 0 17px 42px rgba(10,35,33,.12);
}
.search-cell { border-color: #d9ded6; }
.search-cell label, .filter-cell label {
  text-transform: none;
  letter-spacing: .018em;
  font-size: 12px;
  font-weight: 750;
  color: #557472;
}
.search-cell select, .filter-cell select {
  font: 700 17px/1.4 var(--body);
  color: var(--ink);
}
.search-btn, .filter-submit { background: var(--kelp); }
.search-btn:hover, .filter-submit:hover { background: #255458; }

.section { padding-top: 112px; padding-bottom: 112px; }
.section h2, h2, .closing h2 {
  font-family: var(--display);
  letter-spacing: -.016em;
  font-weight: 600;
  line-height: .99;
}
.section h2 { font-size: clamp(56px, 6.1vw, 88px); margin-top: 25px; }
.section-head { grid-template-columns: 1.1fr .9fr; gap: clamp(35px, 6vw, 90px); align-items: end; margin-bottom: 54px; }
.section-head p { max-width: 490px; font-size: 17px; color: #b9d1cc; }
.intro { background: var(--paper); padding-top: 145px; padding-bottom: 140px; }
.intro-grid { grid-template-columns: 1.01fr .99fr; align-items: start; gap: clamp(55px, 7vw, 105px); }
.intro h2 { margin-bottom: 25px; max-width: 580px; }
.intro-lead { color: #304e50; max-width: 550px; font-size: clamp(21px, 2.1vw, 27px); letter-spacing: -.015em; }
.intro-note { color: #526a66; font-size: 14px; border-color: var(--gold); }
.explainer { border-top: 3px solid var(--kelp); padding-top: 27px; }
.explainer-kicker { margin: 0 0 12px; color: #477875; font-size: 12px; font-weight: 800; letter-spacing: .025em; }
.explainer h3 { font: 600 clamp(33px, 3vw, 45px)/1.02 var(--display); letter-spacing: -.01em; margin: 0 0 16px; color: var(--ink); }
.explainer-lead { font-size: 17px; line-height: 1.7; margin: 0 0 30px; color: #486763; }
.explainer-detail { padding: 24px 0 21px; border-top: 1px solid #c4d1ca; }
.explainer-detail h4 { margin: 0 0 8px; font: 600 27px/1.05 var(--display); color: #1e4649; }
.explainer-detail p { font-size: 15px; line-height: 1.72; margin: 0; color: #506e68; }
.learn-links { margin-top: 30px; font-size: 12px; line-height: 1.55; }
.learn-links a { border-color: #8aa6a0; }

.pathways { background: #102c31; padding-top: 122px; padding-bottom: 116px; }
.pathways .section-head p { color: #c3d5d0; }
.path-grid { grid-template-columns: .86fr 1.14fr; gap: 24px; align-items: start; }
.path-card { min-height: 580px; padding: 34px 38px 39px; }
.path-card.training { min-height: 525px; margin-top: 67px; }
.path-card.travel { min-height: 666px; }
.path-card::after { background: linear-gradient(0deg,rgba(0,17,19,.90),rgba(0,16,18,.13) 72%,rgba(0,17,19,.50)); }
.path-card .path-number { font-size: 12px; text-transform: none; letter-spacing: .02em; color: #d9e7e1; }
.path-card h3 { font: 600 clamp(62px, 6.2vw, 96px)/.88 var(--display); letter-spacing: -.016em; margin: 0 0 22px; }
.path-card p { font-size: 16px; color: #e4eeea; max-width: 440px; }
.path-link { font-size: 13px; text-transform: none; letter-spacing: .02em; }
.path-bottom { font-size: 13px; color: #c8d8d2; margin: 25px 0 0 16%; }

.regions { background: #e4e9e2; }
.regions .section-head p { color: #526f69; }
.region-card::after { background: linear-gradient(0deg,rgba(0,17,19,.87),rgba(0,17,19,.07) 77%); }
.region-card small { font-size: 11px; text-transform: none; letter-spacing: .035em; color: #d0e3dc; }
.region-card h3 { font: 600 clamp(35px,3.7vw,49px)/.98 var(--display); letter-spacing: -.014em; }
.micro { color: #687e78; font-size: 12px; }
.micro strong { color: #2d5958; }

.story { background: #d9e0d9; }
.story-layout { grid-template-columns: 1.07fr .93fr; gap: clamp(52px, 8vw, 125px); }
.story-photo { height: 620px; }
.story-photo .stamp { font: 800 12px/1.2 var(--body); letter-spacing: .015em; text-transform: none; }
.story-copy > p { color: #496662; font-size: 17px; }
.story-detail { border-top: 2px solid #537774; padding-top: 17px; margin-top: 31px; }
.story-detail strong { display: block; font-size: 13px; font-weight: 800; color: #235454; margin-bottom: 15px; }
.story-detail ul { display: grid; grid-template-columns: 1fr 1fr; gap: 19px 24px; padding: 0; margin: 0; list-style: none; }
.story-detail li { border-left: 2px solid #a3bab1; padding-left: 11px; font-size: 15px; line-height: 1.45; color: #2f5352; }

.closing { background: #102c31; }
.closing::after { display: none; }
.closing h2 { font-size: clamp(65px, 7.2vw, 106px); }
.closing h2 span { color: #c6ded5; }
.footer-links { text-transform: none; letter-spacing: 0; font-size: 13px; font-weight: 650; }
.credits { background: #0c2529; color: #a9c4ba; font-size: 11px; }

/* The two destination pages use related materials, not cloned compositions. */
.training-page .hero, .travel-page .hero { min-height: 700px; }
.training-page .hero-body, .travel-page .hero-body { padding-top: 125px; padding-bottom: 145px; }
.training-page .hero h1, .travel-page .hero h1 { font-size: clamp(74px, 9vw, 132px); line-height: .9; max-width: 1070px; margin: 29px 0 24px; }
.travel-page .hero h1 { max-width: 1180px; font-size: clamp(74px, 8.2vw, 121px); }
.training-page .hero-body p, .travel-page .hero-body p { max-width: 580px; font-size: 19px; }
.training-page .editorial, .travel-page .editorial { background: var(--paper); }
.editorial-grid { grid-template-columns: .85fr 1.15fr; gap: clamp(58px,7vw,112px); }
.editorial-lead { color: #54726c; line-height: 1.6; font-size: 20px; }
.lineup { border-color: #aebfb7; }
.lineup-item { display: block; border-color: #c4d0c8; padding: 24px 0 26px; }
.lineup-item h3 { font: 600 33px/1.04 var(--display); letter-spacing: -.01em; margin-bottom: 7px; }
.lineup-item p { color: #56706b; font-size: 15px; line-height: 1.65; }
.training-page .lineup-item:nth-child(2) { padding-left: 25px; border-left: 3px solid #9eb7ad; }
.training-page .lineup-item:nth-child(4) { padding-left: 25px; border-left: 3px solid #9eb7ad; }
.travel-page .editorial-grid { grid-template-columns: 1fr; gap: 40px; }
.travel-page .editorial-grid > div:first-child { display: grid; grid-template-columns: .9fr 1.1fr; gap: 0 70px; align-items: end; }
.travel-page .editorial-grid .eyebrow { grid-column: 1/-1; }
.travel-page .editorial-grid h2 { max-width: 600px; }
.travel-page .editorial-lead { max-width: 590px; }
.travel-page .lineup { display: grid; grid-template-columns: 1.23fr .97fr; gap: 0 50px; border-top: 0; }
.travel-page .lineup-item { border-top: 1px solid #b6c6bd; border-bottom: 0; }
.travel-page .lineup-item:nth-child(2) { margin-top: 38px; }
.travel-page .lineup-item:nth-child(4) { margin-top: 38px; }
.finder { background: #dfe8e1; }
.finder-head { grid-template-columns: .95fr 1.05fr; }
.finder-head p { color: #4f6f69; }
.filter-shell { border-top: 0; border-left: 7px solid var(--gold); box-shadow: 0 15px 30px rgba(10,35,33,.08); }
.filter-cell { border-color: #dce5de; }
.filter-status { background: #f5f6f0; border-color: #d4dfd7; color: #486760; }
.filter-status strong { color: #1b4443; }
.finder-note { color: #48665e; }
.consider { background: #15383d; }
.consider .eyebrow { color: #d2e7db; }
.consider-copy > p { color: #c4d9d2; }
.questions li { border-color: rgba(219,235,226,.26); }
.travel-page .consider-photo { height: 625px; transform: translateY(30px); }
.crosspath { background: #f4f1e8; }
.cross-layout a { text-transform: none; letter-spacing: 0; font-size: 13px; background: var(--kelp); }
.cross-layout a:hover { background: #235357; }
.closing .footer { border: 0; }

@media (max-width: 1100px) {
  .path-grid { grid-template-columns: .94fr 1.06fr; }
  .path-card.travel { min-height: 608px; }
  .path-card.training { min-height: 515px; margin-top: 45px; }
  .home-page .hero h1 { font-size: clamp(80px,10vw,125px); }
  .travel-page .editorial-grid > div:first-child { gap: 0 36px; }
}
@media (max-width: 760px) {
  .preview-ribbon, .ribbon { height: 34px; font-size: 10px; padding: 0 16px; text-align: center; }
  .hero::after { background: linear-gradient(90deg,rgba(1,18,21,.82),rgba(1,18,21,.42)),linear-gradient(0deg,rgba(1,18,21,.47),transparent 60%); }
  .mainnav { background: #112d32; }
  .home-page .hero { min-height: 685px; }
  .home-page .hero-inner { padding: 112px 23px 195px; }
  .home-page .hero h1 { font-size: clamp(77px,14vw,106px); line-height: .88; }
  .home-page .hero p { font-size: 17px; max-width: 430px; }
  .search-shelf { margin-top: -88px; width: calc(100% - 30px); }
  .section { padding: 88px 23px; }
  .section h2 { font-size: clamp(55px, 10vw, 79px); }
  .section-head, .intro-grid, .editorial-grid, .finder-head, .consider-layout { grid-template-columns: 1fr; gap: 33px; }
  .intro { padding-top: 105px; }
  .explainer { padding-top: 27px; }
  .path-grid { grid-template-columns: 1fr; gap: 18px; }
  .path-card.training { min-height: 505px; margin-top: 0; }
  .path-card.travel { min-height: 530px; }
  .path-card h3 { font-size: 78px; }
  .path-bottom { margin-left: 0; }
  .story-layout { grid-template-columns: 1fr; }
  .closing h2 { font-size: clamp(67px,11vw,96px); }
  .training-page .hero, .travel-page .hero { min-height: 640px; }
  .training-page .hero-body, .travel-page .hero-body { padding: 112px 23px 140px; }
  .training-page .hero h1, .travel-page .hero h1 { font-size: clamp(65px,11.5vw,94px); }
  .training-page .hero-body p, .travel-page .hero-body p { font-size: 17px; }
  .travel-page .editorial-grid > div:first-child { display: block; }
  .travel-page .lineup { grid-template-columns: 1fr 1fr; gap: 0 22px; }
  .travel-page .lineup-item:nth-child(2), .travel-page .lineup-item:nth-child(4) { margin-top: 0; }
  .travel-page .consider-photo { height: 440px; transform: none; }
}
@media (max-width: 480px) {
  .home-page .hero { min-height: 660px; }
  .home-page .hero h1 { font-size: clamp(66px,16.5vw,83px); }
  .home-page .hero-inner { padding-top: 110px; }
  .home-page .hero p { font-size: 16px; }
  .search-shelf { margin-top: -83px; }
  .section h2 { font-size: 58px; }
  .path-card { padding: 27px 25px; }
  .path-card h3 { font-size: 67px; }
  .region-card h3 { font-size: 36px; }
  .story-detail ul { grid-template-columns: 1fr; gap: 14px; }
  .closing h2 { font-size: 63px; }
  .training-page .hero h1, .travel-page .hero h1 { font-size: 65px; }
  .travel-page .lineup { grid-template-columns: 1fr; }
  .training-page .lineup-item:nth-child(2), .training-page .lineup-item:nth-child(4) { padding-left: 14px; }
}

/* Visitor acceptance: a two-tone indicator stays visible on paper and sea. */
:focus-visible {
  outline: 3px solid #11373a !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 3px #fff !important;
}
.skip { z-index: 200; }
.hero:has(.mainnav.open) { overflow: visible; }
.mobile-toggle { flex-shrink: 0; }
.search-cell select { min-height: 44px; }
.mainnav a { min-height: 24px; display: inline-flex; align-items: center; }
.hero h1, .section h2, .closing h2, .listing-guide h1 { overflow-wrap: anywhere; }
.ribbon, .preview-ribbon { height: auto; min-height: 30px; padding: 7px 15px; line-height: 1.4; text-align: center; }
@media (max-width: 480px) {
  .topbar { gap: 16px; }
  .topbar .brand { min-width: 0; }
  .topbar .brand img { max-width: 100%; }
  .search-shelf { grid-template-columns: minmax(0, 1fr); }
  .search-cell { min-width: 0; }
  .mainnav { max-height: 70vh; overflow-y: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .action-primary:hover, .primary:hover, .path-card:hover,
  .path-card:hover::before, .region-card:hover { transform: none; }
}
