/* AR Home Layout 1.0 — front page only */
body.home { --arf-hero-gap: clamp(28px, 5vw, 64px); --arf-section-y: clamp(44px, 7vw, 96px); }

/* Typography: heavier, tighter headings; comfortable body measure */
body.home h1, body.home h2 { line-height: 1.05; letter-spacing: .005em; text-wrap: balance; }
body.home h1 { font-size: clamp(2.4rem, 6vw, 4.6rem); text-transform: uppercase; }
body.home h2 { font-size: clamp(1.9rem, 4vw, 2.9rem); }
body.home .elementor-widget-text-editor p,
body.home .elementor-widget-text-editor li { font-size: 1.05rem; line-height: 1.75; text-wrap: pretty; }
body.home .elementor-widget-text-editor p { max-width: 62ch; }

/* Section rhythm: consistent vertical space between blocks */
body.home .elementor-section.elementor-top-section { padding-top: var(--arf-section-y); padding-bottom: var(--arf-section-y); }
body.home .elementor-section.elementor-top-section + .elementor-section.elementor-top-section { padding-top: clamp(24px, 4vw, 48px); }

/* Remove dead space: empty widget wrappers and spacer widgets on phones */
body.home .elementor-widget-container:empty { display: none; }
@media (max-width: 767px) {
  body.home .elementor-widget-spacer { display: none; }
  body.home .elementor-top-section { padding-top: 36px; padding-bottom: 36px; }
  body.home .elementor-column { margin-bottom: 16px; }
  body.home .elementor-column:last-child { margin-bottom: 0; }
}

/* Hero image: framed, rounded, soft shadow, never stretched or grey */
body.home .elementor-widget-image img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 24px;
  object-fit: cover;
  box-shadow: 0 30px 60px -24px rgba(15, 23, 42, .28);
  background: transparent;
}
body.home .elementor-widget-image { line-height: 0; }
@media (min-width: 768px) {
  body.home .elementor-widget-image img { max-height: 560px; }
}

/* Buttons: one consistent style */
body.home .elementor-button {
  border-radius: 999px;
  padding: 14px 28px;
  font-weight: 700;
  transition: transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, background .3s;
}
body.home .elementor-button:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(30, 58, 110, .45); }

/* Keep text readable on the hero background */
body.home .elementor-widget-heading .elementor-heading-title { letter-spacing: .01em; }

@media (prefers-reduced-motion: reduce) {
  body.home .elementor-button { transition: none !important; }
  body.home .elementor-button:hover { transform: none; }
}

/* =====================================================================
   COLOUR SYSTEM (AR palette — not the reference site's palette)
   navy #1e3a6e · blue #3B82F6 · sky #0ea5e9 · ink #0f172a · muted #4b6190
   ===================================================================== */
body.home {
  --arf-navy: #1e3a6e;
  --arf-blue: #3B82F6;
  --arf-sky: #0ea5e9;
  --arf-ink: #0f172a;
  --arf-muted: #4b6190;
  --arf-soft: #f5f8ff;
  color: var(--arf-ink);
}

/* Headings: navy, Oswald (already set globally in ar-fonts) */
body.home h1, body.home h2, body.home h3 { color: var(--arf-navy); }

/* Body copy */
body.home .elementor-widget-text-editor p { color: var(--arf-muted); }

/* Alternate section backgrounds for rhythm (only on sections without an explicit background) */
body.home .elementor-section.elementor-top-section:nth-of-type(even):not([class*="background"]) {
  background-color: var(--arf-soft);
}

/* Primary buttons: blue, with a navy hover */
body.home .elementor-button {
  background-color: var(--arf-blue);
  color: #fff;
}
body.home .elementor-button:hover,
body.home .elementor-button:focus-visible {
  background-color: var(--arf-navy);
  color: #fff;
}

/* Links */
body.home a { color: var(--arf-blue); }
body.home a:hover, body.home a:focus-visible { color: var(--arf-navy); }

/* Card-like boxes (icon boxes, image boxes) get a soft border and shadow */
body.home .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.home .elementor-widget-image-box .elementor-image-box-wrapper {
  background: #fff;
  border: 1px solid #e3eaf6;
  border-radius: 18px;
  padding: 24px;
  box-shadow: 0 12px 30px -16px rgba(30, 58, 110, .25);
}
body.home .elementor-widget-icon-box .elementor-icon,
body.home .elementor-widget-icon-box .elementor-icon-box-icon i {
  color: var(--arf-blue);
}
