@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Montserrat:wght@400;500;600;700&display=swap");
:root{--navy:#062a46;--gold:#d5a72f;--cream:#faf8f3;--green:#547a2a;--text:#0b2239;--muted:#566572;--line:#ded7c7;--white:#fff;--soft:#f1eadc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Montserrat,Arial,sans-serif;line-height:1.65;overflow-x:hidden}h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.06;margin:0;color:var(--navy)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(100% - 32px,1216px);margin:auto}.section{padding:clamp(64px,8vw,112px) 0}.soft{background:var(--soft)}.navy{background:var(--navy);color:var(--cream)}.navy h2,.navy h3{color:var(--cream)}.eyebrow{color:var(--gold);font-weight:700;text-transform:uppercase;font-size:12px}.section-title{font-size:clamp(38px,5vw,58px);margin-top:8px}.lead{color:var(--muted);max-width:680px}.navy .lead{color:#d9e0e5}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,248,243,.97);border-bottom:1px solid var(--line);transition:.2s}.site-header.scrolled{box-shadow:0 8px 28px rgba(6,42,70,.12)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.logo img{width:112px;height:66px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600}.nav-links a:hover,.nav-links a.active{color:#a57a12}.menu{display:none;background:none;border:0;font-size:28px;color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 20px;border-radius:7px;border:1px solid transparent;font-weight:700;font-family:inherit;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:var(--navy)}.btn-navy{background:var(--navy);color:var(--cream)}.btn-outline{border-color:var(--gold);color:var(--navy);background:transparent}.navy .btn-outline,.hero .btn-outline{color:var(--cream)}.hero{min-height:calc(100vh - 82px);position:relative;display:grid;align-items:center;color:var(--cream);background:url('hero.jpg') center/cover}.hero:before{content:"";position:absolute;inset:0;background:rgba(6,42,70,.67)}.hero-content{position:relative;max-width:800px;padding:80px 0;animation:rise .7s ease-out}.hero h1{font-size:clamp(52px,7vw,82px);color:var(--cream)}.hero p{font-size:18px;max-width:680px}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.page-hero{background:var(--navy);color:var(--cream);text-align:center;padding:76px 0}.page-hero h1{color:var(--cream);font-size:clamp(48px,6vw,68px)}.page-hero p{max-width:680px;margin:16px auto 0;color:#d9e0e5}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:var(--white);border:1px solid var(--line);padding:28px;border-top:4px solid var(--gold);border-radius:4px;box-shadow:0 6px 18px rgba(6,42,70,.05)}.card h3{font-size:27px}.card p{color:var(--muted);font-size:14px}.icon{width:48px;height:48px;display:grid;place-items:center;background:var(--soft);border-radius:6px;color:var(--gold);font-size:22px;font-weight:bold}.trust{margin-top:42px}.trust .card{border-top:0}.checks{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.15)}.check{padding:20px;border:1px solid rgba(255,255,255,.1)}.check:before{content:"✓";color:var(--gold);font-weight:bold;margin-right:12px}.image-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:16px}.project{position:relative;overflow:hidden;border-radius:5px;background-image:url('projects.jpg');background-size:400% 200%;cursor:pointer;border:0;width:100%;color:var(--cream);text-align:left}.project.large{grid-column:span 2}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(6,42,70,.85))}.project-info{position:absolute;z-index:2;bottom:20px;left:20px}.project-info span{color:var(--gold);text-transform:uppercase;font-size:11px;font-weight:bold}.project-info strong{display:block;font-family:"Cormorant Garamond";font-size:25px}.p1{background-position:0 0}.p2{background-position:33.33% 0}.p3{background-position:66.66% 0}.p4{background-position:100% 0}.p5{background-position:0 100%}.p6{background-position:33.33% 100%}.p7{background-position:66.66% 100%}.p8{background-position:100% 100%}.quote{background:var(--gold);padding:54px 0}.quote-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.quote h2{font-size:40px}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.team{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:5px}.filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:36px}.filter.active{background:var(--gold)}.lightbox{display:none;position:fixed;inset:0;z-index:100;background:rgba(6,42,70,.96);padding:5vw;place-items:center}.lightbox.open{display:grid}.lightbox-image{width:min(100%,1000px);aspect-ratio:3/2;background-image:url('projects.jpg');background-size:400% 200%;position:relative}.close{position:absolute;right:20px;top:20px;font-size:30px;background:var(--gold);border:0;width:48px;height:48px;border-radius:50%;cursor:pointer}.form-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:38px}.form-card{background:#fff;border:1px solid var(--line);padding:34px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label{display:block;font-size:14px;font-weight:700;color:var(--navy)}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:5px;padding:13px;font:inherit;background:#fff;color:var(--text)}textarea{min-height:150px}.checkbox{display:flex;gap:10px;font-weight:400}.checkbox input{width:auto;margin-top:5px}.contact-box{background:var(--navy);color:var(--cream);padding:34px}.contact-box h2{color:var(--cream);font-size:36px}.contact-box a{word-break:break-word}.alert{padding:14px;margin-bottom:20px;border-radius:4px}.success{background:#e4f0df;color:#31551b}.error{background:#f9e4e4;color:#812424}.legal{max-width:760px}.legal h2{font-size:34px;margin-top:38px}.footer{border-top:1px solid var(--line);background:var(--cream);padding-top:64px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr 1.2fr;gap:38px}.footer h3{font-family:Montserrat;font-size:13px;text-transform:uppercase;color:#a57a12}.footer ul{list-style:none;padding:0}.footer li{margin:9px 0;color:var(--muted);font-size:14px}.bottom{border-top:1px solid var(--line);margin-top:42px;padding:22px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.whatsapp{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:25px;z-index:40;box-shadow:0 8px 22px #0003}@keyframes rise{from{opacity:0;transform:translateY(18px)}}
@media(max-width:900px){.menu{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:82px;background:var(--cream);padding:20px;flex-direction:column;align-items:stretch;border-bottom:1px solid var(--line)}.nav-links.open{display:flex}.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.split,.form-wrap{grid-template-columns:1fr}.image-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid-4,.grid-3,.grid-2,.checks,.form-grid,.footer-grid{grid-template-columns:1fr}.image-grid{grid-template-columns:1fr;grid-auto-rows:230px}.project.large{grid-column:auto}.quote-inner,.bottom{align-items:flex-start;flex-direction:column}.hero{min-height:680px}.section{padding:64px 0}.form-card{padding:22px}.full{grid-column:auto}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Services: replaceable 4:3 photos */
.service-card{display:flex;flex-direction:column;padding:0;border-top:0;overflow:hidden}.service-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.service-card-body{display:flex;flex-direction:column;flex:1;padding:28px}.service-card-body p{flex:1}.service-card-body .btn{align-self:flex-start;margin-top:16px}

/* Home service photos: included locally for standalone hosting. */
.home-service-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.home-service-card .service-photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.home-service-card .service-card-body{padding:28px;display:flex;flex:1;flex-direction:column}
.home-service-card .service-card-body p{flex:1}
.home-service-card .service-card-body a{align-self:flex-start}

/* Compact floating WhatsApp action: fixed safely inside every viewport. */
.whatsapp{position:fixed;right:20px;bottom:20px;width:52px;height:52px;padding:0;display:grid;place-items:center;border:2px solid var(--cream);border-radius:50%;background:var(--green);color:#fff;z-index:100;box-shadow:0 8px 24px #0b223944,0 0 0 3px #547a2a33;transition:transform .2s ease,box-shadow .2s ease}
.whatsapp svg{display:block;width:24px;height:24px}.whatsapp:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0b223955}.whatsapp:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.whatsapp span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:600px){.whatsapp{right:14px;bottom:14px;width:48px;height:48px}.whatsapp svg{width:22px;height:22px}}
