/* ──────────────────────────────────────────────────────────────────────────
   SmartMuseum Premium — production stylesheet
   v1.0.0
   Namespace: .sm-*
   Palette switched via [data-sm-palette="intl|asia|ar"] on <html> or <body>
   RTL: relies on dir="rtl" on <html>; uses logical properties where possible.
   No JS framework required. Vanilla JS only for: language switcher dropdown,
   sticky-bar visibility, FAQ details/summary (native).
   ────────────────────────────────────────────────────────────────────────── */

/* ─── 0. TOKENS ─────────────────────────────────────────────────────────── */
:root,
[data-sm-palette="intl"]{
  --sm-bg:           #FFFDF8;
  --sm-paper:        #F7F2EA;
  --sm-ink:          #111111;
  --sm-ink-2:        #241C18;
  --sm-ink-3:        #5C504A;
  --sm-gold:         #B99A5B;
  --sm-stone:        #D8CFC0;
  --sm-rule:         #E7DFD2;
  --sm-trust:        #2F6F5E;
  --sm-on-dark:      #F4ECDC;
  --sm-dark-surface: #1A1410;
  --sm-accent-soft:  rgba(185,154,91,.16);
}
[data-sm-palette="asia"]{
  --sm-bg:           #FFF6EC;
  --sm-paper:        #F6EBD9;
  --sm-ink:          #1C0F0C;
  --sm-ink-2:        #2A1410;
  --sm-ink-3:        #6A4B3A;
  --sm-gold:         #C8A24A;
  --sm-stone:        #E2CFB8;
  --sm-rule:         #EBD9BF;
  --sm-trust:        #2F6F5E;
  --sm-accent-red:   #A6192E;
  --sm-on-dark:      #F7EAD0;
  --sm-dark-surface: #2A0F12;
  --sm-accent-soft:  rgba(200,162,74,.18);
}
[data-sm-palette="ar"]{
  --sm-bg:           #FFF9F0;
  --sm-paper:        #F6EEDD;
  --sm-ink:          #071E26;
  --sm-ink-2:        #0A2A33;
  --sm-ink-3:        #3E5A63;
  --sm-gold:         #C9A45C;
  --sm-stone:        #DDD2BD;
  --sm-rule:         #E6DBC4;
  --sm-trust:        #0E5B4F;
  --sm-on-dark:      #F1E6CC;
  --sm-dark-surface: #071E26;
  --sm-accent-soft:  rgba(201,164,92,.18);
}

/* Typography stacks per locale (set [lang] on <html> in WP) */
:root{
  --sm-font-serif: "Cormorant Garamond", "Libre Baskerville", Georgia, serif;
  --sm-font-sans:  "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --sm-font-mono:  "JetBrains Mono", ui-monospace, Menlo, monospace;
}
[lang="ja"], [lang^="ja-"]{
  --sm-font-serif: "Noto Serif JP", "Cormorant Garamond", serif;
  --sm-font-sans:  "Noto Sans JP", "Inter", sans-serif;
}
[lang="zh"], [lang^="zh-"]{
  --sm-font-serif: "Noto Serif SC", "Cormorant Garamond", serif;
  --sm-font-sans:  "Noto Sans SC", "Inter", sans-serif;
}
[lang="ko"], [lang^="ko-"]{
  --sm-font-serif: "Noto Serif KR", "Cormorant Garamond", serif;
  --sm-font-sans:  "Noto Sans KR", "Inter", sans-serif;
}
[lang="ar"], [lang^="ar-"]{
  --sm-font-serif: "Amiri", "Noto Naskh Arabic", serif;
  --sm-font-sans:  "IBM Plex Sans Arabic", "Noto Sans Arabic", "Inter", sans-serif;
}

/* ─── 1. RESET & BASE ───────────────────────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box }
html,body{ margin:0; padding:0 }
html{ background:var(--sm-bg); color:var(--sm-ink); scroll-behavior:smooth; -webkit-text-size-adjust:100% }
body{
  font-family:var(--sm-font-sans);
  font-size:16px; line-height:1.6;
  color:var(--sm-ink); background:var(--sm-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  text-wrap:pretty;
}
img,svg,video{ max-width:100%; display:block; height:auto }
a{ color:inherit; text-decoration:none }
button{ font-family:inherit }

.sm-article h1, .sm-article h2, .sm-article h3, .sm-article h4{
  font-family:var(--sm-font-serif);
  font-weight:500; letter-spacing:-.005em;
  color:var(--sm-ink); margin:0;
}

/* ─── 2. UTILITIES ──────────────────────────────────────────────────────── */
.sm-container{ max-width:1240px; margin-inline:auto; padding-inline:32px }
.sm-reading{ max-width:720px; margin-inline:auto; padding-inline:32px }
.sm-rule{ height:1px; background:var(--sm-rule); border:0; margin:0 }

