/* Fluid layout: full-width sections with proportional edge spacing. */
:root{--page-gutter:clamp(16px,4vw,88px);--header-height:108px;--topbar-height:40px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
body{min-width:0;overflow-wrap:break-word}
.wrap,.hero .wrap{width:calc(100% - var(--page-gutter) * 2);max-width:none;margin-inline:auto}
.hero{width:100%;max-width:none;margin:0;border-radius:0;border-inline:0}
.hero-inner{min-height:calc(100vh - var(--header-height) - var(--topbar-height));min-height:calc(100svh - var(--header-height) - var(--topbar-height));display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);column-gap:clamp(24px,6vw,150px);row-gap:0;align-content:center;padding-block:clamp(45px,7vh,95px) 28px}
.hero-inner>.eyebrow,.hero-inner>h1,.hero-inner>p,.hero-inner>.actions{grid-column:1}
.hero h1>span{font-size:clamp(48px,5.2vw,108px);letter-spacing:-.045em}
.hero p{max-width:54ch;font-size:clamp(15px,1.05vw,20px)}
.hero-service{position:static;grid-column:2;grid-row:2 / 5;align-self:end;justify-self:end;width:min(100%,360px);margin:0;padding:clamp(22px,2.4vw,38px);min-width:0}
.hero-service strong{font-size:clamp(20px,1.7vw,28px)}
.hero-service>a{font-size:clamp(18px,1.45vw,25px);gap:12px}
.hero-foot{grid-column:1/-1;margin-top:clamp(35px,7vh,100px);gap:20px;flex-wrap:wrap}
.section{padding-block:clamp(58px,6vw,125px)}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,38px)}
.service{display:flex;flex-direction:column;min-width:0}.service-copy{display:flex;flex-direction:column;flex:1}.service a{margin-top:auto}
.service-image img{height:auto;aspect-ratio:1.85;object-fit:cover}
.intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:clamp(24px,5vw,95px)}
.intro p{max-width:85ch}.section-heading>*{min-width:0}
.gallery{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,2vw,36px)}
.gallery-item{min-width:0;grid-column:span 2}.gallery-item:nth-child(-n+2){grid-column:span 3}
.gallery-item img,.gallery-item:nth-child(-n+2) img,.gallery-item:nth-child(n+6) img{height:auto;width:100%;aspect-ratio:auto;object-fit:contain}
.gallery-caption{flex-wrap:wrap;gap:8px}.gallery-caption-link{white-space:normal}
.social-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(30px,6vw,110px)}
.social-grid>*{min-width:0}.social p{max-width:50ch}.social-grid>img{width:calc(100% - 12px)}
.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-grid>a{min-width:0}
.brands{grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(15px,3vw,55px)}
.footer-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,100px)}
.footer-grid>div{min-width:0}.footer-grid>div:first-child{grid-column:auto}.footer-grid p{max-width:45ch}
.actions{flex-wrap:wrap}.brand{flex-shrink:0}.nav nav{min-width:0}.quick-actions{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
@media(min-width:1800px){.service h3{font-size:25px}.service p,.intro p,.section-heading p,.social p{font-size:18px}.section-heading p{max-width:45ch}.service a{font-size:15px}.service-copy{padding:30px}.map{height:440px}.brands img{height:95px}}
@media(max-width:1024px){
 :root{--header-height:90px;--topbar-height:36px}
 .nav{height:var(--header-height);gap:16px}.nav .brand img{width:62px;height:62px}.nav .brand>span{font-size:24px}.nav .brand>span>span{font-size:8px}
 .menu-toggle{display:block;order:3;border:1px solid var(--line);background:white;border-radius:5px;min-width:44px;min-height:44px;padding:4px 10px;font-size:22px}
 .nav nav{display:none;position:absolute;top:var(--header-height);left:0;right:0;margin:0;padding:18px var(--page-gutter);background:white;flex-direction:column;gap:5px;border-bottom:1px solid var(--line);box-shadow:0 12px 22px #16212c0a}
 .nav nav.is-open{display:flex}.nav nav a{font-size:15px;padding:12px 0}.nav-phone{margin-left:auto;font-size:14px;padding:12px 14px}.nav-phone span{display:inline}
 .hero-inner{grid-template-columns:minmax(0,1.3fr) minmax(225px,.7fr);column-gap:30px}.hero h1>span{font-size:clamp(46px,6.2vw,66px)}.hero-service{padding:22px}.hero-service strong{font-size:20px}.hero-service>a{font-size:18px}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service p{min-height:0}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-item,.gallery-item:nth-child(-n+2){grid-column:span 1}
 .contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid>a:nth-child(2){border-right:0}.contact-grid>a:last-child{grid-column:1/-1;border-top:1px solid var(--line)}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:760px){
 :root{--page-gutter:clamp(16px,4vw,30px)}
 .nav-phone{font-size:20px;line-height:1;padding:12px}.nav-phone span{display:none}
 .hero-inner{grid-template-columns:minmax(0,1fr);padding-block:42px 26px}.hero h1>span{font-size:clamp(44px,9vw,68px)}.hero p{font-size:15px;max-width:55ch}
 .hero-service{grid-column:1;grid-row:auto;justify-self:stretch;width:100%;max-width:none;margin-top:30px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 20px}
 .hero-service strong{font-size:18px}.hero-service>a{font-size:17px}.hero-service-location{grid-column:1/-1}.hero-foot{margin-top:28px}
 .intro-grid{grid-template-columns:1fr;gap:16px}.section-heading{display:block}.section-heading p{max-width:55ch}
 .social-grid{grid-template-columns:1fr;gap:35px}.professional .wrap{flex-direction:column;align-items:flex-start}
 .brands{grid-template-columns:repeat(3,minmax(0,1fr))}.brands img{height:65px}
 .contact-grid{grid-template-columns:1fr}.contact-grid>a{border-right:0;border-bottom:1px solid var(--line)}.contact-grid>a:last-child{grid-column:auto;border-top:0;border-bottom:0}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.copyright{flex-direction:column;gap:8px}
 .quick-actions{width:143px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}
}
@media(max-width:540px){
 .service-grid,.gallery{grid-template-columns:minmax(0,1fr)}.gallery-item,.gallery-item:nth-child(-n+2){grid-column:1}
 .footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.topbar{font-size:10px}
}
@media(max-width:390px){
 .nav{gap:8px}.nav .brand img{width:50px;height:50px}.nav .brand>span{font-size:19px;letter-spacing:1px}.nav .brand>span>span{font-size:6.5px;letter-spacing:.4px}.brand{gap:8px}.nav-phone{padding:11px 9px}.menu-toggle{min-width:40px;padding:4px 8px}
 .topbar{font-size:9px}.topbar .wrap{gap:8px}.hero h1>span{font-size:clamp(37px,11vw,44px)}.hero-service{grid-template-columns:1fr}.hero-service>a{border-top:1px solid #ffffff25;padding-top:12px}
 .hero-foot{flex-direction:column;align-items:flex-start}.actions{gap:10px}.actions .btn{padding:13px 16px;gap:22px}
}
@media(max-width:340px){.nav .brand>span>span{display:none}.nav .brand>span{font-size:17px}.nav .brand img{width:44px;height:44px}.nav .brand{gap:6px}.topbar .wrap{flex-wrap:wrap}}
@media(max-height:500px) and (orientation:landscape){.hero-inner{min-height:0;padding-top:32px}.quick-actions{gap:6px}.quick-action{min-height:42px}.quick-top{height:40px;min-height:40px;width:40px}}

/* Larger logo and navigation, balanced at each viewport width. */
:root{--header-height:132px}
.nav{height:var(--header-height);gap:clamp(22px,2.5vw,48px)}
.nav .brand{gap:20px}
.nav .brand img{width:96px;height:96px}
.nav .brand>span{font-size:36px;letter-spacing:3px}
.nav .brand>span>span{font-size:12px;letter-spacing:1.7px;margin-top:10px}
.nav nav{gap:clamp(24px,2.5vw,44px)}
.nav nav a{font-size:18px;font-weight:700;padding-block:15px}
.nav-phone{font-size:17px;padding:16px 22px}
@media(min-width:1800px){.nav .brand img{width:104px;height:104px}.nav .brand>span{font-size:40px}.nav .brand>span>span{font-size:13px}.nav nav a{font-size:20px}.nav-phone{font-size:19px}}
@media(min-width:1025px) and (max-width:1200px){.nav{gap:22px}.nav .brand{gap:14px}.nav .brand img{width:86px;height:86px}.nav .brand>span{font-size:31px}.nav .brand>span>span{font-size:10px}.nav nav{gap:24px}.nav nav a{font-size:16px}.nav-phone{font-size:15px;padding:14px 16px}}
@media(max-width:1024px){
 :root{--header-height:110px}
 .nav{gap:20px}.nav .brand{gap:16px}.nav .brand img{width:80px;height:80px}.nav .brand>span{font-size:32px}.nav .brand>span>span{font-size:10px;letter-spacing:1.4px}
 .nav nav{gap:6px}.nav nav a{font-size:18px;padding-block:14px}.nav-phone{font-size:16px;padding:14px 18px}.menu-toggle{font-size:26px;min-width:48px;min-height:48px}
}
@media(max-width:760px){
 :root{--header-height:104px}
 .nav{gap:12px}.nav .brand{gap:12px}.nav .brand img{width:72px;height:72px}.nav .brand>span{font-size:28px;letter-spacing:1.8px}.nav .brand>span>span{font-size:9px;letter-spacing:.7px;margin-top:8px}
 .nav-phone{font-size:22px;padding:12px}.menu-toggle{min-width:44px;min-height:46px;font-size:24px;padding:4px 9px}
}
@media(max-width:430px){
 :root{--header-height:96px}
 .nav{gap:8px}.nav .brand{gap:9px}.nav .brand img{width:64px;height:64px}.nav .brand>span{font-size:25px;letter-spacing:1.4px}.nav .brand>span>span{font-size:8px;letter-spacing:.4px}.nav-phone{font-size:21px;padding:11px 9px}.menu-toggle{min-width:40px;padding:4px 8px}
}
@media(max-width:360px){
 .nav .brand img{width:58px;height:58px}.nav .brand{gap:8px}.nav .brand>span{font-size:23px}.nav .brand>span>span{display:block;font-size:7px;letter-spacing:.3px}.nav-phone{display:none}.nav .menu-toggle{margin-left:auto}
}

/* Prominent contact section. */
.contact{background:linear-gradient(180deg,#f4f6f8 0%,#fff 100%);border-top:1px solid #e2e7eb}
.contact .section-heading h2{font-size:clamp(38px,4vw,62px);font-weight:700;letter-spacing:-2px}
.contact .section-heading p{font-size:clamp(16px,1.25vw,20px);color:#354759;font-weight:500;max-width:34ch}
.contact .eyebrow{font-size:12px;font-weight:800;color:#81612c}
.contact-grid{border:0;border-radius:0;overflow:visible;background:none;box-shadow:none;gap:22px;align-items:stretch}
.contact-grid>.contact-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(25px,2.7vw,48px);border:1px solid #ffffff30!important;border-radius:17px;box-shadow:0 12px 32px #10233815;color:white;overflow:hidden;transition:transform .25s,box-shadow .25s}
.contact-grid>.contact-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #10233825}
.contact-grid>.contact-phone,.contact-grid>.contact-phone:hover{background:linear-gradient(135deg,#1268c8,#06499c)}
.contact-grid>.contact-whatsapp,.contact-grid>.contact-whatsapp:hover{background:linear-gradient(135deg,#107948,#065932)}
.contact-grid>.contact-address,.contact-grid>.contact-address:hover{background:linear-gradient(135deg,#233c50,#132431);border-color:#c8aa6a70!important}
.contact-label{width:100%;font-size:12px;letter-spacing:1.5px;font-weight:700;color:#ffffffe0;margin-bottom:21px}
.contact-label b{color:white;font-size:24px;font-weight:400}
.contact-icon{display:grid;place-items:center;width:61px;height:61px;background:#ffffff16;border:1px solid #ffffff40;border-radius:15px;margin-bottom:22px;color:white}
.contact-address .contact-icon{color:#f3d898;border-color:#e6c57f88;background:#e6c57f12}
.contact-grid strong{font-size:clamp(25px,2.2vw,40px);font-weight:800;line-height:1.25;letter-spacing:-1.2px;margin-bottom:14px;color:white}
.contact-grid strong.address{font-size:clamp(20px,1.55vw,29px);font-weight:600;letter-spacing:-.6px;line-height:1.55}
.contact-card>strong+span{font-size:15px;color:#edf3f8;line-height:1.65;margin-bottom:26px}
.contact-grid>.contact-card>.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;width:100%;padding:15px 0 0;border-top:1px solid #ffffff42;margin-top:auto;color:#fff;font-size:16px;font-weight:800}
.contact-cta>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff19;font-size:21px}
.contact-grid>.contact-address>.contact-cta{color:#f1d595}
@media(max-width:1024px){.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-grid>.contact-card{padding:30px}.contact-grid>.contact-card:last-child{grid-column:1/-1}.contact-grid strong{font-size:32px}.contact-grid strong.address{font-size:25px}}
@media(max-width:760px){.contact-grid{grid-template-columns:minmax(0,1fr);gap:18px}.contact-grid>.contact-card:last-child{grid-column:auto}.contact-grid>.contact-card{padding:28px;border-radius:14px}.contact-grid strong{font-size:clamp(28px,7vw,36px)}.contact-grid strong.address{font-size:23px}.contact .section-heading h2{font-size:39px}.contact .section-heading p{font-size:16px}.contact-icon{width:54px;height:54px;margin-bottom:20px}.contact-label{font-size:11px}.contact-card>strong+span{font-size:15px}.contact-grid>.contact-card>.contact-cta{font-size:15px}}
@media(prefers-reduced-motion:reduce){.contact-grid>.contact-card:hover{transform:none}}

/* More readable footer typography. */
.footer-grid h3{font-size:21px;line-height:1.4;margin-bottom:24px;font-weight:700}
.footer-grid p{font-size:17px;line-height:1.9;color:#c5cdd4}
.footer-grid>div>a:not(.brand){font-size:17px;line-height:1.9;margin-bottom:12px}
.footer-grid>div>a.footer-number{font-size:28px;font-weight:700;letter-spacing:-.5px;line-height:1.4;margin-bottom:18px}
.footer-grid>div>a.back-top{font-size:16px}
.footer-brand>span{font-size:32px}.footer-brand>span>span{font-size:10px;letter-spacing:1.4px}
.copyright{font-size:14px;line-height:1.8;color:#b5c0c9;gap:20px;flex-wrap:wrap;padding-right:185px}
.footer-keywords{font-size:13px;line-height:1.9;color:#a8b5c0}
@media(max-width:760px){.footer-grid h3{font-size:20px}.footer-grid p{font-size:16px}.footer-grid>div>a:not(.brand){font-size:16px}.footer-grid>div>a.footer-number{font-size:26px}.footer-grid>div>a.back-top{font-size:15px}.footer-brand>span{font-size:29px}.footer-brand>span>span{font-size:9px}.copyright{font-size:13px;padding-right:0}.footer-keywords{font-size:12px}}

/* Contact palette drawn from the Bilge logo: gold, charcoal and silver. */
.contact{background:linear-gradient(180deg,#f5f4f0,#fff);border-top-color:#e6e1d7}
.contact .section-heading p{color:#444747}
.contact-grid>.contact-phone,.contact-grid>.contact-phone:hover{background:linear-gradient(135deg,#f0db96 0%,#d6b24d 60%,#c5a03e 100%);border-color:#b28e35!important;color:#242522}
.contact-grid>.contact-whatsapp,.contact-grid>.contact-whatsapp:hover{background:linear-gradient(135deg,#3d4042 0%,#202325 65%,#161819 100%);border-color:#bfa15c80!important;color:#fff}
.contact-grid>.contact-address,.contact-grid>.contact-address:hover{background:linear-gradient(135deg,#f3f4f4 0%,#daddde 65%,#c4c8cb 100%);border-color:#aeb4b8!important;color:#25292c}
.contact-phone .contact-label,.contact-phone .contact-label b,.contact-phone strong,.contact-phone>strong+span{color:#29291f}
.contact-phone .contact-icon{color:#29291f;background:#fff9e34d;border-color:#80611966}
.contact-grid>.contact-phone>.contact-cta{color:#24251f;border-top-color:#71561e50}
.contact-phone .contact-cta>span{background:#fff5d747}
.contact-whatsapp .contact-label,.contact-whatsapp .contact-label b{color:#f0d898}
.contact-whatsapp .contact-icon{color:#f2d989;background:#d3b55b14;border-color:#d3b55b70}
.contact-whatsapp strong{color:#fff}.contact-whatsapp>strong+span{color:#e3e5e6}
.contact-grid>.contact-whatsapp>.contact-cta{color:#f0d898;border-top-color:#d2bb8055}
.contact-whatsapp .contact-cta>span{background:#d9bd6c1f}
.contact-address .contact-label,.contact-address .contact-label b,.contact-address strong,.contact-address>strong+span{color:#2e3336}
.contact-address .contact-icon{color:#42474a;background:#ffffff66;border-color:#7a838866}
.contact-grid>.contact-address>.contact-cta{color:#2e3336;border-top-color:#5f666b50}
.contact-address .contact-cta>span{background:#ffffff55}

/* Floating contact buttons matched to the supplied reference. */
.quick-actions{width:204px;gap:13px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
.quick-actions .quick-action{width:100%;height:64px;min-height:64px;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:16px;padding:0 24px;border:2px solid #fff;border-radius:12px;color:#fff;font-size:19px;font-weight:800;line-height:1.2;letter-spacing:-.3px;box-shadow:0 5px 18px #0002}
.quick-actions .quick-action svg{width:25px;height:25px;flex:0 0 25px}
.quick-actions .quick-action span{white-space:nowrap}
.quick-actions .quick-whatsapp{background:#07843f}
.quick-actions .quick-whatsapp:hover{background:#056d34}
.quick-actions .quick-call{background:linear-gradient(115deg,#1479d9,#0755b2)}
.quick-actions .quick-call:hover{background:linear-gradient(115deg,#0d6bc5,#064b9d)}
.quick-actions .quick-top{border:2px solid #fff}
@media(max-width:760px){.quick-actions{width:170px;gap:10px;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.quick-actions .quick-action{height:54px;min-height:54px;padding:0 18px;gap:12px;border-radius:11px;font-size:16px}.quick-actions .quick-action svg{width:23px;height:23px;flex-basis:23px}footer{padding-bottom:210px}}
@media(max-height:500px) and (orientation:landscape){.quick-actions{width:164px;gap:8px}.quick-actions .quick-action{height:48px;min-height:48px;font-size:15px;padding:0 16px;gap:12px}.quick-actions .quick-action svg{width:22px;height:22px;flex-basis:22px}}

/* Requested footer links, header phone color and smaller contact buttons. */
.footer-domains{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:24px}
.footer-domains a{font-size:17px;font-weight:600;line-height:1.7;color:var(--yellow);text-decoration:none}
.footer-domains a:hover{text-decoration:underline;text-underline-offset:4px}
.nav .nav-phone{background:linear-gradient(115deg,#ead29e,#d6af60);color:var(--navy);border-color:transparent;box-shadow:0 4px 20px #00000012}
.nav .nav-phone:hover{background:linear-gradient(115deg,#ead29e,#d6af60);color:var(--navy);box-shadow:0 7px 24px #dfbc7225}
.quick-actions{width:184px;gap:11px}
.quick-actions .quick-action{height:58px;min-height:58px;padding:0 20px;gap:13px;font-size:17px}
.quick-actions .quick-action svg{width:23px;height:23px;flex-basis:23px}
@media(max-width:760px){.footer-domains a{font-size:16px}.quick-actions{width:156px;gap:9px}.quick-actions .quick-action{height:49px;min-height:49px;padding:0 15px;gap:10px;font-size:15px}.quick-actions .quick-action svg{width:21px;height:21px;flex-basis:21px}}
@media(max-height:500px) and (orientation:landscape){.quick-actions{width:150px;gap:7px}.quick-actions .quick-action{height:44px;min-height:44px;padding:0 14px;gap:9px;font-size:14px}.quick-actions .quick-action svg{width:20px;height:20px;flex-basis:20px}}

.footer-design-credit{white-space:nowrap}.footer-design-credit a{color:var(--yellow);font-weight:800}

/* Bottom footer text: one size larger. */
.copyright{font-size:15px}.footer-keywords{font-size:14px}
@media(max-width:760px){.copyright{font-size:14px}.footer-keywords{font-size:13px}}

/* Match the floating call button to the header phone button. */
.quick-actions .quick-call,.quick-actions .quick-call:hover{background:linear-gradient(115deg,#ead29e,#d6af60);color:var(--navy)}

.footer-grid>div>a.footer-service-domain{font-size:14px;color:var(--yellow);margin-top:-8px;margin-bottom:18px;line-height:1.6}.footer-service-domain:hover{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.footer-grid>div>a.footer-service-domain{font-size:13px}}

/* Local service headings replace the professional section contact button. */
.professional .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,60px);align-items:end}
.professional .wrap>div{min-width:0}
.professional h2{font-size:clamp(28px,3.35vw,68px);letter-spacing:-.045em;line-height:1.2}
.professional-location p a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.professional-location p a:hover{color:var(--yellow);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1024px){.professional .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.professional .wrap>div:first-child{grid-column:1/-1}.professional h2{font-size:clamp(30px,4.5vw,46px)}}
@media(max-width:540px){.professional .wrap{grid-template-columns:minmax(0,1fr);gap:30px}.professional .wrap>div:first-child{grid-column:auto}.professional h2{font-size:clamp(30px,8vw,42px)}}
