:root {
  --navy: #061b35;
  --navy-2: #0b2e56;
  --blue: #0c4d83;
  --gold: #e4b84b;
  --gold-soft: #f5dd91;
  --ivory: #f8f4ea;
  --paper: #fffdf8;
  --ink: #10233e;
  --muted: #596879;
  --line: rgba(16, 35, 62, .14);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.6; }
a { color: inherit; }
img { max-width: 100%; display: block; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; padding: .7rem 1rem; background: white; color: var(--navy); }
.skip-link:focus { top: 1rem; }

.site-header { height: 86px; padding: 0 clamp(1rem, 4vw, 4.5rem); display: flex; align-items: center; gap: 2rem; justify-content: space-between; background: rgba(255, 253, 248, .96); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(14px); }
.brand { display: flex; gap: .8rem; align-items: center; text-decoration: none; min-width: max-content; }
.brand img { width: 58px; height: 58px; border-radius: 50%; box-shadow: 0 6px 22px rgba(6, 27, 53, .12); }
.brand span { display: grid; line-height: 1.05; }
.brand strong { font-family: var(--serif); letter-spacing: .12em; font-size: .92rem; }
.brand small { margin-top: .35rem; color: #31557d; letter-spacing: .22em; }
nav { display: flex; gap: clamp(1rem, 2.6vw, 2.4rem); margin-left: auto; }
nav a { text-decoration: none; font-size: .9rem; font-weight: 650; }
nav a:hover, nav a:focus-visible { color: #8d6717; }
.language-switcher { display: flex; gap: .3rem; padding-left: 1rem; border-left: 1px solid var(--line); }
.lang-link { padding: .34rem .48rem; border-radius: 99px; text-decoration: none; font-size: .72rem; font-weight: 800; color: var(--muted); }
.lang-link.active, .lang-link:hover { background: var(--navy); color: white; }
[dir="rtl"] .hero-overlay { background: linear-gradient(270deg, rgba(2, 13, 29, .92) 0%, rgba(4, 26, 51, .80) 42%, rgba(4, 22, 40, .18) 74%, rgba(4, 22, 40, .05)); }
[dir="rtl"] .lead { border-left: 0; border-right: 2px solid var(--gold); padding-left: 0; padding-right: 1.5rem; }

.hero { min-height: calc(100svh - 86px); position: relative; isolation: isolate; background: var(--navy); display: grid; align-items: center; overflow: hidden; }
.hero-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(2, 13, 29, .92) 0%, rgba(4, 26, 51, .80) 42%, rgba(4, 22, 40, .18) 74%, rgba(4, 22, 40, .05)); }
.hero-content { padding: 7rem clamp(1.4rem, 6vw, 7rem) 9rem; width: min(790px, 62vw); color: white; }
.eyebrow, .kicker { color: var(--gold); font-size: .76rem; letter-spacing: .18em; font-weight: 850; text-transform: uppercase; margin: 0 0 1.2rem; }
.hero h1 { font-family: var(--serif); font-weight: 500; font-size: clamp(3rem, 6.6vw, 6.7rem); line-height: .98; letter-spacing: -.03em; margin: 0; text-wrap: balance; }
.hero-copy { max-width: 700px; margin: 2rem 0 0; font-size: clamp(1.02rem, 1.5vw, 1.25rem); color: rgba(255,255,255,.82); }
.hero-actions { display: flex; gap: .8rem; flex-wrap: wrap; margin-top: 2.2rem; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: .75rem 1.3rem; border-radius: 3px; font-weight: 800; font-size: .85rem; text-decoration: none; letter-spacing: .04em; }
.button-gold { background: linear-gradient(135deg, var(--gold-soft), var(--gold)); color: #16243a; box-shadow: 0 12px 30px rgba(228,184,75,.22); }
.button-gold:hover { filter: brightness(1.07); transform: translateY(-1px); }
.button-ghost { border: 1px solid rgba(255,255,255,.42); color: white; background: rgba(5,27,53,.28); }
.signals { position: absolute; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(3, 19, 39, .82); color: white; border-top: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(10px); }
.signals span { padding: 1.3rem 1rem; text-align: center; font-family: var(--serif); border-right: 1px solid rgba(255,255,255,.14); }

.section { padding: clamp(5rem, 8vw, 9rem) clamp(1.4rem, 7vw, 8rem); }
.intro { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.section-heading h2, .global-band h2, .contact-intro h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.4rem, 4.7vw, 5rem); line-height: 1.05; font-weight: 500; letter-spacing: -.025em; text-wrap: balance; }
.section-heading.wide { max-width: 820px; }
.section-heading > p:not(.kicker), .global-band p, .contact-intro p { color: var(--muted); font-size: 1.05rem; }
.lead { margin: 0; color: #34475f; font-size: clamp(1.08rem, 1.6vw, 1.3rem); border-left: 2px solid var(--gold); padding-left: 1.5rem; }
.pain-section { padding: clamp(5rem, 8vw, 8rem) clamp(1.4rem, 7vw, 8rem); color: white; background: linear-gradient(135deg, #04152b 0%, #0b3158 100%); display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: clamp(3rem, 7vw, 7rem); align-items: start; }
.pain-heading { position: sticky; top: 120px; }
.pain-heading h2 { margin: 0; font-family: var(--serif); font-weight: 500; font-size: clamp(2.5rem, 4.4vw, 4.6rem); line-height: 1.04; text-wrap: balance; }
.pain-heading > p:not(.kicker) { color: rgba(255,255,255,.7); font-size: 1.05rem; }
.pain-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid rgba(255,255,255,.16); border-left: 1px solid rgba(255,255,255,.16); }
.pain-card { min-height: 180px; padding: 1.5rem; border-right: 1px solid rgba(255,255,255,.16); border-bottom: 1px solid rgba(255,255,255,.16); }
.pain-card h3 { margin: 0 0 .7rem; color: var(--gold-soft); font-family: var(--serif); font-size: 1.2rem; }
.pain-card p { margin: 0; color: rgba(255,255,255,.68); font-size: .92rem; }
.services { background: var(--ivory); }
.service-grid { margin-top: 3.4rem; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { padding: 2rem; min-height: 240px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.54); }
.service-card span { color: #9d7621; font-weight: 850; font-size: .75rem; letter-spacing: .1em; }
.service-card h3, .process-card h3 { margin: 3rem 0 .7rem; font-family: var(--serif); font-size: 1.45rem; font-weight: 600; }
.service-card p, .process-card p { color: var(--muted); margin: 0; }
.search-intent { background: #fff; }
.search-list { list-style: none; padding: 0; margin: 3rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line); }
.search-list li { padding: 1.25rem 0; display: grid; grid-template-columns: minmax(210px,.75fr) 1fr; gap: 1.5rem; border-bottom: 1px solid var(--line); }
.search-list strong { font-family: var(--serif); font-size: 1.08rem; color: var(--navy-2); }
.search-list span { color: var(--muted); font-size: .92rem; }
.process { background: white; }
.process-grid { margin-top: 3rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.3rem; }
.process-card { padding: 2.3rem; background: var(--navy); color: white; min-height: 280px; }
.process-card b { color: var(--gold); font-family: var(--serif); font-size: 2.5rem; font-weight: 400; }
.process-card p { color: rgba(255,255,255,.68); }
.global-band { padding: clamp(4rem, 7vw, 7rem) clamp(1.4rem, 7vw, 8rem); background: linear-gradient(120deg, #06182e, #0b3e6c); color: white; display: grid; grid-template-columns: 1fr auto; gap: 3rem; align-items: end; }
.global-band > div { max-width: 900px; }
.global-band p:not(.kicker) { color: rgba(255,255,255,.72); max-width: 780px; }
.platform-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; margin-top: 3rem; }
.platform-card { min-height: 110px; padding: 1.2rem; border: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; text-decoration: none; position: relative; background: white; }
.platform-card .priority { color: #a47a1f; font-family: var(--serif); font-size: 1.5rem; }
.platform-card strong { font-size: 1rem; }
.platform-card em { font-size: .7rem; font-style: normal; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); }
.platform-card i { position: absolute; right: .7rem; top: .4rem; color: #a47a1f; }
.platform-card.live:hover { border-color: var(--gold); transform: translateY(-2px); box-shadow: 0 14px 30px rgba(6,27,53,.08); }
.platform-card.pending { background: #f4f1e9; color: #79828c; }
.contact-section { margin: 0 clamp(1rem, 4vw, 4rem) 4rem; padding: clamp(3rem, 6vw, 6rem); display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); background: #edf2f5; }
.contact-list { margin: 0; display: grid; }
.contact-list div { padding: 1rem 0; border-bottom: 1px solid var(--line); }
.contact-list dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; color: #8a6a24; font-weight: 850; }
.contact-list dd { margin: .35rem 0 0; font-size: 1rem; }
.contact-list a { text-underline-offset: .2em; }
footer { background: #031429; color: rgba(255,255,255,.72); padding: 2rem clamp(1.4rem, 6vw, 6rem); display: flex; align-items: center; gap: 1rem; font-size: .76rem; }
footer img { border-radius: 50%; }
.footer-meta { margin-left: auto; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; justify-content: flex-end; }
.footer-meta a { color: rgba(255,255,255,.82); text-underline-offset: .2em; }
.policy-header { position: static; }
.policy-home { margin-left: auto; font-weight: 750; text-decoration: none; color: var(--navy-2); }
.legal-page { width: min(1040px, calc(100% - 2.4rem)); margin: 0 auto; padding: clamp(3.5rem, 7vw, 7rem) 0; }
.legal-hero { max-width: 850px; padding-bottom: 2.5rem; border-bottom: 1px solid var(--line); }
.legal-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(3rem, 7vw, 6rem); font-weight: 500; line-height: 1; }
.legal-hero > p:not(.kicker) { color: var(--muted); font-size: 1.08rem; }
.legal-page section { padding: 3rem 0; border-bottom: 1px solid var(--line); }
.legal-page section h2 { margin: 2.6rem 0 .8rem; font-family: var(--serif); font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 600; }
.legal-page section h2:first-child { margin-top: 0; }
.legal-page section p { max-width: 880px; color: #34475f; }
.legal-facts { margin: 1.5rem 0 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.legal-facts div { padding: 1rem 1.2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.legal-facts dt { color: #8a6a24; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.legal-facts dd { margin: .35rem 0 0; }
.legal-updated { margin: 2rem 0 0; color: var(--muted); font-size: .82rem; }

@media (max-width: 960px) {
  nav { display: none; }
  .site-header { gap: .8rem; }
  .hero-content { width: min(760px, 86vw); }
  .service-grid, .platform-grid { grid-template-columns: repeat(2, 1fr); }
  .search-list { grid-template-columns: 1fr; }
  .intro, .contact-section { grid-template-columns: 1fr; }
  .pain-section { grid-template-columns: 1fr; }
  .pain-heading { position: static; }
}

@media (max-width: 640px) {
  .site-header { height: 74px; padding-inline: .8rem; }
  .brand img { width: 48px; height: 48px; }
  .brand strong { font-size: .7rem; }
  .brand small { font-size: .58rem; }
  .language-switcher { gap: .05rem; padding-left: .3rem; }
  .lang-link { padding: .3rem; }
  .hero { min-height: 840px; background-position: 66% center; }
  .hero-overlay { background: linear-gradient(180deg, rgba(2,13,29,.86), rgba(4,26,51,.76) 60%, rgba(4,22,40,.38)); }
  .hero-content { width: 100%; padding: 5rem 1.3rem 11rem; align-self: start; }
  .hero h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .signals { grid-template-columns: repeat(2, 1fr); }
  .signals span { border-bottom: 1px solid rgba(255,255,255,.14); }
  .section { padding: 4.5rem 1.2rem; }
  .service-grid, .process-grid, .platform-grid { grid-template-columns: 1fr; }
  .search-list li { grid-template-columns: 1fr; gap: .35rem; }
  .pain-grid { grid-template-columns: 1fr; }
  .global-band { grid-template-columns: 1fr; padding: 4rem 1.2rem; }
  .contact-section { margin: 0; padding: 4rem 1.2rem; }
  footer { flex-wrap: wrap; }
  .footer-meta { margin-left: 0; width: 100%; justify-content: flex-start; }
  .legal-facts { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
  .button, .platform-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, filter .2s ease; }
}
