:root {
  --bam-blue: #10136d;
  --bam-blue-deep: #090c4f;
  --bam-white: #ffffff;
  --bam-black: #111318;
  --bam-soft: #f5f6f8;
  --bam-line: rgba(17, 19, 24, .12);
  --bam-serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
  --bam-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --bam-shell: 1480px;
}

.bam-child-theme { color: var(--bam-black); background: #fff; }
.bam-child-theme .bam-site-main { overflow: hidden; }
.bam-shell { width: min(calc(100% - 72px), var(--bam-shell)); margin-inline: auto; }

.bam-kicker { font: 700 11px/1.2 var(--bam-sans); letter-spacing: .18em; text-transform: uppercase; color: var(--bam-blue); }
.bam-kicker--light { color: #fff; }
.bam-rule { width: 1px; height: 56px; background: var(--bam-black); margin: 0 auto 24px; opacity: .7; }

.bam-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px; border: 1px solid var(--bam-blue); background: var(--bam-blue); color: #fff !important; font: 700 11px/1 var(--bam-sans); letter-spacing: .16em; text-transform: uppercase; text-decoration: none !important; transition: .25s ease; border-radius: 0; }
.bam-button:hover { background: var(--bam-black); border-color: var(--bam-black); }
.bam-button--light { background: #fff; color: var(--bam-blue) !important; border-color: #fff; }
.bam-button--light:hover { background: var(--bam-blue); color: #fff !important; border-color: var(--bam-blue); }

/* Header: retain Blueprint mechanics but make the visual state unmistakably BAM. */
.bam-child-theme .cs-header { z-index: 50; }
.home.bam-child-theme .cs-header,
.home.bam-child-theme .cs-header__inner { box-shadow: none !important; }
.home.bam-child-theme:not(.bam-scrolled) .cs-header {
  background: linear-gradient(180deg, rgba(5,7,30,.50) 0%, rgba(5,7,30,.18) 68%, rgba(5,7,30,0) 100%) !important;
}
.home.bam-child-theme:not(.bam-scrolled) .cs-header__inner { background: transparent !important; }
.home.bam-child-theme:not(.bam-scrolled) .cs-header a.cs-header__logo,
.home.bam-child-theme:not(.bam-scrolled) .cs-header .menu-item > a,
.home.bam-child-theme:not(.bam-scrolled) .cs-header .cs-header__search-toggle,
.home.bam-child-theme:not(.bam-scrolled) .cs-header .cs-header__offcanvas-toggle {
  color: #fff !important;
  text-shadow: 0 1px 16px rgba(0,0,0,.34);
}
.bam-child-theme .cs-header a.cs-header__logo { font-weight: 750 !important; letter-spacing: -.035em; }
.bam-child-theme .cs-header .menu-item > a { font-weight: 700 !important; letter-spacing: .085em !important; }
.home.bam-child-theme:not(.bam-scrolled) .cs-header .cs-header__cta a,
.home.bam-child-theme:not(.bam-scrolled) .cs-header .bam-header-cta {
  background: var(--bam-blue) !important; color: #fff !important; border-color: var(--bam-blue) !important;
  text-shadow: none !important;
}
.home.bam-child-theme.bam-scrolled .cs-header,
.home.bam-child-theme.bam-scrolled .cs-header__inner { background: #fff !important; }
.home.bam-child-theme.bam-scrolled .cs-header { box-shadow: 0 10px 34px rgba(11,15,42,.07) !important; }
.home.bam-child-theme.bam-scrolled .cs-header a.cs-header__logo,
.home.bam-child-theme.bam-scrolled .cs-header .menu-item > a,
.home.bam-child-theme.bam-scrolled .cs-header .cs-header__search-toggle,
.home.bam-child-theme.bam-scrolled .cs-header .cs-header__offcanvas-toggle { color: var(--bam-blue) !important; text-shadow: none; }
.home.bam-child-theme.bam-scrolled .cs-header .cs-header__cta a,
.home.bam-child-theme.bam-scrolled .cs-header .bam-header-cta { background: var(--bam-blue) !important; color: #fff !important; border-color: var(--bam-blue) !important; }
.bam-header-cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 23px; margin-right:22px; border:1px solid var(--bam-blue); background:var(--bam-blue); color:#fff !important; font:700 10px/1 var(--bam-sans); letter-spacing:.16em; text-transform:uppercase; text-decoration:none !important; white-space:nowrap; transition:.2s ease; }
.bam-header-cta:hover { background:var(--bam-black) !important; border-color:var(--bam-black) !important; color:#fff !important; opacity:1 !important; }
.bam-child-theme .cs-header .sub-menu { background: #fff !important; border: 1px solid rgba(16,19,109,.09) !important; box-shadow: 0 18px 50px rgba(10,14,60,.12) !important; padding: 12px 0 !important; border-radius: 0 !important; min-width: 230px; }
.bam-child-theme .cs-header .sub-menu .menu-item > a { color: var(--bam-blue) !important; padding: 11px 22px !important; text-shadow:none !important; letter-spacing:.025em !important; }
.bam-child-theme .cs-header .sub-menu .menu-item > a:hover { background: #f6f6fa !important; opacity: 1 !important; }

/* Dropdown / mega-menu readability: Blueprint can inherit the white inverse
   header scheme into white dropdown panels. Force all text inside a white
   menu panel back to BAM navy while keeping the main hero navigation white. */
.bam-child-theme .cs-header .sub-menu,
.bam-child-theme .cs-header [class*="mega-menu"],
.bam-child-theme .cs-header [class*="multi-column"] {
  background-color: #fff !important;
  color: var(--bam-blue) !important;
}
.bam-child-theme .cs-header .sub-menu a,
.bam-child-theme .cs-header .sub-menu .menu-item > a,
.bam-child-theme .cs-header [class*="mega-menu"] a,
.bam-child-theme .cs-header [class*="multi-column"] a {
  color: var(--bam-blue) !important;
  text-shadow: none !important;
}
.bam-child-theme .cs-header .sub-menu a:hover,
.bam-child-theme .cs-header [class*="mega-menu"] a:hover,
.bam-child-theme .cs-header [class*="multi-column"] a:hover {
  color: var(--bam-blue-deep) !important;
  opacity: 1 !important;
}
.bam-child-theme .cs-header .sub-menu .pk-badge,
.bam-child-theme .cs-header [class*="mega-menu"] .pk-badge {
  color: var(--bam-blue) !important;
}

/* Pull the custom hero beneath the parent Blueprint header. */
.home.bam-child-theme .bam-hero { margin-top: -84px; padding-top: 84px; }
.bam-hero { height: 66vh; min-height: 560px; max-height: 710px; display: flex; align-items: center; justify-content: center; background-size: cover; background-position: center; color: #fff; text-align: center; }
.bam-hero--fallback { background: linear-gradient(135deg, #10136d 0%, #05082e 100%); }
.bam-hero__inner { max-width: 800px; padding-block: 54px 42px; }
.bam-hero__title { margin: 11px 0 15px; color: #fff; font: 500 clamp(48px, 5vw, 78px)/.98 var(--bam-serif); letter-spacing: -.038em; text-shadow:0 3px 28px rgba(0,0,0,.28); }
.bam-hero__text { max-width: 680px; margin: 0 auto 27px; color: rgba(255,255,255,.96); font: 400 clamp(16px, 1.25vw, 19px)/1.5 var(--bam-sans); text-shadow:0 2px 16px rgba(0,0,0,.28); }
.bam-hero .bam-kicker { text-shadow:0 2px 14px rgba(0,0,0,.30); }

.bam-section { padding: 82px 0; }
.bam-section--soft { background: var(--bam-soft); }
.bam-section--navy { background: var(--bam-blue-deep); color: #fff; }
.bam-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-bottom: 38px; }
.bam-section-head--center { display: block; text-align: center; }
.bam-section-head h2 { margin: 0; font: 500 clamp(38px, 4vw, 68px)/1 var(--bam-serif); letter-spacing: .015em; color: var(--bam-black); }
.bam-section-head p { max-width: 720px; margin: 14px 0 0; font: 400 17px/1.55 var(--bam-sans); color: #4a4d55; }
.bam-section-head--inverse h2, .bam-section-head--inverse p { color: #fff; }
.bam-section-head--inverse p { color: rgba(255,255,255,.74); }
.bam-view-all { white-space: nowrap; font: 700 11px/1 var(--bam-sans); letter-spacing: .16em; color: var(--bam-black) !important; text-decoration: none !important; }
.bam-view-all span { font-size: 18px; margin-left: 10px; }
.bam-view-all--light { color: #fff !important; }

.bam-card { min-width: 0; }
.bam-card__image-wrap { display: block; position: relative; overflow: hidden; background: #eef0f4; text-decoration: none !important; }
.bam-card__image { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform .55s cubic-bezier(.2,.65,.25,1); }
.bam-card:hover .bam-card__image { transform: scale(1.025); }
.bam-card__placeholder { display: block; aspect-ratio: 4/3; background: linear-gradient(145deg, #10136d, #c5c9d8); }
.bam-card__body { padding-top: 18px; }
.bam-card__title { margin: 8px 0 0; font: 500 clamp(23px, 2vw, 32px)/1.08 var(--bam-serif); letter-spacing: -.02em; }
.bam-card__title a { color: inherit !important; text-decoration: none !important; }
.bam-card__excerpt { margin: 12px 0 0; color: #5a5d65; font: 400 15px/1.55 var(--bam-sans); }
.bam-card--inverse { color: #fff; }
.bam-card--inverse .bam-kicker { color: rgba(255,255,255,.74); }
.bam-card--inverse .bam-card__excerpt { color: rgba(255,255,255,.74); }

.bam-latest-grid { display: grid; grid-template-columns: 1fr 1.72fr 1fr; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
.bam-latest-grid .bam-card--latest-lead { grid-column: 2; grid-row: 1 / span 2; position: relative; min-height: 680px; overflow: hidden; background: #10136d; }
.bam-card--latest-lead .bam-card__image-wrap { position: absolute; inset: 0; }
.bam-card--latest-lead .bam-card__image { height: 100%; aspect-ratio: auto; }
.bam-card--latest-lead .bam-card__image-wrap:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.72)); }
.bam-card--latest-lead .bam-card__body { position: absolute; z-index: 2; left: 42px; right: 42px; bottom: 38px; padding: 0; color: #fff; }
.bam-card--latest-lead .bam-kicker { color: #fff; }
.bam-card--latest-lead .bam-card__title { font-size: clamp(35px, 3.4vw, 60px); }
.bam-card--latest-side:nth-child(2), .bam-card--latest-side:nth-child(4) { grid-column: 1; }
.bam-card--latest-side:nth-child(3), .bam-card--latest-side:nth-child(5) { grid-column: 3; }
.bam-card--latest-side .bam-card__image { aspect-ratio: 16/10; }
.bam-card--latest-side .bam-card__title { font-size: clamp(22px, 1.7vw, 29px); }

.bam-four-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 24px; }
.bam-three-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 28px; }

.bam-destination-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.bam-destination-grid--wide { grid-template-columns: repeat(4, minmax(0,1fr)); row-gap: 22px; }
.bam-destination-card { min-height: 560px; padding: 42px 34px; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; text-align: center; color: #fff !important; background-size: cover; background-position: center; text-decoration: none !important; overflow: hidden; }
.bam-destination-card--fallback { background: linear-gradient(145deg, #0c105f, #111318); }
.bam-destination-card__line { width: 1px; height: 48px; background: rgba(255,255,255,.8); margin-bottom: 28px; }
.bam-destination-card strong { display: block; margin: 15px 0 12px; font: 500 clamp(33px, 3vw, 50px)/1 var(--bam-serif); }
.bam-destination-card > span:last-child { max-width: 290px; font: 400 15px/1.5 var(--bam-sans); color: rgba(255,255,255,.88); }

.bam-lifestyle-grid { display: grid; grid-template-columns: 1fr 1.9fr 1fr; grid-template-rows: repeat(2, auto); gap: 26px; align-items: start; }
.bam-card--lifestyle-lead { grid-column: 2; grid-row: 1 / span 2; text-align: center; }
.bam-card--lifestyle-lead .bam-card__image { aspect-ratio: 4/3; }
.bam-card--lifestyle-lead .bam-card__title { font-size: clamp(34px,3vw,50px); }
.bam-card--lifestyle-side:nth-child(2), .bam-card--lifestyle-side:nth-child(4) { grid-column: 1; }
.bam-card--lifestyle-side:nth-child(3), .bam-card--lifestyle-side:nth-child(5) { grid-column: 3; }

.bam-final-cta { padding: 94px 0; background: var(--bam-blue); color: #fff; text-align: center; }
.bam-final-cta__inner { max-width: 920px; }
.bam-final-cta h2 { margin: 15px 0 20px; color:#fff; font: 500 clamp(48px,5.6vw,90px)/.98 var(--bam-serif); letter-spacing: -.035em; }
.bam-final-cta p { max-width: 700px; margin: 0 auto 34px; color: rgba(255,255,255,.84); font: 400 18px/1.6 var(--bam-sans); }

/* Page and archive headers */
.bam-page-hero { padding: 92px 0 62px; }
.bam-page-hero--plain { background:#fff; }
.bam-page-hero h1 { margin: 14px 0 16px; font: 500 clamp(58px,7vw,116px)/.94 var(--bam-serif); letter-spacing:-.045em; }
.bam-page-hero p, .bam-page-hero__description { max-width: 780px; margin: 0; color:#555a64; font:400 18px/1.6 var(--bam-sans); }
.bam-about-hero--image { min-height: 68vh; display:flex; align-items:flex-end; background-size:cover; background-position:center; color:#fff; }
.bam-about-hero--image h1, .bam-about-hero--image p { color:#fff; }

.bam-archive-lead { margin-bottom: 70px; }
.bam-card--journal-lead { display:grid; grid-template-columns: 1.55fr 1fr; gap:46px; align-items:center; }
.bam-card--journal-lead .bam-card__image { aspect-ratio:16/10; }
.bam-card--journal-lead .bam-card__body { padding:0; }
.bam-card--journal-lead .bam-card__title { font-size:clamp(42px,4.4vw,72px); }
.bam-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:64px 28px; }
.bam-pagination { margin-top:70px; }
.bam-pagination ul { list-style:none; padding:0; display:flex; gap:8px; }
.bam-pagination a, .bam-pagination span { display:flex; min-width:42px; height:42px; align-items:center; justify-content:center; border:1px solid var(--bam-line); text-decoration:none !important; }
.bam-pagination .current { background:var(--bam-blue); color:#fff; border-color:var(--bam-blue); }

/* Charter / contact */
.bam-charter-hero { padding:150px 0 110px; background:var(--bam-blue-deep); color:#fff; }
.bam-charter-hero__grid { display:grid; grid-template-columns:1.15fr .85fr; gap:100px; align-items:end; }
.bam-charter-hero h1 { max-width:850px; margin:16px 0 24px; color:#fff; font:500 clamp(54px,6vw,96px)/.95 var(--bam-serif); letter-spacing:-.04em; }
.bam-charter-hero p { max-width:720px; color:rgba(255,255,255,.78); font:400 18px/1.6 var(--bam-sans); }
.bam-charter-steps > div { padding:20px 0; border-top:1px solid rgba(255,255,255,.22); display:grid; grid-template-columns:52px 1fr; }
.bam-charter-steps span { grid-row:1/span 2; font:700 11px/1 var(--bam-sans); color:rgba(255,255,255,.5); }
.bam-charter-steps strong { font:600 18px/1.3 var(--bam-sans); }
.bam-charter-steps p { margin:5px 0 0; font-size:14px; }
.bam-form-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; align-items:start; }
.bam-form-grid h2 { margin:12px 0 16px; font:500 clamp(42px,4vw,68px)/1 var(--bam-serif); }
.bam-form-card { padding:42px; background:#f6f7f9; }
.bam-form-card input:not([type="submit"]), .bam-form-card textarea, .bam-form-card select { width:100%; border:0 !important; border-bottom:1px solid #b9bdc6 !important; background:transparent !important; border-radius:0 !important; padding:13px 0 !important; box-shadow:none !important; }
.bam-form-card input[type="submit"] { min-height:52px; padding:0 28px; border:0; border-radius:0; background:var(--bam-blue); color:#fff; font:700 11px/1 var(--bam-sans); letter-spacing:.14em; text-transform:uppercase; }
.bam-contact-note { margin-top:34px; padding-top:22px; border-top:1px solid var(--bam-line); display:flex; flex-direction:column; gap:5px; }
.bam-contact-note strong { font:600 13px/1.3 var(--bam-sans); text-transform:uppercase; letter-spacing:.1em; }
.bam-contact-note span { color:#646874; }

/* About */
.bam-prose-layout { display:grid; grid-template-columns:minmax(0,760px) 1fr; gap:110px; }
.bam-prose { font:400 18px/1.75 var(--bam-sans); }
.bam-prose h2, .bam-prose h3 { font-family:var(--bam-serif); font-weight:500; }
.bam-principles > div { display:grid; grid-template-columns:44px 1fr; gap:12px; padding:22px 0; border-top:1px solid var(--bam-line); }
.bam-principles span { color:#858a95; font-size:11px; }
.bam-principles strong { font:500 24px/1.1 var(--bam-serif); }

/* Single post */
.bam-article-head { padding:110px 0 64px; }
.bam-article-head__inner { max-width:1100px; text-align:center; }
.bam-article-head h1 { margin:14px auto 22px; font:500 clamp(52px,6vw,94px)/.98 var(--bam-serif); letter-spacing:-.04em; }
.bam-article-deck { max-width:850px; margin:0 auto 20px; color:#555a64; font:400 20px/1.55 var(--bam-sans); }
.bam-article-meta { display:flex; justify-content:center; gap:24px; color:#777c86; font:600 11px/1 var(--bam-sans); letter-spacing:.08em; text-transform:uppercase; }
.bam-article-hero { width:min(calc(100% - 64px), 1640px); margin:0 auto; }
.bam-article-hero img { width:100%; max-height:850px; object-fit:cover; display:block; }
.bam-article-layout { display:grid; grid-template-columns:minmax(0,800px) 280px; justify-content:center; gap:100px; padding-top:80px; padding-bottom:110px; }
.bam-article-content { font:400 19px/1.78 var(--bam-serif); }
.bam-article-content p:first-child { font-size:1.12em; }
.bam-article-content h2 { margin-top:1.6em; font:500 46px/1.05 var(--bam-serif); }
.bam-article-content h3 { margin-top:1.6em; font:500 34px/1.1 var(--bam-serif); }
.bam-article-content img { max-width:100%; height:auto; }
.bam-article-aside { position:sticky; top:120px; align-self:start; padding:24px 0; border-top:1px solid var(--bam-black); }
.bam-article-aside p { color:#5d616a; font:400 14px/1.6 var(--bam-sans); }
.bam-text-link { color:var(--bam-blue) !important; font:700 11px/1 var(--bam-sans); letter-spacing:.12em; text-decoration:none !important; }

/* Parent footer: turn Blueprint footer into BAM palette without altering its functionality. */
.bam-child-theme .cs-footer { background:var(--bam-black) !important; color:#fff !important; }
.bam-child-theme .cs-footer a, .bam-child-theme .cs-footer .cs-logo { color:#fff !important; }

@media (max-width: 1199px) {
  .bam-shell { width:min(calc(100% - 44px), var(--bam-shell)); }
  .bam-latest-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .bam-latest-grid .bam-card--latest-lead { grid-column:1 / span 2; grid-row:auto; min-height:620px; }
  .bam-card--latest-side:nth-child(n) { grid-column:auto; }
  .bam-four-grid, .bam-destination-grid, .bam-destination-grid--wide { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bam-lifestyle-grid { grid-template-columns:1fr 1fr; }
  .bam-card--lifestyle-lead { grid-column:1 / span 2; grid-row:auto; }
  .bam-card--lifestyle-side:nth-child(n) { grid-column:auto; }
  .bam-charter-hero__grid, .bam-form-grid, .bam-prose-layout, .bam-article-layout { gap:60px; }
}

@media (max-width: 767px) {
  .bam-shell { width:min(calc(100% - 30px), var(--bam-shell)); }
  .home.bam-child-theme .bam-hero { margin-top:-72px; padding-top:72px; }
  .bam-hero { height:70vh; min-height:540px; max-height:680px; }
  .bam-hero__inner { padding-block:54px 42px; }
  .bam-hero__title { font-size:clamp(48px,14vw,70px); }
  .bam-hero__text { font-size:16px; }
  .bam-section { padding:64px 0; }
  .bam-section-head { align-items:flex-start; flex-direction:column; margin-bottom:32px; }
  .bam-latest-grid, .bam-four-grid, .bam-three-grid, .bam-destination-grid, .bam-destination-grid--wide, .bam-lifestyle-grid, .bam-archive-grid, .bam-card--journal-lead, .bam-charter-hero__grid, .bam-form-grid, .bam-prose-layout, .bam-article-layout { grid-template-columns:1fr; }
  .bam-latest-grid .bam-card--latest-lead, .bam-card--lifestyle-lead { grid-column:auto; min-height:520px; }
  .bam-card--latest-lead .bam-card__body { left:24px; right:24px; bottom:24px; }
  .bam-destination-card { min-height:500px; }
  .bam-card--journal-lead { gap:24px; }
  .bam-archive-grid { row-gap:48px; }
  .bam-charter-hero { padding:110px 0 80px; }
  .bam-form-card { padding:26px 22px; }
  .bam-article-head { padding:82px 0 44px; }
  .bam-article-hero { width:100%; }
  .bam-article-layout { padding-top:50px; padding-bottom:80px; }
  .bam-article-aside { position:static; }
  .bam-final-cta { padding:76px 0; }
  .bam-header-cta { display:none !important; }
}

/* BAM 1.1 - menu-page hubs and destination detail pages */
.bam-editorial-hero--image {
  min-height: 56vh;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
  color: #fff;
}
.bam-editorial-hero--image h1,
.bam-editorial-hero--image p { color: #fff; }
.bam-prose--narrow { max-width: 860px; margin-inline: auto; }
.bam-section--intro-copy { padding-top: 62px; padding-bottom: 20px; }

.bam-inline-cta { background: var(--bam-blue); color:#fff; padding:68px 0; }
.bam-inline-cta__inner { display:flex; align-items:center; justify-content:space-between; gap:42px; }
.bam-inline-cta h2 { margin:10px 0 0; color:#fff; font:500 clamp(38px,4vw,64px)/1 var(--bam-serif); }

.bam-destination-hero {
  min-height: 64vh;
  display:flex;
  align-items:flex-end;
  background-size:cover;
  background-position:center;
  color:#fff;
}
.bam-destination-hero--fallback { background:linear-gradient(135deg,var(--bam-blue),var(--bam-black)); }
.bam-destination-hero__inner { padding-top:150px; padding-bottom:72px; }
.bam-destination-hero h1 { max-width:960px; margin:14px 0 18px; color:#fff; font:500 clamp(58px,7vw,108px)/.94 var(--bam-serif); letter-spacing:-.045em; }
.bam-destination-hero p { max-width:740px; margin:0 0 30px; color:rgba(255,255,255,.9); font:400 18px/1.55 var(--bam-sans); }
.bam-destination-content { display:grid; grid-template-columns:minmax(0,820px) 300px; justify-content:center; gap:90px; }
.bam-destination-aside { align-self:start; position:sticky; top:118px; border-top:1px solid var(--bam-black); padding-top:22px; }
.bam-destination-aside strong { display:block; margin:10px 0 8px; font:500 28px/1.1 var(--bam-serif); }
.bam-destination-aside p { color:#5c6069; font:400 14px/1.6 var(--bam-sans); }

@media (max-width: 767px) {
  .bam-inline-cta__inner { flex-direction:column; align-items:flex-start; }
  .bam-destination-content { grid-template-columns:1fr; gap:48px; }
  .bam-destination-aside { position:static; }
  .bam-destination-hero { min-height:58vh; }
  .bam-destination-hero__inner { padding-top:110px; padding-bottom:48px; }
}

/* BAM 1.4 refinements */
.bam-hero { height: 62vh; min-height: 520px; max-height: 660px; }
.bam-button,
.bam-header-cta,
.bam-form-card input[type="submit"],
.bam-public-form button,
.bam-destination-card,
.bam-card__image-wrap,
.bam-view-all,
.bam-text-link,
.bam-child-theme .cs-header .sub-menu .menu-item > a,
.bam-child-theme .cs-header .menu-item > a {
  transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease, opacity .22s ease;
}
.bam-button:hover,
.bam-header-cta:hover,
.bam-public-form button:hover,
.bam-form-card input[type="submit"]:hover,
.bam-child-theme .cs-header .sub-menu .menu-item > a:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(10, 14, 60, .14);
  cursor: pointer;
}
.bam-view-all:hover,
.bam-text-link:hover,
.bam-card__title a:hover { opacity: .75; }
.bam-button:focus-visible,
.bam-header-cta:focus-visible,
.bam-public-form button:focus-visible,
.bam-form-card input[type="submit"]:focus-visible,
.bam-child-theme .cs-header a:focus-visible { outline: 2px solid var(--bam-blue); outline-offset: 3px; }

.home.bam-child-theme:not(.bam-scrolled) .cs-header .sub-menu,
.home.bam-child-theme:not(.bam-scrolled) .cs-header [class*="mega-menu"],
.home.bam-child-theme:not(.bam-scrolled) .cs-header [class*="multi-column"],
.home.bam-child-theme:not(.bam-scrolled) .cs-header .sub-menu * {
  background-color: #fff !important;
  color: var(--bam-blue) !important;
  text-shadow: none !important;
}
.home.bam-child-theme:not(.bam-scrolled) .cs-header .sub-menu .menu-item > a:hover,
.home.bam-child-theme:not(.bam-scrolled) .cs-header [class*="mega-menu"] a:hover,
.home.bam-child-theme:not(.bam-scrolled) .cs-header [class*="multi-column"] a:hover {
  background: #f5f6fb !important;
  color: var(--bam-blue-deep) !important;
}

.bam-destination-card {
  position: relative;
  min-height: 560px;
  padding: 0;
  justify-content: flex-end;
  text-align: left;
  border: 0;
}
.bam-destination-card__image,
.bam-destination-card__overlay,
.bam-destination-card__content { position: absolute; inset: 0; }
.bam-destination-card__image { width: 100%; height: 100%; object-fit: cover; }
.bam-destination-card__overlay { background: linear-gradient(180deg, rgba(4,7,27,.08) 0%, rgba(4,7,27,.70) 100%); }
.bam-destination-card__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 42px 34px;
}
.bam-destination-card:hover .bam-destination-card__image { transform: scale(1.03); }
.bam-destination-card:hover { box-shadow: 0 18px 46px rgba(10, 14, 60, .14); }
.bam-destination-card .bam-kicker { margin-bottom: 10px; }
.bam-destination-card strong { margin-top: 14px; }

.bam-destination-hero {
  position: relative;
  min-height: 64vh;
  overflow: hidden;
  background: linear-gradient(135deg, var(--bam-blue), var(--bam-black));
}
.bam-destination-hero__media,
.bam-destination-hero__overlay {
  position: absolute;
  inset: 0;
}
.bam-destination-hero__media { width: 100%; height: 100%; object-fit: cover; }
.bam-destination-hero__overlay { background: linear-gradient(180deg, rgba(4,7,27,.22) 0%, rgba(4,7,27,.64) 100%); }
.bam-destination-hero__inner { position: relative; z-index: 2; }

.bam-public-form label {
  display: block;
  margin-bottom: 6px;
  color: #505561;
  font: 700 11px/1.2 var(--bam-sans);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.bam-public-form p { margin: 0 0 18px; }
.bam-field-grid { display: grid; gap: 18px; }
.bam-field-grid--2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.bam-field-grid--3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.bam-form-notice {
  margin-bottom: 22px;
  padding: 14px 16px;
  border-left: 3px solid var(--bam-blue);
  background: #eef1ff;
  font: 500 14px/1.5 var(--bam-sans);
}
.bam-form-notice--success { border-color: #16794b; background: #edf8f1; }
.bam-form-notice--error { border-color: #b3261e; background: #fff1f0; }
.bam-public-form__submit { margin-top: 8px; }
.bam-public-form__submit .bam-button { width: auto; }
.bam-form-card input:not([type="submit"]):focus,
.bam-form-card textarea:focus,
.bam-form-card select:focus {
  border-bottom-color: var(--bam-blue) !important;
  outline: none;
}
.bam-form-card textarea { min-height: 140px; resize: vertical; }

@media (max-width: 767px) {
  .bam-hero { height: 68vh; min-height: 500px; max-height: 640px; }
  .bam-field-grid--2,
  .bam-field-grid--3 { grid-template-columns: 1fr; }
  .bam-destination-card { min-height: 460px; }
}

/* BAM 1.5 about and footer refinements */
.bam-about-intro__grid,
.bam-about-connect__grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(48px, 7vw, 120px);
  align-items: start;
}
.bam-about-intro__title h2,
.bam-about-connect h2 {
  max-width: 760px;
  margin: 12px 0 0;
  font-family: var(--bam-serif);
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.035em;
}
.bam-about-copy {
  max-width: 760px;
  font: 400 clamp(18px, 1.35vw, 22px)/1.7 var(--bam-sans);
  color: #30343d;
}
.bam-about-copy p { margin: 0 0 24px; }
.bam-about-values {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #dfe2eb;
  border-left: 1px solid #dfe2eb;
}
.bam-about-values article {
  min-height: 260px;
  padding: 34px 30px;
  border-right: 1px solid #dfe2eb;
  border-bottom: 1px solid #dfe2eb;
  background: #fff;
}
.bam-about-values article span {
  display: block;
  margin-bottom: 42px;
  color: var(--bam-blue);
  font: 700 11px/1 var(--bam-sans);
  letter-spacing: .14em;
}
.bam-about-values h3 {
  margin: 0 0 14px;
  font-family: var(--bam-serif);
  font-size: 28px;
  font-weight: 400;
}
.bam-about-values p {
  margin: 0;
  color: #626875;
  font: 400 15px/1.65 var(--bam-sans);
}
.bam-about-connect {
  background: linear-gradient(135deg, #0c0f5f 0%, #080a20 100%);
  color: #fff;
}
.bam-about-connect p {
  max-width: 680px;
  color: rgba(255,255,255,.78);
  font-size: 18px;
  line-height: 1.7;
}
.bam-about-connect .bam-button {
  margin-top: 18px;
  background: #fff;
  color: var(--bam-blue);
}
.bam-about-connect .bam-button:hover {
  background: var(--bam-blue);
  color: #fff;
  box-shadow: 0 16px 36px rgba(0,0,0,.22);
}
.bam-about-socials {
  padding-left: clamp(0px, 5vw, 72px);
  border-left: 1px solid rgba(255,255,255,.18);
}
.bam-about-socials a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font: 600 18px/1.2 var(--bam-sans);
  text-decoration: none;
  transition: opacity .2s ease, transform .2s ease;
}
.bam-about-socials a:hover { opacity: .72; transform: translateX(4px); }
.bam-about-socials p { font-size: 14px; }

.bam-child-theme footer p,
.bam-child-theme footer .cs-footer__text {
  max-width: 520px;
  line-height: 1.65;
}

@media (max-width: 1024px) {
  .bam-about-values { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .bam-about-intro__grid,
  .bam-about-connect__grid { grid-template-columns: 1fr; gap: 36px; }
  .bam-about-values { grid-template-columns: 1fr; }
  .bam-about-values article { min-height: 0; }
  .bam-about-socials { padding-left: 0; border-left: 0; padding-top: 20px; }
}

/* BAM 1.6 targeted refinements */

/* Homepage dropdowns: force every item to remain readable on the white panel. */
.home.bam-child-theme .cs-header .sub-menu,
.home.bam-child-theme .cs-header [class*="mega-menu"],
.home.bam-child-theme .cs-header [class*="multi-column"] {
  z-index: 9999 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  background: #fff !important;
}
.home.bam-child-theme .cs-header .sub-menu li,
.home.bam-child-theme .cs-header .sub-menu .menu-item,
.home.bam-child-theme .cs-header [class*="mega-menu"] li,
.home.bam-child-theme .cs-header [class*="multi-column"] li {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  color: var(--bam-blue) !important;
}
.home.bam-child-theme .cs-header .sub-menu li > a,
.home.bam-child-theme .cs-header .sub-menu .menu-item > a,
.home.bam-child-theme .cs-header [class*="mega-menu"] a,
.home.bam-child-theme .cs-header [class*="multi-column"] a {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--bam-blue) !important;
  -webkit-text-fill-color: var(--bam-blue) !important;
  text-shadow: none !important;
  background: #fff !important;
}
.home.bam-child-theme .cs-header .sub-menu li > a:hover,
.home.bam-child-theme .cs-header [class*="mega-menu"] a:hover,
.home.bam-child-theme .cs-header [class*="multi-column"] a:hover {
  color: var(--bam-blue-deep) !important;
  -webkit-text-fill-color: var(--bam-blue-deep) !important;
  background: #f3f4fa !important;
}

/* Lifestyle page: four clear entry points, no article feed on the hub. */
.bam-lifestyle-hub-section { padding-top: 44px; }
.bam-lifestyle-hub-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.bam-lifestyle-hub-card {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  color: #fff !important;
  text-decoration: none !important;
  background: linear-gradient(145deg, var(--bam-blue) 0%, var(--bam-black) 100%);
}
.bam-lifestyle-hub-card--hotels { background: linear-gradient(145deg, #10136d 0%, #303552 100%); }
.bam-lifestyle-hub-card--watches { background: linear-gradient(145deg, #111318 0%, #343741 100%); }
.bam-lifestyle-hub-card--cars { background: linear-gradient(145deg, #0b0e49 0%, #111318 100%); }
.bam-lifestyle-hub-card img,
.bam-lifestyle-hub-card__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.bam-lifestyle-hub-card img { object-fit: cover; transition: transform .55s cubic-bezier(.2,.65,.25,1); }
.bam-lifestyle-hub-card__shade { background: linear-gradient(180deg, rgba(5,7,30,.08), rgba(5,7,30,.78)); }
.bam-lifestyle-hub-card__content {
  position: absolute;
  z-index: 2;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 42px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.bam-lifestyle-hub-card strong {
  margin: 14px 0 12px;
  font: 500 clamp(42px, 4vw, 68px)/.96 var(--bam-serif);
  letter-spacing: -.035em;
}
.bam-lifestyle-hub-card__content > span:not(.bam-kicker):not(.bam-lifestyle-hub-card__arrow) {
  max-width: 520px;
  color: rgba(255,255,255,.82);
  font: 400 16px/1.55 var(--bam-sans);
}
.bam-lifestyle-hub-card__arrow {
  margin-top: 28px;
  font: 700 11px/1 var(--bam-sans);
  letter-spacing: .15em;
}
.bam-lifestyle-hub-card__arrow b { margin-left: 10px; font-size: 18px; }
.bam-lifestyle-hub-card:hover img { transform: scale(1.035); }
.bam-lifestyle-hub-card:hover { box-shadow: 0 18px 46px rgba(10,14,60,.14); transform: translateY(-2px); }

/* Charter Guides fallback content. */
.bam-guide-start { padding-top: 44px; }
.bam-guide-start-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  border-top: 1px solid var(--bam-line);
  border-left: 1px solid var(--bam-line);
}
.bam-guide-start-grid article {
  min-height: 300px;
  padding: 34px 30px;
  border-right: 1px solid var(--bam-line);
  border-bottom: 1px solid var(--bam-line);
  background: #fff;
}
.bam-guide-start-grid article > span {
  display: block;
  margin-bottom: 54px;
  color: var(--bam-blue);
  font: 700 11px/1 var(--bam-sans);
  letter-spacing: .14em;
}
.bam-guide-start-grid h3 {
  margin: 0 0 14px;
  font: 500 30px/1.05 var(--bam-serif);
  letter-spacing: -.02em;
}
.bam-guide-start-grid p {
  margin: 0;
  color: #626875;
  font: 400 15px/1.65 var(--bam-sans);
}

/* About CTA and social cards. */
.bam-about-charter-button {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--bam-blue) !important;
  -webkit-text-fill-color: var(--bam-blue) !important;
}
.bam-about-charter-button:hover {
  background: var(--bam-blue) !important;
  border-color: #fff !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.bam-about-socials { display: flex; flex-direction: column; gap: 14px; }
.bam-social-card {
  display: flex !important;
  min-height: 94px;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 20px 22px !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  background: rgba(255,255,255,.06);
  color: #fff !important;
  text-decoration: none !important;
}
.bam-social-card span { display: flex; flex-direction: column; gap: 6px; }
.bam-social-card strong { font: 600 18px/1.2 var(--bam-sans); }
.bam-social-card small { color: rgba(255,255,255,.66); font: 400 13px/1.2 var(--bam-sans); }
.bam-social-card b { font-size: 22px; font-weight: 400; }
.bam-social-card:hover { background: #fff; color: var(--bam-blue) !important; transform: translateY(-2px) !important; opacity: 1 !important; }
.bam-social-card:hover small { color: #555a64; }
.bam-social-card--inactive { opacity: .72; }

/* Replace Blueprint footer visually with the custom BAM footer injected safely at wp_footer. */
.bam-child-theme .cs-footer { display: none !important; }
.bam-custom-footer {
  background: var(--bam-blue);
  color: #fff;
  padding: 76px 0 26px;
}
.bam-custom-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.35fr);
  gap: clamp(60px, 9vw, 150px);
  padding-bottom: 64px;
}
.bam-custom-footer__logo {
  display: inline-block;
  margin-bottom: 20px;
  color: #fff !important;
  font: 750 30px/1 var(--bam-sans);
  letter-spacing: -.035em;
  text-decoration: none !important;
}
.bam-custom-footer__brand p {
  max-width: 520px;
  margin: 0 0 28px;
  color: rgba(255,255,255,.70);
  font: 400 15px/1.7 var(--bam-sans);
}
.bam-custom-footer__brand .bam-button {
  background: #fff !important;
  color: var(--bam-blue) !important;
  -webkit-text-fill-color: var(--bam-blue) !important;
}
.bam-custom-footer__brand .bam-button:hover {
  background: var(--bam-blue-deep) !important;
  border-color: #fff !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
.bam-custom-footer__nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 34px;
}
.bam-custom-footer__nav > div { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.bam-custom-footer__nav .bam-kicker { margin-bottom: 8px; }
.bam-custom-footer__nav a,
.bam-custom-footer__nav span {
  color: rgba(255,255,255,.74) !important;
  font: 500 14px/1.35 var(--bam-sans);
  text-decoration: none !important;
}
.bam-custom-footer__nav a:hover { color: #fff !important; transform: translateX(3px); }
.bam-custom-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.48);
  font: 500 11px/1.4 var(--bam-sans);
  letter-spacing: .06em;
}

/* Legal pages */
.bam-legal-hero { padding-bottom: 32px; }
.bam-legal-hero h1 { font-size: clamp(52px, 6vw, 92px); }
.bam-legal-content { padding-top: 36px; }
.bam-legal-content .bam-prose--narrow { max-width: 820px; }
.bam-legal-content h2 { margin-top: 1.6em; font-size: 34px; }

@media (max-width: 1024px) {
  .bam-guide-start-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .bam-custom-footer__top { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .bam-lifestyle-hub-grid,
  .bam-guide-start-grid,
  .bam-custom-footer__nav { grid-template-columns: 1fr; }
  .bam-lifestyle-hub-card { min-height: 410px; }
  .bam-lifestyle-hub-card__content { padding: 28px; }
  .bam-guide-start-grid article { min-height: 0; }
  .bam-custom-footer { padding-top: 58px; }
  .bam-custom-footer__bottom { flex-direction: column; }
}

.bam-privacy-ack { margin-top: 18px !important; }
.bam-privacy-ack label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: #626875;
  font: 400 12px/1.5 var(--bam-sans);
  letter-spacing: 0;
  text-transform: none;
}
.bam-privacy-ack input[type="checkbox"] {
  width: 16px !important;
  height: 16px;
  flex: 0 0 auto;
  margin-top: 1px;
  border: 1px solid #aeb3bf !important;
}
.bam-privacy-ack a { color: var(--bam-blue) !important; }

.bam-legal-identity {
  max-width: 820px;
  margin-bottom: 42px;
  padding: 24px 28px;
  border: 1px solid var(--bam-line);
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.bam-legal-identity strong { margin-top: 7px; font: 600 18px/1.3 var(--bam-sans); }
.bam-legal-identity span,
.bam-legal-identity a { color: #626875; font: 400 14px/1.55 var(--bam-sans); }
.bam-legal-identity a { color: var(--bam-blue) !important; }
