@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;600;700&family=Baloo+2:wght@400;600;700;800&display=swap');
:root{--ink:#17252b;--muted:#607178;--cream:#f4f1e9;--paper:#fffdf8;--green:#176b52;--lime:#c4e86b;--line:#dfe5dc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}.site-header{position:sticky;top:0;z-index:10;background:#17252bf2;border-bottom:1px solid #ffffff1f}.navbar{min-height:74px}.navbar-brand{font-family:'Space Grotesk',sans-serif;letter-spacing:.04em}.navbar-brand span{color:var(--lime)}.nav-link{color:#edf3ea!important}.btn{border-radius:3px;font-weight:700}.btn-accent{background:var(--lime);border-color:var(--lime);color:var(--ink)}.btn-accent:hover{background:#d6f48e;border-color:#d6f48e;color:var(--ink)}.btn-ghost{border:1px solid #d9e8d2;color:#fff;background:transparent}.hero{min-height:610px;display:flex;align-items:center;background:linear-gradient(115deg,#123d35 0%,#176b52 57%,#2e8060 100%);color:#fff;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-10%;bottom:-42%;width:65vw;height:65vw;border:1px solid #d7f08a66;border-radius:50%}.hero-content{position:relative;z-index:1;max-width:760px;padding:90px 12px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.75rem;font-weight:700;color:var(--green);margin-bottom:1rem}.hero .eyebrow{color:var(--lime)}h1,h2,h3{font-family:'Baloo 2', 'Space Grotesk', sans-serif}h1{font-size:clamp(2.5rem,5.8vw,5.4rem);line-height:.94;max-width:850px;margin:0 0 1.5rem;letter-spacing:-.03em;font-weight:800}.hero-copy{font-size:1.2rem;line-height:1.65;max-width:620px;color:#e4eee5;margin-bottom:2rem}.section{padding:100px 0}.section-light{background:var(--paper)}.section-dark{background:var(--ink);color:#fff}.section-heading{max-width:700px;margin-bottom:45px}h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;margin:0}.about-section .about-grid{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:2rem;align-items:start}.about-section .about-copy{color:#f0f6f3;min-width:0}.about-section .about-copy-full{grid-column:1 / 2}.about-section h2{color:var(--lime);margin-bottom:1.2rem}.about-section p{font-size:1.08rem;line-height:1.8;color:#edf5ef;margin-bottom:1rem}.about-section .eyebrow{color:var(--lime)}.about-video-link{display:inline-block;margin-top:1rem}.about-video-link:hover{color:var(--ink)}@media(max-width:767px){.about-section .about-grid{grid-template-columns:1fr !important}}.service-card{height:100%;padding:30px;background:#f0f4ec;border-top:4px solid var(--green)}.service-number{font-family:'Space Grotesk';color:var(--green);font-size:1.3rem}.service-card h3{margin-top:30px;font-size:1.5rem}.service-card p,.about-grid p,.contact-grid>div p{color:var(--muted);line-height:1.7}.about-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.about-grid p{color:#d5e0d8;font-size:1.25rem}.form-panel,.modal-content{background:#fff;border:1px solid var(--line);border-radius:4px}.form-panel{padding:28px}.form-panel label,.modal-body label{display:block;font-size:.85rem;font-weight:700;margin-bottom:15px}.form-panel input,.form-panel textarea,.modal-body input,.modal-body select,.modal-body textarea{display:block;width:100%;margin-top:7px;padding:11px 12px;border:1px solid #ccd6ca;border-radius:3px;background:#fff;font:inherit}.form-panel textarea,.modal-body textarea{min-height:110px;resize:vertical}.captcha-row{display:flex;align-items:center;gap:12px;margin:10px 0}.captcha-row img{height:42px;width:140px;border:1px solid var(--line)}.form-status{min-height:1.4em;margin-top:12px;font-size:.9rem}.form-status.error{color:#a02727}.form-status.success{color:var(--green)}.form-status.info{color:#52656b}.modal-title{font-family:'Space Grotesk'}.modal-footer a{font-size:.85rem;color:var(--green);margin-right:auto}.site-footer{background:#0f1b1e;color:#d5e0d8;padding:25px 0;font-size:.85rem}
@media(max-width:767px){.hero{min-height:570px}.section{padding:70px 0}.about-grid,.contact-grid{grid-template-columns:1fr;gap:35px}h1{font-size:3.3rem}.hero-content{padding:70px 12px}.navbar-nav{padding:15px 0}.modal-dialog{margin:.5rem}}
.about-video-link{display:block;width:max-content;max-width:100%;margin:1rem auto 0}

#registroModal .modal-dialog{max-height:calc(100vh - 1rem)}
#registroModal .modal-content{max-height:calc(100vh - 1rem);display:flex;flex-direction:column}
#registroModal #registerForm{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}
#registroModal .modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}
#registroModal .modal-footer{flex:0 0 auto;background:#fff}
.navbar-brand{display:inline-flex;align-items:center;padding:0}
.navbar-brand img{width:178px;height:auto;display:block}
.hero-logo{width:min(290px,70vw);height:auto;margin-bottom:28px;filter:drop-shadow(0 12px 24px #061d16a6)}
.service-card{padding:0 0 28px;overflow:hidden;border-radius:8px;border:1px solid #dfe5dc;border-top:4px solid var(--green);background:#fff;box-shadow:0 12px 30px #17252b12}
.service-card img{display:block;width:100%;height:190px;object-fit:cover;margin-bottom:26px}
.service-card .service-number,.service-card h3,.service-card p{margin-left:30px;margin-right:30px}
.service-card h3{margin-top:12px}
.service-card p{margin-bottom:0}
.service-card[data-bs-toggle="modal"]{cursor:pointer}
.service-card[data-bs-toggle="modal"]:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.service-modal .modal-content{border:0;border-radius:8px;overflow:hidden}
.service-modal .modal-header{border-bottom:1px solid var(--line);background:var(--paper)}
.service-modal .modal-title{color:var(--green);font-size:clamp(1.4rem,3vw,2.2rem);text-transform:uppercase}
.service-modal .modal-body{padding:2rem clamp(1rem,5vw,4rem);color:var(--muted);font-size:1.05rem;line-height:1.7}
.service-modal .modal-body img{display:block;width:min(100%,760px);max-height:520px;object-fit:contain;margin:0 auto 2rem;border-radius:6px}
.service-detail h3{margin:2.5rem 0 .75rem;color:var(--green);font-size:1.25rem;text-align:left}
.service-detail p{text-align:left;margin-bottom:1.25rem}
.service-detail .service-image-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:2rem}
.service-detail .service-image-row img{width:min(100%,360px);margin:0}
.control-detail h3,.control-detail p{text-align:center}
.control-detail .control-main-image{width:50%;margin-left:auto;margin-right:auto}
#serviceModal2 .service-detail p{text-align:center}
#serviceModal5 .service-detail p{text-align:center}
.benefit-detail p{text-align:center;max-width:900px;margin:0 auto 1rem}
.benefit-detail .benefit-icon{display:inline-block;width:1.5rem;margin-right:.55rem;color:var(--green)}
.plans-detail .plans-intro{text-align:center;font-size:1.1rem;color:var(--ink);max-width:900px;margin:0 auto 2rem}
.plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;text-align:left}
.plan-option{padding:1.5rem;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--green);border-radius:6px}
.plan-option h3{text-align:center;color:var(--green);font-size:1.45rem;text-transform:uppercase}
.plan-option ul{padding-left:1.2rem;color:var(--muted);line-height:1.55}
.plan-option li{margin-bottom:.65rem}
.plan-option .btn{display:block;width:max-content;margin:1.25rem auto 0}
@media(max-width:991px){.plans-grid{grid-template-columns:1fr}}
@media(max-width:767px){.control-detail .control-main-image{width:80%}}
.service-modal .modal-footer{border-top:1px solid var(--line)}
@media(max-width:767px){.navbar-brand img{width:150px}.hero-logo{width:min(240px,68vw)}.service-card img{height:170px}}

.site-header .navbar{position:relative}
.site-header .navbar-brand{position:absolute;left:12px;top:18px;color:var(--lime)!important;font-family:'Space Grotesk',sans-serif;font-size:1.3rem;letter-spacing:.08em;white-space:nowrap}
.site-header #mainNav{padding-left:245px}
.hero{background:#fff;color:var(--ink)}
.hero .hero-copy{color:var(--muted)}
.hero .btn-ghost{border-color:var(--green);color:var(--green)}
.hero:after{border-color:#176b5233}
.hero-logo{width:min(860px,90vw);filter:none}
@media(max-width:767px){.site-header .navbar-brand{position:static;font-size:1rem;letter-spacing:.05em}.site-header #mainNav{padding-left:0}.hero-logo{width:min(700px,90vw)}}
.btn-request-info{background:#ff6900;border-color:#ff6900;color:#fff}.btn-request-info:hover{background:#e85500;border-color:#e85500;color:#fff}
