.editorial-page { overflow: clip; }
.editorial-section { padding-block: clamp(4rem, 8vw, 7rem); }
.editorial-section--compact { padding-block: clamp(2.75rem, 6vw, 4.5rem); }
.editorial-section--tint { background: var(--a4n-subtle); }
.editorial-section--dark { background: #0b111b; color: #f8fafc; }
.editorial-section--dark .eyebrow { color: #ff7a83; }
.editorial-section--dark p { color: #c5cfda; }
.editorial-section__heading { max-width: 44rem; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.editorial-section__heading--row { display: flex; max-width: none; align-items: end; justify-content: space-between; gap: 1rem; }

.editorial-hero { position: relative; isolation: isolate; overflow: hidden; border-bottom: 1px solid var(--a4n-border); background: linear-gradient(135deg, var(--a4n-brand-soft), var(--a4n-canvas) 55%); }
.editorial-hero::before { position: absolute; z-index: -1; width: 28rem; height: 28rem; border-radius: 50%; background: color-mix(in srgb, var(--a4n-accent) 22%, transparent); content: ""; filter: blur(5rem); inset: -12rem auto auto 38%; }
.editorial-hero__grid { display: grid; min-height: clamp(31rem, 62vw, 43rem); grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr); align-items: center; gap: clamp(2rem, 7vw, 6rem); padding-block: clamp(3rem, 8vw, 6rem); }
.editorial-hero__copy { position: relative; z-index: 2; }
.editorial-hero__copy h1 { max-width: 13ch; }
.editorial-hero__lead { max-width: 38rem; margin-bottom: 1.75rem; color: var(--a4n-muted); font-size: clamp(1.05rem, 2vw, 1.28rem); }
.editorial-hero__media { position: relative; min-height: 27rem; overflow: hidden; border-radius: clamp(1.25rem, 3vw, 2.2rem); background: #111827; box-shadow: 0 28px 70px rgba(20, 24, 33, .2); transform: rotate(1.5deg); }
.editorial-hero__media img { width: 100%; height: 100%; min-height: 27rem; object-fit: cover; }
.editorial-hero__orb { position: absolute; border-radius: 50%; filter: blur(.1rem); }
.editorial-hero__orb--one { width: 20rem; height: 20rem; top: -5rem; right: -4rem; background: var(--a4n-brand); opacity: .8; }
.editorial-hero__orb--two { width: 17rem; height: 17rem; bottom: -5rem; left: -4rem; background: var(--a4n-accent); opacity: .75; }
.editorial-hero__mark { position: absolute; inset: 50% auto auto 50%; color: #fff; font-size: clamp(4rem, 10vw, 8rem); font-weight: 950; letter-spacing: -.08em; transform: translate(-50%, -50%) rotate(-6deg); }

.editorial-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: clamp(2.5rem, 8vw, 7rem); }
.editorial-split__copy > p { color: var(--a4n-muted); }
.editorial-split__media { overflow: hidden; border-radius: var(--a4n-radius-lg); box-shadow: var(--a4n-shadow); }
.editorial-split__media img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.editorial-split__media--landscape img { aspect-ratio: 5 / 4; }
.editorial-proof-card { position: relative; overflow: hidden; min-height: 25rem; padding: clamp(2rem, 5vw, 4rem); border-radius: 2rem; background: linear-gradient(145deg, #141c2a, #090d14); color: #fff; box-shadow: var(--a4n-shadow); }
.editorial-proof-card::after { position: absolute; width: 18rem; height: 18rem; right: -6rem; bottom: -7rem; border-radius: 50%; background: var(--a4n-brand); content: ""; opacity: .75; }
.editorial-proof-card__mark { display: block; margin-bottom: 5rem; color: #ff6570; font-size: 3rem; font-weight: 950; letter-spacing: -.08em; }
.editorial-proof-card strong { display: block; max-width: 12ch; margin-bottom: 1rem; font-size: clamp(1.8rem, 4vw, 3rem); line-height: 1.05; }
.editorial-proof-card p { max-width: 28rem; color: #bec8d6; }
.editorial-story-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(17rem, .7fr); gap: clamp(2.5rem, 8vw, 7rem); }
.editorial-story-grid p { color: var(--a4n-muted); }
.editorial-quote { position: sticky; top: 7rem; align-self: start; padding: 2rem; border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius-lg); background: var(--a4n-surface); box-shadow: var(--a4n-shadow); }
.editorial-quote > span { color: var(--a4n-brand); font-family: Georgia, serif; font-size: 5rem; line-height: .6; }
.editorial-quote blockquote { margin: 1.2rem 0 0; padding: 0; border: 0; background: none; color: var(--a4n-ink); font-size: 1.35rem; font-weight: 750; }
.editorial-destination-art { display: grid; min-height: 24rem; grid-template-columns: repeat(2, 1fr); gap: .7rem; padding: .7rem; border-radius: 2rem; background: #111827; transform: rotate(-1.5deg); }
.editorial-destination-art span { display: grid; place-items: center; border-radius: 1.35rem; background: linear-gradient(135deg, color-mix(in srgb, var(--a4n-brand) 75%, #111827), #111827); color: #fff; font-size: clamp(2rem, 5vw, 4rem); font-weight: 950; }
.editorial-destination-art span:nth-child(2), .editorial-destination-art span:nth-child(3) { background: linear-gradient(135deg, color-mix(in srgb, var(--a4n-accent) 70%, #111827), #111827); }
.editorial-why { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 8vw, 7rem); }
.editorial-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.editorial-feature { position: relative; min-height: 19rem; padding: clamp(1.5rem, 3vw, 2.2rem); overflow: hidden; border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius-lg); background: var(--a4n-surface); box-shadow: 0 12px 35px rgba(20, 24, 33, .05); }
.editorial-feature__number { display: block; margin-bottom: 3.5rem; color: var(--a4n-brand); font-size: .8rem; font-weight: 900; letter-spacing: .12em; }
.editorial-feature p { color: var(--a4n-muted); }
.editorial-social-band { display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 3rem; }
.editorial-social__list { display: flex; flex-wrap: wrap; justify-content: end; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.editorial-social__list a { display: inline-flex; min-height: 3rem; align-items: center; padding: .7rem 1rem; border: 1px solid var(--a4n-border); border-radius: 999px; background: var(--a4n-surface); color: var(--a4n-ink); font-weight: 750; text-decoration: none; }
.editorial-cta { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 2rem; overflow: hidden; padding: clamp(2rem, 5vw, 3.5rem); border-radius: var(--a4n-radius-lg); background: linear-gradient(135deg, var(--a4n-brand-soft), var(--a4n-surface)); box-shadow: var(--a4n-shadow); }
.editorial-cta > div { max-width: 45rem; }

.contact-layout { display: grid; grid-template-columns: minmax(17rem, .65fr) minmax(0, 1.35fr); align-items: start; gap: clamp(2rem, 7vw, 6rem); }
.contact-guidance { position: sticky; top: 7rem; }
.contact-guidance > p { color: var(--a4n-muted); }
.contact-safety { display: flex; gap: .8rem; margin-top: 2rem; padding: 1rem; border-radius: var(--a4n-radius-sm); background: var(--a4n-subtle); }
.contact-safety span { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--a4n-accent); color: #16110a; font-weight: 900; }
.contact-safety p { margin: 0; color: var(--a4n-muted); font-size: .88rem; }
.contact-form-card { padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius-lg); background: var(--a4n-surface); box-shadow: var(--a4n-shadow); }
.contact-form-card header { margin-bottom: 2rem; }
.contact-form-card .wpcf7-form { display: grid; gap: 1rem; }
.contact-form-card .wpcf7-form label { display: grid; gap: .35rem; font-weight: 750; }
.contact-form-card .wpcf7-form input[type="submit"] { width: auto; border: 0; background: var(--a4n-brand); color: #fff; font-weight: 850; cursor: pointer; }
.contact-channels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.contact-channel { display: grid; min-height: 10rem; align-content: end; padding: 1.4rem; border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius); background: var(--a4n-surface); color: var(--a4n-ink); text-decoration: none; }
.contact-channel__icon { margin-bottom: auto; color: var(--a4n-brand); font-size: 1.5rem; }
.contact-channel > span:last-child { color: var(--a4n-muted); font-size: .86rem; }

.blog-hero, .routes-hero { padding-block: clamp(3rem, 7vw, 6rem); border-bottom: 1px solid var(--a4n-border); background: linear-gradient(135deg, var(--a4n-canvas), var(--a4n-brand-soft)); }
.blog-hero__grid, .routes-hero__grid { display: grid; grid-template-columns: minmax(18rem, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.blog-hero__copy p, .routes-hero__copy > p { max-width: 35rem; color: var(--a4n-muted); font-size: 1.1rem; }
.routes-hero__copy .button { margin-top: 1rem; }
.category-bar { position: relative; z-index: 2; border-bottom: 1px solid var(--a4n-border); background: var(--a4n-surface); }
.category-bar__inner { display: flex; gap: .6rem; overflow-x: auto; padding-block: 1rem; scrollbar-width: thin; }
.editorial-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.3rem; }
.editorial-card { overflow: hidden; border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius-lg); background: var(--a4n-surface); box-shadow: 0 12px 34px rgba(20, 24, 33, .06); }
.editorial-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--a4n-brand-soft); }
.editorial-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.editorial-card:hover .editorial-card__media img { transform: scale(1.025); }
.editorial-card__placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: linear-gradient(135deg, var(--a4n-brand-soft), var(--a4n-subtle)); }
.editorial-card__body { padding: 1.25rem; }
.editorial-card__category { display: block; margin-bottom: .55rem; color: var(--a4n-brand-dark); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.editorial-card h3 { font-size: 1.25rem; }
.editorial-card h3 a { color: var(--a4n-ink); text-decoration: none; }
.editorial-card p { color: var(--a4n-muted); font-size: .9rem; }
.editorial-card__meta { display: flex; flex-wrap: wrap; gap: .45rem; color: var(--a4n-muted); font-size: .76rem; }
.editorial-card--featured { display: grid; min-height: 25rem; grid-template-columns: 1.1fr .9fr; }
.editorial-card--featured .editorial-card__media { height: 100%; aspect-ratio: auto; }
.editorial-card--featured .editorial-card__body { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem, 4vw, 2.5rem); }
.editorial-card--featured h3 { font-size: clamp(1.4rem, 3vw, 2.2rem); }
.route-card-v4__facts { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.route-card-v4__facts li { padding: .28rem .55rem; border-radius: 999px; background: var(--a4n-subtle); color: var(--a4n-muted); font-size: .74rem; font-weight: 750; }
.benefit-strip { position: relative; z-index: 3; margin-top: -1.6rem; }
.benefit-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius-lg); background: var(--a4n-surface); box-shadow: var(--a4n-shadow); }
.benefit-strip__item { display: flex; gap: .8rem; padding: 1.2rem; }
.benefit-strip__item + .benefit-strip__item { border-left: 1px solid var(--a4n-border); }
.benefit-strip__item > span { display: grid; width: 2rem; height: 2rem; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--a4n-brand-soft); color: var(--a4n-brand); font-weight: 900; }
.benefit-strip__item strong { display: block; }
.benefit-strip__item p { margin: .15rem 0 0; color: var(--a4n-muted); font-size: .8rem; }

.immersive-hero { position: relative; isolation: isolate; min-height: clamp(28rem, 62vw, 44rem); display: grid; align-items: end; overflow: hidden; background: linear-gradient(135deg, #151d2b, #070b11); color: #fff; }
.immersive-hero::before { position: absolute; z-index: -2; content: ""; inset: 0; background-image: var(--hero-image); background-position: center; background-size: cover; }
.immersive-hero::after { position: absolute; z-index: -1; content: ""; inset: 0; background: linear-gradient(0deg, rgba(6, 10, 16, .94), rgba(6, 10, 16, .12) 70%), linear-gradient(90deg, rgba(6, 10, 16, .72), transparent 70%); }
.immersive-hero__inner { padding-block: clamp(3rem, 8vw, 6rem); }
.immersive-hero h1 { max-width: 15ch; }
.immersive-hero__lead { max-width: 48rem; color: #e1e7ee; font-size: 1.15rem; }
.route-facts-v4 { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; margin-top: -1.5rem; margin-bottom: clamp(3rem, 7vw, 5rem); border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius-lg); background: var(--a4n-surface); box-shadow: var(--a4n-shadow); }
.route-facts-v4 div { padding: 1.2rem; }
.route-facts-v4 div + div { border-left: 1px solid var(--a4n-border); }
.route-facts-v4 dt { color: var(--a4n-muted); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.route-facts-v4 dd { margin: .35rem 0 0; font-weight: 750; }
.article-hero-v4 { padding-block: clamp(3rem, 8vw, 6rem); border-bottom: 1px solid var(--a4n-border); background: linear-gradient(135deg, var(--a4n-canvas), var(--a4n-brand-soft)); }
.article-hero-v4__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(22rem, 1.1fr); align-items: center; gap: clamp(2rem, 7vw, 6rem); }
.article-hero-v4__lead { color: var(--a4n-muted); font-size: clamp(1.05rem, 2vw, 1.25rem); }
.article-hero-v4__media { overflow: hidden; border-radius: var(--a4n-radius-lg); box-shadow: var(--a4n-shadow); }
.article-hero-v4__media img { width: 100%; aspect-ratio: 16 / 11; object-fit: cover; }
.longform-shell { display: grid; max-width: 70rem; gap: clamp(2rem, 5vw, 4rem); padding-block: clamp(3.5rem, 8vw, 6rem); }
.longform-shell.has-toc { grid-template-columns: 15rem minmax(0, var(--a4n-reading)); }
.longform-shell__aside { min-width: 0; }
.editorial-toc { position: sticky; top: 6.5rem; padding: 1rem; border: 1px solid var(--a4n-border); border-radius: var(--a4n-radius); background: var(--a4n-surface); }
.editorial-toc__title { margin-bottom: .7rem; font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.editorial-toc ol { display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.editorial-toc li.is-level-3 { padding-left: .75rem; }
.editorial-toc a { color: var(--a4n-muted); font-size: .82rem; line-height: 1.35; text-decoration: none; }
.editorial-toc a:hover { color: var(--a4n-brand); }
.longform-shell__content { min-width: 0; }
.longform-shell__content > :first-child { margin-top: 0; }
.longform-shell__content h2, .longform-shell__content h3 { scroll-margin-top: 7rem; }

.compact-editorial-hero { padding-block: clamp(3rem, 7vw, 5.5rem); border-bottom: 1px solid var(--a4n-border); background: linear-gradient(135deg, var(--a4n-brand-soft), var(--a4n-canvas)); }
.compact-editorial-hero h1 { max-width: 18ch; }
.compact-editorial-hero p { max-width: 45rem; color: var(--a4n-muted); font-size: 1.08rem; }
.search-hero-form { max-width: 42rem; margin-top: 1.5rem; }
.search-suggestions { display: flex; flex-wrap: wrap; justify-content: center; gap: .65rem; margin-top: 2rem; }
.search-suggestions a { padding: .65rem .9rem; border: 1px solid var(--a4n-border); border-radius: 999px; background: var(--a4n-surface); font-weight: 750; text-decoration: none; }
.error-page-v4 { padding-block: clamp(4rem, 10vw, 8rem); }
.error-page-v4__grid { display: grid; grid-template-columns: 1fr .8fr; align-items: center; gap: clamp(2rem, 8vw, 7rem); }
.error-page-v4__code { margin: 0; color: var(--a4n-brand); font-size: clamp(5rem, 15vw, 9rem); font-weight: 950; line-height: .8; opacity: .16; }
.error-page-v4__art { display: grid; place-items: center; }
.error-page-v4__art svg { width: min(100%, 28rem); fill: none; stroke: var(--a4n-border); stroke-width: 8; }
.error-page-v4__art .needle { fill: var(--a4n-brand); stroke: var(--a4n-brand); }

:root[data-theme="dark"] .editorial-hero,
:root[data-theme="dark"] .blog-hero,
:root[data-theme="dark"] .routes-hero,
:root[data-theme="dark"] .article-hero-v4,
:root[data-theme="dark"] .compact-editorial-hero { background: linear-gradient(135deg, #111827, #0c111a 55%, #26141a); }
:root[data-theme="dark"] .editorial-feature,
:root[data-theme="dark"] .editorial-card { box-shadow: 0 16px 40px rgba(0, 0, 0, .22); }

@media (max-width: 64rem) {
  .editorial-hero__grid, .blog-hero__grid, .routes-hero__grid, .article-hero-v4__grid { grid-template-columns: 1fr; }
  .editorial-hero__grid { min-height: auto; }
  .editorial-hero__media { min-height: 22rem; transform: none; }
  .editorial-card--featured { min-height: 22rem; }
  .editorial-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .longform-shell.has-toc { grid-template-columns: 1fr; }
  .editorial-toc { position: static; }
}

@media (max-width: 48rem) {
  .editorial-section { padding-block: 3.5rem; }
  .editorial-split, .editorial-story-grid, .editorial-why, .editorial-social-band, .contact-layout, .error-page-v4__grid { grid-template-columns: 1fr; }
  .editorial-split__media, .editorial-destination-art { order: -1; }
  .editorial-quote, .contact-guidance { position: static; }
  .editorial-feature-grid, .contact-channels, .editorial-card-grid { grid-template-columns: 1fr; }
  .editorial-card--featured { display: block; }
  .editorial-card--featured .editorial-card__media { aspect-ratio: 16 / 10; }
  .benefit-strip { margin-top: 0; padding-top: 1rem; }
  .benefit-strip__grid, .route-facts-v4 { grid-template-columns: 1fr; }
  .benefit-strip__item + .benefit-strip__item, .route-facts-v4 div + div { border-top: 1px solid var(--a4n-border); border-left: 0; }
  .editorial-cta { align-items: flex-start; flex-direction: column; }
  .immersive-hero { min-height: 30rem; }
}

@media (max-width: 30rem) {
  .editorial-hero__media { min-height: 18rem; }
  .editorial-hero__media img { min-height: 18rem; }
  .editorial-proof-card, .editorial-destination-art { min-height: 20rem; }
  .contact-form-card { padding: 1.2rem; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-card__media img { transition: none; }
}
