:root{--ink:#111417;--charcoal:#20252a;--yellow:#f5b800;--yellow-dark:#d99f00;--paper:#f5f5f2;--white:#fff;--line:#d5d6d2;--muted:#5c6267;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}
.nav{height:78px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:rgba(17,20,23,.96);color:#fff;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:900;letter-spacing:.08em;font-size:1.18rem}.brand small{font-size:.58rem;color:var(--yellow);align-self:flex-end;margin:0 0 8px -7px}.brand-mark{width:36px;height:36px;border:2px solid var(--yellow);color:var(--yellow);display:grid;place-items:center;font-family:Georgia,serif;font-size:1.4rem;transform:rotate(45deg)}nav{display:flex;align-items:center;gap:27px}nav a{text-decoration:none;font-size:.86rem;font-weight:700}.nav-cta{background:var(--yellow);color:var(--ink);padding:11px 17px}.menu{display:none;background:none;color:#fff;border:1px solid #555;padding:9px 12px;font-weight:700}
.hero{min-height:720px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image{background:url('assets/asfalto-jocama.png') center/cover no-repeat}.hero-overlay{background:linear-gradient(90deg,rgba(10,12,14,.94) 0%,rgba(10,12,14,.78) 38%,rgba(10,12,14,.18) 70%,rgba(10,12,14,.05) 100%)}.hero-copy{position:relative;z-index:2;width:100%;max-width:var(--max);margin:auto;padding:90px 24px;color:#fff}.eyebrow{color:var(--yellow-dark);letter-spacing:.14em;font-size:.75rem;font-weight:900;margin:0 0 18px}.hero .eyebrow{color:var(--yellow)}.hero h1{font-size:clamp(3rem,5.8vw,5.8rem);line-height:.96;letter-spacing:-.06em;max-width:830px;margin:0}.lead{font-size:1.2rem;color:#e4e5e5;max-width:650px;margin:30px 0}
.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:0 22px;text-decoration:none;font-weight:900;font-size:.9rem;border:0;cursor:pointer}.primary,.send{background:var(--yellow);color:var(--ink)}.primary:hover,.send:hover{background:#ffc928}.secondary{border:1px solid rgba(255,255,255,.7);color:#fff}
.hero-data{position:absolute;z-index:3;right:max(24px,calc((100vw - var(--max))/2));bottom:0;display:grid;grid-template-columns:repeat(2,1fr);background:var(--yellow);color:var(--ink)}.hero-data div{padding:22px 25px;border-right:1px solid rgba(17,20,23,.25);min-width:160px}.hero-data b,.hero-data span{display:block}.hero-data b{font-size:1.25rem}.hero-data span{font-size:.7rem;font-weight:700}
.statement{background:var(--yellow);padding:58px 24px}.statement p{max-width:var(--max);margin:auto;font-weight:800;font-size:clamp(1.5rem,3vw,2.45rem);line-height:1.22;letter-spacing:-.03em}.section{max-width:var(--max);margin:auto;padding:105px 24px}.section-intro{display:grid;grid-template-columns:.36fr 1fr;gap:55px;margin-bottom:52px}.section h2,.quote-section h2{font-size:clamp(2.25rem,4vw,4rem);line-height:1.05;letter-spacing:-.048em;margin:0;max-width:900px}.intro-copy{color:var(--muted);max-width:720px;font-size:1.08rem;margin:24px 0 0}
.about{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}.about-heading{position:sticky;top:120px;align-self:start}.about-heading>p:not(.eyebrow){color:var(--muted);font-size:1.08rem;max-width:510px;margin-top:28px}.purpose-grid{border-top:1px solid var(--line)}.purpose-grid article{display:grid;grid-template-columns:48px 1fr;column-gap:18px;padding:30px 0;border-bottom:1px solid var(--line)}.purpose-grid article span{grid-row:1/3;color:var(--yellow-dark);font-size:.75rem;font-weight:900;padding-top:7px}.purpose-grid h3{font-size:1.45rem;margin:0 0 8px}.purpose-grid p{color:var(--muted);margin:0}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-grid article{padding:34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:260px;background:#fff}.service-grid article>span{color:var(--yellow-dark);font-size:.75rem;font-weight:900}.service-grid h3,.compact-grid h3{font-size:1.35rem;line-height:1.2;margin:32px 0 12px}.service-grid p,.compact-grid p,.steps p{color:var(--muted)}
.complementary{max-width:none;background:#e8e9e6;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.compact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.compact-grid article{background:var(--charcoal);color:#fff;padding:35px;min-height:245px;border-top:5px solid var(--yellow)}.compact-grid b{color:var(--yellow);font-size:.76rem}.compact-grid p{color:#bbc0c3}
.process{max-width:none;background:var(--ink);color:#fff;padding-left:max(24px,calc((100vw - var(--max))/2));padding-right:max(24px,calc((100vw - var(--max))/2))}.process .eyebrow{color:var(--yellow)}.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #444}.steps>div{padding:34px 28px 0 0}.steps b{color:var(--yellow);font-size:.75rem}.steps h3{margin:28px 0 10px}.steps p{color:#afb3b6}
.quote-section{max-width:var(--max);margin:auto;padding:105px 24px;display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.quote-copy>p:not(.eyebrow){color:var(--muted);font-size:1.08rem}.contact-lines{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:22px}.direct{display:inline-block;font-size:1.6rem;font-weight:900;text-decoration-color:var(--yellow);text-decoration-thickness:4px}.direct.email{font-size:1.05rem;overflow-wrap:anywhere}form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;padding:34px;border-top:6px solid var(--yellow);box-shadow:0 18px 50px rgba(0,0,0,.09)}label{font-size:.8rem;font-weight:800}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #bdc0be;background:#fafafa;padding:13px;font:inherit;color:var(--ink);border-radius:0}textarea{resize:vertical}.full{grid-column:1/-1}.send{width:100%;font-size:1rem}.form-note{margin:0;color:var(--muted);font-size:.75rem;text-align:center}
footer{max-width:var(--max);margin:auto;padding:42px 24px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px;color:var(--muted);font-size:.78rem}footer p:last-child{text-align:right}.footer-brand{color:var(--ink)}
@media(max-width:900px){.nav{height:70px}.menu{display:block}.nav nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ink);padding:24px;flex-direction:column;align-items:stretch}.nav nav.open{display:flex}.hero{min-height:700px}.hero-overlay{background:linear-gradient(90deg,rgba(10,12,14,.93),rgba(10,12,14,.58))}.hero-data{position:absolute;right:24px}.section{padding-top:78px;padding-bottom:78px}.section-intro,.quote-section,.about{grid-template-columns:1fr;gap:25px}.about-heading{position:static}.service-grid{grid-template-columns:1fr 1fr}.compact-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.quote-section{gap:45px}footer{grid-template-columns:1fr;text-align:left}footer p:last-child{text-align:left}}
@media(max-width:560px){.hero{min-height:630px}.hero-image{background-position:62% center}.hero-copy{padding-top:65px}.hero h1{font-size:clamp(2.75rem,13vw,4.2rem)}.hero-data{display:none}.actions{flex-direction:column}.button{width:100%}.service-grid,.steps,form{grid-template-columns:1fr}.service-grid article{padding:28px;min-height:auto}.full{grid-column:1}.quote-section,form{padding-left:22px;padding-right:22px}.brand{font-size:1rem}}
