/* 2026 refinement — preserve the original section architecture. */

.site-header .brand,.hero-mark,.footer-brand img{background:transparent;padding:0}
.brand img{width:120px;height:56px;object-fit:contain;filter:brightness(0) invert(1)}
.site-header.scrolled .brand img,.site-header.menu-open .brand img{filter:none}
.hero-mark{display:block;margin-bottom:20px;width:150px}
.hero-mark img{width:150px;height:118px;object-fit:contain;filter:brightness(0) invert(1)}
.hero-content{padding-top:60px}
.hero h1{font-size:clamp(3.65rem,6.5vw,6.75rem);letter-spacing:-.042em;margin:18px 0 25px}
.hero-image{background:linear-gradient(90deg,#04192feb 0%,#06213acb 48%,#081f3766 100%),url('../img/backgrounds/hero.jpg') center 53%/cover no-repeat}
.btn{border-radius:2px;position:relative;box-shadow:0 5px 14px #091f3025;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background .35s,border-color .35s}
.btn:hover{transform:translateY(-4px);box-shadow:0 14px 27px #091f3040}
.btn svg{transition:transform .3s}
.btn:hover svg{transform:translateX(5px)}
.nav-cta{box-shadow:none}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{min-height:365px;border:1px solid #dce6ec;position:relative;overflow:hidden;background:#fff}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.service-card:hover::before{transform:scaleX(1)}
.card-body{padding:33px;display:flex;flex-direction:column;height:100%}
.card-number{position:static;background:transparent;padding:0;color:#8396a5;font-size:.7rem;order:0}
.card-icon{margin:26px 0 22px;width:48px;height:48px;color:var(--blue)}
.card-icon svg{width:38px;height:38px}
.card-body h3{min-height:0;margin:0 0 15px;font-size:1.62rem}
.card-body p{min-height:0;flex:1;margin:0 0 28px;font-size:.94rem}
.card-body a{margin-top:auto;padding-top:17px}
.standards{background:linear-gradient(135deg,#071d35,#103657)}
.standards-head{max-width:690px;margin-bottom:42px}
.standards-head h2{margin-bottom:22px}
.standards-head p{max-width:560px}
.features{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.features .feature-card{display:flex;flex-direction:column;align-items:start;gap:21px;min-height:162px;padding:26px;background:#ffffff0b;border:1px solid #ffffff2b;transition:background .3s,transform .3s,border-color .3s}
.features .feature-card:hover{background:#ffffff18;border-color:#ffffff60;transform:translateY(-4px)}
.feature-card h3{font:400 1.19rem/1.35 Georgia,serif;margin:0;color:#fff}
.feature-card svg{color:#e5a466;width:30px;height:30px}
.indicators{padding:31px 0;background:#eaf0f4;border-block:1px solid #d9e3e9}
.indicator-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.indicator-grid>div{display:flex;align-items:center;gap:12px;border-right:1px solid #ccd9e2;padding-right:12px;font-size:.8rem;font-weight:700;letter-spacing:.025em;text-transform:uppercase}
.indicator-grid>div:last-child{border:0}
.indicator-grid svg{color:var(--blue);width:25px;height:25px;flex:none}
.area{background:#f5f8fa}
.area-grid{gap:5%;grid-template-columns:1fr 1.14fr}
.region-services{display:flex;gap:12px;flex-wrap:wrap;margin:23px 0}
.region-services>div{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #d4e1e9;background:#fff;color:var(--navy);font-size:.78rem;font-weight:700}
.region-services svg{width:19px;height:19px;color:var(--blue)}
.city-list li strong{font:700 .6rem Arial,sans-serif;color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin-left:7px}
.footer-main{grid-template-columns:1.6fr .9fr 1fr 1.2fr;gap:35px}
.footer-brand img{width:170px;height:133px;filter:brightness(0) invert(1);object-fit:contain}
.footer-brand p{margin:3px 0 14px}
.footer-brand>span{font-size:.77rem;letter-spacing:.07em;color:#a3bdce}
.footer-main a{transition:color .2s,transform .2s}
.footer-main a:hover{transform:translateX(3px)}
.whatsapp-float{animation:float-in 3.5s ease-in-out infinite}
@keyframes float-in{50%{box-shadow:0 12px 30px #071d355a,0 0 0 7px #19775018}}
@media(max-width:1050px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-main{grid-template-columns:1.5fr 1fr 1fr}.footer-brand{grid-column:1/-1}.indicator-grid{grid-template-columns:repeat(2,1fr)}.indicator-grid>div:nth-child(2){border:0}}
@media(max-width:760px){.brand img{width:100px;height:48px}.site-header.menu-open .brand img{filter:none}.hero-mark{width:120px}.hero-mark img{width:120px;height:95px}.hero h1{font-size:clamp(3.1rem,9vw,5rem)}.area-grid{grid-template-columns:1fr}.map-panel{max-width:600px;width:100%}.footer-main{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}}
@media(max-width:560px){.service-grid,.features{grid-template-columns:1fr}.service-card{min-height:0}.features .feature-card{min-height:130px}.indicator-grid{gap:18px}.indicator-grid>div{font-size:.67rem}.indicator-grid svg{width:21px;height:21px}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.hero h1{font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){.whatsapp-float{animation:none}}
/* Logo sizing follows the original artwork's vertical proportions. */
.brand img{width:105px;height:45px}
@media(max-width:760px){.brand img{width:94px;height:41px}}
.service-dialog{border:0;max-width:min(560px,calc(100% - 32px));padding:42px;background:#fff;color:var(--ink);box-shadow:0 35px 100px #061b34a1}
.service-dialog::backdrop{background:#061b34bb;backdrop-filter:blur(3px)}
.service-dialog h2{font-size:clamp(2.2rem,4vw,3.2rem);margin:18px 0 21px}
.service-dialog p{line-height:1.7}
.service-dialog .dialog-note{border-left:2px solid var(--orange);padding-left:15px;font-size:.87rem;margin:23px 0 30px}
.dialog-close{position:absolute;top:16px;right:18px;border:0;background:transparent;color:var(--navy);font-size:2rem;cursor:pointer;line-height:1}
@media(max-width:560px){.service-dialog{padding:36px 24px}}

/* Typography: two locally hosted families, no external font request. */
@font-face{font-family:'DM Serif Display';src:url('../fonts/dm-serif-display.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'DM Serif Display';src:url('../fonts/dm-serif-display-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('../fonts/manrope.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
body{font-family:Manrope,Arial,sans-serif;line-height:1.75;letter-spacing:-.006em}
h1,h2,h3,.card-body h3,.timeline h3,.feature-card h3,.contact-details strong{font-family:'DM Serif Display',Georgia,serif}
h1,h2{letter-spacing:-.025em;line-height:1.12}
h2 em{font-style:normal}
h1 em{font-style:italic}
.eyebrow,.btn,.main-nav>a,.footer h2,.footer-main a,.map-panel{font-family:Manrope,Arial,sans-serif}

/* Hero: content drives height, so short viewports never collide with controls. */
.hero{height:auto;max-height:none;min-height:100svh;padding:128px 0 88px;align-items:center}
.hero-content{padding-top:0}
.hero-mark{width:98px;margin:0 0 34px}
.hero-mark img{width:98px;height:77px}
.hero-eyebrow{margin-bottom:12px}
.hero h1{max-width:880px;margin:17px 0 28px;font-size:clamp(3.5rem,6vw,6.1rem);line-height:1.07}
.hero-content>p{max-width:635px;margin-bottom:0;font-size:1.08rem;line-height:1.75}
.hero-actions{margin-top:42px;gap:14px}
.hero-image{background-position:center,center 54%}

/* Quiet controls with consistent 300 ms response. */
.btn{min-height:54px;border-radius:2px;transition:transform .3s ease,box-shadow .3s ease,background .3s ease,border-color .3s ease}
.btn:hover{transform:translateY(-3px);box-shadow:0 12px 25px #081d3440}
.btn:active{transform:translateY(-1px);box-shadow:0 5px 12px #081d3430}
.nav-cta{min-height:44px;box-shadow:none}
.site-header{transition:background .3s ease,box-shadow .3s ease}

/* Editorial images add visual pauses without adding new sections. */
.intro-visual{margin:48px 0 0;overflow:hidden;background:#dbe5e9}
.intro-visual{height:390px;max-width:510px}
.intro-visual img,.contact-visual{width:100%;height:100%;object-fit:cover}
.intro-visual img{object-position:center 46%}
.intro-copy{padding-top:82px}
.contact-visual{display:block;height:175px;margin-bottom:13px;object-position:center 54%}

/* Services: monochrome line icons and spacious card content. */
.service-card{min-height:380px}
.card-body{padding:34px}
.card-icon{color:var(--navy-2);margin:24px 0 19px}
.card-icon svg{width:32px;height:32px;stroke-width:1.45}
.card-body h3{font-size:1.6rem;letter-spacing:-.015em}
.card-body p{line-height:1.7}

/* Compact footer with a more legible transparent wordmark. */
.footer-main{padding:60px 0 45px;align-items:start}
.footer-brand img{width:204px;height:160px;max-width:100%;object-fit:contain;margin:-10px 0 -6px}
.footer-brand p{margin:0 0 12px}
.footer-main a{line-height:1.6}
.footer-bottom{padding:19px 0 24px}
.whatsapp-float svg{display:block;width:31px;height:31px;fill:#fff;color:#fff}
.whatsapp-float{transition:transform .3s ease,box-shadow .3s ease,background .3s ease}

@media(max-width:1050px){
 .hero h1{max-width:760px}
 .intro-copy{padding-top:50px}
 .service-card{min-height:360px}
 .footer-main{gap:25px}
}
@media(max-width:760px){
 .section{padding:85px 0}
 .hero{min-height:100svh;padding:112px 0 75px}
 .hero-mark{width:82px;margin-bottom:27px}
 .hero-mark img{width:82px;height:65px}
 .hero h1{font-size:clamp(3.1rem,8.5vw,5rem);margin:16px 0 24px}
 .hero-actions{margin-top:34px}
 .intro-grid{gap:28px}
 .intro-visual{height:320px;margin-top:34px;max-width:100%}
 .intro-copy{padding-top:0}
 .map-panel{height:450px;max-width:none}
 .footer-main{padding-top:50px}
}
@media(max-width:560px){
 .section{padding:72px 0}
 .hero{padding:108px 0 70px}
 .hero h1{font-size:clamp(2.65rem,11vw,3.6rem);line-height:1.1}
 .hero-content>p{font-size:1rem}
 .hero-actions{width:100%;max-width:330px}
 .hero-actions .btn{width:100%;justify-content:center}
 .intro-visual{height:250px}
 .contact-visual{height:145px}
 .map-panel{height:410px}
 .footer-brand img{width:190px;height:150px}
 .service-card{min-height:0}
}
@media(max-height:650px) and (min-width:761px){
 .hero{min-height:650px}
}
@media(prefers-reduced-motion:reduce){}

/* Regional SVG: an editorial coastline, with accessible hover and focus labels. */
.map-panel{height:auto;aspect-ratio:600/520;background:#fff;border:1px solid #e0e8ec;box-shadow:0 16px 38px #0b294514}
.region-map{display:block;width:100%;height:auto;aspect-ratio:600/520;overflow:visible}
.map-land{fill:#f4f7f8;stroke:none}
.map-contour,.map-waterline{fill:none;stroke:#d8e2e7;stroke-width:1.25;stroke-linecap:round}
.map-waterline{stroke:#e2ebef;stroke-width:1.5}
.map-coast{fill:none;stroke:#a9c0cb;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.map-water-label{fill:#aabec8;font:600 11px Manrope,Arial,sans-serif;letter-spacing:.21em}
.map-place{outline:none;cursor:default}
.map-halo{fill:#fff;stroke:#89aec3;stroke-width:1.25;transition:stroke .25s ease,transform .25s ease;transform-box:fill-box;transform-origin:center}
.map-dot{fill:var(--blue);stroke:none}
.map-place--sede .map-halo{stroke:var(--orange);stroke-width:1.6}
.map-place--sede .map-dot{fill:var(--orange)}
.map-place:hover .map-halo,.map-place:focus-visible .map-halo{transform:scale(1.2);stroke-width:2}
.map-city-name{opacity:0;fill:var(--navy);stroke:#fff;stroke-width:5px;paint-order:stroke fill;pointer-events:none;font:700 13px Manrope,Arial,sans-serif;transition:opacity .25s ease}
.map-place:hover .map-city-name,.map-place:focus-visible .map-city-name{opacity:1}
.map-place:focus-visible .map-halo{stroke:var(--orange)}

/* Matching service icons and lighter feature cards. */
.card-icon{color:var(--navy);margin:27px 0 20px}
.card-icon svg{width:34px;height:34px;stroke-width:1.45}
.features .feature-card{background:#ffffff08;border-color:#ffffff26;box-shadow:none;transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
.features .feature-card:hover{transform:translateY(-3px);background:#ffffff11;border-color:#ffffff40;box-shadow:0 10px 22px #03152822}
.feature-card svg{color:#d2e2ea;width:25px;height:25px;stroke-width:1.5}

/* Consistent controls and polished footer details. */
.btn{box-shadow:0 5px 13px #091f3020}
.btn-primary:hover{background:#0b548f}
.btn-light:hover{background:#edf3f6}
.btn-outline:hover{background:#ffffff12;border-color:#ffffffb0}
.footer-main{align-items:start;gap:28px}
.footer-brand img{width:184px;height:145px}
.footer-main>div:not(.footer-brand){padding-top:5px}
.footer-main>div:last-child a{display:flex;align-items:flex-start;gap:9px}
.footer-main>div:last-child a svg{width:16px;height:16px;flex:none;margin-top:3px;color:#b6cddd;stroke-width:1.55}
.footer-bottom{border-top:1px solid #ffffff30}
.footer-main a{position:relative;width:fit-content;max-width:100%}
.footer-main a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:1px;background:#91bddd;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.footer-main a:hover::after,.footer-main a:focus-visible::after{transform:scaleX(1)}
.process{padding-bottom:clamp(95px,10vw,135px)}
.timeline{margin-bottom:0}
.intro-visual img,.contact-visual{filter:saturate(.76) contrast(1.04)}
@media(max-width:760px){.map-panel{height:auto;max-width:600px}.footer-main{gap:22px}.process{padding-bottom:92px}}
@media(max-width:560px){.map-panel{height:auto}.map-city-name{font-size:14px}.footer-brand img{width:180px;height:142px}}
@media(prefers-reduced-motion:reduce){.map-halo,.map-city-name,.features .feature-card,.footer-main a::after{transition:none}}
.region-map{stroke:none;fill:none}
@media(max-width:560px){.map-city-name{font-size:20px}}