.sm-eyebrow{
  font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase;
  color:var(--sm-ink-3);
}
.sm-sect-label{
  font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase;
  color:var(--sm-ink-3);
  display:flex; align-items:center; gap:12px;
  margin-bottom:18px;
}
.sm-sect-label::before{
  content:""; display:block; width:24px; height:1px; background:var(--sm-gold);
}

/* skip link */
.sm-skip{
  position:absolute; left:-9999px; top:0;
  background:var(--sm-ink); color:var(--sm-on-dark);
  padding:10px 16px; font-size:13px; z-index:1000;
}
.sm-skip:focus{ left:8px; top:8px; outline:2px solid var(--sm-gold); outline-offset:2px }

/* visible focus everywhere */
.sm-article :focus-visible,
.sm-article-header :focus-visible,
.sm-footer :focus-visible{
  outline:2px solid var(--sm-gold);
  outline-offset:2px;
  border-radius:2px;
}

/* ─── 3. BUTTONS ────────────────────────────────────────────────────────── */
.sm-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:44px;
  padding:11px 20px;
  font-family:var(--sm-font-sans);
  font-size:13px; font-weight:500; letter-spacing:.01em;
  border-radius:2px; border:1px solid transparent;
  background:transparent; color:var(--sm-ink);
  cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.sm-btn--lg{ padding:14px 24px; font-size:14px; min-height:48px }
