:root{
  --ink:#15130f;
  --ink-2:#242018;
  --cream:#f8f4ec;
  --paper:#fffdf8;
  --sand:#e9ddc8;
  --gold:#c9943e;
  --gold-light:#f0ce88;
  --gold-dark:#9a6a25;
  --muted:#726b60;
  --line:rgba(21,19,15,.13);
  --white:#fff;
  --shadow:0 24px 70px rgba(26,19,7,.14);
  --radius:28px;
  --container:min(1240px,calc(100vw - 64px));
  --header-h:88px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,Manrope,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.menu-open,body.modal-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
svg{display:block}
.container{width:var(--container);margin-inline:auto}
.section{padding:120px 0}
.skip-link{position:fixed;z-index:9999;top:12px;left:12px;padding:10px 16px;background:#fff;color:#111;transform:translateY(-150%);border-radius:10px;box-shadow:var(--shadow)}
.skip-link:focus{transform:none}

.preloader{position:fixed;inset:0;z-index:9998;background:#11100e;display:grid;place-items:center;transition:opacity .65s var(--ease),visibility .65s}
.preloader.is-hidden{opacity:0;visibility:hidden}
.preloader img{width:84px;animation:preloaderPulse 1.4s ease-in-out infinite}
.preloader span{position:absolute;width:140px;height:1px;background:rgba(255,255,255,.15);overflow:hidden;transform:translateY(80px)}
.preloader span:after{content:"";display:block;width:55%;height:100%;background:linear-gradient(90deg,transparent,var(--gold-light),transparent);animation:preloaderLine 1.15s linear infinite}
@keyframes preloaderPulse{50%{transform:scale(1.06);filter:brightness(1.2)}}
@keyframes preloaderLine{from{transform:translateX(-120%)}to{transform:translateX(220%)}}

.site-header{height:var(--header-h);position:fixed;z-index:1000;inset:0 0 auto;color:#fff;transition:background .35s ease,box-shadow .35s ease,color .35s ease,transform .35s ease}
.site-header:not(.is-scrolled){color:#fff}
.site-header.is-scrolled{background:rgba(255,253,248,.92);color:var(--ink);box-shadow:0 10px 35px rgba(22,18,10,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.site-header.is-hidden{transform:translateY(-100%)}
.header-inner{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;width:300px;flex:0 0 auto}
.brand img{width:100%;height:80px;object-fit:contain;object-position:left center;filter:drop-shadow(0 5px 16px rgba(0,0,0,.14))}
.desktop-nav{margin-left:auto;display:flex;align-items:center;gap:25px}
.desktop-nav a{position:relative;font-size:13px;font-weight:650;letter-spacing:.01em;white-space:nowrap}
.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:currentColor;transition:right .35s var(--ease)}
.desktop-nav a:hover:after,.desktop-nav a.is-active:after{right:0}
.header-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border:1px solid rgba(255,255,255,.36);border-radius:999px;font-size:12px;font-weight:750;letter-spacing:.03em;transition:.3s ease;white-space:nowrap}
.site-header.is-scrolled .header-cta{border-color:var(--line)}
.header-cta:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-2px)}
.header-cta svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.menu-toggle{display:none;color:inherit;width:46px;height:46px;border:0;background:transparent;padding:10px;position:relative}
.menu-toggle span{display:block;height:1.5px;background:currentColor;margin:6px 0;transition:.35s var(--ease)}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.menu-toggle.is-open span:nth-child(2){opacity:0;transform:scaleX(0)}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.mobile-menu{display:none}

.hero{height:max(760px,100svh);min-height:760px;position:relative;overflow:hidden;background:#111}
.hero-slider,.hero-slide{position:absolute;inset:0}
.hero-slide{opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;isolation:isolate}
.hero-slide.is-active{opacity:1;visibility:visible}
.hero-bg{position:absolute;inset:-3%;background-size:cover;background-position:center;transform:scale(1.08);transition:transform 8s ease;z-index:-3}
.hero-slide.is-active .hero-bg{transform:scale(1)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,7,.88) 0%,rgba(8,8,7,.66) 42%,rgba(8,8,7,.18) 72%,rgba(8,8,7,.35) 100%);z-index:-2}
.hero-overlay:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.44),transparent 30%,rgba(0,0,0,.35))}
.hero-overlay-tech{background:linear-gradient(90deg,rgba(7,10,13,.9) 0%,rgba(7,10,13,.72) 48%,rgba(7,10,13,.25) 100%)}
.hero-overlay-villa{background:linear-gradient(90deg,rgba(15,12,8,.89),rgba(15,12,8,.67) 44%,rgba(15,12,8,.25) 76%,rgba(15,12,8,.36))}
.hero-grid-lines{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:90px 90px;mask-image:linear-gradient(90deg,#000,transparent 76%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 76%)}
.hero-content{height:100%;display:flex;align-items:center;justify-content:space-between;color:#fff;padding-top:88px;position:relative}
.hero-copy{max-width:810px}
.eyebrow,.section-kicker{font-size:12px;font-weight:750;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);display:flex;align-items:center;gap:12px}
.eyebrow i{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.8}
.hero h1,.hero h2{font-size:clamp(52px,6.15vw,92px);line-height:.98;letter-spacing:-.055em;margin:26px 0 26px;font-weight:670;max-width:940px}
.hero h1 em,.hero h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em;color:var(--gold-light)}
.hero-copy>p{max-width:690px;color:rgba(255,255,255,.8);font-size:18px;line-height:1.75;margin:0}
.hero-actions{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}
.btn{min-height:52px;padding:0 25px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;font-size:13px;font-weight:760;letter-spacing:.025em;transition:transform .28s ease,background .28s ease,color .28s ease,border-color .28s ease,box-shadow .28s ease}
.btn:hover{transform:translateY(-3px)}
.btn-gold{background:linear-gradient(120deg,var(--gold-dark),var(--gold-light));color:#1a140b;box-shadow:0 14px 35px rgba(201,148,62,.25)}
.btn-gold:hover{box-shadow:0 18px 45px rgba(201,148,62,.4)}
.btn-ghost{border-color:rgba(255,255,255,.36);color:#fff;background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:#fff;color:#111;border-color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.hero-fact{align-self:flex-end;margin-bottom:105px;width:260px;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.35);color:#fff}
.hero-fact>span{display:block;color:var(--gold-light);font-size:11px;letter-spacing:.18em;margin-bottom:11px}
.hero-fact strong{display:block;font-size:20px;line-height:1.25;margin-bottom:9px}
.hero-fact p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.65);margin:0}
.hero-controls{position:absolute;z-index:10;bottom:35px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:24px;color:#fff}
.slider-arrows{display:flex;gap:8px}
.slider-arrows button,.portfolio-controls button{width:46px;height:46px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.04);border-radius:50%;color:#fff;display:grid;place-items:center;transition:.3s ease}
.slider-arrows button:hover{background:#fff;color:#111;transform:scale(1.04)}
.slider-arrows svg,.portfolio-controls svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.slider-dots{display:flex;gap:9px}
.slider-dots button{width:7px;height:7px;padding:0;border:0;background:rgba(255,255,255,.38);border-radius:999px;transition:.35s ease}
.slider-dots button.is-active{width:28px;background:var(--gold-light)}
.hero-progress{width:140px;height:1px;background:rgba(255,255,255,.24);overflow:hidden}
.hero-progress span{height:100%;display:block;width:0;background:var(--gold-light)}
.hero-progress span.is-running{animation:heroProgress 7s linear forwards}
@keyframes heroProgress{from{width:0}to{width:100%}}
.scroll-cue{position:absolute;right:28px;bottom:33px;z-index:10;color:#fff;display:flex;align-items:center;gap:13px;transform:rotate(90deg);transform-origin:right bottom;font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.scroll-cue i{width:55px;height:1px;background:#fff;position:relative;overflow:hidden}
.scroll-cue i:after{content:"";position:absolute;width:18px;height:1px;background:var(--gold-light);animation:scrollCue 1.8s ease-in-out infinite}
@keyframes scrollCue{from{transform:translateX(-18px)}to{transform:translateX(65px)}}
.reveal-up{opacity:0;transform:translateY(30px)}
.hero-slide.is-active .reveal-up{animation:revealUp .9s var(--ease) forwards}
.hero-slide.is-active .delay-1{animation-delay:.12s}.hero-slide.is-active .delay-2{animation-delay:.23s}.hero-slide.is-active .delay-3{animation-delay:.34s}
@keyframes revealUp{to{opacity:1;transform:none}}

.intro{background:var(--paper)}
.intro-grid{display:grid;grid-template-columns:210px 1fr;gap:70px}
.section-kicker{color:var(--gold-dark)}
.display-title,.section-head h2,.construction-sticky h2,.smart-copy h2,.why-copy h2,.contact-info h2{font-size:clamp(42px,5vw,72px);line-height:1.02;letter-spacing:-.048em;font-weight:640;margin:0}
.display-title span{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--gold-dark)}
.intro-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:48px;border-top:1px solid var(--line);padding-top:34px}
.intro-columns p{font-size:17px;line-height:1.85;color:var(--muted);margin:0}
.intro-columns strong{color:var(--ink)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:86px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-item{padding:35px 28px 35px 0;min-height:180px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.stat-item:not(:first-child){padding-left:28px}
.stat-item:last-child{border-right:0}
.stat-item strong{font-size:55px;line-height:1;font-weight:640;letter-spacing:-.05em;color:var(--gold-dark)}
.stat-item p{margin:20px 0 0;color:var(--muted);font-size:14px;line-height:1.55;max-width:220px}

.dual-expertise{background:#f1e9dc;position:relative;overflow:hidden}
.dual-expertise:before{content:"";position:absolute;inset:0;background:url('../img/blueprint-bg.svg') center/cover;opacity:.65}
.dual-expertise>.container{position:relative}
.section-head{display:grid;grid-template-columns:1.15fr .75fr;gap:100px;align-items:end;margin-bottom:55px}
.section-head h2{font-size:clamp(42px,4.5vw,66px);margin-top:17px}
.section-head>p{font-size:16px;line-height:1.8;color:var(--muted);margin:0;padding-bottom:4px}
.section-head.light h2{color:#fff}.section-head.light>p{color:rgba(255,255,255,.62)}.section-head.light .section-kicker{color:var(--gold-light)}
.expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.expertise-card{height:610px;border-radius:var(--radius);overflow:hidden;position:relative;color:#fff;isolation:isolate;box-shadow:var(--shadow)}
.card-image{position:absolute;inset:0;z-index:-3}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s ease}
.expertise-card:hover .card-image img{transform:scale(1.065)}
.card-scrim{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.82) 80%,rgba(0,0,0,.93))}
.card-number{position:absolute;top:28px;right:30px;font-size:13px;letter-spacing:.18em;border:1px solid rgba(255,255,255,.36);border-radius:999px;padding:8px 13px}
.card-content{position:absolute;left:38px;right:38px;bottom:38px}
.card-content>span{font-size:10px;letter-spacing:.2em;color:var(--gold-light);font-weight:750}
.card-content h3{font-size:38px;line-height:1.08;letter-spacing:-.035em;margin:10px 0 15px}
.card-content p{color:rgba(255,255,255,.72);max-width:500px;margin:0 0 23px;line-height:1.7;font-size:15px}
.card-content b{font-size:12px;letter-spacing:.04em;display:flex;align-items:center;gap:10px}
.card-content svg,.text-link svg,.map-address svg,.footer-bottom svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .25s ease}
.expertise-card:hover .card-content svg,.text-link:hover svg,.map-address a:hover svg{transform:translateX(5px)}

.technology{background:#12110f;color:#fff;position:relative;overflow:hidden}
.technology:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(201,148,62,.16),transparent 28%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,68px 68px,68px 68px}
.technology>.container{position:relative;z-index:2}
.tech-orbit{position:absolute;width:600px;height:600px;border:1px solid rgba(240,206,136,.08);border-radius:50%;right:-260px;top:120px}
.tech-orbit span{position:absolute;inset:70px;border:1px solid rgba(240,206,136,.07);border-radius:50%}
.tech-orbit span:nth-child(2){inset:150px}.tech-orbit span:nth-child(3){inset:245px;background:var(--gold);box-shadow:0 0 70px var(--gold);opacity:.28}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12)}
.service-card{padding:38px 34px 36px;min-height:400px;border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);position:relative;transition:background .35s ease,transform .35s ease}
.service-card:hover{background:rgba(255,255,255,.055);transform:translateY(-4px)}
.service-card>span{position:absolute;top:28px;right:28px;color:rgba(255,255,255,.35);font-size:11px;letter-spacing:.15em}
.service-icon{width:52px;height:52px;border:1px solid rgba(240,206,136,.35);border-radius:16px;display:grid;place-items:center;margin-bottom:48px;color:var(--gold-light)}
.service-icon svg{width:27px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0 0 15px}
.service-card p{color:rgba(255,255,255,.58);font-size:14px;line-height:1.75;margin:0}
.service-card ul{list-style:none;padding:0;margin:24px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.service-card li{font-size:10px;letter-spacing:.04em;border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:6px 9px;color:rgba(255,255,255,.68)}

.construction{background:var(--paper)}
.construction-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start}
.construction-sticky{position:sticky;top:125px}
.construction-sticky h2{font-size:clamp(46px,4.8vw,70px);margin:18px 0 24px}
.construction-sticky>p{font-size:17px;line-height:1.8;color:var(--muted);max-width:520px;margin:0 0 38px}
.construction-image{height:470px;border-radius:var(--radius);overflow:hidden;position:relative;box-shadow:var(--shadow)}
.construction-image img{width:100%;height:100%;object-fit:cover}
.construction-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.42))}
.quality-stamp{position:absolute;z-index:2;left:22px;bottom:22px;width:150px;height:150px;border-radius:50%;background:rgba(255,253,248,.92);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink);border:1px solid rgba(255,255,255,.8)}
.quality-stamp:before{content:"";position:absolute;inset:8px;border:1px dashed var(--gold-dark);border-radius:50%}
.quality-stamp strong{font-family:Georgia,serif;font-size:24px;color:var(--gold-dark);position:relative}.quality-stamp span{font-size:10px;letter-spacing:.08em;text-transform:uppercase;position:relative}
.construction-services{border-top:1px solid var(--line)}
.build-service{display:grid;grid-template-columns:76px 1fr;gap:24px;padding:36px 0;border-bottom:1px solid var(--line)}
.build-no{font-size:12px;letter-spacing:.18em;color:var(--gold-dark);padding-top:7px}
.build-service h3{font-size:29px;line-height:1.2;letter-spacing:-.032em;margin:0 0 12px}
.build-service p{margin:0;color:var(--muted);font-size:15px;line-height:1.75}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}
.tags span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;padding:6px 10px;border-radius:999px;border:1px solid var(--line)}

