@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--bg:#0b0b0c;--panel:#111214;--panel2:#17181b;--gold:#d7a53b;--gold2:#f4ca68;--orange:#d76b18;--cream:#f6f1e6;--muted:#a6a6a2;--line:rgba(255,255,255,.1);--max:1180px;--shadow:0 24px 80px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5ef;color:#191919;font-family:'DM Sans',Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{background:#090909;color:#b9b9b4;font-size:13px;border-bottom:1px solid rgba(255,255,255,.07)}.topbar .container{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.topbar span{display:inline-flex;align-items:center;gap:8px;margin-right:18px}.topbar a:hover{color:var(--gold2)}.nav{position:sticky;top:0;z-index:50;background:rgba(10,10,10,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.nav .container{height:86px;display:flex;align-items:center;justify-content:space-between}.brand img{width:176px;height:auto}.navlinks{display:flex;align-items:center;gap:28px;color:#e8e5de;font-size:14px;font-weight:600}.navlinks a{position:relative;padding:31px 0}.navlinks a:after{content:'';position:absolute;left:0;right:100%;bottom:21px;height:2px;background:var(--gold2);transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{right:0}.navcta{padding:12px 18px!important;border:1px solid rgba(215,165,59,.6);color:#fff!important}.navcta:after{display:none}.menu{display:none;color:#fff;font-size:26px}.hero{min-height:78vh;position:relative;display:flex;align-items:center;overflow:hidden;background:#080808}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 42%,rgba(0,0,0,.2) 100%),url('../img/carousel-1111.jpg') center/cover}.hero .container{position:relative;z-index:2;padding:90px 0}.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--gold2);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow:before{content:'';width:34px;height:1px;background:var(--gold2)}h1,h2,h3,h4{font-family:'Manrope',Arial,sans-serif;line-height:1.1}h1{font-size:clamp(46px,6vw,82px);color:#fff;max-width:800px;margin:20px 0}.hero p{color:#d2d0ca;max-width:630px;font-size:18px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 21px;border-radius:2px;border:1px solid var(--gold);font-weight:700;transition:.25s}.btn-gold{background:linear-gradient(135deg,#b47a18,#f0c761);color:#111;border:0}.btn-dark{color:#fff;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.25)}.btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.2)}.stats-strip{background:#111;color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:28px 20px;border-right:1px solid rgba(255,255,255,.08)}.stat:last-child{border:0}.stat strong{display:block;color:var(--gold2);font:800 30px Manrope}.stat span{color:#a7a7a3;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.section{padding:100px 0}.section.dark{background:#0c0d0e;color:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px}.section-head h2{font-size:clamp(34px,4vw,52px);margin:12px 0 0}.section-head p{max-width:530px;color:#777;margin:0}.dark .section-head p{color:#a9a9a4}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.image-frame{position:relative}.image-frame img{width:100%;aspect-ratio:1/1;object-fit:cover}.image-frame:after{content:'';position:absolute;inset:18px -18px -18px 18px;border:1px solid rgba(215,165,59,.5);z-index:-1}.kicker{color:var(--orange);font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase}.copy h2{font-size:clamp(34px,4vw,52px);margin:12px 0 20px}.copy p{color:#666}.dark .copy p{color:#aaa}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.check{background:#fff;border:1px solid #e7e4dc;padding:15px}.dark .check{background:#151617;border-color:#27282a;color:#ddd}.check b{color:var(--gold);margin-right:7px}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid #e6e2d8;overflow:hidden;transition:.3s}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.card-img{height:230px;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:.5s}.card:hover img{transform:scale(1.05)}.card-body{padding:24px}.card-body h3{font-size:21px;margin:0 0 10px}.card-body p{color:#747474;font-size:14px;margin:0 0 18px}.text-link{color:#9b6913;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.08em}.feature{background:linear-gradient(120deg,#0b0c0d,#171311);color:#fff}.feature-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.feature img{width:100%;aspect-ratio:1/1;object-fit:cover}.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.feature-item{padding:22px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08)}.feature-item strong{display:block;color:#fff}.feature-item span{font-size:13px;color:#9d9d98}.cta{background:linear-gradient(100deg,#9b6814,#e0ac3c);color:#111;padding:70px 0}.cta .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:42px;margin:0}.cta p{margin:8px 0 0}.cta .btn{border-color:#111;color:#111}.appointment{background:#101112;color:#fff}.form-card{background:#fff;color:#111;padding:38px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#6d6d68}.field input,.field select,.field textarea{border:1px solid #dedbd4;padding:14px 15px;font:inherit;outline:0;background:#faf9f6}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field textarea{min-height:130px;resize:vertical}.page-hero{background:linear-gradient(100deg,#0a0b0c,#20170e);padding:100px 0;color:#fff}.page-hero h1{font-size:clamp(44px,6vw,68px);margin:14px 0}.breadcrumb{color:#aaa;font-size:14px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery a{overflow:hidden;background:#111;position:relative}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.45s}.gallery a:hover img{transform:scale(1.06)}.gallery a:after{content:'View project';position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.7);color:#fff;padding:7px 11px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px}.contact-card{background:#111;color:#fff;padding:36px}.contact-item{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08)}.contact-item:last-child{border:0}.contact-item small{display:block;color:#888;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}.contact-item a{color:#f0c761}.service-detail{display:grid;grid-template-columns:1.15fr .85fr;gap:50px;align-items:start}.detail-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.detail-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover}.detail-copy{position:sticky;top:120px}.detail-copy h2{font-size:42px;margin:10px 0 20px}.footer{background:#080909;color:#aaa;padding:70px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .9fr .9fr;gap:45px}.footer .brand img{width:190px;margin-bottom:15px}.footer h4{color:#fff;margin:0 0 18px}.footer p{font-size:14px}.footer a{display:block;color:#aaa;margin:9px 0}.footer a:hover{color:var(--gold2)}.copyright{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;font-size:12px}.floating{position:fixed;right:20px;bottom:20px;z-index:40;display:flex;flex-direction:column;gap:8px}.floating a{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#111;color:#f5ca68;border:1px solid rgba(215,165,59,.55);box-shadow:0 10px 30px rgba(0,0,0,.25)}@media(max-width:900px){.navlinks{display:none}.menu{display:block}.nav .container{height:72px}.topbar .container{flex-wrap:wrap}.services{grid-template-columns:1fr 1fr}.split,.feature-grid,.service-detail,.contact-grid{grid-template-columns:1fr}.detail-copy{position:static}.stats{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.cta .container{display:block}.cta .btn{margin-top:22px}}@media(max-width:600px){.container{width:min(100% - 28px,var(--max))}.hero{min-height:72vh}.hero .container{padding:70px 0}.hero p{font-size:16px}.section{padding:70px 0}.services,.gallery,.feature-list,.checklist,.form-grid,.stats{grid-template-columns:1fr}.section-head{display:block}.footer-grid{grid-template-columns:1fr}.copyright{display:block}.copyright span{display:block;margin-top:8px}.brand img{width:150px}.form-card{padding:24px}}