.sm-btn--ghost{ border-color:var(--sm-ink-2); color:var(--sm-ink-2) }
.sm-btn--ghost:hover{ background:var(--sm-ink-2); color:var(--sm-bg) }
.sm-btn--solid{ background:var(--sm-ink-2); color:var(--sm-on-dark); border-color:var(--sm-ink-2) }
.sm-btn--solid:hover{ background:#000 }
.sm-btn--gold{ background:transparent; color:var(--sm-ink-2); border-color:var(--sm-gold) }
.sm-btn--gold:hover{ background:var(--sm-gold); color:var(--sm-bg) }
.sm-btn--gold-on-dark{ background:var(--sm-gold); color:#14110d; border-color:var(--sm-gold) }
.sm-btn--gold-on-dark:hover{ background:#a78648; border-color:#a78648 }
.sm-btn .sm-arr{ font-weight:400; transition:transform .2s ease }
.sm-btn:hover .sm-arr{ transform:translateX(3px) }
[dir="rtl"] .sm-btn .sm-arr{ transform:scaleX(-1) }
[dir="rtl"] .sm-btn:hover .sm-arr{ transform:scaleX(-1) translateX(3px) }

/* ─── 4. HEADER ─────────────────────────────────────────────────────────── */
.sm-article-header{
  position:sticky; top:0; z-index:60;
  background:color-mix(in oklab, var(--sm-bg) 92%, transparent);
  backdrop-filter:saturate(1.4) blur(14px);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--sm-rule);
}
.sm-article-header__inner{
  display:flex; align-items:center; gap:32px;
  padding:18px 32px;
  max-width:1240px; margin-inline:auto;
}
.sm-brand{ display:flex; flex-direction:column; line-height:1; margin-inline-end:auto }
.sm-brand__mark{
  font-family:var(--sm-font-serif);
  font-size:24px; font-weight:500; letter-spacing:.01em; color:var(--sm-ink);
}
.sm-brand__sub{
  font-size:10px; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  color:var(--sm-ink-3); margin-top:5px;
}
.sm-nav{ display:flex; gap:28px }
.sm-nav a{
  font-size:13px; font-weight:500; color:var(--sm-ink-2);
  position:relative; padding:6px 0;
}
.sm-nav a:hover{ color:var(--sm-ink) }
.sm-nav a[aria-current]{ color:var(--sm-ink) }
.sm-nav a[aria-current]::after{
  content:""; position:absolute; inset-inline:0; bottom:-19px; height:1px; background:var(--sm-gold);
}

/* ─── 5. LANGUAGE SWITCHER ──────────────────────────────────────────────── */
.sm-language-switcher{ position:relative }
.sm-language-switcher__btn{
  display:inline-flex; align-items:center; gap:8px;
  min-height:36px;
  font:500 12px/1 var(--sm-font-sans);
  letter-spacing:.06em; text-transform:uppercase; color:var(--sm-ink-3);
  padding:8px 10px; background:transparent;
  border:1px solid transparent; border-radius:2px; cursor:pointer;
}
.sm-language-switcher__btn:hover{ color:var(--sm-ink); border-color:var(--sm-rule) }
.sm-language-switcher__menu{
  position:absolute; top:calc(100% + 8px); inset-inline-end:0;
  background:var(--sm-bg); border:1px solid var(--sm-rule);
  min-width:200px; padding:6px;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.12);
  display:none; z-index:80;
  list-style:none; margin:0;
}
.sm-language-switcher[aria-expanded="true"] .sm-language-switcher__menu,
.sm-language-switcher.is-open .sm-language-switcher__menu{ display:block }
.sm-language-switcher__menu li{ list-style:none }
.sm-language-switcher__menu a{
  display:flex; justify-content:space-between; align-items:center;
  font-size:13px; color:var(--sm-ink-2); padding:9px 12px; border-radius:2px;
}
.sm-language-switcher__menu a:hover{ background:var(--sm-paper) }
.sm-language-switcher__menu a[aria-current="true"]{ color:var(--sm-ink); background:var(--sm-accent-soft) }
.sm-language-switcher__code{
  font-size:10px; letter-spacing:.16em; color:var(--sm-ink-3); text-transform:uppercase;
}

/* ─── 6. BREADCRUMB ─────────────────────────────────────────────────────── */
.sm-breadcrumb{
  border-bottom:1px solid var(--sm-rule); background:var(--sm-bg);
}
.sm-breadcrumb ol{ list-style:none; margin:0; padding:0 }
.sm-breadcrumb__inner{
  max-width:1240px; margin-inline:auto; padding:14px 32px;
  list-style:none;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:12px; letter-spacing:.04em; color:var(--sm-ink-3);
}
.sm-breadcrumb__inner li{ list-style:none }
.sm-breadcrumb a{ color:var(--sm-ink-3) }
.sm-breadcrumb a:hover{ color:var(--sm-ink-2) }
.sm-breadcrumb__sep{ color:var(--sm-stone); font-family:var(--sm-font-serif); font-size:14px; line-height:1 }
.sm-breadcrumb [aria-current="page"]{ color:var(--sm-ink); font-weight:500 }

/* ─── 7. HERO ───────────────────────────────────────────────────────────── */
.sm-hero{ padding:48px 0 24px }
.sm-hero-kicker{
  font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase;
  color:var(--sm-ink-3);
  display:flex; align-items:center; gap:14px;
  margin-bottom:22px; flex-wrap:wrap;
}
.sm-hero-kicker .sm-dot{ width:3px; height:3px; border-radius:50%; background:var(--sm-gold) }
.sm-hero__layout{
  display:grid; grid-template-columns:1.05fr 1fr; gap:56px; align-items:end;
}
.sm-hero-title{
  font-size:clamp(40px, 5.4vw, 72px);
  line-height:1.04; letter-spacing:-.015em;
  margin:0 0 24px; font-weight:500;
}
.sm-hero-title em{ font-style:italic; color:var(--sm-ink-2); font-weight:400 }
.sm-hero-subtitle{
  font-size:18px; line-height:1.55; color:var(--sm-ink-2);
  max-width:55ch; margin:0 0 28px; font-weight:300;
}
.sm-hero-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-bottom:18px }
.sm-hero__trust{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  font-size:12px; color:var(--sm-ink-3); letter-spacing:.02em;
}
.sm-hero__meta{
  display:flex; gap:24px; font-size:12px; color:var(--sm-ink-3);
  letter-spacing:.05em; text-transform:uppercase;
  border-top:1px solid var(--sm-rule);
  padding-top:18px; margin-top:36px;
}
.sm-hero__meta b{ color:var(--sm-ink-2); font-weight:500 }
.sm-hero__visual{
  position:relative; aspect-ratio:5/6; background:var(--sm-paper);
  border-radius:2px; overflow:hidden;
}
.sm-hero__visual img{ width:100%; height:100%; object-fit:cover; display:block }
.sm-hero__caption{
  margin-top:14px; font-size:12px; color:var(--sm-ink-3);
  display:flex; justify-content:space-between; gap:16px; font-style:italic;
}