.smart-buildings{background:#e9dfcf;position:relative;overflow:hidden}
.smart-bg{position:absolute;inset:0;background:url('../img/blueprint-bg.svg') center/cover;mix-blend-mode:multiply;opacity:.68}
.smart-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:95px;align-items:center}
.building-frame{position:relative;height:680px}
.building-image{position:absolute;inset:45px 55px;border-radius:220px 220px 28px 28px;overflow:hidden;box-shadow:var(--shadow)}
.building-image img{width:100%;height:100%;object-fit:cover}
.building-image:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(201,148,62,.02),rgba(17,16,14,.22))}
.data-node{position:absolute;background:rgba(255,253,248,.92);border:1px solid rgba(154,106,37,.22);box-shadow:0 14px 40px rgba(33,24,11,.12);border-radius:999px;padding:10px 16px 10px 10px;display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;white-space:nowrap;backdrop-filter:blur(10px)}
.data-node i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle,var(--gold-light) 20%,var(--gold) 21% 45%,rgba(201,148,62,.18) 46%);box-shadow:0 0 0 7px rgba(201,148,62,.08)}
.data-node:after{content:"";position:absolute;width:75px;height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.node-1{top:90px;left:0}.node-1:after{left:100%;top:50%}
.node-2{top:260px;right:0}.node-2:after{right:100%;top:50%;transform:rotate(180deg)}
.node-3{bottom:175px;left:8px}.node-3:after{left:100%;top:50%}
.node-4{bottom:62px;right:12px}.node-4:after{right:100%;top:50%;transform:rotate(180deg)}
.smart-copy h2{font-size:clamp(42px,4.8vw,67px);margin:17px 0 23px}
.smart-copy>p{color:#5f584e;font-size:17px;line-height:1.8;margin:0}
.smart-features{margin:37px 0 29px;border-top:1px solid rgba(21,19,15,.14)}
.smart-features>div{display:grid;grid-template-columns:42px 1fr;gap:17px;padding:18px 0;border-bottom:1px solid rgba(21,19,15,.14)}
.smart-features b{color:var(--gold-dark);font-size:11px;letter-spacing:.13em;padding-top:4px}
.smart-features span{color:#6e665b;font-size:13px;line-height:1.5}.smart-features strong{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}
.text-link{display:inline-flex;align-items:center;gap:10px;font-weight:750;font-size:13px;border-bottom:1px solid var(--ink);padding-bottom:5px}

.process{background:var(--paper);overflow:hidden}
.process-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative;margin-top:70px}
.process-track:before{content:"";position:absolute;left:0;right:0;top:34px;height:1px;background:var(--line)}
.process-track article{position:relative;padding:0 30px 0 0}
.process-track span{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--paper);border:1px solid var(--gold);color:var(--gold-dark);font-size:11px;letter-spacing:.14em;position:relative;z-index:2;transition:.35s ease}
.process-track article:hover span{background:var(--gold);color:#fff;transform:scale(1.08)}
.process-track h3{font-size:20px;line-height:1.2;margin:24px 0 10px}
.process-track p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}

.portfolio{background:#171511;color:#fff;overflow:hidden}
.portfolio .section-head{margin-bottom:45px}.portfolio .section-kicker{color:var(--gold-light)}.portfolio .section-head h2{color:#fff}
.portfolio-controls{display:flex;gap:9px;justify-content:flex-end;align-self:end}
.portfolio-controls button{border-color:rgba(255,255,255,.2)}
.portfolio-controls button:hover{background:var(--gold);border-color:var(--gold);color:#171511}
.portfolio-slider{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(32px,calc((100vw - 1240px)/2)) 24px;scrollbar-width:none;cursor:grab}
.portfolio-slider::-webkit-scrollbar{display:none}
.portfolio-slider.is-dragging{cursor:grabbing;scroll-snap-type:none}
.portfolio-card{flex:0 0 min(500px,38vw);height:590px;border-radius:26px;overflow:hidden;position:relative;scroll-snap-align:start;padding:0 34px 36px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.portfolio-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;transition:transform 1s var(--ease)}
.portfolio-card:hover img{transform:scale(1.06)}
.portfolio-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.04) 32%,rgba(0,0,0,.82) 78%,rgba(0,0,0,.94))}
.portfolio-card>span{font-size:10px;letter-spacing:.16em;color:var(--gold-light);font-weight:750}
.portfolio-card h3{font-size:31px;line-height:1.15;letter-spacing:-.032em;margin:9px 0 13px}
.portfolio-card p{font-size:14px;color:rgba(255,255,255,.65);line-height:1.65;margin:0;max-width:400px}

.why-us{background:var(--paper)}
.why-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}
.why-copy{position:sticky;top:125px;align-self:start}
.why-copy h2{font-size:clamp(48px,5.2vw,76px);margin:17px 0 26px}
.why-copy p{color:var(--muted);font-size:16px;line-height:1.8;max-width:480px;margin:0 0 28px}
.why-list{border-top:1px solid var(--line)}
.why-list article{display:grid;grid-template-columns:65px 1fr;gap:26px;padding:28px 0;border-bottom:1px solid var(--line)}
.why-list article>span{font-size:11px;letter-spacing:.15em;color:var(--gold-dark);padding-top:5px}
.why-list h3{font-size:24px;line-height:1.25;margin:0 0 8px;letter-spacing:-.025em}
.why-list p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}

