/* Review-only presentation layer: clear, practical, and image-led. */
:root {
  --review-ink: #173044;
  --review-blue: #1d609f;
  --review-blue-dark: #164d80;
  --review-copy: #4f606b;
  --review-wash: #eef4f7;
  --review-line: #cbd7de;
}

body { color: var(--review-ink); }
.wrap, .service-list, .story-feature { width: min(1180px, 88vw); }

/* Header: hierarchy and contrast, without a decorative navigation shell. */
.site-header, .site-header.solid {
  height: 82px;
  padding: 0 6vw;
  color: var(--review-ink);
  background: rgba(255,255,255,.98);
  border-bottom: 1px solid rgba(23,48,68,.14);
  box-shadow: none;
  backdrop-filter: none;
}
.site-header nav { gap: 24px; }
.site-header nav > a:not(.nav-cta) { padding: 4px 0; color: var(--review-ink); opacity: .72; }
.site-header nav > a.active, .site-header nav > a:hover { color: var(--review-blue-dark); opacity: 1; font-weight: 600; }
.site-header .nav-cta { padding: 12px 16px; border: 1px solid var(--review-blue); border-radius: 2px; color: #fff; background: var(--review-blue); box-shadow: none; }
.site-header .nav-cta:hover { color: #fff; background: var(--review-blue-dark); }
.site-header .brand small { color: #60707a; opacity: 1; }

/* Homepage: one composed entry point, then a measured reading rhythm. */
.hero {
  min-height: 760px;
  padding: 168px 8vw 54px;
  color: var(--review-ink);
  position: relative;
  overflow: hidden;
  background: #edf1f3;
}
.hero::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.96) 40%, rgba(255,255,255,.32) 69%, rgba(255,255,255,.08) 100%); z-index: 1; }
.hero-visual { position: absolute; inset: 0; z-index: 0; }
.hero-visual img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; }
.hero-copy, .hero-metrics { position: relative; z-index: 2; }
.hero-copy { max-width: 640px; }
.hero h1 { margin: 18px 0 24px; font-size: clamp(58px, 7vw, 108px); line-height: .96; letter-spacing: -.055em; }
.hero h1 em { color: var(--review-blue); }
.hero .lede { max-width: 530px; color: var(--review-copy); font-size: 19px; line-height: 1.7; }
.actions { margin-top: 32px; }
.button { min-height: 52px; border-radius: 2px; box-shadow: none; }
.button.blue { background: var(--review-blue); }
.button.blue:hover { background: var(--review-blue-dark); }
.button.outline { color: var(--review-ink); border-color: #80909b; }
.hero-metrics { max-width: 730px; margin-top: 66px; border-top: 1px solid var(--review-line); }
.hero-metrics > div { padding: 18px 18px 0 0; border-right: 0; }
.hero-metrics > div + div { padding-left: 18px; border-left: 1px solid var(--review-line); }
.hero-metrics strong { font-size: 19px; }
.hero-metrics span { color: #61727c; font-size: 11px; }

.intro { padding: 128px 0; }
.intro h2 { max-width: 1030px; margin-bottom: 46px; }
.intro-grid { margin-left: 0; padding-left: 32%; gap: 7vw; }
.intro-grid p { max-width: 400px; color: var(--review-copy); font-size: 17px; line-height: 1.75; }
.eyebrow, .kicker, .mini-title { color: #3e718f; letter-spacing: .10em; }

/* Services are useful at a glance, with consistent, quiet visual cues. */
.services-home { padding: 108px 0; background: var(--review-wash); }
.section-head { margin-bottom: 42px; }
.section-head > p { color: var(--review-copy); font-size: 15px; }
.service-grid { gap: 12px; border: 0; background: transparent; }
.service-grid article {
  min-height: 262px;
  padding: 27px;
  border: 1px solid var(--review-line);
  background: #fff;
  box-shadow: none;
}
.service-grid article:hover { background: #f8fbfc; }
.service-grid article > div { color: var(--review-blue); }
.service-grid i { color: var(--review-blue); font-size: 26px; }
.service-grid h3 { margin: 66px 0 11px; font-size: 22px; }
.service-grid p { max-width: 280px; color: var(--review-copy); font-size: 14px; line-height: 1.65; }
.dark-link { margin-top: 30px; }

.purchase-check, .european-note { width: min(1240px, 92vw); margin: 0 auto; padding: 86px 6vw; background: #e6f0f6; }
.legacy-split { grid-template-columns: 1.25fr .75fr; margin-top: 100px; }
.legacy-copy { padding: 9vw 8vw; background: var(--review-ink); }
.legacy-copy p:not(.eyebrow) { max-width: 520px; font-size: 16px; }
.expertise { padding: 128px 0; gap: 10vw; }
.expertise > div > p:not(.eyebrow) { color: var(--review-copy); font-size: 16px; line-height: 1.75; }
.models { padding: 24px 28px 4px; background: var(--review-wash); }
.models > div > div { grid-template-columns: 40px 1fr auto; }

/* Inner pages have persistent visual anchors through strong page bands and section rhythm. */
.page-hero, .story-hero { padding: 158px 8vw 92px; color: var(--review-ink); background: var(--review-wash); }
.page-hero > p:last-child { max-width: 620px; color: var(--review-copy); font-size: 18px; }
.service-list { margin: auto; padding: 100px 0 118px; }
.service-list article { grid-template-columns: 58px minmax(0,1fr) 150px; gap: 28px; padding: 32px 0; border-top-color: var(--review-line); }
.service-list article:last-child { border-bottom: 1px solid var(--review-line); }
.service-list h2 { font-size: 29px; }
.service-list p { color: var(--review-copy); font-size: 15px; line-height: 1.7; }
.service-list::after { margin-top: 62px; box-shadow: none; }
.generation-section { padding: 112px 0; background: var(--review-wash); }
.generation-section .wrap { width: min(1180px, 88vw); }
.generation-section h2 { max-width: 660px; font: 300 clamp(38px,4.5vw,68px)/1.08 'Manrope'; letter-spacing: -.045em; }
.generation-intro { max-width: 620px; color: var(--review-copy); line-height: 1.7; }
.generation-grid { gap: 0; margin-top: 46px; }
.generation-grid article { min-height: 250px; padding: 26px; border-color: var(--review-line); background: #fff; }
.generation-grid h3 { font-size: 29px; }
.story-feature { grid-template-columns: 1.15fr .85fr; margin: auto; padding: 124px 0; gap: 9vw; }
.story-photo img { box-shadow: none; }
.story-feature p:not(.kicker) { color: var(--review-copy); font-size: 16px; line-height: 1.8; }
.values { padding: 104px 0; background: var(--review-wash); }
.values .wrap > div { gap: 0; }
.values article { padding-right: 34px; border-color: var(--review-line); }
.values article p { color: var(--review-copy); font-size: 15px; }

.visit { width: min(1240px, 92vw); margin: 0 auto 58px; padding: 84px 6vw; color: var(--review-ink); background: #e6f0f6; }
.visit p { color: var(--review-copy); }
.visit-actions .button { min-width: 190px; }
.contact-layout { padding: 116px 0; }
.detail { padding: 28px 0; border-top-color: var(--review-line); }
.detail > span { color: var(--review-blue-dark); }
.booking-form { padding: 54px; background: var(--review-wash); }
.booking-form input, .booking-form textarea { font-size: 16px; }
footer { grid-template-columns: 1.25fr 1fr .75fr; gap: 48px; padding: 70px 7vw 38px; background: var(--review-ink); }

@media (max-width: 800px) {
  .site-header, .site-header.solid { height: 74px; padding: 0 5vw; }
  .site-header nav { top: 74px; gap: 0; padding: 18px 5vw 24px; background: var(--review-ink); box-shadow: none; }
  .site-header nav > a:not(.nav-cta) { width: 100%; padding: 12px 0; color: #fff; opacity: .8; }
  .site-header nav > a.active, .site-header nav > a:hover { color: #fff; opacity: 1; }
  .site-header .nav-cta { width: 100%; margin-top: 12px; text-align: center; }
  .menu { min-width: 58px; min-height: 44px; padding: 0; }
  .hero { min-height: 730px; padding: 136px 7vw 40px; }
  .hero-visual img { object-position: 66% center; }
  .hero::after { background: linear-gradient(90deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.88) 52%, rgba(255,255,255,.2) 100%); }
  .hero h1 { font-size: clamp(51px, 14vw, 68px); }
  .hero .lede { font-size: 17px; }
  .hero-metrics { margin-top: 48px; }
  .hero-metrics > div { padding: 14px 8px 0 0; }
  .hero-metrics > div + div { padding-left: 8px; }
  .hero-metrics strong { font-size: 15px; }
  .intro { padding: 84px 0; }
  .intro-grid { grid-template-columns: 1fr; padding-left: 0; gap: 10px; }
  .services-home { padding: 82px 0; }
  .service-grid { grid-template-columns: 1fr; gap: 0; }
  .service-grid article { min-height: 0; padding: 24px; border-bottom: 0; }
  .service-grid article:last-child { border-bottom: 1px solid var(--review-line); }
  .service-grid h3 { margin: 35px 0 8px; }
  .purchase-check, .european-note, .visit { width: 90vw; padding: 64px 7vw; }
  .legacy-split { grid-template-columns: 1fr; margin-top: 76px; }
  .expertise, .story-feature, .generation-section { grid-template-columns: 1fr; padding: 84px 0; }
  .service-list { width: 88vw; padding: 74px 0 90px; }
  .service-list article { grid-template-columns: 35px 1fr; padding: 27px 0; }
  .service-list article > span { grid-column: 2; }
  .generation-grid { grid-template-columns: 1fr; }
  .values .wrap > div { grid-template-columns: 1fr; }
  .values article { padding-right: 0; }
  .booking-form { padding: 34px 24px; }
  .visit { margin-bottom: 0; }
  .visit-actions .button { width: 100%; }
  footer { grid-template-columns: 1fr; gap: 34px; padding-bottom: calc(42px + env(safe-area-inset-bottom, 0px)); }
}

[dir="rtl"] .intro-grid { margin-right: 0; padding-right: 32%; padding-left: 0; }
@media (max-width: 800px) { [dir="rtl"] .intro-grid { padding-right: 0; } }
