:root { --green:#3f765b; --green-dark:#28513d; --ink:#27302c; --muted:#66706a; --line:#dfe5e1; --soft:#f5f7f5; --white:#fff; --max:1100px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font:400 16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; text-decoration:none; } button { font:inherit; } img { display:block; max-width:100%; }
h1,h2,h3 { margin:0; font-weight:600; line-height:1.18; letter-spacing:-.025em; }
.site-header { position:sticky; top:0; z-index:20; height:76px; padding:0 max(22px,calc((100vw - var(--max))/2)); display:flex; align-items:center; justify-content:space-between; background:rgba(255,255,255,.95); border-bottom:1px solid var(--line); backdrop-filter:blur(12px); }
.brand img { width:150px; height:58px; object-fit:contain; object-position:left center; }
.main-nav { display:flex; align-items:center; gap:28px; color:var(--muted); font-size:.9rem; }
.main-nav a:hover { color:var(--green); }
.nav-contact { padding:8px 15px; color:var(--green-dark)!important; border:1px solid #b9c9c0; border-radius:4px; }
.nav-toggle { display:none; padding:10px; border:0; background:transparent; }
.nav-toggle span { display:block; width:23px; height:1px; margin:6px 0; background:var(--ink); }
.hero { min-height:570px; max-width:var(--max); margin:0 auto; padding:70px 0 62px; display:grid; grid-template-columns:.88fr 1.12fr; align-items:center; gap:65px; }
.kicker { margin:0 0 16px; color:var(--green); font-size:.78rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; }
h1 { margin-bottom:22px; font-size:clamp(2.7rem,5.1vw,4.8rem); font-weight:500; }
.lead { max-width:540px; margin:0 0 30px; color:var(--muted); font-size:1.05rem; }
.hero-actions { display:flex; align-items:center; justify-content:center; width:max-content; max-width:100%; gap:5px; padding:5px; border:1px solid var(--line); border-radius:999px; background:var(--soft); }
.button { display:inline-flex; align-items:center; min-height:45px; padding:0 18px; border:1px solid var(--line); border-radius:3px; font-size:.9rem; font-weight:600; }
.button:hover { border-color:var(--green); } .button.primary { border-color:var(--green); color:white; background:var(--green); } .button.primary:hover { background:var(--green-dark); }
.button.contact-icon { width:45px; height:45px; min-height:45px; padding:0; justify-content:center; color:var(--green-dark); border:0; border-radius:50%; background:white; }
.button.contact-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.button.whatsapp { color:white; background:#25d366; }
.button.whatsapp svg { width:22px; height:22px; fill:currentColor; stroke:none; }
.button.contact-icon:hover { color:white; border-color:var(--green); background:var(--green); }
.button.whatsapp:hover { color:white; border-color:#1ead53; background:#1ead53; }
.hero-image { margin:0; overflow:hidden; border-radius:5px; background:var(--soft); }
.hero-image img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.section { padding:90px max(22px,calc((100vw - var(--max))/2)); }
.section-title { display:grid; grid-template-columns:1fr 1fr; gap:18px 70px; margin-bottom:45px; }
.section-title .kicker { grid-column:1/-1; margin-bottom:0; }
.section-title h2,.region h2,.contact-section h2 { font-size:clamp(2rem,3.4vw,3rem); font-weight:500; }
.section-title>p:last-child { max-width:480px; margin:3px 0 0; color:var(--muted); }
.section-title.compact { display:block; max-width:620px; } .section-title.compact h2 { margin-bottom:12px; }
.service-list { border-top:1px solid var(--line); }
.service-list article { display:grid; grid-template-columns:80px 1fr; gap:16px; padding:28px 0; border-bottom:1px solid var(--line); }
.service-list article>span { padding-top:4px; color:#87918b; font-size:.78rem; }
.service-list article>div { display:grid; grid-template-columns:220px 1fr; gap:35px; }
.service-list h3 { font-size:1.25rem; font-weight:500; } .service-list p { max-width:650px; margin:0; color:var(--muted); }
.transport-content { display:grid; gap:22px; }
.transport-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; width:min(100%,760px); }
.transport-gallery figure { position:relative; margin:0; overflow:hidden; border-radius:4px; background:var(--soft); }
.transport-gallery img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.transport-gallery figcaption { position:absolute; left:10px; bottom:10px; padding:5px 9px; color:white; background:rgba(39,48,44,.82); border-radius:2px; font-size:.75rem; font-weight:600; letter-spacing:.04em; }
.references { background:var(--soft); }
.work-gallery { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
.work-gallery figure { position:relative; margin:0; overflow:hidden; border-radius:4px; background:#e7ebe8; }
.work-gallery img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.work-gallery figcaption { position:absolute; left:12px; bottom:12px; padding:6px 10px; color:white; background:rgba(39,48,44,.82); border-radius:2px; font-size:.76rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; }
.work-gallery .before figcaption { background:rgba(110,82,51,.86); }
.steps { display:grid; grid-template-columns:.8fr 1.2fr; gap:80px; }
.steps ol { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.steps li { display:grid; grid-template-columns:130px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.steps strong { font-weight:600; } .steps span { color:var(--muted); }
.region { display:flex; justify-content:space-between; align-items:end; gap:60px; background:var(--soft); }
.region>div { max-width:680px; } .region h2 { margin-bottom:14px; } .region p:not(.kicker) { margin:0; color:var(--muted); }
.text-link { flex:0 0 auto; padding-bottom:4px; color:var(--green-dark); border-bottom:1px solid #90a99c; font-weight:600; } .text-link span { margin-left:8px; }
.contact-section { padding:85px max(22px,calc((100vw - var(--max))/2)); display:grid; grid-template-columns:1fr 1fr; gap:70px; color:white; background:var(--green-dark); }
.contact-section .kicker { color:#c2d6ca; }
.contact-links { border-top:1px solid rgba(255,255,255,.25); }
.contact-links a { display:flex; justify-content:space-between; gap:25px; padding:19px 0; border-bottom:1px solid rgba(255,255,255,.25); }
.contact-links small { color:#c2d6ca; } .contact-links strong { font-size:1rem; font-weight:500; }
footer { max-width:var(--max); margin:0 auto; padding:46px 0 30px; display:grid; grid-template-columns:165px 1fr auto; align-items:center; gap:24px; color:var(--muted); font-size:.84rem; }
footer>img { width:145px; } footer p { margin:0; } .footer-links { display:flex; gap:18px; }
.footer-links button { padding:0; color:var(--muted); background:none; border:0; cursor:pointer; } .footer-links button:hover { color:var(--green); }
.copyright { grid-column:1/-1; padding-top:18px; border-top:1px solid var(--line); font-size:.75rem; }
dialog { width:min(620px,calc(100% - 30px)); max-height:calc(100vh - 30px); padding:38px; border:0; border-radius:5px; color:var(--ink); background:white; box-shadow:0 20px 80px rgba(0,0,0,.25); }
dialog::backdrop { background:rgba(31,38,34,.65); } .dialog-close { float:right; width:34px; height:34px; border:1px solid var(--line); background:white; cursor:pointer; font-size:1.3rem; }
#legal-content h2 { font-size:2rem; } #legal-content h3 { margin:25px 0 6px; font-size:1rem; } #legal-content p { color:var(--muted); }
@media (max-width:900px) {
  .site-header { padding-inline:20px; } .nav-toggle { display:block; }
  .main-nav { position:absolute; top:76px; left:0; right:0; display:none; padding:22px; background:white; border-bottom:1px solid var(--line); }
  .main-nav.open { display:flex; flex-direction:column; align-items:stretch; }
  .hero { padding:50px 22px; grid-template-columns:1fr; gap:38px; } .hero-copy { max-width:680px; }
  .section-title { grid-template-columns:1fr; gap:12px; } .section-title .kicker { grid-column:1; }
  .steps { grid-template-columns:1fr; gap:22px; } footer { margin-inline:22px; }
}
@media (max-width:650px) {
  .brand img { width:125px; } .hero { padding-top:42px; } h1 { font-size:2.75rem; } .hero-actions { display:flex; }
  .section { padding-block:68px; } .service-list article { grid-template-columns:38px 1fr; } .service-list article>div { grid-template-columns:1fr; gap:8px; }
  .transport-gallery { grid-template-columns:1fr; max-width:440px; }
  .work-gallery { grid-template-columns:1fr 1fr; } .work-gallery figure:first-child { grid-column:1/-1; } .work-gallery figure:first-child img { aspect-ratio:16/11; }
  .steps li { grid-template-columns:90px 1fr; } .region { align-items:flex-start; flex-direction:column; gap:28px; }
  .contact-section { grid-template-columns:1fr; gap:35px; } .contact-links a { display:block; } .contact-links small { display:block; margin-bottom:3px; }
  footer { grid-template-columns:1fr; } .copyright { grid-column:1; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