/* ─── 8. DISCLOSURE & EDITORIAL NOTE ────────────────────────────────────── */
.sm-disclosure{
  max-width:780px; margin:64px auto 0;
  display:flex; gap:16px; align-items:flex-start;
  padding:18px 22px;
  background:var(--sm-paper);
  border:1px solid var(--sm-rule);
  border-radius:2px;
}
.sm-disclosure__icon{
  width:22px; height:22px; flex-shrink:0;
  border-radius:50%; border:1px solid var(--sm-ink-3);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--sm-font-serif); font-size:13px; font-style:italic; color:var(--sm-ink-3);
  margin-top:2px;
}
.sm-disclosure__text{ font-size:13.5px; line-height:1.55; color:var(--sm-ink-2) }
.sm-disclosure__text b{ font-weight:500; color:var(--sm-ink) }

.sm-editorial-note{
  max-width:780px; margin:24px auto 0;
  display:flex; gap:16px; align-items:flex-start;
  padding:18px 22px;
  border-inline-start:2px solid var(--sm-gold);
}
.sm-editorial-note__label{
  font-family:var(--sm-font-serif); font-style:italic;
  font-size:14px; color:var(--sm-gold); letter-spacing:.02em;
  width:120px; flex-shrink:0; padding-top:2px;
}
.sm-editorial-note__text{ font-size:13.5px; line-height:1.6; color:var(--sm-ink-2) }

/* ─── 9. EDITORIAL INTRO + QUICK ANSWER ─────────────────────────────────── */
.sm-intro{ padding:88px 0 24px }
.sm-intro__grid{
  display:grid; grid-template-columns:1fr 1px 1fr; gap:64px; align-items:start;
}
.sm-intro__vrule{ background:var(--sm-rule); height:100% }
.sm-intro__lede{
  font-family:var(--sm-font-serif);
  font-size:30px; line-height:1.32; color:var(--sm-ink); font-weight:400;
}
.sm-intro__lede::first-letter{
  font-family:var(--sm-font-serif);
  font-size:64px; float:inline-start; line-height:.9;
  padding:6px 12px 0 0; color:var(--sm-gold); font-weight:500;
}
[dir="rtl"] .sm-intro__lede::first-letter{ padding:6px 0 0 12px }
.sm-intro__quote{
  font-family:var(--sm-font-serif);
  font-style:italic; font-size:24px; line-height:1.35; color:var(--sm-ink-2);
  position:relative; padding-inline-start:28px;
}
.sm-intro__quote::before{
  content:"\201C"; position:absolute; inset-inline-start:-4px; top:-18px;
  font-size:88px; color:var(--sm-gold); font-style:normal; line-height:1;
}

