@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{--gold:#e4b85d;--ink:#101112;--panel:#1b1c1e;--muted:#adb0b5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#101112;color:#f5f3ee;font-family:'DM Sans',sans-serif;line-height:1.65}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-.045em}h1{font-size:clamp(3.2rem,7vw,6.8rem);max-width:950px;margin:18px 0 25px}h2{font-size:clamp(2rem,4vw,3.7rem);margin:0 0 20px}h3{font-size:1.4rem}p{color:#c9c9ca}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:30;background:rgba(14,14,15,.96);backdrop-filter:blur(16px);border-bottom:1px solid #ffffff18}.head{max-width:1320px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 25px;gap:20px}.brand img{width:120px;height:65px;object-fit:contain}.links{display:flex;align-items:center;gap:23px}.links a{font-size:.85rem;font-weight:700}.links a:hover,.links .active{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 23px;background:var(--gold);color:#111!important;border:1px solid var(--gold);border-radius:3px;font-weight:800;font-size:.9rem;cursor:pointer;transition:.2s}.btn:hover{background:#fff;border-color:#fff}.outline{background:transparent;color:#fff!important;border-color:#ffffff70}.outline:hover{color:#111!important}.menu{display:none;background:none;color:#fff;border:1px solid #777;padding:8px 13px;font-size:24px}.hero{min-height:660px;display:flex;align-items:center;position:relative;background-size:cover;background-position:center}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(0,0,0,.65) 50%,rgba(0,0,0,.14))}.hero .inner{position:relative;max-width:1320px;width:100%;padding:90px 28px;margin:auto}.eyebrow{color:var(--gold);font-size:.8rem;text-transform:uppercase;letter-spacing:.22em;font-weight:800}.hero p{font-size:1.18rem;max-width:600px}.actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:30px}.wrap{max-width:1320px;padding:95px 28px;margin:auto}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.split img{width:100%;height:480px;object-fit:cover}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.card{background:#1b1c1e;overflow:hidden;border:1px solid #ffffff12}.card img{width:100%;height:260px;object-fit:cover;display:block}.card div{padding:25px}.card p{font-size:.95rem}.muted{background:#18191b}.gold{color:var(--gold)}.kicker{display:flex;gap:30px;flex-wrap:wrap;margin:30px 0}.stat{border-left:2px solid var(--gold);padding-left:16px}.stat strong{display:block;font-size:2rem;color:#fff}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.gallery figure{margin:0;position:relative;overflow:hidden;background:#222}.gallery img{display:block;width:100%;height:290px;object-fit:cover;transition:transform .3s}.gallery img:hover{transform:scale(1.04)}figcaption{padding:10px 0 18px;font-size:.84rem;color:#bfc0c2}.faq{max-width:850px;margin:auto}.faq details{padding:22px 0;border-bottom:1px solid #444}.faq summary{font-weight:700;cursor:pointer}.cta{text-align:center;background:#cda04e;color:#111;padding:80px 25px}.cta p{color:#2b261d}.cta .btn{background:#111;color:#fff!important;border-color:#111}footer{background:#090909;padding:60px 25px 25px}.foot{max-width:1320px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.foot img{width:150px}.foot a{display:block;margin:9px 0;color:#ddd}.copyright{max-width:1320px;margin:40px auto 0;border-top:1px solid #333;padding-top:20px;font-size:.8rem;color:#aaa}.form{display:grid;gap:16px}.form input,.form textarea,.form select{width:100%;padding:15px;background:#202123;border:1px solid #555;color:white;border-radius:3px;font:inherit}.form label{font-size:.86rem;font-weight:700}.small{font-size:.82rem} @media(max-width:1050px){.links{gap:12px}.links a{font-size:.75rem}}@media(max-width:800px){.menu{display:block}.head{flex-wrap:wrap}.links{display:none;width:100%;flex-direction:column;align-items:stretch;padding:16px 0}.links.open{display:flex}.links a{font-size:1rem;padding:7px}.hero{min-height:570px}.hero .inner{padding:65px 22px}.wrap{padding:65px 22px}.split,.foot{grid-template-columns:1fr;gap:25px}.cards,.gallery{grid-template-columns:repeat(2,1fr)}.split img{height:320px}}@media(max-width:540px){.cards,.gallery{grid-template-columns:1fr}.gallery img{height:260px}.hero{min-height:540px}h1{font-size:3rem}.brand img{width:105px;height:58px}}

/* Modern architectural details */
body{background-color:#101112;background-image:linear-gradient(30deg,rgba(228,184,93,.025) 12%,transparent 12.5%,transparent 87%,rgba(228,184,93,.025) 87.5%),linear-gradient(150deg,rgba(228,184,93,.025) 12%,transparent 12.5%,transparent 87%,rgba(228,184,93,.025) 87.5%);background-size:90px 46px}
section.muted{background-color:#18191b;background-image:repeating-linear-gradient(0deg,transparent 0 42px,rgba(228,184,93,.035) 43px 44px),repeating-linear-gradient(90deg,transparent 0 109px,rgba(228,184,93,.025) 110px 111px)}
.hero{isolation:isolate;overflow:hidden;background-image:none!important;min-height:clamp(560px,72vh,760px)}
.hero:before{display:none}
.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#101112 0%,#101112 37%,rgba(16,17,18,.92) 48%,rgba(16,17,18,.25) 67%,transparent 100%)}
.hero .hero-photo{position:absolute;z-index:-2;right:0;top:0;width:56%;height:100%;object-fit:cover;object-position:center}
.hero .inner{z-index:1}.hero h1{max-width:720px;font-size:clamp(3rem,6vw,6rem);text-wrap:balance}.hero p{max-width:530px}
.card{transition:transform .3s ease,border-color .3s ease;box-shadow:0 18px 48px #0002}.card:hover{transform:translateY(-5px);border-color:#e4b85d60}
.btn{border-radius:6px}.split img{border-radius:5px}
.service-carousel{position:relative;margin-top:32px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.service-carousel .carousel-track{display:flex;gap:18px;width:max-content;animation:gallery-drift var(--duration,48s) linear infinite;will-change:transform}
.service-carousel:hover .carousel-track,.service-carousel:focus-within .carousel-track{animation-play-state:paused}
.service-carousel figure{margin:0;flex:none;width:clamp(250px,30vw,410px);position:relative;border:1px solid #ffffff1c;border-radius:6px;overflow:hidden;background:#202123}
.service-carousel img{display:block;width:100%;height:clamp(220px,24vw,300px);object-fit:cover}
.service-carousel figcaption{padding:13px 17px;font-size:.85rem;color:#ddd}
.service-carousel .carousel-controls{display:flex;gap:10px;justify-content:flex-end;padding:14px 0}
.carousel-button{background:#27282a;border:1px solid #ffffff50;border-radius:4px;color:#fff;padding:8px 14px;cursor:pointer}
@keyframes gallery-drift{to{transform:translateX(-50%)}}
@media(max-width:800px){.hero .hero-photo{width:100%;opacity:.55}.hero:after{background:linear-gradient(90deg,#101112 0%,rgba(16,17,18,.92) 30%,rgba(16,17,18,.52) 100%)}.hero h1{max-width:620px}.hero{min-height:580px}}
@media(max-width:540px){.hero .hero-photo{opacity:.46}.hero:after{background:linear-gradient(90deg,rgba(16,17,18,.98),rgba(16,17,18,.65))}.hero h1{font-size:clamp(2.65rem,12vw,3.5rem)}.service-carousel figure{width:270px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-carousel .carousel-track{animation:none}.card{transition:none}}

/* Softer cinematic hero blending: seamless dark-to-photo transition */
.hero{background:#101112}
.hero .hero-photo{width:60%;right:0;object-fit:cover;object-position:center;filter:brightness(.84) contrast(1.04);-webkit-mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.14) 12%,rgba(0,0,0,.55) 27%,#000 48%);mask-image:linear-gradient(to right,transparent 0%,rgba(0,0,0,.14) 12%,rgba(0,0,0,.55) 27%,#000 48%)}
.hero:after{background:linear-gradient(90deg,#101112 0%,#101112 32%,rgba(16,17,18,.9) 43%,rgba(16,17,18,.38) 61%,rgba(16,17,18,.04) 82%),linear-gradient(0deg,rgba(16,17,18,.55) 0%,transparent 23%,transparent 76%,rgba(16,17,18,.22) 100%)}
@media(max-width:800px){.hero .hero-photo{width:100%;opacity:.75;-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.65) 62%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.65) 62%,transparent 100%)}.hero:after{background:linear-gradient(90deg,rgba(16,17,18,.91),rgba(16,17,18,.46)),linear-gradient(0deg,#101112 0%,transparent 55%)}}
@media(max-width:540px){.hero .hero-photo{opacity:.64;object-position:center top}.hero:after{background:linear-gradient(90deg,rgba(16,17,18,.93),rgba(16,17,18,.5)),linear-gradient(0deg,#101112 0%,transparent 70%)}}


/* Progressive scroll entrance animations */
@media(prefers-reduced-motion:no-preference){
 .js-reveal .reveal-on-scroll{opacity:0;transform:translate3d(0,36px,0);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .72s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
 .js-reveal .reveal-on-scroll.reveal-left{transform:translate3d(-42px,0,0)}
 .js-reveal .reveal-on-scroll.reveal-right{transform:translate3d(42px,0,0)}
 .js-reveal .reveal-on-scroll.is-visible{opacity:1;transform:translate3d(0,0,0)}
}


/* Conversion improvements and project content */
.service-links{margin-top:44px;padding:28px;border:1px solid #ffffff24;background:#ffffff08;border-radius:7px}
.service-links h3{margin:0 0 18px}.service-pills{display:flex;gap:10px;flex-wrap:wrap}
.service-pills a{border:1px solid #e4b85d70;padding:10px 16px;border-radius:30px;font-weight:700;font-size:.9rem;transition:background .2s,color .2s}
.service-pills a:hover{background:var(--gold);color:#101112}
.mobile-contact-bar{display:none}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form [role=status]{min-height:1.5em}.form button:disabled{opacity:.65;cursor:wait}
.lead{font-size:1.2rem;max-width:820px}
@media(max-width:800px){body{padding-bottom:66px}.mobile-contact-bar{position:fixed;z-index:50;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#101112f5;border-top:1px solid #e4b85d60;backdrop-filter:blur(12px)}.mobile-contact-bar a{display:flex;justify-content:center;align-items:center;background:#27282a;color:white;font-weight:800;border-radius:5px;padding:10px 8px}.mobile-contact-bar a:last-child{background:var(--gold);color:#111}.service-links{padding:22px}}

.image-compare{position:relative;width:100%;max-width:950px;aspect-ratio:16/9;overflow:hidden;border-radius:8px;border:1px solid #ffffff30;background:#222}.image-compare>img,.image-compare-top img{width:100%;height:100%;object-fit:cover;display:block}.image-compare-top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare-divider{position:absolute;top:0;bottom:0;left:var(--split);width:3px;background:#fff;transform:translateX(-50%);pointer-events:none}.compare-divider:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:#111;font-size:24px}.compare-label{position:absolute;bottom:15px;padding:6px 11px;background:#111c;border-radius:4px;font-size:.85rem}.compare-label.left{left:15px}.compare-label.right{right:15px}.compare-range-label{display:block;margin:18px 0 5px;font-weight:700}.compare-range{width:min(950px,100%);accent-color:var(--gold);cursor:ew-resize}.card img{transition:transform .5s ease}.card:hover img{transform:scale(1.035)}@media(prefers-reduced-motion:reduce){.card img{transition:none}}
/* Accessible service navigation */
.nav-services{position:relative;display:flex;align-items:center}
.nav-services>a{font-size:.85rem;font-weight:700;padding:14px 0}
.nav-services>a:after{content:'⌄';margin-left:7px;color:var(--gold)}
.nav-submenu{display:none;position:absolute;top:100%;left:-18px;min-width:235px;padding:10px;background:#171819;border:1px solid #ffffff30;box-shadow:0 16px 35px #0008;border-radius:5px;z-index:50}
.nav-submenu a{display:block;padding:10px 12px!important;font-size:.87rem!important;border-radius:3px}
.nav-submenu a:hover,.nav-submenu a:focus-visible{background:#ffffff14}
.nav-services:hover .nav-submenu,.nav-services:focus-within .nav-submenu{display:block}
@media(max-width:800px){.nav-services{display:block;width:100%}.nav-services>a{display:block;padding:7px;font-size:1rem}.nav-submenu{display:block;position:static;min-width:0;box-shadow:none;background:transparent;border:0;border-left:2px solid var(--gold);border-radius:0;margin:2px 0 8px 12px;padding:0 0 0 10px}.nav-submenu a{padding:8px 10px!important;font-size:.94rem!important}}


/* Always-visible service links, not dependent on dropdown hover */
.service-navigation{position:relative;z-index:20;background:#202123;border-bottom:1px solid #e4b85d55}
.service-navigation-inner{max-width:1320px;margin:auto;padding:11px 28px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 27px}
.service-navigation-inner span{color:var(--gold);font-size:.7rem;font-weight:800;letter-spacing:.15em}
.service-navigation-inner a{font-size:.86rem;font-weight:700;color:#f5f3ee;white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent}
.service-navigation-inner a:hover,.service-navigation-inner a:focus-visible{color:var(--gold);border-bottom-color:var(--gold)}
@media(max-width:800px){.service-navigation-inner{justify-content:flex-start;gap:7px 16px;padding:11px 20px}.service-navigation-inner span{width:100%}.service-navigation-inner a{font-size:.82rem;padding:3px 0}}


/* Single premium header, accessible dropdown and scroll fade */
header{transition:background-color .3s ease,box-shadow .3s ease,transform .35s ease,opacity .35s ease;will-change:transform}
header.header-scrolled{background:rgba(12,12,13,.88);box-shadow:0 8px 26px #0005}
header.header-hidden{transform:translateY(-100%);opacity:0}
header.header-hidden:focus-within{transform:translateY(0);opacity:1}
.nav-services{position:relative}
.services-toggle{font:inherit;font-size:.85rem;font-weight:700;background:transparent;color:inherit;border:0;padding:13px 0;cursor:pointer}
.services-toggle span{color:var(--gold);margin-left:5px}
.links>a.active,.nav-services.active>.services-toggle,.nav-submenu a[aria-current="page"]{color:var(--gold)!important}
.nav-submenu{display:none;position:absolute;top:100%;left:-18px;min-width:235px;padding:10px;background:#171819;border:1px solid #ffffff30;box-shadow:0 16px 35px #0008;border-radius:5px;z-index:50}
.nav-services:hover .nav-submenu,.nav-services:focus-within .nav-submenu,.nav-services.is-open .nav-submenu{display:block}
.nav-submenu a{display:block;padding:10px 12px!important;font-size:.87rem!important}
.nav-submenu a:hover,.nav-submenu a:focus-visible{background:#ffffff14}
@media(max-width:800px){.nav-services{width:100%}.services-toggle{width:100%;text-align:left;padding:8px;font-size:1rem}.nav-submenu{display:none!important;position:static;box-shadow:none;border:0;border-left:2px solid var(--gold);margin:3px 0 8px 13px;padding:0 0 0 9px;background:transparent}.nav-services.is-open .nav-submenu{display:block!important}.nav-submenu a{padding:9px!important;font-size:.95rem!important}}
@media(prefers-reduced-motion:reduce){header{transition:none}}


/* Blend the original gold logo seamlessly into both dark surfaces */
header .brand img,footer .foot img{mix-blend-mode:screen;background:transparent;filter:contrast(1.08);border:0;box-shadow:none}
header .brand,footer .foot>div:first-child{isolation:isolate}


/* Correct previous blend: allow image to blend with the ACTUAL header/footer backdrop */
header .brand,footer .foot>div:first-child{isolation:auto!important}
header .brand img,footer .foot img{mix-blend-mode:lighten!important;background:none!important;filter:none!important}
header,footer{isolation:auto}


.gallery-open{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.gallery-open img{display:block;width:100%}
.gallery-open:focus-visible{outline:3px solid #e4b85d}
@media(hover:none){.service-carousel:hover .carousel-track,.service-carousel:focus-within .carousel-track{animation-play-state:running}}
body.lightbox-open{overflow:hidden}
.gallery-lightbox[hidden]{display:none}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;background:rgba(0,0,0,.96);padding:15px;gap:5px}
.gallery-lightbox figure{grid-column:2;grid-row:1;min-width:0;margin:0;text-align:center}
.gallery-lightbox figure img{display:block;max-width:100%;max-height:calc(100dvh - 160px);margin:auto;object-fit:contain}
.gallery-lightbox figcaption{padding:12px 0;text-align:center}
.gallery-lightbox button{width:44px;height:44px;border:1px solid #aaa;border-radius:50%;background:#292929;color:white;font-size:28px;cursor:pointer}
.gallery-lightbox .lightbox-close{position:absolute;right:20px;top:20px}
.gallery-lightbox .lightbox-prev{grid-column:1;grid-row:1}
.gallery-lightbox .lightbox-next{grid-column:3;grid-row:1}
.gallery-lightbox .lightbox-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:white}
@media(max-width:600px){.gallery-lightbox{grid-template-columns:40px minmax(0,1fr) 40px;padding:7px}.gallery-lightbox button{width:38px;height:38px}}
