/* Responsive safeguards shared by every public page. */
html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,#root,main{width:100%;max-width:100%;min-width:0;overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe,svg{max-width:100%}
img,video{height:auto}
section,article,div,form,fieldset,nav,footer,header{min-width:0}
h1,h2,h3,h4,p,li,a,button,label,span,address{overflow-wrap:break-word}
input,select,textarea,button{max-width:100%}
.hero-content,.hero-copy,.inner-hero-content,.section-heading,.contact-heading,.apply-heading{width:100%!important;min-width:0!important;max-width:min(100%,920px)!important}
.hero h1,.inner-hero h1{font-size:clamp(36px,5.4vw,78px)!important;line-height:1.04!important;text-wrap:balance}
.hero h1,.hero h1 *,.inner-hero h1,.inner-hero h1 *{max-width:100%!important;white-space:normal!important}
.hero h1 em{display:inline!important}
.inner-hero h1{font-size:clamp(34px,4.6vw,64px)!important}
.hero p,.inner-hero-content>p{max-width:760px;font-size:clamp(16px,1.5vw,20px)!important;line-height:1.65!important}
.hero-actions,.hero-proof,.section-actions,.header-actions{max-width:100%;flex-wrap:wrap!important}
.button,.button-small{min-height:44px;white-space:normal;text-align:center;justify-content:center}
.service-grid,.steps,.trust-grid,.offer-grid,.inner-content,.news-grid,.pricing-grid,.contact-info-grid{min-width:0}
.service-card,.content-block,.offer-grid article,.trust-grid article,.service-feature,.price-plan{min-width:0;max-width:100%}
.service-card h3,.content-block h2,.service-feature h2,.about-story-card h2{overflow-wrap:anywhere;text-wrap:balance}
.inner-contact-form,.contact-main form{width:100%;max-width:100%}
.inner-contact-form input,.inner-contact-form select,.inner-contact-form textarea{display:block;width:100%;min-width:0}
.contact-map-wrap,.contact-map{width:100%;max-width:100%}
.legal-content-block,.legal-content-block div{min-width:0}
.legal-content-block a{overflow-wrap:anywhere;word-break:break-word}

@media(max-width:1100px){
  .hero,.inner-hero{padding-inline:clamp(24px,5vw,64px)!important}
  .method,.trust-section,.about,.services,.offers,.home-faq,.inner-content,.contact-main,.apply-section,.inner-cta{padding-inline:clamp(24px,5vw,56px)!important}
  .service-grid,.trust-grid,.offer-grid,.steps{gap:22px!important}
  .about,.contact-main,.apply-section{grid-template-columns:minmax(0,1fr)!important}
  .about-image{order:0}
  .about-copy,.contact-heading,.contact-workspace{width:100%;max-width:none}
}

@media(max-width:820px){
  .hero{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;width:100%!important;max-width:100vw!important;min-width:0!important;overflow:hidden!important}
  .hero,.inner-hero{min-height:auto!important;padding-left:24px!important;padding-right:24px!important}
  .hero-copy,.hero-content,.inner-hero-content{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}
  .hero-copy{grid-column:1!important;padding-left:0!important;padding-right:0!important}
  .hero-visual{grid-column:1!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .hero-visual>img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;object-fit:cover!important}
  .hero h1,.hero-lead,.hero-actions,.hero-proof{width:100%!important;max-width:100%!important;min-width:0!important}
  .hero-proof{display:flex!important;align-items:flex-start!important}
  .hero-proof span{max-width:100%!important;white-space:normal!important}
  .hero-actions{gap:12px!important}
  .method,.trust-section,.about,.services,.offers,.home-faq,.inner-content,.contact-main,.apply-section,.inner-cta{padding-left:24px!important;padding-right:24px!important}
  .service-grid,.steps,.trust-grid,.offer-grid,.inner-content,.news-grid,.pricing-grid,.contact-info-grid{grid-template-columns:minmax(0,1fr)!important}
  .inner-content .content-block,.contact-info-grid .content-block{width:100%!important}
  .contact-main,.apply-section{gap:32px!important}
  .inner-contact-form{grid-template-columns:minmax(0,1fr)!important}
  .inner-contact-form label,.inner-contact-form .full{grid-column:1!important}
  .inner-cta{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:24px!important}
  .contact-map{height:380px!important;min-height:380px!important}
  .service-feature-media img{aspect-ratio:16/10!important;min-height:0!important}
  .about-team-photo figcaption{font-size:clamp(28px,7vw,44px)!important}
}

