/* ══════════════════════════════════════════════════════════════════
   Server-rendered SEO pages — layer over rihla-ds.css.

   No colour is declared here that isn't a Brand Kit token, so these
   pages re-skin with the rest of the platform from one file. Gold is
   a fill for the single CTA; small gold text uses --gold-800.
   ══════════════════════════════════════════════════════════════════ */

.seo-body{background:var(--sand-50);color:var(--ink-700)}
.seo-body main{padding-bottom:var(--rk-s8)}
.rk-wrap{max-width:1120px;margin-inline:auto;padding-inline:var(--rk-s4)}

/* ── nav ─────────────────────────────────────────────────────── */
.seo-nav{background:var(--nile-900);color:#fff;position:sticky;top:0;z-index:20}
.seo-nav__in{display:flex;align-items:center;gap:var(--rk-s5);
  min-height:var(--rk-nav-h);flex-wrap:wrap}
.seo-nav .brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.seo-nav .brand__pin svg{width:38px;height:38px;display:block}
.brand__tx{font-family:var(--rk-f-head);font-weight:700;font-size:19px;line-height:1.1}
.brand__tx small{display:block;font-size:10.5px;font-weight:400;opacity:.72;letter-spacing:.4px}
.seo-nav__links{display:flex;gap:var(--rk-s5);margin-inline-start:auto;flex-wrap:wrap}
.seo-nav__links a{color:#fff;opacity:.88;text-decoration:none;font-size:14.5px}
.seo-nav__links a:hover{opacity:1;text-decoration:underline}

/* ── breadcrumbs ─────────────────────────────────────────────── */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding-block:var(--rk-s3);font-size:13px;color:var(--rk-muted)}
.crumbs a{color:var(--lapis-600);text-decoration:none}
.crumbs a:hover{text-decoration:underline}
.crumbs i{opacity:.5;font-style:normal}

/* ── hero / lede ─────────────────────────────────────────────── */
.hero-s{padding-block:var(--rk-s5) var(--rk-s4)}
.hero-s h1{font-size:var(--rk-t-h1);color:var(--nile-900);margin:0 0 var(--rk-s3)}
.lede{font-size:17px;line-height:1.85;max-width:70ch;margin:0}
.price-lg{font-family:var(--rk-f-head);font-size:30px;font-weight:700;
  color:var(--nile-900);margin:var(--rk-s4) 0 var(--rk-s3)}
.price-lg s{font-size:19px;font-weight:400;color:var(--rk-faint);margin-inline-start:10px}
.price-lg small{font-size:15px;font-weight:400;color:var(--rk-muted)}
.badge-v{display:inline-block;background:var(--gold-50);color:var(--gold-800);
  border:1px solid var(--rk-gold-line);border-radius:var(--rk-r-pill);
  padding:6px 16px;font-size:13.5px;font-weight:600;margin-top:var(--rk-s3)}
.notice{background:var(--gold-50);border:1px solid var(--rk-gold-line);
  color:var(--gold-800);border-radius:var(--rk-r-lg);padding:var(--rk-s4);
  font-size:14.5px;line-height:1.8;margin-top:var(--rk-s4);max-width:70ch}

/* ── quick facts ─────────────────────────────────────────────── */
.qf{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1px;background:var(--rk-line);border:1px solid var(--rk-line);
  border-radius:var(--rk-r-lg);overflow:hidden;margin-block:var(--rk-s5)}
.qf__i{background:var(--rk-surface);padding:var(--rk-s4);min-width:0}
.qf__i dt{font-size:12.5px;color:var(--rk-muted);margin-bottom:4px}
.qf__i dd{margin:0;font-family:var(--rk-f-head);font-weight:600;
  font-size:15px;color:var(--nile-900);overflow-wrap:anywhere}

/* ── sections ────────────────────────────────────────────────── */
.seo-body main h2{font-size:var(--rk-t-h2);color:var(--nile-900);
  margin:var(--rk-s6) 0 var(--rk-s4)}
.prose p{max-width:72ch;line-height:1.9;margin-block:var(--rk-s3)}
.empty{color:var(--rk-muted);background:var(--rk-surface);
  border:1px dashed var(--rk-line-2);border-radius:var(--rk-r-lg);
  padding:var(--rk-s5);max-width:72ch;line-height:1.85}

/* ── service grid ────────────────────────────────────────────── */
.sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--rk-s3)}
.sg__i{display:block;background:var(--rk-surface);border:1px solid var(--rk-line);
  border-radius:var(--rk-r-lg);padding:var(--rk-s4);text-decoration:none;
  color:var(--nile-900);transition:border-color var(--rk-dur) var(--rk-ease),
  box-shadow var(--rk-dur) var(--rk-ease);min-width:0}
