/* ==========================================================================
   EOS Implementer location pages — modern reading layout.
   Content is 1:1 from the original pages (rendered via reyan_content body);
   this only restyles it. Uses site-wide --rf-* tokens.
   ========================================================================== */
.eos-page { background: #fff; color: var(--rf-ink); font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
.eos-page .container { width: min(1180px, 92%); margin-inline: auto; }

/* ---------- Hero (dark, centered, location background image) ---------- */
.eos-hero { position: relative; overflow: hidden; color: #fff; text-align: center;
  padding: 150px 0 100px; background: #141416; }
.eos-hero::before { content: ""; position: absolute; inset: 0; z-index: 0;
  background-image: var(--eos-bg, url("../img/contact-bg.webp"));
  background-position: center; background-size: cover; background-repeat: no-repeat; transform: scale(1.05); }
.eos-hero::after { content: ""; position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(180deg, rgba(15,15,17,.6), rgba(15,15,17,.8)),
    linear-gradient(105deg, rgba(18,18,20,.9) 0%, rgba(18,18,20,.55) 55%, rgba(244,123,32,.3) 100%); }
.eos-hero > .container { position: relative; z-index: 2; }
.eos-hero__eyebrow { text-transform: uppercase; letter-spacing: .24em; font-size: .78rem;
  font-weight: 700; color: var(--rf-orange-2); margin-bottom: 18px; }
.eos-hero h1 { font-family: "Sora", sans-serif; font-size: clamp(2.2rem, 4.8vw, 3.4rem);
  font-weight: 800; line-height: 1.1; letter-spacing: -.02em; max-width: 22ch; margin-inline: auto; }
.eos-hero__line { display: block; width: 64px; height: 4px; border-radius: 4px; margin: 24px auto 0;
  background: linear-gradient(120deg, var(--rf-orange), var(--rf-orange-2)); }
.eos-hero__btn { display: inline-flex; align-items: center; gap: 10px; margin-top: 32px; font-weight: 700;
  padding: 15px 34px; border-radius: 999px; color: #fff;
  background: linear-gradient(120deg, var(--rf-orange), var(--rf-orange-2));
  box-shadow: 0 16px 36px -12px rgba(244,123,32,.8); transition: transform .3s var(--rf-ease), box-shadow .3s; }
.eos-hero__btn:hover { transform: translateY(-3px); box-shadow: 0 24px 48px -12px rgba(244,123,32,.95); }

/* nav rides transparent over the dark hero */
body.eos-page-hero .rf-nav { position: fixed; }
body.eos-page-hero .rf-nav:not(.rf-scrolled) { background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
body.eos-page-hero .rf-nav:not(.rf-scrolled) .rf-brand__logo { filter: brightness(0) invert(1); }
body.eos-page-hero .rf-nav:not(.rf-scrolled) .rf-nav__links a { color: rgba(255,255,255,.92); }
body.eos-page-hero .rf-nav:not(.rf-scrolled) .rf-nav__toggle span { background: #fff; }

/* ---------- Body: lead + section cards ---------- */
.eos-body { padding: 50px 0 20px; }
.eos-content { font-size: 1.05rem; line-height: 1.8; color: #34343c; }

/* lead = everything before the first section heading */
.eos-lead { max-width: none; margin: 0 0 38px; text-align: left; }
.eos-lead h1 { font-family: "Sora", sans-serif; font-size: clamp(1.95rem, 3.7vw, 2.7rem); line-height: 1.14;
  letter-spacing: -.02em; color: var(--rf-ink); margin: 0 0 .55em; }
.eos-lead h2 { font-family: "Sora", sans-serif; font-size: clamp(1.5rem, 2.7vw, 2.1rem); line-height: 1.18;
  color: var(--rf-ink); margin: .2em 0 .5em; }
.eos-lead h1 strong, .eos-lead h2 strong { font-weight: 800; }
.eos-lead p, .eos-lead div { color: var(--rf-muted); font-size: 1.1rem; line-height: 1.7; margin: 0 0 .7em; }
.eos-lead > *:last-child { margin-bottom: 0; }

/* sections — clean flow (no cards), thin divider between */
.eos-sections { display: block; }
.eos-sec { position: relative; padding: 42px 0; border-top: 1px solid #ededed; }
.eos-sections > .eos-sec:first-child { border-top: 0; padding-top: 6px; }
.eos-sec h3 { position: relative; font-family: "Sora", sans-serif; font-size: clamp(1.35rem, 2.3vw, 1.7rem);
  line-height: 1.25; color: var(--rf-ink); margin: 0 0 .75em; padding-left: 18px; }
.eos-sec h3::before { content: ""; position: absolute; left: 0; top: .12em; bottom: .12em; width: 4px;
  border-radius: 4px; background: linear-gradient(var(--rf-orange), var(--rf-orange-2)); }
.eos-sec h3 strong { font-weight: 800; }
.eos-sec p, .eos-sec > div { margin-bottom: 1em; }
.eos-sec p:last-child, .eos-sec > div:last-child { margin-bottom: 0; }
.eos-sec strong { color: var(--rf-ink); }
.eos-sec a { color: var(--rf-orange); text-decoration: underline; text-underline-offset: 3px; }

/* check lists — clean filled orange check bullets, multi-column */
.eos-sec ul { list-style: none; padding: 0; margin: 1em 0 1.3em;
  display: grid; gap: 13px; grid-template-columns: 1fr; }
.eos-sec ul li { position: relative; padding-left: 38px; line-height: 1.55; color: #44444c; }
.eos-sec ul li::before { content: ""; position: absolute; left: 0; top: .1em; width: 24px; height: 24px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 13px no-repeat,
    linear-gradient(135deg, var(--rf-orange), var(--rf-orange-2));
  box-shadow: 0 6px 14px -4px rgba(244,123,32,.65); }

/* ---------- Document layout (What is EOS — mixed headings + inline images) ---------- */
.eos-doc { font-size: 1.05rem; line-height: 1.8; color: #34343c; }
.eos-doc > *:first-child { margin-top: 0; }
.eos-doc h1 { font-family: "Sora", sans-serif; font-size: clamp(1.8rem, 3.4vw, 2.5rem); line-height: 1.16;
  letter-spacing: -.02em; color: var(--rf-ink); margin: 1.1em 0 .5em; }
.eos-doc > h1:first-child { margin-top: 0; }
.eos-doc h2 { position: relative; font-family: "Sora", sans-serif; font-size: clamp(1.4rem, 2.5vw, 1.85rem);
  line-height: 1.22; color: var(--rf-ink); margin: 1.9em 0 .55em; padding-left: 18px; }
.eos-doc h2::before { content: ""; position: absolute; left: 0; top: .12em; bottom: .12em; width: 4px;
  border-radius: 4px; background: linear-gradient(var(--rf-orange), var(--rf-orange-2)); }
.eos-doc h3 { font-family: "Sora", sans-serif; font-size: 1.2rem; line-height: 1.3; color: var(--rf-ink); margin: 1.4em 0 .4em; }
.eos-doc h1 strong, .eos-doc h2 strong, .eos-doc h3 strong { font-weight: 800; }
.eos-doc p, .eos-doc div { margin-bottom: 1em; }
.eos-doc strong { color: var(--rf-ink); }
.eos-doc a { color: var(--rf-orange); text-decoration: underline; text-underline-offset: 3px; }
.eos-doc img { display: block; max-width: min(100%, 720px); height: auto; margin: 2.2em auto;
  border-radius: 18px; }
.eos-doc ul { list-style: none; padding: 0; margin: 1em 0 1.3em; display: grid; gap: 13px; grid-template-columns: 1fr; }
.eos-doc ul li { position: relative; padding-left: 38px; line-height: 1.55; color: #44444c; }
.eos-doc ul li::before { content: ""; position: absolute; left: 0; top: .1em; width: 24px; height: 24px;
  border-radius: 50%;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center / 13px no-repeat,
    linear-gradient(135deg, var(--rf-orange), var(--rf-orange-2));
  box-shadow: 0 6px 14px -4px rgba(244,123,32,.65); }

/* ---------- Legal page header (Privacy Policy) ---------- */
.eos-legalhead { padding: 64px 0 4px; }
.eos-legalhead h1 { font-family: "Sora", sans-serif; font-size: clamp(2rem, 4vw, 3rem); font-weight: 800;
  letter-spacing: -.02em; color: var(--rf-ink); }
.eos-legalhead h1::after { content: ""; display: block; width: 64px; height: 4px; border-radius: 4px;
  margin-top: 18px; background: linear-gradient(120deg, var(--rf-orange), var(--rf-orange-2)); }

/* ---------- Closing CTA ---------- */
.eos-cta { margin: 30px 0 0; }
.eos-cta__inner { background: radial-gradient(120% 140% at 85% 0%, #2f2f33, #161618);
  color: #fff; border-radius: 26px; padding: 56px; text-align: center; overflow: hidden; position: relative; }
.eos-cta__inner::before { content: ""; position: absolute; top: -90px; right: -60px; width: 320px; height: 320px;
  border-radius: 50%; background: radial-gradient(circle at 30% 30%, rgba(244,123,32,.55), transparent 62%); }
.eos-cta h2 { position: relative; font-family: "Sora", sans-serif; font-size: clamp(1.6rem, 3vw, 2.2rem); margin-bottom: 10px; }
.eos-cta p { position: relative; color: rgba(255,255,255,.7); max-width: 540px; margin: 0 auto 26px; }
.eos-cta__btn { position: relative; display: inline-flex; align-items: center; gap: 10px; font-weight: 700;
  padding: 15px 34px; border-radius: 999px; color: #fff;
  background: linear-gradient(120deg, var(--rf-orange), var(--rf-orange-2));
  box-shadow: 0 14px 32px -12px rgba(244,123,32,.8); transition: transform .3s var(--rf-ease), box-shadow .3s; }
.eos-cta__btn:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -12px rgba(244,123,32,.9); }
.eos-cta-wrap { padding: 40px 0 96px; }

@media (max-width: 640px) {
  .eos-hero { padding: 76px 0 42px; }
  .eos-cta__inner { padding: 40px 26px; }
}
