/* Tema Oliver · components.css — cifras, tarjetas, plantas, marcador pendiente, carrusel, línea de tiempo, proceso, chips, checklist, cita, destacado, dos columnas, claim, sello, casos, formulario, lista de contacto y CTA (líneas 133–259 de la maqueta, sin cambios) */
/* Figures */
.figs{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));border-top:1px solid var(--line)}
.fig{padding:28px 24px 28px 0;border-bottom:1px solid var(--line);display:grid;gap:8px;align-content:start}
.fig b{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,4vw,3.3rem);line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums tabular-nums;font-variation-settings:"opsz" 144}
.fig span{color:var(--muted);font-size:.98rem;max-width:30ch}
.band.dark .figs,.band.dark .fig{border-color:var(--band-line)}
.band.dark .fig span{color:var(--band-muted)}
.fig b{color:var(--cyan-ink)}
.band.dark .fig b{color:var(--cyan)}
.figs.cols-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* Cards */
.cards{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:28px;display:grid;gap:14px;align-content:start}
.band.alt .card{border-color:transparent}
.card .ico{width:44px;height:44px;border-radius:var(--r-pill);background:var(--surface);display:grid;place-items:center;color:var(--cyan-ink)}
.band.alt .card .ico{background:var(--surface)}
.card p{color:var(--muted)}
.card-link{text-decoration:none;transition:border-color .2s,transform .2s}
.card-link:hover{border-color:var(--ink);transform:translateY(-2px)}
.card-link .more{font-weight:600;font-size:.92rem;display:flex;gap:8px;align-items:center;margin-top:auto}
.card-img{border-radius:999px;overflow:hidden;aspect-ratio:2/1}
.card-img img{width:100%;height:100%;object-fit:cover}

.ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Plants */
.plants{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.plant{border:1px solid var(--line);border-radius:28px;overflow:hidden;display:grid;background:var(--paper)}
.plant .body{padding:28px;display:grid;gap:12px}
.plant .addr{font-size:.92rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:4px}
.map{background:var(--surface);color:var(--muted)}
.map svg{width:100%;height:auto;display:block}
.tag{display:inline-flex;align-self:start;justify-self:start;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:var(--r-pill);background:var(--cyan);color:var(--on-cyan)}
.tag.stone{background:var(--stone);color:var(--navy)}

/* Pending marker */
.pend{color:var(--muted)!important;display:inline-block;font:700 .66rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border-radius:var(--r-pill);border:1px dashed var(--stone);color:var(--stone);vertical-align:middle;white-space:nowrap}

/* Logos marquee */
.marquee{overflow:hidden;border-block:1px solid var(--line);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:slide 38s linear infinite}
.marquee:hover .marquee-track,.marquee.paused .marquee-track{animation-play-state:paused}
.marquee ul{display:flex;list-style:none;margin:0;padding:0}
.marquee li{font:700 clamp(1.2rem,2vw,1.6rem)/1 var(--sans);letter-spacing:-.01em;color:var(--muted);padding:34px clamp(28px,4vw,56px);white-space:nowrap}
@keyframes slide{to{transform:translateX(-50%)}}

/* Timeline */
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.timeline li{padding:24px 20px 24px 0;position:relative;display:grid;gap:10px;align-content:start}
.timeline li::before{content:"";position:absolute;top:-10px;left:0;width:30px;height:20px;background:var(--cyan);-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20780.19%20518.68%22%3E%3Cpath%20d%3D%22M695.59%2C259.35c0-45.41-14.45-81.68-43.41-108.79-28.92-27.11-71.23-41.76-126.91-43.96-11-.73-118.31-1.11-135.17-1.11s-124.17.38-135.17%2C1.11c-55.67%2C2.2-97.97%2C16.85-126.91%2C43.96-28.94%2C27.11-43.41%2C63.37-43.41%2C108.79s14.47%2C81.86%2C43.41%2C109.33c28.94%2C27.47%2C71.25%2C41.94%2C126.91%2C43.39%2C11%2C.75%2C118.31%2C1.11%2C135.17%2C1.11s124.17-.36%2C135.17-1.11c55.68-1.45%2C97.99-15.93%2C126.91-43.39%2C28.96-27.47%2C43.41-63.92%2C43.41-109.33M780.2%2C259.35c0%2C55.68-10.62%2C102.19-31.87%2C139.55-21.23%2C37.36-50.72%2C65.94-88.44%2C85.72-37.74%2C19.78-80.77%2C30.76-129.13%2C32.96-12.45.75-121.78%2C1.11-141.2%2C1.11s-128.38-.36-140.11-1.11c-49.07-2.2-92.32-13.34-129.67-33.52-37.36-20.12-66.65-48.88-87.92-86.26C10.64%2C360.45%2C0%2C314.29%2C0%2C259.35s10.64-101.11%2C31.85-138.46c21.27-37.38%2C50.56-66.12%2C87.92-86.26C157.13%2C14.49%2C200.38%2C3.31%2C249.45%2C1.11%2C261.17.38%2C370.14%2C0%2C389.56%2C0s128.75.38%2C141.2%2C1.11c48.36%2C2.2%2C91.39%2C13.2%2C129.13%2C32.96%2C37.72%2C19.78%2C67.21%2C48.36%2C88.44%2C85.72%2C21.25%2C37.36%2C31.87%2C83.88%2C31.87%2C139.56%22/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20780.19%20518.68%22%3E%3Cpath%20d%3D%22M695.59%2C259.35c0-45.41-14.45-81.68-43.41-108.79-28.92-27.11-71.23-41.76-126.91-43.96-11-.73-118.31-1.11-135.17-1.11s-124.17.38-135.17%2C1.11c-55.67%2C2.2-97.97%2C16.85-126.91%2C43.96-28.94%2C27.11-43.41%2C63.37-43.41%2C108.79s14.47%2C81.86%2C43.41%2C109.33c28.94%2C27.47%2C71.25%2C41.94%2C126.91%2C43.39%2C11%2C.75%2C118.31%2C1.11%2C135.17%2C1.11s124.17-.36%2C135.17-1.11c55.68-1.45%2C97.99-15.93%2C126.91-43.39%2C28.96-27.47%2C43.41-63.92%2C43.41-109.33M780.2%2C259.35c0%2C55.68-10.62%2C102.19-31.87%2C139.55-21.23%2C37.36-50.72%2C65.94-88.44%2C85.72-37.74%2C19.78-80.77%2C30.76-129.13%2C32.96-12.45.75-121.78%2C1.11-141.2%2C1.11s-128.38-.36-140.11-1.11c-49.07-2.2-92.32-13.34-129.67-33.52-37.36-20.12-66.65-48.88-87.92-86.26C10.64%2C360.45%2C0%2C314.29%2C0%2C259.35s10.64-101.11%2C31.85-138.46c21.27-37.38%2C50.56-66.12%2C87.92-86.26C157.13%2C14.49%2C200.38%2C3.31%2C249.45%2C1.11%2C261.17.38%2C370.14%2C0%2C389.56%2C0s128.75.38%2C141.2%2C1.11c48.36%2C2.2%2C91.39%2C13.2%2C129.13%2C32.96%2C37.72%2C19.78%2C67.21%2C48.36%2C88.44%2C85.72%2C21.25%2C37.36%2C31.87%2C83.88%2C31.87%2C139.56%22/%3E%3C/svg%3E") center/contain no-repeat}
.timeline li::after{content:"";position:absolute;top:-1px;left:38px;right:8px;height:2px;background:var(--line)}
.timeline b{font-family:var(--display);font-weight:400;font-size:2.2rem;line-height:1;font-variant-numeric:lining-nums}
.timeline span{color:var(--muted);font-size:.95rem}

/* Process line */
.process{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;counter-reset:p}
.process li{counter-increment:p;display:grid;gap:12px;align-content:start;padding:20px;border-radius:24px;background:var(--surface);position:relative}
.process li::after{content:"0" counter(p);position:absolute;top:18px;right:18px;font:600 .75rem var(--sans);color:var(--muted);letter-spacing:.08em}
.process .ico{width:46px;height:46px;border-radius:999px;background:var(--paper);display:grid;place-items:center;color:var(--cyan-ink)}
.process strong{font-weight:600;line-height:1.3}

.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.chips li{border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 16px;font-size:.92rem}
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:0}
.checklist li{display:flex;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-weight:500}
.checklist li:first-child{border-top:1px solid var(--line)}
.checklist .ico{width:42px;height:42px;flex:none;border-radius:999px;background:var(--surface);display:grid;place-items:center;color:var(--cyan-ink)}

.quote{font-family:var(--display);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.25;font-variation-settings:"opsz" 96}
.highlight{border-radius:36px;background:var(--band);color:var(--band-fg);padding:clamp(28px,4vw,56px);display:grid;gap:18px;position:relative;overflow:hidden}
.highlight p{color:var(--band-muted)}
.highlight .eyebrow{color:var(--cyan)}
.highlight .big{font-family:var(--display);font-size:clamp(3rem,6vw,5rem);line-height:1;color:var(--cyan)}

.two-col{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.col-box{border-radius:32px;padding:clamp(24px,3vw,40px);display:grid;gap:14px;align-content:start}
.col-box.out{background:var(--cyan);color:var(--on-cyan)}
.col-box.in{background:var(--band);color:var(--band-fg)}
.col-box.in p{color:var(--band-muted)}
.col-box .eyebrow{color:inherit;opacity:.8}

.claim{font-family:var(--display);font-style:italic;font-size:clamp(1.8rem,3.4vw,2.8rem);line-height:1.15}

/* ISO seal */
.seal{width:150px;height:150px;flex:none;color:var(--ink)}
.iso-row{display:flex;gap:32px;align-items:center;flex-wrap:wrap}
.iso-row>div{flex:1 1 280px;min-width:0}

/* Cases */
.case-tabs{display:flex;gap:8px;flex-wrap:wrap}
.case-tabs button{min-height:44px;font:600 .95rem var(--sans);padding:11px 20px;border-radius:var(--r-pill);border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer}
.case-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.case{display:grid;gap:28px}
@media(min-width:900px){.case{grid-template-columns:1fr 1fr;gap:56px}}
.case>*{min-width:0}
.case dl{margin:0;display:grid;gap:0}
.case dt{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-ink);padding-top:18px;border-top:1px solid var(--line)}
.case dd{margin:6px 0 18px;color:var(--ink)}
.video{border-radius:36px;aspect-ratio:16/10;background:var(--band);color:var(--band-fg);display:grid;place-items:center;text-align:center;padding:24px;position:relative;overflow:hidden}
.video img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.video .play{position:relative;display:grid;gap:14px;justify-items:center}
.video .play i{width:84px;height:46px;border-radius:999px;background:var(--cyan);display:grid;place-items:center}
.video .play i::after{content:"";border-left:14px solid var(--navy);border-block:9px solid transparent;margin-left:4px}

/* Form */
form{display:grid;gap:18px}
.row2{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
label{display:grid;gap:8px;font-size:.88rem;font-weight:600}
input,select,textarea{font:400 1rem var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--field);border-radius:16px;padding:14px 16px;width:100%}
textarea{min-height:140px;resize:vertical}
fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}
legend{font-size:.88rem;font-weight:600;margin-bottom:10px}
.radios{display:flex;flex-wrap:wrap;gap:8px}
.radios label{display:inline-flex;gap:8px;align-items:center;min-height:44px;border:1px solid var(--field);border-radius:var(--r-pill);padding:10px 16px;font-weight:500;cursor:pointer}
.radios input{width:auto;accent-color:var(--cyan-ink)}
.radios label:has(input:checked){border-color:var(--ink);background:var(--surface)}
.form-ok{background:var(--surface);border-radius:20px;padding:18px 20px;font-weight:500}
.contact-list{display:grid;gap:0}
.contact-list>div{padding:18px 0;border-bottom:1px solid var(--line);display:grid;gap:4px}
.contact-list dt{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact-list dd{margin:0}

/* Closing CTA */
.cta-band h2{max-width:20ch}
.cta-band .wrap{display:grid;gap:28px}

