/* S-CO company & local pages. Layout glue in DS token values only; DS component CSS is never edited.
   Component CSS not reached by /ds/styles.css (lists, forms) is linked by the page head. */
.co-after{margin-top:var(--stack-head)}
.co-stats .ls-metric__value{font-size:clamp(2rem,1.5rem + 1.6vw,3rem)}
.co-team{display:grid;grid-template-columns:minmax(0,1fr);max-width:48rem}

/* text blocks */
.co-card-title{margin:0;font-family:var(--font-display);font-size:var(--type-step);font-weight:700;letter-spacing:var(--tracking-step);line-height:var(--leading-step);text-wrap:balance}
.co-card-text{margin:0;font-size:var(--type-small);line-height:1.5;color:var(--color-ink-soft)}
.co-card-text strong{color:var(--color-ink)}
.co-prose{min-width:0;max-width:var(--container-copy)}
.co-prose>p:not(.ls-sh__eyebrow){margin:var(--space-3) 0 0;font-size:var(--type-body);line-height:var(--leading-body);color:var(--color-ink-soft)}
.co-prose>.co-h2+p{margin-top:var(--space-4)}
.co-h2{margin:0;font-family:var(--font-display);font-size:var(--type-title);font-weight:700;letter-spacing:var(--tracking-title);line-height:var(--leading-title);text-wrap:balance}
.co-h3{margin:var(--space-5) 0 0;font-family:var(--font-display);font-size:var(--type-subhead);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.co-prose a,.co-card-text a,.co-related a,.co-source a{color:var(--color-cobalt);text-decoration-thickness:.08em;text-underline-offset:.2em}
.co-prose a:hover,.co-card-text a:hover,.co-related a:hover{text-decoration-thickness:.14em}
.co-index{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.04em;color:var(--color-cobalt)}
.co-related{margin:var(--stack-block) 0 0;font-size:var(--type-body);line-height:var(--leading-body);color:var(--color-ink-soft)}
.co-card-text.co-related{margin-top:0;font-size:var(--type-small)}
.co-source{max-width:var(--container-copy);margin:var(--stack-block) 0 0;font-size:var(--type-small);line-height:1.5;color:var(--color-ink-soft)}
.co-links{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-5);margin-top:var(--space-3)}
.co-checks{max-width:none;margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--color-line-soft)}

/* two-column layouts */
.co-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--space-6) clamp(2rem,5vw,5rem);align-items:start}
.co-split--media{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}
.co-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap);align-items:start}
.co-pair>.ls-card{height:100%}
.co-services{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--grid-gap);align-items:stretch}
.co-services__side{display:grid;gap:var(--grid-gap)}
.co-services>.ls-card--offset{justify-content:flex-start}
.co-services .ls-btn--link{align-self:flex-start}
.co-services>.ls-card--offset .ls-btn--link{margin-top:auto}
@media (max-width:1099px){.co-split,.co-split--media,.co-pair,.co-services{grid-template-columns:minmax(0,1fr)}}

/* proof points under the hero (3 columns) */
.co-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap);margin-top:var(--stack-head)}
.co-points>div{padding-top:var(--space-4);border-top:1px solid var(--color-ink)}
.co-points p{margin:0;font-size:var(--type-body);line-height:1.55;color:var(--color-ink-soft)}
.co-points .co-points__k{margin:0 0 var(--space-2);font-size:var(--type-caption);font-weight:800;letter-spacing:.14em;color:var(--color-cobalt)}
@media (max-width:1099px){.co-points{grid-template-columns:minmax(0,1fr)}}

/* Barcelona case evidence */
.co-local-card{margin-top:var(--stack-block)}
.co-local-card .ls-sh__eyebrow{margin-bottom:var(--space-2)}
.co-local .ls-metric__value{font-size:clamp(1.75rem,1.4rem + 1.2vw,2.5rem)}
.ls-section[data-tone="blue"] .ls-table caption{margin-bottom:var(--space-3);font-weight:600;color:var(--color-ink)}

