:root { --gold:#d6a524; --gold-bright:#efbd3e; --ink:#111111; --coal:#1b1b1a; --paper:#f3f0e9; --white:#fff; --font-body:Arial,Helvetica,sans-serif; --font-heading:"Arial Narrow",Impact,Arial,sans-serif; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-body),Arial,sans-serif; }
img { max-width:100%; }
.cover-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.icon { display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; font-style:normal; }
.static-note { border-left:4px solid var(--gold); background:#fff; padding:20px 24px; color:#5d5952; line-height:1.6; }
a { color:inherit; text-decoration:none; }
.site-header { height:94px; padding:0 clamp(18px,3.5vw,56px); display:grid; grid-template-columns:300px 1fr auto; align-items:center; gap:clamp(20px,2.2vw,36px); background:#fff; border-bottom:1px solid #d8d4cb; position:relative; z-index:20; }
.brand-tab { position:relative; z-index:25; align-self:start; display:block; width:300px; height:190px; overflow:hidden; background:#fff; border-bottom:5px solid var(--gold); box-shadow:0 14px 28px #0004; }
.brand-tab img { width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.site-header nav { display:flex; justify-content:center; gap:clamp(20px,2.5vw,42px); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.site-header nav a { padding:10px 0; border-bottom:2px solid transparent; }
.site-header nav a:hover,.site-header nav a:focus-visible { border-color:var(--gold); }
.services-nav { position:sticky; top:0; z-index:19; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); padding-left:calc(clamp(18px,3.5vw,56px) + 300px + clamp(20px,2.2vw,36px)); background:rgba(17,17,17,.9); color:#fff; border-bottom:3px solid var(--gold); box-shadow:0 6px 18px #0002; -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.services-nav a { min-height:48px; padding:8px 10px; display:flex; align-items:center; justify-content:center; text-align:center; border-right:1px solid #ffffff1f; color:#eee; font-size:11px; font-weight:900; line-height:1.2; text-transform:uppercase; letter-spacing:.055em; }
.services-nav a:last-child { border-right:0; }
.services-nav a:hover,.services-nav a:focus-visible { background:var(--gold); color:#111; outline:none; }
.button { min-height:48px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:10px; border:1px solid transparent; border-radius:2px; text-transform:uppercase; letter-spacing:.06em; font-size:13px; font-weight:800; transition:background .2s,color .2s,transform .2s; }
.button:hover { transform:translateY(-1px); }
.button-gold { background:var(--gold); color:#111; }
.button-gold:hover { background:var(--gold-bright); }
.button-whatsapp { background:#25d366; color:#08150d; border-color:#25d366; }
.button-whatsapp:hover { background:#48e17c; }
.button-outline { border-color:#fff; color:#fff; background:#1118; }
.header-actions { display:flex; align-items:center; gap:10px; }
.hero { position:relative; min-height:calc(100vh - 94px); height:760px; display:flex; align-items:center; overflow:hidden; color:#fff; }
.hero-image { object-fit:cover; object-position:center 56%; transform:scale(1.015); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,8,8,.9) 0%,rgba(8,8,8,.63) 45%,rgba(8,8,8,.08) 76%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%); }
.hero-watermark { position:absolute; z-index:1; top:clamp(68px,10vh,120px); right:clamp(24px,5vw,82px); width:clamp(330px,38vw,610px); height:auto; opacity:.3; mix-blend-mode:multiply; filter:saturate(.8) contrast(1.08); pointer-events:none; user-select:none; }
.hero-content { position:relative; z-index:2; width:min(760px,90%); margin-left:clamp(24px,8vw,130px); padding:72px 0; }
.eyebrow { color:var(--gold-bright); text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.22em; margin:0 0 20px; }
.eyebrow.dark { color:#8a6712; }
h1,h2,h3 { font-family:var(--font-heading),Arial,sans-serif; text-transform:uppercase; margin:0; line-height:.97; letter-spacing:-.025em; }
h1 { font-size:clamp(52px,6.8vw,100px); max-width:950px; }
.hero-copy { max-width:600px; margin:26px 0 32px; font-size:clamp(17px,1.5vw,21px); line-height:1.55; color:#eee; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-stamp { position:absolute; right:clamp(28px,5vw,80px); bottom:34px; z-index:2; border-left:4px solid var(--gold); padding:8px 0 8px 18px; font:500 20px/1.2 var(--font-heading); text-transform:uppercase; letter-spacing:.08em; }
.services-section { padding:clamp(72px,9vw,130px) clamp(22px,5vw,76px); max-width:1600px; margin:auto; }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; align-items:end; gap:60px; margin-bottom:46px; }
.section-heading h2 { font-size:clamp(42px,5vw,72px); }
.section-heading>p { margin:0 0 4px; max-width:520px; color:#5a5750; line-height:1.65; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-card { position:relative; height:520px; overflow:hidden; color:#fff; background:#222; }
.service-card img { object-fit:cover; transition:transform .5s ease; }
.service-card:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.93),rgba(0,0,0,.02) 68%); }
.service-card:hover img { transform:scale(1.035); }
.service-number { position:absolute; z-index:2; top:24px; right:24px; color:var(--gold-bright); font:700 16px var(--font-heading); }
.service-copy { position:absolute; z-index:2; left:28px; right:28px; bottom:28px; }
.service-copy h3 { font-size:38px; }
.service-copy p { line-height:1.5; color:#ddd; max-width:360px; min-height:48px; }
.service-copy span { display:flex; align-items:center; gap:8px; color:var(--gold-bright); text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.08em; }
.mobile-call { display:none; }
.mobile-menu { display:none; }
.all-services { display:flex; justify-content:flex-end; margin-top:28px; }
.all-services a,.text-link { display:inline-flex; align-items:center; gap:9px; color:#75570d; text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.08em; border-bottom:1px solid #aa8120; padding-bottom:7px; }
.why-section { display:grid; grid-template-columns:1.08fr .92fr; min-height:720px; background:var(--coal); color:#fff; }
.why-image { position:relative; min-height:600px; }
.why-image img { object-fit:cover; }
.why-copy { padding:clamp(65px,8vw,120px); display:flex; flex-direction:column; justify-content:center; }
.why-copy h2 { font-size:clamp(42px,5vw,72px); }
.why-copy>p:not(.eyebrow) { color:#c8c6c0; line-height:1.7; max-width:580px; }
.why-copy ul { list-style:none; padding:18px 0; margin:0 0 20px; border-top:1px solid #ffffff22; }
.why-copy li { display:flex; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid #ffffff22; font-weight:700; }
.why-copy li svg { color:var(--gold-bright); width:18px; }
.why-copy .text-link { color:var(--gold-bright); align-self:flex-start; }
.image-break { position:relative; height:560px; display:flex; align-items:center; justify-content:center; overflow:hidden; color:#fff; }
.image-break img { object-fit:cover; object-position:center 54%; }
.image-break>div { position:absolute; inset:0; background:#0008; }
.image-break>p { position:relative; margin:0; text-align:center; font:500 clamp(38px,5vw,74px)/1.05 var(--font-heading); text-transform:uppercase; letter-spacing:.02em; }
.image-break strong { color:var(--gold-bright); }
.process-section { padding:clamp(75px,9vw,130px) clamp(22px,7vw,110px); }
.process-section ol { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #b8b3a9; border-bottom:1px solid #b8b3a9; }
.process-section li { padding:42px 36px 46px 0; }
.process-section li+li { padding-left:36px; border-left:1px solid #b8b3a9; }
.process-section li span { font:700 15px var(--font-heading); color:#8a6712; }
.process-section li h3 { font-size:30px; margin-top:34px; }
.process-section li p { color:#666159; line-height:1.55; }
.areas-teaser { display:grid; grid-template-columns:1.05fr .95fr; background:#111; color:#fff; }
.areas-teaser>div:first-child { padding:clamp(65px,8vw,120px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.areas-teaser>div:first-child>svg { width:38px; height:38px; color:var(--gold); margin-bottom:28px; }
.areas-teaser h2 { font-size:clamp(43px,5vw,72px); }
.areas-teaser p:not(.eyebrow) { color:#c4c1ba; max-width:570px; line-height:1.7; margin:24px 0 30px; }
.areas-photo { position:relative; min-height:650px; }
.areas-photo img { object-fit:cover; }
.about-teaser { max-width:1120px; margin:auto; padding:clamp(80px,11vw,160px) clamp(22px,5vw,70px); text-align:center; }
.about-teaser h2 { font-size:clamp(42px,5.5vw,78px); }
.about-teaser>p:not(.eyebrow) { max-width:810px; margin:30px auto; color:#5d5952; line-height:1.75; font-size:18px; }
.final-cta { height:620px; position:relative; display:flex; align-items:center; justify-content:center; color:#fff; overflow:hidden; }
.final-cta>img { object-fit:cover; }
.final-cta>div:first-of-type { position:absolute; inset:0; background:#000b; }
.final-cta-copy { position:relative; text-align:center; max-width:850px; padding:20px; }
.final-cta h2 { font-size:clamp(58px,8vw,108px); }
.final-cta p:not(.eyebrow) { font-size:19px; color:#ddd; }
.final-cta-copy>div { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:30px; }
.page-hero { min-height:540px; height:62vh; position:relative; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.page-hero img { object-fit:cover; }
.page-hero:after { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,#000d 0%,#0005 70%); }
.page-hero .hero-watermark { z-index:2; top:40px; right:clamp(20px,4vw,70px); width:clamp(270px,31vw,470px); opacity:.24; }
.page-hero-content { position:relative; z-index:3; padding:70px clamp(22px,7vw,110px); max-width:1100px; }
.page-hero h1 { font-size:clamp(55px,8vw,106px); }
.page-hero p:not(.eyebrow) { max-width:700px; font-size:19px; line-height:1.6; color:#eee; }
.content-section { max-width:1360px; margin:auto; padding:clamp(70px,9vw,130px) clamp(22px,6vw,90px); }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,9vw,140px); align-items:start; }
.intro-grid h2,.content-section>h2 { font-size:clamp(42px,5vw,70px); }
.prose { color:#5c5851; line-height:1.75; }
.prose h3 { color:#111; font-size:28px; margin-top:38px; }
.prose ul { padding-left:20px; }
.prose li { padding:5px 0; }
.service-list { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:52px; }
.service-list article { position:relative; background:#fff; padding:34px; border-top:4px solid var(--gold); }
.service-list article>svg { color:#a77a0c; margin-bottom:20px; }
.service-list .service-number { position:static; display:block; margin-bottom:20px; }
.service-list h3 { font-size:30px; }
.service-list p { color:#625e56; line-height:1.6; }
.service-list .text-link { margin-top:8px; }
.specialist-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:72px; }
.specialist-services article { scroll-margin-top:70px; background:#fff; overflow:hidden; border-top:7px solid var(--gold); }
.specialist-photo { aspect-ratio:3/2; overflow:hidden; background:#222; }
.specialist-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.specialist-copy { padding:clamp(28px,3.2vw,44px); }
.specialist-services h2 { font-size:clamp(36px,3.5vw,52px); }
.specialist-services p:not(.eyebrow),.specialist-services li { color:#5c5851; line-height:1.7; }
.specialist-services ul { padding-left:20px; margin-bottom:0; }
.split-photo { display:grid; grid-template-columns:1fr 1fr; min-height:620px; background:#1a1a19; color:#fff; }
.split-photo>div:first-child { position:relative; }
.split-photo img { object-fit:cover; }
.split-copy { padding:clamp(60px,8vw,115px); display:flex; flex-direction:column; justify-content:center; }
.split-copy h2 { font-size:clamp(42px,5vw,70px); }
.split-copy p { color:#c8c5bd; line-height:1.75; }
.quote-wrap { padding:clamp(70px,8vw,120px) clamp(22px,6vw,90px); }
.whatsapp-strip { max-width:1360px; margin:0 auto; padding:clamp(55px,7vw,90px) clamp(22px,6vw,90px); display:flex; align-items:center; justify-content:space-between; gap:35px; background:#e7f8ed; border-bottom:1px solid #b9ddc5; }
.whatsapp-strip h2 { font-size:clamp(38px,4.5vw,64px); }
.whatsapp-strip p:not(.eyebrow) { color:#4e6255; line-height:1.6; }
.mobile-whatsapp { background:#25d366; }
.quote-form { max-width:1080px; margin:auto; background:#fff; padding:clamp(28px,6vw,78px); border-top:7px solid var(--gold); box-shadow:0 20px 65px #2a26190f; }
.form-heading { max-width:760px; margin-bottom:42px; }
.form-heading h2 { font-size:clamp(42px,5vw,68px); }
.form-heading>p:not(.eyebrow) { color:#625e57; line-height:1.65; }
.form-heading a { color:#72550c; font-weight:800; }
.form-grid { display:grid!important; grid-template-columns:1fr 1fr; gap:22px!important; margin-bottom:28px; }
.form-wide { grid-column:1/-1; }
.quote-form input,.quote-form textarea { min-height:50px; border-radius:2px; background:#f8f6f1; border-color:#c9c4b9; padding:12px 14px; }
.quote-form textarea { min-height:120px; }
.quote-form label { display:flex; flex-direction:column; gap:9px; font-weight:800; font-size:13px; }
.form-status { min-height:24px; color:#5b574f; font-size:13px; }
.site-footer { background:#0d0d0d; color:#fff; padding:75px clamp(22px,6vw,90px) 26px; }
.footer-main { display:grid; grid-template-columns:1.4fr .7fr .7fr 1.2fr; gap:55px; padding-bottom:58px; }
.footer-brand img { width:270px; height:120px; object-fit:contain; object-position:left; background:#fff; }
.footer-brand p { color:#aaa; line-height:1.65; max-width:370px; }
.footer-main h3 { font:600 20px var(--font-heading); color:var(--gold-bright); letter-spacing:.03em; margin-bottom:20px; }
.footer-main>div:not(.footer-brand) { display:flex; flex-direction:column; gap:12px; }
.footer-main a,.footer-main span { color:#c8c8c8; font-size:14px; }
.footer-contact a,.footer-contact span { display:flex; align-items:flex-start; gap:10px; }
.footer-contact svg { flex:0 0 auto; color:var(--gold); }
.footer-cta { color:var(--gold-bright)!important; text-transform:uppercase; font-weight:900; letter-spacing:.05em; margin-top:10px; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid #ffffff22; padding-top:25px; color:#777; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.footer-bottom div { display:flex; gap:20px; }.footer-bottom a{color:#aaa;}
.legal { max-width:900px; margin:auto; padding:90px 24px 120px; line-height:1.75; }.legal h1{font-size:60px}.legal h2{font-size:32px;margin-top:42px}.legal p,.legal li{color:#5c5851}
@media (max-width:1180px) { .site-header nav { display:none; } .site-header { grid-template-columns:1fr auto; height:96px; padding:0 18px; } .brand-tab { width:168px; height:96px; border-bottom-width:4px; box-shadow:0 8px 18px #0003; } .services-nav { grid-template-columns:repeat(4,minmax(0,1fr)); padding-left:0; } .services-nav a { min-height:42px; padding:7px 5px; font-size:9px; letter-spacing:.035em; } .hero { min-height:650px; height:calc(100svh - 180px); } .hero-content { margin-left:24px; } .hero-watermark { top:54px; right:-22px; width:min(66vw,340px); opacity:.2; } .page-hero .hero-watermark { top:24px; right:-28px; width:min(64vw,310px); opacity:.18; } .hero-stamp { display:none; } .section-heading { grid-template-columns:1fr; gap:20px; } .service-grid { grid-template-columns:1fr; } .service-card { height:430px; } .mobile-call { display:flex; position:fixed; z-index:50; left:12px; right:12px; bottom:12px; height:54px; align-items:center; justify-content:center; gap:10px; background:var(--gold); color:#111; font-weight:900; text-transform:uppercase; letter-spacing:.04em; box-shadow:0 8px 28px #0008; } }
@media (max-width:560px) { .site-header { height:88px; padding:0 12px; } .brand-tab { width:150px; height:88px; } .site-header>.button { padding:0 14px; min-height:44px; font-size:11px; } .services-nav a { min-height:40px; font-size:8.5px; } .hero { height:calc(100svh - 168px); } .hero-shade { background:linear-gradient(90deg,rgba(5,5,5,.9),rgba(5,5,5,.5)),linear-gradient(0deg,rgba(0,0,0,.55),transparent); } .hero-watermark { top:36px; right:-38px; width:280px; opacity:.16; } h1 { font-size:50px; } .hero-copy { font-size:16px; } .hero-actions .button { width:100%; } .services-section { padding-bottom:95px; } .service-card { height:390px; } .footer-brand img { width:100%; max-width:290px; height:auto; } }
@media (max-width:1180px) {
  .desktop-quote,.header-actions { display:none; }.mobile-menu{display:block;position:relative}.mobile-menu summary{list-style:none;cursor:pointer;padding:12px}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu>div{position:absolute;right:0;top:57px;width:min(310px,calc(100vw - 30px));background:#111;color:#fff;padding:24px;display:flex;flex-direction:column;gap:18px;box-shadow:0 20px 45px #0007}.mobile-menu>div>a:not(.button){font-weight:800;text-transform:uppercase;font-size:13px;letter-spacing:.06em;border-bottom:1px solid #ffffff22;padding-bottom:12px}
  .why-section,.areas-teaser,.split-photo{grid-template-columns:1fr}.why-image,.areas-photo,.split-photo>div:first-child{min-height:480px}.why-copy,.areas-teaser>div:first-child,.split-copy{padding:70px 28px}.process-section ol{grid-template-columns:1fr}.process-section li,.process-section li+li{padding:30px 0;border-left:0;border-top:1px solid #b8b3a9}.process-section li:first-child{border-top:0}.process-section li h3{margin-top:18px}.image-break{height:460px}.footer-main{grid-template-columns:1fr 1fr}.intro-grid,.specialist-services{grid-template-columns:1fr;gap:38px}.service-list{grid-template-columns:1fr}.page-hero{height:58vh;min-height:500px}
}
@media (max-width:620px) { .form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.footer-main{grid-template-columns:1fr}.footer-bottom{align-items:flex-start;flex-direction:column;padding-bottom:75px}.page-hero-content{padding:45px 22px}.page-hero h1{font-size:54px}.final-cta{height:640px}.about-teaser>p:not(.eyebrow){font-size:16px}.legal h1{font-size:48px}.whatsapp-strip{align-items:flex-start;flex-direction:column}.whatsapp-strip .button{width:100%} }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
