/* Anemoss editorial layer. Protected founders/review compositions retain their own styles. */
:root {
  --editorial-paper: #f5f2eb;
  --editorial-gold: #89652d;
  --control-border: #9b9182;
}

/* Shared action roles: stable shapes, readable labels, no blue edge or decorative elevation. */
.page-content .button:not(:where(.founder-hero-band *, .customer-voices *, .about-founders-grid *, .visa-editorial *)),
.site-header .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  max-width: 100%;
  padding: 11px 20px;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  background: var(--accent);
  color: var(--text);
  font: 500 .9375rem/1.35 var(--font-body);
  text-align: center;
  text-decoration: none;
  box-shadow: none;
  transform: none;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}
.page-content .button:not(:where(.founder-hero-band *, .customer-voices *, .about-founders-grid *, .visa-editorial *)):hover,
.site-header .button:hover { background: var(--accent-dark); box-shadow: none; transform: none; }
.page-content .button-ghost:not(:where(.founder-hero-band *, .customer-voices *, .about-founders-grid *, .visa-editorial *)) {
  background: transparent;
  border-color: var(--control-border);
  color: var(--text);
}
.page-content .button-ghost:not(:where(.founder-hero-band *, .customer-voices *, .about-founders-grid *, .visa-editorial *)):hover {
  background: var(--editorial-paper);
  border-color: var(--editorial-gold);
}
.page-content .button:focus-visible { outline: 3px solid var(--editorial-gold); outline-offset: 4px; }
.page-content .button:disabled,
.page-content .button[aria-disabled="true"] { background: #e9e6df; color: #4f5c6a; border-color: #c5c0b7; box-shadow: none; cursor: not-allowed; }

/* Header preserves its content-fit collapse behaviour and all destinations. */
.site-header { background: #fff; border-bottom-color: var(--border); }
.site-header .header-inner { gap: 32px; }
.site-header .main-nav { gap: 28px; }
.site-header .main-nav-links { gap: clamp(18px, 1.5vw, 26px); }
.site-header .main-nav-links > a {
  padding: 0;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: 500;
  white-space: nowrap;
  color: var(--text);
}
.site-header .main-nav-links > a::after { content: none; }
.site-header .main-nav-links > a:hover,
.site-header .main-nav-links > a[aria-current] { color: var(--text); text-decoration: underline; text-decoration-color: #c59d59; text-underline-offset: 8px; text-decoration-thickness: 1px; }
.site-header .main-nav-ctas { gap: 16px; margin-inline: 0; }
.site-header .main-nav-ctas > .nav-cta-primary { min-height: 40px; padding: 9px 16px; font-size: .875rem; }
.site-header .main-nav-ctas > .nav-cta-secondary {
  min-height: 40px;
  padding: 9px 0;
  color: var(--text);
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: .875rem;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: #9c8a6c;
}
.site-header .main-nav-ctas > .nav-cta-secondary:hover { background: transparent; color: var(--text); }
.site-header .language-switcher { background: transparent; border: 0; padding: 0; gap: 2px; }
.site-header .language-switcher-icon { width: 20px; color: var(--text); }
.site-header .main-nav .language-switcher .language-link {
  width: 32px;
  min-height: 36px;
  padding: 0;
  font-size: .75rem;
  font-weight: 500;
  border-radius: 3px;
  color: var(--muted);
}
.site-header .main-nav .language-switcher .language-link.is-active { background: #233747; color: #fff; }
.site-header :is(a,button):focus-visible { outline: 2px solid var(--text); outline-offset: 4px; }
.site-header .nav-toggle { width: 44px; height: 44px; background: transparent; border-color: #89919a; color: var(--text); }
.site-header.is-open .nav-toggle span:first-child { transform: translateY(6px) rotate(45deg); }
.site-header.is-open .nav-toggle span:nth-child(2) { opacity: 0; }
.site-header.is-open .nav-toggle span:last-child { transform: translateY(-6px) rotate(-45deg); }
.site-header.is-collapsed .main-nav {
  inset-inline-end: 0;
  inset-inline-start: auto;
  top: 100%;
  width: min(420px, calc(100vw - 32px));
  max-height: calc(100dvh - 90px);
  padding: 20px 24px max(24px, env(safe-area-inset-bottom));
  background: #fff;
  border: 1px solid var(--border);
  border-top: 1px solid var(--border);
  border-radius: 0 0 6px 6px;
  box-shadow: 0 16px 32px rgb(5 22 39 / 15%);
  gap: 0;
}
.site-header.is-collapsed .main-nav-links { gap: 0; }
.site-header.is-collapsed .main-nav-links > a { min-height: 46px; padding: 10px 0; font-size: 1.0625rem; border-bottom: 1px solid var(--border); border-radius: 0; color: var(--text); }
.site-header.is-collapsed .main-nav-links > a:hover { background: transparent; }
.site-header.is-collapsed .main-nav-ctas { padding-top: 18px; border: 0; gap: 12px; }
.site-header.is-collapsed .language-switcher { display: flex; justify-content: space-between; gap: 4px; margin: 0 0 8px; padding: 0; }
.site-header.is-collapsed .main-nav .language-switcher .language-link { flex: 1; min-height: 48px; width: auto; padding: 6px; gap: 4px; color: var(--muted); }
.site-header.is-collapsed .main-nav .language-switcher .language-link.is-active { background: var(--text); color: #fff; }
.site-header.is-collapsed .main-nav .language-switcher-icon { flex: 0 0 20px; }
.site-header.is-collapsed .main-nav-ctas > .nav-cta-primary { min-height: 44px; }
.site-header.is-collapsed .main-nav-ctas > .nav-cta-secondary { min-height: 44px; border: 1px solid #89919a; padding-inline: 12px; text-decoration: none; color: var(--text); }

/* Homepage: an editorial statement and a separate, quieter practical next step. */
.page-content-landing .landing-hero { padding: calc(79px + clamp(56px, 6vw, 88px)) 0 clamp(56px, 6vw, 88px); background: var(--editorial-paper); }
.page-content-landing .landing-hero::before { content: none; }
.home-editorial-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: end; text-align: start; }
.home-hero-heading, .home-hero-support { min-width: 0; }
.home-editorial-hero .section-kicker { background: transparent; color: var(--editorial-gold); padding: 0; font-weight: 600; font-size: .75rem; letter-spacing: .06em; }
.home-editorial-hero .landing-title { margin: 16px 0 0; font-size: clamp(2.4rem, 5.3vw, 5rem); line-height: 1.06; letter-spacing: -.02em; max-width: 18ch; }
.home-editorial-hero .hero-title-prefix,
html[lang^="en"] .home-editorial-hero .hero-title-prefix { display: inline; font-size: 1em; max-width: none; }
.home-editorial-hero .hero-rotator { display: inline; min-width: 0; min-height: 0; margin: 0; color: var(--editorial-gold); }
.home-editorial-hero .landing-subtitle { max-width: 40ch; margin: 0; font-size: clamp(1.0625rem, 1.5vw, 1.25rem); line-height: 1.65; }
.home-editorial-hero .hero-actions { flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.home-editorial-hero .landing-smart-search { width: 100%; max-width: 440px; margin: 32px 0 0; }
.home-editorial-hero .landing-smart-search-field { padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.home-editorial-hero .landing-smart-search-field input { background: transparent; border: 0; border-bottom: 1px solid var(--control-border); border-radius: 0; padding: 12px 0; font-size: .9375rem; color: var(--text); box-shadow: none; }
.home-editorial-hero .landing-smart-search-field input:focus-visible { outline: 2px solid var(--editorial-gold); outline-offset: 5px; }
.home-editorial-hero .landing-smart-dropdown { border-color: var(--border); box-shadow: 0 12px 24px rgb(5 22 39 / 10%); }

/* Visa heroes keep their photography and editorial split, with calmer type and spacing. */
.visa-page .visa-hero-copy { padding: clamp(32px, 4vw, 64px); }
.visa-page .visa-back { margin-bottom: 32px; font-size: .8125rem; }
.visa-page .visa-hero h1 { font-size: clamp(2.5rem, 5vw, 5rem); line-height: 1.04; letter-spacing: -.02em; max-width: 13ch; margin-block: 18px 24px; }
.visa-page .visa-tagline { font-size: clamp(1.4rem, 2vw, 1.85rem); line-height: 1.25; margin-bottom: 20px; }
.visa-page .visa-intro { font-size: 1.0625rem; line-height: 1.7; margin-bottom: 28px; }
.page-content-visa .visa-page .visa-hero .button { min-height: 44px; gap: 12px; }
.visa-page .visa-hero-photo { min-height: 640px; }
.visa-page .visa-hero .visa-text-link { margin-top: 20px; font-size: .9375rem; }
.visa-page .visa-hero-note { font-size: .8125rem; line-height: 1.5; margin-top: 24px; }

/* Reading headers: prose on paper, imagery alongside rather than behind the title. */
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) { min-height: 0; margin-top: -27px; padding-top: 0; border-bottom: 1px solid var(--border); background: var(--editorial-paper); }
:is(.article-content-page .article-detail-hero-inner, .service-detail-page .service-detail-hero-inner) { width: min(1280px, calc(100% - clamp(48px, 8vw, 128px))); padding-block: 64px; padding-inline-end: clamp(260px, 29vw, 400px); }
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero)::after { inset-block: 48px; inset-inline-start: auto; inset-inline-end: clamp(24px, 4vw, 64px); width: clamp(220px, 24vw, 340px); background: var(--article-hero-image, var(--service-hero-image)) center/cover no-repeat; }
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) h1 { font-size: clamp(2rem, 3.5vw, 3.5rem); line-height: 1.12; letter-spacing: -.015em; color: var(--text); text-shadow: none; }
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) :is(.updated-meta,.richtext p) { color: var(--muted); text-shadow: none; }
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) .updated-meta { font-size: .8125rem; line-height: 1.6; gap: 8px 16px; margin-block: 20px; }
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) .richtext p { font-size: 1.0625rem; line-height: 1.65; }
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) .guide-badge-row { gap: 12px; margin-bottom: 20px; }
:is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) :is(.guide-category-badge,.guide-type-badge) { padding: 0; border: 0; background: transparent; color: var(--muted); font-size: .75rem; font-weight: 500; letter-spacing: .04em; }
.page-content .service-detail-hero .service-base-price { background: transparent; border: 0; padding: 0; color: var(--text); font-weight: 500; }
.page-content .service-detail-hero .conversion-help { color: var(--muted); }
.service-detail-page .service-enquiry-links { gap: 12px; align-items: start; }
.page-content .guide-toc ul { padding-inline: 1.55rem .65rem; }

