/* Only enqueued on the noindex home preview. Reference styling lives in design.css. */
body.bs39-home-preview { line-height:1.5; padding-top:0; }
.hp-homepage-view { position:relative; width:100%; overflow:clip; }
.hp-homepage-view h1,.hp-homepage-view h2,.hp-homepage-view h3 { font-family:inherit; text-transform:none; }
.hp-homepage-view .hp-hero h1 { color:white; }
.hp-homepage-view p { margin-bottom:0; }
.hp-homepage-view img { max-width:100%; }
.hp-homepage-view button { line-height:inherit; }
.hp-homepage-view .hp-container { padding-left:0; padding-right:0; max-width:none; }
.hp-homepage-view .hp-hero-content { padding-bottom:96px; }
.hp-homepage-view a:focus-visible,.hp-homepage-view button:focus-visible { outline:3px solid #96ae4f; outline-offset:5px; }
.hp-homepage-view .hp-brand,.hp-homepage-view .hp-phone-link { color:white; }
.hp-site-header { background:rgba(24,39,70,.3); }
.hp-mobile-menu { width:100%; max-width:none; height:100dvh; max-height:none; margin:0; border:0; overflow-y:auto; overscroll-behavior:contain; }
.hp-mobile-menu:not([open]) { display:none; }
.hp-mobile-menu nav { padding:25px 0; gap:15px; font-size:clamp(17px,2.3vw,25px); }
.hp-mobile-menu-top { flex-shrink:0; }
.hp-mobile-menu-top button { width:44px; height:44px; }
body.hp-menu-open { overflow:hidden; }
.hp-skip-link { position:fixed; top:-80px; left:20px; z-index:2000; padding:12px 18px; background:white; color:#26375e; }
.hp-skip-link:focus { top:10px; }
.hp-callback-modal .modal-content { border:0; border-radius:20px; background:#fbfbf9; color:#26375e; font-family:'Montserrat',sans-serif; }
.hp-callback-modal .modal-header { padding:24px 26px 15px; }
.hp-callback-modal .modal-title { font-size:24px; font-weight:600; }
.hp-callback-modal .modal-body { padding:10px 26px 26px; }
.hp-callback-modal input:not([type=checkbox]):not([type=submit]),.hp-callback-modal textarea { max-width:100%; border-radius:10px; }
.hp-callback-modal input[type=submit] { background:#2e406d; border-color:#2e406d; color:white; border-radius:12px; }
.hp-callback-modal a { color:#2e406d; text-decoration:underline; }
@media(min-width:901px) and (max-width:1400px) {
  .hp-site-header { grid-template-columns:215px minmax(0,1fr) auto auto; padding:0 28px; gap:18px; }
  .hp-brand img { width:210px; }
  .hp-desktop-nav { gap:16px; font-size:10px; }
  .hp-phone-link { font-size:12px; }
}
@media(max-width:1100px) {
  .hp-site-header { grid-template-columns:1fr auto auto; }
  .hp-desktop-nav,.hp-header-messengers { display:none; }
  .hp-header-menu-btn { display:grid; }
}
@media(max-width:700px) {
  body.bs39-home-preview { padding-bottom:calc(73px + env(safe-area-inset-bottom)); }
  .hp-homepage-view .hp-hero-content { padding-bottom:58px; }
  .hp-homepage-view .hp-hero h1 { font-size:clamp(32px,10.2vw,60px); }
  .hp-header-contact .hp-phone-link { font-size:0; }
  .hp-phone-link::before { content:''; width:20px; height:20px; flex:0 0 20px; background:url('./icon-phone.svg') center/contain no-repeat; }
  .hp-phone-link img { display:none; }
  .hp-bottom-nav { height:calc(73px + env(safe-area-inset-bottom)); }
  .hp-chat-fab { bottom:calc(88px + env(safe-area-inset-bottom)); }
  .hp-project-actions .hp-button { white-space:normal; text-align:center; line-height:1.3; }
  .hp-fact-content strong { font-size:clamp(23px,6.8vw,31px); }
  .hp-mobile-menu { padding:20px; }
  .hp-mobile-menu nav { font-size:19px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hp-homepage-view *, .hp-homepage-view *::before { transition:none!important; }
}
