@font-face{font-family:Bebas;src:url('assets/bebas.otf')}@font-face{font-family:Signika;src:url('assets/signika.ttf')}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:#171717;background:white;font-family:Signika,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ec9096;outline-offset:5px}button{color:inherit}h1,h2,h3,p{margin-top:0}h2,h3{font-family:Bebas,sans-serif;font-weight:700}h2{font-size:clamp(32px,3.6vw,52px);line-height:1.04}h3{font-size:25px}p{font-size:17px;line-height:1.55;color:#626262}.wrap{max-width:1160px;margin:auto;padding:0 32px}header{position:absolute;top:24px;left:38px;right:38px;z-index:10;color:#fff}nav{height:104px;display:flex;justify-content:space-between;align-items:flex-start;padding:18px 22px;gap:25px}.nav-left,.nav-right{display:flex;align-items:center;gap:27px;padding-top:12px;font-size:15px}.nav-left a:hover,.nav-right a:hover{opacity:.65}.brand{position:absolute;left:50%;transform:translateX(-50%);width:142px;top:7px}.brand img{width:100%;height:105px;object-fit:contain}.menu-button{background:#ffd0d2;border:0;border-radius:10px;font-size:27px;line-height:40px;width:44px;color:#b91e29;margin-top:-10px}.menu{position:absolute;right:15px;top:82px;background:white;color:#b91e29;padding:25px 35px;border-radius:14px;box-shadow:0 12px 50px #48040822;width:290px}.menu a{display:block;font-family:Bebas;font-size:28px;padding:10px 0}.menu[hidden]{display:none}.hero-shell{margin:22px 26px 0}.hero{position:relative;height:min(790px,61vw);min-height:570px;background:#ab101b;border-radius:34px;overflow:hidden}.hero-main{position:absolute;inset:105px 0 0;background:url('assets/hero.webp') center top/100% 100% no-repeat;transition:opacity .4s}.hero-alternate{position:absolute;inset:110px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#df5860,#ac101a);opacity:0;transition:opacity .5s;pointer-events:none}.hero-alternate.active{opacity:1}.hero-alternate h1{font:900 clamp(42px,6.4vw,98px)/.9 Arial,sans-serif;letter-spacing:-3px;color:#ffffff36;text-align:center;position:absolute;top:30px;max-width:90%}.hero-alternate img{width:46%;height:69%;object-fit:cover;border:8px solid #ffffffdd;box-shadow:0 18px 40px #51000850;margin-top:60px;transform:rotate(-3deg);border-radius:5px}.hero-contact{position:absolute;bottom:30px;left:32px;background:#fff;padding:12px 12px 12px 24px;border-radius:13px;color:#ba2029;display:flex;align-items:center;gap:26px;box-shadow:0 0 0 5px #fff2}.arrow{display:inline-grid;place-items:center;width:39px;height:39px;background:#bf242d;color:white;border-radius:9px;font:25px Arial}.hero-contact .arrow{background:#ffd3d6;color:#bb202a}.hero-chooser{position:absolute;right:33px;bottom:31px;display:flex;gap:8px;background:#fff;padding:7px;border-radius:12px}.hero-chooser button{border:0;background:#fff;color:#bf242d;font-size:22px;border-radius:7px;width:41px;height:40px}.hero-chooser button[aria-pressed=true]{background:#ffd3d6}.service-tabs{display:flex;background:#bd202b;border-radius:12px;margin-top:12px;padding:7px;gap:5px;position:relative}.service-tabs:after{position:absolute;content:'';height:2px;background:#f1a1a5;bottom:-8px;left:0;right:0}.service-tabs button{flex:1;border:0;background:transparent;color:white;border-radius:6px;padding:13px 7px;font-size:14px;white-space:nowrap}.service-tabs button.active{background:#fff;color:#ba202a}.intro{text-align:center;padding:100px 24px 94px;position:relative;overflow:hidden}.intro:after{content:'';position:absolute;left:-3%;bottom:-170px;width:60%;height:420px;border:6px solid #fcf4f4;border-radius:50%;z-index:-1}.intro h2{font-size:clamp(30px,3.2vw,46px);margin-bottom:24px}.intro p{max-width:660px;margin:0 auto 29px}.action{display:inline-flex;gap:18px;align-items:center;font-family:Bebas;font-size:22px}.action:hover .arrow{transform:translateX(4px)}.arrow{transition:transform .2s}.services{background:#bd232d;color:white;padding:75px 0 100px;overflow:hidden}.services p{color:white;font-size:17px;max-width:420px}.section-top{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.section-top h2{margin-bottom:20px}.arrows{display:flex;gap:13px}.arrows button{border:1px dashed #ffb0b6;background:none;color:white;border-radius:9px;width:48px;height:48px;font-size:26px}.cards{display:flex;overflow-x:auto;gap:28px;padding:20px max(32px,calc((100vw - 1160px)/2)) 30px;scrollbar-width:none;scroll-snap-type:x mandatory}.cards::-webkit-scrollbar{display:none}.card{flex:0 0 265px;background:#fff;color:#b9232d;outline:1px solid #f1a4a9;outline-offset:5px;border-radius:5px;padding:22px 17px 17px;transform:rotate(-2deg);scroll-snap-align:center;transition:transform .3s}.card:nth-child(even){transform:rotate(2deg)}.card:hover{transform:translateY(-9px) rotate(0)}.card h3{text-align:center;font-size:28px;height:34px;white-space:nowrap;margin-bottom:21px}.card img{width:100%;height:235px;object-fit:cover;clip-path:polygon(0 5%,6% 5%,6% 0,95% 0,95% 5%,100% 5%,100% 95%,94% 95%,94% 100%,0 100%)}.card button{background:#b8202b;color:white;border:0;border-radius:4px;width:100%;padding:11px;margin-top:18px}.center{text-align:center;margin-top:35px}.services .arrow{background:white;color:#b8202b}.ribbon{position:relative;margin-top:-24px;color:#b7212b;background:white;border-block:2px solid #b7212b;transform:rotate(-2deg);padding:12px 0;overflow:hidden;white-space:nowrap;font:30px Bebas}.ribbon span{display:inline-block;animation:marquee 30s linear infinite}@keyframes marquee{to{transform:translateX(-45%)}}.steps-section{padding:90px 0 80px;text-align:center}.steps-section>p{max-width:420px;margin:auto}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:70px;margin-bottom:55px}.step{background:#fbf0f1;border-radius:12px;padding:43px 22px 23px;position:relative}.step b{position:absolute;top:-22px;left:calc(50% - 20px);background:#be2530;color:white;border-radius:8px;padding:6px 13px;font:27px Bebas}.step h3{font-size:23px;margin-bottom:15px}.step p{font-size:16px;margin:0}.contact{display:grid;grid-template-columns:1fr 1.8fr;gap:80px;padding-top:30px;padding-bottom:100px}.contact h2{margin-bottom:18px}.contact-intro>p{max-width:300px}.contact h3{font-size:24px;margin-top:32px}.contact-line{display:flex;gap:15px;margin-top:20px;font-size:15px;color:#646464}.contact-line .icon{font-size:21px;color:#c22732;background:#fcf0f1;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.contact-line strong{display:block;color:#b9232e;font-family:Bebas;font-size:20px;margin-bottom:4px}.contact-form{padding:32px;background:#fbf0f1;border-radius:23px}.contact-form fieldset{border:0;margin:0 0 23px;padding:0}.contact-form legend,.contact-form>.field>span{font:22px Bebas;margin-bottom:15px;display:block}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{position:relative;font-size:14px;color:#666}.chip input{position:absolute;opacity:0}.chip span{display:block;padding:8px 13px;border:1px solid #efb4b9;border-radius:25px;background:white;cursor:pointer}.chip input:checked+span{background:#ba202b;color:white;border-color:#ba202b}.chip input:focus-visible+span{outline:3px solid #a61021}.field{display:block}.field textarea{width:100%;height:120px;resize:vertical}.field input,.field textarea{border:1px solid #ecc2c5;background:white;border-radius:7px;padding:12px;width:100%;outline-color:#ba202b}.field>span{display:block;font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:18px}.submit{border:0;border-radius:6px;padding:14px 23px;color:white;background:#b21a26;font-family:Bebas;font-size:19px;display:block;margin:27px auto 0}.form-note{font-size:12px;text-align:center;margin:12px 0 0;color:#8d7376}.form-status{font-size:16px;color:#b21a26;text-align:center;margin:16px 0 0}.about-page{padding-top:150px;background:repeating-linear-gradient(45deg,transparent 0 54px,#fbf5f5 55px 57px,transparent 58px 110px),repeating-linear-gradient(-45deg,transparent 0 54px,#fbf5f5 55px 57px,transparent 58px 110px)}body.light-header header{color:#bf2630}body.light-header .menu-button{background:#bf2630;color:white}.about-title{text-align:center;padding:70px 0 90px}.about-title h1{font:900 clamp(52px,7vw,104px)/1.02 Arial;letter-spacing:-2px;color:#bd232d;margin-bottom:32px}.about-lead{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-bottom:80px}.about-lead p{margin:0}.statement{padding:75px max(32px,calc((100vw - 1096px)/2));background:#bb242c;color:white}.statement h2{max-width:820px;font-size:45px;margin:0}.experience{padding-top:85px;padding-bottom:80px}.experience>p{max-width:530px;margin:60px 0 0 auto}.why{background:#fcf0f1;border-radius:35px;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:65px;margin-top:70px}.why h2{color:#bf2530}.why .action{margin-top:20px}.check-card{align-self:center;background:#fff;border:2px solid #d24750;border-radius:12px;padding:36px;transform:rotate(-2deg);box-shadow:10px 12px #ffd1d5}.check-card h3{color:#bf232c;border:1px solid;display:inline-block;padding:8px 12px;font-size:22px}.check-card p{font-size:16px;margin:18px 0}.check-card p:before{content:'✓';display:inline-grid;place-items:center;background:#be2530;color:white;width:22px;height:22px;border-radius:50%;margin-right:12px}.territory{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;background:white;padding-top:55px;padding-bottom:100px}.map{position:relative;text-align:center}.map img{width:100%;max-width:430px;height:460px;object-fit:contain}.map button{position:absolute;border:3px solid white;border-radius:50%;width:18px;height:18px;background:#c02530;box-shadow:0 0 0 5px #c0253020;transition:transform .2s}.map button.active{transform:scale(1.5)}.map button:nth-of-type(1){left:49%;top:43%}.map button:nth-of-type(2){left:39%;top:59%}.map button:nth-of-type(3){left:66%;top:34%}.town-card{border:1px solid #c82833;border-radius:10px;box-shadow:7px 8px #ffdbde;padding:23px;margin-top:26px}.town-card h3{color:#bd202b;margin-bottom:10px}.town-card p{margin:0}.town-buttons{display:flex;gap:8px;flex-wrap:wrap}.town-buttons button{border:1px solid #e9c3c6;border-radius:30px;background:white;padding:8px 12px;font-size:14px}.town-buttons button.active{background:#ba222c;color:white}.subpage{padding-top:180px}.page-title{text-align:center;padding:30px 24px 60px}.page-title h1{font:64px Bebas;color:#bd232d;margin-bottom:16px}.page-title p{max-width:600px;margin:auto}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:90px}.gallery button{padding:0;border:0;background:#fbf0f1;text-align:left;border-radius:8px;overflow:hidden}.gallery img{width:100%;height:310px;object-fit:cover;display:block;transition:transform .5s}.gallery button:hover img{transform:scale(1.04)}.gallery h3{padding:20px;margin:0;color:#b7232e;font-size:25px}.filter-bar{display:flex;gap:12px;justify-content:center;margin-bottom:35px;flex-wrap:wrap}.filter-bar button{background:white;border:1px solid #efb8bd;border-radius:30px;padding:10px 18px}.filter-bar button.active{color:white;background:#bc202b}footer{display:grid;grid-template-columns:28% 72%;padding-top:35px}.footer-logo{display:grid;place-items:center;background:#bd232d;padding:35px}.footer-logo img{width:min(260px,100%)}.legal{background:#bd232d;border-radius:14px 0 0;color:white;padding:14px 25px;display:flex;justify-content:space-between;font-size:12px;margin-top:-35px;min-height:35px}.footer-columns{display:grid;grid-template-columns:1fr 1fr 1fr;padding:35px;gap:25px}.footer-columns h3{font-size:22px;color:#bd232d}.footer-columns a{font-size:14px;color:#696969;display:block;margin-bottom:14px}.footer-columns p{font-size:14px}dialog{border:0;border-radius:17px;max-width:780px;width:calc(100% - 32px);padding:35px;max-height:90vh;color:#242424}dialog::backdrop{background:#220204aa;backdrop-filter:blur(4px)}.close{position:absolute;top:12px;right:14px;border:0;border-radius:50%;width:35px;height:35px;font-size:26px;background:#fbe7e9;z-index:2}.detail-image{width:100%;max-height:50vh;object-fit:contain;background:#fcf5f6;border-radius:8px;margin-bottom:25px}.detail h2{color:#bd232d}.detail p{font-size:17px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reveal{animation:appear .7s ease both}@keyframes appear{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1700px){.hero-shell{max-width:1640px;margin:22px auto 0}header{max-width:1600px;left:50%;transform:translateX(-50%);width:95%}}@media(max-width:900px){.nav-left a:nth-child(3){display:none}.nav-left,.nav-right{gap:16px}.hero{min-height:510px}.hero-main{background-size:cover;background-position:center}.hero-alternate img{width:60%}.steps{gap:15px}.contact{gap:35px}.about-lead{gap:35px}.why{gap:35px;padding:35px}.territory{gap:30px}.gallery{grid-template-columns:repeat(2,1fr)}.footer-columns{gap:14px;padding:25px}.hero-chooser{right:20px}.card{flex-basis:250px}}@media(max-width:600px){header{top:12px;left:15px;right:15px}nav{padding:15px 10px;height:80px}.brand{width:104px;top:0}.brand img{height:82px}.nav-left{font-size:13px;gap:12px}.nav-left a:nth-child(2),.nav-right>a{display:none}.nav-right{padding-top:9px}.menu-button{font-size:23px;width:36px;line-height:34px}.hero-shell{margin:10px 10px 0}.hero{border-radius:22px;min-height:510px;height:calc(100svh - 135px);max-height:650px}.hero-main{inset:95px 0 0;background-size:auto 100%;background-position:50% top}.hero-contact{left:16px;bottom:22px;font-size:13px;padding:8px 8px 8px 14px;gap:12px}.hero-contact .arrow{width:30px;height:30px;font-size:20px}.hero-chooser{right:15px;bottom:24px;padding:4px;gap:3px}.hero-chooser button{font-size:18px;width:27px;height:30px}.hero-alternate{inset:90px 0 0}.hero-alternate h1{font-size:44px;letter-spacing:-2px;top:25px}.hero-alternate img{width:75%;height:55%;margin-top:30px}.service-tabs{overflow-x:auto;border-radius:8px;scrollbar-width:none}.service-tabs button{font-size:12px;min-width:126px;padding:11px}.wrap{padding-inline:24px}.intro{padding:65px 25px}.intro p{font-size:16px}.intro h2{font-size:32px}.services{padding:55px 0 65px}.section-top{align-items:center}.section-top h2{font-size:34px}.section-top p{font-size:15px;max-width:230px}.arrows{gap:6px}.arrows button{width:33px;height:37px;font-size:20px}.cards{padding-left:28px;gap:25px}.card{flex-basis:240px}.card img{height:220px}.ribbon{font-size:25px;padding:10px 0}.steps-section{padding-top:64px;padding-bottom:35px}.steps{grid-template-columns:1fr 1fr;gap:40px 16px;margin-top:50px}.step{padding:32px 14px 20px}.step h3{font-size:22px}.step p{font-size:14px}.contact{grid-template-columns:1fr;gap:30px;padding-top:20px;padding-bottom:70px}.contact-intro>p{max-width:none}.contact-intro h3{margin-top:20px}.contact-form{padding:23px 18px}.fields{gap:12px}.chip{font-size:12px}.chip span{padding:7px 10px}.about-page{padding-top:110px}.about-title{padding:60px 0}.about-title h1{font-size:51px}.about-lead{grid-template-columns:1fr;gap:12px;padding-bottom:50px}.about-lead h2{font-size:34px}.statement{padding:50px 25px}.statement h2{font-size:33px}.experience{padding-top:55px;padding-bottom:55px}.experience>p{margin-top:25px}.why{grid-template-columns:1fr;padding:30px 22px;gap:25px;margin-top:45px;border-radius:22px}.check-card{padding:24px 19px}.territory{grid-template-columns:1fr;padding-bottom:65px;gap:30px}.map img{height:340px}.subpage{padding-top:120px}.page-title{padding-top:25px}.page-title h1{font-size:49px}.gallery{gap:14px;padding-bottom:55px}.gallery img{height:210px}.gallery h3{font-size:21px;padding:14px}.filter-bar{gap:8px}.filter-bar button{font-size:13px;padding:8px 12px}footer{grid-template-columns:1fr}.footer-logo{padding:28px}.footer-logo img{height:140px}.legal{margin:0;border-radius:0;font-size:10px;padding:12px 20px}.footer-columns{grid-template-columns:1fr 1fr;padding:28px 24px}.footer-columns>div:last-child{grid-column:1/-1}.footer-columns h3{font-size:22px}dialog{padding:24px}.menu{right:0;top:65px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(min-width:601px){.hero-contact{left:2.3%;bottom:calc(4.4% - 4.6px);width:20.1%;height:calc(10.6% - 11px);min-height:48px;justify-content:space-between;padding:8px 15px 8px 24px;font-size:clamp(13px,1.2vw,18px)}.hero-chooser{right:2.5%;bottom:calc(4.4% - 4.6px);width:18.2%;height:calc(10.6% - 11px);min-height:48px;align-items:center;justify-content:space-around}.hero-chooser button{height:90%;width:30%}}.gallery [hidden]{display:none}

/* Persistent current-page indication, independent of hover. */
.nav-left>a,.nav-right>a{position:relative;padding-bottom:9px}
.nav-left>a[aria-current="page"],.nav-right>a[aria-current="page"]{font-weight:700;opacity:1}
.nav-left>a[aria-current="page"]:after,.nav-right>a[aria-current="page"]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:currentColor;border-radius:3px}
.menu a[aria-current="page"]{background:#fbeced;border-radius:8px;padding-left:13px;border-left:3px solid #bc232e}
.nav-current{display:none}
@media(max-width:600px){.nav-left{display:none}.nav-current{display:block;align-self:flex-start;margin-top:9px;padding-bottom:7px;border-bottom:3px solid currentColor;font-size:13px;font-weight:700;max-width:105px}.nav-right{margin-left:auto}}