.sm-quick-answer{
  max-width:880px; margin:32px auto 0;
  padding:28px 32px;
  border:1px solid var(--sm-rule);
  background:var(--sm-bg);
  position:relative;
}
.sm-quick-answer::before{
  content:""; position:absolute; top:0; inset-inline-start:0; width:48px; height:2px; background:var(--sm-gold);
}
.sm-quick-answer__label{
  font-size:11px; font-weight:500; letter-spacing:.28em; text-transform:uppercase;
  color:var(--sm-gold); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.sm-quick-answer h2{
  font-size:24px; line-height:1.2; margin:0 0 12px; font-weight:500; color:var(--sm-ink);
}
.sm-quick-answer p{ font-size:16px; line-height:1.6; color:var(--sm-ink-2); margin:0 0 16px }
.sm-quick-answer__list{
  list-style:none; padding:0; margin:0;
  display:grid; grid-template-columns:repeat(2, 1fr); gap:8px 28px;
}
.sm-quick-answer__list li{
  font-size:13.5px; color:var(--sm-ink-2);
  padding-inline-start:18px; position:relative; line-height:1.5;
}
.sm-quick-answer__list li::before{
  content:""; position:absolute; inset-inline-start:0; top:9px;
  width:8px; height:1px; background:var(--sm-gold);
}
.sm-quick-answer__list li b{ font-weight:500; color:var(--sm-ink) }

/* ─── 10. AFFILIATE BLOCKS ──────────────────────────────────────────────── */
.sm-affiliate-box{
  max-width:980px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1.4fr;
  border:1px solid var(--sm-gold);
  background:var(--sm-bg); border-radius:2px; overflow:hidden;
}
.sm-affiliate-box__visual{
  background:var(--sm-paper); padding:40px;
  display:flex; flex-direction:column; justify-content:space-between;
  border-inline-end:1px solid var(--sm-rule);
  position:relative;
}
.sm-affiliate-box__body{ padding:40px }
.sm-affiliate-box__partner{
  font-family:var(--sm-font-serif); font-size:28px; color:var(--sm-ink-2); line-height:1;
}
.sm-affiliate-box__micro{
  font-size:11.5px; color:var(--sm-ink-3); letter-spacing:.04em;
}

.sm-affiliate-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
  background:var(--sm-rule); border:1px solid var(--sm-rule);
}
.sm-travel-essential{
  background:var(--sm-bg); padding:32px;
  display:flex; flex-direction:column; min-height:280px;
}
.sm-travel-essential__icon{
  width:36px; height:36px;
  display:flex; align-items:center; justify-content:center;
  color:var(--sm-ink-2); margin-bottom:24px;
}
.sm-travel-essential h3{
  font-size:24px; margin:0 0 10px; line-height:1.2;
}
.sm-travel-essential p{
  font-size:14px; line-height:1.55; color:var(--sm-ink-3); margin:0 0 18px; flex:1;
}
.sm-travel-essential__partner{
  font-size:12px; letter-spacing:.06em; color:var(--sm-ink-3); margin-bottom:14px;
}
.sm-travel-essential__partner b{ color:var(--sm-ink-2); font-weight:500 }
.sm-travel-essential__cta{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding-top:14px; border-top:1px solid var(--sm-rule);
}
.sm-travel-essential__link{
  font-size:13px; font-weight:500; color:var(--sm-ink);
  display:inline-flex; align-items:center; gap:10px;
  border-bottom:1px solid var(--sm-ink-2); padding-bottom:3px;
}
.sm-travel-essential__link:hover{ border-color:var(--sm-gold); color:var(--sm-ink-2) }
.sm-travel-essential__sponsored{
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--sm-ink-3);
}

/* ─── 11. CONTENT (article body) ────────────────────────────────────────── */
.sm-content{ padding:88px 0 64px; background:var(--sm-bg); position:relative }
.sm-content::before{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:120px; height:1px; background:var(--sm-gold);
}
.sm-section{ margin-bottom:8px }
.sm-section-title{
  font-size:34px; line-height:1.15; margin:48px 0 16px;
  font-weight:500; letter-spacing:-.005em;
}
.sm-section-title__num{
  font-family:var(--sm-font-sans);
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--sm-gold); font-weight:500;
  display:block; margin-bottom:8px;
}
.sm-content h3{
  font-size:22px; margin:28px 0 10px; font-weight:500;
}
.sm-content p{ font-size:16.5px; line-height:1.72; color:var(--sm-ink-2); margin:0 0 18px }
.sm-content p.sm-lead{ font-size:18px; color:var(--sm-ink) }
.sm-content ul{ list-style:none; padding:0; margin:0 0 18px }
.sm-content ul li{
  position:relative; padding-inline-start:24px; margin-bottom:10px;
  font-size:16px; line-height:1.65; color:var(--sm-ink-2);
}
.sm-content ul li::before{
  content:""; position:absolute; inset-inline-start:0; top:13px;
  width:10px; height:1px; background:var(--sm-gold);
}
.sm-pull{
  font-family:var(--sm-font-serif);
  font-size:24px; line-height:1.35; color:var(--sm-ink); font-style:italic;
  border-top:1px solid var(--sm-gold); border-bottom:1px solid var(--sm-gold);
  padding:20px 0; margin:28px 0;
}

