/* Final laptop hero spacing, founder-card readability and contact-icon clarity. */

/* Keep the founder details readable after hover/click/focus. */
.theme-black .about-visual:hover .founder-tag,
.theme-black .about-visual:focus-within .founder-tag,
.theme-black .about-visual:active .founder-tag {
  color:#fff;
  background:rgba(8,12,18,.94);
  border-color:rgba(233,177,47,.38);
  box-shadow:inset 4px 0 0 var(--theme-gold),0 18px 38px rgba(0,0,0,.34);
}
.theme-black .about-visual:hover .founder-tag strong,
.theme-black .about-visual:focus-within .founder-tag strong,
.theme-black .about-visual:active .founder-tag strong {
  color:#fff;
}
.theme-black .about-visual:hover .founder-tag span,
.theme-black .about-visual:focus-within .founder-tag span,
.theme-black .about-visual:active .founder-tag span {
  color:#d7d3c9;
}

/* Clearer header contact icons. */
.nav-icon-link {
  border-width:1.5px;
  overflow:visible;
}
.nav-icon-link svg {
  width:27px;
  height:27px;
  shape-rendering:geometricPrecision;
  filter:none;
}
.nav-call-icon {
  color:#06152e;
  background:#fff;
  border-color:rgba(6,21,46,.18);
  box-shadow:0 10px 24px rgba(6,21,46,.09);
}
.nav-call-icon svg { width:25px; height:25px; }
.nav-whatsapp-icon {
  color:#fff;
  background:#18b45f;
  border-color:#18b45f;
  box-shadow:0 12px 25px rgba(24,180,95,.30);
}
.nav-whatsapp-icon svg { width:29px; height:29px; }

/* The bottom contact buttons are intentionally removed from the HTML. */
.floating-actions,
.mobile-contact-bar { display:none!important; }

/* Laptop and desktop hero only. */
@media (min-width:1051px) {
  .hero {
    min-height:100svh;
    padding:88px 0 24px;
    display:flex;
    align-items:stretch;
  }
  .hero-wide-container {
    min-height:calc(100svh - 112px);
    width:min(1600px,calc(100% - 64px));
  }
  .hero-grid {
    grid-template-columns:minmax(0,1fr) clamp(570px,41vw,710px);
    gap:38px;
    align-items:stretch;
  }
  .hero-copy {
    max-width:850px;
    min-height:100%;
    padding:30px 0 10px;
    align-self:stretch;
    display:grid;
    grid-template-rows:auto auto auto minmax(30px,1fr) auto auto;
    align-content:stretch;
  }
  .hero h1 {
    max-width:850px;
    font-size:clamp(4.15rem,5vw,5.55rem);
    line-height:.965;
    letter-spacing:-.062em;
  }
  .hero-text {
    max-width:790px;
    margin-top:24px;
    font-size:1.08rem;
    line-height:1.58;
  }
  .hero-support {
    max-width:805px;
    margin-top:17px;
    font-size:1.08rem;
    line-height:1.58;
  }
  .hero-actions {
    grid-row:5;
    align-self:end;
    margin-top:0;
    margin-bottom:13px;
    gap:14px;
  }
  .hero-actions .btn {
    min-height:56px;
    padding:16px 29px;
    font-size:1rem;
  }
  .hero-proof {
    grid-row:6;
    align-self:end;
    margin-top:0;
    padding-bottom:2px;
    gap:10px;
  }
  .hero-proof span {
    padding:10px 14px;
    font-size:.73rem;
  }
  .hero-visual {
    align-self:center;
    max-width:710px;
  }
  .hero-image-card {
    aspect-ratio:1.05/1;
    max-height:min(670px,calc(100svh - 150px));
  }
}

/* Standard laptop screens. */
@media (min-width:1051px) and (max-width:1500px) {
  .hero {
    padding:84px 0 20px;
  }
  .hero-wide-container {
    width:min(1440px,calc(100% - 48px));
    min-height:calc(100svh - 104px);
  }
  .hero-grid {
    grid-template-columns:minmax(0,1fr) clamp(470px,39vw,590px);
    gap:30px;
  }
  .hero-copy {
    max-width:775px;
    padding:25px 0 8px;
    grid-template-rows:auto auto auto minmax(24px,1fr) auto auto;
  }
  .hero h1 {
    max-width:775px;
    font-size:clamp(3.55rem,4.75vw,4.65rem);
    line-height:.975;
  }
  .hero-text {
    max-width:735px;
    margin-top:21px;
    font-size:1rem;
    line-height:1.55;
  }
  .hero-support {
    max-width:750px;
    margin-top:14px;
    font-size:1rem;
    line-height:1.55;
  }
  .hero-actions {
    margin-bottom:12px;
  }
  .hero-actions .btn {
    min-height:52px;
    padding:14px 25px;
  }
  .hero-proof span {
    padding:9px 12px;
    font-size:.67rem;
  }
  .hero-visual { max-width:590px; }
  .hero-image-card {
    max-height:min(590px,calc(100svh - 140px));
  }
}

@media (min-width:1051px) and (max-width:1220px) {
  .hero-grid {
    grid-template-columns:minmax(0,1fr) 455px;
    gap:24px;
  }
  .hero-copy { max-width:680px; }
  .hero h1 {
    max-width:680px;
    font-size:3.28rem;
  }
  .hero-text,
  .hero-support {
    font-size:.9rem;
    line-height:1.5;
  }
  .hero-visual { max-width:455px; }
  .hero-proof span { font-size:.59rem; padding:8px 9px; }
}

/* Short laptop displays: preserve visibility while keeping the action area low. */
@media (min-width:1051px) and (max-height:820px) {
  .hero { padding:82px 0 16px; }
  .hero-wide-container { min-height:calc(100svh - 98px); }
  .hero-copy {
    padding:18px 0 5px;
    grid-template-rows:auto auto auto minmax(14px,1fr) auto auto;
  }
  .hero h1 { font-size:clamp(3.15rem,4.3vw,4.05rem); }
  .hero-text { margin-top:15px; font-size:.92rem; line-height:1.43; }
  .hero-support { margin-top:9px; font-size:.92rem; line-height:1.43; }
  .hero-actions { margin-bottom:9px; }
  .hero-actions .btn { min-height:49px; padding:13px 23px; }
  .hero-proof span { padding:8px 10px; font-size:.62rem; }
  .hero-image-card { max-height:min(545px,calc(100svh - 126px)); }
}

@media (min-width:1051px) and (max-height:720px) {
  .hero { padding:78px 0 12px; }
  .hero-wide-container { min-height:calc(100svh - 90px); }
  .hero-copy {
    padding:10px 0 2px;
    grid-template-rows:auto auto auto minmax(8px,1fr) auto auto;
  }
  .hero h1 { font-size:clamp(2.8rem,3.9vw,3.45rem); }
  .hero-text { margin-top:10px; font-size:.82rem; line-height:1.36; }
  .hero-support { margin-top:6px; font-size:.82rem; line-height:1.36; }
  .hero-actions { margin-bottom:7px; }
  .hero-actions .btn { min-height:46px; padding:12px 21px; }
  .hero-proof span { padding:7px 9px; font-size:.57rem; }
  .hero-image-card { max-height:min(470px,calc(100svh - 112px)); }
}

@media (max-width:1050px) {
  .nav-icon-link svg { width:25px; height:25px; }
}
