:root{
  color-scheme: light;
  --paper:#F5F1E6; --paper2:#EDE7D6; --card:#E9DFC8;
  --ink:#182430; --ink2:#31435A;
  --blue:#2B4C9B; --yellow:#F7B90B; --orange:#E8620C; --red:#C43B2F;
  --accent-strong:#9A3F06;
  --grid:rgba(43,76,155,.13); --grid2:rgba(43,76,155,.28);
  --shadow:rgba(24,36,48,.85);
  --input-bg:#FBF9F2;
  --sent-bg:rgba(245,241,230,.94);
}
[data-theme="dark"]{
  color-scheme: dark;
  --paper:#161B24; --paper2:#1B2230; --card:#1E2634;
  --ink:#EFE6D2; --ink2:#AEB9C6;
  --blue:#9DB4F0; --yellow:#F7B90B; --orange:#E8620C; --red:#E88476;
  --accent-strong:#F5A25B;
  --grid:rgba(157,180,240,.1); --grid2:rgba(157,180,240,.22);
  --shadow:rgba(0,0,0,.55);
  --input-bg:#10141B;
  --sent-bg:rgba(22,27,36,.96);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'IBM Plex Sans',sans-serif; color:var(--ink); background:var(--paper);
  overflow-x:hidden; line-height:1.55;
}
body::before{
  content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:
    linear-gradient(var(--grid2) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid2) 1px,transparent 1px),
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;
}
.grain{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");}
#dusk{position:fixed;inset:0;z-index:0;opacity:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(24,30,70,.55),rgba(196,84,45,.42) 62%,rgba(247,178,11,.38));}
::selection{background:var(--yellow);color:#182430}
h1,h2,h3,.anton{font-family:'Anton',sans-serif;font-weight:400;letter-spacing:.01em}
.mono{font-family:'IBM Plex Mono',monospace}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.skip-link{position:absolute;top:-100%;left:1rem;z-index:99;background:var(--yellow);color:#182430;
  font-family:'IBM Plex Mono';font-size:.75rem;font-weight:600;padding:.5rem 1rem;text-decoration:none;
  border:2px solid #182430;transition:top .2s}
.skip-link:focus{top:6px}

#tape{position:fixed;top:0;left:0;height:6px;width:0%;z-index:60;
  background:repeating-linear-gradient(45deg,var(--yellow) 0 12px,var(--ink) 12px 24px);
  border-bottom:2px solid var(--ink);}

header{position:fixed;top:6px;left:0;right:0;z-index:50;background:var(--paper);
  border-bottom:2px solid var(--ink);display:flex;align-items:center;gap:2rem;
  padding:.7rem 4vw;transition:box-shadow .3s,background .3s;}
header.scrolled{box-shadow:0 6px 0 var(--shadow)}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.logo-box{width:38px;height:38px;background:var(--yellow);border:2px solid var(--ink);
  box-shadow:3px 3px 0 var(--ink);display:grid;place-items:center;
  font-family:'Anton';font-size:1.3rem;color:#182430}
.logo b{font-family:'Anton';font-size:1.25rem;letter-spacing:.06em;display:block;line-height:1}
.logo small{font-family:'IBM Plex Mono';font-size:.58rem;letter-spacing:.28em;color:var(--ink2)}
nav{display:flex;gap:1.6rem;margin-left:auto}
nav a{font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.16em;text-decoration:none;
  padding:.35rem 0;border-bottom:2px solid transparent;transition:.2s}
nav a:hover{border-color:var(--yellow);background:rgba(247,185,11,.15)}
.header-actions{display:flex;align-items:center;gap:.6rem}
header nav{margin-left:auto}
.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;background:var(--paper);
  color:var(--ink);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);
  cursor:pointer;transition:transform .18s,box-shadow .18s}
.icon-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}
.icon-btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ink)}
.theme-toggle .icon-moon{display:none}
[data-theme="dark"] .theme-toggle .icon-moon{display:block}
[data-theme="dark"] .theme-toggle .icon-sun{display:none}
.nav-toggle{display:none}
.btn{display:inline-block;font-family:'IBM Plex Mono';font-weight:600;font-size:.72rem;
  letter-spacing:.12em;text-decoration:none;background:var(--yellow);color:#182430;
  border:2px solid var(--ink);padding:.65rem 1.2rem;box-shadow:4px 4px 0 var(--ink);
  cursor:pointer;transition:transform .18s,box-shadow .18s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--ink)}
.btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.btn.ghost{background:var(--paper);color:var(--ink)}