/* ─── 12. COMPARISON TABLE ──────────────────────────────────────────────── */
.sm-comparison{ padding:64px 0; background:var(--sm-paper) }
.sm-comparison__inner{ max-width:1100px; margin-inline:auto; padding-inline:32px }
.sm-comparison-table{
  width:100%; border-collapse:collapse;
  background:var(--sm-bg); border:1px solid var(--sm-rule);
}
.sm-comparison-table th,
.sm-comparison-table td{
  padding:18px 22px; text-align:start;
  font-size:14px; line-height:1.5;
  border-bottom:1px solid var(--sm-rule); vertical-align:top;
}
.sm-comparison-table thead th{
  font-family:var(--sm-font-serif);
  font-size:22px; font-weight:500; color:var(--sm-ink);
  border-bottom:1px solid var(--sm-gold);
}
.sm-comparison-table thead th .sm-sub{
  display:block; font-family:var(--sm-font-sans);
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--sm-ink-3); font-weight:500; margin-bottom:6px;
}
.sm-comparison-table tbody tr:last-child td{ border-bottom:0 }
.sm-comparison-table tbody th{
  font-weight:500; color:var(--sm-ink-3);
  background:var(--sm-paper);
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; width:180px;
}
.sm-comparison-table td{ color:var(--sm-ink-2) }
.sm-comparison-table__partner{
  font-family:var(--sm-font-serif); font-style:italic;
  font-size:17px; color:var(--sm-ink);
}

/* ─── 13. PRIVATE TRAVEL LEAD ───────────────────────────────────────────── */
.sm-private-travel-lead{
  padding:96px 0;
  background:var(--sm-dark-surface);
  color:var(--sm-on-dark);
  position:relative; overflow:hidden;
}
.sm-private-travel-lead::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(60% 60% at 80% 0%, rgba(185,154,91,.18), transparent 60%),
    radial-gradient(50% 50% at 0% 100%, rgba(185,154,91,.10), transparent 60%);
  pointer-events:none;
}
.sm-private-travel-lead__inner{
  max-width:1080px; margin-inline:auto; padding-inline:32px;
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;
  position:relative;
}
.sm-private-travel-lead h2{
  font-family:var(--sm-font-serif);
  font-size:clamp(32px, 3.6vw, 48px); line-height:1.1;
  color:var(--sm-on-dark); margin:0 0 22px; font-weight:500;
}
.sm-private-travel-lead p{
  font-size:16.5px; line-height:1.65;
  color:rgba(244,236,220,.78); max-width:46ch; margin:0 0 28px;
}
.sm-private-travel-lead__form{
  background:rgba(244,236,220,.04);
  border:1px solid rgba(244,236,220,.16);
  padding:32px;
}
.sm-private-travel-lead__form label{
  display:block; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  color:rgba(244,236,220,.55); margin-bottom:8px;
}
.sm-private-travel-lead__form input,
.sm-private-travel-lead__form select,
.sm-private-travel-lead__form textarea{
  width:100%; background:transparent;
  border:0; border-bottom:1px solid rgba(244,236,220,.28);
  padding:10px 0 12px; min-height:44px;
  color:var(--sm-on-dark); font-family:inherit; font-size:14px; outline:none;
}
.sm-private-travel-lead__form input:focus,
.sm-private-travel-lead__form select:focus,
.sm-private-travel-lead__form textarea:focus{ border-bottom-color:var(--sm-gold) }

/* ─── 14. RELATED LINKS (internal linking) ──────────────────────────────── */
.sm-related-links{ padding:88px 0; background:var(--sm-bg); border-top:1px solid var(--sm-rule) }
.sm-related-links__head{ text-align:center; max-width:680px; margin:0 auto 48px; padding-inline:32px }
.sm-related-links__head .sm-sect-label{ justify-content:center }
.sm-related-links__head h2{ font-size:clamp(30px,3.4vw,42px); margin:0 0 12px; font-weight:500; line-height:1.1 }
.sm-related-links__head p{ font-size:15px; color:var(--sm-ink-3); margin:0 }
.sm-related-links__grid{
  max-width:1240px; margin-inline:auto; padding-inline:32px;
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px;
}
.sm-related-links__col h3{
  font-family:var(--sm-font-sans);
  font-size:11px; font-weight:500; letter-spacing:.22em; text-transform:uppercase;
  color:var(--sm-ink-3);
  padding-bottom:14px; margin:0 0 6px;
  border-bottom:1px solid var(--sm-gold);
}
.sm-related-links__list{ list-style:none; padding:0; margin:0 }
.sm-related-links__list li{ border-bottom:1px solid var(--sm-rule) }
.sm-related-links__list li:last-child{ border-bottom:0 }
.sm-related-links__list a{
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  padding:18px 0; color:var(--sm-ink-2);
}
.sm-related-links__list a:hover{ color:var(--sm-ink) }
.sm-related-links__title{
  font-family:var(--sm-font-serif);
  font-size:20px; line-height:1.25; color:var(--sm-ink); font-weight:500;
}
.sm-related-links__meta{
  font-size:11.5px; letter-spacing:.06em; color:var(--sm-ink-3); margin-top:6px;
}

