@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');

:root { --ink:#252724; --steel:#5d625f; --steel-light:#e5e4df; --paper:#f7f5ef; --surface:#fffefa; --orange:#c95e31; --orange-dark:#9d4321; --line:#d4d3cd; --shadow:0 14px 30px rgba(37,39,36,.08); }
* { box-sizing:border-box; }
body { color:var(--ink); background:var(--paper); font-family:"DM Sans",Arial,sans-serif; }
.site-header { height:78px; padding:0 max(5vw,32px); border-color:var(--line); background:rgba(247,245,239,.97); position:sticky; top:0; z-index:50; }
.brand strong { font-family:"Barlow Condensed",sans-serif; font-size:25px; line-height:.82; letter-spacing:.08em; }.brand small { font-family:"DM Sans",sans-serif; font-size:8px; font-weight:700; letter-spacing:.12em; }.brand-mark { gap:3px; height:29px; }.brand-mark i { width:6px; background:var(--orange); }.brand-mark i:nth-child(1) { height:12px; }.brand-mark i:nth-child(2) { height:27px; }.brand-mark i:nth-child(3) { height:18px; }
.main-nav { gap:27px; font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }.main-nav > a:not(.nav-contact) { border-width:2px; }.nav-contact { background:var(--orange); color:white; padding:12px 17px; }.nav-contact span,.button span,.arrow-link span,.footer-phone span { color:inherit; }.nav-contact:hover { background:var(--orange-dark); }
.hero { min-height:610px; max-height:none; width:min(1240px,100% - 10vw); margin:auto; display:grid; grid-template-columns:1.02fr .98fr; border-right:1px solid var(--line); }.hero-copy { padding:clamp(78px,9vw,125px) clamp(38px,6.5vw,86px) 95px; justify-content:center; }.eyebrow { color:var(--steel); font:600 10px "DM Sans",sans-serif; letter-spacing:.14em; }.eyebrow span { width:22px; background:var(--orange); }.hero h1,.intro-statement h2,.service-content h2,.additional h2,.process h2,.cta-section h2 { font-family:"Barlow Condensed",sans-serif; font-weight:600; letter-spacing:-.035em; }.hero h1 { font-size:clamp(58px,6.4vw,86px); line-height:.88; }.hero h1 em,.intro-statement em,.service-content h2 em,.additional h2 em { color:var(--orange); font-family:inherit; font-style:normal; font-weight:500; letter-spacing:inherit; }.hero-intro { max-width:445px; margin:28px 0 30px; color:var(--steel); font-size:16px; line-height:1.65; }.button { gap:26px; border-radius:0; padding:16px 19px; font-family:"DM Sans",sans-serif; font-weight:700; letter-spacing:.06em; }.button-dark { background:var(--ink); box-shadow:none; }.button-dark:hover { background:var(--orange); }.text-link,.arrow-link { border-color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.hero-art { min-height:560px; background:linear-gradient(135deg,#343734 0%,#202320 100%); }.art-disc { width:66%; left:18%; top:15%; border-color:rgba(255,255,255,.16); }.art-disc:before,.art-disc:after { border-color:rgba(255,255,255,.13); }.art-wheel { border-color:#deded7; border-width:14px; bottom:13%; }.art-wheel:after { border-color:var(--orange); }.wheel-one { left:19%; }.wheel-two { right:14%; }.art-container { width:65%; height:37%; left:18%; bottom:28%; padding:6%; border-color:var(--orange); transform:none; }.art-container i { background:#deded7; }.art-container i:nth-child(2) { background:var(--orange); }.art-container i:nth-child(3) { background:#a0a39d; }.art-container i:nth-child(4) { background:white; }.art-line { background:var(--orange); }.line-a { width:36%; top:24%; left:50%; transform:rotate(45deg); }.line-b { width:29%; top:66%; left:13%; transform:rotate(-32deg); }.art-label { font-family:"DM Sans",sans-serif; font-weight:700; color:#deded7; }.hero-footer { width:min(1240px,100% - 10vw); left:50%; transform:translateX(-50%); padding:16px 23px; border-color:var(--line); color:var(--steel); background:var(--paper); }.hero-footer span:last-child { margin-right:0; }
.strip { height:62px; background:var(--steel-light); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.strip p { color:var(--steel); font-family:"DM Sans",sans-serif; font-weight:700; }.strip i { width:5px; height:5px; background:var(--orange); }
.section-wrap { width:min(1120px,100% - 10vw); margin:auto; padding-left:0; padding-right:0; }.intro-section { grid-template-columns:31% 1fr; gap:5%; padding-top:105px; padding-bottom:105px; }.intro-statement { max-width:690px; }.intro-statement h2 { font-size:clamp(42px,4.7vw,66px); line-height:.96; }.intro-statement > p { margin-top:25px; color:var(--steel); }
.service-feature { padding:0; background:var(--surface); color:var(--ink); border-top:1px solid var(--line); }.service-feature-green { background:var(--surface); color:var(--ink); }.service-grid { width:min(1120px,100% - 10vw); margin:auto; padding:86px 0; grid-template-columns:10% 48% 42%; }.service-number { color:var(--orange); font-family:"DM Sans",sans-serif; font-size:11px; font-weight:700; }.service-content .eyebrow { margin-bottom:20px; }.service-content h2 { font-size:clamp(45px,5vw,68px); line-height:.92; }.service-lead { margin:24px 0 28px; color:var(--steel); font-size:15px; line-height:1.75; }.service-feature-green .arrow-link { border-color:var(--orange); }.materials,.container-list { margin-left:36px; padding:28px; align-self:center; background:var(--steel-light); border-left:3px solid var(--orange); }.materials > p,.container-list > p { font-family:"DM Sans",sans-serif; font-weight:700; color:var(--steel); }.materials ul,.container-list div { border-top-color:#c8c9c3; }.materials li,.container-list strong { border-bottom-color:#c8c9c3; }.materials li span { color:var(--orange); }.container-list strong { font-family:"Barlow Condensed",sans-serif; font-weight:600; font-size:21px; letter-spacing:.01em; }
.additional { width:min(1120px,100% - 10vw); padding:105px 0; grid-template-columns:34% 66%; }.additional h2 { font-size:clamp(43px,4.5vw,63px); line-height:.94; }.additional-list { border-top-color:var(--line); }.additional article { grid-template-columns:10% 36% 1fr 28px; padding:26px 0; border-color:var(--line); }.additional article > span { color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.additional h3 { font-family:"Barlow Condensed",sans-serif; font-size:25px; font-weight:600; }.additional article p { color:var(--steel); font-size:13px; }.additional article a { color:var(--orange); }.additional article a:hover { color:var(--ink); }
.process { padding:88px 0; color:var(--ink); background:var(--steel-light); }.process .eyebrow { color:var(--steel); }.process-top { grid-template-columns:60% 1fr; }.process h2 { font-size:clamp(48px,5vw,68px); line-height:.9; }.process-top p { color:var(--steel); }.process ol { padding-top:52px; }.process li { min-height:118px; border-color:#bdc0b9; }.process li:not(:last-child) { border-color:#bdc0b9; }.process li span { color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.process li strong { font-family:"Barlow Condensed",sans-serif; font-size:23px; font-weight:600; }
.cta-section { width:min(1120px,100% - 10vw); padding:108px 0; }.cta-section h2 { font-size:clamp(60px,8vw,104px); line-height:.85; }.cta-section > p:not(.eyebrow) { color:var(--steel); }.button-acid { color:white; background:var(--orange); box-shadow:none; }.button-acid:hover { background:var(--orange-dark); }.site-footer { padding:55px max(5vw,32px) 23px; background:var(--ink); }.brand-footer .brand-mark i { background:var(--orange); }.footer-main { width:min(1120px,100%); margin:auto; }.footer-main p,.footer-phone { font-family:"Barlow Condensed",sans-serif; }.footer-phone { border-color:var(--orange); font-size:24px; }.footer-bottom { width:min(1120px,100%); margin:auto; border-color:#555955; font-family:"DM Sans",sans-serif; }.whatsapp-float { border-radius:0; background:var(--orange); box-shadow:5px 5px 0 var(--ink); font-family:"DM Sans",sans-serif; font-weight:700; }

/* Interior pages share the same controlled grid. */
.service-page .site-header { background:var(--paper); }.service-page main { background:var(--paper); }.service-hero { min-height:590px; grid-template-columns:56% 44%; border:0; }.service-hero-copy { padding:60px max(7vw,40px) 70px max(9vw,60px); }.breadcrumb { color:var(--steel); font-family:"DM Sans",sans-serif; font-weight:600; }.service-kicker { color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.service-hero h1 { font-family:"Barlow Condensed",sans-serif; font-size:clamp(55px,6vw,83px); font-weight:600; line-height:.88; letter-spacing:-.035em; }.service-hero h1 em { color:var(--orange); font-family:inherit; }.service-hero-summary { color:var(--steel); }.service-visual { min-height:590px; }.service-visual-number,.art-label { font-family:"DM Sans",sans-serif; }.service-visual-word { font-family:"Barlow Condensed",sans-serif; font-weight:600; }.trust-bar { min-height:68px; background:var(--steel-light); border-color:var(--line); }.trust-item { color:var(--steel); font-family:"DM Sans",sans-serif; font-weight:700; }.trust-item b { color:var(--orange); border-color:#c8c9c3; }.detail-section { padding-top:100px; padding-bottom:100px; }.detail-layout { grid-template-columns:29% 1fr; }.detail-aside h2,.items-header h2,.service-process h2,.coverage-section h2,.faq-section h2,.related-header h2 { font-family:"Barlow Condensed",sans-serif; font-weight:600; letter-spacing:-.035em; }.detail-copy > p:first-child { font-family:"Barlow Condensed",sans-serif; font-weight:500; color:var(--ink); letter-spacing:0; line-height:1.2; }.detail-copy > p { color:var(--steel); }.detail-point h3 { font-family:"Barlow Condensed",sans-serif; font-size:23px; font-weight:600; }.detail-point > span { color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.items-section { background:var(--ink); }.items-header h2 { line-height:.92; }.item-card:hover { background:var(--orange); color:white; }.item-card span { color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.item-card:hover span { color:white; }.item-card h3 { font-family:"Barlow Condensed",sans-serif; font-weight:600; }.service-process { padding-top:95px; padding-bottom:100px; }.service-process h2 { line-height:.9; }.service-process-header p,.step p { color:var(--steel); }.step h3 { font-family:"Barlow Condensed",sans-serif; font-weight:600; font-size:25px; }.step:before { color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.coverage-section { background:var(--steel); }.coverage-section h2 { line-height:.9; }.place-list span { font-family:"DM Sans",sans-serif; font-weight:600; }.faq-section { padding-top:100px; padding-bottom:100px; }.faq-section h2 { line-height:.92; }.faq-list summary { font-family:"Barlow Condensed",sans-serif; font-weight:600; font-size:23px; }.faq-list details p { color:var(--steel); }.related-section { background:var(--steel-light); padding-top:92px; padding-bottom:95px; }.related-header h2 { line-height:.9; }.related-card { background:var(--paper); }.related-card:hover { background:var(--surface); }.related-card > span { color:var(--orange); font-family:"DM Sans",sans-serif; font-weight:700; }.related-card h3 { font-family:"Barlow Condensed",sans-serif; font-size:30px; font-weight:600; }.related-card p { color:var(--steel); }.related-card b { color:var(--orange); }

@media (max-width:820px) { .site-header { height:70px; padding:0 7vw; }.main-nav { top:70px; background:var(--paper); }.menu-toggle { color:var(--ink); }.menu-toggle span { background:var(--orange); }.hero { width:100%; border:0; grid-template-columns:1fr; }.hero-copy { min-height:520px; padding:78px 8vw 92px; }.hero h1 { font-size:clamp(58px,16vw,82px); }.hero-art { min-height:360px; height:360px; }.hero-footer { width:100%; padding:14px 8vw; }.section-wrap,.additional,.cta-section,.service-grid { width:min(100% - 16vw,1120px); }.intro-section { padding-top:78px; padding-bottom:78px; }.service-grid { padding:68px 0; }.materials,.container-list { margin:10px 0 0; }.additional { padding:78px 0; }.additional article { grid-template-columns:12% 1fr 20px; }.process { padding:70px 0; }.cta-section { padding:80px 0; }.service-hero { grid-template-columns:1fr; }.service-hero-copy { min-height:545px; padding:45px 8vw 68px; }.service-visual { min-height:365px; }.trust-bar { padding-left:8vw; }.detail-section { padding-top:75px; padding-bottom:75px; }.detail-layout { gap:35px; }.items-section { padding-top:72px; padding-bottom:75px; }.service-process,.faq-section { padding-top:75px; padding-bottom:75px; }.coverage-section { padding-top:75px; padding-bottom:75px; }.related-section { padding-top:72px; padding-bottom:75px; }.footer-main { width:100%; }.footer-bottom { width:100%; } }
@media (max-width:1024px) and (min-width:821px) { .service-grid { width:min(100% - 12vw,900px); grid-template-columns:1fr; gap:30px; padding:70px 0; }.materials,.container-list { width:100%; margin:0; }.service-number { margin-bottom:0; } }
@media (max-width:480px) { .main-nav { padding-left:7vw; padding-right:7vw; }.hero-copy { min-height:500px; }.hero-art { height:315px; min-height:315px; }.hero-footer { font-size:8px; }.service-content h2 { font-size:52px; }.materials,.container-list { padding:22px; }.process li strong { font-size:21px; }.service-hero h1 { font-size:57px; }.service-visual { min-height:315px; }.whatsapp-float { padding:11px; } }

/* Real project photography replaces decorative artwork. */
.hero-art { background-image:linear-gradient(90deg,rgba(24,27,25,.1),rgba(24,27,25,.35)),url("fotos/camion-contenedor-rojo-01.jpeg"); background-position:center; background-size:cover; }.hero-art > * { display:none; }.service-visual { background-position:center; background-size:cover; }.service-visual:after { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(20,23,21,.48),rgba(20,23,21,.08)); }.service-visual > * { z-index:1; }.service-visual .visual-ring,.service-visual .visual-bars,.service-visual-word { display:none; }.service-visual-number { color:white; }.page-chatarreria .service-visual { background-image:url("fotos/chatarreria-ventanas-aluminio-furgoneta-01.jpeg"); }.page-contenedores .service-visual { background-image:url("fotos/camion-contenedor-rojo-01.jpeg"); }.page-poda .service-visual { background-image:url("fotos/poda-retirada-restos-vegetales-01.jpeg"); background-position:center 35%; }.page-escombros .service-visual { background-image:url("fotos/retirada-escombros-contenedor-01.jpeg"); }.page-limpieza-naves .service-visual { background-image:url("fotos/camion-portacontenedor-taller-01.jpeg"); }.page-material-obra .service-visual { background-image:url("fotos/material_pie_obra.jpeg"); }.photo-proof { padding:74px 0; background:var(--steel-light); }.photo-proof-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.photo-proof figure { position:relative; min-height:310px; margin:0; overflow:hidden; background:var(--ink); }.photo-proof img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; transition:transform .35s ease; }.photo-proof figure:hover img { transform:scale(1.04); }.photo-proof figcaption { position:absolute; left:0; bottom:0; padding:14px 17px; color:white; background:rgba(37,39,36,.86); text-transform:uppercase; font:700 10px "DM Sans",sans-serif; letter-spacing:.1em; }
@media (max-width:820px) { .photo-proof { padding:55px 0; }.photo-proof-grid { grid-template-columns:1fr; gap:14px; }.photo-proof figure { min-height:260px; } }

/* Keep the floating contact action immediately recognizable as WhatsApp. */
.whatsapp-float { right:24px; bottom:24px; min-width:56px; height:56px; padding:0 18px; border-radius:28px; background:#25d366; color:white; box-shadow:0 6px 18px rgba(16,92,48,.28); font-size:10px; }.whatsapp-float:hover { background:#1fb85b; transform:translateY(-2px); }.whatsapp-float svg { display:none; }.whatsapp-float:before { content:""; display:block; width:25px; height:25px; flex:none; background:url("fotos/whatsapp-icon.svg") center/contain no-repeat; }.whatsapp-float span { display:inline; }.whatsapp-float:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
@media (max-width:480px) { .whatsapp-float { right:17px; bottom:17px; width:56px; padding:0; border-radius:50%; justify-content:center; }.whatsapp-float span { display:none; } }

/* Mobile content is intentionally linear, not a compressed desktop grid. */
@media (max-width:820px) {
  .nav-group summary { width:100%; padding:14px 0; font-size:16px; }
  .nav-dropdown { position:static; min-width:0; padding:0 0 8px; border:0; box-shadow:none; background:transparent; }
  .nav-dropdown a { padding:10px 12px; font-size:15px; }
  .service-page .detail-layout,
  .service-page .service-process-header,
  .service-page .coverage-grid,
  .service-page .faq-layout { display:block; }
  .service-page .detail-aside { margin-bottom:34px; }
  .service-page .detail-aside h2 { max-width:340px; font-size:38px; }
  .service-page .detail-copy > p:first-child { font-size:27px; line-height:1.16; }
  .service-page .detail-copy > p { font-size:15px; line-height:1.75; }
  .service-page .detail-point { grid-template-columns:34px 1fr; gap:13px; padding:24px 0; }
  .service-page .detail-point h3 { font-size:25px; }
  .service-page .items-header p,
  .service-page .service-process-header p,
  .service-page .coverage-copy > p { margin-top:20px; font-size:15px; }
  .service-page .step-list,
  .service-page .item-grid,
  .service-page .related-grid { grid-template-columns:1fr; }
  .service-page .step { min-height:155px; padding:24px; }
  .service-page .item-card { min-height:145px; padding:22px; }
  .service-page .coverage-copy { margin-top:28px; }
  .service-page .faq-list { margin-top:30px; }
  .service-page .related-card { min-height:165px; }
  .service-feature .service-grid { display:block; width:min(100% - 12vw,620px); padding:62px 0; }
  .service-feature .service-number { display:block; margin-bottom:24px; }
  .service-feature .service-content h2 { font-size:56px; }
  .service-feature .service-lead { font-size:16px; line-height:1.7; }
  .service-feature .materials,
.service-feature .container-list { width:100%; margin:38px 0 0; padding:24px; }
}

.transport-note { margin:18px 0 0 !important; color:var(--steel); font-size:12px !important; line-height:1.6; }

/* Body copy should remain readable next to the large display typography. */
.service-page .item-card p,
.service-page .related-card p,
.service-page .detail-point p,
.service-page .items-header p,
.service-page .service-process-header p,
.service-page .coverage-copy > p { font-size:15px; line-height:1.65; }
.additional article p { font-size:15px; line-height:1.65; }

/* Navigation and dropdown labels need the same reading scale as the body copy. */
.nav-group { position:relative; }
.nav-group summary { display:flex; align-items:center; width:max-content; cursor:pointer; list-style:none; font-size:13px; line-height:1.3; }
.nav-group summary::-webkit-details-marker { display:none; }
.nav-group summary::marker { content:''; }
.nav-group summary:focus:not(:focus-visible) { outline:none; }
.nav-group summary:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.nav-group summary::after { content:'⌄'; display:inline-block; margin:0 0 2px 9px; color:var(--orange); font-size:17px; font-weight:700; line-height:1; }
.nav-group[open] summary::after { content:'⌃'; margin-bottom:-1px; }
.nav-group.is-active > summary { padding-bottom:7px; border-bottom:2px solid var(--orange); }
.nav-dropdown { position:absolute; top:calc(100% + 18px); right:0; z-index:60; display:grid; gap:3px; min-width:300px; padding:10px; background:var(--paper); border:1px solid var(--line); box-shadow:var(--shadow); }
.nav-dropdown a { display:block; padding:12px 12px; color:var(--ink); font-size:16px; font-weight:600; line-height:1.55; }
.nav-dropdown a:hover { background:var(--steel-light); color:var(--orange-dark); }
.nav-dropdown a.is-current { color:var(--orange-dark); text-decoration:none; border-bottom:2px solid var(--orange); }

@media (max-width:820px) {
  .nav-group summary { width:100%; padding:14px 0; font-size:16px; }
  .nav-dropdown { position:static; min-width:0; padding:0 0 8px; border:0; box-shadow:none; background:transparent; }
  .nav-dropdown a { padding:10px 12px; font-size:15px; }
}

/* Shared editorial width: the hero and the content below now breathe together. */
@media (min-width:821px) {
  .service-page .service-hero {
    width:min(1440px,100% - 10vw);
    margin:0 auto;
    grid-template-columns:54% 46%;
  }
  .service-page .service-hero-copy { padding-left:clamp(50px,5vw,90px); }
  .service-page .detail-section,
  .service-page .items-section > .section-wrap,
  .service-page .service-process,
  .service-page .coverage-section > .section-wrap,
  .service-page .faq-section,
  .service-page .related-section > .section-wrap,
  .service-page .use-cases-section > .section-wrap {
    width:min(1320px,100% - 10vw);
    margin-left:auto;
    margin-right:auto;
  }
  .service-page .detail-layout { grid-template-columns:27% 1fr; gap:8%; }
}

/* Compact, familiar WhatsApp launcher on every screen size. */
.whatsapp-float { right:20px; bottom:20px; width:62px; min-width:62px; height:62px; padding:0; justify-content:center; border:3px solid white; border-radius:50%; background:#25d366; box-shadow:0 8px 22px rgba(16,92,48,.32); }.whatsapp-float:before { width:31px; height:31px; }.whatsapp-float span { display:none; }.whatsapp-float:hover { background:#1ebe5d; transform:scale(1.06); }.whatsapp-float:focus-visible { outline-color:#25d366; }
@media (max-width:480px) { .whatsapp-float { right:14px; bottom:14px; width:58px; min-width:58px; height:58px; }.whatsapp-float:before { width:29px; height:29px; } }