#scene{position:fixed;inset:0;z-index:1;pointer-events:none}
#scene svg{width:100%;height:100%;display:block;background:linear-gradient(180deg,#FAF7EF 0%,#F5F1E6 55%,#F0EBDD 100%)}
[data-theme="dark"] #scene svg{filter:invert(.9) hue-rotate(180deg)}
#scene svg *{vector-effect:non-scaling-stroke}
.cloud{animation:drift linear infinite}
.cloud.c1{animation-duration:70s}
.cloud.c2{animation-duration:95s;animation-delay:-30s}
.cloud.c3{animation-duration:120s;animation-delay:-60s}
@keyframes drift{from{transform:translateX(-320px)}to{transform:translateX(1450px)}}
.birds{animation:fly 22s linear infinite;animation-delay:-6s}
@keyframes fly{from{transform:translate(-160px,0)}50%{transform:translate(620px,-40px)}to{transform:translate(1420px,10px)}}
#craneSway{transform-box:fill-box;transform-origin:50% 100%;animation:sway 7s ease-in-out infinite alternate}
@keyframes sway{from{transform:rotate(-.35deg)}to{transform:rotate(.35deg)}}
#hookIdle{transform-box:fill-box;transform-origin:50% 0;animation:hooksway 3.4s ease-in-out infinite alternate}
@keyframes hooksway{from{transform:rotate(-2.5deg)}to{transform:rotate(2.5deg)}}
#crane.lifting #hookIdle{animation:none;transform:none}
.flag{transform-box:fill-box;transform-origin:0 50%;animation:flagwave 1.1s ease-in-out infinite alternate}
@keyframes flagwave{from{transform:skewY(5deg)}to{transform:skewY(-7deg) scaleX(.94)}}
.beacon{animation:blink 1.4s steps(2) infinite}
@keyframes blink{50%{opacity:.1}}
.dust circle{opacity:0;transform-box:fill-box;transform-origin:center}
.dust.puff circle{animation:puff .65s ease-out forwards}
.dust.puff circle:nth-child(2){animation-delay:.08s}
.dust.puff circle:nth-child(3){animation-delay:.14s}
@keyframes puff{0%{opacity:.8;transform:translate(0,0) scale(.4)}100%{opacity:0;transform:translate(var(--dx,14px),-16px) scale(1.5)}}
.win{transform-box:fill-box;transform-origin:center;transition:fill .5s}
.win.lit{fill:#FFD37A !important;stroke:#B87F14}

.hud{position:fixed;left:2vw;bottom:22px;z-index:40;background:var(--paper);
  border:2px solid var(--ink);box-shadow:6px 6px 0 var(--shadow);
  padding:.75rem .9rem;width:300px;font-family:'IBM Plex Mono'}
.hud-top{display:flex;align-items:center;gap:.5rem;font-size:.62rem;letter-spacing:.14em;
  font-weight:600;border-bottom:2px solid var(--ink);padding-bottom:.45rem;margin-bottom:.5rem}
.hud-dot{width:9px;height:9px;background:var(--red);border:1.5px solid var(--ink);border-radius:50%;animation:blink 1.2s steps(2) infinite}
.hud-id{margin-left:auto;color:var(--ink2);font-weight:400;font-size:.58rem}
.hud-row{display:flex;justify-content:space-between;gap:.8rem;font-size:.62rem;margin:.28rem 0}
.hud-row span{color:var(--ink2);letter-spacing:.1em}
.hud-row b{font-weight:600;text-align:right}
.hud-bar{display:flex;gap:3px;margin:.55rem 0 .35rem}
.hud-bar i{flex:1;height:12px;border:1.5px solid var(--ink);background:transparent;transition:background .25s}
.hud-bar i.on{background:var(--yellow)}
.hud-pct b{font-size:.85rem;color:var(--ink)}

#stamp{position:fixed;right:7vw;top:26vh;z-index:45;pointer-events:none;
  font-family:'Anton';font-size:clamp(1.6rem,3.4vw,2.8rem);color:var(--red);
  border:5px double var(--red);padding:.4em .7em;letter-spacing:.06em;
  transform:rotate(-11deg) scale(1.9);opacity:0;mix-blend-mode:multiply;
  transition:transform .5s cubic-bezier(.2,1.6,.4,1),opacity .35s}
[data-theme="dark"] #stamp{mix-blend-mode:screen}
#stamp.show{opacity:.92;transform:rotate(-11deg) scale(1)}

