@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#092e50;--deep:#06243e;--orange:#f67708;--ink:#173449;--muted:#62717b;--line:#dce3e7;--light:#f3f6f8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}h1,h2,h3{font-family:Manrope,Arial,sans-serif;margin:0;font-weight:700;line-height:1.16;letter-spacing:-.04em}p{color:var(--muted);margin:0 0 20px}h1{font-size:clamp(3rem,4.6vw,5rem)}h2{font-size:clamp(2rem,3.2vw,3.5rem)}h3{font-size:1.4rem;letter-spacing:-.025em}header{height:100px;padding:0 5.6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:10}.brand{width:146px;height:92px;display:flex;align-items:center;overflow:hidden}.brand img{width:146px;height:auto;display:block}nav{display:flex;gap:32px;font-size:.9rem;font-weight:500}nav a:hover{color:#bc5200}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--orange);color:#112a3e;font-weight:700;border:0;padding:17px 23px;border-radius:4px;cursor:pointer;line-height:1.4;transition:background .2s,transform .2s;text-align:center}.button:hover{background:#ff9132;transform:translateY(-2px)}.button.small{font-size:.875rem;padding:13px 20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:680px}.hero-copy{padding:58px 7% 34px 11.2%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--navy);margin-bottom:24px;line-height:1.6}.eyebrow span:not(.area-panel span){display:inline-block;width:20px;height:2px;background:var(--orange);vertical-align:middle;margin-right:10px}h1 em{font-style:normal;color:#718a9a;font-weight:500}.hero-copy>p{max-width:470px;font-size:1.05rem;margin:26px 0 29px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.text-link{font-size:.9rem;font-weight:700;display:inline-block;border-bottom:1px solid #95a5b2;padding-bottom:4px}.text-link:hover{color:#ad4c00;border-color:var(--orange)}.hero-bottom{display:flex;gap:26px;margin-top:auto;padding-top:35px;font-size:.7rem;letter-spacing:.14em;font-weight:700;color:#5c7383}.hero-image{margin:0;position:relative;min-width:0;overflow:hidden;background:#e8edf0}.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center}.hero-image:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(3,25,42,.88))}.hero-image figcaption{position:absolute;bottom:40px;left:40px;right:40px;z-index:1;color:white;border-top:1px solid #ffffff70;padding-top:23px}.hero-image figcaption>span{font-size:.7rem;letter-spacing:.15em}.hero-image strong{display:block;font:600 2rem/1.2 Manrope,Arial,sans-serif;margin-top:12px;letter-spacing:-.025em}.hero-image small{position:absolute;bottom:0;right:0;font-size:.75rem;color:#e1e9ed}.service-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;background:var(--navy);color:white;padding:23px 6%;font-size:.9rem}.service-strip i{width:4px;height:4px;background:var(--orange);border-radius:50%}.section{padding:92px 6%;scroll-margin-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:40px}.section-heading>p{max-width:350px;margin-bottom:5px}.section .eyebrow{margin-bottom:17px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:29px 30px 25px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:270px;transition:background .2s}.service-card:hover{background:var(--light)}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.service-num{color:#bc5100;font:500 1rem Manrope,sans-serif}.service-label{font-size:.63rem;letter-spacing:.1em;color:#6f7f89}.service-card h3{margin-bottom:15px}.service-card p{font-size:.95rem;max-width:310px}.card-link{font-size:.8rem;font-weight:700;display:flex;justify-content:space-between;margin-top:auto;padding-top:10px}.card-link>span{font-size:1.2rem;color:#ba5100}.process{background:var(--light);display:grid;grid-template-columns:1fr 1fr;gap:12%}.process-intro p{max-width:390px;margin-top:22px}.process-intro .button{margin-top:8px}.steps article{display:flex;gap:28px;border-bottom:1px solid #d2dce3;padding:26px 0}.steps article:first-child{padding-top:0}.steps article>span{font:500 1.8rem Manrope,sans-serif;color:#b45100}.steps h3{font-size:1.25rem;margin:4px 0 10px}.steps p{font-size:.95rem;margin:0}.area{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.area>div>p{max-width:420px;margin-top:24px}.area-panel{padding:36px;background:var(--navy);color:#fff;min-height:360px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;border-top:5px solid var(--orange)}.area-panel .eyebrow{color:#e5a571}.area-panel h3{font-size:2rem;margin:10px 0 16px}.area-panel p{color:#c1d1dc;font-size:.95rem}.area-initial{position:absolute;right:-8px;top:-58px;font:800 18rem/1 Manrope,sans-serif;color:#ffffff08;pointer-events:none}.area-tags{display:flex;gap:8px;margin-top:22px;flex-wrap:wrap}.area-tags span{font-size:.75rem;border:1px solid #557086;border-radius:3px;padding:5px 10px}.faq{background:var(--light);display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq>div>p{margin-top:20px;max-width:310px}details{border-bottom:1px solid #cfd9e0;padding:20px 0}details:first-child{border-top:1px solid #cfd9e0}summary{cursor:pointer;font-weight:600;list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;font-size:1rem}summary::-webkit-details-marker{display:none}summary>span{font-size:1.4rem;line-height:1;color:#ac4b00}details[open] summary>span{transform:rotate(45deg)}details p{font-size:.95rem;margin:16px 30px 0 0;line-height:1.75}.quote{display:grid;grid-template-columns:1fr 1fr;gap:12%;background:var(--navy);color:white}.quote .eyebrow{color:#ffb679}.quote h2{font-size:clamp(2.1rem,3.2vw,3.6rem)}.quote p{color:#c8d6e0;margin-top:22px;max-width:420px}.quote-tip{border-top:1px solid #ffffff30;margin-top:45px;padding-top:22px;max-width:400px}.quote-tip>span{font-size:.75rem;letter-spacing:.12em;color:#ffb679}.quote-tip p{font-size:.9rem;margin-top:8px}form label{display:block;font-size:.875rem;margin:0 0 8px}input,select,textarea{width:100%;padding:12px 14px;border:1px solid #cad5dd;border-radius:3px;background:white;color:#18384e;margin-bottom:19px;font-size:1rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid #ffac66;outline-offset:2px}form>.button{width:100%}form .form-note{font-size:.75rem;margin:11px 0 0;text-align:center;color:#c5d4df}.secondary{background:white;color:var(--navy)}#quote-result{margin-top:25px;padding-top:22px;border-top:1px solid #ffffff40}#copy-status{font-size:.9rem;margin:10px 0 0}footer{padding:42px 6% 20px;display:grid;grid-template-columns:1fr 1fr;gap:30px;background:#fff}.footer-brand{font:bold 1.9rem Manrope,sans-serif;letter-spacing:-.06em}.footer-brand span{color:#b74d00}footer p{font-size:.875rem;margin:10px 0 0}footer strong{display:block;font-size:1rem;margin:7px 0 12px}footer>div>a:not(.footer-brand){font-size:.875rem;text-decoration:underline;text-underline-offset:5px}.fine{border-top:1px solid var(--line);grid-column:1/-1;display:flex;gap:5px;font-size:.75rem;padding-top:20px;color:#667983}.fine>a{margin-left:auto}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:#fff;padding:15px}.skip:focus{top:10px}.detail-hero{background:var(--light);padding-top:45px}.breadcrumb{display:block;color:#607689;font-size:.875rem;margin-bottom:35px}.detail-hero h1{max-width:1000px}.lead{font-size:1.25rem;margin:25px 0;max-width:650px}.detail-body{display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.scope{list-style:none;padding:0;margin-top:35px}.scope li{border-bottom:1px solid var(--line);padding:17px 0}.scope li:before{content:'+';color:#b44d00;margin-right:17px}.detail-body aside{background:var(--light);padding:34px}.detail-body aside h3{margin:0 0 15px}.detail-body aside h3:not(:first-child){margin-top:30px}.detail-faq{padding-top:15px;max-width:1100px}.detail-faq h2{margin-bottom:30px}.related{background:var(--navy);color:white}.related h2{font-size:2rem}.related-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:30px}.related-links a{border:1px solid #7e97a9;padding:12px 18px;border-radius:3px}.related-links a:hover{background:#ffffff15}.legal{max-width:1000px;margin:auto}.legal h1{margin-bottom:30px}.legal h2{font-size:1.6rem;margin:30px 0 15px}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero-copy{padding-top:85px}.hero{min-height:780px}}
@media(max-width:1050px){header{padding:0 4%}nav{gap:19px}.hero-copy{padding:45px 7% 30px 8%}.hero h1{font-size:3.45rem}.hero{min-height:650px}.hero-actions{gap:15px}.hero-image strong{font-size:1.8rem}.hero-image small{position:static;display:block;margin-top:15px}.section{padding:70px 5%}.service-card{padding:23px}.service-label{display:none}.process,.area,.quote{gap:6%}.hero-bottom{gap:13px}.hero-image figcaption{left:28px;right:28px}.faq{gap:6%}}
@media(max-width:760px){header{height:82px;gap:14px}.brand{width:112px;height:76px}.brand img{width:112px}header>.button{margin-left:auto;padding:11px 13px;font-size:.75rem}.menu-toggle{display:block;border:1px solid var(--line);background:white;padding:4px 10px;border-radius:3px;font-size:1.5rem;color:var(--navy)}nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:22px 6%;box-shadow:0 12px 15px #092e5010}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:38px 6% 30px}.hero h1{font-size:clamp(2.8rem,10vw,4.4rem);line-height:1.08}.hero h1 br:last-child{display:none}.hero-copy>p{font-size:1rem;margin:24px 0}.eyebrow{font-size:.7rem;margin-bottom:22px}.hero-actions{gap:22px}.hero-actions .button{padding:15px 18px}.hero-bottom{padding-top:28px;gap:23px}.hero-image{height:370px}.hero-image>img{object-position:center 43%}.hero-image figcaption{bottom:25px;left:6%;right:6%;padding-top:15px}.hero-image strong{font-size:1.65rem}.hero-image small{position:absolute;font-size:.7rem}.service-strip{padding:18px 6%;gap:15px;justify-content:flex-start;flex-wrap:wrap;font-size:.75rem}.service-strip i{display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;max-width:100%}.service-grid{grid-template-columns:1fr 1fr}.service-card{padding:20px;min-height:265px}.service-card h3{font-size:1.2rem}.service-card p{font-size:.875rem}.card-top{margin-bottom:23px}.process,.area,.faq,.quote,.detail-body{grid-template-columns:1fr;gap:35px}.steps article:first-child{padding-top:0}.steps article{padding:23px 0}.area-panel{min-height:315px;padding:28px}.area p{max-width:100%}.faq>div>p{max-width:100%}.quote-tip{display:none}.quote p{margin-top:20px}.quote h2{font-size:2.45rem}.quote form{min-width:0}footer{grid-template-columns:1fr;padding:35px 6% 20px;gap:20px}.detail-hero h1{font-size:2.7rem}.detail-hero .button{max-width:100%;font-size:.9rem}.lead{font-size:1.1rem}.detail-body aside{padding:25px}.legal h1{font-size:2.8rem}.detail-faq h2{font-size:2rem}.related h2{font-size:1.8rem}}
@media(max-width:400px){.service-grid{grid-template-columns:1fr}.service-card{min-height:225px}.card-top{margin-bottom:18px}.service-label{display:block}.hero-bottom{font-size:.63rem}.hero-image{height:320px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-image small{position:static}.hero h1{font-size:2.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Service photography carousel */
.hero-image>.hero-slide{opacity:0;transition:opacity .9s ease;object-position:center}.hero-image>.hero-slide.is-active{opacity:1}.hero-slide-controls{display:flex;align-items:center;gap:8px;margin-top:22px}.hero-slide-controls button{min-height:40px;min-width:40px;border:1px solid #ffffff80;border-radius:3px;background:#06243e85;color:white;cursor:pointer;font-size:.8rem;font-weight:600}.hero-slide-controls button:hover{background:#fff;color:var(--navy)}.hero-slide-controls .slide-choice.is-active{background:var(--orange);border-color:var(--orange);color:#112a3e}.hero-slide-controls .slide-pause{padding:0 12px;margin-left:6px;font-weight:400}.hero-image figcaption>small{bottom:10px}.hero-image:after{pointer-events:none}.hero-slide-controls button:focus-visible{outline:3px solid white;outline-offset:3px}@media(max-width:1050px){.hero-image figcaption>small{position:static;display:block;margin-top:12px}}@media(max-width:760px){.hero-image{height:420px}.hero-image figcaption>small{position:absolute;bottom:11px;right:0;margin:0}.hero-slide-controls{margin-top:17px}.hero-image strong{font-size:1.5rem}}@media(max-width:400px){.hero-image figcaption>small{position:static;margin-top:10px}.hero-image{height:430px}}
.hero-image>.hero-slide:nth-child(1){object-position:65% center}.hero-image>.hero-slide:nth-child(2){object-position:72% center}
/* Subtle WhatsApp emphasis without shifting the header layout. */
header .whatsapp-top{background:#137b43;color:#fff;gap:9px;animation:whatsapp-soft-pulse 2.8s ease-out infinite;white-space:nowrap}header .whatsapp-top:hover{background:#0c6635;transform:none;animation:none}header .whatsapp-top:focus-visible{animation:none;outline:3px solid var(--navy);outline-offset:5px}.whatsapp-top-number{font-size:.8rem;font-weight:500}@keyframes whatsapp-soft-pulse{0%,100%{box-shadow:0 0 0 0 rgba(19,123,67,0)}20%{box-shadow:0 0 0 0 rgba(19,123,67,.2)}65%{box-shadow:0 0 0 7px rgba(19,123,67,0)}}@media(max-width:1050px){.whatsapp-top-number{display:none}}@media(prefers-reduced-motion:reduce){header .whatsapp-top{animation:none}}
/* Mobile contact, touch targets and text reflow. */
.whatsapp-float{display:none}main,header,footer,section,form{min-width:0}h1,h2,h3,p,a{overflow-wrap:break-word}.menu-toggle{min-width:44px;min-height:44px}.hero-slide-controls button{min-width:44px;min-height:44px}.related-links a{min-height:44px}summary{min-height:44px;align-items:center}#quote-result .button{margin-bottom:10px}@media(max-width:760px){.whatsapp-float{display:flex;align-items:center;justify-content:center;position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:58px;height:58px;border-radius:50%;background:#137b43;color:white;z-index:30;box-shadow:0 4px 18px #06243e40;animation:whatsapp-soft-pulse 2.8s ease-out infinite}.whatsapp-float:hover{background:#0c6635}.whatsapp-float:focus-visible{outline:3px solid var(--navy);outline-offset:4px;animation:none}.whatsapp-float svg{display:block;width:30px;height:30px}footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}header .whatsapp-top{min-height:44px}.hero h1{font-size:clamp(2.25rem,9vw,3.5rem)}.detail-hero h1{font-size:clamp(2rem,8.5vw,2.7rem)}.hero-actions{max-width:100%}nav a{display:flex;align-items:center;min-height:44px}.service-card h3{overflow-wrap:anywhere}input,select,textarea{font-size:1rem;max-width:100%}.quote .button{max-width:100%}body.editing-quote .whatsapp-float{display:none}}@media(prefers-reduced-motion:reduce){.whatsapp-float{animation:none}}
.primary-email{display:block;width:fit-content;max-width:100%;overflow-wrap:anywhere;margin-bottom:15px;text-decoration:underline;text-underline-offset:5px}.quote-email{font-size:1.1rem;font-weight:600;color:white;margin:0 0 24px;line-height:1.6;min-height:44px;padding:7px 0}footer .primary-email{min-height:44px;padding:10px 0;margin-bottom:3px}
