/* ISO 37001 composition. Shared type, links, buttons and navigation stay global. */
.page-iso-37001{background:var(--udc-canvas)}
.iso37-page{
  --iso37-card:var(--udc-card);
  --iso37-line:var(--udc-line);
  --iso37-muted:var(--udc-muted);
  background:var(--udc-canvas);
  color:var(--udc-text);
}
.iso37-page .container{max-width:1180px}
.iso37-page h1,.iso37-page h2,.iso37-page h3,.iso37-page h4{color:var(--udc-text)}
.iso37-page p,.iso37-page li{color:var(--iso37-muted);line-height:1.55}
.iso37-page .eyebrow{color:var(--udc-orange);font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.iso37-page a:not(.button){color:var(--udc-orange-hover);text-underline-offset:.2em}
.iso37-page :focus-visible{outline:3px solid var(--udc-orange-hover);outline-offset:4px}
.iso37-page summary{cursor:pointer;color:var(--udc-text);font-weight:700}
.iso37-page details[open]>summary{color:var(--udc-orange-hover)}
.iso37-page .button{display:inline-block;margin-top:.75rem}
.iso37-hero,.iso37-section{padding:clamp(2rem,2.7vw,2.5rem) 0}
.iso37-section{border-top:1px solid var(--udc-line)}
.iso37-section-alt{--udc-section-bg:var(--udc-surface)}
.iso37-section h2{margin:.25rem 0 .85rem;font-size:clamp(1.7rem,2.2vw,2.15rem);line-height:1.15}
.iso37-section .container>p{max-width:110ch}
.iso37-section .container>p.iso37-note,
.iso37-section .container>p.iso37-first-cta,
.iso37-section .container>p.iso37-boundary,
.iso37-section .container>p.iso37-combined{max-width:none}
.iso37-hero{
  background:var(--udc-canvas);
  overflow:hidden;
  padding:clamp(2rem,2.7vw,2.5rem) 0;
}
.iso37-hero-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1.5rem;align-items:center}
.iso37-hero h1{max-width:none;margin:.4rem 0 1rem;line-height:1.08}
.iso37-hero h1 span{display:block;font-size:clamp(2.7rem,3.4vw,3.35rem);white-space:nowrap;letter-spacing:-.035em}
.iso37-hero h1 small{display:block;margin-top:.35rem;font-size:clamp(1.25rem,1.65vw,1.55rem);font-weight:600;letter-spacing:-.015em}
.iso37-hero p:not(.eyebrow){max-width:54ch;margin:0 0 .75rem}
.iso37-hero-art{
  display:block;
  width:100%;
  height:310px;
  align-self:center;
  object-fit:cover;
  border-radius:8px;
}
.iso37-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;padding-top:.65rem;padding-bottom:1.5rem}
.iso37-card,.iso37-service,.iso37-bridge>div,.iso37-context-grid article{
  background:var(--iso37-card);border:1px solid var(--iso37-line);border-radius:9px;
}
.iso37-card{padding:1rem 1.1rem;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.iso37-card-title{display:flex;align-items:center;gap:.8rem;font-size:1.15rem;line-height:1.25;color:var(--udc-text);margin:0 0 .6rem}
.iso37-icon{width:38px;height:38px;flex:none;fill:none;stroke:var(--udc-orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.iso37-card p{font-size:.9rem;margin:0}
@media(hover:hover){
  .iso37-card:hover,.iso37-service:hover{background:var(--udc-elevated);border-color:var(--udc-orange);transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.2)}
}
.iso37-card:focus-within,.iso37-service:focus-within{background:var(--udc-elevated);border-color:var(--udc-orange)}
@media(prefers-reduced-motion:reduce){.iso37-card,.iso37-service{transition:none}}

.iso37-disclosure,.iso37-faq,.iso37-situation{
  background:var(--iso37-card);border:1px solid var(--iso37-line);border-radius:8px;
  padding:.9rem 1.15rem;
}
.iso37-disclosure{margin:1rem 0}
.iso37-disclosure[open]>summary,.iso37-faq[open]>summary{margin-bottom:.8rem}
.iso37-disclosure p:last-child,.iso37-faq p:last-child{margin-bottom:0}
#que-es .container{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:2rem;align-items:start}
#que-es .container>*{grid-column:1}
#que-es .container>.iso37-disclosure{grid-column:2;grid-row:1/6;margin:0;padding:1.35rem}
#que-es .iso37-disclosure ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;padding:0;list-style:none;margin:1rem 0 0}
#que-es .iso37-disclosure li{display:flex;align-items:center;min-height:70px;padding:.9rem;background:var(--udc-surface);border:1px solid var(--iso37-line);border-radius:7px}
#transicion .container{display:block}
.iso37-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;position:relative;margin:1.2rem 0 1rem;padding:1rem;background:var(--udc-surface);border:1px solid var(--iso37-line);border-radius:9px}
.iso37-timeline::before{content:"";position:absolute;top:40px;left:7%;right:7%;border-top:2px solid var(--udc-orange);opacity:.8}
.iso37-milestone{position:relative;z-index:1;padding:0 .25rem;color:var(--iso37-muted);line-height:1.45;font-size:.88rem}
.iso37-milestone .iso37-milestone-number{display:grid;place-items:center;width:42px;height:42px;margin:0 0 1rem;background:var(--udc-orange);color:var(--udc-on-accent);border-radius:50%;font-weight:800;font-size:1.15rem}
.iso37-milestone strong,.iso37-milestone span{display:block}
.iso37-milestone strong{color:var(--udc-text);font-size:1rem;line-height:1.25;margin-bottom:.35rem}
.iso37-note,.iso37-boundary{border-left:3px solid var(--udc-orange);padding:.75rem 1rem;background:rgba(239,125,0,.08)}
#transicion .iso37-disclosure{margin:.75rem 0}
.iso37-transition-topics{border-left:3px solid var(--udc-orange)}
.iso37-transition-topics p{max-width:110ch;margin:0}
.iso37-first-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 0;padding:1rem 1.2rem;background:var(--udc-surface);border:1px solid var(--iso37-line);border-radius:8px}
.iso37-first-cta .button{margin:0}
.iso37-situations{margin:1.5rem 0 1rem}
.iso37-situation-nav{display:none}
.iso37-situation-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.iso37-situation[open]{grid-column:1/-1;border-color:var(--udc-orange);box-shadow:0 0 0 1px rgba(239,128,24,.35)}
.iso37-situation summary{font-size:.96rem}
.iso37-situation[open]>summary{margin-bottom:1rem}
.iso37-detail p{margin:.55rem 0}
.iso37-detail strong{color:var(--udc-text)}
.iso37-enhanced .iso37-situations{display:grid;grid-template-columns:minmax(240px,.38fr) minmax(0,.62fr);gap:1.1rem;align-items:start}
.iso37-enhanced .iso37-situation-nav{display:grid;gap:.5rem}
.iso37-enhanced .iso37-situation-nav button{
  width:100%;min-height:49px;padding:.7rem 1rem;text-align:left;cursor:pointer;
  color:var(--udc-text);font:inherit;font-weight:650;
  background:var(--iso37-card);border:1px solid var(--iso37-line);border-radius:7px;
}
.iso37-enhanced .iso37-situation-nav button[aria-expanded="true"]{
  background:var(--udc-orange);color:var(--udc-on-accent);border-color:var(--udc-orange);
}
.iso37-enhanced .iso37-situation-nav button:hover{border-color:var(--udc-orange)}
.iso37-enhanced .iso37-situation-panels{display:block;min-width:0}
.iso37-enhanced .iso37-situation{display:none}
.iso37-enhanced .iso37-situation[open]{display:block}
.iso37-enhanced .iso37-situation>summary{font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--udc-orange);list-style:none}
.iso37-enhanced .iso37-situation>summary::-webkit-details-marker{display:none}
.iso37-enhanced .iso37-detail p{margin:.85rem 0}
.iso37-region-intro{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:2rem;align-items:stretch}
.iso37-region-copy{align-self:center}
.iso37-region-copy p:not(.eyebrow){max-width:62ch}
.iso37-region-art{min-height:260px;border:1px solid var(--iso37-line);border-radius:9px;background:linear-gradient(90deg,rgba(27,27,27,.9),rgba(27,27,27,.25) 45%,rgba(27,27,27,.08)),url('/assets/img/areas-experiencia-hero-bogota.webp') center / cover;box-shadow:inset 0 0 55px rgba(0,0,0,.35)}
#colombia{margin-top:1.7rem}
.iso37-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;padding-top:.75rem}
.iso37-context-grid article:last-child{grid-column:1/-1}
.iso37-context-grid article{padding:1.1rem}
.iso37-context-grid h4{font-size:1.02rem;margin:.1rem 0 .65rem}
.iso37-context-grid p{font-size:.88rem;margin:0}
.iso37-boundary{margin-top:1rem}
.iso37-bridge{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;position:relative;margin:1.35rem 0}
.iso37-bridge>div{position:relative;padding:1.2rem}
.iso37-bridge>div:nth-child(2){border-color:var(--udc-orange);box-shadow:0 0 25px rgba(240,124,25,.16)}
.iso37-bridge h3{font-size:1.1rem}
.iso37-bridge p{font-size:.9rem}
.iso37-bridge>div:not(:last-child)::after{content:"";position:absolute;top:50%;left:calc(100% + 1px);width:calc(1rem - 2px);border-top:2px solid var(--udc-orange)}
.iso37-roles{margin:1rem 0 1.35rem}
.iso37-roles>p{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:.8rem 0 0}
.iso37-roles>p span{display:block;min-height:100%;padding:1.1rem;background:var(--udc-surface);border:1px solid var(--iso37-line);border-radius:8px}
.iso37-role-check{display:inline-block;width:1.5rem;height:1.5rem;margin-right:.55rem;vertical-align:-.35rem;fill:none;stroke:var(--udc-orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.iso37-services{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;margin:1.2rem 0 1rem}
.iso37-service{grid-column:span 2;display:flex;flex-direction:column;padding:1.1rem;transition:background-color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .2s ease}
.iso37-service-featured{grid-column:span 3;border-color:var(--udc-orange)}
.iso37-service h3{display:flex;align-items:flex-start;gap:.75rem;font-size:1.13rem;margin:.1rem 0 .7rem}
.iso37-service-icon{width:29px;height:29px;flex:none;fill:none;stroke:var(--udc-orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.iso37-service p{font-size:.91rem}
.iso37-service details{margin-bottom:1rem}
.iso37-service .button{margin-top:auto;align-self:flex-start}
.iso37-combined{padding:.9rem 1.1rem;background:var(--udc-surface);border:1px solid var(--iso37-line)}
#preguntas-frecuentes .container{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:2rem}
#preguntas-frecuentes .container>.eyebrow,#preguntas-frecuentes .container>h2{grid-column:1/-1}
.iso37-faq{grid-column:1;margin:.25rem 0;padding:.7rem 1rem}
.iso37-final{grid-column:2;grid-row:3/11;align-self:stretch;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:1.7rem;background:radial-gradient(circle at 85% 10%,rgba(239,128,24,.12),transparent 45%),linear-gradient(90deg,rgba(27,27,27,.92),rgba(27,27,27,.73)),url('/assets/img/iso-37001-contact-v1.webp') center / cover no-repeat;border:1px solid var(--iso37-line);border-radius:9px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.iso37-final::before{content:"";display:block;width:64px;border-top:3px solid var(--udc-orange);margin-bottom:1.5rem}
.iso37-final h2{font-size:1.65rem;line-height:1.2}
.iso37-final .button{align-self:flex-start}
.iso37-final p{border-top:1px solid var(--iso37-line);padding-top:1.1rem;margin-top:1.5rem}
@media(max-width:800px){
  .iso37-hero-grid,#que-es .container,#transicion .container,.iso37-values,.iso37-context-grid,.iso37-bridge,.iso37-region-intro,#preguntas-frecuentes .container{display:block}
  .iso37-hero-art{height:280px}
  .iso37-card{min-height:0;margin-bottom:.8rem}
  #que-es .container>.iso37-disclosure{margin-top:1.2rem}
  .iso37-timeline{margin:1.6rem 0}
  .iso37-enhanced .iso37-situations{grid-template-columns:minmax(180px,.4fr) minmax(0,.6fr)}
  .iso37-region-art{margin-top:1.3rem}
  .iso37-bridge>div{min-height:0;margin-bottom:.8rem}
  .iso37-roles>p{display:block}
  .iso37-roles>p span{min-height:0;margin:.6rem 0}
  .iso37-bridge>div::after{display:none}
  .iso37-service,.iso37-service-featured{grid-column:span 3}
  .iso37-final{margin-top:1.5rem}
}
@media(max-width:580px){
  .iso37-hero,.iso37-section{padding:2rem 0}
  .iso37-hero h1 span{font-size:clamp(2.15rem,10vw,3.4rem)}
  .iso37-hero-art{height:230px}
  .iso37-timeline{grid-template-columns:1fr;gap:1.2rem;padding:1rem}
  .iso37-timeline::before{top:34px;bottom:34px;left:33px;right:auto;border-top:0;border-left:2px solid var(--udc-orange)}
  .iso37-milestone{min-height:40px;padding-left:3rem;font-size:.88rem}
  .iso37-milestone .iso37-milestone-number{position:absolute;top:0;left:0;width:34px;height:34px;margin:0}
  .iso37-enhanced .iso37-situations{display:block}
  .iso37-enhanced .iso37-situation-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.8rem}
  .iso37-enhanced .iso37-situation-nav button{font-size:.82rem}
  .iso37-enhanced .iso37-situation[open]{min-height:0}
  .iso37-situation-panels{grid-template-columns:1fr}
  .iso37-services{display:block}
  .iso37-service{margin-bottom:.8rem}
  .iso37-first-cta{display:block}
  .iso37-region-art{min-height:210px}
}