main{position:relative;z-index:10}
.sheet{position:relative;background:var(--paper);border:2px solid var(--ink);
  box-shadow:9px 9px 0 var(--shadow);padding:2.4rem 2.4rem 2.6rem;max-width:640px}
.sheet .tab{position:absolute;top:-14px;left:22px;background:var(--ink);color:var(--paper);
  font-family:'IBM Plex Mono';font-size:.6rem;letter-spacing:.22em;padding:.3rem .7rem}
.label{font-family:'IBM Plex Mono';font-size:.66rem;letter-spacing:.24em;color:var(--accent-strong);
  font-weight:600;display:flex;align-items:center;gap:.7rem;margin-bottom:1rem}
.label::before{content:"";width:26px;height:2px;background:var(--orange)}
h2{font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1.02;text-transform:uppercase;margin-bottom:1rem}
.hl{background:linear-gradient(transparent 55%,var(--yellow) 55%)}
.sec-sub{color:var(--ink2);max-width:60ch}
section{padding:14vh 6vw;display:flex}
section .sheet{margin-right:auto}
section:nth-of-type(even) .sheet{margin-left:auto;margin-right:6vw}

.hero{min-height:100vh;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:16vh}
.meta-strip{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;font-family:'IBM Plex Mono';
  font-size:.62rem;letter-spacing:.14em;color:var(--ink2);border:2px solid var(--ink);
  background:var(--paper);padding:.55rem .9rem;margin-bottom:2rem;box-shadow:5px 5px 0 var(--ink)}
.meta-strip b{color:var(--ink);font-weight:600}
h1{font-size:clamp(3rem,8.6vw,7.4rem);line-height:.94;text-transform:uppercase;margin-bottom:1.6rem}
.h-line{display:block;overflow:hidden}
.h-line>span{display:block;transform:translateY(112%);animation:rise .9s cubic-bezier(.2,.75,.2,1) forwards;animation-delay:var(--d,0s)}
@keyframes rise{to{transform:translateY(0)}}
.hero p.sub{max-width:46ch;font-size:1.02rem;margin-bottom:2rem;color:var(--ink2)}
.hero .cta-row{display:flex;gap:1rem;flex-wrap:wrap}
.stamp-enobra{position:absolute;right:8vw;top:20vh;transform:rotate(9deg);
  font-family:'Anton';font-size:1.2rem;color:var(--blue);border:3px double var(--blue);
  padding:.4em .8em;letter-spacing:.1em;opacity:.65;mix-blend-mode:multiply;pointer-events:none}
[data-theme="dark"] .stamp-enobra{mix-blend-mode:screen}
.cue{position:absolute;bottom:4vh;left:50%;transform:translateX(-50%);
  font-family:'IBM Plex Mono';font-size:.62rem;letter-spacing:.3em;color:var(--ink2);
  display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:opacity .4s}
.cue.off{opacity:0}
.cue i{width:2px;height:34px;background:var(--ink);display:block;animation:cuedrop 1.4s ease-in-out infinite}
@keyframes cuedrop{0%{transform:scaleY(0);transform-origin:top}55%{transform:scaleY(1);transform-origin:top}56%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.marquee{background:var(--ink);color:var(--paper);border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink);overflow:hidden;padding:.9rem 0;transform:rotate(-1deg) scale(1.02)}
.mq-track{display:flex;width:max-content;animation:mq 26s linear infinite}
.mq-track:hover{animation-play-state:paused}
.mq-track span{font-family:'Anton';font-size:1.15rem;letter-spacing:.08em;white-space:nowrap;padding-right:1.2rem}
.mq-track em{font-style:normal;color:var(--yellow);padding-right:1.2rem}
[data-theme="dark"] .mq-track em{color:#8a6d00}
@keyframes mq{to{transform:translateX(-50%)}}

.spec-list{margin-top:1.6rem;border-top:2px solid var(--ink)}
.spec-list div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;
  border-bottom:1px dashed var(--ink2);font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.1em}
.spec-list div b{font-weight:600}

.serv-list{max-width:880px;width:100%;margin:0 auto}
.serv{display:grid;grid-template-columns:110px 1fr auto;gap:1.6rem;align-items:center;
  border:2px solid var(--ink);background:var(--paper);padding:1.4rem 1.8rem;margin-bottom:-2px;
  transition:background .25s,color .25s;cursor:default;box-shadow:7px 7px 0 var(--shadow)}
.serv-num{font-family:'Anton';font-size:3.4rem;line-height:1;color:transparent;
  -webkit-text-stroke:2px var(--ink);transition:.25s}
