/* HARTSTAND V15 | responsive refinement, all RO/EN/IT pages.
   Loaded last to keep existing typography & identity intact. */
:root{--mobile-header:72px}
html{scroll-padding-top:84px}
body{min-width:0}
img,svg,video{max-width:100%}
.shell{max-width:1400px}
main,section,header,footer,.quote-layout,.quote-main{min-width:0}
h1,h2,h3,p,a{overflow-wrap:break-word}
button,a,input,textarea,select{touch-action:manipulation}
.btn,.nav-action,.home-final-btn,.home-about-link,.line-link,.about10-quote,.contact12-quote-link{gap:12px;justify-content:center}
/* Arrow-free links remain recognizable through weight, underline and hover */
.home-v7 .home-service-row{grid-template-columns:58px minmax(0,1.15fr) minmax(0,.8fr)!important;gap:clamp(12px,2.5vw,34px)}
.home-v7 .home-services-link,.home-v7 .home-about-link,.line-link,.about10-text-link,.about10-inline-link{gap:0}
.home-v7 .home-services-link,.home-v7 .home-about-link,.line-link,.about10-text-link,.about10-inline-link{transition:color .18s,border-color .18s}
.home-v7 .home-services-link:hover,.home-v7 .home-about-link:hover,.line-link:hover{gap:0}
.home-v7 .home-service-row:hover{padding-left:18px;padding-right:18px}
/* Consistent accessible header and mobile navigation */
.site-nav .brand{min-width:0}
.site-nav .brand img{width:100%;height:auto;max-height:70px;object-fit:contain}
.site-nav .lang-switch{flex:0 0 auto}
.site-nav .menu-btn{flex:0 0 auto;position:relative;z-index:104}
.site-nav .menu-layer{overscroll-behavior:contain}
.site-nav .menu-layer[aria-hidden="true"]{pointer-events:none}
.site-nav .menu-layer[aria-hidden="false"]{pointer-events:auto}
/* General compression and adequate form controls */
.quote-v6 .form-field input,.quote-v6 .form-field textarea,.quote-v6 .form-field select{font-size:16px;min-height:50px;max-width:100%}
.quote-v6 .form-field,.quote-v6 .form-grid,.quote-v6 .quote-form,.quote-v6 .quote-main{min-width:0}
.form-feedback,.form-privacy-note{overflow-wrap:anywhere}
.quote-v6 .quote-submit,.quote-v6 .quote-secondary{font-size:15px}
/* Tablet & small laptop */
@media(max-width:1100px){
 .shell{width:calc(100% - 52px)}
 .site-nav .nav-inner{height:78px!important;min-height:78px!important;gap:12px}
 .site-nav .brand,.about10 .site-nav .brand{width:clamp(195px,26vw,245px)!important}
 .site-nav .menu-layer{top:78px!important;bottom:0!important;left:0!important;right:0!important;max-height:calc(100dvh - 78px)}
 .site-nav .menu-layer a{font-size:clamp(25px,4.8vw,39px)!important;line-height:1.16}
 .site-nav .menu-layer{padding:34px 26px 30px;gap:18px}
 .site-nav .lang-switch a{min-height:37px}
 .hero-content{padding-top:130px}
 .section-pad{padding-block:76px}
 .inner-intro .intro-inner{padding-top:132px;padding-bottom:62px}
 .svc-page-intro{padding-block:64px}
 .svc-lead-grid{gap:30px}
 .svc-intro-points{margin-top:24px}
 .svc-detail{padding-block:68px}
 .svc-photo{min-height:370px}
 .svc-steps{padding-block:64px}
 .svc-steps h2{margin-bottom:27px}
 .about10 .about10-hero{padding-top:116px;padding-bottom:46px}
 .about10-story,.about10-method{padding-block:70px}
 .about10-contact{padding-block:60px}
 .contact12-layout{padding-top:128px;padding-bottom:48px}
 .quote-v6 .quote-hero-inner{padding-top:138px;padding-bottom:58px}
 .quote-v6 .quote-section{padding-block:64px}
 .quote-v6 .quote-heading{margin-bottom:34px}
 .quote-v6 .form-group{padding-block:26px 32px}
 .quote-v6 .form-group-heading{margin-bottom:22px}
 .site-footer{padding-top:48px;padding-bottom:26px}
 .site-footer .footer-top{gap:32px;padding-bottom:38px}
}
/* Phones and portrait tablets */
@media(max-width:800px){
 :root{--mobile-header:72px}
 html{scroll-padding-top:80px}
 .shell{width:calc(100% - 40px)}
 .site-nav .nav-inner,.about10 .site-nav .nav-inner{height:72px!important;min-height:72px!important;gap:10px}
 .site-nav .brand,.about10 .site-nav .brand{width:clamp(155px,27vw,210px)!important;flex:0 1 auto}
 .site-nav .brand img{max-height:62px}
 .site-nav .lang-switch{margin-left:auto;padding:2px}
 .site-nav .lang-switch a{min-width:31px;min-height:36px;padding:7px 5px;font-size:12px}
 .site-nav .menu-btn{width:42px;height:42px;min-width:42px}
 .site-nav .menu-layer{top:72px!important;max-height:calc(100dvh - 72px);padding:28px 22px 24px;gap:12px;overflow-y:auto}
 .site-nav .menu-layer a{font-size:clamp(24px,5.5vw,38px)!important;line-height:1.19;padding:8px 0}
 .site-nav .menu-layer .menu-phone{font-size:16px!important;margin-top:16px}
 .hero,.home-v6 .hero,.home-v7 .hero{height:auto;min-height:clamp(560px,83svh,760px)}
 .hero-content,.home-v7 .hero-content{justify-content:flex-end;padding-top:100px;padding-bottom:42px;min-height:clamp(560px,83svh,760px)}
 .home-v7 .hero h1{font-size:clamp(46px,9.5vw,76px);letter-spacing:-.063em;line-height:1.01;margin-bottom:22px}
 .hero-toptag,.home-v7 .hero-toptag{position:static;margin-bottom:20px;font-size:12px}
 .hero-bottom,.home-v7 .hero-bottom{gap:22px;align-items:flex-start;flex-direction:column}
 .hero-bottom p,.home-v7 .hero-bottom p{font-size:clamp(16px,2.6vw,19px);line-height:1.55}
 .hero-actions{gap:10px}
 .hero-actions .btn{min-height:51px;padding:11px 17px}
 .home-v7 .home-services{padding:65px 0 70px}
 .home-v7 .home-services-heading{margin-bottom:27px;gap:13px}
 .home-v7 .home-services h2{font-size:clamp(39px,7.3vw,60px);line-height:1.09}
 .home-v7 .home-services-heading>p{max-width:580px;font-size:16px}
 .home-v7 .home-service-row{min-height:0;grid-template-columns:35px minmax(0,1fr)!important;gap:10px 17px;padding:22px 4px}
 .home-v7 .home-service-n{grid-column:1;grid-row:1;align-self:start;padding-top:5px}
 .home-v7 .home-service-name{grid-column:2;grid-row:1;font-size:clamp(26px,4.6vw,35px)}
 .home-v7 .home-service-detail{grid-column:2;grid-row:2;font-size:15px;max-width:540px;margin-top:0}
 .home-v7 .home-service-row:hover{padding:22px 4px}
 .home-v7 .home-services-link{margin-top:23px}
 .home-v7 .home-about{display:grid;grid-template-columns:minmax(0,1fr)}
 .home-v7 .home-about-photo{min-height:0;height:clamp(260px,51vw,400px)}
 .home-v7 .home-about-content{padding:46px 24px 50px}
 .home-v7 .home-about h2{font-size:clamp(40px,7.5vw,59px);margin:16px 0 20px}
 .home-v7 .home-about p{font-size:17px;line-height:1.6}
 .home-v7 .home-about-link{margin-top:24px}
 .home-v7 .home-final{padding:56px 0 65px}
 .home-v7 .home-final-inner{gap:24px}
 .home-v7 .home-final h2{font-size:clamp(42px,8.2vw,70px);margin:15px 0}
 .home-v7 .home-final-btn{min-width:0;padding:18px 21px;min-height:54px}
 .inner-intro .intro-inner{padding-top:113px;padding-bottom:43px}
 .inner-intro h1{font-size:clamp(43px,8.7vw,73px);line-height:1.05;letter-spacing:-.063em;margin:19px 0 24px}
 .intro-bottom{gap:22px}
 .intro-bottom p{font-size:16px;line-height:1.58}
 .svc-page-intro{padding-block:47px}
 .svc-lead-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .svc-lead-grid h2{font-size:clamp(40px,8.5vw,64px);margin-bottom:14px}
 .svc-lead-grid p{font-size:16px;line-height:1.6}
 .svc-intro-points{gap:0;margin-top:18px;border-block:1px solid #d5dbd4}
 .svc-intro-points article{border:0;border-bottom:1px solid #d5dbd4;padding:14px 4px;background:transparent;min-height:0}
 .svc-intro-points article:last-child{border-bottom:0}
 .svc-intro-points b{font-size:20px;margin-bottom:5px}
 .svc-intro-points span{font-size:15px;line-height:1.5}
 .svc-detail{padding-block:55px}
 .svc-detail-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .svc-number{font-size:12px}
 .svc-detail-text h2{font-size:clamp(40px,8.5vw,64px);margin:10px 0 18px;line-height:1.07}
 .svc-detail-text>p{font-size:16px;line-height:1.62;margin:0}
 .svc-detail-text ul{margin:20px 0}
 .svc-detail-text li{font-size:15px;padding:12px 4px 12px 24px}
 .svc-photo{min-height:0;height:clamp(230px,57vw,400px);margin-top:20px}
 .svc-photo small{left:12px;bottom:12px;padding:7px 8px;font-size:10px;max-width:calc(100% - 24px)}
 .svc-steps{padding-block:55px}
 .svc-steps h2{font-size:clamp(39px,8vw,65px);margin:13px 0 26px}
 .svc-steps-grid{gap:10px}
 .svc-steps-grid article{min-height:0;padding:23px}
 .svc-steps-grid b{font-size:38px}
 .svc-steps-grid h3{margin:9px 0 7px;font-size:24px}
 .cta-band{padding-block:51px}
 .cta-band .shell{gap:24px}
 .cta-band .heading{font-size:clamp(34px,7.3vw,58px)}
 .about10 .about10-hero{padding-top:107px;padding-bottom:33px}
 .about10-hero-wrap{grid-template-columns:minmax(0,1fr);gap:25px}
 .about10-hero h1{font-size:clamp(42px,8.6vw,70px);margin:16px 0 17px}
 .about10-hero-copy>p{font-size:16px;line-height:1.6}
 .about10-text-link{margin-top:23px}
 .about10-hero-art{height:clamp(230px,42vw,320px)}
 .about10-outline{display:none}
 .about10-credentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .about10-proof{padding:17px 12px;min-width:0}
 .about10-proof strong{font-size:clamp(21px,3.6vw,29px);overflow-wrap:anywhere}
 .about10-proof:last-child{grid-column:1/-1;padding:17px 12px;border-top:1px solid rgba(20,29,18,.2)}
 .about10-story,.about10-method{padding-block:54px}
 .about10-story-grid,.about10-method-head{grid-template-columns:minmax(0,1fr);gap:16px}
 .about10-story h2,.about10-method h2{font-size:clamp(39px,7.5vw,60px);margin-top:14px}
 .about10-story-body{padding-top:0}
 .about10-story-body p{font-size:16px;line-height:1.65;margin-bottom:15px}
 .about10-method-items{grid-template-columns:minmax(0,1fr);gap:10px;margin-top:27px}
 .about10-method-items article{min-height:0;padding:23px}
 .about10-method-items h3{margin:12px 0 7px}
 .about10-contact{padding-block:52px}
 .about10-contact-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .about10-contact h2{font-size:clamp(40px,8vw,64px);margin-top:14px}
 .about10-contact-right{gap:17px}
 .contact12-layout{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:106px;padding-bottom:34px}
 .contact12-lead h1{font-size:clamp(52px,9.5vw,81px);margin:18px 0}
 .contact12-intro{font-size:17px;line-height:1.59}
 .contact12-phone{padding-top:20px;margin-top:23px}
 .contact12-phone:before{margin-bottom:16px}
 .contact12-phone a{font-size:clamp(26px,5.7vw,41px);white-space:normal}
 .contact12-company{padding:28px}
 .contact12-company-top{margin-bottom:21px}
 .contact12-location{font-size:16px;margin-bottom:15px}
 .contact12-records>div{gap:13px;padding:13px 0}
 .contact12-quote{padding:48px 0}
 .contact12-quote-inner{flex-direction:column;align-items:stretch;gap:19px}
 .contact12-quote h2{font-size:clamp(32px,6.5vw,51px)}
 .contact12-quote-link{min-width:0;justify-content:center;min-height:54px}
 .quote-v6 .quote-hero-inner{display:block;padding-top:111px;padding-bottom:39px}
 .quote-v6 .quote-hero h1{font-size:clamp(43px,8.5vw,70px);line-height:1.08;letter-spacing:-.065em;margin:18px 0}
 .quote-v6 .quote-hero p{font-size:16px;line-height:1.6;margin:0}
 .quote-v6 .quote-section{padding-block:43px}
 .quote-v6 .quote-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .quote-v6 .quote-heading{margin-bottom:29px}
 .quote-v6 .quote-heading h2{font-size:clamp(32px,6.3vw,55px);margin:12px 0}
 .quote-v6 .quote-heading p{font-size:15px}
 .quote-v6 .form-group{padding:25px 0 30px}
 .quote-v6 .form-group-heading{margin-bottom:18px;gap:10px}
 .quote-v6 .form-group-heading h3{font-size:clamp(22px,4.5vw,32px)}
 .quote-v6 .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 13px}
 .quote-v6 .form-field label{font-size:14px;line-height:1.4}
 .quote-v6 .form-field input,.quote-v6 .form-field select,.quote-v6 .form-field textarea{padding:12px;font-size:16px}
 .quote-v6 .group-hint{margin:0 0 14px;font-size:14px}
 .quote-v6 .service-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .quote-v6 .service-choice{min-height:87px;gap:12px;padding:12px}
 .quote-v6 .service-choice>span:last-child{font-size:14px}
 .quote-v6 .quote-sidebar{position:static}
 .quote-v6 .quote-side-card{padding:26px}
 .quote-v6 .quote-side-card .eyebrow{margin-top:16px}
 .quote-v6 .quote-side-card h3{font-size:25px;margin:13px 0}
 .quote-v6 .quote-side-card p{font-size:15px}
 .site-footer{padding-top:44px;padding-bottom:22px}
 .site-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 27px;padding-bottom:30px}
 .site-footer .footer-brand{grid-column:1/-1}
 .site-footer .brand{max-width:245px}
 .site-footer .footer-brand p{font-size:15px;margin-top:12px;line-height:1.6}
 .site-footer .footer-col h4{font-size:12px;margin-bottom:12px}
 .site-footer .footer-col a,.site-footer .footer-col span{font-size:14px;line-height:1.85}
 .site-footer .footer-line{font-size:12px;line-height:1.6;align-items:flex-start}
}
/* Small smartphones */
@media(max-width:520px){
 :root{--mobile-header:68px}
 html{scroll-padding-top:74px}
 .shell{width:calc(100% - 32px)}
 .site-nav .nav-inner,.about10 .site-nav .nav-inner{height:68px!important;min-height:68px!important;gap:7px}
 .site-nav .brand,.about10 .site-nav .brand{width:clamp(136px,39.5vw,195px)!important}
 .site-nav .brand img{max-height:58px}
 .site-nav .lang-switch{padding:1px;gap:0}
 .site-nav .lang-switch a{font-size:11px;min-width:27px;min-height:35px;padding:7px 3px}
 .site-nav .menu-btn{width:39px;height:39px;min-width:39px}
 .site-nav .menu-layer{top:68px!important;max-height:calc(100dvh - 68px);padding:22px 20px 28px;gap:8px}
 .site-nav .menu-layer a{font-size:clamp(24px,7.4vw,33px)!important;padding:7px 0}
 .site-nav .menu-layer .menu-phone{font-size:15px!important}
 .hero,.home-v6 .hero,.home-v7 .hero{min-height:clamp(550px,84svh,700px)}
 .hero-content,.home-v7 .hero-content{min-height:clamp(550px,84svh,700px);padding-top:93px;padding-bottom:34px}
 .home-v7 .hero h1{font-size:clamp(43px,11vw,57px);letter-spacing:-.065em;margin-bottom:18px}
 .hero-toptag,.home-v7 .hero-toptag{font-size:11px;letter-spacing:.10em;margin-bottom:19px}
 .home-v7 .hero-bottom p{font-size:16px;line-height:1.5}
 .hero-actions{width:100%;gap:8px}
 .home-v7 .hero .btn,.hero-actions .btn{min-width:0;flex:1 1 auto;font-size:13px;padding:10px 12px;min-height:49px;white-space:normal;text-align:center}
 .home-v7 .home-services{padding:48px 0 55px}
 .home-v7 .home-services h2{font-size:clamp(36px,9.2vw,46px)}
 .home-v7 .home-services-heading>p{font-size:15px;line-height:1.53}
 .home-v7 .home-service-row{grid-template-columns:24px minmax(0,1fr)!important;gap:7px 9px;padding:18px 0}
 .home-v7 .home-service-name{font-size:clamp(23px,6vw,30px)}
 .home-v7 .home-service-detail{font-size:14px;line-height:1.53}
 .home-v7 .home-service-row:hover{padding:18px 0}
 .home-v7 .home-about-photo{height:255px}
 .home-v7 .home-about-content{padding:35px 17px 43px}
 .home-v7 .home-about h2{font-size:clamp(37px,9.3vw,48px);line-height:1.08}
 .home-v7 .home-about p{font-size:16px;line-height:1.58}
 .home-v7 .home-final{padding:45px 0 50px}
 .home-v7 .home-final h2{font-size:clamp(40px,10vw,53px)}
 .home-v7 .home-final p{font-size:15px}
 .home-v7 .home-final-btn{width:100%;min-height:54px;padding:16px 20px}
 .inner-intro .intro-inner{padding-top:101px;padding-bottom:35px}
 .inner-intro h1{font-size:clamp(37px,10vw,50px);margin:16px 0 19px}
 .inner-intro .intro-bottom p{font-size:15px}
 .svc-page-intro{padding-block:38px}
 .svc-lead-grid h2{font-size:clamp(37px,9.5vw,49px)}
 .svc-detail{padding-block:42px}
 .svc-detail-text h2{font-size:clamp(37px,9vw,48px)}
 .svc-detail-text li{font-size:15px}
 .svc-photo{height:clamp(220px,66vw,310px);margin-top:16px}
 .svc-steps{padding-block:45px}
 .svc-steps-grid article{padding:20px}
 .about10 .about10-hero{padding-top:98px;padding-bottom:26px}
 .about10-hero h1{font-size:clamp(39px,10vw,50px);line-height:1.09}
 .about10-hero-art{height:235px}
 .about10-hero-art figcaption{font-size:10px}
 .about10-credentials-grid{grid-template-columns:minmax(0,1fr)}
 .about10-proof,.about10-proof:first-child,.about10-proof:last-child{grid-column:auto;padding:15px 0;border-right:0;border-bottom:1px solid rgba(20,29,18,.2)}
 .about10-proof strong{font-size:26px}
 .about10-story,.about10-method{padding-block:43px}
 .about10-story h2,.about10-method h2,.about10-contact h2{font-size:clamp(36px,9.3vw,47px)}
 .about10-contact{padding-block:44px}
 .contact12-layout{padding-top:98px;padding-bottom:28px;gap:22px}
 .contact12-lead h1{font-size:clamp(50px,12vw,69px);margin:14px 0}
 .contact12-phone a{font-size:clamp(23px,6.4vw,31px)}
 .contact12-company{padding:22px 18px}
 .contact12-records>div{gap:10px}
 .contact12-records dt,.contact12-records dd{font-size:13px}
 .contact12-quote{padding:38px 0}
 .contact12-quote h2{font-size:clamp(31px,8.5vw,42px)}
 .quote-v6 .quote-hero-inner{padding-top:103px;padding-bottom:34px}
 .quote-v6 .quote-hero h1{font-size:clamp(39px,10vw,51px)}
 .quote-v6 .quote-section{padding-block:35px}
 .quote-v6 .quote-heading h2{font-size:clamp(31px,8vw,42px)}
 .quote-v6 .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .quote-v6 .form-group{padding:20px 0 26px}
 .quote-v6 .form-group-heading h3{font-size:clamp(22px,6.6vw,29px)}
 .quote-v6 .service-choice{min-height:88px;padding:12px 10px}
 .quote-v6 .service-choice>span:last-child{font-size:13px}
 .quote-v6 .form-actions{gap:12px}
 .quote-v6 .quote-submit{width:100%;min-height:54px}
 .quote-v6 .quote-secondary{flex:1 1 42%;padding:13px 6px;text-align:center;white-space:normal}
 .quote-v6 .quote-side-card{padding:22px 18px}
 .quote-v6 .quote-phone{font-size:16px}
 .site-footer{padding-top:35px;padding-bottom:20px}
 .site-footer .footer-top{grid-template-columns:minmax(0,1fr);gap:18px;padding-bottom:25px}
 .site-footer .footer-brand{grid-column:auto}
 .site-footer .brand{width:225px;max-width:100%}
 .site-footer .footer-col h4{margin-bottom:9px}
 .site-footer .footer-col a,.site-footer .footer-col span{line-height:1.75}
 .site-footer .footer-line{padding-top:17px;gap:9px}
}
/* 320px devices: keep all three languages usable without clipping brand. */
@media(max-width:365px){
 .shell{width:calc(100% - 24px)}
 .site-nav .brand,.about10 .site-nav .brand{width:132px!important}
 .site-nav .nav-inner{gap:5px}
 .site-nav .lang-switch a{min-width:25px;padding-inline:2px}
 .site-nav .menu-btn{width:37px;min-width:37px}
 .home-v7 .hero h1{font-size:41px}
 .home-v7 .hero .btn{font-size:12px;padding-inline:8px}
 .home-v7 .home-services h2,.home-v7 .home-about h2{font-size:35px}
 .inner-intro h1{font-size:36px}
 .quote-v6 .quote-hero h1{font-size:38px}
 .contact12-phone a{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
 .site-nav .menu-layer,.home-v7 .home-service-row{transition:none}
}
