/* Reference hero: live typography, navigation and a detailed relief map. */
.home-page { background: #080a0b; }
.home-page .site-header { position:absolute; background:transparent; backdrop-filter:none; border:0; }
.home-page .site-header .container,
.reference-hero .container { width:calc(100% - 120px); max-width:1440px; }
.home-page .top-contact-bar { background:rgba(7,9,10,.45); border-bottom:1px solid #ffffff28; }
.home-page .top-contact-inner { min-height:46px; font-size:14px; flex-direction:row-reverse; }
.home-page .top-contact-note { color:#babdc2; font-weight:400; letter-spacing:0; }
.home-page .top-contact-links { gap:27px; font-weight:400; }
.home-page .top-contact-links a + a { padding-left:27px; border-left:1px solid #ffffff40; }
.home-page .top-contact-links a span { color:#c7cbd0; font-size:17px; }
.home-page .nav-wrap { height:112px; }
.home-page .site-header .brand-logo { width:260px; height:auto; }
.home-page .site-header .brand-security { display:none; }
.home-page .main-nav { gap:48px; font-weight:450; font-size:16px; color:#f3f3f3; }
.home-page .main-nav a { position:relative; padding:14px 0; }
.home-page .main-nav a[aria-current]::after { content:""; position:absolute; height:2px; background:#f51025; bottom:0; left:-3px; right:-3px; }
.reference-hero { min-height:1000px; min-height:max(950px,100svh); padding:225px 0 165px; display:block; isolation:isolate; background:radial-gradient(ellipse at 87% 5%,#222426 0%,#111416 28%,transparent 56%),linear-gradient(115deg,#050708,#0a0c0d 75%,#0b0d0e); }
.reference-hero::before { width:auto; height:auto; inset:0; border-radius:0; background:radial-gradient(ellipse at 74% 51%,#6d140e20,transparent 42%); z-index:-1; }
.reference-hero::after { inset:0; width:auto; height:auto; background:linear-gradient(0deg,#04060770,transparent 22%); z-index:-1; }
.reference-hero .hero-content { position:relative; z-index:2; pointer-events:none; }
.reference-hero .hero-copy { max-width:810px; }
.hero-eyebrow { display:flex; align-items:center; gap:24px; margin:0 0 33px; color:#c6c8ca; font-size:10px; font-weight:500; line-height:20px; text-transform:uppercase; letter-spacing:5px; }
.hero-eyebrow > span { width:34px; height:2px; background:#f3132b; flex-shrink:0; }
.reference-hero h1 { margin:0; max-width:none; font-size:clamp(38px,3.75vw,60px); font-weight:740; line-height:1.25; letter-spacing:-1.7px; color:#f7f7f8; }
.reference-hero h1 span { color:inherit; }
.reference-hero .hero-lead { width:610px; max-width:80%; font-size:21px; font-weight:400; line-height:1.5; letter-spacing:.05px; color:#c3c6cd; margin-top:27px; }
.reference-hero .hero-actions { margin-top:42px; gap:21px; pointer-events:auto; width:max-content; max-width:100%; }
.reference-hero .btn { border-radius:8px; min-height:65px; gap:20px; font-weight:650; font-size:16px; padding:0 31px; }
.reference-hero .btn svg { width:24px; height:24px; flex-shrink:0; }
.reference-hero .btn-primary { background:linear-gradient(135deg,#ef101f,#aa0712); border:1px solid #f7283540; box-shadow:0 18px 42px #9306152b; }
.reference-hero .btn-primary:hover { background:linear-gradient(135deg,#ff2635,#c30b17); }
.reference-hero .btn-secondary { min-width:225px; background:#080a0b55; border:1px solid #ffffff65; box-shadow:inset 0 1px 0 #ffffff12; }
.reference-hero .btn-secondary:hover { background:#ffffff0f; }
.hero-assurances { display:flex; width:585px; max-width:100%; margin-top:53px; border-top:1px solid #ffffff25; padding-top:34px; color:#bfc4cd; }
.hero-assurances > div { display:flex; align-items:center; gap:18px; flex:1; font-size:14px; line-height:1.5; }
.hero-assurances > div + div { padding-left:30px; margin-left:27px; border-left:1px solid #ffffff40; }
.hero-assurances svg { width:38px; height:43px; flex-shrink:0; }
.hero-map { position:absolute; z-index:1; top:133px; right:2%; width:min(53%,720px); pointer-events:none; }
.hero-map img { display:block; width:100%; height:auto; overflow:visible; transform:scale(.92); transform-origin:center top; filter:brightness(.84) saturate(.86) drop-shadow(0 18px 24px #0008) drop-shadow(0 0 16px #e510190d); }
.hero-bottom { position:absolute; bottom:53px; left:0; right:0; display:flex; align-items:center; justify-content:space-between; z-index:3; }
.hero-discover { display:flex; align-items:center; gap:25px; color:#b6bcc1; }
.hero-discover svg { transform:rotate(90deg); width:24px; height:24px; }
.hero-discover span,.hero-bottom p { text-transform:uppercase; font-size:10px; letter-spacing:3.5px; line-height:1.7; font-weight:450; }
.hero-bottom p { display:flex; align-items:center; gap:17px; margin:0; color:#afb5bd; }
.hero-bottom p > span { width:52px; height:1px; background:#ffffff40; margin-right:5px; }
.hero-bottom i { font-style:normal; opacity:.7; }
@media (min-width:1600px) {
  .reference-hero { padding-top:250px; }
  .hero-map { right:calc((100% - 1540px)/2); width:720px; }
}
@media (min-width:821px) and (max-width:1150px) {
  .home-page .site-header .container,.reference-hero .container { width:calc(100% - 64px); }
  .home-page .site-header .brand-logo { width:200px; }
  .home-page .main-nav { gap:30px; }
  .reference-hero { padding-top:210px; min-height:880px; }
  .reference-hero .hero-copy { max-width:690px; }
  .reference-hero h1 { font-size:40px; }
  .reference-hero .hero-lead { max-width:490px; font-size:18px; }
  .hero-map { top:190px; right:0; width:55%; max-width:610px; opacity:.8; }
  .reference-hero .btn { padding:0 22px; font-size:14px; }
  .reference-hero .btn-secondary { min-width:190px; }
  .hero-bottom p { letter-spacing:2px; gap:12px; }
}
@media (max-width:820px) {
  .home-page .site-header .container,.reference-hero .container { width:calc(100% - 40px); }
  .home-page .top-contact-inner { min-height:40px; justify-content:center; }
  .home-page .top-contact-note { display:none; }
  .home-page .top-contact-links { gap:16px; font-size:12px; }
  .home-page .top-contact-links a + a { padding-left:16px; }
  .home-page .nav-wrap { height:85px; }
  .home-page .site-header .brand-logo { width:175px; }
  .home-page .main-nav { gap:0; }
  .home-page .main-nav a { padding:14px; }
  .home-page .main-nav a:last-child { margin-top:0; text-align:left; }
  .home-page .main-nav a[aria-current]::after { width:35px; left:14px; bottom:5px; }
  .reference-hero { min-height:0; padding:172px 0 40px; }
  .reference-hero .hero-copy { max-width:100%; }
  .reference-hero h1 { font-size:clamp(32px,5.7vw,46px); line-height:1.22; letter-spacing:-1px; }
  .hero-eyebrow { margin-bottom:23px; font-size:9px; letter-spacing:3.2px; gap:15px; }
  .reference-hero .hero-lead { max-width:100%; width:600px; font-size:17px; line-height:1.6; margin-top:25px; }
  .reference-hero .hero-actions { width:100%; margin-top:28px; gap:12px; flex-direction:row; }
  .reference-hero .btn { min-height:56px; padding:0 18px; font-size:14px; gap:12px; width:auto; }
  .reference-hero .btn-secondary { min-width:0; }
  .hero-assurances { width:100%; margin-top:32px; padding-top:24px; }
  .hero-assurances > div { font-size:12px; gap:10px; }
  .hero-assurances > div + div { margin-left:12px; padding-left:12px; }
  .hero-assurances svg { width:29px; height:34px; }
  .hero-map { position:relative; top:auto; right:auto; width:min(100%,590px); margin:10px auto -25px; }
  .reference-hero { display:flex; flex-direction:column; }
  .reference-hero .hero-content { order:0; }
  .hero-map { order:1; }
  .hero-bottom { position:relative; bottom:auto; order:2; margin-top:5px; }
  .hero-bottom p { display:none; }
  .hero-discover span { font-size:9px; letter-spacing:3px; }
}
@media (max-width:460px) {
  .reference-hero .hero-actions { flex-direction:column; }
  .reference-hero .btn { width:100%; justify-content:center; }
  .hero-assurances > div { flex-direction:column; align-items:flex-start; gap:9px; }
  .hero-assurances > div + div { padding-left:18px; margin-left:0; }
  .hero-map { width:100%; margin-left:auto; }
}

/* Compact company credentials beneath the hero. */
.home-page .trust-strip { background:#0b0d0f; border-color:#ffffff12; padding:20px 0; }
.home-page .trust-grid { width:calc(100% - 120px); max-width:1440px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.home-page .trust-card { display:grid; grid-template-columns:24px minmax(0,1fr); align-items:center; gap:14px; padding:4px 24px; min-height:0; background:none; border:0; border-radius:0; box-shadow:none; }
.home-page .trust-card + .trust-card { border-left:1px solid #ffffff14; }
.home-page .trust-card::before { content:none; }
.home-page .trust-icon { width:24px; height:28px; border-radius:0; color:#28734f; background:none; border:0; }
.home-page .trust-icon svg { width:24px; height:24px; stroke-width:1.5; }
.home-page .trust-copy { gap:4px; width:100%; }
.home-page .trust-card strong { color:#eceef0; font-size:1rem; line-height:1.4; font-weight:550; letter-spacing:-.015em; overflow-wrap:normal; }
.home-page .trust-card p { color:#9da4ad; font-size:.875rem; line-height:1.5; }
@media (max-width:1150px) {
  .home-page .trust-grid { width:calc(100% - 64px); grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
  .home-page .trust-card { padding:14px 20px; }
  .home-page .trust-card:nth-child(3) { border-left:0; }
  .home-page .trust-card:nth-child(n+3) { border-top:1px solid #ffffff14; }
}
@media (max-width:620px) {
  .home-page .trust-strip { padding:6px 0; }
  .home-page .trust-grid { width:calc(100% - 40px); grid-template-columns:1fr; }
  .home-page .trust-card { padding:14px 0; gap:14px; }
  .home-page .trust-card + .trust-card { border-left:0; border-top:1px solid #ffffff14; }
}

/* WhatsApp action, paired with the red quote button. */
.reference-hero .btn-whatsapp {
  color:#fff;
  background:linear-gradient(135deg,#168447,#096334);
  border:1px solid #4cdb824d;
  box-shadow:0 18px 42px #12854830,inset 0 1px 0 #ffffff14;
}
.reference-hero .btn-whatsapp:hover {
  color:#fff;
  background:linear-gradient(135deg,#198b4c,#0c703c);
  box-shadow:0 18px 46px #18a45a45,inset 0 1px 0 #ffffff20;
}
.reference-hero .btn-whatsapp:focus-visible {
  outline:2px solid #8eeab5;
  outline-offset:4px;
}

/* Keep the quote section readable on the dark homepage background. */
.home-page .contact { background: var(--bg); color: var(--text); }
.home-page .contact-copy h2 { color: var(--text); }
.home-page .contact-copy > p { color: #b8c0ca; }
.home-page .contact-copy > .eyebrow { color: var(--red); }
.home-page .contact-details { border-top-color: #343c46; }
.home-page .contact-details > a,
.home-page .contact-details > div { border-bottom-color: #343c46; }
.home-page .contact-details strong { color: #f6f7f9; }
.home-page .contact-details span { color: #b8c0ca; }
.home-page .contact-details > a:hover span { color: #a2ceb7; }