.serv h3{font-size:1.5rem;letter-spacing:.03em;text-transform:uppercase;margin-bottom:.3rem}
.serv p{font-size:.9rem;color:var(--ink2);max-width:52ch}
.serv .chips{display:flex;flex-direction:column;gap:.4rem;font-family:'IBM Plex Mono';font-size:.58rem;letter-spacing:.18em}
.serv .chips span{border:1.5px solid currentColor;padding:.25rem .55rem;transition:inherit}
.serv .arrow{font-family:'Anton';font-size:1.6rem;opacity:0;transform:translateX(-10px);transition:.25s}
.serv:hover{background:var(--ink);color:var(--paper)}
.serv:hover p{color:var(--ink2)}
.serv:hover .serv-num{-webkit-text-stroke:2px var(--yellow)}
.serv:hover .arrow{opacity:1;transform:none;color:var(--yellow)}

.proj-wrap{width:100%;max-width:1100px;margin:0 auto}
.proj-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3.2rem;flex-wrap:wrap}
.proj-grid{display:flex;gap:2.5rem;justify-content:center;flex-wrap:wrap}
.postcard{background:var(--paper);border:2px solid var(--ink);padding:.9rem .9rem 1rem;width:320px;
  box-shadow:8px 8px 0 var(--shadow);position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.postcard::before{content:"";position:absolute;top:-13px;left:50%;width:96px;height:26px;
  transform:translateX(-50%) rotate(-3deg);background:rgba(247,185,11,.75);border:1px solid var(--ink)}
.postcard.r1{transform:rotate(-3.5deg)}
.postcard.r2{transform:rotate(2deg) translateY(26px)}
.postcard.r3{transform:rotate(-1.5deg) translateY(-8px)}
.postcard:hover{transform:rotate(0) translateY(-12px) scale(1.02);box-shadow:14px 16px 0 var(--shadow);z-index:2}
.postcard-art{border:2px solid var(--ink);width:100%;height:210px;display:block}
.postcard figcaption{padding-top:.8rem}
.postcard h3{font-size:1.25rem;text-transform:uppercase;letter-spacing:.03em}
.postcard .pm{font-family:'IBM Plex Mono';font-size:.6rem;letter-spacing:.14em;color:var(--ink2);
  display:flex;justify-content:space-between;margin-top:.45rem;border-top:1px dashed var(--ink2);padding-top:.5rem}

.fases{margin-top:1.6rem;position:relative;padding-left:2.2rem}
.fases::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:2px;background:var(--ink2);opacity:.4}
.fase{position:relative;padding:.9rem 0 .9rem .6rem;opacity:.38;transition:opacity .4s}
.fase::before{content:"";position:absolute;left:-2.2rem;top:1.25rem;width:16px;height:16px;
  border:2.5px solid var(--ink);background:var(--paper);transition:background .3s;margin-left:1px}
.fase.active{opacity:1}
.fase.active::before{background:var(--yellow);box-shadow:3px 3px 0 var(--ink)}
.fase .fc{font-family:'IBM Plex Mono';font-size:.6rem;letter-spacing:.22em;color:var(--accent-strong);font-weight:600}
.fase h3{font-size:1.35rem;text-transform:uppercase;margin:.15rem 0}
.fase p{font-size:.88rem;color:var(--ink2);max-width:44ch}

.stats{display:flex;flex-wrap:wrap;gap:2.4rem 4rem;margin-top:2rem}
.stat b{font-family:'Anton';font-size:clamp(2.6rem,5.5vw,4.4rem);line-height:1;display:block}
.stat b sup{font-size:.4em;color:var(--accent-strong)}
.stat span{font-family:'IBM Plex Mono';font-size:.62rem;letter-spacing:.22em;color:var(--ink2)}

.faq-list{margin-top:1.6rem}
.faq-list details{border:2px solid var(--ink);background:var(--card);margin-bottom:-2px}
.faq-list summary{font-family:'Anton';font-size:1.05rem;letter-spacing:.03em;cursor:pointer;
  padding:.9rem 1.1rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font-family:'IBM Plex Mono';font-weight:600;flex-shrink:0}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{padding:0 1.1rem 1.1rem;font-size:.9rem;color:var(--ink2);max-width:62ch}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;width:100%;max-width:1080px;margin:0 auto}
.datos{margin-top:2rem;border-top:2px solid var(--ink)}
.datos div{display:flex;gap:1rem;padding:.65rem 0;border-bottom:1px dashed var(--ink2);
  font-family:'IBM Plex Mono';font-size:.7rem;letter-spacing:.08em}