/* Public archive/booking introductions share a quiet, compact editorial treatment. */
.page-content .articles-hero { background: var(--editorial-paper); border: 0; border-bottom: 1px solid var(--border); min-height: 0; }
.page-content .articles-hero::after { content: none; }
.page-content .articles-hero-inner { padding-block: 48px; }
.page-content .articles-hero .nux-title { color: var(--text); font-size: clamp(2.125rem, 4vw, 3.5rem); line-height: 1.12; letter-spacing: -.015em; max-width: 24ch; text-shadow: none; }
.page-content .articles-hero .articles-hero-copy { color: var(--muted); text-shadow: none; font-weight: 400; max-width: 60ch; font-size: 1.0625rem; line-height: 1.7; }
.page-content .articles-hero .section-kicker { padding: .28rem .62rem; background: var(--text); color: #fff; font: 700 .76rem/1.5 var(--font-body); letter-spacing: .05em; }
.page-content .articles-search { box-shadow: none; border-color: var(--control-border); }
.page-content .articles-search-btn { background: var(--text); color: white; box-shadow: none; min-height: 44px; font: 500 .9375rem/1.35 var(--font-body); }
.page-content .guide-conversion-band .button-ghost { color: #fff; border-color: #b5bdc4; background: transparent; }
.page-content .guide-conversion-band .button-ghost:hover { background: #233747; }

/* Both public catalogues share a quiet editorial list, not individual boxes. */
.articles-page .articles-shell { max-width: 1200px; margin-inline: auto; }
.articles-page .articles-list { gap: 0; margin-top: 8px; }
.articles-page .article-row { grid-template-columns: 200px minmax(0, 1fr); gap: 32px; align-items: center; padding: 24px 0; border: 0; border-bottom: 1px solid var(--border); background: transparent; box-shadow: none; border-radius: 0; }
.articles-page .article-row:hover { box-shadow: none; border-color: #8a929a; }
.articles-page .article-row:focus-visible { outline: 2px solid var(--text); outline-offset: 4px; }
.articles-page .article-row .article-row-image-link { width: 200px; height: 144px; margin: 0; overflow: hidden; }
.articles-page .article-row img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.articles-page .article-row .article-card-topline { justify-content: flex-start; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 8px; }
.articles-page .article-card-topline time { font-size: .8125rem; color: var(--muted); }
.articles-page .article-title-link strong { font-family: var(--font-head); font-size: 1.75rem; font-weight: 600; line-height: 1.18; margin-bottom: 12px; }
.articles-page .article-row:hover .article-title-link strong { color: var(--text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.articles-page .article-row p { font-size: 1.125rem; line-height: 1.65; max-width: 72ch; }
.articles-page .service-row-price { color: var(--text); background: transparent; border: 0; padding: 0; font-size: .8125rem; font-weight: 500; text-transform: none; letter-spacing: normal; }
.page-content .articles-hero .articles-search { max-width: 880px; }
.page-content .articles-hero .articles-search-field { padding: 0; border-color: #89919a; background: #fff; box-shadow: none; }
.page-content .articles-hero .articles-search-field input { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.page-content .articles-hero .articles-search-field:focus-within { outline: 2px solid var(--text); outline-offset: 3px; }
@media (max-width: 800px) {
  .articles-page .article-row { grid-template-columns: 128px minmax(0, 1fr); gap: 24px; align-items: start; }
  .articles-page .article-row .article-row-image-link { width: 128px; height: 112px; }
  .articles-page .article-title-link strong { font-size: 1.5rem; }
}
@media (max-width: 480px) {
  .articles-page .article-row { grid-template-columns: 80px minmax(0, 1fr); gap: 16px; padding-block: 24px; }
  .articles-page .article-row .article-row-image-link { width: 80px; height: 96px; }
  .articles-page .article-title-link strong { font-size: 1.375rem; }
  .articles-page .article-row p { font-size: 1.0625rem; }
}

@media (max-width: 1080px) {
  .home-editorial-hero { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .home-editorial-hero .landing-title { max-width: 20ch; font-size: clamp(2.4rem, 6vw, 4.25rem); }
  .home-editorial-hero .landing-subtitle { max-width: 52ch; }
  :is(.article-content-page .article-detail-hero-inner, .service-detail-page .service-detail-hero-inner) { padding-inline-end: clamp(200px, 27vw, 290px); }
  :is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero)::after { width: 22vw; }
}
@media (max-width: 800px) {
  .page-content-landing .landing-hero { padding-block: 119px 48px; }
  .home-editorial-hero { gap: 24px; }
  .home-editorial-hero .landing-title { font-size: clamp(2.25rem, 7.8vw, 3.25rem); line-height: 1.1; max-width: 19ch; }
  .home-editorial-hero .landing-subtitle { font-size: 1.0625rem; }
  .home-editorial-hero .hero-actions { gap: 12px; margin-top: 24px; }
  .home-editorial-hero .landing-smart-search { margin-top: 24px; }
  .visa-page .visa-hero-copy { padding: 28px 24px 36px; }
  .visa-page .visa-hero h1 { font-size: clamp(2.5rem, 9vw, 3.5rem); }
  .visa-page .visa-hero-photo { min-height: 400px; }
  :is(.article-content-page .article-detail-hero-inner, .service-detail-page .service-detail-hero-inner) { padding-block: 36px; padding-inline-end: 0; width: calc(100% - 48px); }
  :is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero)::after { display: none; }
  :is(.article-content-page, .service-detail-page) :is(.article-detail-hero, .service-detail-hero) h1 { font-size: 2.125rem; }
  .page-content .articles-hero-inner { padding-block: 36px; }
  .page-content .articles-hero .nux-title { font-size: 2.125rem; }
  .page-content .hero-actions:not(:where(.founder-hero-band *, .visa-editorial *)) { flex-wrap: wrap; }
  html[dir="rtl"] .home-editorial-hero .landing-title { letter-spacing: normal; line-height: 1.35; }
}
@media (max-width: 480px) {
  .home-editorial-hero .hero-actions { align-items: start; flex-direction: column; }
  .home-editorial-hero .hero-actions .button { width: auto; }
  .page-content .service-hero-actions { align-items: start; flex-direction: column; }
}
html[dir="rtl"] :is(.home-editorial-hero .section-kicker,.article-detail-hero .guide-badge-row) { letter-spacing: normal; }
@media (prefers-reduced-motion: reduce) {
  .page-content .reveal { opacity: 1; transform: none; transition: none; }
  .page-content .button,.site-header .button,.hero-rotator { transition: none; }
}