.references{padding:80px 0;background:#f0e7d8;border-top:1px solid rgba(21,19,15,.07);overflow:hidden}
.references-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}
.references-head p{max-width:520px;margin:0;color:var(--muted);font-size:14px}
.logo-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;align-items:center;width:max-content;animation:marquee 36s linear infinite}
.marquee-track span{font-size:20px;letter-spacing:.045em;font-weight:760;color:#3b352c;white-space:nowrap;padding:15px 35px;border-right:1px solid rgba(21,19,15,.16)}
.logo-marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}

.cta-band{background:linear-gradient(110deg,#a86f22,#e7bf77);padding:80px 0;color:#18130b;position:relative;overflow:hidden}
.cta-band:after{content:"B";position:absolute;right:-20px;top:-170px;font-family:Georgia,serif;font-size:500px;line-height:1;color:rgba(255,255,255,.11);pointer-events:none}
.cta-inner{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}
.cta-inner span{font-size:11px;letter-spacing:.18em;font-weight:800}
.cta-inner h2{font-size:clamp(45px,5.2vw,76px);line-height:1;letter-spacing:-.05em;margin:15px 0 0}
.cta-circle{width:132px;height:132px;border-radius:50%;border:1px solid rgba(24,19,11,.4);display:grid;place-items:center;transition:.35s var(--ease)}
.cta-circle:hover{background:#17130d;color:#fff;transform:rotate(-8deg) scale(1.04)}
.cta-circle svg{width:58px;fill:none;stroke:currentColor;stroke-width:1.35}

.contact{background:#11100e;color:#fff;padding-bottom:80px}
.contact-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:90px;align-items:start}
.contact-info h2{font-size:clamp(44px,4.7vw,68px);margin:18px 0 24px}
.contact-info>p{color:rgba(255,255,255,.58);font-size:16px;line-height:1.8;max-width:520px}
.contact-items{margin-top:48px;border-top:1px solid rgba(255,255,255,.14)}
.contact-items a{display:block;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.14);transition:padding-left .25s ease}
.contact-items a:hover{padding-left:10px}
.contact-items small{display:block;color:var(--gold-light);font-size:9px;letter-spacing:.18em;margin-bottom:6px}
.contact-items strong{font-size:17px;line-height:1.5;font-weight:600}
.contact-form-wrap{background:#fff;color:var(--ink);border-radius:30px;padding:38px;box-shadow:0 35px 90px rgba(0,0,0,.28)}
.form-head{display:flex;align-items:end;justify-content:space-between;padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:27px}.form-head span{font-size:12px;letter-spacing:.16em;font-weight:800}.form-head p{margin:0;color:var(--muted);font-size:12px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.form-grid label{display:block}.form-grid label.full{grid-column:1/-1}
.form-grid label>span{display:block;font-size:10px;letter-spacing:.08em;font-weight:760;margin-bottom:7px;color:#4e473e;text-transform:uppercase}
input,select,textarea{width:100%;border:0;border-bottom:1px solid #cfc6b8;background:transparent;color:var(--ink);padding:10px 0 12px;outline:none;border-radius:0;transition:border-color .25s ease,box-shadow .25s ease}
input:focus,select:focus,textarea:focus{border-color:var(--gold-dark);box-shadow:0 1px 0 var(--gold-dark)}
input::placeholder,textarea::placeholder{color:#aaa196}
textarea{resize:vertical;min-height:116px}
select{cursor:pointer}
.honeypot{position:absolute!important;left:-9999px!important}
.consent{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:11px;color:#766e63;line-height:1.55}.consent input{width:16px;height:16px;flex:0 0 auto;margin-top:2px;accent-color:var(--gold-dark)}
.form-submit{border:0;width:100%;justify-content:space-between;padding-inline:22px}.form-submit svg{width:20px;fill:none;stroke:currentColor;stroke-width:1.8}.form-submit[disabled]{opacity:.65;cursor:wait;transform:none}
.form-status{min-height:22px;font-size:12px;margin:12px 0 0}.form-status.success{color:#2e7d32}.form-status.error{color:#b42318}
.map-wrap{height:430px;position:relative;border-radius:28px;overflow:hidden;margin-top:85px;background:#222}
.map-wrap iframe{border:0;width:100%;height:100%;filter:grayscale(1) sepia(.1) contrast(.92)}
.map-address{position:absolute;left:24px;bottom:24px;background:rgba(17,16,14,.92);backdrop-filter:blur(12px);padding:23px 25px;border-radius:18px;min-width:330px;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.map-address>span{font-size:9px;letter-spacing:.18em;color:var(--gold-light);display:block;margin-bottom:8px}.map-address strong{font-size:14px;line-height:1.55}.map-address a{display:flex;align-items:center;gap:8px;margin-top:13px;color:var(--gold-light);font-size:11px;font-weight:750}

.site-footer{background:#0b0a09;color:#fff;padding:75px 0 25px;border-top:1px solid rgba(255,255,255,.08)}
.footer-top{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:65px;padding-bottom:55px}
.footer-brand img{width:230px;margin-bottom:22px}.footer-brand p{font-family:Georgia,serif;font-size:22px;line-height:1.4;color:rgba(255,255,255,.64);margin:0}
.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col h3{font-size:11px;letter-spacing:.15em;color:var(--gold-light);margin:0 0 10px;text-transform:uppercase}.footer-col a,.footer-col p{font-size:13px;color:rgba(255,255,255,.57);margin:0;line-height:1.7;transition:color .2s ease}.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;align-items:center;justify-content:space-between;color:rgba(255,255,255,.4);font-size:11px}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;align-items:center;gap:19px}.footer-bottom button{background:none;border:0;color:inherit;padding:0}.footer-bottom a{display:flex;align-items:center;gap:5px}.footer-bottom svg{width:14px}

.whatsapp-float{position:fixed;z-index:800;right:22px;bottom:22px;background:#1d1b18;color:#fff;display:flex;align-items:center;gap:9px;padding:12px 16px 12px 12px;border-radius:999px;box-shadow:0 14px 35px rgba(0,0,0,.25);font-size:12px;font-weight:760;transition:.3s ease}
.whatsapp-float:hover{transform:translateY(-4px);background:#25d366;color:#fff}.whatsapp-float svg{width:25px;height:25px;fill:currentColor}
.cookie-banner{position:fixed;z-index:1200;left:20px;bottom:20px;max-width:480px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:16px 17px;display:flex;align-items:center;gap:16px;transform:translateY(calc(100% + 40px));opacity:0;transition:.45s var(--ease)}
.cookie-banner.is-visible{transform:none;opacity:1}.cookie-banner p{margin:0;font-size:11px;line-height:1.5;color:var(--muted)}.cookie-banner p button{border:0;background:none;padding:0;color:var(--gold-dark);text-decoration:underline}.cookie-accept{border:0;border-radius:999px;background:var(--ink);color:#fff;padding:9px 14px;font-size:10px;font-weight:750;white-space:nowrap}
.modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;opacity:0;visibility:hidden;transition:.3s ease}.modal.is-open{opacity:1;visibility:visible}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(8px)}.modal-dialog{position:relative;background:#fff;color:var(--ink);width:min(660px,calc(100vw - 36px));max-height:82vh;overflow:auto;border-radius:24px;padding:35px;box-shadow:0 30px 90px rgba(0,0,0,.3)}.modal-close{position:absolute;right:17px;top:13px;width:38px;height:38px;border:0;border-radius:50%;background:#f1ece3;font-size:24px}.modal-dialog h2{font-size:30px;margin:0 0 20px}.modal-dialog p,.modal-dialog li{color:var(--muted);font-size:14px;line-height:1.8}.modal-dialog h3{font-size:17px;margin:24px 0 7px}

.reveal{opacity:0;transform:translateY(38px);transition:opacity .85s var(--ease),transform .85s var(--ease)}
.reveal.delay-1{transition-delay:.12s}.reveal.delay-2{transition-delay:.24s}
.reveal.is-visible{opacity:1;transform:none}

@media (max-width:1180px){
  :root{--container:min(1120px,calc(100vw - 44px))}
  .desktop-nav{gap:17px}.desktop-nav a{font-size:12px}.header-cta{display:none}
  .hero-copy{max-width:720px}.hero-fact{width:220px}
  .construction-layout,.smart-grid,.contact-grid{gap:55px}
  .why-grid{gap:65px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:900px){
  :root{--container:calc(100vw - 36px);--header-h:76px}
  html{scroll-padding-top:76px}
  .section{padding:88px 0}
  .desktop-nav{display:none}.menu-toggle{display:block;margin-left:auto}.brand{width:155px}.brand img{height:48px}
  .mobile-menu{display:block;position:fixed;z-index:999;inset:76px 0 auto;background:rgba(255,253,248,.98);color:var(--ink);padding:24px 18px 28px;box-shadow:0 20px 45px rgba(0,0,0,.12);transform:translateY(-115%);opacity:0;visibility:hidden;transition:.4s var(--ease);max-height:calc(100vh - 76px);overflow:auto}
  .mobile-menu.is-open{transform:none;opacity:1;visibility:visible}
  .mobile-menu nav{display:flex;flex-direction:column}.mobile-menu nav a{font-size:25px;line-height:1.2;font-weight:620;padding:13px 3px;border-bottom:1px solid var(--line)}
  .mobile-menu-contact{display:flex;flex-direction:column;gap:6px;padding-top:20px;font-size:13px;color:var(--muted)}
  .site-header:not(.is-scrolled){background:linear-gradient(180deg,rgba(0,0,0,.58),transparent)}
  .hero{min-height:720px;height:100svh}.hero-content{align-items:center;padding-top:76px}.hero h1,.hero h2{font-size:clamp(47px,10vw,72px)}.hero-copy>p{font-size:16px;max-width:590px}.hero-fact{display:none}.hero-controls{bottom:25px}.scroll-cue{display:none}
  .intro-grid{grid-template-columns:1fr;gap:22px}.intro-columns{gap:28px}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-item:nth-child(2){border-right:0}.stat-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section-head{grid-template-columns:1fr;gap:25px}.section-head>p{max-width:660px}.expertise-grid{grid-template-columns:1fr}.expertise-card{height:520px}
  .construction-layout{grid-template-columns:1fr}.construction-sticky{position:relative;top:auto}.construction-image{height:520px}.construction-services{margin-top:10px}
  .smart-grid{grid-template-columns:1fr}.smart-visual{order:2}.smart-copy{order:1}.building-frame{height:610px;max-width:620px;margin:auto;width:100%}
  .process-track{grid-template-columns:1fr 1fr;gap:30px 20px}.process-track:before{display:none}.process-track article{border-top:1px solid var(--line);padding-top:20px}.process-track article:last-child{grid-column:1/-1}
  .portfolio-card{flex-basis:min(520px,72vw)}
  .why-grid{grid-template-columns:1fr}.why-copy{position:relative;top:auto}.why-copy p{max-width:620px}
  .contact-grid{grid-template-columns:1fr}.contact-info>p{max-width:650px}.contact-form-wrap{max-width:760px;width:100%}
  .footer-top{grid-template-columns:1.3fr 1fr 1fr;gap:42px}.footer-col:last-child{grid-column:2/4}.footer-brand{grid-row:1/3}
}

@media (max-width:620px){
  :root{--container:calc(100vw - 28px)}
  .section{padding:72px 0}
  .brand{width:145px}
  .hero{min-height:700px}.hero-content{align-items:flex-start;padding-top:155px}.hero h1,.hero h2{font-size:clamp(43px,13vw,62px);margin:20px 0}.eyebrow{font-size:9px;letter-spacing:.14em;gap:8px}.hero-copy>p{font-size:14px;line-height:1.65}.hero-actions{margin-top:26px;gap:9px}.btn{min-height:48px;padding:0 19px;font-size:11px}.hero-progress{display:none}.hero-controls{justify-content:space-between}.slider-dots{margin-left:auto}.slider-arrows button{width:42px;height:42px}
  .display-title,.section-head h2,.construction-sticky h2,.smart-copy h2,.why-copy h2,.contact-info h2{font-size:clamp(38px,11vw,52px)}
  .intro-columns{grid-template-columns:1fr;margin-top:32px;padding-top:25px}.intro-columns p{font-size:15px}.stats-grid{margin-top:54px}.stat-item{padding:24px 16px 24px 0;min-height:145px}.stat-item:not(:first-child){padding-left:16px}.stat-item strong{font-size:42px}.stat-item p{font-size:11px}
  .section-head{margin-bottom:34px}.section-head>p{font-size:14px}.expertise-card{height:470px;border-radius:22px}.card-content{left:24px;right:24px;bottom:25px}.card-content h3{font-size:30px}.card-content p{font-size:13px}.card-number{top:18px;right:18px}
  .services-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:30px 25px}.service-icon{margin-bottom:32px}
  .construction-image{height:430px}.build-service{grid-template-columns:43px 1fr;gap:10px;padding:28px 0}.build-service h3{font-size:24px}.build-service p{font-size:13px}.quality-stamp{width:120px;height:120px}.quality-stamp strong{font-size:20px}
  .building-frame{height:500px}.building-image{inset:35px 30px;border-radius:160px 160px 24px 24px}.data-node{font-size:9px;padding:8px 11px 8px 8px}.data-node i{width:18px;height:18px}.data-node:after{width:38px}.node-1{top:60px}.node-2{top:200px}.node-3{bottom:145px}.node-4{bottom:45px}.smart-features>div{grid-template-columns:32px 1fr}.smart-features strong{font-size:14px}.smart-features span{font-size:12px}
  .process-track{grid-template-columns:1fr}.process-track article:last-child{grid-column:auto}.process-track span{width:56px;height:56px}.process-track h3{margin-top:16px}
  .portfolio-card{flex-basis:84vw;height:500px;padding:0 24px 27px}.portfolio-card h3{font-size:27px}.portfolio-slider{padding-inline:14px}.portfolio-controls{justify-content:flex-start}
  .why-list article{grid-template-columns:42px 1fr;gap:12px}.why-list h3{font-size:21px}
  .references-head{display:block}.references-head p{margin-top:14px}.marquee-track span{font-size:16px;padding-inline:25px}
  .cta-band{padding:62px 0}.cta-inner{align-items:flex-end}.cta-inner h2{font-size:42px}.cta-circle{width:78px;height:78px;flex:0 0 auto}.cta-circle svg{width:36px}
  .contact-grid{gap:50px}.contact-form-wrap{padding:25px 20px;border-radius:22px}.form-head{display:block}.form-head p{margin-top:5px}.form-grid{grid-template-columns:1fr}.form-grid label.full{grid-column:auto}.map-wrap{height:430px;margin-top:55px}.map-address{left:12px;right:12px;bottom:12px;min-width:0;padding:18px}.map-address strong{font-size:12px}
  .footer-top{grid-template-columns:1fr 1fr;gap:38px 24px}.footer-brand{grid-column:1/-1;grid-row:auto}.footer-col:last-child{grid-column:1/-1}.footer-bottom{align-items:flex-start;gap:18px;flex-direction:column}.footer-bottom>div{flex-wrap:wrap}
  .whatsapp-float{right:14px;bottom:14px;padding:11px}.whatsapp-float span{display:none}
  .cookie-banner{left:12px;right:12px;bottom:12px;max-width:none}.modal-dialog{padding:28px 22px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.reveal-up{opacity:1!important;transform:none!important}
}