/* Premium motion layer */
body{overflow-x:hidden;animation:siteIn .7s ease both}
@keyframes siteIn{from{opacity:0}to{opacity:1}}
.nav .brand{display:flex;align-items:center;height:100%;overflow:hidden}
.nav .brand img{width:196px;max-height:78px;object-fit:contain;object-position:center}
.footer .brand img{width:230px;max-height:100px;object-fit:contain}

.hero-slider{isolation:isolate}
.hero-slider:before{display:none}
.hero-slides,.hero-slide,.hero-vignette{position:absolute;inset:0}
.hero-slides{z-index:0;overflow:hidden}
.hero-slide{background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.08);transition:opacity 1.25s ease,transform 7s cubic-bezier(.2,.6,.2,1)}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-vignette{z-index:1;background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.65) 42%,rgba(0,0,0,.26) 100%),linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.46))}
.hero-content{z-index:2}
.hero-content>*{animation:heroRise .8s cubic-bezier(.2,.7,.2,1) both}
.hero-content h1{animation-delay:.08s}.hero-content p{animation-delay:.16s}.hero-content .hero-actions{animation-delay:.24s}
@keyframes heroRise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
.hero-progress{position:absolute;z-index:4;right:34px;bottom:34px;display:flex;gap:9px}
.hero-dot{width:38px;height:3px;border:0;padding:0;background:rgba(255,255,255,.35);cursor:pointer;position:relative;overflow:hidden}
.hero-dot:after{content:'';position:absolute;inset:0;background:var(--gold2);transform:scaleX(0);transform-origin:left;}
.hero-dot.is-active:after{animation:dotProgress 6.5s linear forwards}
@keyframes dotProgress{to{transform:scaleX(1)}}