/* ─── 15. FAQ ───────────────────────────────────────────────────────────── */
.sm-faq{ padding:88px 0; background:var(--sm-paper); border-top:1px solid var(--sm-rule) }
.sm-faq__inner{ max-width:880px; margin-inline:auto; padding-inline:32px }
.sm-faq__head{ margin-bottom:32px }
.sm-faq__head h2{ font-size:clamp(30px,3.4vw,44px); margin:0 0 10px; font-weight:500; line-height:1.1 }
.sm-faq__head p{ font-size:15px; color:var(--sm-ink-3); margin:0; max-width:560px }
.sm-faq details{
  background:var(--sm-bg); padding:20px 22px;
  margin-bottom:6px; border:1px solid var(--sm-rule);
}
.sm-faq summary{
  list-style:none; cursor:pointer;
  display:flex; justify-content:space-between; align-items:center; gap:24px;
  font-family:var(--sm-font-serif); font-size:20px; color:var(--sm-ink); font-weight:500;
}
.sm-faq summary::-webkit-details-marker{ display:none }
.sm-faq__indicator{
  font-family:var(--sm-font-sans); font-size:22px; font-weight:300;
  color:var(--sm-gold); transition:transform .2s ease; line-height:1;
}
.sm-faq details[open] .sm-faq__indicator{ transform:rotate(45deg) }
.sm-faq details p{ margin-top:14px; font-size:15.5px; color:var(--sm-ink-2); line-height:1.65 }

/* ─── 16. FINAL CTA ─────────────────────────────────────────────────────── */
.sm-final-cta{ padding:96px 0; text-align:center }
.sm-final-cta__inner{ max-width:760px; margin-inline:auto; padding-inline:32px }
.sm-final-cta h2{
  font-size:clamp(36px,4.4vw,56px); line-height:1.08;
  margin:0 0 18px; font-weight:500;
}
.sm-final-cta p{
  font-size:18px; color:var(--sm-ink-2); line-height:1.55; font-weight:300; margin:0 0 32px;
}
.sm-final-cta__ctas{
  display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:18px;
}
.sm-final-cta__trust{
  font-size:12px; color:var(--sm-ink-3); letter-spacing:.04em;
  display:flex; justify-content:center; gap:12px; flex-wrap:wrap;
}

/* ─── 17. TRUST STRIP ───────────────────────────────────────────────────── */
.sm-trust-strip{
  border-top:1px solid var(--sm-rule); border-bottom:1px solid var(--sm-rule);
  background:var(--sm-bg);
}
.sm-trust-strip__inner{
  max-width:1240px; margin-inline:auto; padding:28px 32px;
  display:grid; grid-template-columns:repeat(5,1fr); gap:32px;
  font-size:11.5px; letter-spacing:.06em; color:var(--sm-ink-3); text-align:center;
}
.sm-trust-strip__inner > div{
  display:flex; align-items:center; gap:10px; justify-content:center;
}

/* ─── 18. FOOTER ────────────────────────────────────────────────────────── */
.sm-footer{
  padding:64px 0 40px; background:var(--sm-paper);
  color:var(--sm-ink-2); border-top:1px solid var(--sm-rule);
}
.sm-footer__inner{
  max-width:1240px; margin-inline:auto; padding-inline:32px;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:48px;
}
.sm-footer h4{
  font-family:var(--sm-font-sans);
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--sm-ink-3); margin:0 0 18px; font-weight:500;
}
.sm-footer ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px }
.sm-footer a{ font-size:13.5px; color:var(--sm-ink-2) }
.sm-footer a:hover{ color:var(--sm-ink) }
.sm-footer p{ font-size:13px; color:var(--sm-ink-3); max-width:36ch; line-height:1.6 }
.sm-footer__bottom{
  max-width:1240px; margin:48px auto 0; padding:24px 32px 0;
  border-top:1px solid var(--sm-rule);
  display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  font-size:12px; color:var(--sm-ink-3);
}