/* Lisbon */
.co-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--grid-gap);margin:var(--stack-block) 0 0;padding:0;list-style:none}
.co-tiles>li{display:flex}
.co-tiles .ls-card{flex:1}
.co-tile__title{margin:0;font-family:var(--font-display);font-size:var(--type-subhead);font-weight:700;letter-spacing:-.02em;line-height:1.15}
@media (max-width:1099px){.co-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){.co-tiles{grid-template-columns:minmax(0,1fr)}}
.co-figure{margin:0}
.co-figure__slot{aspect-ratio:3 / 2;margin:0 .65rem .65rem 0;overflow:hidden;border:1px solid var(--color-line-cobalt);border-radius:var(--radius-card);box-shadow:var(--shadow-offset)}
@media (max-width:599px){.co-figure__slot{margin:0 .45rem .45rem 0;box-shadow:var(--shadow-offset-sm)}}
.co-signals{display:grid;gap:var(--space-3);margin:0;padding:0;list-style:none}
.co-signals li{padding-top:var(--space-3);border-top:1px solid var(--color-line-soft)}
.co-signals p{margin:0;font-size:var(--type-small);line-height:1.5;color:var(--color-ink-soft)}
.co-signals .co-signals__k{margin-bottom:.25rem;font-size:var(--type-body);font-weight:700;color:var(--color-ink)}
.ls-card .ls-table-wrap{margin-top:var(--space-2)}

/* contacts */
.co-contact{display:grid;grid-template-columns:minmax(16rem,.7fr) minmax(0,1.3fr);gap:var(--space-6) clamp(2rem,5vw,5rem);align-items:start}
.co-contact__list{display:grid;gap:var(--space-4);margin:0;padding:0;list-style:none}
.co-contact__list li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-3);align-items:start}
.co-contact__list b{display:block;margin-bottom:.15rem;font-family:var(--font-display);font-size:1.125rem;letter-spacing:-.015em}
.co-contact__list a,.co-contact__list span,.co-contact__list p{display:block;margin:0;font-size:var(--type-small);line-height:1.5;color:var(--color-ink-soft)}
.co-contact__list span strong{display:block;color:var(--color-ink)}.co-contact__list span+span{margin-top:var(--space-1)}
.co-contact__list a{color:var(--color-cobalt);font-weight:600;text-decoration-thickness:.08em;text-underline-offset:.2em}
.co-contact__list p strong{color:var(--color-ink)}
@media (max-width:1099px){.co-contact{grid-template-columns:minmax(0,1fr)}}
.co-form-title{margin:0 0 var(--space-5);font-family:var(--font-display);font-size:var(--type-step);font-weight:700;letter-spacing:var(--tracking-step);line-height:var(--leading-step)}
.ls-form a,.ls-check__text a{color:var(--color-cobalt);text-decoration-thickness:.08em;text-underline-offset:.2em}
.form-status{margin:0;font-size:.8125rem;font-weight:600;line-height:1.45;color:var(--color-ink-soft)}
.form-status:empty{display:none}
.form-status.is-error{color:var(--color-error)}
.form-status.is-success{color:var(--color-success)}
.contact-form .ls-btn:disabled{opacity:.7;cursor:progress}

/* designed placeholder slot (card + icon ring + one neutral line) */
.co-ph{display:flex;align-items:center;gap:var(--space-4);border-style:dashed}
.co-ph .co-card-text{font-size:var(--type-body)}

/* S-FIX2: existing home ToolStack styling, paused-state parity. */
.co-team .ls-author__photo img{object-fit:cover;object-position:center top}
html[data-motion="paused"] .co-tools .ls-stack__tile,html[data-motion="paused"] .co-tools .ls-stack__tile *{transition:none!important;transform:none!important}

.co-tools .ls-logo--mono.ls-logo--swap{display:inline-grid;place-items:center}