/* Scroll reveal */
.reveal-ready{opacity:0;transform:translateY(32px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.reveal-ready.revealed{opacity:1;transform:none}
.reveal-left{transform:translateX(-36px)}.reveal-right{transform:translateX(36px)}
.reveal-scale{transform:scale(.96)}
.services .card.reveal-ready:nth-child(2),.gallery a.reveal-ready:nth-child(2){transition-delay:.08s}
.services .card.reveal-ready:nth-child(3),.gallery a.reveal-ready:nth-child(3){transition-delay:.16s}
.services .card.reveal-ready:nth-child(4),.gallery a.reveal-ready:nth-child(4){transition-delay:.24s}

.card,.gallery a,.feature-item,.check,.form-card,.contact-card,.image-frame{will-change:transform}
.card{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s ease,border-color .35s ease}
.card:hover{transform:translateY(-10px)}
.gallery a{transition:transform .45s ease,box-shadow .45s ease}
.gallery a:hover{transform:translateY(-5px);box-shadow:0 20px 55px rgba(0,0,0,.18)}
.gallery a img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .45s ease}
.gallery a:hover img{transform:scale(1.08);filter:saturate(1.08)}
.feature-item{transition:transform .35s ease,border-color .35s ease,background .35s ease}
.feature-item:hover{transform:translateY(-5px);border-color:rgba(215,165,59,.42);background:rgba(255,255,255,.075)}
.check{transition:transform .3s ease,border-color .3s ease}
.check:hover{transform:translateY(-3px);border-color:rgba(215,165,59,.55)}
.image-frame{transition:transform .6s ease}.image-frame:hover{transform:translateY(-5px)}
.image-frame img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.image-frame:hover img{transform:scale(1.025)}
.btn{position:relative;overflow:hidden}.btn:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.32) 50%,transparent 75%);transform:translateX(-120%);transition:transform .65s ease}.btn:hover:before{transform:translateX(120%)}
.navlinks a{transition:color .25s ease}.navlinks a:hover{color:#f4ca68}
.floating a{transition:transform .3s ease,background .3s ease}.floating a:hover{transform:translateY(-5px) scale(1.05);background:#1b1b1b}

/* Mobile navigation */
@media(max-width:900px){.navlinks{position:absolute;top:72px;left:0;right:0;background:rgba(9,9,9,.98);backdrop-filter:blur(16px);padding:12px 20px 22px;display:flex;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid rgba(255,255,255,.08);opacity:0;visibility:hidden;transform:translateY(-10px);transition:.25s ease}.navlinks.open{opacity:1;visibility:visible;transform:none}.navlinks a{padding:13px 0}.navlinks a:after{bottom:7px;right:100%}.navlinks .navcta{margin-top:8px;text-align:center}.hero-progress{right:20px;bottom:22px}.nav .brand img{width:180px;max-height:62px}}
@media(max-width:600px){.hero-progress{left:14px;right:auto}.hero-dot{width:30px}.nav .brand img{width:165px;max-height:60px}.footer .brand img{width:205px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero-slide{transform:none}.reveal-ready{opacity:1;transform:none}}


/* Premium Google Maps */
.map-section { padding-top: 20px; }
.map-wrap { overflow: hidden; border: 1px solid rgba(212,168,73,.35); border-radius: 22px; background: #111; box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.map-wrap iframe { display: block; min-height: 450px; filter: saturate(.75) contrast(1.05); }
@media (max-width: 700px) { .map-wrap iframe { min-height: 340px; } }