.sg__i:hover{border-color:var(--lapis-600);box-shadow:var(--rk-sh-2)}
.sg__i b{display:block;font-family:var(--rk-f-head);font-size:15px}
.sg__i small{display:block;color:var(--rk-muted);font-size:12.5px;margin-top:4px}
.sg__i.is-soon{opacity:.62}
.sg__i.is-soon small{color:var(--gold-800)}

/* ── cards ───────────────────────────────────────────────────── */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--rk-s4)}
.ac,.tc{background:var(--rk-surface);border:1px solid var(--rk-line);
  border-radius:var(--rk-r-lg);padding:var(--rk-s4);min-width:0}
.ac h3,.tc h3{font-size:16.5px;margin:0 0 6px;line-height:1.5}
.ac h3 a,.tc h3 a{color:var(--nile-900);text-decoration:none}
.ac h3 a:hover,.tc h3 a:hover{color:var(--lapis-600);text-decoration:underline}
.ac__loc,.ac__svc,.tc__meta{font-size:13px;color:var(--rk-muted);margin:0 0 6px}
.ac__v{color:var(--gold-800)}
.ac__rate{font-size:13.5px;color:var(--gold-800);font-weight:600}
.ac__rate small{color:var(--rk-muted);font-weight:400;margin-inline-start:6px}
.ac__norate{font-size:12.5px;color:var(--rk-faint)}
.tc__price{font-family:var(--rk-f-head);font-weight:700;font-size:18px;
  color:var(--nile-900);margin:8px 0 0}

/* ── chips, includes ─────────────────────────────────────────── */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.chips span{background:var(--lapis-100);color:var(--nile-800);
  border-radius:var(--rk-r-pill);padding:6px 14px;font-size:13px}
.incls{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--rk-s5)}
.incl{min-width:0}
.incl h3{font-size:17px;color:var(--nile-900);margin:var(--rk-s5) 0 var(--rk-s3)}
.incl ul{margin:0;padding-inline-start:20px;line-height:2}

/* ── reviews ─────────────────────────────────────────────────── */
.rvs{display:grid;gap:var(--rk-s4)}
.rv{background:var(--rk-surface);border:1px solid var(--rk-line);
  border-radius:var(--rk-r-lg);padding:var(--rk-s4);min-width:0}
.rv__h{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 8px}
.rv__s{color:var(--gold-600);letter-spacing:2px}
.rv__h time{color:var(--rk-faint);font-size:12.5px}
.rv__t{margin:0;line-height:1.85}
.rv__trip{font-size:12.5px;color:var(--rk-muted);margin:8px 0 0}
.rv__r{background:var(--rk-surface-2);border-inline-start:3px solid var(--gold-500);
  border-radius:var(--rk-r-sm);padding:10px 14px;margin:10px 0 0;font-size:14px}

/* ── plans ───────────────────────────────────────────────────── */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:var(--rk-s5);align-items:start}
.plan{background:var(--rk-surface);border:1px solid var(--rk-line);
  border-radius:var(--rk-r-xl);padding:var(--rk-s5);min-width:0}
