@font-face{font-family:HelveticaNeue;src:url('../font/HelveticaNeueLTStd-Roman.otf')}@font-face{font-family:HelveticaNeue;src:url('../font/HelveticaNeueLTStd-Bd.otf');font-weight:700}:root{--blue:#003b8d;--deep:#072d68;--sky:#eaf2fb;--red:#d83232;--ink:#182b43}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 HelveticaNeue,Arial,sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;object-fit:contain}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:var(--deep);color:#fff;font-size:13px}.topbar .container{display:flex;justify-content:space-between;padding:7px 0}.topbar a{color:#fff}header{background:white;position:sticky;top:0;z-index:20;box-shadow:0 2px 12px #1232}.head{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:82px}.brand img{width:148px;max-height:65px}.head nav{display:flex;align-items:center;gap:19px}.head nav a{font-size:14px;font-weight:700;color:var(--deep)}.head nav .active{color:var(--red)}.nav-quote,.button{display:inline-block;background:var(--red);border:0;border-radius:3px;padding:12px 22px;color:#fff!important;font:700 15px HelveticaNeue,Arial;cursor:pointer}.button:hover,.nav-quote:hover{background:#b82025;text-decoration:none}#menu-toggle{display:none;background:none;border:0;font-size:29px;color:var(--blue)}h1,h2,h3{line-height:1.15}h1{font-size:clamp(38px,6vw,72px);margin:14px 0}h2{font-size:clamp(29px,3.5vw,42px);margin:9px 0 20px;color:var(--deep)}h3{font-size:21px;color:var(--deep)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700;color:var(--red)}.hero{position:relative;height:min(68vw,620px);min-height:420px;overflow:hidden}.slide{display:none;background-size:cover;background-position:center;height:100%;align-items:center;color:white}.slide.active{display:flex}.slide .container{padding:30px 0}.slide h1{max-width:620px;text-transform:uppercase}.slide p{font-size:21px;max-width:600px}.slide .eyebrow,.page-banner .eyebrow{color:#fff}.dots{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);display:flex;gap:10px}.dots button{border:2px solid white;background:transparent;border-radius:50%;width:14px;height:14px;cursor:pointer}.dots .current{background:white}.page-banner{min-height:330px;background-position:center;background-size:cover;display:flex;align-items:center;color:white}.page-banner .container{padding:55px 0}.page-banner h1{font-size:clamp(38px,5vw,58px)}.page-banner p{font-size:19px;max-width:600px}.section{padding-top:72px;padding-bottom:72px}.section-heading{text-align:center;max-width:750px;margin:0 auto 35px}.section-heading p{font-size:18px}.grid{display:grid;gap:25px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:white;border-radius:5px;box-shadow:0 6px 24px #082e6215;overflow:hidden}.card>img{width:100%;height:240px;object-fit:cover}.card-body{padding:24px}.card-body p{margin-top:0}.text-link{font-weight:700}.product>img{object-fit:contain;background:#f3f7fb;padding:26px;height:300px}.alert{padding:20px 24px;margin-top:28px;background:#eff5fc;border-left:5px solid var(--blue)}.blue-block{background:var(--blue);color:#fff;padding:65px 0}.blue-block h2,.blue-block .eyebrow{color:#fff}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px}.split img{max-height:360px;justify-self:center}.light{background:#fff;color:var(--blue)!important}.cta{text-align:center;background:#e9f2fc;padding:65px 0}.cta p{font-size:19px}.timeline{max-width:850px;margin:auto}.timeline article{display:grid;grid-template-columns:170px 1fr;gap:30px;align-items:center;border-bottom:1px solid #dce6f1;padding:25px 0}.timeline img{width:160px;max-height:150px}.timeline strong{font-size:29px;color:var(--blue)}.intro{max-width:850px}.intro p{font-size:19px}.info{padding:25px;background:var(--sky)}.info img{height:65px;object-fit:contain}.narrow{max-width:760px}.center{text-align:center;min-height:45vh}.narrow form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.narrow label{display:block;font-weight:700;font-size:14px}.narrow input,.narrow select,.narrow textarea{display:block;width:100%;border:1px solid #b9c7da;border-radius:3px;padding:12px;margin-top:6px;font:inherit}.narrow .full-field,.narrow .small{grid-column:1/-1}.narrow button{justify-self:start}.small{font-size:13px;color:#536274}.trap{position:absolute;left:-9999px}footer{background:#082a60;color:#dceaff;padding:50px 0 15px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid img{background:white;padding:8px}.footer-grid h3{color:white}.footer-grid a{display:block;color:#dceaff;margin:8px 0}.footnote{border-top:1px solid #ffffff30;margin-top:40px;padding-top:12px;font-size:12px}.chat-launch{position:fixed;right:22px;bottom:22px;z-index:50;border:0;border-radius:50px;background:var(--blue);color:white;padding:16px 20px;box-shadow:0 5px 20px #0004;font-weight:700;cursor:pointer}.chat-panel{position:fixed;right:22px;bottom:85px;z-index:50;width:min(390px,calc(100vw - 30px));height:490px;background:white;box-shadow:0 8px 30px #0004;border-radius:12px;display:none;flex-direction:column;overflow:hidden}.chat-panel.open{display:flex}.chat-head{background:var(--blue);color:white;padding:15px;display:flex;justify-content:space-between}.chat-head button{background:none;border:0;color:white;font-size:24px;cursor:pointer}.chat-messages{flex:1;overflow-y:auto;padding:15px;background:#f5f8fc}.chat-msg{max-width:90%;margin:10px 0;padding:10px 13px;border-radius:12px;background:#e5ecf5;white-space:pre-wrap}.chat-msg.user{margin-left:auto;background:#d6eaff}.chat-actions{padding:12px;border-top:1px solid #dde5ee;display:flex;gap:6px;flex-wrap:wrap}.chat-actions button{border:1px solid var(--blue);color:var(--blue);background:white;border-radius:5px;padding:6px 9px;cursor:pointer}.chat-input{display:flex;border-top:1px solid #dde5ee;padding:10px;gap:8px}.chat-input input{flex:1;min-width:0;padding:10px;border:1px solid #bdc9d8}.chat-input button{background:var(--blue);color:white;border:0;padding:10px 12px;cursor:pointer}@media(max-width:900px){#menu-toggle{display:block}.head nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;flex-direction:column;align-items:stretch;padding:20px;box-shadow:0 8px 18px #1232}.head nav.open{display:flex}.head nav a{padding:8px}.three{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.two,.three,.split,.footer-grid{grid-template-columns:1fr}.hero{min-height:500px}.slide{background-position:58% center}.slide h1{font-size:46px}.page-banner{min-height:270px}.timeline article{grid-template-columns:95px 1fr;gap:15px}.timeline img{width:95px}.narrow form{grid-template-columns:1fr}.section{padding-top:48px;padding-bottom:48px}.topbar{font-size:11px}}
/* Página de cotización de cemento */
.landing-hero{background:linear-gradient(120deg,#e8f2fd,#fff 70%);overflow:hidden}.landing-layout{display:grid;grid-template-columns:1.18fr .82fr;align-items:center;gap:28px;min-height:575px;padding:55px 0}.landing-copy h1{color:var(--deep);font-size:clamp(42px,5vw,66px);max-width:650px}.landing-copy>p{font-size:20px;max-width:620px}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.button-outline{background:transparent;color:var(--blue)!important;border:2px solid var(--blue)}.button-outline:hover{background:var(--blue);color:white!important}.landing-points{display:flex;gap:14px;flex-wrap:wrap;color:var(--deep);font-size:14px;font-weight:700}.landing-visual{position:relative;display:grid;place-items:center;padding:25px;min-height:420px;background:radial-gradient(circle,#ffffff 15%,#bad5f3 75%,#e8f2fd 76%)}.landing-visual img{width:100%;max-height:420px;object-fit:contain;filter:drop-shadow(0 20px 18px #092b6240)}.landing-visual span{position:absolute;bottom:2px;background:var(--deep);color:white;padding:8px 16px;border-radius:30px;font-size:13px}.step-number{font-size:32px;font-weight:700;color:var(--red)}.landing-form-section{background:#eaf2fb;padding:75px 0}.landing-form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}.landing-form-layout>div>p{font-size:18px}.landing-note{background:white;padding:20px;border-left:4px solid var(--red);margin:30px 0}.landing-note p{margin-bottom:0;font-size:15px!important}.landing-form{display:grid;gap:16px;background:white;border-radius:7px;box-shadow:0 12px 38px #082e621c;padding:30px}.landing-form label{font-weight:700;font-size:14px}.landing-form input:not([type=checkbox]),.landing-form select,.landing-form textarea{display:block;width:100%;border:1px solid #b6c8de;border-radius:4px;padding:12px;margin-top:6px;font:inherit;background:white}.landing-form input:focus,.landing-form textarea:focus,.landing-form select:focus{outline:2px solid var(--blue);outline-offset:1px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.landing-consent{display:flex;align-items:flex-start;gap:9px;font-weight:400!important}.landing-consent input{margin-top:5px}.landing-form .button{justify-self:start}.landing-form .small{margin:0}.landing-end{display:flex;justify-content:space-between;align-items:center;gap:25px}@media(max-width:800px){.landing-layout,.landing-form-layout{grid-template-columns:1fr}.landing-layout{padding-top:45px}.landing-visual{min-height:320px}.landing-visual img{max-height:330px}.landing-end{display:block}}@media(max-width:550px){.form-pair{grid-template-columns:1fr}.landing-form{padding:20px}.landing-points{display:grid}.landing-hero h1{font-size:42px}}

/* Política anticorrupción */
.policy-hero{background:linear-gradient(110deg,rgba(3,32,78,.96),rgba(0,59,141,.84)),url('../img/home/banners/banner_3.jpg') center/cover;color:#fff;padding:75px 0}.policy-hero h1{font-size:clamp(38px,5vw,60px)}.policy-hero p{font-size:19px}.policy-layout{padding-top:45px;padding-bottom:80px;max-width:1000px}.policy-source{border-left:4px solid var(--red);background:#eef4fb;padding:5px 20px;margin-bottom:40px}.policy-copy{font-size:16px;line-height:1.7;overflow-wrap:anywhere}.policy-copy p{margin:12px 0}.policy-copy p.h1,.policy-copy h2{font-size:clamp(25px,3vw,37px);line-height:1.2;color:var(--deep);font-weight:700;margin:34px 0 14px}.policy-copy p.text-danger{color:#c5202b}.policy-copy .badge-title{display:inline-block;background:var(--blue);color:white;padding:5px 16px;margin-top:25px}.policy-copy .badge-title *{color:white!important;margin:0!important}.policy-copy ul{padding-left:26px}.policy-copy li{padding:3px 0}.policy-copy a{font-weight:700;text-decoration:underline}.policy-copy .row,.policy-copy .col-12,.policy-copy .mb-4,.policy-copy .w-100{max-width:100%}.policy-copy .border-bottom{border-bottom:2px solid #cfdae9;margin-top:25px}.policy-copy p.h1 + p.h1{margin-top:-8px}.policy-copy strong{font-weight:700}

.privacy-summary{background:#edf4fc;padding:24px 28px;margin-bottom:45px;border-left:4px solid var(--blue)}.privacy-summary h2{font-size:26px}.privacy-copy h2,.privacy-copy h3{color:var(--deep);margin-top:30px}.privacy-copy ol{padding-left:24px}.privacy-copy li{margin:8px 0}.privacy-copy p{max-width:100%}

.cement-price{display:grid;gap:3px;background:#fff0b5;border:2px solid #f6bb22;border-left:7px solid #c61f2d;border-radius:6px;padding:16px 19px;margin:16px 0 21px;box-shadow:0 8px 20px #7937001a}.cement-price-label{color:#8b251e;font-weight:800;font-size:13px;letter-spacing:.1em}.cement-price strong{color:#bf1427;font-size:clamp(28px,3vw,39px);line-height:1.15;font-weight:800}.cement-price small{font-size:17px;font-weight:700;color:#213c62}.cement-minimum{color:#102c59;font-weight:800;font-size:17px}

.footer-contact{font-style:normal;display:grid;gap:7px;font-size:14px;line-height:1.5;margin-top:17px;max-width:400px}.footer-contact a{display:inline;color:#fff;text-decoration:underline;text-underline-offset:3px}.footer-contact a:hover{color:#fff4bd}

/* Ajustes para móvil, escritorio y navegadores actuales de macOS */
html{overflow-x:hidden}
body{min-width:280px;overflow-x:hidden}
.grid>* , .split>* , .landing-layout>* , .landing-form-layout>* , .footer-grid>* , .form-pair>* {min-width:0}
.footer-contact span{overflow-wrap:anywhere}
.narrow input,.narrow select,.narrow textarea,.landing-form input:not([type=checkbox]),.landing-form select,.landing-form textarea,.chat-input input{font-size:16px;min-height:44px}
button,.button,.nav-quote{touch-action:manipulation}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f4b825;outline-offset:3px}
.chat-panel{height:min(490px,calc(100vh - 105px));height:min(490px,calc(100dvh - 105px))}
.chat-launch{bottom:max(16px,env(safe-area-inset-bottom));right:max(16px,env(safe-area-inset-right))}
.chat-panel{bottom:calc(76px + env(safe-area-inset-bottom));right:max(15px,env(safe-area-inset-right))}
.dots button{width:40px;height:40px;border:0;background:transparent;display:grid;place-items:center;padding:0}
.dots button::after{content:"";display:block;width:12px;height:12px;border:2px solid #fff;border-radius:50%}
.dots button.current::after{background:#fff}
@media(max-width:900px){.head nav{max-height:calc(100vh - 82px);max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain}.head nav a{min-height:44px;display:flex;align-items:center}.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.hero{height:auto;min-height:0}.slide{min-height:530px;padding:55px 0 75px}.slide .container{padding:0}.slide h1{font-size:clamp(38px,10vw,46px)}.slide p{font-size:18px;line-height:1.45}.page-banner{min-height:0}.page-banner .container{padding:60px 0}.topbar .container{gap:15px}.timeline article{grid-template-columns:95px minmax(0,1fr)}.footer-grid{gap:24px}.landing-layout,.landing-form-layout{gap:28px}.landing-visual{min-height:290px}.landing-visual img{max-height:300px}.landing-form-section{padding:48px 0}}
@media(max-width:380px){.container{width:calc(100% - 30px)}.brand img{width:125px}.slide{min-height:550px}.landing-copy h1{font-size:38px}.landing-visual span{font-size:12px;max-width:95%;text-align:center}.card-body{padding:18px}.landing-form{padding:18px}.chat-launch{padding:13px 16px}.footer-contact{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.quote-prefill-notice{margin:0;padding:14px 16px;border-left:4px solid var(--blue);background:#e9f4ff;color:var(--deep);font-weight:700;grid-column:1/-1}.chat-actions button:disabled,.chat-input button:disabled{opacity:.55;cursor:not-allowed}
