:root{--red:#ef1024;--ink:#111518;--muted:#62666a;--paper:#f7f7f6;--display:Arial,Helvetica,sans-serif;--body:Arial,Helvetica,sans-serif;--wrap:min(1200px,calc(100% - 9.5vw));--shadow:0 14px 40px #15171924}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;color:var(--ink);font:16px/1.5 var(--body);background:#fff}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.wrap{width:var(--wrap);margin-inline:auto}em{font-style:normal;color:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.045em}h2{font-size:clamp(1.65rem,2.4vw,2.5rem);line-height:1.08;font-weight:800;margin-bottom:0}.eyebrow{font-size:.7rem;letter-spacing:.2em;font-weight:700;margin:0 0 14px;color:#35393c}.eyebrow i{display:inline-block;width:27px;height:2px;background:var(--red);vertical-align:middle;margin-right:7px}.eyebrow.light{color:#fff}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:0 19px;border-radius:9px;font-size:.88rem;font-weight:700;transition:transform .2s,background .2s,color .2s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button>svg{font-size:19px}.button .arrow{margin-left:6px}.button-red{color:#fff;background:var(--red);box-shadow:0 4px 10px #e9122825}.button-red:hover{background:#ca0a1b}.button-outline{color:#fff;border:1.5px solid #fff;background:#080a0b55}.button-white{color:var(--red);background:white}.button-white:hover{background:#f4f4f4}

/* Header */
.site-header{height:74px;background:#fff;position:relative;z-index:10;box-shadow:0 2px 14px #0000000a}.header-inner{width:min(1200px,calc(100% - 9.5vw));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:9px;flex:none}.brand-gear{width:46px;height:46px;fill:var(--red);stroke:#c80d1f;stroke-width:1.4}.brand-gear circle{fill:#fff;stroke:#a10b19;stroke-width:2}.brand-copy{font-family:var(--display);font-size:.78rem;line-height:.96;letter-spacing:-.025em;color:#17191b}.brand-copy b{font-size:1.1rem;color:var(--red);letter-spacing:-.045em}.brand-copy small{display:block;font-size:.48rem;letter-spacing:.28em;text-align:center;margin-top:4px}.desktop-nav,.main-nav,.footer-nav{display:flex;align-items:center;gap:clamp(18px,2.7vw,38px)}.desktop-nav a,.footer-nav a{font-size:.82rem;position:relative}.desktop-nav a:hover,.footer-nav a:hover{color:var(--red)}.desktop-nav .active{color:var(--red)}.desktop-nav .active:after{content:"";position:absolute;left:0;right:0;bottom:-11px;height:2px;background:var(--red)}.header-cta{min-height:44px;padding-inline:18px}.mobile-menu{display:none}

/* Hero */
.parallax{background-position:center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}.hero{height:500px;position:relative;color:#fff;background-image:url("assets/hero.jpg");background-position:center 46%;isolation:isolate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#05080adb 0%,#05080ab0 34%,#05080a24 72%,#05080a18),linear-gradient(0deg,#05080a44,transparent 40%);z-index:-1}.hero-content{position:relative;padding-top:94px}.hero .eyebrow{margin-bottom:21px}.hero h1{font-size:clamp(3rem,5.3vw,5.4rem);line-height:.93;margin:0 0 17px;font-weight:850;letter-spacing:-.055em}.hero h1 em{color:var(--red)}.hero-lede{font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.4;margin-bottom:24px;color:#f2f2f2}.hero-actions{display:flex;gap:12px}.hand-note{font-family:"Segoe Print","Bradley Hand",cursive;font-style:italic;font-size:1.1rem;line-height:1.05;color:#fff;transform:rotate(-7deg);display:block}.hero-note{position:absolute;right:7.5%;bottom:76px}.scribble{display:block;width:72px;height:12px;margin-top:8px;border-bottom:3px solid var(--red);border-radius:50%;transform:rotate(-7deg)}

/* Services */
.services-panel{position:relative;z-index:2;margin-top:-42px;background:#fff;border-radius:16px;padding:29px 30px 27px;box-shadow:var(--shadow)}.section-intro{display:grid;grid-template-columns:1.35fr .8fr;gap:40px;align-items:center;margin:0 10px 24px}.section-intro h2{font-size:clamp(1.5rem,2.2vw,2rem)}.intro-copy{border-left:1px solid #c8c9cb;padding-left:20px;margin:0;color:#5c6063;font-size:.9rem;line-height:1.55}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{position:relative;border-radius:12px;overflow:hidden;min-height:256px;padding:19px 18px 0;background:#fff;box-shadow:0 2px 16px #12141717;border:1px solid #f0f0f0;display:flex;flex-direction:column}.service-heading{display:flex;align-items:center;gap:12px;min-height:43px}.service-icon{color:var(--red);width:36px;height:36px;flex:none;stroke-width:2.6}.service-card h3{font-size:1rem;line-height:1.2;margin:0;font-weight:800;letter-spacing:-.025em}.service-card>p{font-size:.83rem;color:#575b5e;line-height:1.45;margin:12px 0 10px;max-width:230px}.service-card>img{width:calc(100% + 36px);height:91px;object-fit:cover;margin:auto -18px 0;mask-image:linear-gradient(0deg,#000 75%,transparent 100%)}.circle-arrow{position:absolute;right:13px;bottom:11px;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:white;box-shadow:0 2px 8px #0002}.circle-arrow svg{width:18px;height:18px;stroke-width:2.4}

/* Infrastructure */
.infrastructure{position:relative;min-height:260px;margin-top:-12px;color:#fff;text-align:center;background-image:url("assets/hero.jpg");background-position:center 62%;isolation:isolate}.infra-overlay,.facility-overlay,.contact-overlay{position:absolute;inset:0;background:#090d10d9;z-index:-1}.infra-content{padding:34px 0 26px}.infra-content .eyebrow{margin-bottom:10px}.infra-content h2{font-size:clamp(1.6rem,2.4vw,2.15rem);margin-bottom:30px}.stats{display:grid;grid-template-columns:repeat(4,1fr);max-width:930px;margin:auto;text-align:left}.stat{display:flex;align-items:center;justify-content:center;gap:15px;padding:0 18px;border-right:1px solid #ffffff59;min-height:74px}.stat:last-child{border:0}.stat>svg{color:#fff;width:55px;height:55px;flex:none;stroke-width:1.7}.stat strong{display:block;font-size:1.9rem;line-height:1}.stat b{display:block;font-size:1.08rem;line-height:1.08;letter-spacing:-.03em}.stat small{display:block;margin-top:10px;font-size:.56rem;line-height:1.4;letter-spacing:.12em}

/* Family story */
.story{position:relative;min-height:365px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;overflow:hidden;background:linear-gradient(90deg,#fff 46%,#fafafa 100%)}.story-photo{min-height:365px;background:url("assets/historia-frente-san-cayetano.jpg") center/cover no-repeat}.story-copy{align-self:center;max-width:610px;padding:42px 10vw 42px 5vw}.story-copy .eyebrow{margin-bottom:12px}.story-copy h2{margin-bottom:17px;font-size:clamp(1.7rem,2.5vw,2.35rem)}.story-copy p:not(.eyebrow){font-size:.9rem;line-height:1.55;color:#4f5356;margin-bottom:13px}.story-copy .button{margin-top:8px}.story-note{position:absolute;left:4%;top:34%;text-shadow:0 1px 4px #0008}.story-note .scribble{width:77px}.family-note{position:absolute;right:3.8%;bottom:8%;color:#24272a;font-size:1rem;transform:rotate(-8deg)}.family-note .scribble{margin-left:8px}

/* Facilities */
.facilities{position:relative;color:#fff;min-height:388px;background-image:url("assets/hero.jpg");background-position:center 68%;isolation:isolate}.facility-overlay{background:#080d10cf}.facility-content{padding:38px 0 34px;text-align:center}.facility-content>.eyebrow{margin-bottom:8px}.facility-content h2{font-size:clamp(1.7rem,2.6vw,2.35rem);margin-bottom:27px}.facility-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;text-align:left}.facility-card{overflow:hidden;border-radius:12px;background:#fff;color:#141719;box-shadow:0 6px 18px #0003}.facility-card>img{width:100%;height:125px;object-fit:cover}.facility-card>div{position:relative;padding:13px 42px 15px 16px;min-height:83px}.facility-card h3{font-size:1rem;margin:0 0 3px;letter-spacing:-.02em}.facility-card p{font-size:.78rem;line-height:1.35;color:#5e6265;margin:0}.facility-card a{position:absolute;right:13px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;background:var(--red);display:grid;place-items:center;color:#fff}.facility-card a svg{width:17px;height:17px}

/* Contact and footer */
.contact{position:relative;color:#fff;min-height:188px;background-image:url("assets/auto.jpg");background-size:auto 100%;background-position:left center;background-color:#9b030d;background-attachment:scroll;isolation:isolate}.contact-overlay{background:linear-gradient(90deg,#84000dbb 0%,#83000beF 28%,#91000c 100%)}.contact-content{min-height:188px;display:grid;grid-template-columns:1fr 245px;align-items:center;gap:32px;padding-block:25px}.contact-copy .eyebrow{margin-bottom:8px}.contact-copy h2{font-size:clamp(1.8rem,2.7vw,2.55rem);margin-bottom:8px}.contact-copy>p:last-child{margin:0;font-size:.95rem}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.contact-actions .button{width:100%;margin-bottom:3px}.contact-detail{display:flex;align-items:center;gap:11px;font-size:.85rem}.contact-detail svg{width:17px;height:17px;fill:#fff}.site-footer{background:#101518;color:#fff}.footer-main{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand-footer .brand-copy{color:#fff}.brand-footer .brand-gear{fill:#fff;stroke:#fff}.brand-footer .brand-gear circle{fill:#101518;stroke:#101518}.footer-nav{gap:clamp(14px,2vw,28px)}.footer-nav a{font-size:.76rem}.footer-note{font-family:"Segoe Print","Bradley Hand",cursive;font-size:.75rem;font-style:italic;line-height:1.15;text-align:center;transform:rotate(-7deg);margin:0}.footer-note .scribble{width:52px;height:7px;margin:3px auto 0}.copyright{text-align:center;border-top:1px solid #ffffff17;color:#9da2a4;padding:10px 16px;font-size:.65rem}

@media(min-width:1500px){.hero-content{padding-top:112px}.hero{height:550px}.services-panel{margin-top:-50px}}
@media(max-width:1050px){:root{--wrap:min(1200px,calc(100% - 6vw))}.header-inner{width:calc(100% - 6vw);gap:15px}.brand-gear{width:40px;height:40px}.brand-copy{font-size:.69rem}.brand-copy b{font-size:.95rem}.desktop-nav{gap:17px}.desktop-nav a{font-size:.75rem}.header-cta{font-size:.75rem;padding:0 12px}.services-panel{padding:24px 22px}.service-grid,.facility-grid{gap:12px}.service-card{padding-inline:13px}.service-card>img{width:calc(100% + 26px);margin-inline:-13px}.service-card h3{font-size:.9rem}.service-card>p{font-size:.75rem}.facility-card>img{height:105px}.facility-card h3{font-size:.9rem}.story-copy{padding-right:7vw}}
@media(max-width:760px){:root{--wrap:calc(100% - 36px)}html{scroll-padding-top:16px}.site-header{height:66px}.header-inner{width:calc(100% - 30px);gap:10px}.brand{gap:5px}.brand-gear{width:38px;height:38px}.brand-copy{font-size:.64rem}.brand-copy b{font-size:.86rem}.brand-copy small{font-size:.42rem}.desktop-nav{display:none}.header-cta{margin-left:auto;min-height:40px;font-size:.7rem;gap:6px;padding:0 10px}.header-cta>svg{font-size:16px}.header-cta .arrow{display:none}.mobile-menu{display:block;position:relative;order:3}.mobile-menu summary{list-style:none;width:36px;height:36px;border:1px solid #ddd;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{width:17px;height:2px;background:#24282a}.mobile-menu[open] .main-nav{position:absolute;right:0;top:45px;width:210px;background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;align-items:stretch;gap:0}.mobile-menu .main-nav{display:none}.main-nav a{padding:11px 9px;border-bottom:1px solid #eee;font-size:.9rem}.main-nav a:last-child{border:0}.hero{height:540px;background-position:56% center;background-attachment:scroll}.hero-shade{background:linear-gradient(90deg,#05080adb 0%,#05080aba 55%,#05080a4a),linear-gradient(0deg,#05080a42,transparent)}.hero-content{padding-top:88px}.hero .eyebrow{font-size:.58rem;letter-spacing:.16em;margin-bottom:18px}.hero h1{font-size:clamp(2.7rem,11vw,4.25rem)}.hero-lede{max-width:450px;font-size:1rem}.desktop-only{display:none}.hero-actions{flex-wrap:wrap}.hero-actions .button{font-size:.78rem;min-height:45px;padding-inline:13px}.hero-note{right:8%;bottom:28px;font-size:.9rem}.services-panel{margin-top:-24px;padding:24px 17px 19px;border-radius:13px}.section-intro{display:block;margin:0 2px 17px}.section-intro .eyebrow{font-size:.61rem;margin-bottom:9px}.section-intro h2{font-size:1.55rem;max-width:430px}.intro-copy{border:0;padding:0;margin-top:10px;font-size:.8rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.service-card{min-height:237px;padding:13px 12px 0;border-radius:10px}.service-heading{gap:8px;align-items:flex-start;min-height:40px}.service-icon{width:30px;height:30px}.service-card h3{font-size:.83rem}.service-card>p{font-size:.72rem;line-height:1.38;margin:9px 0 7px}.service-card>img{width:calc(100% + 24px);height:94px;margin-inline:-12px}.circle-arrow{width:30px;height:30px;right:8px;bottom:8px}.infrastructure{margin-top:-7px;min-height:auto;background-attachment:scroll}.infra-content{padding-block:30px 27px}.infra-content h2{font-size:1.5rem;margin-bottom:22px}.stats{grid-template-columns:repeat(2,1fr);gap:17px 0}.stat{justify-content:flex-start;padding:0 9px;gap:11px;min-height:75px}.stat:nth-child(2){border:0}.stat>svg{width:42px;height:42px}.stat strong{font-size:1.55rem}.stat b{font-size:.94rem}.stat small{font-size:.5rem;margin-top:6px}.story{grid-template-columns:1fr;min-height:auto}.story-photo{min-height:270px;background-position:center 50%}.story-copy{padding:29px 22px 34px;max-width:none}.story-copy h2{font-size:1.75rem}.story-copy p:not(.eyebrow){font-size:.83rem}.story-note{top:31px;left:17px;font-size:.9rem}.family-note{right:16px;bottom:13px;font-size:.82rem}.facilities{min-height:auto;background-attachment:scroll}.facility-content{padding-block:31px}.facility-content h2{font-size:1.65rem;margin-bottom:20px}.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.facility-card>img{height:115px}.facility-card>div{padding:11px 36px 12px 11px;min-height:79px}.facility-card h3{font-size:.86rem}.facility-card p{font-size:.7rem}.facility-card a{right:8px;width:28px;height:28px}.contact{min-height:auto;background-size:auto 100%;background-position:left center}.contact-content{min-height:auto;grid-template-columns:1fr;gap:20px;padding-block:27px}.contact-copy h2{font-size:1.75rem}.contact-copy>p:last-child{font-size:.84rem}.contact-actions{max-width:320px}.contact-actions .button{max-width:290px}.site-footer .footer-main{padding-block:20px;display:grid;grid-template-columns:1fr auto;gap:18px 10px}.brand-footer .brand-gear{width:37px;height:37px}.footer-nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:8px;flex-wrap:wrap}.footer-nav a{font-size:.68rem}.footer-note{display:none}.copyright{font-size:.59rem}}
@media(max-width:390px){.brand-copy{font-size:.57rem}.brand-copy b{font-size:.77rem}.brand-gear{width:33px;height:33px}.header-cta{font-size:.65rem}.header-cta>svg{display:none}.service-card{min-height:250px}.service-card h3{font-size:.78rem}.service-card>p{font-size:.68rem}.facility-card>img{height:95px}.stat{padding-inline:5px;gap:7px}.stat>svg{width:35px;height:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Scroll the photo layer independently so parallax also works in embedded browsers. */
.parallax{position:relative;overflow:hidden;background-image:none;background-attachment:scroll}
.parallax::before{content:"";position:absolute;z-index:-2;inset:-200px 0;background-image:var(--parallax-image);background-position:center;background-repeat:no-repeat;background-size:cover;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.05);will-change:transform}
.hero{--parallax-image:url("assets/hero.jpg")}
.infrastructure{position:relative;--parallax-image:url("assets/hero.jpg")}
.facilities{position:relative;--parallax-image:url("assets/hero.jpg")}
.contact{position:relative;--parallax-image:url("assets/auto.jpg");background-color:#94000c}
.contact::before{background-position:left center;background-size:auto 100%}
.story-family-photo{position:absolute;z-index:0;right:0;top:0;width:19%;height:74%;background:url("assets/historia-familia.jpg") center/cover no-repeat;opacity:.48;pointer-events:none;mask-image:linear-gradient(90deg,transparent,#000 32%)}
.story-copy{position:relative;z-index:1}
.family-note{z-index:2}
@media(max-width:760px){.story-family-photo{top:auto;bottom:0;width:36%;height:185px;opacity:.42}}
@media(prefers-reduced-motion:reduce){.parallax::before{transform:none;will-change:auto}}
@media(max-width:600px) and (orientation:portrait){.service-grid,.facility-grid{grid-template-columns:1fr}.service-card{min-height:222px}.stats{grid-template-columns:1fr;max-width:420px;gap:0}.stat{min-height:72px;padding:11px 18px;border-right:0;border-bottom:1px solid #ffffff59}.stat:nth-child(2){border-bottom:1px solid #ffffff59}.stat:last-child{border-bottom:0}}
.brand-logo{display:block;width:280px;max-height:54px;height:auto;object-fit:contain}
.brand-footer .brand-logo{width:225px;max-height:46px}
@media(max-width:1050px){.brand-logo{width:220px}.brand-footer .brand-logo{width:190px}}
@media(max-width:900px){.brand-logo{width:170px}.brand-footer .brand-logo{width:170px}}
@media(max-width:760px){.brand-logo,.brand-footer .brand-logo{width:160px;max-height:42px}}
@media(max-width:390px){.brand-logo,.brand-footer .brand-logo{width:142px;max-height:38px}}
