/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}
}
@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}
::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}
html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}
small{font-size:80%}
sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
:-moz-focusring{outline:auto}
progress{vertical-align:baseline}
summary{display:list-item}
ol,ul,menu{list-style:none}
img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}
img,video{max-width:100%;height:auto}
button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}
:where(select:is([multiple],[size])) optgroup{font-weight:bolder}
:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}
::file-selector-button{margin-inline-end:4px}
::placeholder{opacity:1}
@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}
@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}
}
}
textarea{resize:vertical}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}
::-webkit-datetime-edit{display:inline-flex}
::-webkit-datetime-edit-fields-wrapper{padding:0}
::-webkit-datetime-edit{padding-block:0}
::-webkit-datetime-edit-year-field{padding-block:0}
::-webkit-datetime-edit-month-field{padding-block:0}
::-webkit-datetime-edit-day-field{padding-block:0}
::-webkit-datetime-edit-hour-field{padding-block:0}
::-webkit-datetime-edit-minute-field{padding-block:0}
::-webkit-datetime-edit-second-field{padding-block:0}
::-webkit-datetime-edit-millisecond-field{padding-block:0}
::-webkit-datetime-edit-meridiem-field{padding-block:0}
::-webkit-calendar-picker-indicator{line-height:1}
:-moz-ui-invalid{box-shadow:none}
button,input:where([type=button],[type=reset],[type=submit]){appearance:button}
::file-selector-button{appearance:button}
::-webkit-inner-spin-button{height:auto}
::-webkit-outer-spin-button{height:auto}
[hidden]:where(:not([hidden=until-found])){display:none!important}
}
@layer components;@layer utilities{.visible{visibility:visible}
.relative{position:relative}
.start{inset-inline-start:var(--spacing)}
.table{display:table}
.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
}
:root{--ink:#06100c;--paper:#f2f0e9;--paper-bright:#faf9f5;--green:#75e51d;--green-deep:#2e8f14;--gold:#d8b252;--shell:min(1280px, calc(100vw - 64px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--green);color:var(--ink)}
:focus-visible{outline:2px solid var(--green);outline-offset:4px}
.shell{width:var(--shell);margin-inline:auto}
.site-header{z-index:20;color:#fff;border-bottom:1px solid #ffffff29;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;height:92px;padding:0 max(32px,50vw - 640px);display:grid;position:absolute;top:0;left:0}
.brand{width:196px}
.brand img{filter:drop-shadow(0 6px 18px #00000047);width:100%}
.header-signature{letter-spacing:.18em;text-transform:uppercase;color:#fff9;margin:0;font-size:.65rem;font-weight:650}
.header-menu-link{border-left:1px solid #ffffff40;justify-self:end;align-items:center;gap:20px;min-height:42px;padding:0 0 0 24px;font-size:.72rem;font-weight:740;display:inline-flex}
.header-menu-link span{color:var(--green);font-size:1rem}
.hero{background:var(--ink);color:#fff;align-items:center;height:100svh;min-height:780px;display:flex;position:relative;overflow:hidden}
.hero-media,.hero-shade,.hero-grid{width:100%;height:100%;position:absolute;inset:0}
.hero-media{background:var(--ink);overflow:hidden}
.hero-scene{object-fit:cover;opacity:0;width:100%;height:100%;animation:24s ease-in-out infinite heroSequence;position:absolute;inset:0;transform:scale(1.035)}
.hero-scene--video{animation-delay:0s}
.hero-scene--roof{object-position:center 46%;animation-delay:6s}
.hero-scene--machine{object-position:center 48%;animation-delay:12s}
.hero-scene--rolling{object-position:center 42%;animation-delay:18s}
@keyframes heroSequence{0%,21%{opacity:.82;transform:scale(1.035)}
26%,95%{opacity:0;transform:scale(1.085)}
to{opacity:.82;transform:scale(1.035)}
}
.hero-shade{background:linear-gradient(90deg,#020806f2 0%,#020806ba 42%,#02080633 76%,#0208066b 100%),linear-gradient(#0000 50%,#020806d1 100%)}
.hero-grid{opacity:.12;background-image:linear-gradient(#ffffff38 1px,#0000 1px),linear-gradient(90deg,#ffffff38 1px,#0000 1px);background-size:12.5vw 12.5vw;-webkit-mask-image:linear-gradient(90deg,#000,#0000 82%);mask-image:linear-gradient(90deg,#000,#0000 82%)}
.hero-content{z-index:2;padding:82px 0 110px;position:relative}
.hero-kicker{letter-spacing:.19em;text-transform:uppercase;color:#ffffffad;align-items:center;gap:13px;margin:0 0 34px;font-size:.68rem;font-weight:740;display:flex}
.hero-kicker span{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 8px #75e51d1f}
.hero h1{letter-spacing:-.07em;max-width:1110px;margin:0;font-size:clamp(4.2rem,7.4vw,7.8rem);font-weight:650;line-height:.88}
.hero h1 em{max-width:940px;color:var(--green);letter-spacing:-.045em;margin-top:22px;font-size:.5em;font-style:normal;font-weight:430;line-height:1.05;display:block}
.hero-introduction{grid-template-columns:1fr auto;align-items:end;gap:70px;max-width:920px;margin-top:42px;display:grid}
.hero-introduction>p{color:#ffffffb3;max-width:640px;margin:0;font-size:1.05rem;line-height:1.7}
.hero-action{background:var(--green);min-height:54px;color:var(--ink);justify-content:center;align-items:center;gap:30px;padding:0 22px;font-size:.76rem;font-weight:790;transition:transform .25s,background .25s;display:inline-flex}
.hero-action:hover{background:#8bf33a;transform:translateY(-3px)}
.hero-footer{z-index:3;border-top:1px solid #fff3;grid-template-columns:1fr 175px 175px 175px;min-height:96px;display:grid;position:absolute;bottom:0;left:50%;transform:translate(-50%)}
.hero-footer>p{letter-spacing:.16em;text-transform:uppercase;color:#ffffff7a;align-self:center;margin:0;font-size:.64rem}
.hero-footer>div{border-left:1px solid #ffffff24;align-items:baseline;gap:9px;padding:22px;display:flex}
.hero-footer strong{color:var(--green);font-size:1.4rem}
.hero-footer span{letter-spacing:.08em;text-transform:uppercase;color:#ffffff8a;max-width:82px;font-size:.54rem;line-height:1.45}
.menu-section{background:var(--paper);padding:118px 0 130px}
.menu-heading{grid-template-columns:.7fr 1.5fr .8fr;align-items:end;gap:54px;margin-bottom:62px;display:grid}
.eyebrow{letter-spacing:.2em;color:var(--green-deep);align-self:start;margin:12px 0 0;font-size:.68rem;font-weight:780}
.eyebrow:before{content:"";vertical-align:middle;background:currentColor;width:26px;height:2px;margin-right:12px;display:inline-block}
.menu-heading h2{letter-spacing:-.065em;margin:0;font-size:clamp(3.4rem,5.8vw,6.2rem);font-weight:600;line-height:.9}
.menu-intro{color:#58655f;margin:0 0 4px;font-size:.9rem;line-height:1.7}
.doors{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}
.door{isolation:isolate;background:var(--ink);color:#fff;min-height:590px;transition:transform .45s cubic-bezier(.2,.7,.1,1),box-shadow .45s;position:relative;overflow:hidden}
.door>img,.door-shade{width:100%;height:100%;position:absolute;inset:0}
.door>img{object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.1,1),filter .5s}
.door-shade{z-index:1;background:linear-gradient(#0208061f 0%,#02080666 48%,#020806f5 100%)}
.door:after{content:"";z-index:3;pointer-events:none;border:1px solid #ffffff29;position:absolute;inset:0}
.door-topline{z-index:2;justify-content:space-between;align-items:center;display:flex;position:absolute;top:24px;left:24px;right:24px}
.door-topline b{font-family:var(--font-geist-mono);color:#ffffff94;font-size:.65rem}
.door-topline i{border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:42px;height:42px;font-style:normal;transition:background .3s,color .3s,transform .3s;display:grid}
.door-content{z-index:2;flex-direction:column;align-items:flex-start;display:flex;position:absolute;bottom:30px;left:28px;right:28px}
.door-intent{letter-spacing:.14em;text-transform:uppercase;min-height:32px;color:var(--green);margin-bottom:14px;font-size:.62rem;line-height:1.4}
.door-content>strong{white-space:pre-line;letter-spacing:-.055em;min-height:116px;font-size:clamp(2.25rem,3.5vw,3.8rem);font-weight:590;line-height:.92}
.door-copy{color:#ffffffa3;min-height:82px;margin-top:18px;font-size:.79rem;line-height:1.6}
.door-action{border-bottom:1px solid #ffffff73;gap:16px;margin-top:20px;padding-bottom:7px;font-size:.68rem;font-weight:760;display:inline-flex}
.door-action b{color:var(--green)}
.door:hover{transform:translateY(-8px);box-shadow:0 26px 60px #07100d33}
.door:hover>img{filter:saturate(1.08)contrast(1.04);transform:scale(1.055)}
.door:hover .door-topline i{background:var(--green);color:var(--ink);border-color:var(--green);transform:rotate(45deg)}
.door--arcotechos>img{object-position:46% center}
.door--rolados>img{object-position:54% center}
.door--engine>img{filter:grayscale(.65)brightness(.54)}
.door--engine .door-shade{background:linear-gradient(#08050029,#080500f5)}
.door--engine .door-intent,.door--engine .door-action b{color:var(--gold)}
.door--engine:hover>img{filter:grayscale(.25)brightness(.62)}
.door--engine:hover .door-topline i{background:var(--gold);border-color:var(--gold)}
.footer{color:#fff;background:#040805;padding:78px 0 24px}
.footer-main{grid-template-columns:1fr 1fr;align-items:end;gap:80px;padding-bottom:66px;display:grid}
.footer-brand img{width:210px}
.footer-brand p{color:#ffffff75;margin:20px 0 0;font-size:.75rem}
.footer-main nav{flex-direction:column;align-items:stretch;display:flex}
.footer-main nav a{color:#ffffffa8;border-bottom:1px solid #ffffff24;justify-content:space-between;padding:13px 0;font-size:.78rem;transition:color .25s,padding .25s;display:flex}
.footer-main nav a:hover{color:#fff;padding-left:8px}
.footer-main nav span{color:var(--green)}
.footer-bottom{min-height:52px;font-family:var(--font-geist-mono);letter-spacing:.1em;color:#ffffff52;border-top:1px solid #ffffff1f;justify-content:space-between;padding-top:20px;font-size:.55rem;display:flex}
@media (width<=1040px){:root{--shell:min(100% - 40px, 920px)}
.site-header{padding-inline:20px}
.menu-heading{grid-template-columns:1fr 2fr}
.menu-intro{grid-column:2}
.doors{grid-template-columns:1fr 1fr}
.door--engine{grid-column:1/-1;min-height:500px}
.door--engine .door-content>strong{min-height:0}
.door--engine .door-copy{max-width:540px;min-height:0}
}
@media (width<=720px){:root{--shell:calc(100vw - 36px)}
.site-header{background:linear-gradient(#020806b8,#0000);grid-template-columns:1fr auto;height:72px}
.brand{width:154px}
.header-signature{display:none}
.header-menu-link{gap:10px;padding-left:16px;font-size:.64rem}
.hero{align-items:flex-start;height:100svh;min-height:720px}
.hero-scene--video{object-position:60% center}
.hero-scene--roof{object-position:47% center}
.hero-scene--machine{object-position:58% center}
.hero-scene--rolling{object-position:52% center}
.hero-shade{background:linear-gradient(#02080694,#020806f0 74%)}
.hero-grid{background-size:25vw 25vw;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}
.hero-content{padding-top:142px}
.hero-kicker{max-width:270px;margin-bottom:26px;font-size:.57rem;line-height:1.5}
.hero h1{max-width:100%;font-size:clamp(3.7rem,16.2vw,5rem);line-height:.89}
.hero h1 em{max-width:95%;margin-top:18px;font-size:.53em;line-height:1.08}
.hero-introduction{margin-top:30px;display:block}
.hero-introduction>p{max-width:94%;font-size:.88rem;line-height:1.62}
.hero-action{width:100%;margin-top:26px}
.hero-footer{grid-template-columns:repeat(3,1fr);min-height:78px}
.hero-footer>p{display:none}
.hero-footer>div{text-align:center;border-left:0;border-right:1px solid #ffffff1f;padding:12px 6px;display:block}
.hero-footer strong,.hero-footer span{max-width:none;display:block}
.hero-footer strong{font-size:1.1rem}
.hero-footer span{margin-top:3px;font-size:.43rem}
.menu-section{padding:86px 0 94px}
.menu-heading{margin-bottom:42px;display:block}
.eyebrow{margin:0 0 24px}
.menu-heading h2{font-size:3.55rem}
.menu-intro{max-width:92%;margin-top:24px;font-size:.84rem}
.doors{display:block}
.door,.door--engine{min-height:500px;margin-bottom:10px}
.door-content{bottom:25px;left:24px;right:24px}
.door-content>strong{min-height:0;font-size:3rem}
.door-copy{min-height:0;font-size:.75rem}
.footer{padding-top:64px}
.footer-main{grid-template-columns:1fr;gap:44px;padding-bottom:50px}
.footer-bottom{line-height:1.8;display:block}
.footer-bottom span{display:block}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
.door,.door>img,.hero-action,.door-topline i{transition:none}
.hero-scene{opacity:0;animation:none;transform:none}
.hero-scene--video{opacity:.78}
}

/* Recuadros compactos dentro del hero: permiten apreciar mejor el fondo. */
.hero-content {
  width: 100%;
  padding: 118px 0 122px;
}

.hero-content > .shell {
  width: min(1020px, calc(100vw - 72px));
}

.doors {
  gap: 14px;
}

.door {
  min-height: 410px;
}

.door-topline {
  top: 18px;
  left: 18px;
  right: 18px;
}

.door-topline i {
  width: 36px;
  height: 36px;
}

.door-content {
  right: 22px;
  bottom: 22px;
  left: 22px;
}

.door-intent {
  min-height: 26px;
  margin-bottom: 10px;
  font-size: .54rem;
}

.door-content > strong {
  min-height: 78px;
  font-size: clamp(1.7rem, 2.25vw, 2.5rem);
  line-height: .94;
}

.door-copy {
  min-height: 64px;
  margin-top: 12px;
  font-size: .7rem;
  line-height: 1.48;
}

.door-action {
  margin-top: 14px;
  font-size: .62rem;
}

@media (max-width: 1040px) {
  .hero {
    height: auto;
    min-height: 900px;
  }

  .hero-content {
    padding: 118px 0 130px;
  }

  .hero-content > .shell {
    width: min(800px, calc(100vw - 48px));
  }

  .doors {
    grid-template-columns: repeat(2, 1fr);
  }

  .door {
    min-height: 340px;
  }

  .door--engine {
    grid-column: 1 / -1;
    min-height: 300px;
  }

  .door--engine .door-content > strong,
  .door--engine .door-copy {
    max-width: 560px;
    min-height: 0;
  }
}

@media (max-width: 720px) {
  .hero {
    height: auto;
    min-height: 0;
  }

  .hero-content {
    padding: 104px 0 118px;
  }

  .hero-content > .shell {
    width: calc(100vw - 36px);
  }

  .doors {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .door,
  .door--engine {
    grid-column: auto;
    min-height: 300px;
    margin: 0;
  }

  .door-content > strong {
    min-height: 0;
    font-size: 1.85rem;
  }

  .door-copy {
    min-height: 0;
    font-size: .67rem;
  }
}
