:root{
  --black:#090a0b;--ink:#111315;--graphite:#25282c;--steel:#8e949b;--warm:#f2f0e9;--paper:#f7f5ef;--gold:#d4af37;--gold2:#c69c2b;--line:rgba(20,22,24,.14);--white:#fff;
  --mx:50vw;--my:50vh;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.eyebrow{margin:0 0 22px;font-size:11px;font-weight:700;letter-spacing:.22em;color:#6b6f74}.eyebrow.light{color:rgba(255,255,255,.55)}.section-number{font-size:10px;letter-spacing:.2em;color:#74777b;font-weight:700}.section-number.light{color:rgba(255,255,255,.42)}em{font-style:normal;color:var(--gold)}

/* intro */
.preloader{position:fixed;inset:0;z-index:999;background:#070809;display:grid;place-items:center;transition:opacity .7s ease,visibility .7s ease}.preloader.hide{opacity:0;visibility:hidden}.preloader-mark{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:220px}.preloader-mark img{width:78px;filter:drop-shadow(0 12px 28px rgba(0,0,0,.3));animation:markIn 1s cubic-bezier(.22,.8,.25,1)}.preloader-word{font-family:Manrope,sans-serif;color:#f4f1e9;font-size:28px;letter-spacing:.28em;margin-right:-.28em;font-weight:700}.preloader-line{width:100%;height:1px;background:rgba(255,255,255,.12);overflow:hidden}.preloader-line i{display:block;width:100%;height:100%;background:var(--gold);transform-origin:left;animation:loadLine 1.25s ease forwards}.preloader-mark small{font-size:8px;letter-spacing:.24em;color:rgba(255,255,255,.38)}@keyframes markIn{from{opacity:0;transform:translateY(18px) scale(.95)}to{opacity:1;transform:none}}@keyframes loadLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* header */
.header{position:fixed;z-index:80;top:0;left:0;right:0;height:92px;padding:0 clamp(24px,4.2vw,74px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;border-bottom:1px solid transparent;transition:.35s ease;color:white}.header.scrolled{height:74px;background:rgba(9,10,11,.9);backdrop-filter:blur(18px);border-color:rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:13px}.brand img{width:41px;height:39px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1}.brand b{font:700 19px/1 Manrope,sans-serif;letter-spacing:.18em}.brand small{font-size:7px;letter-spacing:.26em;color:rgba(255,255,255,.48);margin-top:6px}.nav{display:flex;justify-content:center;gap:clamp(22px,3vw,48px)}.nav a{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.7);position:relative;padding:8px 0}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--gold);transition:.25s}.nav a:hover{color:#fff}.nav a:hover:after,.nav a.active:after{right:0}.header-contact{height:46px;padding:0 18px 0 20px;display:flex;align-items:center;gap:25px;border:1px solid rgba(255,255,255,.18);font-size:11px;text-transform:uppercase;letter-spacing:.12em;transition:.25s}.header-contact:hover{background:var(--gold);color:#111;border-color:var(--gold)}.header-contact b{font-size:17px;font-weight:400}.menu-toggle{display:none}

/* hero */
.hero{position:relative;min-height:100svh;color:#fff;background:#0c0e10;overflow:hidden;isolation:isolate}.hero-photo{position:absolute;inset:-4%;background:url("assets/hero-industrial.jpg") center/cover no-repeat;transform:scale(1.04);will-change:transform;z-index:-5}.hero-overlay{position:absolute;inset:0;z-index:-4;background:linear-gradient(90deg,rgba(6,7,8,.9) 0%,rgba(6,7,8,.69) 34%,rgba(6,7,8,.13) 70%,rgba(6,7,8,.22) 100%),linear-gradient(180deg,rgba(6,7,8,.45),transparent 32%,rgba(6,7,8,.55) 100%)}.hero-grid{position:absolute;inset:0;z-index:-2;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(to right,#000 0%,transparent 63%)}#heroStructure{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.55;pointer-events:none}.hero-content{position:relative;z-index:2;max-width:820px;padding:clamp(175px,20vh,230px) 0 150px clamp(28px,6vw,108px)}.hero-kicker{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.23em;text-transform:uppercase;color:rgba(255,255,255,.65);margin:0 0 28px}.hero-kicker span{width:38px;height:1px;background:var(--gold)}.hero-title{margin:0;font-family:Manrope,sans-serif;font-size:clamp(52px,6.8vw,106px);line-height:.88;letter-spacing:-.058em;font-weight:500;text-transform:uppercase}.hero-title span,.hero-title strong{display:block}.hero-title strong{font-weight:750}.hero-title .gold{color:var(--gold)}.hero-copy{max-width:540px;font-size:clamp(15px,1.2vw,18px);line-height:1.72;color:rgba(255,255,255,.69);margin:32px 0 32px}.hero-actions{display:flex;align-items:center;gap:32px}.btn-primary{height:58px;display:inline-flex;align-items:center;gap:30px;padding:0 16px 0 23px;background:#f3f1ea;color:#111;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;transition:.25s}.btn-primary b{width:30px;height:30px;border-left:1px solid rgba(0,0,0,.15);display:grid;place-items:center;font-size:17px;font-weight:400}.btn-primary:hover{background:var(--gold);transform:translateY(-2px)}.btn-text{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.72)}.btn-text span{display:inline-block;margin-left:9px;color:var(--gold);transition:.2s}.btn-text:hover span{transform:translateX(5px)}.hero-spec{position:absolute;right:clamp(28px,5vw,86px);top:50%;transform:translateY(-43%);width:210px;height:320px;border:1px solid rgba(255,255,255,.16);background:rgba(8,9,10,.22);backdrop-filter:blur(7px);padding:18px;display:flex;flex-direction:column}.spec-index{font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.44)}.spec-symbol{flex:1;display:grid;place-items:center}.spec-symbol img{width:96px;filter:drop-shadow(0 18px 30px rgba(0,0,0,.35))}.spec-copy small{display:block;font-size:8px;letter-spacing:.19em;color:var(--gold);margin-bottom:7px}.spec-copy strong{font:650 14px/1.35 Manrope,sans-serif;letter-spacing:.08em}.spec-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);margin-top:17px;padding-top:11px;font-size:8px;color:rgba(255,255,255,.4)}.hero-foot{position:absolute;z-index:2;left:clamp(28px,6vw,108px);right:clamp(28px,5vw,86px);bottom:30px;border-top:1px solid rgba(255,255,255,.18);display:grid;grid-template-columns:repeat(4,1fr);padding-top:16px}.hero-foot div{display:flex;gap:12px;align-items:center}.hero-foot small{font-size:8px;color:var(--gold)}.hero-foot span{font-size:9px;letter-spacing:.17em;color:rgba(255,255,255,.55)}.scroll-indicator{position:absolute;right:14px;bottom:110px;display:flex;flex-direction:column;align-items:center;gap:12px}.scroll-indicator span{writing-mode:vertical-rl;font-size:7px;letter-spacing:.2em;color:rgba(255,255,255,.42)}.scroll-indicator i{height:48px;width:1px;background:linear-gradient(var(--gold),transparent)}.reveal{opacity:0;transform:translateY(20px);animation:heroIn .8s cubic-bezier(.22,.7,.2,1) forwards}.hero-content .reveal:nth-child(2){animation-delay:.08s}.hero-content .reveal:nth-child(3){animation-delay:.17s}.hero-content .reveal:nth-child(4){animation-delay:.25s}.hero-spec.reveal{animation-delay:.32s}@keyframes heroIn{to{opacity:1;transform:none}}

/* statement */
.statement{padding:110px clamp(28px,6vw,108px) 84px;background:var(--paper);position:relative}.statement-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:clamp(55px,10vw,165px);margin-top:70px;align-items:start}.statement-title h2{margin:0;font:500 clamp(42px,5vw,76px)/1.05 Manrope,sans-serif;letter-spacing:-.045em}.statement-title h2 em{display:inline-block;margin-top:6px}.statement-copy{padding-top:18px}.statement-copy p{font-size:15px;line-height:1.9;color:#666b70;margin:0 0 24px}.statement-copy a{display:inline-flex;gap:12px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}.statement-copy a span{color:var(--gold)}.statement-line{margin-top:92px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.statement-line span{font-size:9px;letter-spacing:.16em;color:#61656a}.statement-line i{width:3px;height:3px;border-radius:50%;background:var(--gold)}

/* process */
.process-section{background:#0b0c0d;color:#fff;padding:110px 0 130px;position:relative;overflow:hidden}.process-section:before{content:"";position:absolute;right:-180px;top:20%;width:520px;height:520px;background:radial-gradient(circle,rgba(212,175,55,.09),transparent 68%);filter:blur(10px)}.process-head{padding:0 clamp(28px,6vw,108px)}.process-title{margin-top:55px;display:grid;grid-template-columns:1fr 1fr}.process-title>*{grid-column:1}.process-title h2{font:500 clamp(40px,4.8vw,72px)/1.06 Manrope,sans-serif;letter-spacing:-.045em;margin:0}.process-shell{display:grid;grid-template-columns:minmax(340px,.72fr) minmax(500px,1.28fr);gap:60px;padding:70px clamp(28px,6vw,108px) 0}.process-steps{padding-top:10vh}.process-step{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:29px 0;border-top:1px solid rgba(255,255,255,.1);opacity:.32;transition:.45s}.process-step:last-child{border-bottom:1px solid rgba(255,255,255,.1)}.process-step>span{font:500 10px Manrope;color:var(--gold);padding-top:5px}.process-step small{font-size:8px;letter-spacing:.18em;color:rgba(255,255,255,.35)}.process-step h3{font:600 25px Manrope;margin:7px 0 7px}.process-step p{margin:0;max-width:390px;color:rgba(255,255,255,.46);font-size:13px;line-height:1.65}.process-step.active{opacity:1;transform:translateX(7px)}.process-visual-wrap{position:relative}.process-visual{position:sticky;top:105px;height:min(72vh,720px);min-height:520px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#101214,#090a0b);overflow:hidden;perspective:1100px}.process-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at 55% 55%,#000,transparent 72%)}.scene-coordinates{position:absolute;top:20px;left:22px;display:flex;gap:17px;font-size:7px;letter-spacing:.16em;color:rgba(255,255,255,.25)}.scene-crosshair{position:absolute;inset:50% auto auto 53%;width:12px;height:12px;border:1px solid rgba(212,175,55,.35);transform:translate(-50%,-50%);border-radius:50%}.scene-crosshair:before,.scene-crosshair:after{content:"";position:absolute;background:rgba(212,175,55,.18)}.scene-crosshair:before{width:120px;height:1px;left:-55px;top:5px}.scene-crosshair:after{height:120px;width:1px;top:-55px;left:5px}.scene-model{position:absolute;left:51%;top:52%;width:440px;height:320px;transform-style:preserve-3d;transform:translate(-50%,-50%) rotateX(62deg) rotateZ(-32deg);transition:.65s ease}.ground-plane,.foundation,.columns i,.beams i,.roof-plane,.drain-line,.road-plane{position:absolute;transition:opacity .55s ease,transform .7s cubic-bezier(.2,.7,.25,1),filter .55s}.ground-plane{left:10px;top:42px;width:410px;height:250px;border:1px solid rgba(212,175,55,.5);background:linear-gradient(135deg,rgba(212,175,55,.09),rgba(255,255,255,.01));box-shadow:0 0 50px rgba(212,175,55,.05) inset}.ground-plane:after{content:"";position:absolute;inset:18px;border:1px dashed rgba(255,255,255,.12)}.foundation{height:16px;background:linear-gradient(#c2c6c8,#73797d);box-shadow:0 13px 18px rgba(0,0,0,.4);opacity:0;transform:translateZ(10px) scaleX(.7)}.foundation-a{left:72px;top:86px;width:290px}.foundation-b{left:72px;top:232px;width:290px}.foundation-c{left:74px;top:94px;width:16px;height:150px}.columns{position:absolute;inset:0;transform-style:preserve-3d}.columns i{width:10px;height:110px;background:linear-gradient(90deg,#9aa0a4,#e0e3e3,#72777b);bottom:72px;opacity:0;transform-origin:bottom;transform:rotateX(-90deg) translateZ(0) scaleY(.05);box-shadow:10px 10px 18px rgba(0,0,0,.3)}.columns i:nth-child(1){left:82px}.columns i:nth-child(2){left:190px}.columns i:nth-child(3){left:345px}.columns i:nth-child(4){left:82px;bottom:215px}.columns i:nth-child(5){left:190px;bottom:215px}.columns i:nth-child(6){left:345px;bottom:215px}.beams i{height:8px;width:275px;background:linear-gradient(90deg,#71777b,#d5d8d9,#6c7174);opacity:0;transform:translateZ(104px) translateY(35px) scaleX(.2);transform-origin:left}.beams i:nth-child(1){left:82px;top:84px}.beams i:nth-child(2){left:82px;top:228px}.beams i:nth-child(3){left:74px;top:88px;width:145px;transform-origin:left;transform:translateZ(104px) rotateZ(90deg) scaleX(.2)}.roof-plane{left:70px;top:77px;width:300px;height:165px;background:linear-gradient(135deg,rgba(110,117,122,.96),rgba(42,46,49,.92));border:1px solid rgba(255,255,255,.2);opacity:0;transform:translateZ(145px) translateY(-30px);box-shadow:0 30px 50px rgba(0,0,0,.5)}.roof-plane:after{content:"";position:absolute;inset:15px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 22px)}.drain-line{left:115px;top:258px;width:230px;height:5px;border-radius:8px;background:var(--gold);opacity:0;transform:translateZ(7px) scaleX(.2);transform-origin:left}.road-plane{left:20px;top:258px;width:380px;height:52px;background:linear-gradient(90deg,#4b4f52,#2d3032);opacity:0;transform:translateZ(3px) translateY(20px)}.process-visual[data-stage="2"] .foundation,.process-visual[data-stage="3"] .foundation,.process-visual[data-stage="4"] .foundation,.process-visual[data-stage="5"] .foundation{opacity:1;transform:translateZ(10px) scaleX(1)}.process-visual[data-stage="3"] .columns i,.process-visual[data-stage="4"] .columns i,.process-visual[data-stage="5"] .columns i{opacity:1;transform:rotateX(-90deg) translateZ(0) scaleY(1)}.process-visual[data-stage="3"] .beams i,.process-visual[data-stage="4"] .beams i,.process-visual[data-stage="5"] .beams i{opacity:1;transform:translateZ(104px) translateY(35px) scaleX(1)}.process-visual[data-stage="3"] .beams i:nth-child(3),.process-visual[data-stage="4"] .beams i:nth-child(3),.process-visual[data-stage="5"] .beams i:nth-child(3){transform:translateZ(104px) rotateZ(90deg) scaleX(1)}.process-visual[data-stage="4"] .roof-plane,.process-visual[data-stage="5"] .roof-plane{opacity:.92;transform:translateZ(145px) translateY(0)}.process-visual[data-stage="4"] .drain-line,.process-visual[data-stage="5"] .drain-line{opacity:1;transform:translateZ(7px) scaleX(1)}.process-visual[data-stage="5"] .road-plane{opacity:1;transform:translateZ(3px) translateY(0)}.scene-caption{position:absolute;left:22px;right:22px;bottom:19px;display:flex;justify-content:space-between;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:8px;letter-spacing:.17em;color:rgba(255,255,255,.35)}.scene-caption b{color:var(--gold);font-weight:600}

/* services */
.services{padding:115px clamp(28px,6vw,108px) 130px;background:var(--paper)}.services-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;margin:60px 0 78px;align-items:end}.services-heading .eyebrow{grid-column:1}.services-heading h2{grid-column:1;margin:-5px 0 0;font:500 clamp(45px,5.5vw,82px)/.98 Manrope,sans-serif;letter-spacing:-.055em}.services-heading>p:last-child{grid-column:2;grid-row:1/3;margin:0;color:#6a6e72;font-size:14px;line-height:1.8;max-width:420px;justify-self:end}.service-list{border-top:1px solid var(--line)}.service-row{min-height:154px;display:grid;grid-template-columns:70px minmax(260px,1.1fr) minmax(270px,.8fr) 150px 30px;gap:22px;align-items:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden;transition:.35s}.service-row:before{content:"";position:absolute;inset:0;background:#101214;transform:scaleY(0);transform-origin:bottom;transition:.35s;z-index:0}.service-row>*{position:relative;z-index:1}.service-row:hover:before{transform:scaleY(1)}.service-row:hover{color:white;padding-left:12px}.service-row:hover p{color:rgba(255,255,255,.5)}.service-no{font-size:9px;color:var(--gold)}.service-row h3{font:600 clamp(22px,2.1vw,32px) Manrope;margin:0;letter-spacing:-.02em}.service-row p{font-size:13px;line-height:1.6;color:#73777b;max-width:420px;margin:0;transition:.3s}.service-row>b{font-size:18px;font-weight:400;color:var(--gold)}.service-mark{width:120px;height:75px;position:relative;opacity:.25;transition:.35s}.service-row:hover .service-mark{opacity:.75}.service-mark i{position:absolute;display:block;border:1px solid currentColor}.mark-civil i:nth-child(1){left:10px;bottom:12px;width:96px;height:35px}.mark-civil i:nth-child(2){left:24px;bottom:48px;width:7px;height:20px;background:currentColor}.mark-civil i:nth-child(3){left:70px;bottom:48px;width:7px;height:20px;background:currentColor}.mark-earth i:nth-child(1){left:4px;right:4px;bottom:15px;height:1px}.mark-earth i:nth-child(2){left:20px;bottom:16px;width:80px;height:25px;border-top:none;transform:skewX(-30deg)}.mark-earth i:nth-child(3){left:52px;bottom:47px;width:3px;height:3px;border-radius:50%;background:var(--gold);border:0}.mark-foundation i:nth-child(1){left:38px;bottom:12px;width:50px;height:16px}.mark-foundation i:nth-child(2){left:52px;bottom:29px;width:22px;height:38px}.mark-foundation i:nth-child(3){left:29px;bottom:6px;width:68px;height:5px;background:currentColor}.mark-drain i:nth-child(1){left:6px;top:34px;width:110px;height:1px}.mark-drain i:nth-child(2){left:18px;top:26px;width:18px;height:18px;border-radius:50%}.mark-drain i:nth-child(3){right:18px;top:26px;width:18px;height:18px;border-radius:50%}

/* principles */
.precision{position:relative;background:#0a0b0c;color:white;min-height:760px;overflow:hidden}.precision-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,7,.96),rgba(5,6,7,.68) 54%,rgba(5,6,7,.27)),url("assets/hero-industrial.jpg") center 48%/cover no-repeat;filter:saturate(.55) contrast(1.08)}.precision-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0b0c 0%,transparent 22%,transparent 72%,#0a0b0c 100%)}.precision-inner{position:relative;z-index:1;padding:105px clamp(28px,6vw,108px)}.precision-copy{margin:72px 0 90px;max-width:850px}.precision-copy h2{font:500 clamp(44px,5.6vw,84px)/1.02 Manrope;margin:0;letter-spacing:-.055em}.precision-copy p:last-child{max-width:600px;color:rgba(255,255,255,.55);font-size:14px;line-height:1.8;margin-top:28px}.principles{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16)}.principles>div{padding:26px 20px 28px 0;border-right:1px solid rgba(255,255,255,.12);min-height:135px;display:flex;flex-direction:column}.principles>div+div{padding-left:24px}.principles>div:last-child{border-right:0}.principles span{font-size:8px;color:var(--gold)}.principles strong{font:600 17px Manrope;margin:22px 0 7px}.principles small{font-size:11px;line-height:1.45;color:rgba(255,255,255,.4)}

/* portfolio note */
.portfolio-note{display:grid;grid-template-columns:280px 1fr;gap:clamp(50px,9vw,140px);align-items:center;padding:115px clamp(28px,9vw,160px);background:#eae7df;border-bottom:1px solid rgba(0,0,0,.08)}.portfolio-symbol{height:280px;border:1px solid rgba(0,0,0,.12);display:grid;place-items:center;position:relative;background:rgba(255,255,255,.23)}.portfolio-symbol:before,.portfolio-symbol:after{content:"";position:absolute;background:rgba(0,0,0,.08)}.portfolio-symbol:before{width:1px;height:100%;left:50%}.portfolio-symbol:after{height:1px;width:100%;top:50%}.portfolio-symbol img{width:135px;z-index:1;filter:drop-shadow(0 20px 25px rgba(0,0,0,.15))}.portfolio-copy>span{font-size:9px;letter-spacing:.18em;color:#6f7377}.portfolio-copy h2{font:500 clamp(36px,4.5vw,66px)/1.06 Manrope;margin:18px 0 24px;letter-spacing:-.05em}.portfolio-copy p{font-size:13px;line-height:1.8;color:#686c70;max-width:610px}

/* contact */
.contact{position:relative;background:#101214;color:#fff;padding:110px clamp(28px,6vw,108px) 100px;overflow:hidden}.contact-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to left,#000,transparent 58%)}.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(70px,10vw,150px);margin-top:70px}.contact-main h2{font:500 clamp(46px,5.7vw,84px)/1.01 Manrope;margin:0;letter-spacing:-.055em;max-width:800px}.contact-choices{margin-top:65px;border-top:1px solid rgba(255,255,255,.13)}.contact-choices a{min-height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.13);padding:0 2px;transition:.28s}.contact-choices a:hover{padding-left:16px;background:rgba(255,255,255,.025)}.contact-choices small{display:block;font-size:8px;letter-spacing:.18em;color:var(--gold);margin-bottom:9px}.contact-choices strong{font:500 21px Manrope}.contact-choices b{font-size:20px;color:var(--gold);font-weight:400}.contact-panel{border:1px solid rgba(255,255,255,.13);padding:26px;background:rgba(255,255,255,.025);align-self:start}.contact-panel-head{display:flex;align-items:center;gap:13px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.1);font:600 11px Manrope;letter-spacing:.12em}.contact-panel-head img{width:38px}.contact-detail{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.09)}.contact-detail:last-child{border-bottom:0}.contact-detail small{display:block;font-size:7px;letter-spacing:.18em;color:rgba(255,255,255,.35);margin-bottom:8px}.contact-detail a,.contact-detail>span{font:500 16px Manrope;color:rgba(255,255,255,.88)}.contact-detail a{display:flex;justify-content:space-between}.contact-detail b{font-weight:400;color:var(--gold)}

/* footer */
.footer{background:#090a0b;color:#fff;padding:38px clamp(28px,6vw,108px) 26px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:45px;border-top:1px solid rgba(255,255,255,.08)}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:34px}.footer-brand span{display:flex;flex-direction:column}.footer-brand b{font:700 15px Manrope;letter-spacing:.16em}.footer-brand small{font-size:6px;letter-spacing:.2em;color:rgba(255,255,255,.35)}.footer>p{font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.38)}.footer-nav{display:flex;gap:22px}.footer-nav a{font-size:9px;letter-spacing:.11em;color:rgba(255,255,255,.5)}.footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.07);padding-top:18px;font-size:8px;color:rgba(255,255,255,.25)}.whatsapp-fab{position:fixed;z-index:50;right:22px;bottom:22px;height:48px;display:flex;align-items:center;gap:18px;background:rgba(16,18,20,.92);backdrop-filter:blur(12px);color:white;border:1px solid rgba(255,255,255,.14);padding:0 10px 0 16px;font-size:9px;letter-spacing:.12em;transition:.25s}.whatsapp-fab b{width:26px;height:26px;background:var(--gold);color:#111;display:grid;place-items:center;font-weight:400;font-size:13px}.whatsapp-fab:hover{transform:translateY(-3px)}

/* reveal */
.reveal-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .75s cubic-bezier(.22,.7,.2,1),transform .75s cubic-bezier(.22,.7,.2,1)}.reveal-on-scroll.in-view{opacity:1;transform:none}

@media (max-width:1050px){.nav{gap:20px}.nav a{font-size:9px}.hero-spec{display:none}.hero-content{max-width:760px}.process-shell{grid-template-columns:.8fr 1.2fr;gap:32px}.service-row{grid-template-columns:55px 1.1fr .8fr 110px 24px}.portfolio-note{grid-template-columns:220px 1fr}.portfolio-symbol{height:220px}}
@media (max-width:820px){.header{height:76px;padding:0 22px;grid-template-columns:auto 1fr auto}.header-contact{display:none}.menu-toggle{display:flex;justify-self:end;flex-direction:column;gap:6px;width:38px;height:38px;background:transparent;border:0;padding:9px;z-index:2}.menu-toggle i{height:1px;width:20px;background:#fff;transition:.25s}.menu-toggle[aria-expanded="true"] i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.nav{position:fixed;inset:0;background:#090a0b;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0 42px;gap:24px;transform:translateY(-100%);transition:.45s cubic-bezier(.2,.8,.2,1)}.nav.open{transform:none}.nav a{font:600 30px Manrope;text-transform:none;letter-spacing:-.02em}.hero-content{padding:155px 26px 140px}.hero-title{font-size:clamp(49px,14vw,78px)}.hero-copy{max-width:460px}.hero-foot{left:26px;right:26px;grid-template-columns:1fr 1fr;gap:12px}.hero-foot div:nth-child(n+3){display:none}.scroll-indicator{display:none}.statement{padding:85px 26px 70px}.statement-grid{grid-template-columns:1fr;gap:40px;margin-top:45px}.statement-line{overflow:hidden;gap:20px;justify-content:flex-start}.statement-line span{white-space:nowrap}.process-section{padding:90px 0 95px}.process-head{padding:0 26px}.process-title{display:block;margin-top:44px}.process-shell{grid-template-columns:1fr;padding:55px 26px 0}.process-steps{padding-top:0}.process-step{opacity:.55}.process-visual-wrap{order:-1}.process-visual{position:relative;top:0;height:440px;min-height:0}.scene-model{transform:translate(-50%,-50%) scale(.78) rotateX(62deg) rotateZ(-32deg)}.services{padding:90px 26px 95px}.services-heading{grid-template-columns:1fr;margin:45px 0 50px}.services-heading .eyebrow,.services-heading h2,.services-heading>p:last-child{grid-column:1;grid-row:auto;justify-self:start}.services-heading>p:last-child{margin-top:15px}.service-row{grid-template-columns:45px 1fr 24px;padding:28px 0;min-height:auto}.service-row h3{grid-column:2}.service-row p{grid-column:2}.service-row .service-mark{display:none}.service-row>b{grid-column:3;grid-row:1/3}.precision-inner{padding:85px 26px}.precision-copy{margin:55px 0 65px}.principles{grid-template-columns:1fr 1fr}.principles>div:nth-child(2){border-right:0}.principles>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.portfolio-note{grid-template-columns:1fr;padding:80px 26px}.portfolio-symbol{width:220px;height:220px}.contact{padding:90px 26px 80px}.contact-layout{grid-template-columns:1fr;gap:65px;margin-top:55px}.footer{grid-template-columns:1fr;gap:22px;padding:34px 26px}.footer>p,.footer-nav{justify-self:start}.footer>small{grid-column:1}.whatsapp-fab{right:14px;bottom:14px}}
@media (max-width:540px){.brand b{font-size:16px}.brand small{font-size:6px}.brand img{width:35px}.hero-photo{background-position:64% center}.hero-overlay{background:linear-gradient(90deg,rgba(6,7,8,.92),rgba(6,7,8,.48)),linear-gradient(180deg,rgba(6,7,8,.25),rgba(6,7,8,.6))}.hero-title{font-size:clamp(45px,14.5vw,66px)}.hero-copy{font-size:14px;line-height:1.65}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.btn-primary{height:54px}.statement-title h2,.process-title h2,.services-heading h2,.precision-copy h2,.contact-main h2{font-size:clamp(38px,11vw,54px)}.process-visual{height:350px}.scene-model{transform:translate(-50%,-50%) scale(.61) rotateX(62deg) rotateZ(-32deg)}.scene-coordinates{display:none}.process-step{grid-template-columns:42px 1fr}.principles{grid-template-columns:1fr}.principles>div,.principles>div+div{padding:22px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.portfolio-symbol{width:180px;height:180px}.portfolio-symbol img{width:110px}.contact-panel{padding:20px}.contact-choices strong{font-size:18px}.footer-nav{flex-wrap:wrap}.whatsapp-fab span{display:none}.whatsapp-fab{padding-left:10px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-on-scroll{animation:none;opacity:1;transform:none;transition:none}.preloader{display:none}*{scroll-behavior:auto!important}}

/* ==============================
   GUIA PREMIUM V3 — refinements
   ============================== */

/* Hero: quieter, cleaner and without decorative numbering/blur */
.hero-signature{position:absolute;right:clamp(34px,5vw,88px);top:50%;transform:translateY(-40%);width:205px;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.32);display:flex;align-items:center;gap:18px;background:transparent}.hero-signature img{width:64px;filter:drop-shadow(0 14px 24px rgba(0,0,0,.34))}.hero-signature small{display:block;font-size:7px;letter-spacing:.2em;color:var(--gold);margin-bottom:8px}.hero-signature strong{font:650 13px/1.4 Manrope,sans-serif;letter-spacing:.08em}.hero-foot{left:clamp(28px,6vw,108px);right:clamp(28px,5vw,86px);bottom:27px;display:flex;align-items:center;justify-content:flex-start;gap:clamp(14px,2vw,34px);padding-top:15px;background:transparent;backdrop-filter:none}.hero-foot span{font-size:8px;letter-spacing:.2em;color:rgba(255,255,255,.62);white-space:nowrap}.hero-foot i{width:22px;height:1px;background:rgba(212,175,55,.58);flex:none}.hero-foot:after{content:"";height:1px;background:rgba(255,255,255,.08);flex:1}.hero-overlay{background:linear-gradient(90deg,rgba(6,7,8,.92) 0%,rgba(6,7,8,.72) 35%,rgba(6,7,8,.16) 70%,rgba(6,7,8,.24) 100%),linear-gradient(180deg,rgba(6,7,8,.4),transparent 32%,rgba(6,7,8,.58) 100%)}

/* Statement: remove the decorative vocabulary strip */
.statement{padding-bottom:112px}.statement-grid{margin-top:66px}.statement-title .eyebrow{color:#54585c}.statement-title h2{max-width:980px}.statement-copy p:first-child{font-size:16px;color:#4d5257}.statement-copy p:last-of-type{color:#777b7e}.statement-line{display:none}

/* Process: a real interactive sequence model */
.process-section{padding-bottom:145px;background:#090a0b}.process-section:before{right:-140px;top:16%;width:600px;height:600px;background:radial-gradient(circle,rgba(212,175,55,.08),transparent 70%)}.process-title{grid-template-columns:minmax(0,1.05fr) minmax(300px,.55fr);gap:clamp(50px,8vw,130px);align-items:end}.process-title .eyebrow,.process-title h2{grid-column:1}.process-title .process-intro{grid-column:2;grid-row:1/3;margin:0 0 5px;color:rgba(255,255,255,.48);font-size:13px;line-height:1.85;max-width:470px}.process-shell{grid-template-columns:minmax(370px,.72fr) minmax(560px,1.28fr);gap:clamp(45px,6vw,95px);padding-top:74px}.process-steps{padding-top:1vh}.process-step{cursor:pointer;opacity:.42;transition:opacity .28s ease,transform .28s ease,background .28s ease;padding:27px 12px 27px 0;outline:none}.process-step:hover,.process-step:focus-visible,.process-step.active{opacity:1;transform:translateX(8px)}.process-step:focus-visible{background:rgba(212,175,55,.035)}.process-step>span{font-size:9px;letter-spacing:.08em}.process-step small{font-size:7px;letter-spacing:.19em}.process-step h3{font-size:23px;margin:8px 0}.process-step p{font-size:12.5px;line-height:1.72;color:rgba(255,255,255,.5);max-width:430px}.process-step.active h3{color:#fff}.process-step.active small{color:rgba(212,175,55,.78)}
.process-visual{position:sticky;top:96px;height:min(74vh,760px);min-height:570px;border:1px solid rgba(255,255,255,.1);background:radial-gradient(circle at 62% 40%,rgba(43,47,51,.75),rgba(12,13,14,.72) 42%,#090a0b 78%);perspective:none}.process-visual:before{background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);background-size:55px 55px;mask-image:radial-gradient(circle at 54% 48%,#000,transparent 76%)}.process-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 18%,transparent 80%,rgba(0,0,0,.28)),radial-gradient(circle at 72% 45%,rgba(212,175,55,.045),transparent 28%)}.scene-topline{position:absolute;z-index:4;top:21px;left:24px;right:24px;display:flex;justify-content:space-between;gap:20px;padding-bottom:13px;border-bottom:1px solid rgba(255,255,255,.09);font-size:7px;letter-spacing:.18em;color:rgba(255,255,255,.33)}.scene-topline b{font-weight:600;color:rgba(212,175,55,.86);text-align:right}.build-svg{position:absolute;z-index:2;left:50%;top:50%;width:min(94%,820px);height:auto;transform:translate(-50%,-48%);overflow:visible}.stage-layer{opacity:0;transform:translateY(10px);transform-origin:center;transform-box:fill-box;transition:opacity .48s ease,transform .55s cubic-bezier(.2,.75,.25,1)}.stage-layer.is-visible{opacity:1;transform:none}.layer-complete{transition-duration:.68s}.scene-caption{z-index:4;left:24px;right:24px;bottom:20px;font-size:7px}.scene-status{display:flex;align-items:center;gap:8px}.scene-status i{width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px rgba(212,175,55,.6)}

/* Services: technical illustrations instead of vague line marks */
.services{padding-top:120px}.services-heading{margin-bottom:72px}.services-heading h2 em{color:var(--gold)}.service-row{grid-template-columns:58px minmax(260px,1.05fr) minmax(290px,.82fr) minmax(145px,.34fr);gap:24px;min-height:166px;padding-right:10px}.service-row:before{background:#111315}.service-row:hover{padding-left:8px}.service-row p{max-width:480px}.service-illustration{width:170px;height:96px;display:grid;place-items:center;justify-self:end;color:#34383b;opacity:.72;transition:.35s ease}.service-illustration svg{width:100%;height:100%;overflow:visible}.service-row:hover .service-illustration{color:rgba(255,255,255,.88);opacity:1;transform:translateX(-5px)}.service-row:hover .service-illustration circle{filter:drop-shadow(0 0 7px rgba(212,175,55,.45))}.service-mark,.service-row>b{display:none!important}

/* Replace empty-portfolio messaging with a commercial integration statement */
.integration-note{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:clamp(60px,9vw,150px);align-items:center;padding:120px clamp(28px,8vw,150px);background:#e9e6de;border-bottom:1px solid rgba(0,0,0,.08)}.integration-symbol{height:300px;border:1px solid rgba(0,0,0,.1);display:grid;place-items:center;position:relative;background:rgba(255,255,255,.22);overflow:hidden}.integration-symbol:before{content:"";position:absolute;inset:26px;border:1px solid rgba(0,0,0,.07)}.integration-symbol:after{content:"";position:absolute;width:1px;height:130%;background:linear-gradient(transparent,rgba(212,175,55,.55),transparent);transform:rotate(32deg)}.integration-symbol img{width:138px;z-index:2;filter:drop-shadow(0 18px 24px rgba(0,0,0,.14))}.integration-copy>span{font-size:8px;letter-spacing:.2em;color:#65696d}.integration-copy h2{font:500 clamp(38px,4.8vw,70px)/1.04 Manrope;margin:18px 0 25px;letter-spacing:-.052em}.integration-copy>p{font-size:14px;line-height:1.85;color:#64696d;max-width:690px}.integration-points{display:grid;grid-template-columns:repeat(3,1fr);margin-top:52px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12)}.integration-points>div{padding:22px 22px 24px 0;border-right:1px solid rgba(0,0,0,.09);display:flex;flex-direction:column;gap:8px}.integration-points>div+div{padding-left:22px}.integration-points>div:last-child{border-right:0}.integration-points b{font:650 9px Manrope;letter-spacing:.13em}.integration-points small{font-size:11px;line-height:1.55;color:#777b7e}

/* WhatsApp: recognizable icon, restrained treatment */
.whatsapp-fab{height:50px;gap:10px;padding:0 16px 0 12px;border-radius:2px;background:rgba(14,16,18,.92);font-size:8px;letter-spacing:.12em}.whatsapp-fab svg{width:27px;height:27px;fill:#fff}.whatsapp-fab span{color:rgba(255,255,255,.78)}.whatsapp-fab:hover{background:#111315;border-color:rgba(212,175,55,.55)}

@media (max-width:1050px){.hero-signature{display:none}.process-title{grid-template-columns:1fr}.process-title .process-intro{grid-column:1;grid-row:auto;margin-top:25px}.process-shell{grid-template-columns:minmax(330px,.8fr) minmax(500px,1.2fr);gap:35px}.service-row{grid-template-columns:52px 1fr .8fr 135px}.integration-note{grid-template-columns:220px 1fr}.integration-symbol{height:220px}}
@media (max-width:820px){.hero-foot{gap:12px}.hero-foot span:nth-of-type(n+3),.hero-foot i:nth-of-type(n+2){display:none}.hero-foot:after{display:block}.statement{padding-bottom:82px}.process-title .process-intro{font-size:12.5px}.process-shell{grid-template-columns:1fr}.process-visual-wrap{order:-1}.process-visual{position:relative;top:0;height:470px;min-height:0}.build-svg{width:min(100%,720px);transform:translate(-50%,-47%)}.process-step{opacity:.58}.service-row{grid-template-columns:42px 1fr 128px;padding:26px 0;gap:15px}.service-row h3{grid-column:2}.service-row p{grid-column:2}.service-illustration{grid-column:3;grid-row:1/3;width:120px;height:78px}.integration-note{grid-template-columns:1fr;padding:84px 26px}.integration-symbol{width:210px;height:210px}.integration-points{grid-template-columns:1fr}.integration-points>div,.integration-points>div+div{padding:18px 0;border-right:0;border-bottom:1px solid rgba(0,0,0,.09)}.integration-points>div:last-child{border-bottom:0}}
@media (max-width:540px){.hero-foot span:nth-of-type(n+3),.hero-foot i{display:none}.hero-foot:after{display:block}.process-visual{height:370px}.scene-topline{left:16px;right:16px}.scene-topline span{display:none}.build-svg{width:108%;transform:translate(-50%,-45%)}.scene-caption{left:16px;right:16px}.scene-caption>span:first-child{display:none}.service-row{grid-template-columns:36px 1fr;padding:25px 0}.service-row h3,.service-row p{grid-column:2}.service-illustration{grid-column:2;grid-row:auto;justify-self:start;width:145px;height:78px;margin-top:8px}.integration-symbol{width:175px;height:175px}.integration-symbol img{width:105px}.whatsapp-fab{width:50px;padding:0;display:grid;place-items:center}.whatsapp-fab span{display:none}}
/* Typography fallbacks + mobile title fit */
.process-step h3,.service-row h3,.integration-copy h2,.contact-main h2,.contact-choices strong,.contact-detail a,.contact-detail>span{font-family:Manrope,"DM Sans",Arial,sans-serif}
@media (max-width:540px){.hero-title{font-size:clamp(39px,11.2vw,46px);line-height:.92;letter-spacing:-.05em}.hero-content{padding-left:26px;padding-right:18px}.hero-copy{max-width:330px}.hero-foot{right:18px}}

/* =========================================================
   GUIA V4 — GLOBAL PREMIUM MOTION SYSTEM
   Motion is applied to the page as a whole, not to every item.
   ========================================================= */
:root{
  --page-progress:0;
  --mouse-x:50vw;
  --mouse-y:50vh;
  --section-progress:0;
}
html{scroll-behavior:smooth;background:#090a0b}
body{overflow-x:hidden}
main{position:relative;isolation:isolate}
.motion-section{position:relative;--section-progress:0}

.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;pointer-events:none;background:rgba(255,255,255,.04)}
.scroll-progress i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#8f711c,#d4af37,#f1d87d);transform:scaleX(var(--page-progress));transform-origin:left;box-shadow:0 0 18px rgba(212,175,55,.35)}
.ambient-light{position:fixed;z-index:2;left:0;top:0;width:100vw;height:100vh;pointer-events:none;opacity:.38;background:radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),rgba(212,175,55,.055),transparent 64%);mix-blend-mode:screen;transition:opacity .5s ease}
.transition-beam{position:fixed;left:0;top:calc(14vh + var(--page-progress)*70vh);width:44px;height:1px;z-index:4;pointer-events:none;background:linear-gradient(90deg,rgba(212,175,55,.8),transparent);opacity:.52;filter:drop-shadow(0 0 6px rgba(212,175,55,.24))}

.premium-cursor{display:none;position:fixed;z-index:10000;left:0;top:0;pointer-events:none;width:38px;height:38px;transform:translate(-50%,-50%);transition:width .25s ease,height .25s ease,opacity .25s ease}
.premium-cursor i{position:absolute;inset:0;border:1px solid rgba(212,175,55,.52);border-radius:50%;transition:transform .25s ease,background .25s ease,border-color .25s ease}
.premium-cursor span{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#d4af37;transform:translate(-50%,-50%);box-shadow:0 0 10px rgba(212,175,55,.65)}
.premium-cursor.is-active{width:52px;height:52px}.premium-cursor.is-active i{background:rgba(212,175,55,.07);border-color:rgba(212,175,55,.8);transform:scale(1.05)}
@media (pointer:fine){body{cursor:none}.premium-cursor{display:block}a,button,[tabindex],iframe{cursor:none}}

/* Hero = one cinematic scene */
.hero{overflow:hidden;will-change:transform}
.hero-photo{will-change:transform,filter;transition:filter .35s ease}
.hero-overlay{will-change:opacity}
.hero-content,.hero-signature,.hero-foot,.scroll-indicator{will-change:transform,opacity}
.hero:after{content:"";position:absolute;inset:auto 0 0 0;height:26vh;z-index:2;pointer-events:none;background:linear-gradient(transparent,rgba(9,10,11,.78) 64%,#090a0b);opacity:calc(.18 + var(--hero-exit,0)*.82)}

/* Editorial light section: reveal driven by the section, not every line */
.statement{overflow:hidden}
.statement:before{content:"";position:absolute;left:-20%;right:-20%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.36),transparent);transform:translateX(calc((var(--section-progress) - .5)*28%));opacity:.7}
.statement-grid{transform:translateY(calc((1 - var(--section-progress))*28px));transition:transform .05s linear}
.statement-title h2{clip-path:inset(calc((1 - var(--section-progress))*12%) 0 0 0)}

/* Process: the visual becomes a stationary technical theatre while the user explores */
.process-section{overflow:clip;background:#090b0c}
.premium-process-shell{grid-template-columns:minmax(340px,.74fr) minmax(560px,1.26fr);gap:clamp(34px,5vw,88px);align-items:start}
.process-steps{position:relative;z-index:3}
.process-step{transition:opacity .35s ease,border-color .35s ease,transform .35s ease,background .35s ease}
.process-step:hover,.process-step:focus,.process-step.active{opacity:1;transform:translateX(7px);background:linear-gradient(90deg,rgba(212,175,55,.045),transparent 76%)}
.process-step.active{border-color:rgba(212,175,55,.45)}
.process-visual-wrap{position:relative;min-width:0}
.process-stage-card{position:sticky;top:102px;height:min(72vh,720px);min-height:540px;border:1px solid rgba(255,255,255,.095);background:#090b0c;overflow:hidden;box-shadow:0 32px 80px rgba(0,0,0,.24);transform:perspective(1400px) rotateX(calc((.5 - var(--section-progress))*1.15deg));transition:border-color .4s ease}
.process-stage-card:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 34%,transparent 68%,rgba(212,175,55,.03))}
.process-stage-head,.process-stage-foot{position:absolute;z-index:6;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.17em;color:#727a80;text-transform:uppercase;pointer-events:none}
.process-stage-head{top:16px}.process-stage-head b{font-weight:500;color:#c1c6c9}
.process-stage-foot{bottom:15px}.process-stage-foot .scene-status{display:flex;align-items:center;gap:8px}.process-stage-foot i{display:block;width:5px;height:5px;border-radius:50%;background:#d4af37;box-shadow:0 0 10px rgba(212,175,55,.55)}
.process-frame-shell{position:absolute;inset:43px 0 40px;overflow:hidden;background:#0b0c0d}
.process-frame-shell iframe{width:100%;height:100%;border:0;display:block;background:#0b0c0d;opacity:1;transform:scale(1.001);transition:opacity .22s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
.process-frame-shell.is-changing iframe{opacity:.12;transform:scale(.985)}
.process-frame-glass{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,11,12,.16),transparent 12%,transparent 84%,rgba(9,11,12,.22));box-shadow:inset 0 0 80px rgba(0,0,0,.16)}

/* Services: static technical render first, approved animation on interaction */
.services{overflow:hidden;background:#f1eee7}
.premium-service-list{border-top:1px solid rgba(20,22,24,.13)}
.premium-service-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,43%);gap:clamp(36px,6vw,92px);align-items:center;padding:clamp(42px,6vw,76px) 0;border-bottom:1px solid rgba(20,22,24,.13);position:relative;outline:none;transition:background .45s ease}
.premium-service-row:before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:#d4af37;transition:width .7s cubic-bezier(.2,.75,.2,1)}
.premium-service-row:hover:before,.premium-service-row:focus:before,.premium-service-row.is-playing:before{width:100%}
.service-copy{display:grid;grid-template-columns:52px 1fr;gap:24px;align-items:start}
.service-copy .service-no{font-size:9px;letter-spacing:.16em;color:#a38a3a;padding-top:7px}
.service-copy h3{margin:0;font:600 clamp(28px,3vw,48px)/1 Manrope,"DM Sans",sans-serif;letter-spacing:-.045em;color:#181b1d}
.service-copy p{max-width:610px;margin:18px 0 0;font-size:14px;line-height:1.72;color:#6e7478}
.service-media{position:relative;aspect-ratio:1.34/1;overflow:hidden;background:#e8e5de;border:1px solid rgba(20,22,24,.12);isolation:isolate;transform:translateY(calc((.5 - var(--service-progress,.5))*16px));transition:transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,border-color .45s ease}
.service-media:before{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.28),transparent 46%,rgba(212,175,55,.045));mix-blend-mode:soft-light}
.service-media img,.service-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-media img{z-index:1;filter:saturate(.88) contrast(1.01);transition:opacity .5s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.service-motion{z-index:2;border:0;background:#0b0c0d;opacity:0;pointer-events:none;transform:scale(1.012);transition:opacity .38s ease}
.service-media-caption{position:absolute;z-index:5;left:14px;right:14px;bottom:13px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.15em;color:#3d4245;text-transform:uppercase;mix-blend-mode:multiply;transition:opacity .28s ease}
.service-media-caption b{font-weight:600;color:#9b7c1f}
.premium-service-row:hover .service-media,.premium-service-row:focus .service-media,.premium-service-row.is-playing .service-media{box-shadow:0 24px 52px rgba(24,27,29,.12);border-color:rgba(212,175,55,.32)}
.premium-service-row:hover .service-media img,.premium-service-row:focus .service-media img,.premium-service-row.is-playing .service-media img{transform:scale(1.025);opacity:.12}
.premium-service-row:hover .service-motion,.premium-service-row:focus .service-motion,.premium-service-row.is-playing .service-motion{opacity:1}
.premium-service-row:hover .service-media-caption,.premium-service-row:focus .service-media-caption,.premium-service-row.is-playing .service-media-caption{opacity:0}

/* Dark quality section arrives as one large cinematic panel */
.precision{overflow:hidden}
.precision-bg{transform:scale(calc(1.03 + var(--section-progress)*.025)) translateY(calc((.5 - var(--section-progress))*14px));will-change:transform}
.precision-inner{transform:translateY(calc((1 - var(--section-progress))*24px))}

/* Integration note: calmer, more corporate */
.integration-note{overflow:hidden}
.integration-symbol{transform:translateY(calc((.5 - var(--section-progress))*22px)) rotate(calc((.5 - var(--section-progress))*.8deg))}
.integration-copy{transform:translateY(calc((1 - var(--section-progress))*18px))}

/* Contact: the whole scene comes forward */
.contact{overflow:hidden}
.contact-grid{transform:scale(calc(1.02 + var(--section-progress)*.02));opacity:calc(.25 + var(--section-progress)*.75)}
.contact-layout{transform:translateY(calc((1 - var(--section-progress))*28px))}

/* Global reveal remains restrained */
.reveal-on-scroll{transition-duration:.85s!important;transition-timing-function:cubic-bezier(.2,.75,.2,1)!important}

@media(max-width:1050px){
  .premium-process-shell{grid-template-columns:minmax(300px,.76fr) minmax(470px,1.24fr);gap:30px}
  .process-stage-card{height:650px;min-height:500px;top:90px}
  .premium-service-row{grid-template-columns:1fr minmax(300px,42%);gap:36px}
}
@media(max-width:820px){
  .ambient-light,.transition-beam{display:none}
  .premium-process-shell{grid-template-columns:1fr}
  .process-visual-wrap{order:-1}
  .process-stage-card{position:relative;top:0;height:520px;min-height:0}
  .process-step:hover,.process-step:focus,.process-step.active{transform:none}
  .premium-service-row{grid-template-columns:1fr;gap:24px}
  .service-copy{grid-template-columns:38px 1fr;gap:16px}
  .service-media{width:100%;max-width:620px;aspect-ratio:1.4/1}
}
@media(max-width:540px){
  .process-stage-card{height:420px}.process-stage-head{font-size:7px}.process-stage-head span{display:none}
  .process-stage-foot>span:first-child{display:none}
  .process-frame-shell{inset:40px 0 38px}
  .premium-service-row{padding:34px 0}.service-copy h3{font-size:30px}.service-copy p{font-size:13px}
  .service-media{aspect-ratio:1.16/1}.service-media-caption{font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .ambient-light,.transition-beam,.premium-cursor{display:none!important}
  .hero-photo,.statement-grid,.precision-bg,.precision-inner,.integration-symbol,.integration-copy,.contact-grid,.contact-layout,.service-media{transform:none!important}
  .process-stage-card{transform:none!important}
}

/* =========================================================
   03 / SERVICIOS · Mesa de proyecto (V5)
   One sticky technical stage + four scroll chapters.
   ========================================================= */
.services-project-table{background:#f1eee7;overflow:visible;padding:0!important}
.services-intro{padding:120px clamp(28px,6vw,108px) 76px;border-bottom:1px solid rgba(20,22,24,.13);position:relative;overflow:hidden}
.services-intro:after{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;background:radial-gradient(circle,rgba(212,175,55,.10),transparent 68%);pointer-events:none}
.services-intro-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.55fr);gap:clamp(54px,9vw,145px);align-items:end;margin-top:54px}
.services-intro-grid h2{margin:0;font:500 clamp(46px,5.4vw,82px)/1.01 Manrope,"DM Sans",sans-serif;letter-spacing:-.052em;color:#171a1c}
.services-intro-copy{margin:0 0 8px;font-size:14px;line-height:1.85;color:#666d72;max-width:500px}
.services-intro-line{margin-top:74px;padding-top:18px;border-top:1px solid rgba(20,22,24,.13);display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center;font-size:8px;letter-spacing:.17em;color:#797e82;text-transform:uppercase}
.services-intro-line i{height:1px;background:linear-gradient(90deg,rgba(20,22,24,.10),rgba(212,175,55,.62),rgba(20,22,24,.10))}
.services-intro-line b{font-weight:600;color:#a18227}

.service-chapter-shell{display:grid;grid-template-columns:minmax(360px,.72fr) minmax(560px,1.28fr);gap:clamp(38px,5.4vw,94px);padding:0 clamp(28px,6vw,108px);position:relative;background:#f1eee7}
.service-chapter-copy{min-width:0}
.service-chapter-step{min-height:82vh;display:flex;flex-direction:column;justify-content:center;padding:88px 0;border-bottom:1px solid rgba(20,22,24,.13);opacity:.28;transform:translateX(0);outline:none;transition:opacity .42s ease,transform .5s cubic-bezier(.2,.75,.2,1)}
.service-chapter-step:first-child{border-top:0}
.service-chapter-step.is-active,.service-chapter-step:focus{opacity:1;transform:translateX(8px)}
.service-chapter-meta{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.service-chapter-meta span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(20,22,24,.18);font:600 9px Manrope,sans-serif;color:#9b7b20}
.service-chapter-meta small{font-size:8px;letter-spacing:.20em;color:#858a8e;font-weight:700}
.service-chapter-step h3{margin:0;font:600 clamp(40px,4.4vw,70px)/.98 Manrope,"DM Sans",sans-serif;letter-spacing:-.052em;color:#171a1c}
.service-chapter-step p{margin:24px 0 0;max-width:570px;font-size:14px;line-height:1.82;color:#6a7075}
.service-chapter-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:29px}
.service-chapter-tags span{padding:8px 10px;border:1px solid rgba(20,22,24,.11);font-size:7px;letter-spacing:.14em;color:#787e82;background:rgba(255,255,255,.20)}
.service-chapter-step.is-active .service-chapter-meta span{border-color:rgba(212,175,55,.48);background:rgba(212,175,55,.045)}
.service-chapter-step.is-active h3:after{content:"";display:block;width:44px;height:2px;background:#d4af37;margin-top:22px;animation:serviceGoldIn .55s cubic-bezier(.2,.75,.2,1)}
@keyframes serviceGoldIn{from{transform:scaleX(0);transform-origin:left;opacity:0}to{transform:scaleX(1);opacity:1}}

.service-chapter-stage-wrap{position:relative;min-width:0}
.service-chapter-stage{position:sticky;top:96px;height:min(76vh,760px);min-height:560px;margin:80px 0;border:1px solid rgba(20,22,24,.14);background:#0b0c0d;overflow:hidden;box-shadow:0 38px 88px rgba(20,22,24,.15);isolation:isolate;transform:perspective(1500px) rotateX(calc((.5 - var(--service-section-progress,.5))*1deg));transition:border-color .35s ease,box-shadow .35s ease}
.service-chapter-stage:before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.025),transparent 30%,transparent 70%,rgba(212,175,55,.035))}
.service-stage-head,.service-stage-foot{position:absolute;z-index:12;left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.17em;font-size:8px;pointer-events:none}
.service-stage-head{top:16px;color:#727a80}.service-stage-head b{font-weight:600;color:#c5c9cc;letter-spacing:.13em}
.service-stage-foot{bottom:15px;color:#646c71}.service-stage-foot>span:first-child{color:#737b80}
.service-stage-status{display:flex;align-items:center;gap:8px}.service-stage-status i{width:5px;height:5px;border-radius:50%;background:#d4af37;box-shadow:0 0 11px rgba(212,175,55,.58)}.service-stage-status b{font-weight:600;color:#9a822f}
.service-stage-viewport{position:absolute;inset:44px 0 40px;overflow:hidden;background:#0b0c0d}
.service-stage-viewport iframe,.service-stage-viewport img{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.service-stage-viewport iframe{z-index:3;background:#0b0c0d;transform:scale(1.001);opacity:1;transition:opacity .24s ease,transform .5s cubic-bezier(.2,.8,.2,1)}
.service-stage-viewport img{z-index:1;object-fit:cover;filter:saturate(.78) contrast(.96) brightness(.68);opacity:.28;transform:scale(1.04);transition:opacity .35s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.service-chapter-stage.is-changing iframe{opacity:.06;transform:scale(.985)}
.service-chapter-stage.is-changing img{opacity:.48;transform:scale(1.015)}
.service-stage-glass{position:absolute;z-index:5;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,11,12,.17),transparent 14%,transparent 82%,rgba(9,11,12,.26));box-shadow:inset 0 0 90px rgba(0,0,0,.18)}
.service-stage-grid{position:absolute;z-index:4;inset:0;pointer-events:none;opacity:.09;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent 86%)}
.service-stage-rail{position:absolute;z-index:14;left:0;top:44px;bottom:40px;width:2px;background:rgba(255,255,255,.06)}
.service-stage-rail i{display:block;width:100%;height:25%;background:linear-gradient(#8f711c,#d4af37,#f0d986);transform:translateY(calc(var(--service-index,0)*100%));transition:transform .6s cubic-bezier(.2,.75,.2,1);box-shadow:0 0 14px rgba(212,175,55,.35)}

.services-close{padding:100px clamp(28px,6vw,108px) 118px;border-top:1px solid rgba(20,22,24,.13);display:grid;grid-template-columns:minmax(0,.5fr) minmax(0,1fr);column-gap:clamp(36px,8vw,120px);align-items:end;background:#f1eee7}
.services-close>span{font-size:10px;letter-spacing:.19em;color:#747a7f;align-self:start;padding-top:12px}
.services-close strong{font:600 clamp(43px,5.2vw,80px)/.98 Manrope,sans-serif;letter-spacing:-.052em;color:#171a1c}
.services-close p{grid-column:2;margin:24px 0 0;max-width:620px;color:#6b7176;font-size:14px;line-height:1.75}

/* Retire V4 list visuals when V5 is present */
.services-project-table .premium-service-list,.services-project-table .premium-service-row{display:none!important}

@media(max-width:1050px){
  .service-chapter-shell{grid-template-columns:minmax(310px,.75fr) minmax(470px,1.25fr);gap:34px}
  .service-chapter-stage{height:650px;min-height:500px;top:88px}
  .services-intro-grid{grid-template-columns:1fr .58fr}
}
@media(max-width:820px){
  .services-intro{padding-top:94px}.services-intro-grid{grid-template-columns:1fr;gap:28px}.services-intro-copy{max-width:620px}
  .services-intro-line{grid-template-columns:1fr auto}.services-intro-line i{display:none}
  .service-chapter-shell{display:block;padding:0 clamp(22px,5vw,42px)}
  .service-chapter-stage-wrap{position:sticky;top:74px;z-index:10;background:#f1eee7;padding:18px 0 12px;margin:0}
  .service-chapter-stage{position:relative;top:0;margin:0;height:54vh;min-height:390px;max-height:520px}
  .service-chapter-copy{position:relative;z-index:2}
  .service-chapter-step{min-height:64vh;padding:70px 0 58px;opacity:.42}
  .service-chapter-step h3{font-size:clamp(36px,9vw,58px)}
  .services-close{grid-template-columns:1fr;padding:80px 24px 92px}.services-close strong,.services-close p{grid-column:1}.services-close strong{margin-top:24px}
}
@media(max-width:540px){
  .services-intro{padding:82px 20px 52px}.services-intro-grid{margin-top:40px}.services-intro-grid h2{font-size:42px}
  .services-intro-line{margin-top:52px}.services-intro-line b{display:none}
  .service-chapter-shell{padding:0 18px}
  .service-chapter-stage-wrap{top:70px;padding-top:12px}
  .service-chapter-stage{height:46vh;min-height:330px}.service-stage-head{font-size:7px}.service-stage-head>span{display:none}.service-stage-foot>span:first-child{display:none}
  .service-stage-viewport{inset:40px 0 36px}
  .service-chapter-step{min-height:58vh;padding:58px 0 48px}.service-chapter-step h3{font-size:38px}.service-chapter-step p{font-size:13px}.service-chapter-tags{gap:7px}.service-chapter-tags span{font-size:6.5px;padding:7px 8px}
  .service-chapter-meta{margin-bottom:20px}
  .services-close{padding:68px 20px 78px}.services-close strong{font-size:42px}
}
@media(prefers-reduced-motion:reduce){
  .service-chapter-stage,.service-chapter-step{transform:none!important}.service-stage-rail i{transition:none!important}
}
