.brand{width:210px;height:72px;overflow:hidden;position:relative;display:block;flex:0 0 auto}.brand img{position:absolute;left:0;top:0;width:210px;height:210px;max-height:none;object-fit:contain;transform:translateY(-68px)}

.footer-logo{width:260px;height:94px;max-width:100%;object-fit:cover;object-position:center 47%;margin-bottom:18px}

.hero-panel{width:min(610px,49%);padding:44px}.hero h1{font-size:clamp(3.45rem,5vw,4.7rem)}

/* Core content remains visible without depending on observer timing. */
.js .reveal{opacity:1;transform:none;transition:none}

@media(min-width:901px){
  .about-page .page-hero,.portfolio-page .page-hero{min-height:560px}
  .about-page .page-hero img{left:46%;right:auto;width:54%;height:100%;opacity:.92;object-position:center}
  .about-page .page-hero:after{background:linear-gradient(90deg,#102e4a 0 43%,rgba(16,46,74,.96) 49%,rgba(16,46,74,.42) 67%,rgba(16,46,74,.04) 100%)}
  .about-page .page-hero-inner{min-height:560px;padding-right:57%;justify-content:center}
  .about-page .page-hero h1{font-size:clamp(3.4rem,5vw,5.3rem);max-width:590px}

  .portfolio-page .page-hero img{left:45%;right:auto;width:55%;height:100%;opacity:.94;object-position:center}
  .portfolio-page .page-hero:after{background:linear-gradient(90deg,#102e4a 0 42%,rgba(16,46,74,.98) 48%,rgba(16,46,74,.34) 68%,rgba(16,46,74,.02) 100%)}
  .portfolio-page .page-hero-inner{min-height:560px;padding-right:59%;justify-content:center}
  .portfolio-page .page-hero h1{font-size:clamp(3.35rem,4.8vw,5rem);max-width:610px}

  .contact-page .page-hero{min-height:440px;background:#102e4a}
  .contact-page .page-hero img{left:58%;right:auto;width:42%;height:100%;opacity:.86;object-position:center}
  .contact-page .page-hero:after{background:linear-gradient(90deg,#102e4a 0 55%,rgba(16,46,74,.96) 61%,rgba(16,46,74,.24) 82%,rgba(16,46,74,.02) 100%)}
  .contact-page .page-hero-inner{min-height:440px;padding-right:47%;justify-content:center}
  .contact-page .page-hero h1{font-size:clamp(3.25rem,4.7vw,4.9rem);max-width:690px}
}

@media(max-width:900px){.brand{width:176px;height:60px}.brand img{width:176px;height:176px;max-height:none;transform:translateY(-58px)}}

@media(max-width:640px){
  .hero{grid-template-rows:265px auto}
  .hero-media{height:265px}
  .hero-inner{padding-bottom:28px}
  .hero-panel{padding-top:22px}
  .hero-panel:before{margin-bottom:18px}
  .hero h1{font-size:clamp(2.45rem,11vw,3rem);line-height:.95}
  .hero p{font-size:.94rem;margin-top:14px}
  .hero-actions{margin-top:18px}
  .hero .hero-actions .btn-ghost{width:auto;min-height:36px;padding:6px 0;justify-content:flex-start;border:0;border-left:0;background:transparent;text-decoration:underline;text-underline-offset:5px}
  .proof-line{margin-top:14px;padding-top:14px}
  .footer-logo{width:230px;height:84px}
  .mobile-call{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(calc(100% + 24px));transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
  .mobile-call.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
}

@media(prefers-reduced-motion:reduce){.mobile-call{transition:none}}
