:root {
  --ink: #07131b;
  --ink-2: #0b1c27;
  --ink-3: #112632;
  --gold: #f3bd45;
  --gold-2: #ffd878;
  --paper: #f5f6f7;
  --paper-2: #ffffff;
  --text: #172027;
  --muted: #5f6971;
  --line: rgba(16, 34, 44, .13);
  --radius: 18px;
  --shadow: 0 22px 70px rgba(6, 21, 29, .13);
  --container: 1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:fixed;top:-80px;left:16px;z-index:9999;background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip-link:focus{top:16px}

.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:linear-gradient(180deg,rgba(3,13,20,.82),rgba(3,13,20,.36),transparent);border-bottom:1px solid transparent;transition:background .25s ease,box-shadow .25s ease,border-color .25s ease}
.site-header.scrolled{background:rgba(4,14,21,.96);box-shadow:0 12px 34px rgba(0,0,0,.22);border-color:rgba(255,255,255,.08);backdrop-filter:blur(14px)}
.header-inner{height:102px;display:flex;align-items:center;gap:22px;transition:height .25s ease}
.site-header.scrolled .header-inner{height:78px}
.brand{width:108px;min-width:108px;height:86px;display:flex;align-items:center;justify-content:flex-start;transition:.25s ease}
.brand img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 7px 18px rgba(0,0,0,.3));transition:.25s ease}
.site-header.scrolled .brand{width:76px;min-width:76px;height:68px}.site-header.scrolled .brand img{width:62px;height:62px}
.primary-nav{display:flex;align-items:center;gap:20px;margin-left:auto;min-width:0}.primary-nav a{color:#f0f4f6;font-size:.78rem;font-weight:750;letter-spacing:.005em;position:relative;white-space:nowrap}.primary-nav a::after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-9px;background:var(--gold);transition:.2s}.primary-nav a:hover::after,.primary-nav a.active::after{right:0}.primary-nav a.active{color:var(--gold-2)}
.header-actions{display:flex;align-items:center;gap:10px}.phone-pill{display:inline-flex;align-items:center;gap:8px;color:#fff;border:1px solid rgba(244,193,71,.75);padding:10px 14px;border-radius:5px;font-weight:900;white-space:nowrap;background:rgba(4,15,22,.48);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.nav-toggle{display:none;margin-left:auto;background:transparent;border:0;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:27px;height:2px;background:#fff;margin:5px;border-radius:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:13px 21px;border-radius:5px;border:1px solid transparent;font-weight:900;letter-spacing:.01em;text-transform:uppercase;font-size:.78rem;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-gold{background:linear-gradient(180deg,#ffdb78,#e8ab32);color:#101419;box-shadow:0 10px 25px rgba(227,166,43,.24),inset 0 1px 0 rgba(255,255,255,.45)}.btn-gold:hover{box-shadow:0 14px 32px rgba(227,166,43,.34)}.btn-outline{border-color:rgba(244,194,70,.82);color:#fff;background:rgba(4,15,22,.58);backdrop-filter:blur(8px)}.btn-sm{min-height:42px;padding:10px 15px;font-size:.7rem}
.phone-icon{width:1.08em;height:1.08em;display:inline-block;flex:0 0 auto;fill:currentColor}.phone-pill .phone-icon,.hero-phone .phone-icon,.contact-cards .phone-icon{color:var(--gold)}.btn-gold .phone-icon{color:#101419}

.hero{position:relative;min-height:clamp(640px,46vw,760px);color:#fff;display:block;overflow:hidden;background:#07131b;border-bottom:1px solid rgba(132,184,208,.3)}
.hero-media,.hero-media img{position:absolute;inset:0;width:100%;height:100%}.hero-media img{object-fit:cover;object-position:68% 50%;filter:saturate(1.02) contrast(1.03)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,13,20,.98) 0%,rgba(3,13,20,.96) 21%,rgba(3,13,20,.82) 38%,rgba(3,13,20,.35) 58%,rgba(3,13,20,.10) 78%),linear-gradient(180deg,rgba(2,11,17,.42) 0%,transparent 34%,rgba(3,13,20,.22) 68%,rgba(3,13,20,.88) 100%)}
.hero-blueprint{position:absolute;left:0;bottom:0;width:52%;height:54%;opacity:.18;background-image:linear-gradient(rgba(137,194,221,.45) 1px,transparent 1px),linear-gradient(90deg,rgba(137,194,221,.45) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to top,#000 0%,rgba(0,0,0,.82) 55%,transparent 100%)}
.hero-layout{position:relative;z-index:2;min-height:inherit;display:grid;grid-template-columns:minmax(0,650px) 1fr;gap:44px;align-items:center;padding-top:96px;padding-bottom:22px}
.hero-copy{align-self:center;padding-top:12px;max-width:670px}.hero-kicker{display:flex;align-items:center;gap:16px;margin:0 0 14px;color:var(--gold-2);font-size:.78rem;font-weight:900;letter-spacing:.28em;text-transform:uppercase}.hero-kicker span{display:inline-block;width:46px;height:3px;background:linear-gradient(90deg,var(--gold-2),#c98d18)}
.hero h1{font-size:clamp(3rem,4.15vw,4.7rem);line-height:.98;letter-spacing:-.048em;margin:0;max-width:720px;text-wrap:balance;text-shadow:0 4px 28px rgba(0,0,0,.28)}.hero h1 em{display:inline-block;color:#f6c455;font-style:normal;font-weight:inherit}
.hero-lead{max-width:645px;font-size:clamp(.98rem,1.08vw,1.17rem);line-height:1.42;color:#f1f4f5;margin:22px 0 24px;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.hero-cta .btn{min-height:54px;padding:14px 21px;font-size:.8rem}.hero-phone{min-width:255px}
.hero-benefits{display:grid;grid-template-columns:repeat(4,minmax(112px,1fr));margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.18);max-width:650px}
.hero-benefit{min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;gap:7px;padding:0 12px;border-right:1px solid rgba(255,255,255,.19)}.hero-benefit:first-child{padding-left:0}.hero-benefit:last-child{border-right:0;padding-right:0}.hero-benefit svg{width:34px;height:34px;stroke:var(--gold-2);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.hero-benefit:first-child svg:not(.hurricane-icon){fill:var(--gold-2);stroke:none}.hurricane-icon{fill:none!important;stroke:var(--gold-2)!important;stroke-width:2.2!important;stroke-linecap:round;stroke-linejoin:round}.hero-benefit span{font-size:.64rem;line-height:1.18;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#fff}
.hero-aside{position:relative;align-self:stretch;min-width:0}.hero-topline{position:absolute;top:2px;right:0;margin:0;font-size:.62rem;font-weight:800;letter-spacing:.3em;text-transform:uppercase;color:#e5edf1;white-space:nowrap}.hero-community{position:absolute;right:0;top:47%;text-align:right;font-size:.61rem;line-height:1.55;font-weight:850;letter-spacing:.17em;text-transform:uppercase;color:#f2f5f6;text-shadow:0 2px 9px rgba(0,0,0,.72)}.hero-community::before{content:"";position:absolute;left:-58px;top:50%;width:44px;height:1px;background:rgba(255,255,255,.52)}
.hero-script{position:absolute;right:2px;bottom:3px;text-align:right;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.85rem;line-height:.94;transform:rotate(-5deg);text-shadow:0 3px 15px #000;color:#fff}.hero-script span{display:inline-block;margin-top:4px}.hero-script::after{content:"";display:block;width:132px;height:2px;margin:9px 0 0 auto;background:linear-gradient(90deg,transparent,var(--gold-2))}

.technical-section{position:relative;background:linear-gradient(135deg,#07141c,#0b1d27 58%,#07141c);color:#eaf0f3;padding:30px 0 38px;overflow:hidden}.technical-section::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(126,178,203,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(126,178,203,.07) 1px,transparent 1px);background-size:30px 30px;pointer-events:none}.technical-grid{position:relative;display:grid;grid-template-columns:.88fr 1.2fr .6fr;gap:30px;align-items:center}.technical-copy h2{font-size:clamp(2.2rem,4vw,4rem);margin:0 0 15px;letter-spacing:-.04em}.technical-copy>p:not(.section-kicker){color:#d1dce1;margin:0 0 18px}.check-list{list-style:none;padding:0;margin:20px 0 22px;display:grid;gap:10px}.check-list li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem}.check-list li span{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;font-weight:900;flex:none}.text-link{color:var(--gold-2);font-weight:800;border-bottom:1px solid rgba(243,189,69,.3);padding-bottom:3px}.text-link.dark{color:#7a5712}.glass-visual{position:relative;min-height:430px}.glass-visual>img{width:100%;height:430px;object-fit:cover;opacity:.92}.glass-label{position:absolute;right:-5px;background:rgba(5,16,23,.72);border-left:2px solid var(--gold);padding:7px 10px;min-width:180px;backdrop-filter:blur(8px);font-size:.7rem}.glass-label b,.glass-label span{display:block}.glass-label b{text-transform:uppercase;color:#fff;font-size:.7rem}.glass-label span{color:#b9c5cc}.label-1{top:19%}.label-2{top:39%}.label-3{top:59%}.label-4{top:79%}.spec-card{border:1px solid rgba(243,189,69,.8);padding:24px 19px;background:rgba(7,19,27,.56);align-self:stretch;display:flex;flex-direction:column;justify-content:center}.spec-card p{font-size:.82rem;letter-spacing:.19em;text-transform:uppercase;margin:0}.spec-card strong{font-size:1rem;letter-spacing:.16em;color:var(--gold);margin-top:8px}.spec-rule{width:40px;height:3px;background:var(--gold);margin:18px 0}.spec-card span{font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#c7d0d5}.spec-card svg{margin-top:20px;stroke:#b6c3ca;fill:none;stroke-width:2;opacity:.8}

.process-section{background:#fff;padding:42px 0}.section-heading h2{font-size:clamp(2rem,3vw,3.2rem);margin:0;letter-spacing:-.04em}.section-kicker.dark{color:#8a6216}.heading-row{display:grid;grid-template-columns:1fr .7fr;gap:30px;align-items:end;margin-bottom:25px}.heading-row>p{color:var(--muted);margin:0 0 6px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe4e7;padding:0;list-style:none;margin:0;border:1px solid #dfe4e7}.process-grid li{position:relative;background:#f8f9fa;padding:24px 22px;min-height:180px}.process-grid li:not(:last-child)::after{content:"›";position:absolute;right:-10px;top:50%;z-index:2;color:#d79e25;font-size:2rem;background:#fff;line-height:20px}.num{position:absolute;top:16px;left:18px;font-size:2rem;font-weight:900;color:#8f969b}.process-icon{display:block;margin:4px 0 10px 55px;font-size:1.65rem;color:#0c1820}.process-grid h3{font-size:.86rem;text-transform:uppercase;margin:0 0 8px}.process-grid p{font-size:.84rem;color:#59636a;margin:0}

.services-section{padding:70px 0;background:#f3f5f6}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{display:grid;grid-template-columns:1fr 1fr;background:#0a1a24;color:#fff;overflow:hidden;box-shadow:var(--shadow);min-height:420px}.service-card.reverse picture{order:2}.service-card picture,.service-card picture img{width:100%;height:100%;object-fit:cover}.service-content{padding:34px;display:flex;flex-direction:column;justify-content:center}.micro{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-size:.66rem;font-weight:800;margin:0 0 7px}.service-content h3{font-size:2rem;line-height:1.03;margin:0 0 12px}.service-content>p:not(.micro){color:#d4dee3;margin:0 0 15px}.service-content ul{padding:0;margin:0 0 22px;list-style:none;display:grid;gap:9px;color:#e5ebee;font-size:.84rem}.service-content li::before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:8px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:.7rem}

.permits-section{display:grid;grid-template-columns:42% 58%;background:#fff}.permit-photo{position:relative;min-height:480px;overflow:hidden}.permit-photo picture,.permit-photo img{width:100%;height:100%;object-fit:cover}.permit-photo img{filter:saturate(.85) contrast(1.03)}.permit-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,15,22,.75),transparent 70%)}.permit-stamp{position:absolute;z-index:2;top:35px;left:7%;display:flex;flex-direction:column;font-size:.85rem;font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:#fff}.permit-copy{padding:56px max(7vw,55px) 46px 52px;align-self:center}.permit-copy h2{font-size:clamp(2.1rem,3.5vw,3.8rem);line-height:1.02;margin:0 0 16px;letter-spacing:-.045em}.permit-copy>p:not(.section-kicker,.legal-note){color:#59636a;max-width:750px}.permit-features{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.permit-features>div{padding:23px 17px;border-right:1px solid var(--line)}.permit-features>div:last-child{border-right:0}.feature-icon{display:block;font-size:1.8rem;margin-bottom:10px}.permit-features strong,.permit-features small{display:block}.permit-features strong{font-size:.8rem;text-transform:uppercase}.permit-features small{color:#6d777e;font-size:.73rem;margin-top:4px}.legal-note{font-size:.72rem;color:#7c858a;margin-top:18px}

.benefits-section{background:#fff;padding:28px 0 52px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.benefit-grid article{padding:26px 24px;border-right:1px solid var(--line)}.benefit-grid article:last-child{border-right:0}.benefit-grid article>span{font-size:2.1rem;color:#d3981e}.benefit-grid h3{font-size:.78rem;text-transform:uppercase;margin:8px 0 8px}.benefit-grid p{font-size:.78rem;color:#69747b;margin:0}

.areas-section{padding:64px 0;background:#eef1f3}.areas-grid{display:grid;grid-template-columns:1fr .95fr;gap:54px;align-items:center}.areas-grid h2{font-size:clamp(2.2rem,4vw,4rem);margin:0 0 12px;letter-spacing:-.04em}.areas-grid>div:first-child>p:not(.section-kicker){color:#5f6a70;max-width:620px}.city-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px 20px;list-style:none;padding:0;margin:24px 0 28px}.city-list li{font-size:.87rem;font-weight:750}.city-list li::before{content:"⌖";color:#cf941d;margin-right:7px}.map-card{position:relative;background:#dce3e7;min-height:430px;border:1px solid #cbd4da;overflow:hidden}.map-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 20%,rgba(255,255,255,.88),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.5),transparent)}.map-card svg{position:absolute;inset:15px 15px 30px;width:calc(100% - 30px);height:calc(100% - 45px)}.county{fill:#283a47;stroke:#8498a5;stroke-width:3}.coast{fill:none;stroke:#f5f8fa;stroke-width:7;opacity:.7}.roads path{fill:none;stroke:#f7c451;stroke-width:2;opacity:.45}.pins circle{fill:var(--gold);stroke:#fff;stroke-width:3}.map-card text{fill:#fff;font-size:16px;font-weight:900;letter-spacing:.1em}.map-copy{position:absolute;right:22px;bottom:18px;text-align:right}.map-copy span{display:block;color:#5e6c75;font-size:.64rem;text-transform:uppercase;letter-spacing:.2em}.map-copy strong{font-size:1.1rem;text-transform:uppercase;line-height:1.1}

.faq-section{padding:70px 0;background:#fff}.faq-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.faq-grid h2{font-size:clamp(2.3rem,4vw,4.1rem);line-height:1;letter-spacing:-.05em;margin:0 0 16px}.faq-grid>div:first-child>p:not(.section-kicker){color:#667178}.faq-list{display:grid;gap:10px}.faq-list details{border:1px solid #dce2e5;background:#f8f9fa;border-radius:10px;padding:0 19px}.faq-list summary{cursor:pointer;font-weight:850;padding:19px 28px 19px 0;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:0;top:16px;font-size:1.4rem;color:#bf8510}.faq-list details[open] summary::after{content:"–"}.faq-list details p{margin:0 0 19px;color:#5d6870;font-size:.92rem;max-width:850px}

.contact-section{position:relative;padding:78px 0;background:linear-gradient(135deg,#07141c,#0b2130);color:#fff;overflow:hidden}.contact-section::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(122,177,202,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(122,177,202,.06) 1px,transparent 1px);background-size:32px 32px}.contact-grid{position:relative;display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:start}.contact-copy h2{font-size:clamp(2.5rem,4.2vw,4.5rem);line-height:.98;margin:0 0 18px;letter-spacing:-.05em}.contact-copy>p:not(.section-kicker){color:#c8d3d9}.contact-cards{display:grid;gap:10px;margin-top:28px}.contact-cards a{display:flex;align-items:flex-start;gap:15px;padding:15px 16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);border-radius:10px}.contact-cards a>span{color:var(--gold);font-size:1.25rem;line-height:1}.contact-cards .phone-icon{width:1.25rem;height:1.25rem}.contact-cards small,.contact-cards strong{display:block}.contact-cards small{color:#91a1aa;text-transform:uppercase;letter-spacing:.12em}.contact-cards strong{margin-top:2px;font-size:.95rem}.project-form{background:#fff;color:#172027;padding:30px;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.25)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-form label{display:grid;gap:7px;font-weight:800;font-size:.8rem;margin-bottom:16px}.project-form input,.project-form select,.project-form textarea{width:100%;border:1px solid #ced8dd;background:#f7f9fa;border-radius:8px;padding:12px 13px;color:#13202a;outline:none;transition:.18s}.project-form input:focus,.project-form select:focus,.project-form textarea:focus{border-color:#c58b18;box-shadow:0 0 0 3px rgba(197,139,24,.13)}.project-form textarea{resize:vertical}.project-form .consent{display:flex;align-items:flex-start;font-weight:500;color:#59646b;font-size:.75rem;gap:9px}.project-form .consent input{width:auto;margin-top:3px}.project-form .btn{width:100%}.form-note{font-size:.72rem;color:#707b81;margin:11px 0 0;text-align:center}

.site-footer{background:#061018;color:#d9e2e7;padding:36px 0 18px;border-top:1px solid rgba(255,255,255,.08)}.footer-grid{display:grid;grid-template-columns:1.15fr .9fr 1.25fr 1fr;gap:40px;align-items:start}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:92px;height:92px;border-radius:50%}.footer-brand p{font-weight:800;margin:0}.footer-brand p span{display:inline-block;color:#8fa1aa;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;margin-top:5px}.footer-grid>div:not(.footer-brand){display:grid;gap:8px}.footer-grid strong{color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;margin-bottom:5px}.footer-grid a{font-size:.78rem;color:#9fb0b9}.footer-grid a:hover{color:var(--gold)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.08);margin-top:30px;padding-top:17px;font-size:.67rem;color:#7f919b;text-transform:uppercase;letter-spacing:.08em}

.whatsapp-float{position:fixed;z-index:1100;right:22px;bottom:22px;display:flex;align-items:center;gap:8px;background:#15c65a;color:#fff;padding:9px 13px 9px 9px;border-radius:999px;box-shadow:0 15px 35px rgba(0,0,0,.28);font-weight:900;font-size:.76rem}.whatsapp-float svg{width:36px;height:36px;fill:none;stroke:#fff;stroke-width:2.3}.whatsapp-float svg path:last-child{fill:#fff;stroke:none}.whatsapp-float:hover{transform:translateY(-2px)}

@media (max-width:1180px){
  .primary-nav{gap:13px}.primary-nav a{font-size:.72rem}.header-actions .btn{display:none}.brand{width:90px;min-width:90px}.brand img{width:76px;height:76px}.hero-layout{grid-template-columns:minmax(0,620px) 1fr}.hero h1{font-size:clamp(3rem,5.1vw,4.5rem)}.hero-lead{max-width:570px}.hero-benefits{max-width:620px}.technical-grid{grid-template-columns:.9fr 1.1fr}.spec-card{display:none}.service-grid{grid-template-columns:1fr}.permit-features{grid-template-columns:1fr 1fr}.permit-features>div:nth-child(2){border-right:0}.permit-features>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:900px){
  html{scroll-padding-top:76px}.container{width:min(calc(100% - 28px),var(--container))}.site-header{background:rgba(4,12,18,.94);backdrop-filter:blur(13px);border-bottom:1px solid rgba(255,255,255,.08)}.header-inner,.site-header.scrolled .header-inner{height:74px}.brand,.site-header.scrolled .brand{width:56px;min-width:56px;height:60px}.brand img,.site-header.scrolled .brand img{width:50px;height:50px}.nav-toggle{display:block}.primary-nav{position:absolute;top:74px;left:0;right:0;display:grid;gap:0;background:#061018;border-top:1px solid rgba(255,255,255,.08);padding:10px 18px 18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:.2s}.primary-nav.open{transform:none;opacity:1;pointer-events:auto}.primary-nav a{padding:13px 8px;border-bottom:1px solid rgba(255,255,255,.07);font-size:.84rem}.primary-nav a::after{display:none}.header-actions{margin-left:0}.phone-pill{font-size:.78rem;padding:8px 10px}.hero{min-height:780px}.hero-media img{object-position:68% 50%}.hero-overlay{background:linear-gradient(90deg,rgba(3,13,20,.97) 0%,rgba(3,13,20,.91) 48%,rgba(3,13,20,.52) 78%,rgba(3,13,20,.28) 100%),linear-gradient(0deg,rgba(3,13,20,.92) 0%,rgba(3,13,20,.18) 54%)}.hero-blueprint{width:100%;height:44%;opacity:.13}.hero-layout{grid-template-columns:1fr;padding-top:98px;padding-bottom:24px}.hero-copy{padding-top:0;max-width:650px}.hero h1{font-size:clamp(2.8rem,8.2vw,4.5rem)}.hero-lead{max-width:600px}.hero-aside{display:none}.hero-benefits{grid-template-columns:repeat(4,1fr);max-width:650px}.technical-grid{grid-template-columns:1fr}.glass-visual{order:2}.technical-copy{order:1}.glass-label{right:0}.heading-row{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr 1fr}.process-grid li:nth-child(2)::after{display:none}.service-card,.service-card.reverse{grid-template-columns:1fr}.service-card.reverse picture{order:0}.service-card picture{height:310px}.permits-section{grid-template-columns:1fr}.permit-photo{min-height:360px}.permit-copy{padding:45px 28px}.benefit-grid{grid-template-columns:1fr 1fr}.benefit-grid article:nth-child(2){border-right:0}.benefit-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.areas-grid{grid-template-columns:1fr}.faq-grid{grid-template-columns:1fr;gap:28px}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .header-actions{display:none}.hero{min-height:820px}.hero-media img{object-position:72% center}.hero-overlay{background:linear-gradient(90deg,rgba(3,13,20,.98),rgba(3,13,20,.78)),linear-gradient(0deg,rgba(3,13,20,.96),transparent 58%)}.hero-layout{padding-top:92px;padding-bottom:22px;align-items:end}.hero-kicker{font-size:.66rem;letter-spacing:.2em;margin-bottom:13px}.hero-kicker span{width:30px}.hero h1{font-size:clamp(2.35rem,11vw,3.25rem);line-height:.99}.hero-lead{font-size:.97rem;margin:16px 0 18px}.hero-cta{display:grid}.hero-cta .btn{width:100%;min-width:0}.hero-benefits{grid-template-columns:1fr 1fr;margin-top:20px;padding-top:12px}.hero-benefit{padding:9px 8px;min-height:82px}.hero-benefit:nth-child(2){border-right:0}.hero-benefit:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.16)}.hero-benefit svg{width:30px;height:30px}.hero-benefit span{font-size:.61rem}.technical-section{padding-top:26px}.technical-grid{gap:10px}.glass-visual,.glass-visual>img{min-height:360px;height:360px}.glass-label{font-size:.58rem;min-width:150px}.glass-label b{font-size:.6rem}.process-grid{grid-template-columns:1fr}.process-grid li::after{display:none}.service-content{padding:25px}.service-card picture{height:250px}.permit-copy{padding:38px 20px}.permit-features{grid-template-columns:1fr}.permit-features>div{border-right:0;border-bottom:1px solid var(--line)}.permit-features>div:last-child{border-bottom:0}.benefit-grid{grid-template-columns:1fr}.benefit-grid article{border-right:0;border-bottom:1px solid var(--line)!important}.benefit-grid article:last-child{border-bottom:0!important}.city-list{grid-template-columns:1fr 1fr}.map-card{min-height:360px}.form-row{grid-template-columns:1fr}.project-form{padding:22px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:grid}.whatsapp-float span{display:none}.whatsapp-float{padding:9px;right:15px;bottom:15px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.hurricane-icon-img{width:38px;height:38px;object-fit:contain;display:block;flex:0 0 auto}
@media (max-width:620px){.hurricane-icon-img{width:34px;height:34px}}


/* Technical X-ray block — approved reference rebuild */
.technical-v2{padding:0;background:#06141d;color:#eef4f7;border-top:1px solid rgba(120,177,204,.18);border-bottom:1px solid rgba(120,177,204,.22)}
.technical-v2::before{opacity:.72;background-size:31px 31px;background-image:linear-gradient(rgba(121,177,203,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(121,177,203,.075) 1px,transparent 1px)}
.impact-tech-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(250px,.9fr) minmax(500px,1.7fr) minmax(205px,.62fr);gap:24px;align-items:stretch;padding:28px 0 27px}
.impact-tech-copy{padding:4px 0 2px;align-self:center}.impact-kicker{display:flex;align-items:center;gap:14px;margin:0 0 4px;color:#fff;font-size:.72rem;font-weight:850;letter-spacing:.24em;text-transform:uppercase}.impact-kicker::before{content:"";width:3px;height:38px;background:var(--gold);display:block}.impact-kicker span{display:inline-block;width:32px;height:2px;background:var(--gold)}
.impact-tech-copy h2{margin:0 0 13px;font-size:clamp(2rem,3.1vw,3.35rem);line-height:1;letter-spacing:-.045em;color:#fff}.impact-tech-copy>p:not(.section-kicker){margin:0 0 15px;color:#e0e7eb;font-size:.92rem;line-height:1.48;max-width:430px}.impact-checks{list-style:none;margin:0;padding:0;display:grid;gap:9px}.impact-checks li{display:flex;align-items:center;gap:10px;color:#f3f6f8;font-size:.84rem;line-height:1.25}.impact-checks li>span{width:20px;height:20px;border:2px solid var(--gold-2);color:var(--gold-2);border-radius:50%;display:grid;place-items:center;font-size:.73rem;font-weight:950;flex:0 0 auto}
.impact-xray{margin:0;min-width:0;display:flex;align-items:center}.xray-stage{position:relative;width:100%;display:grid;grid-template-columns:minmax(300px,1.45fr) minmax(175px,.7fr);gap:10px;align-items:center;min-height:390px}.xray-image-wrap{height:390px;display:flex;align-items:center;justify-content:center;overflow:visible;position:relative;z-index:1}.xray-image-wrap::after{content:"";position:absolute;inset:auto 6% 0 8%;height:1px;background:linear-gradient(90deg,transparent,rgba(243,189,69,.55),transparent)}.xray-image-wrap img{height:auto;max-height:100%;width:100%;object-fit:contain;object-position:center;filter:saturate(.98) contrast(1.04);isolation:isolate}.xray-leaders{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}.xray-leaders polyline{fill:none;stroke:var(--gold);stroke-width:1.8;vector-effect:non-scaling-stroke}.xray-leaders circle{fill:var(--gold);stroke:#06141d;stroke-width:2;vector-effect:non-scaling-stroke}
.xray-callouts{display:grid;gap:12px;align-content:center;padding-left:24px;position:relative;z-index:3}.xray-callout{position:relative;appearance:none;border:1px solid transparent;background:rgba(6,20,29,.78);color:#fff;text-align:left;padding:8px 8px 8px 10px;cursor:pointer;min-height:58px;border-radius:4px;transition:background .18s ease,transform .18s ease,border-color .18s ease}.xray-callout::before,.xray-callout::after{content:none}.xray-callout strong{display:block;color:#fff;font-size:.69rem;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}.xray-callout span{display:block;margin-top:4px;color:#cbd6db;font-size:.66rem;line-height:1.25}.xray-callout:is(:hover,:focus-visible),.xray-callout.is-active{background:linear-gradient(90deg,rgba(243,189,69,.16),rgba(6,20,29,.9) 92%);border-color:rgba(243,189,69,.28);transform:translateX(3px);outline:none}.xray-callout:focus-visible{box-shadow:0 0 0 3px rgba(243,189,69,.2)}.xray-callout:is(:hover,:focus-visible) strong,.xray-callout.is-active strong{color:var(--gold-2)}
.impact-spec-card{border:1px solid var(--gold);padding:18px 16px 13px;background:rgba(6,18,26,.68);display:flex;flex-direction:column;justify-content:flex-start;min-width:0}.impact-spec-card>p{font-size:.73rem;line-height:1.55;letter-spacing:.18em;text-transform:uppercase;margin:0;color:#fff}.impact-spec-card>strong{font-size:.86rem;line-height:1.25;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-top:5px}.impact-spec-rule{width:35px;height:3px;background:var(--gold);margin:13px 0}.impact-spec-card>span{font-size:.64rem;line-height:1.55;text-transform:uppercase;letter-spacing:.17em;color:#e1e8eb}.impact-blueprint{width:100%;height:auto;margin-top:auto;max-height:190px;stroke:#9eabb2;fill:none;stroke-width:1.4;opacity:.87}.impact-blueprint text{stroke:none;fill:#bdc7cc;font-size:8px;letter-spacing:1.4px}
@media (max-width:1180px){.impact-tech-grid{grid-template-columns:.9fr 1.45fr}.impact-spec-card{display:none}.xray-stage{grid-template-columns:1.2fr .8fr}}
@media (max-width:900px){.impact-tech-grid{grid-template-columns:1fr;gap:14px;padding:28px 0}.impact-tech-copy{max-width:720px}.impact-tech-copy>p:not(.section-kicker){max-width:680px}.impact-xray{order:2}.impact-spec-card{display:flex;order:3;max-width:560px;width:100%;justify-self:center}.xray-stage{grid-template-columns:minmax(300px,1.15fr) minmax(220px,.85fr);min-height:410px}.xray-image-wrap{height:410px}}
@media (max-width:620px){.impact-tech-grid{padding:24px 0 26px}.impact-kicker{font-size:.64rem}.impact-kicker::before{height:32px}.impact-tech-copy h2{font-size:2.25rem}.impact-tech-copy>p:not(.section-kicker){font-size:.9rem}.impact-checks li{font-size:.82rem}.xray-stage{grid-template-columns:1fr;min-height:auto;gap:4px}.xray-image-wrap{height:300px;overflow:hidden}.xray-leaders{display:none}.xray-callouts{padding:4px 0 0;grid-template-columns:1fr 1fr;gap:8px}.xray-callout{border:1px solid rgba(243,189,69,.22);padding:10px 9px 10px 28px;border-radius:6px;min-height:78px;background:rgba(255,255,255,.018)}.xray-callout::before{content:"";position:absolute;left:10px;top:18px;width:11px;height:1.5px;background:var(--gold)}.xray-callout::after{content:"";position:absolute;left:8px;top:14.5px;width:8px;height:8px;border-radius:50%;background:var(--gold)}.xray-callout strong{font-size:.61rem}.xray-callout span{font-size:.58rem}.impact-spec-card{padding:16px}.impact-blueprint{max-height:165px}}

/* Anchors and illustration share one coordinate system, at every viewport. */
.impact-xray { display:block; align-self:center; }
.xray-stage { --xray-idle:#a08237; --xray-selected:#ffd878; grid-template-columns:minmax(0, 1.5fr) minmax(180px, 1fr); gap:16px; min-height:0; }
.xray-image-wrap { height:auto; aspect-ratio:3 / 2; width:100%; overflow:visible; }
.xray-image-wrap img { display:block; width:100%; height:auto; max-height:none; filter:none; }
.xray-image-wrap::after { content:none; }
.xray-touch-layers { display:none; }
.xray-markers { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; z-index:4; }
.xray-markers circle { fill:var(--xray-idle); stroke:var(--xray-idle); stroke-width:7; }
.xray-markers text { text-anchor:middle; dominant-baseline:central; font:bold 36px system-ui,sans-serif; fill:#06141d; }
.xray-markers .is-active circle { fill:var(--xray-selected); stroke:var(--xray-selected); }
.xray-leaders { z-index:2; }
.xray-leaders polyline { stroke:var(--xray-idle); stroke-width:1.5; opacity:1; stroke-linecap:butt; }
.xray-leaders .is-active { stroke:var(--xray-selected); stroke-width:2.5; opacity:1; }
.xray-callouts { padding:0; gap:8px; }
.xray-callout { padding:9px; min-height:64px; }
.xray-callout strong { font-size:.78rem; line-height:1.35; }
.xray-callout span { font-size:.75rem; line-height:1.4; }
.xray-callout::before,.xray-callout::after { content:none; }
.xray-callout:is(:hover,:focus-visible),.xray-callout.is-active { transform:none; }
#xray-caption { color:#b7c6cf; font-size:.6875rem; line-height:1.5; margin:12px 0 0; }
@media(max-width:1180px) {
  .impact-tech-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr); }
}
@media(max-width:1000px) {
  .impact-tech-grid { grid-template-columns:minmax(0,1fr); }
  .impact-xray { width:100%; max-width:800px; justify-self:center; }
}
@media(max-width:620px) {
  .xray-stage { grid-template-columns:minmax(0,1fr); }
  .xray-image-wrap { height:auto; max-width:480px; margin-inline:auto; }
  .xray-leaders { display:none; }
  .xray-callouts { grid-template-columns:repeat(2,minmax(0,1fr)); padding:0; }
  .xray-callout { padding:10px; min-height:90px; }
  .xray-touch-layers { display:block; position:absolute; inset:0; width:100%; height:100%; z-index:3; pointer-events:none; }
  .xray-touch-layers polygon { fill:transparent; pointer-events:all; cursor:pointer; touch-action:manipulation; }
  .xray-touch-layers [role="button"] { -webkit-tap-highlight-color:transparent; }
  .xray-touch-layers [role="button"]:focus-visible { outline:none; }
  .xray-touch-layers [role="button"]:focus-visible polygon { stroke:var(--xray-selected); stroke-width:8; fill:rgba(255,216,120,.12); }
  .xray-markers circle { transition:r .18s ease,fill .18s ease,filter .18s ease; }
  .xray-markers text { transition:font-size .18s ease; }
  .xray-markers .is-active circle { r:48; filter:drop-shadow(0 0 18px #ffd878); }
  .xray-markers .is-active text { font-size:60px; }
  .xray-callout { -webkit-tap-highlight-color:transparent; }
  .xray-callout.is-active,.xray-callout:active,.xray-callout:focus-visible { background:#ffd878; border-color:#ffd878; color:#06141d; box-shadow:0 0 18px rgba(255,216,120,.4); }
  .xray-callout.is-active strong,.xray-callout.is-active span,.xray-callout:active strong,.xray-callout:active span,.xray-callout:focus-visible strong,.xray-callout:focus-visible span { color:#06141d; }
}
@media(max-width:360px) {
  .xray-callouts { grid-template-columns:1fr; }
}

/* Installation reference layout, scoped to preserve all other approved blocks. */
#proceso { background: #fff; padding: 30px 0; }
#proceso .process-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 10px; }
#proceso .process-heading h2 { display: flex; align-items: center; gap: 13px; margin: 0; color: #172231; font-size: clamp(.78rem, 1.12vw, 1rem); font-weight: 800; line-height: 1.3; letter-spacing: .15em; text-transform: uppercase; }
#proceso .process-heading h2::before { content: ""; width: 3px; height: 18px; flex: 0 0 3px; background: #d9920b; }
#proceso .process-heading h2::after { content: ""; width: 36px; height: 2px; flex: 0 0 36px; background: #d9920b; }
#proceso .process-tagline { margin: 0; color: #344055; font-size: clamp(.55rem, .72vw, .65rem); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
#proceso .process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; border: 0; background: transparent; margin: 0; padding: 0; list-style: none; }
#proceso .process-grid li { display: grid; grid-template-columns: 65px minmax(0, 1fr); align-items: start; gap: 12px; min-height: 144px; padding: 14px 18px 12px 22px; background: linear-gradient(115deg, #f3f4f5, #f0f1f2); border: 1px solid #e4e7eb; border-radius: 3px; }
#proceso .num { position: static; margin-top: 4px; color: #707a85; font-family: "Arial Black", "Segoe UI", sans-serif; font-size: 42px; line-height: 1; font-weight: 900; letter-spacing: -.055em; -webkit-text-stroke: 1px #515b66; text-shadow: 0 1px 0 #fff; font-variant-numeric: tabular-nums; }
#proceso .process-icon { display: block; width: 36px; height: 36px; margin: 0 0 5px; color: #101214; }
#proceso .process-grid h3 { margin: 0 0 8px; color: #101214; font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif; font-size: 12px; font-weight: 800; line-height: 1.15; text-transform: uppercase; }
#proceso .process-grid p { margin: 0; color: #172231; font-family: Arial, sans-serif; font-size: 12px; line-height: 1.25; }
#proceso .process-grid li:not(:last-child)::after { content: ""; display: block; position: absolute; z-index: 2; right: -7px; top: 50%; width: 12px; height: 12px; border-top: 2px solid #d9920b; border-right: 2px solid #d9920b; background: transparent; transform: translateY(-50%) rotate(45deg); }
#proceso .process-intro { margin: 15px 0 0; color: #5f6971; font-size: .875rem; line-height: 1.5; }
@media (max-width: 1100px) and (min-width: 761px) {
  #proceso .process-grid li { grid-template-columns: 50px minmax(0, 1fr); gap: 10px; padding: 12px 12px 12px 18px; }
  #proceso .num { font-size: 36px; }
  #proceso .process-grid h3, #proceso .process-grid p { font-size: 11px; }
}
@media (max-width: 760px) {
  #proceso .process-heading { align-items: flex-start; flex-direction: column; gap: 8px; margin-bottom: 14px; }
  #proceso .process-tagline { padding-left: 16px; }
  #proceso .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #proceso .process-grid li { grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 16px; }
  #proceso .num { font-size: 36px; }
  #proceso .process-grid li:nth-child(2)::after { display: none; }
}
@media (max-width: 480px) {
  #proceso .process-grid { grid-template-columns: 1fr; gap: 12px; }
  #proceso .process-grid li { grid-template-columns: 65px minmax(0, 1fr); min-height: 132px; padding: 16px 22px; }
  #proceso .num { font-size: 42px; }
  #proceso .process-grid li:not(:last-child)::after { display: block; right: auto; left: 50%; top: auto; bottom: -8px; transform: translateX(-50%) rotate(135deg); }
}

/* Scoped service cards based on the approved visual reference. */
#servicios .home-improvement-card { grid-column:1 / -1; }
#servicios .home-improvement-card .service-content h3 { max-width:none; }
#servicios .home-improvement-card picture img { object-position:70% center; }
#servicios { padding: 10px 0 32px; background: #fff; }
#servicios .service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#servicios .service-card { display: grid; grid-template-columns: 52% 48%; min-height: 290px; border: 1px solid #d6dde0; border-radius: 3px; background: #0b171d; box-shadow: 0 5px 12px rgba(7,19,27,.09); }
#servicios .service-card picture, #servicios .service-card.reverse picture { order: 0; height: 100%; min-height: 290px; min-width: 0; }
#servicios .service-card picture img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
#servicios .service-content { position: relative; padding: 22px 25px 16px; justify-content: flex-start; min-width: 0; background: radial-gradient(ellipse at top right, rgba(43,68,79,.22), transparent 65%), #0b171d; }
#servicios .service-content::before { content: ""; pointer-events: none; position: absolute; top: 0; right: 0; width: 65px; height: 90px; opacity: .22; background-image: linear-gradient(rgba(117,153,163,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(117,153,163,.3) 1px,transparent 1px); background-size: 12px 12px; mask-image: linear-gradient(225deg,#000,transparent); }
#servicios .service-content h3 { max-width: 210px; margin: 0 0 10px; color: #f7f8f9; font-size: clamp(18px,1.85vw,25px); line-height: 1.1; font-weight: 800; letter-spacing: .075em; text-transform: uppercase; }
#servicios .service-content>p { margin: 0 0 16px; color: #fff; font-size: 15px; line-height: 1.35; }
#servicios .service-content ul { display: grid; gap: 8px; margin: 0 0 17px; padding: 0; color: #f4f5f6; font-size: 12px; line-height: 1.3; }
#servicios .service-content li { display: flex; align-items: flex-start; gap: 10px; }
#servicios .service-content li::before { content: "✓"; display: inline-grid; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; place-items: center; border: 2px solid #ffd34b; border-radius: 50%; color: #ffd34b; font-size: 12px; font-weight: 800; line-height: 1; }
#servicios .service-content .btn { align-self: flex-start; margin-top: auto; padding: 9px 15px; min-height: 36px; max-width: 100%; gap: 10px; border: 1px solid #edbd55; border-radius: 2px; background: linear-gradient(115deg,#dfad3c,#ffe8a4 55%,#e7b54d); box-shadow: inset 0 1px 1px #fff4ca,0 2px 5px #0005; color: #070e12; font-size: 12px; font-weight: 800; line-height: 1.2; }
@media (min-width: 761px) and (max-width: 1100px) {
  #servicios .service-grid { gap: 12px; }
  #servicios .service-card, #servicios .service-card picture { min-height: 250px; }
  #servicios .service-content { padding: 17px 18px 13px; }
  #servicios .service-content h3 { font-size: 18px; }
  #servicios .service-content>p { font-size: 13px; margin-bottom: 12px; }
  #servicios .service-content ul { font-size: 10px; gap: 6px; margin-bottom: 12px; }
  #servicios .service-content li { gap: 8px; }
  #servicios .service-content .btn { font-size: 10px; padding: 8px 10px; }
}
@media (max-width: 760px) {
  #servicios .service-grid { grid-template-columns: 1fr; gap: 18px; }
  #servicios .service-content { padding: 20px; }
  #servicios .service-content h3 { font-size: 22px; }
}
@media (max-width: 480px) {
  #servicios .service-card { grid-template-columns: 1fr; }
  #servicios .service-card picture, #servicios .service-card.reverse picture { height: 220px; min-height: 0; }
  #servicios .service-content { padding: 22px; }
  #servicios .service-content h3 { max-width: 230px; }
  #servicios .service-content ul { font-size: 13px; }
}

/* Reference-style permit block. Other sections remain untouched. */
#permisos { display:grid; grid-template-columns:42% minmax(0,1fr); gap:32px; padding:16px 0 22px; background:#fff; }
#permisos .permit-photo { min-height:300px; border-radius:3px; }
#permisos .permit-photo picture { display:block; height:100%; }
#permisos .permit-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:none; }
#permisos .permit-photo::after { background:linear-gradient(0deg,rgba(3,15,24,.65),transparent 45%,rgba(3,15,24,.14)); }
#permisos .permit-stamp { top:22px; left:8%; font-size:clamp(12px,1.12vw,17px); line-height:1.4; letter-spacing:.15em; text-shadow:0 1px 4px #142738; }
#permisos .permit-home { position:absolute; z-index:2; left:8%; bottom:16px; margin:0; color:#fff; font-size:clamp(10px,.9vw,14px); font-weight:800; line-height:1.35; letter-spacing:.15em; text-transform:uppercase; text-shadow:0 1px 4px #142738; }
#permisos .permit-copy { position:relative; padding:0 28px 0 20px; align-self:start; }
#permisos .permit-copy::before { content:""; position:absolute; top:0; left:0; width:3px; height:60px; background:#d69b26; }
#permisos .section-kicker { margin:0 0 5px; color:#26323d; font-size:clamp(10px,.92vw,14px); font-weight:800; letter-spacing:.14em; line-height:1.4; }
#permisos h2 { font-size:clamp(24px,2.5vw,38px); color:#090c0e; line-height:1.12; letter-spacing:-.03em; margin:0 0 12px; }
#permisos .permit-copy>p:not(.section-kicker,.legal-note) { max-width:none; margin:0; color:#30383e; font-size:clamp(14px,1.23vw,19px); line-height:1.3; }
#permisos .permit-features { grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:22px; border:0; }
#permisos .permit-features>div { padding:0 18px; border:0; border-right:1px solid #e1e5e8; }
#permisos .permit-features>div:first-child { padding-left:4px; }
#permisos .permit-features>div:last-child { border:0; padding-right:0; }
#permisos .permit-features svg { display:block; width:48px; height:48px; margin:0 0 10px 10px; fill:none; stroke:#111; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
#permisos .permit-features p { margin:0; color:#30383e; font-size:clamp(12px,1.05vw,16px); line-height:1.35; }
#permisos .legal-note { margin:14px 0 0; color:#69737b; font-size:10px; line-height:1.4; }
@media(max-width:900px) {
  #permisos { grid-template-columns:1fr; gap:22px; }
  #permisos .permit-photo { min-height:0; aspect-ratio:2/1; margin:0 14px; }
  #permisos .permit-copy { margin:0 14px; padding:0 0 0 16px; }
  #permisos .permit-stamp { font-size:14px; }
  #permisos .permit-home { font-size:11px; }
}
@media(max-width:480px) {
  #permisos .permit-features { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 0; }
  #permisos .permit-features>div { padding:0 12px; }
  #permisos .permit-features>div:nth-child(odd) { padding-left:4px; }
  #permisos .permit-features>div:nth-child(even) { border-right:0; }
  #permisos .permit-stamp { top:14px; font-size:11px; }
  #permisos .permit-home { bottom:12px; font-size:9px; }
}

/* Match permit icons: black, 3px visible strokes, rounded ends, no fill or shadow. */
.benefits-section { background:#fff; padding:20px 0 28px; }
.benefits-section .benefits-heading { display:flex; align-items:center; gap:12px; margin:0 0 20px; }
.benefits-section .benefits-heading h2 { display:flex; align-items:center; gap:12px; margin:0; color:#26323d; font-size:13px; font-weight:800; line-height:1.35; letter-spacing:.14em; text-transform:uppercase; }
.benefits-section .benefits-heading h2::before { content:""; flex:0 0 3px; width:3px; height:18px; background:#d59b27; }
.benefits-section .benefits-heading h2::after { content:""; flex:0 0 34px; width:34px; height:2px; background:#d59b27; }
.benefits-section .benefits-heading>span { flex:1; height:1px; background:#e6e9ec; }
.benefits-section .benefit-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:0; }
.benefits-section .benefit-grid article { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:start; gap:20px; padding:0 22px; border:0; border-right:1px solid #e6e9ec; }
.benefits-section .benefit-grid article:first-child { padding-left:12px; }
.benefits-section .benefit-grid article:last-child { padding-right:0; border-right:0; }
.benefits-section .benefit-icon { display:block; width:64px; height:64px; fill:none; stroke:#111; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; filter:none; box-shadow:none; }
.benefits-section .benefit-icon>* { vector-effect:non-scaling-stroke; }
.benefits-section .benefit-grid h3 { margin:4px 0 9px; color:#10171c; font-family:Arial,sans-serif; font-size:12px; font-weight:800; line-height:1.2; text-transform:uppercase; }
.benefits-section .benefit-grid p { margin:0; color:#424b52; font-family:Arial,sans-serif; font-size:14px; line-height:1.4; }
@media (min-width:901px) and (max-width:1150px) {
  .benefits-section .benefit-grid article { grid-template-columns:50px minmax(0,1fr); gap:12px; padding-inline:14px; }
  .benefits-section .benefit-icon { width:50px; height:50px; }
  .benefits-section .benefit-grid p { font-size:12px; }
  .benefits-section .benefit-grid h3 { font-size:11px; }
}
@media (max-width:900px) {
  .benefits-section .benefit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 0; }
  .benefits-section .benefit-grid article { padding:0 18px; border-bottom:0; }
  .benefits-section .benefit-grid article:nth-child(odd) { padding-left:0; }
  .benefits-section .benefit-grid article:nth-child(even) { padding-right:0; border-right:0; }
}
@media (max-width:620px) {
  .benefits-section .benefits-heading h2 { font-size:11px; gap:9px; }
  .benefits-section .benefits-heading h2::after { flex-basis:24px; }
  .benefits-section .benefit-grid { grid-template-columns:1fr; gap:0; }
  .benefits-section .benefit-grid article { padding:18px 0; border-right:0; border-bottom:1px solid #e6e9ec!important; }
  .benefits-section .benefit-grid article:first-child { padding-top:0; padding-left:0; }
  .benefits-section .benefit-grid article:last-child { border-bottom:0!important; padding-bottom:0; }
}

#areas { padding:28px 0; background:linear-gradient(110deg,#f7f8f9,#e9edef); }
#areas .areas-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.75fr); gap:30px; align-items:start; }
#areas h2 { display:flex; align-items:center; gap:14px; margin:0 0 20px; font-size:15px; font-weight:800; line-height:1.3; letter-spacing:.15em; text-transform:uppercase; color:#263642; }
#areas h2::before { content:""; width:3px; height:22px; background:#d49b28; flex-shrink:0; }
#areas h2::after { content:""; width:40px; height:2px; background:#d49b28; }
#areas .area-lead { margin:0; font-size:17px; color:#313d46; }
#areas .area-locations { display:flex; align-items:flex-start; gap:12px; margin:65px 0 18px; }
#areas .area-locations svg { width:26px; height:34px; flex:0 0 26px; fill:#111; stroke:#fff; stroke-width:2; }
#areas .area-locations svg circle { fill:#fff; stroke:none; }
#areas .area-locations p { margin:0; color:#34414b; font-size:16px; line-height:1.5; }
#areas .btn { border-radius:3px; border:1px solid #c79a3e; background:linear-gradient(115deg,#dfad3c,#ffe8a4 55%,#e7b54d); color:#101820; font-size:14px; padding:12px 20px; }
#areas .area-details { margin-top:18px; font-size:13px; scroll-margin-top:100px; }
#areas .area-details summary { cursor:pointer; color:#34414b; }
#areas .area-city-links { columns:2; padding-left:18px; line-height:1.9; }
#areas .area-city-links a:hover { text-decoration:underline; }
#areas .service-area-map { margin:0; }
#areas .service-area-map img { width:100%; height:350px; object-fit:contain; }
#areas figcaption { max-width:390px; margin:10px auto 0; font-size:10px; line-height:1.45; color:#596772; }
#areas figcaption a { text-decoration:underline; }
@media(max-width:620px) {
 #areas .areas-grid { grid-template-columns:1fr; gap:22px; }
 #areas .area-locations { margin-top:26px; }
 #areas .service-area-map img { height:360px; }
}

/* Shared visual interaction from Evaluar mi proyecto. Telephone CTAs excluded.
   Keep destinations, submit actions, dimensions and placement unchanged. */
body .btn:not([href^="tel:"]),
#servicios .service-content .btn:not([href^="tel:"]),
#areas .btn:not([href^="tel:"]),
body .whatsapp-float {
  background:linear-gradient(180deg,#ffdb78,#e8ab32);
  color:#101419;
  border:1px solid transparent;
  box-shadow:0 10px 25px rgba(227,166,43,.24),inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
  cursor:pointer;
}
body .btn:not([href^="tel:"]):hover,
#servicios .service-content .btn:not([href^="tel:"]):hover,
#areas .btn:not([href^="tel:"]):hover,
body .whatsapp-float:hover {
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(227,166,43,.34);
}
body .btn:not([href^="tel:"]):focus-visible,
body .whatsapp-float:focus-visible {
  outline:2px solid #101419;
  outline-offset:3px;
}
body .whatsapp-float svg { stroke:currentColor; }
body .whatsapp-float svg path:last-child { fill:currentColor; }
@media(prefers-reduced-motion:reduce) {
  body .btn:not([href^="tel:"]),
  #servicios .service-content .btn:not([href^="tel:"]),
  #areas .btn:not([href^="tel:"]),
  body .whatsapp-float { transition:none; }
  body .btn:not([href^="tel:"]):hover,
  #servicios .service-content .btn:not([href^="tel:"]):hover,
  #areas .btn:not([href^="tel:"]):hover,
  body .whatsapp-float:hover { transform:none; }
}

/* Shared floating contacts: call portrait above WhatsApp. */
body .call-float { position:fixed; z-index:1100; right:22px; bottom:calc(102px + env(safe-area-inset-bottom,0px)); width:72px; height:72px; border-radius:50%; background:#f3bd45; box-shadow:0 4px 16px #0003; isolation:isolate; }
.call-portrait { position:absolute; inset:3px; border-radius:50%; overflow:hidden; background:#f3bd45; }
.call-portrait img { position:absolute; width:235%; max-width:none; height:auto; left:-84%; top:-3%; }
.call-float::before,.call-float::after { content:""; position:absolute; inset:0; border:1px solid #e8ad32; border-radius:50%; z-index:-1; pointer-events:none; animation:call-sonar 3.8s ease-out infinite; }
.call-float::after { animation-delay:1.9s; }
.call-badge { position:absolute; right:-1px; bottom:-1px; display:grid; place-items:center; width:24px; height:24px; border:2px solid #fff; border-radius:50%; background:#f3bd45; color:#101419; font-size:15px; line-height:1; }
@keyframes call-sonar { 0% { transform:scale(1); opacity:.45; } 65%,100% { transform:scale(1.4); opacity:0; } }
body .whatsapp-float { right:28px; bottom:calc(22px + env(safe-area-inset-bottom,0px)); width:60px; height:60px; display:grid; place-items:center; padding:12px; border:0; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 4px 16px #0003; }
body .whatsapp-float:hover { background:#25d366; box-shadow:0 6px 20px #0004; }
.whatsapp-brand-mark { width:36px; height:36px; object-fit:contain; filter:none; }
.call-float:focus-visible,body .whatsapp-float:focus-visible { outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px #17232b; }
@media(max-width:620px) {
 body .call-float { right:15px; bottom:calc(89px + env(safe-area-inset-bottom,0px)); width:66px; height:66px; }
 body .whatsapp-float { right:20px; bottom:calc(15px + env(safe-area-inset-bottom,0px)); width:56px; height:56px; padding:10px; }
}
@media(prefers-reduced-motion:reduce) {
 .call-float::before,.call-float::after { animation:none; opacity:0; }
 body .whatsapp-float { transition:none; }
 body .whatsapp-float:hover { transform:none; }
}

.language-switch { display:flex; align-items:center; flex:0 0 auto; gap:0; border:1px solid rgba(243,189,69,.65); border-radius:5px; background:rgba(4,15,22,.65); color:#fff; font-size:12px; font-weight:800; }
.language-switch a { display:grid; place-items:center; min-width:34px; min-height:44px; padding:0 6px; }
.language-switch a[aria-current="page"] { color:#ffd878; }
.language-switch a:hover { background:rgba(243,189,69,.15); }
.language-switch a:focus-visible { outline:2px solid #ffd878; outline-offset:2px; }
.language-switch>span { color:#b4bfc6; }
.mobile-menu-ctas { display:none; }
@media(min-width:901px) {
 .language-switch { order:4; }
 .header-inner { gap:12px; }
 .primary-nav { gap:14px; }
 .primary-nav a { font-size:.72rem; }
 .header-actions .btn { padding-inline:12px; }
}
@media(max-width:900px) {
 .header-inner { gap:12px; }
 .header-actions { order:1; margin-left:auto; }
 .language-switch { order:2; margin-left:auto; }
 .nav-toggle { order:3; margin-left:0; min-width:44px; min-height:44px; }
 .primary-nav { max-height:calc(100vh - 74px); max-height:calc(100dvh - 74px); overflow-y:auto; overscroll-behavior:contain; visibility:hidden; padding-bottom:calc(18px + env(safe-area-inset-bottom,0px)); }
 .primary-nav.open { visibility:visible; }
 .mobile-menu-ctas { display:grid; gap:12px; padding-top:18px; }
 .primary-nav .mobile-menu-ctas a { display:flex; justify-content:center; align-items:center; gap:9px; width:100%; min-height:48px; white-space:normal; text-align:center; font-size:.9rem; }
 .primary-nav .mobile-menu-ctas .phone-pill { border:1px solid rgba(244,193,71,.75); }
 .mobile-menu-ctas a:focus-visible { outline:2px solid #ffd878; outline-offset:3px; }
}
@media(max-width:620px) {
 .language-switch { font-size:11px; }
 .language-switch a { min-width:32px; }
}

/* Compact mobile hero: content determines height, without changing desktop. */
@media (max-width:900px) {
  .hero { min-height:0; }
  .hero-layout {
    min-height:0;
    align-items:start;
    align-content:start;
    gap:0;
    padding-top:92px;
    padding-bottom:18px;
  }
  .hero-copy { align-self:start; padding-top:0; }
}
@media (max-width:620px) {
  .hero-layout { padding-bottom:16px; }
  .hero-kicker { margin-bottom:12px; }
  .hero-lead { margin:14px 0 16px; }
  .hero-cta { gap:10px; }
  .hero-benefits { margin-top:18px; padding-top:10px; }
}

/* License strip stays attached to the fixed navigation. */
.license-bar {
  min-height:34px;
  display:flex;
  align-items:center;
  color:#f0f4f6;
  background:rgba(4,14,21,.96);
  border-bottom:1px solid rgba(255,255,255,.12);
  text-align:center;
  backdrop-filter:blur(14px);
}
.license-bar p { margin:0 auto; padding:7px 0; font-size:.73rem; line-height:1.35; font-weight:750; letter-spacing:.025em; }
.license-bar strong { color:var(--gold-2); font-weight:900; white-space:nowrap; }
html { scroll-padding-top:126px; }
.hero-layout { padding-top:130px; }
@media(max-width:900px) {
  html { scroll-padding-top:112px; }
  .primary-nav { top:108px; max-height:calc(100vh - 108px); max-height:calc(100dvh - 108px); }
  .hero-layout { padding-top:126px; }
}
@media(max-width:620px) {
  .license-bar { min-height:40px; }
  .license-bar p { font-size:.66rem; padding:4px 0; }
  html { scroll-padding-top:118px; }
  .primary-nav { top:114px; max-height:calc(100vh - 114px); max-height:calc(100dvh - 114px); }
  .hero-layout { padding-top:132px; }
}