.datos div span{min-width:96px;color:var(--accent-strong);font-weight:600;flex-shrink:0}
.datos a{text-decoration:none}
.datos a:hover{background:var(--yellow);color:#182430}
form .sheet{max-width:none;position:relative}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{font-family:'IBM Plex Mono';font-size:.6rem;letter-spacing:.2em;display:block;margin:.9rem 0 .3rem;color:var(--ink2)}
input,select,textarea{width:100%;font-family:'IBM Plex Sans';font-size:.92rem;padding:.65rem .7rem;
  border:2px solid var(--ink);background:var(--input-bg);color:var(--ink);transition:box-shadow .2s,transform .2s}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:4px 4px 0 var(--yellow);transform:translate(-2px,-2px)}
textarea{resize:vertical;min-height:96px}
.form-status{font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.1em;min-height:1.4em;margin-top:.9rem;color:var(--accent-strong)}
.sent-overlay{position:absolute;inset:0;background:var(--sent-bg);display:grid;place-items:center;
  opacity:0;pointer-events:none;transition:opacity .4s;z-index:2}
form.sent .sent-overlay{opacity:1;pointer-events:auto}
.sent-box{text-align:center;transform:rotate(-6deg)}
.sent-box b{font-family:'Anton';font-size:2.2rem;color:var(--red);border:4px double var(--red);
  padding:.3em .6em;display:inline-block}
.sent-box p{font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.16em;margin-top:1rem}

footer{position:relative;z-index:10;background:var(--paper);border-top:3px solid var(--ink);margin-top:12vh}
.titleblock{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.2fr;border:2px solid var(--ink);margin:0}
.titleblock>div{border-right:2px solid var(--ink);padding:1rem 1.2rem}
.titleblock>div:last-child{border-right:none}
.titleblock small{display:block;font-family:'IBM Plex Mono';font-size:.55rem;letter-spacing:.22em;color:var(--ink2);margin-bottom:.3rem}
.titleblock b{font-family:'Anton';font-size:1.05rem;letter-spacing:.04em;font-weight:400}
.titleblock .mono-v{font-family:'IBM Plex Mono';font-size:.72rem}
.foot-links{display:flex;gap:1.8rem;flex-wrap:wrap;padding:1.4rem;border-top:2px solid var(--ink);
  font-family:'IBM Plex Mono';font-size:.62rem;letter-spacing:.16em}
.foot-links a{text-decoration:none}
.foot-links a:hover{background:var(--yellow);color:#182430}
.foot-end{margin-left:auto;color:var(--ink2)}
.dev-credit{text-align:center;padding:0 1.4rem 1.4rem;font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.08em;color:var(--ink2)}
.dev-credit a{color:var(--ink)}

.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:55;width:56px;height:56px;
  display:grid;place-items:center;background:#25D366;color:#fff;border:2px solid #182430;
  border-radius:50%;box-shadow:4px 4px 0 var(--shadow);transition:transform .2s}
.whatsapp-float:hover{transform:translate(-2px,-2px) scale(1.04)}

.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js [data-reveal].in{opacity:1;transform:none}

@media (max-width:900px){
  nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);
    flex-direction:column;gap:0;margin-left:0;border-bottom:2px solid var(--ink);padding:.5rem 4vw 1rem}
  nav.open{display:flex}
  nav a{padding:.7rem 0;border-bottom:1px dashed var(--ink2)}
  .nav-toggle{display:inline-grid}
  .header-actions{margin-left:auto}
  section:nth-of-type(even) .sheet{margin-left:auto;margin-right:auto}
  section .sheet{margin:0 auto}
  .sheet{padding:1.8rem 1.4rem}
  #scene svg{opacity:.5}
  [data-theme="dark"] #scene svg{opacity:.35}
  .stamp-enobra{display:none}
  .serv{grid-template-columns:64px 1fr;gap:1rem}
  .serv .chips,.serv .arrow{display:none}
  .serv-num{font-size:2.4rem}
  .contact-grid{grid-template-columns:1fr}
  .titleblock{grid-template-columns:1fr 1fr}
  .titleblock>div{border-bottom:2px solid var(--ink)}
  .hud{width:calc(100vw - 4vw);left:2vw;bottom:10px;padding:.5rem .7rem}
  .hud-row:nth-child(3){display:none}
  #stamp{right:4vw;top:18vh}
  .whatsapp-float{width:48px;height:48px;right:14px;bottom:150px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  html{scroll-behavior:auto}
  .js [data-reveal]{opacity:1;transform:none}
}
