/* Avenir LT Pro: supplied by the user in avenir-lt-pro.zip. */
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProLight.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProLightOblique.woff2') format('woff2');font-weight:300;font-style:italic;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProBook.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProBookOblique.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProMedium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProMediumOblique.woff2') format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProHeavy.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProHeavyOblique.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProBlack.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Avenir LT Pro';src:url('assets/fonts/AvenirLTProBlackOblique.woff2') format('woff2');font-weight:900;font-style:italic;font-display:swap}
:root{--ink:#132423;--paper:#f7f7f2;--yellow:#deed93;--muted:#65706b;--line:#d9dfd5;--font:'Avenir LT Pro',Avenir,'Avenir Next',Arial,sans-serif}
body{font-family:var(--font);font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3,.brand b,.hero-stamp strong,.history .year,.sector-list span,footer .brand,.folio,.stat strong{font-family:var(--font);text-transform:none}button{border-radius:7px;transition:background .25s,transform .25s,box-shadow .25s}button:hover{filter:none;transform:translateY(-2px)}a:hover{filter:none;color:#83943e}.yellow{font-weight:700;box-shadow:0 3px 0 #0000000a}.yellow:hover{background:#ecf6bc;box-shadow:0 8px 25px #071b171a}.demo{background:#0e1d1b;font-size:9px;padding:7px 5%;letter-spacing:1.1px}header{padding:20px 5%;background:#f7f7f2f2;border-bottom:1px solid #d9dfd570}header .brand{font-size:8px;letter-spacing:1.2px}.brand b{font-size:23px;letter-spacing:2px}.brand img{width:58px;height:45px;border-radius:3px}nav{font-size:11px;gap:24px}nav button{font-size:11px;padding:13px 18px}nav button[data-action=track]{border:0}.hero{min-height:740px;height:calc(100svh - 122px);max-height:1000px;margin:0 18px;border-radius:12px;background:#132423;isolation:isolate;padding:0}.hero-photo{inset:-18% -3%;opacity:.68;background:linear-gradient(90deg,#102522ed 0%,#122a2399 48%,#12251c11 100%),url('assets/tanques.jpg') center 55%/cover;transform:translate3d(0,0,0) scale(1.04);will-change:transform}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#102522d9,transparent 45%);pointer-events:none}.hero-photo{z-index:-2}.hero-content{max-width:1000px;width:auto;grid-column:1/3;padding:100px 6% 130px;align-self:center}.hero .eyebrow{font-size:10px;letter-spacing:2px;color:#dce4d7;margin-bottom:32px}.eyebrow:before{height:5px;width:5px;border-radius:50%;margin-right:12px}h1{font-size:clamp(60px,6.5vw,96px);line-height:1.06;font-weight:400;letter-spacing:-5px;max-width:830px}h1 em{font-style:normal;font-weight:400;color:var(--yellow)}.hero p{font-size:15px;line-height:1.8;max-width:360px;color:#d7dfd5;margin:30px 0 34px}.actions{gap:16px;align-items:center}.actions button,.actions .outline{padding:17px 24px!important;font-size:12px;border-radius:7px}.hero .outline{border:none!important;background:#ffffff0d;color:white}.hero-stamp{right:6%;bottom:58px;display:flex;align-items:center;gap:18px;border:0;background:#ffffff0a;backdrop-filter:blur(16px);padding:20px 25px;border-radius:10px;max-width:300px;font-size:9px;line-height:1.8;letter-spacing:1.8px}.hero-stamp strong{font-size:40px;letter-spacing:-2px;font-weight:400}.hero-bottom{position:absolute;left:6%;bottom:44px;color:#c7d3c7;font-size:9px;letter-spacing:2px;display:flex;align-items:center;gap:15px}.hero-bottom span{display:grid;place-items:center;border:1px solid #ffffff55;border-radius:50%;width:35px;height:48px;font-size:18px}.strip{margin:0 5%;padding:30px 0;font-size:9px;color:#57665d;letter-spacing:1.8px}.strip span{color:#95a756}section{padding:115px 7%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#6d7b62;margin-bottom:22px}h2{font-weight:400;font-size:clamp(36px,4.2vw,62px);line-height:1.12;letter-spacing:-2.5px}.section-top{margin-bottom:55px;align-items:center}.section-top p{font-size:13px;max-width:300px;line-height:1.9}.services{gap:16px;border:0}.service{padding:30px;min-height:275px;border:1px solid #dde3d9;background:#eef0e8;border-radius:12px;position:relative;overflow:hidden;transition:background .35s,box-shadow .35s,transform .35s}.service:hover{background:#e6eddb;box-shadow:0 20px 45px #172e2010;transform:translateY(-7px)}.number{margin-bottom:45px;font-size:10px;color:#77856e}.number span{border:1px solid #c7d0bd;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:15px;margin-top:-8px}.service h3{font-size:21px;line-height:1.2;font-weight:500;letter-spacing:-.6px;max-width:230px}.service p{font-size:12px;line-height:1.8;max-width:260px;margin:17px 0}.service button{font-size:11px;font-weight:500}.history{margin:0 18px;padding:90px 6%;background:#e9ede2;border-radius:14px;gap:8%;overflow:hidden}.history-media{height:580px;border-radius:140px 12px 12px 12px;overflow:hidden;position:relative;isolation:isolate}.history-media img{position:absolute;inset:-15% 0;width:100%;height:130%;object-fit:cover;filter:saturate(.45);will-change:transform}.history-media:after{content:'EL TALLER / HERMOSILLO';position:absolute;left:28px;bottom:26px;color:white;font-size:9px;letter-spacing:2px;padding:12px 16px;background:#13242385;backdrop-filter:blur(10px);border-radius:30px}.history p{font-size:13px;line-height:1.9;max-width:380px;margin:25px 0}.history .year{font-size:80px;letter-spacing:-5px;font-weight:400;border-color:#c6cebd;margin-top:35px;padding-top:22px}.year small{font-family:var(--font);font-size:9px;letter-spacing:1.7px;line-height:1.8}.sectors{background:transparent;color:var(--ink);position:relative}.sectors h2{max-width:700px}.sector-list{margin-top:50px;display:grid;grid-template-columns:1fr 1fr;border-color:var(--line);column-gap:65px}.sector-list span{font-size:24px;letter-spacing:-.5px;border-color:var(--line);padding:24px 0;margin:0;display:flex;justify-content:space-between}.gallery{grid-template-columns:1.25fr 1fr 1fr;gap:22px;align-items:start}.gallery button{border-radius:0;overflow:visible;background:transparent}.gallery button:nth-child(2){margin-top:70px}.gallery button:nth-child(3){margin-top:140px}.gallery .gallery-frame{display:block;padding:0;overflow:hidden;border-radius:12px;position:relative;height:360px}.gallery button:first-child .gallery-frame{height:470px}.gallery img{height:125%;width:100%;position:absolute;top:-12%;left:0;object-fit:cover;filter:saturate(.5);will-change:transform;transition:filter .5s}.gallery button:hover img{filter:saturate(.85)}.gallery span{font-size:11px;letter-spacing:0;padding:19px 0;color:#55634e}.gallery button:hover{transform:none}.posts{gap:18px}.post{background:#eef0e8;border:1px solid #dfe4d8;border-radius:12px;padding:32px;min-height:230px}.post small{font-size:9px;letter-spacing:1px}.post h3{font-size:23px;letter-spacing:-.7px;line-height:1.3;font-weight:500;margin:25px 0 16px}.post p{font-size:12px;color:#63705e}.contact{margin:0 18px 18px;border-radius:14px;padding:85px 6%;background:#dfeaaf;grid-template-columns:1.3fr 1fr;align-items:center}.contact h2{font-size:clamp(38px,4vw,60px);max-width:650px;line-height:1.15}.contact .eyebrow:before{background:#526a3c}.contact strong{font-size:10px;letter-spacing:2px}.contact p{font-size:12px;color:#546342}.contact a{font-size:15px;font-weight:500;margin:18px 0}.contact button{padding:18px 25px;font-size:12px}.contact>div:last-child{padding-left:50px;border-left:1px solid #b8c78e}footer{padding:55px 7%;gap:35px;background:#132423}footer .brand{font-size:25px;letter-spacing:2px}footer .brand small{font-size:8px;letter-spacing:1px}footer p{font-size:12px}dialog{border-radius:16px;padding:45px;box-shadow:0 30px 100px #0004}dialog h2{font-size:35px;letter-spacing:-1.5px}input,select,textarea{border-radius:6px;border-color:#c7d0c2}input:focus,select:focus,textarea:focus{border-color:#758b51}.admin h1{font-size:50px;letter-spacing:-2px}.stats{gap:18px}.stat{border:1px solid var(--line);border-radius:12px;background:#edf0e7}.stat strong{font-size:38px;letter-spacing:-1px}.table-wrap{border-radius:12px;border:1px solid var(--line)}.badge{border-radius:30px;background:#e2ebd2}.result{border-radius:9px}.folio{font-size:30px}.admin-tabs button{border-radius:30px}#notice{border-radius:12px;box-shadow:0 10px 40px #0002}
/* Elements remain readable if JavaScript or IntersectionObserver is unavailable. */
.reveal{animation:none}.motion-ready{opacity:0;transform:translate3d(0,38px,0);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.motion-ready.is-visible{opacity:1;transform:translate3d(0,0,0)}.hero-content>*{animation:heroEnter 1.15s cubic-bezier(.2,.7,.2,1) both}.hero-content>:nth-child(2){animation-delay:.13s}.hero-content>:nth-child(3){animation-delay:.26s}.hero-content>:nth-child(4){animation-delay:.39s}@keyframes heroEnter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){section:not(.hero){padding-left:max(7%,calc((100vw - 1400px)/2));padding-right:max(7%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){nav{gap:12px}.hero-stamp{display:flex;max-width:250px}.hero-content{padding-left:6%}.hero h1{font-size:76px}.history-media{height:480px}.gallery .gallery-frame{height:290px}.gallery button:first-child .gallery-frame{height:390px}}
@media(max-width:800px){.hero{min-height:700px}.hero h1{font-size:65px;letter-spacing:-3px}.hero-stamp{display:none}.services{grid-template-columns:1fr 1fr}.history{gap:35px}.history-media{height:430px}.history h2{font-size:35px}.history .year{font-size:65px}.gallery{gap:15px}.gallery .gallery-frame{height:230px}.gallery button:first-child .gallery-frame{height:300px}.gallery button:nth-child(2){margin-top:40px}.gallery button:nth-child(3){margin-top:80px}.contact>div:last-child{padding-left:25px}.posts{grid-template-columns:1fr 1fr}}
@media(max-width:650px){header{padding:13px 5%}.brand img{width:48px;height:40px}.brand b{font-size:21px}.hero{margin:0 8px;border-radius:10px;height:auto;min-height:730px}.hero-photo{inset:-16% -20%;opacity:.65;background-position:60% center}.hero-content{padding:90px 7% 150px;align-self:start}.hero .eyebrow{font-size:8px;letter-spacing:1.5px;max-width:260px;line-height:1.8;margin-bottom:27px}.hero h1{font-size:clamp(47px,11.5vw,70px);letter-spacing:-2.9px;line-height:1.12}.hero p{font-size:12px;max-width:260px;line-height:1.9}.actions{align-items:start;flex-direction:column;gap:10px}.actions button,.actions .outline{padding:16px 20px!important;font-size:11px}.hero-bottom{left:7%;bottom:30px;font-size:8px}.strip{font-size:8px;letter-spacing:.4px;gap:12px;line-height:1.8;padding:25px 0}.strip span{display:none}section{padding:75px 7%}.section-top{margin-bottom:32px}.section-top p{font-size:12px;margin-top:24px}h2{font-size:36px;letter-spacing:-1.8px}.services{grid-template-columns:1fr;gap:12px}.service{min-height:240px;padding:28px}.number{margin-bottom:30px}.service h3{font-size:23px;max-width:none}.service p{max-width:none}.history{margin:0 8px;padding:40px 6%;gap:35px;grid-template-columns:1fr}.history-media{height:380px;border-radius:90px 10px 10px 10px}.history h2{font-size:36px}.history .year{font-size:72px}.sector-list{grid-template-columns:1fr;gap:0;margin-top:35px}.sector-list span{font-size:23px;padding:22px 0}.gallery{grid-template-columns:1fr;gap:22px}.gallery button:nth-child(n){margin-top:0}.gallery button .gallery-frame,.gallery button:first-child .gallery-frame{height:340px}.gallery span{padding:14px 0}.posts{grid-template-columns:1fr}.post{min-height:200px}.contact{grid-template-columns:1fr;padding:55px 7%;margin:0 8px 8px;gap:40px}.contact h2{font-size:36px}.contact>div:last-child{padding:30px 0 0;border-left:0;border-top:1px solid #b8c78e}.contact a{font-size:15px}footer{padding:40px 7%;gap:20px}.admin{padding:35px 5%}.admin h1{font-size:37px}.stat{padding:18px}.stat strong{font-size:32px}.admin-tabs{gap:7px}.admin-tabs button{padding:11px 13px;font-size:12px}dialog{padding:38px 23px}.hero-content>:nth-child(2){animation-delay:.1s}.motion-ready{transform:translate3d(0,24px,0)}}
@media(prefers-reduced-motion:reduce){.motion-ready{opacity:1!important;transform:none!important;transition:none!important}.hero-content>*{animation:none!important}.hero-photo,.history-media img,.gallery img{transform:none!important}.service:hover,button:hover{transform:none}html{scroll-behavior:auto}}
.hero-bottom{gap:16px;color:#d9e4d4;transition:color .25s}.hero-bottom .scroll-orb{width:48px;height:48px;flex:0 0 48px;aspect-ratio:1;border:1px solid #dfeaaf55;border-radius:50%;background:#ffffff06;display:grid;place-items:center;box-shadow:inset 0 0 0 4px #ffffff02;transition:background .3s,border-color .3s,box-shadow .3s}.scroll-orb svg{width:20px;height:20px;display:block;transition:transform .3s}.hero-bottom:hover,.hero-bottom:focus-visible{color:#deed93}.hero-bottom:hover .scroll-orb,.hero-bottom:focus-visible .scroll-orb{background:#deed9315;border-color:#deed93;box-shadow:0 0 0 5px #deed9308}.hero-bottom:hover svg{transform:translateY(3px)}@media(prefers-reduced-motion:reduce){.hero-bottom:hover svg{transform:none}}
.post-photos{display:grid;grid-template-columns:1fr;gap:6px;margin:-12px -12px 24px;border-radius:8px;overflow:hidden}.post-photos img{display:block;width:100%;height:220px;object-fit:cover}.post-photos.multi-photo{grid-template-columns:1fr 1fr}.post-photos.multi-photo img{height:150px}.image-uploader{border:1px dashed #a9b79a;background:#edf0e6;border-radius:10px;padding:18px;margin:20px 0}.image-uploader input[type=file]{background:transparent;border:0;padding:10px 0;margin-bottom:0;font-size:12px}.image-uploader input::file-selector-button{border:1px solid #bcc7ac;border-radius:6px;background:white;color:#132423;padding:10px 12px;margin-right:12px;font:inherit;cursor:pointer}.image-previews{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.image-preview{background:white;border:1px solid #d9dfd5;border-radius:8px;padding:10px}.image-preview img{width:100%;height:130px;object-fit:cover;border-radius:5px;margin-bottom:10px}.image-preview label{font-size:10px}.image-preview input{font-size:11px;padding:8px;margin:5px 0 10px}.image-preview button{padding:7px 10px;font-size:11px}.image-uploader [role=status]{font-size:12px;line-height:1.6;color:#526442}button:disabled{opacity:.5;cursor:wait;transform:none}@media(max-width:450px){.image-previews{grid-template-columns:1fr}.post-photos img{height:200px}}

/* Typography inspired by the broad, heavy oblique SSG lettering. */
@font-face{font-family:Archivo;src:url('assets/fonts/Archivo.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap}
@font-face{font-family:Archivo;src:url('assets/fonts/Archivo-Italic.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap}
:root{--font:Archivo,Arial,sans-serif}
body{font-weight:400}
h1,h2,h3,.brand b{font-family:Archivo,Arial,sans-serif;font-style:italic;font-weight:900;text-transform:uppercase}
.hero h1{font-size:clamp(58px,6.6vw,100px);line-height:1.02;letter-spacing:-3.5px;font-stretch:95%;max-width:900px}
.hero h1 em{font-style:inherit;font-weight:inherit}
h2{font-size:clamp(34px,3.8vw,57px);line-height:1.06;letter-spacing:-1.8px;font-stretch:95%}
.service h3{font-size:23px;line-height:1.15;letter-spacing:-.6px;font-stretch:95%}
.post h3{font-size:24px;line-height:1.15;letter-spacing:-.5px}
.brand b{font-size:24px;letter-spacing:.5px}
button,.actions .outline{font-weight:700}
.yellow,.contact button{font-style:italic;font-weight:800}
.eyebrow{font-weight:700}
.hero-stamp strong,.history .year{font-weight:900;font-style:italic;letter-spacing:-3px}
.sector-list span{font-weight:700;font-style:italic}
.admin h1{font-weight:900;font-size:48px}
dialog h2{font-size:32px;line-height:1.15}
@media(max-width:1100px){.hero h1{font-size:76px}}
@media(max-width:800px){.hero h1{font-size:64px}.history h2{font-size:34px}}
@media(max-width:650px){.hero h1{font-size:clamp(43px,11vw,65px);letter-spacing:-1.7px;line-height:1.05}.hero-content{padding-right:6%}h2,.history h2,.contact h2{font-size:34px;letter-spacing:-1px}.service h3{font-size:23px}.brand b{font-size:21px}.admin h1{font-size:36px}dialog h2{font-size:29px}}
.quote-attachments{padding:22px 0;margin:10px 0 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.quote-attachments h3{font-size:20px;letter-spacing:-.3px;margin-bottom:16px}.quote-attachments h3 span{opacity:.5}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #d8dfcf;background:#fff;border-radius:8px;padding:13px 15px;margin:8px 0}.attachment-row>div{min-width:0}.attachment-row strong{display:block;font-size:12px;overflow-wrap:anywhere;font-weight:500}.attachment-row small{display:block;font-size:10px;color:#6b7764;margin-top:5px}.attachment-row button{flex-shrink:0;font-size:11px;padding:9px 12px;background:#edf1e4;border:0}#quote-file-status{font-size:12px;line-height:1.6;color:#526442}@media(max-width:450px){.attachment-row{align-items:start;flex-direction:column;gap:9px}}
dialog .quote-attachments{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;padding:22px 0;margin:16px 0 22px;text-align:left;columns:auto}dialog .quote-attachments h3{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;margin:0 0 16px;font-size:18px;line-height:1.3;font-style:normal;font-weight:700;letter-spacing:0;text-transform:none}dialog .quote-attachments p{max-width:none;width:auto;margin:10px 0;line-height:1.7}dialog .attachment-row{width:100%;max-width:100%}dialog .quote-attachments .hint{font-size:12px}
.post-highlight{outline:2px solid #92a75b;outline-offset:5px}.post button{margin:5px 5px 0 0;font-size:11px;padding:10px 12px}nav{gap:18px}@media(min-width:1101px){nav a{font-size:11px}}