/* ─── 19. MOBILE STICKY BAR (optional) ──────────────────────────────────── */
.sm-mobile-sticky{
  display:none;
  position:fixed; bottom:0; inset-inline:0;
  z-index:50;
  gap:8px; padding:10px 12px;
  background:color-mix(in oklab, var(--sm-bg) 92%, transparent);
  backdrop-filter:saturate(1.4) blur(14px);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  border-top:1px solid var(--sm-rule);
}
.sm-mobile-sticky button,
.sm-mobile-sticky a{
  flex:1; min-height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  padding:11px; font-size:12.5px; font-weight:500;
  border-radius:2px; border:1px solid var(--sm-ink-2);
  background:transparent; color:var(--sm-ink-2);
  font-family:inherit; letter-spacing:.02em;
}
.sm-mobile-sticky a.is-solid,
.sm-mobile-sticky button.is-solid{ background:var(--sm-ink-2); color:var(--sm-on-dark) }

/* ─── 20. RESPONSIVE ────────────────────────────────────────────────────── */
@media (max-width: 959px){
  .sm-hero__layout{ grid-template-columns:1fr; gap:40px }
  .sm-hero__visual{ aspect-ratio:4/3; order:-1 }
  .sm-intro__grid{ grid-template-columns:1fr; gap:32px }
  .sm-intro__vrule{ display:none }
  .sm-affiliate-box{ grid-template-columns:1fr }
  .sm-affiliate-box__visual{
    border-inline-end:0; border-bottom:1px solid var(--sm-rule);
  }
  .sm-affiliate-grid{ grid-template-columns:1fr }
  .sm-private-travel-lead__inner{ grid-template-columns:1fr; gap:40px }
  .sm-footer__inner{ grid-template-columns:1fr 1fr; gap:32px }
  .sm-trust-strip__inner{ grid-template-columns:repeat(2,1fr); text-align:start; gap:14px }
  .sm-comparison-table thead th{ font-size:18px }
  .sm-comparison-table th,
  .sm-comparison-table td{ padding:14px }
  .sm-comparison-table tbody th{ width:120px; font-size:10px }
  .sm-nav{ display:none }
  .sm-container,
  .sm-reading{ padding-inline:20px }
  .sm-article-header__inner{ padding:14px 20px; gap:12px }
  .sm-related-links__grid{ grid-template-columns:1fr; gap:36px }
  .sm-quick-answer__list{ grid-template-columns:1fr }
  .sm-editorial-note{ flex-direction:column; gap:8px }
  .sm-editorial-note__label{ width:auto }
  .sm-breadcrumb__inner{ padding-inline:20px; font-size:11px }
  .sm-language-switcher__label{ display:none }
  .sm-mobile-sticky{ display:flex }
}

@media (max-width: 599px){
  .sm-hero{ padding:32px 0 16px }
  .sm-hero-title{ font-size:clamp(34px, 9vw, 48px) }
  .sm-content{ padding:64px 0 48px }
  .sm-section-title{ font-size:28px; margin-top:36px }
  .sm-private-travel-lead{ padding:64px 0 }
  .sm-private-travel-lead__form{ padding:24px }
  .sm-final-cta{ padding:64px 0 }
  .sm-related-links,
  .sm-faq{ padding:64px 0 }
  .sm-pull{ font-size:20px }
}

/* ─── 21. RTL ADJUSTMENTS ───────────────────────────────────────────────── */
[dir="rtl"] .sm-intro__quote{ padding-inline-start:0; padding-inline-end:28px }
[dir="rtl"] .sm-intro__quote::before{ inset-inline-start:auto; inset-inline-end:-4px }
[dir="rtl"] .sm-final-cta__trust,
[dir="rtl"] .sm-hero__trust{ direction:rtl }

/* ─── 22. PRINT ─────────────────────────────────────────────────────────── */
@media print{
  .sm-article-header, .sm-mobile-sticky, .sm-language-switcher{ display:none }
  .sm-hero__visual{ break-inside:avoid }
  body{ background:#fff }
}

/* ─── 23. REDUCED MOTION ────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important; animation-iteration-count:1 !important;
    transition-duration:.01ms !important; scroll-behavior:auto !important;
  }
}
