*{margin:0;padding:0;box-sizing:border-box}body{margin:0;padding:0;font-size:20px;line-height:1.3}h1,h2,h3{font-family:Fraunces,serif;font-optical-sizing:auto;font-weight:400;font-style:normal}body,p,a{font-family:Roboto Slab,serif;font-optical-sizing:auto;font-style:normal}p{margin-bottom:16px}div>p:last-child{margin-bottom:0}body{background-color:#f6f7f3}section.constrain{max-width:1400px;margin:auto}p,h1,li,h2,h3{color:#f3efe6}.flex-section-center{display:flex;justify-content:space-between;gap:25px;align-items:start}.flex-section-center.border .body-section-image{align-self:start}h2{font-size:clamp(24px,4vw,36px)}.body-section{padding:70px 50px}.hero-section{padding:82px 0 10px;position:relative}.hero-carousel-wrap{position:relative}.hero-overlay{position:absolute;top:0;bottom:0;z-index:3;width:min(520px,calc(100% - 160px));padding:30px;background:#0009;display:flex;flex-direction:column;justify-content:center;text-align:left}.hero-overlay h1{margin:0 0 30px;text-align:left;font-size:clamp(28px,5vw,64px);border-bottom:3px solid #ff4845;padding-bottom:15px}.hero-overlay h2{margin:0}.desc-list-section{margin:20px 0 0;width:fit-content}ul.desc-list{list-style:none}ul.desc-list li{color:#2f2f2b;font-size:22px}ul.desc-list li span{border-bottom:2px solid #ff4845}ul.desc-list svg{transition:all .3s ease-in-out}ul.desc-list svg:hover{color:#ff4845}ul.desc-list li.service-area-item{display:flex;align-items:center;gap:10px}.section-divider{display:flex;align-items:center;gap:18px;padding:0 50px}.section-divider hr{flex:1;height:1px;border:0;background:#2f2f2b}.section-divider svg{flex:0 0 auto;color:#ff4845}.body-section-text{padding:25px}.body-section-text.border{border:solid 2px #2f2f2b;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;text-align:left;background-color:#f3eeee}.body-section-text.border.eighty{margin:auto auto 50px;width:80%}.body-section-text.border.fifty{width:50%}.body-section-text p{color:#2f2f2b}.body-section-text p.emphasis{font-size:1.12em;text-decoration-line:underline;text-decoration-color:#ff4845;text-decoration-thickness:2px;text-underline-offset:5px}.body-section-title{width:50%}.body-section-title h2{color:#2f2f2b;white-space:nowrap;padding-bottom:20px;border-bottom:4px solid #ff4845;margin-bottom:20px}.body-section-title.center{margin:auto;width:80%}.body-section-title.center h2{text-align:center}.body-section-image{max-width:210px;width:100%;margin:0 auto}.body-section-image.mobile{display:none}.carousel{position:relative}.carousel-image img{display:block;width:100%}.carousel-control{position:absolute;top:0;bottom:0;width:20%;border:none;background:transparent;cursor:pointer;z-index:2;display:flex;align-items:center;font-size:3rem;color:#fff}.carousel-control.prev{left:0;justify-content:flex-start;padding-left:6rem}.carousel-control.next{right:0;justify-content:flex-end;padding-right:6rem}.image-caption{text-align:center;margin-top:5px;font-size:16px}#contact-text{margin:auto;color:#2f2f2b}.contact-section{min-height:100vh;background-color:#f6f7f3;padding:70px 50px;color:#2f2f2b}.contact-section img{max-width:300px;margin:auto;display:block}.contact-content{justify-content:center;display:flex;flex-wrap:wrap;margin:20px auto 0;gap:20px}.contact-content div a{display:flex;align-items:center;gap:5px;color:#2f2f2b;text-decoration:none;margin-bottom:10px;padding:5px 10px;transition:.2s cubic-bezier(.25,.1,.25,1)}.contact-content div a:hover{transform:scale(1.1)}.contact-content a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:#ff4845;transition:width .3s ease}.contact-content a:hover:after{width:100%}.footer-section{background-color:#231f20;color:#f3efe6;padding:20px;text-align:center}.footer-section p{font-size:12px}.footer-section a{color:#f3efe6}.main-nav{position:fixed;top:0;width:100%;background:#f3efe6;backdrop-filter:blur(10px);z-index:1000;transition:all .3s ease;border-bottom:2px solid #231f20}.nav-container{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem}.nav-links{display:flex;list-style:none;margin:0;padding:0;gap:1rem}.nav-links a{color:#231f20;text-decoration:none;font-family:Roboto Slab,serif;transition:all .3s ease;position:relative}.nav-links a:hover,.nav-links a.active{color:#ff4845}.nav-links a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:1px;background:#231f20;transition:width .3s ease}.nav-links a:hover:after,.nav-links a.active:after{width:100%}.logo-nav img{width:80px;height:80px;display:block}.nav-toggle{display:none;background:none;border:none;color:#231f20;cursor:pointer}section[id]{scroll-margin-top:146px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s cubic-bezier(.25,.1,.25,1)}.reveal.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}@media (max-width: 768px){.section{padding:30px 10px}.body-section{padding:40px 20px}.body-section-title{padding:20px 0;width:100%;text-align:center}.body-section-text.border.fifty,.body-section-text.border.eighty,.body-section-title.center{width:100%}.flex-section-center{flex-wrap:wrap;gap:25px}.flex-section-center.nowrap{flex-wrap:nowrap}.flex-section-center.reverse{flex-wrap:wrap-reverse}.hero-section{padding:62px 0 0}.hero-overlay{width:100%;padding:20px;background:#0006}.body-section-text{font-size:16px}.flex-section-center.border .body-section-image.full{display:none}.flex-section-center.border .body-section-image.mobile{display:block;border-radius:50%;max-width:100px;border:solid #231f20 2px;margin-right:-40px;z-index:3}ul.desc-list li span{text-align:right;border:none;font-size:20px}ul.desc-list li{justify-content:space-between}.contact-content{justify-content:center;gap:0;margin-top:20px}.nav-toggle{display:block;z-index:1100}.nav-links{position:absolute;top:100%;right:0;background:#1b262cf2;backdrop-filter:blur(10px);flex-direction:column;width:100%;padding:1rem 0;display:none}.nav-links.open{display:flex}.nav-links li{text-align:center;padding:.75rem 0}.nav-links a{font-size:16px;color:#f3efe6}.nav-links a:hover{color:#ff4845}.nav-links a:hover:after{background:transparent}.nav-links a.active:after{background:#ff4845}.nav-toggle .icon-close,.nav-toggle.open .icon-menu{display:none}.nav-toggle.open .icon-close{display:block}.nav-container{padding:0 1.1rem}.logo-nav img{width:60px;height:60px}section[id]{scroll-margin-top:106px}}html{scroll-behavior:smooth}