@media(max-width:650px){
  .topbar a{min-width:0}
  .topbar a[href^="mailto:"]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .header-main{display:grid!important;grid-template-columns:minmax(0,1fr) 150px!important;gap:10px!important;overflow:hidden!important}
  .brand{min-width:0!important;max-width:100%!important;overflow:hidden!important}
  .header-actions{width:150px!important;max-width:150px!important;min-width:0!important;gap:8px!important;flex:0 1 150px!important;margin-left:auto!important}
  .header-actions .button-small{width:100%!important;min-width:0!important;line-height:1.15!important;max-width:150px;overflow:hidden}
  .site-header nav{max-width:100vw;overscroll-behavior-inline:contain}
  .hero,.inner-hero{padding-left:18px!important;padding-right:18px!important}
  .hero-copy{width:auto!important;max-width:calc(100vw - 36px)!important}
  .hero h1,.inner-hero h1{font-size:clamp(32px,10vw,48px)!important;letter-spacing:-.035em!important}
  .hero h1,.hero h1 *{width:auto!important;max-width:calc(100vw - 36px)!important;overflow-wrap:normal!important;word-break:normal!important}
  .hero p,.inner-hero-content>p{font-size:16px!important}
  .method,.trust-section,.about,.services,.offers,.home-faq,.inner-content,.contact-main,.apply-section,.inner-cta,.about-editorial,.service-editorial,.pricing-editorial{padding-left:18px!important;padding-right:18px!important}
  .section-heading h2,.contact-heading h2,.apply-heading h2,.inner-cta h2{font-size:clamp(28px,8vw,40px)!important;line-height:1.15!important}
  .service-card,.offer-grid article,.trust-grid article,.inner-content .content-block,.contact-info-grid .content-block,.about-story-card,.price-plan{padding:22px!important}
  .service-card{grid-template-rows:auto auto auto 1fr auto!important}
  .service-card h3{font-size:23px!important}
  .service-feature-copy{padding:26px 22px!important}
  .service-feature h2{font-size:clamp(28px,8vw,38px)!important}
  .home-faq details{padding-inline:18px!important}
  .inner-contact-form{padding:22px!important}
  .contact-details{padding:20px!important}
  .contact-details>a,.contact-details>.contact-address{grid-template-columns:22px minmax(0,1fr)!important;column-gap:12px!important}
  .contact-map{height:320px!important;min-height:320px!important;border-radius:10px!important}
  .about-story-intro>img,.about-team-photo img,.service-feature-media img{width:100%;object-fit:cover}
  .footer-top,.footer-columns{width:100%;min-width:0}
  .footer-columns strong{min-height:0!important}
  .footer-contact a,.footer-contact span{max-width:100%}
}

@media(max-width:480px){
  .topbar,.is-scrolled .topbar{padding-inline:12px!important;gap:10px!important}
  .topbar a{font-size:11px!important}
  .header-main{grid-template-columns:minmax(0,1fr)!important;padding-inline:12px!important}
  .brand-logo{width:132px!important;height:46px!important}
  .is-scrolled .brand-logo{width:126px!important;height:44px!important}
  .header-actions{display:none!important}
  .site-header nav{padding-inline:12px!important;gap:20px!important}
  .site-header .main-nav>a{font-size:13px!important}
  .hero-actions,.hero-proof{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .hero-actions .button,.hero-actions .text-link,.inner-cta .button{width:100%!important;max-width:100%!important}
  .hero-proof span{width:fit-content!important;max-width:100%!important}
  .stats{height:auto!important;min-height:0!important;grid-template-columns:1fr!important;padding:12px 18px!important;margin-top:-82px!important}
  .stats>div{width:100%;grid-template-columns:110px minmax(0,1fr)!important;grid-template-rows:auto!important;align-items:center!important;padding:14px 4px!important;border-right:0!important;border-bottom:1px solid #dce6f0!important}
  .stats>div:last-child{border-bottom:0!important}
  .stats strong{height:auto!important;font-size:24px!important;justify-content:flex-start!important}
  .stats span{text-align:left!important}
  .hero{padding-bottom:150px!important}
  .service-card,.offer-grid article,.trust-grid article,.inner-content .content-block,.contact-info-grid .content-block,.about-story-card,.price-plan,.pricing-included{padding:20px!important}
  .button{width:100%;max-width:100%}
  .inner-contact-form{padding:18px!important}
  .inner-contact-form input,.inner-contact-form select,.inner-contact-form textarea{font-size:16px!important}
  .contact-map{height:280px!important;min-height:280px!important}
  .about-team-photo figcaption{padding:0 20px 24px!important;font-size:28px!important}
  .legal-content-block>span{margin-bottom:14px!important}
}

@media(max-width:340px){
  .topbar a[href^="mailto:"]{display:none!important}
  .brand-logo{width:118px!important}
  .hero h1,.inner-hero h1{font-size:30px!important}
}

@media(orientation:landscape) and (max-height:520px){
  .hero,.inner-hero{min-height:520px!important}
  .site-header nav{scrollbar-width:none}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