.plan--best{border-color:var(--gold-500);box-shadow:var(--rk-sh-2)}
.plan__badge{display:inline-block;background:var(--gold-50);color:var(--gold-800);
  border-radius:var(--rk-r-pill);padding:5px 14px;font-size:12.5px;font-weight:600;margin:0 0 10px}
.plan h2{margin:0 0 var(--rk-s3) !important;font-size:21px}
.plan__p{font-family:var(--rk-f-head);font-size:28px;font-weight:700;
  color:var(--nile-900);margin:0 0 var(--rk-s4)}
.plan__p small{font-size:15px;font-weight:400;color:var(--rk-muted);margin-inline-start:6px}
.plan ul{margin:0 0 var(--rk-s5);padding-inline-start:20px;line-height:2.1}
.pending{font-size:16px;font-weight:600;color:var(--gold-800)}

/* ── pillars, cta, faq, forms ────────────────────────────────── */
.pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--rk-s5)}
.pillars article{min-width:0}
.pillars h2{margin-top:0 !important;font-size:19px}
.cta-band{background:var(--nile-900);color:#fff;border-radius:var(--rk-r-xl);
  padding:var(--rk-s6);margin-top:var(--rk-s6);text-align:center}
.cta-band h2{color:#fff;margin-top:0 !important}
.cta-band p{opacity:.85;margin-bottom:var(--rk-s5)}
.faq details{background:var(--rk-surface);border:1px solid var(--rk-line);
  border-radius:var(--rk-r-lg);padding:var(--rk-s4);margin-bottom:var(--rk-s3)}
.faq summary{font-family:var(--rk-f-head);font-weight:600;font-size:16px;
  color:var(--nile-900);cursor:pointer}
.faq details p{margin:var(--rk-s3) 0 0;line-height:1.9;color:var(--ink-700)}
.notify,.searchbox{background:var(--rk-surface);border:1px solid var(--rk-line);
  border-radius:var(--rk-r-xl);padding:var(--rk-s5);margin-top:var(--rk-s6);max-width:560px}
.notify h2,.searchbox h2{margin-top:0 !important}
.rk-field{display:block;margin-bottom:var(--rk-s4)}
.rk-field span{display:block;font-size:13px;color:var(--rk-muted);margin-bottom:6px}
.rk-field input{width:100%;box-sizing:border-box;padding:12px 14px;font:inherit;
  border:1px solid var(--rk-line-2);border-radius:var(--rk-r);background:#fff}
.rk-field input:focus-visible{outline:3px solid var(--lapis-600);outline-offset:1px}
.contact-list{line-height:2.2;padding-inline-start:20px}
.contact-list a{color:var(--lapis-600)}

/* ── footer ──────────────────────────────────────────────────── */
.seo-foot{background:var(--nile-900);color:#fff;margin-top:var(--rk-s8);
  padding-block:var(--rk-s7) var(--rk-s5)}
.seo-foot__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:var(--rk-s5)}
.seo-foot__grid>div{min-width:0}
.seo-foot h3{font-family:var(--rk-f-head);font-size:15px;color:var(--gold-500);
  margin:0 0 var(--rk-s3)}
.seo-foot a{display:block;color:#fff;opacity:.8;text-decoration:none;
  font-size:14px;padding-block:5px}
.seo-foot a:hover{opacity:1;text-decoration:underline}
.seo-foot__law{max-width:1120px;margin:var(--rk-s6) auto 0;padding-inline:var(--rk-s4);
  font-size:13px;opacity:.7;line-height:1.9}
.seo-foot__law small{font-size:12px;opacity:.85}

/* ── mobile ──────────────────────────────────────────────────── */
@media (max-width:640px){
  .seo-nav__in{gap:var(--rk-s3);padding-block:10px}
  .seo-nav__links{width:100%;order:3;margin-inline-start:0;gap:var(--rk-s4);
    overflow-x:auto;padding-bottom:4px}
  .seo-nav__links a{white-space:nowrap}
  .hero-s h1{font-size:24px}
  .lede{font-size:15.5px}
  .cta-band{padding:var(--rk-s5) var(--rk-s4)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important}
}
