/* ==========================================================================
   Clínica Saavedra — Página SOBRE NOSOTROS
   Prefijo .sn-  ·  Sin frameworks  ·  Montserrat (la carga el tema)
   Breakpoints: 1025px (tablet) y 767px (móvil)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1 · TOKENS Y BASE
   -------------------------------------------------------------------------- */
.sn{
  /* color */
  --ink:#0D3142;
  --ink-82:rgba(13,49,66,.82);
  --ink-60:rgba(13,49,66,.60);
  --ink-55:rgba(13,49,66,.55);
  --ink-40:rgba(13,49,66,.40);
  --hair:rgba(16,58,68,.12);
  --hair-2:rgba(16,58,68,.22);
  --hair-dk:rgba(255,255,255,.20);
  --hair-or:rgba(13,49,66,.28);
  --orange:#ED852A;
  --orange-dk:#B4611A;
  --blue:#0079BB;
  --blue-lt:#9AD8F5;
  --paper:#F1F5F7;
  --white:#fff;
  --on-dark:rgba(255,255,255,.78);
  --on-dark-soft:rgba(255,255,255,.52);
  --focus:var(--blue);

  /* forma */
  --r-img:20px;
  --r-card:16px;
  --r-sm:12px;
  --r-pill:100px;

  /* ritmo */
  --maxw:1280px;
  --gut:clamp(20px,5vw,72px);
  --cgap:clamp(16px,2.2vw,32px);
  --edge:max(var(--gut),calc((100% - var(--maxw)) / 2 + var(--gut)));
  --sec:clamp(72px,9vw,132px);
  --shift:44px;                 /* desfase alterno de columnas */
  --ease:cubic-bezier(.22,1,.36,1);
  --sticky-top:clamp(72px,11vh,116px);

  font-family:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16px;
  line-height:1.7;
  color:var(--ink-82);
  background:var(--white);
  overflow-x:clip;              /* contiene los sangrados sin romper sticky */
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.sn *, .sn *::before, .sn *::after{box-sizing:border-box;}

/* Reset con :where() — especificidad 0: pisa al tema y cualquier clase
   .sn-* posterior lo sobrescribe sin parches ni !important. */
.sn :where(h1, .sn h2, .sn h3, .sn h4, .sn p, .sn ul, .sn ol, .sn li, .sn dl, .sn dt, .sn dd, .sn figure, .sn figcaption, .sn address, .sn blockquote){margin:0;padding:0;}
.sn :where(ul, .sn ol){list-style:none;}
.sn :where(address){font-style:normal;}
.sn :where(img){display:block;max-width:100%;height:auto;}
.sn :where(a){color:inherit;text-decoration:none;}

.sn p + p{margin-top:.9em;}

.sn h1, .sn h2, .sn h3, .sn h4{
  color:var(--ink);
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.1;
  text-wrap:balance;
}
.sn h1{font-size:clamp(35px,6.2vw,72px);line-height:1.02;}
.sn h2{font-size:clamp(28px,3.6vw,48px);line-height:1.06;}
.sn h3{font-size:clamp(19px,1.7vw,25px);font-weight:600;letter-spacing:-.02em;}
.sn h4{font-size:clamp(16px,1.15vw,18px);font-weight:600;letter-spacing:-.015em;}

.sn :focus-visible{
  outline:2px solid var(--focus);
  outline-offset:3px;
  border-radius:4px;
}
/* bandas oscuras: foco en azul claro para que se vea sobre el teal */
.sn .sn-res, .sn .sn-cta{--focus:var(--blue-lt);}

/* las anclas internas no quedan bajo la cabecera fija */
.sn [id]{scroll-margin-top:clamp(80px,13vh,124px);}

/* --------------------------------------------------------------------------
   2 · UTILIDADES
   -------------------------------------------------------------------------- */
.sn .sn-wrap{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gut);
}

.sn .sn-eyebrow{
  display:block;
  margin-bottom:18px;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.4;
  text-transform:uppercase;
  color:var(--blue);
}
.sn .sn-eyebrow--o{color:var(--orange-dk);}
.sn .sn-eyebrow--dark{color:var(--orange);}
.sn .sn-eyebrow--ink{color:var(--ink);}

.sn .sn-label{
  display:block;
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  line-height:1.5;
  text-transform:uppercase;
  color:var(--ink-55);
}

.sn .sn-lead{
  font-size:clamp(16.5px,1.3vw,20px);
  line-height:1.58;
  color:var(--ink-82);
}

.sn .sn-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;}

.sn .sn-note{font-size:13.5px;line-height:1.6;color:var(--ink-55);}

.sn .sn-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--orange-dk);
  transition:gap .4s var(--ease);
}
.sn .sn-link span{border-bottom:1px solid rgba(180,97,26,.35);padding-bottom:2px;}
.sn .sn-link i{font-style:normal;}
.sn .sn-link:hover{gap:13px;}
.sn .sn-link--dark{color:var(--orange);}
.sn .sn-link--dark span{border-bottom-color:rgba(237,133,42,.45);}
.sn .sn-link--ink{color:var(--ink);}
.sn .sn-link--ink span{border-bottom-color:var(--hair-or);}

/* área táctil de 44px en TODOS los breakpoints */
.sn a[href^="tel:"]:not(.sn-btn), .sn a[href^="mailto:"]:not(.sn-btn){
  display:inline-flex;
  align-items:center;
  min-height:44px;
}

.sn .sn-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:48px;
  padding:12px 28px;
  border-radius:var(--r-pill);
  background:var(--orange);
  color:var(--ink);
  font-size:14.5px;
  font-weight:600;
  letter-spacing:.01em;
  transition:transform .4s var(--ease),background-color .4s var(--ease);
}
.sn .sn-btn:hover{transform:translateY(-2px);background:#f0912f;}

/* --------------------------------------------------------------------------
   3 · HERO — texto, foto a sangre por la derecha y ficha teal solapada
   -------------------------------------------------------------------------- */
.sn .sn-hero{padding-top:clamp(36px,5vw,84px);}

.sn .sn-hero__in{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--cgap);
  row-gap:clamp(22px,3vw,40px);
  align-items:start;
  padding-left:var(--edge);
}

.sn .sn-hero__txt{grid-column:1 / span 6;grid-row:1;min-width:0;}
.sn .sn-hero__txt h1{margin-bottom:clamp(20px,2vw,30px);}
.sn .sn-hero__txt .sn-lead{max-width:34em;}

.sn .sn-hero__fig{grid-column:7 / -1;grid-row:1 / 3;align-self:stretch;min-width:0;}
.sn .sn-hero__fig img{
  width:100%;
  height:100%;
  min-height:clamp(340px,42vw,540px);
  object-fit:cover;
  border-radius:var(--r-img) 0 0 var(--r-img);
}

.sn .sn-hero__card{
  grid-column:4 / span 6;
  grid-row:2;
  align-self:end;
  position:relative;
  z-index:2;
  margin-bottom:clamp(12px,2vw,28px);
  min-width:0;
  padding:clamp(20px,2.2vw,30px);
  border-radius:var(--r-card);
  background:var(--ink);
  color:var(--on-dark);
}
.sn .sn-hero__card .sn-eyebrow{color:var(--orange);margin-bottom:14px;}
.sn .sn-hero__name{
  font-size:clamp(19px,1.7vw,23px);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.2;
  color:var(--white);
}
.sn .sn-hero__meta{margin-top:6px;font-size:14.5px;line-height:1.5;color:var(--on-dark);}
.sn .sn-hero__id{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 12px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid var(--hair-dk);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--on-dark-soft);
}
.sn .sn-hero__id b{font-size:15px;font-weight:500;letter-spacing:.02em;color:var(--white);}
.sn .sn-hero__card .sn-link{margin-top:4px;}

/* raíl de años: índice de la trayectoria */
.sn .sn-hero__rail{margin-top:clamp(40px,5vw,80px);}

.sn .sn-rail{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:var(--cgap);
}
.sn .sn-rail li{position:relative;min-width:0;border-top:1px solid var(--hair);}
.sn .sn-rail li::before{
  content:"";
  position:absolute;
  top:-3px;left:0;
  width:5px;height:5px;
  border-radius:50%;
  background:var(--ink-40);
  transition:background-color .4s var(--ease);
}
.sn .sn-rail a{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-height:44px;
  padding:16px 0 18px;
  transition:transform .4s var(--ease);
}
.sn .sn-rail a:hover{transform:translateY(-2px);}
.sn .sn-rail__n{
  font-size:clamp(20px,2vw,26px);
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--ink);
  transition:color .4s var(--ease);
}
.sn .sn-rail__t{font-size:12.5px;line-height:1.4;color:var(--ink-55);}
.sn .sn-rail li.is-active::before, .sn .sn-rail li:hover::before{background:var(--orange);}
.sn .sn-rail li.is-active .sn-rail__n{color:var(--orange-dk);}

/* --------------------------------------------------------------------------
   4 · TRAYECTORIA — hilo de 1px, año pegajoso, tres retículas distintas
   -------------------------------------------------------------------------- */
.sn .sn-arc{padding-block:clamp(72px,9vw,140px) clamp(56px,7vw,104px);}

.sn .sn-arc__head{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--cgap);
  row-gap:24px;
  margin-bottom:clamp(36px,4.5vw,64px);
}
.sn .sn-arc__head .sn-eyebrow{grid-column:1 / -1;}
.sn .sn-arc__head h2{grid-column:1 / span 6;}
.sn .sn-arc__head p{grid-column:8 / span 5;align-self:end;font-size:15px;line-height:1.65;}

.sn .sn-arc__list{position:relative;--yearw:clamp(126px,14vw,204px);}
.sn .sn-arc__list::before{
  content:"";
  position:absolute;
  left:0;top:6px;bottom:34px;
  width:1px;
  background:var(--hair);
}

.sn .sn-arc__item{
  position:relative;
  display:grid;
  grid-template-columns:var(--yearw) minmax(0,1fr);
  column-gap:var(--cgap);
  padding:clamp(34px,4vw,60px) 0 clamp(40px,5vw,76px);
  border-top:1px solid var(--hair);
}
.sn .sn-arc__item:first-child{border-top:0;padding-top:6px;}
.sn .sn-arc__item::before{
  content:"";
  position:absolute;
  left:-3.5px;
  top:clamp(34px,4vw,60px);
  width:8px;height:8px;
  border-radius:50%;
  background:var(--white);
  box-shadow:0 0 0 4px var(--white),inset 0 0 0 1px var(--ink-40);
}
.sn .sn-arc__item:first-child::before{top:6px;}

.sn .sn-arc__year{
  position:sticky;
  top:var(--sticky-top);
  align-self:start;
  padding-left:clamp(18px,2vw,30px);
}
.sn .sn-arc__y{
  display:block;
  font-size:clamp(30px,3.4vw,46px);
  font-weight:500;
  letter-spacing:-.03em;
  line-height:1;
  color:var(--ink);
}
.sn .sn-arc__where{margin-top:10px;font-size:11px;letter-spacing:.14em;}

.sn .sn-arc__c{
  display:grid;
  grid-template-columns:repeat(10,minmax(0,1fr));
  column-gap:var(--cgap);
  row-gap:clamp(20px,3vw,36px);
}
.sn .sn-arc__c h3{margin-bottom:14px;}
.sn .sn-arc__c p{font-size:15.5px;}

/* reparto por defecto: un capítulo nuevo se maqueta solo */
.sn .sn-arc__txt{grid-column:1 / span 5;min-width:0;}
.sn .sn-arc__fig{grid-column:7 / span 4;min-width:0;}

.sn .sn-arc__fig img{width:100%;object-fit:cover;border-radius:var(--r-img);}
.sn .sn-arc__fig figcaption{margin-top:12px;font-size:12.5px;line-height:1.5;color:var(--ink-55);}

/* pie DENTRO de la foto, sobre degradado (solo la panorámica de 2001) */
.sn .sn-arc__fig--in{position:relative;border-radius:var(--r-img);overflow:hidden;}
.sn .sn-arc__fig--in img{border-radius:0;}
.sn .sn-arc__fig--in figcaption{
  position:absolute;
  inset:auto 0 0 0;
  margin:0;
  padding:52px clamp(16px,2vw,26px) 18px;
  background:linear-gradient(to top,rgba(9,38,52,.92),rgba(9,38,52,0));
  font-size:13px;
  line-height:1.45;
  color:var(--white);
}

/* capítulo 1 · texto + foto vertical */
.sn .is-c1 .sn-arc__fig img{aspect-ratio:4 / 5;}
/* capítulo 2 · panorámica arriba, texto + ficha debajo */
.sn .is-c2 .sn-arc__fig{grid-column:1 / -1;grid-row:1;}
.sn .is-c2 .sn-arc__fig img{aspect-ratio:16 / 6.5;}
.sn .is-c2 .sn-arc__txt{grid-column:1 / span 5;grid-row:2;}
.sn .is-c2 .sn-arc__card{grid-column:7 / span 4;grid-row:2;align-self:start;min-width:0;}
/* capítulo 3 · foto ancha a la izquierda, texto estrecho a la derecha */
.sn .is-c3 .sn-arc__fig{grid-column:1 / span 6;}
.sn .is-c3 .sn-arc__fig img{aspect-ratio:4 / 3;}
.sn .is-c3 .sn-arc__txt{grid-column:7 / span 4;align-self:end;}

.sn .sn-arc__card{border-top:1px solid var(--hair);padding-top:18px;}
.sn .sn-arc__card dl{display:grid;row-gap:14px;}
.sn .sn-arc__card dt{
  font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-40);
}
.sn .sn-arc__card dd{margin-top:4px;font-size:14.5px;line-height:1.5;color:var(--ink-82);}
.sn .sn-arc__card dd a{border-bottom:1px solid var(--hair);transition:border-color .3s var(--ease);}
.sn .sn-arc__card dd a:hover{border-bottom-color:var(--orange);}

/* nodo final */
.sn .sn-arc__item.is-now{padding-bottom:0;}
.sn .sn-arc__item.is-now::before{
  background:var(--orange);
  box-shadow:0 0 0 4px var(--white),inset 0 0 0 1px var(--orange);
}
.sn .sn-arc__item.is-now .sn-arc__c{row-gap:18px;}
.sn .sn-arc__now{
  grid-column:1 / span 7;
  font-size:clamp(20px,2.2vw,30px);
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.25;
  color:var(--ink);
  text-wrap:balance;
}
.sn .sn-arc__item.is-now .sn-link{grid-column:1 / span 7;}

/* --------------------------------------------------------------------------
   5 · CRITERIO CLÍNICO — aside pegajoso + 4 áreas + panel naranja + índice
   -------------------------------------------------------------------------- */
.sn .sn-method{background:var(--paper);padding-block:var(--sec);}

.sn .sn-method__grid{
  display:grid;
  grid-template-columns:minmax(0,3.6fr) minmax(0,8.4fr);
  column-gap:clamp(32px,5.5vw,88px);
  row-gap:40px;
}
.sn .sn-method__aside{position:sticky;top:var(--sticky-top);align-self:start;}
.sn .sn-method__aside h2{margin-bottom:20px;}
.sn .sn-method__aside p{font-size:15.5px;}

.sn .sn-rule{margin-top:26px;padding-top:18px;border-top:1px solid var(--hair-2);}
.sn .sn-rule p{font-size:14.5px;line-height:1.6;color:var(--ink-60);}

.sn .sn-method__item{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) minmax(0,270px);
  column-gap:var(--cgap);
  row-gap:12px;
  padding:clamp(22px,2.4vw,30px) 0;
  border-top:1px solid var(--hair);
  transition:transform .4s var(--ease);
}
.sn .sn-method__list li:last-child .sn-method__item{border-bottom:1px solid var(--hair);}
.sn .sn-method__item:hover{transform:translateY(-1px);}
.sn .sn-method__item:hover .sn-method__n{color:var(--orange-dk);}
.sn .sn-method__n{
  font-size:13px;font-weight:600;letter-spacing:.14em;
  color:var(--ink-40);padding-top:4px;
  transition:color .4s var(--ease);
}
.sn .sn-method__item h3{margin-bottom:8px;}
.sn .sn-method__item p{font-size:15px;line-height:1.6;}

.sn .sn-tags{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;padding-top:3px;}
.sn .sn-tags li{
  border:1px solid var(--hair);
  border-radius:var(--r-pill);
  padding:5px 13px;
  font-size:12px;
  line-height:1.5;
  color:var(--ink-60);
  background:rgba(255,255,255,.55);
}

/* panel naranja: los cuatro pasos de una primera visita */
.sn .sn-steps{
  margin-top:clamp(44px,5vw,76px);
  padding:clamp(24px,3vw,44px);
  border-radius:var(--r-card);
  background:var(--orange);
  color:var(--ink);
}
.sn .sn-steps__head{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  column-gap:clamp(24px,4vw,64px);
  row-gap:12px;
  align-items:end;
  margin-bottom:clamp(26px,3vw,40px);
}
.sn .sn-steps__head .sn-eyebrow{color:var(--ink);margin-bottom:12px;}
.sn .sn-steps__head h3{font-size:clamp(21px,2.2vw,30px);font-weight:500;letter-spacing:-.025em;}
.sn .sn-steps__head p{font-size:15px;line-height:1.6;color:var(--ink);}

.sn .sn-steps__list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:var(--cgap);
  row-gap:24px;
}
.sn .sn-steps__list li{min-width:0;padding-top:16px;border-top:1px solid var(--hair-or);}
.sn .sn-steps__n{
  font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--ink);
}
.sn .sn-steps__list h4{margin:12px 0 8px;color:var(--ink);}
.sn .sn-steps__list p{font-size:14px;line-height:1.55;color:var(--ink);}

/* índice de los 12 tratamientos */
.sn .sn-index{margin-top:clamp(44px,5vw,80px);padding-top:24px;border-top:1px solid var(--hair-2);}
.sn .sn-index__label{margin-bottom:14px;}
.sn .sn-index__list{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  column-gap:clamp(16px,2vw,34px);
}
.sn .sn-index__list li{min-width:0;border-top:1px solid var(--hair);}
.sn .sn-index__list li:nth-child(-n+4){border-top:0;}
.sn .sn-index__list a{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-height:48px;
  padding:13px 0;
  transition:transform .35s var(--ease);
}
.sn .sn-index__list a:hover{transform:translateX(4px);}
.sn .sn-index__n{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--ink-40);transition:color .35s var(--ease);}
.sn .sn-index__list a:hover .sn-index__n{color:var(--orange-dk);}
.sn .sn-index__t{font-size:15px;line-height:1.35;color:var(--ink);}
.sn .sn-index__foot{margin-top:10px;}

/* --------------------------------------------------------------------------
   6 · INVESTIGACIÓN — banda teal, foto a sangre por la izquierda
   -------------------------------------------------------------------------- */
.sn .sn-res{background:var(--ink);color:var(--on-dark);}
.sn .sn-res__in{
  display:grid;
  grid-template-columns:minmax(0,38fr) minmax(0,62fr);
  column-gap:clamp(32px,5vw,84px);
  align-items:center;
  padding-right:var(--edge);
}
.sn .sn-res__fig img{
  width:100%;
  height:100%;
  min-height:clamp(300px,34vw,480px);
  object-fit:cover;
  border-radius:0 var(--r-img) var(--r-img) 0;
}
.sn .sn-res__txt{padding-block:clamp(56px,7vw,104px);}
.sn .sn-res__txt h2{color:var(--white);margin-bottom:20px;}
.sn .sn-res__txt p{font-size:15.5px;max-width:40em;}

.sn .sn-unis{margin-top:clamp(28px,3.4vw,44px);}
.sn .sn-unis li{
  display:flex;
  align-items:baseline;
  gap:clamp(16px,2.4vw,40px);
  padding:clamp(14px,1.8vw,24px) 0;
  border-top:1px solid var(--hair-dk);
  min-width:0;
}
.sn .sn-unis li:last-child{border-bottom:1px solid var(--hair-dk);}
.sn .sn-unis__n{font-size:12px;font-weight:600;letter-spacing:.14em;color:var(--on-dark-soft);}
.sn .sn-unis__name{
  font-size:clamp(21px,2.7vw,38px);
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.1;
  color:var(--white);
  min-width:0;
}

.sn .sn-res__tag{
  display:inline-block;
  margin-top:26px;
  border:1px solid var(--hair-dk);
  border-radius:var(--r-pill);
  padding:7px 16px;
  font-size:12px;
  color:var(--on-dark);
}

/* --------------------------------------------------------------------------
   7 · EQUIPO — ficha de dirección + rejilla desfasada + filas por función
   -------------------------------------------------------------------------- */
.sn .sn-team{padding-block:var(--sec);}

.sn .sn-team__head{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--cgap);
  row-gap:20px;
  margin-bottom:clamp(32px,4vw,56px);
}
.sn .sn-team__head .sn-eyebrow{grid-column:1 / -1;}
.sn .sn-team__head h2{grid-column:1 / span 6;}
.sn .sn-team__head p{grid-column:8 / span 5;align-self:end;font-size:15px;}

.sn .sn-dir{
  display:grid;
  grid-template-columns:minmax(0,4.5fr) minmax(0,7.5fr);
  column-gap:clamp(24px,4vw,64px);
  align-items:center;
  background:var(--paper);
  border-radius:var(--r-card);
  padding:clamp(20px,2.4vw,32px);
}
.sn .sn-dir__fig img{width:100%;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--r-img);}
.sn .sn-dir__txt{padding:clamp(4px,1.6vw,24px) clamp(0px,1.6vw,24px);min-width:0;}
.sn .sn-dir__txt h3{font-size:clamp(23px,2.5vw,34px);font-weight:500;letter-spacing:-.025em;margin-bottom:10px;}
.sn .sn-dir__role{
  display:block;margin-bottom:18px;color:var(--orange-dk);
  font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
}
.sn .sn-dir__txt p{font-size:15.5px;max-width:38em;}
.sn .sn-dir__dl{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:var(--cgap);
  row-gap:16px;
  margin-top:clamp(22px,2.6vw,32px);
}
.sn .sn-dir__dl > div{border-top:1px solid var(--hair);padding-top:14px;min-width:0;}
.sn .sn-dir__dl dt{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-40);}
.sn .sn-dir__dl dd{margin-top:6px;font-size:14px;line-height:1.45;color:var(--ink);}

/* bloques por sede */
.sn .sn-team__block{margin-top:clamp(48px,6vw,88px);}
.sn .sn-team__bhead{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:10px 28px;
  border-top:1px solid var(--hair-2);
  padding-top:18px;
  margin-bottom:clamp(26px,3vw,42px);
}
.sn .sn-team__bhead h3{font-size:clamp(19px,1.8vw,24px);}

/* Roquetas · 4 retratos con desfase alterno */
.sn .sn-people{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--cgap);
  margin-bottom:var(--shift);
}
.sn .sn-people > li{min-width:0;}
.sn .sn-people > li:nth-child(even){transform:translateY(var(--shift));}

.sn .sn-person{min-width:0;}
.sn .sn-person__fig{overflow:hidden;border-radius:var(--r-img);background:var(--paper);}
.sn .sn-person__fig img{
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
  transition:transform .6s var(--ease);
}
.sn .sn-person:hover .sn-person__fig img{transform:scale(1.03);}
.sn .sn-person__meta{
  display:flex;gap:12px;align-items:baseline;
  border-top:1px solid var(--hair);
  margin-top:16px;padding-top:12px;
  min-width:0;
}
.sn .sn-person__n{font-size:11.5px;font-weight:600;letter-spacing:.14em;color:var(--ink-40);}
.sn .sn-person h4{margin-bottom:4px;}
.sn .sn-person__role{
  display:block;
  font-size:11.5px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-55);
}

/* Almería · filas por función con la foto alternando de lado */
.sn .sn-team__note{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:space-between;
  gap:10px 32px;
  margin-bottom:8px;
}
.sn .sn-team__note p{font-size:14.5px;line-height:1.6;color:var(--ink-60);max-width:52em;}

.sn .sn-roles li{
  display:flex;
  align-items:center;
  gap:clamp(24px,4vw,64px);
  padding-block:clamp(24px,3vw,40px);
  border-top:1px solid var(--hair);
}
.sn .sn-roles li:last-child{border-bottom:1px solid var(--hair);}
.sn .sn-roles li:nth-child(even){flex-direction:row-reverse;}
.sn .sn-roles__fig{
  flex:0 0 clamp(150px,20vw,260px);
  border-radius:var(--r-img);
  overflow:hidden;
  background:var(--paper);
}
.sn .sn-roles__fig img{
  width:100%;aspect-ratio:4 / 5;object-fit:cover;
  transition:transform .6s var(--ease);
}
.sn .sn-roles li:hover .sn-roles__fig img{transform:scale(1.03);}
.sn .sn-roles__body{flex:1 1 auto;min-width:0;}
.sn .sn-roles__n{
  font-size:clamp(22px,2vw,30px);
  font-weight:500;letter-spacing:-.025em;line-height:1;
  color:var(--ink-40);
  margin-bottom:clamp(14px,2vw,24px);
}
.sn .sn-roles__body h4{font-size:clamp(20px,2.1vw,28px);font-weight:500;letter-spacing:-.025em;}
.sn .sn-roles__where{display:block;margin-top:8px;}
.sn .sn-roles__body p{margin-top:12px;font-size:15px;line-height:1.6;max-width:52em;}

/* --------------------------------------------------------------------------
   8 · LOS DOS CENTROS — mosaico asimétrico en espejo
   -------------------------------------------------------------------------- */
.sn .sn-sedes{background:var(--paper);padding-block:var(--sec);}

.sn .sn-sedes__head{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px 40px;
  margin-bottom:clamp(32px,4vw,56px);
}
.sn .sn-sedes__head p{max-width:34em;font-size:15px;}

.sn .sn-sede{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  column-gap:var(--cgap);
  row-gap:24px;
  align-items:center;
}
.sn .sn-sede + .sn-sede{
  margin-top:clamp(44px,5.5vw,80px);
  padding-top:clamp(44px,5.5vw,80px);
  border-top:1px solid var(--hair);
}
.sn .sn-sede__fig{min-width:0;}
.sn .sn-sede__fig img{width:100%;object-fit:cover;border-radius:var(--r-img);}
.sn .sn-sede__data{min-width:0;}
.sn .sn-sede--a .sn-sede__fig{grid-column:1 / span 7;}
.sn .sn-sede--a .sn-sede__fig img{aspect-ratio:4 / 3;}
.sn .sn-sede--a .sn-sede__data{grid-column:8 / span 5;}
.sn .sn-sede--b .sn-sede__fig{grid-column:6 / span 7;}
.sn .sn-sede--b .sn-sede__fig img{aspect-ratio:16 / 10;}
.sn .sn-sede--b .sn-sede__data{grid-column:1 / span 5;}

.sn .sn-sede__data h3{font-size:clamp(22px,2.4vw,32px);font-weight:500;letter-spacing:-.025em;margin-bottom:4px;}
.sn .sn-sede__since{margin-bottom:20px;}

.sn .sn-sede__dl > div{
  display:grid;
  grid-template-columns:minmax(96px,30%) minmax(0,1fr);
  gap:4px 16px;
  border-top:1px solid var(--hair);
  padding:13px 0;
}
.sn .sn-sede__dl dt{
  font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-40);padding-top:3px;
}
.sn .sn-sede__dl dd{font-size:14.5px;line-height:1.5;color:var(--ink);min-width:0;}
.sn .sn-sede__dl a{border-bottom:1px solid var(--hair);transition:border-color .3s var(--ease);}
.sn .sn-sede__dl a:hover{border-bottom-color:var(--orange);}
.sn .sn-sede__dl .sn-tel{font-weight:600;}

.sn .sn-sede__foot{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin-top:14px;}

.sn .sn-sede__thumbs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.sn .sn-sede__thumbs img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--r-sm);}

/* --------------------------------------------------------------------------
   9 · CIERRE — banda teal, dos columnas de contacto
   -------------------------------------------------------------------------- */
.sn .sn-cta{background:var(--ink);color:var(--on-dark);padding-block:clamp(64px,8vw,116px);}
.sn .sn-cta__in{
  display:grid;
  grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  column-gap:clamp(32px,5vw,88px);
  row-gap:40px;
}
.sn .sn-cta h2{color:var(--white);margin-bottom:18px;}
.sn .sn-cta__intro p{font-size:15.5px;max-width:32em;}

.sn .sn-cta__cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(24px,3vw,44px);
}
.sn .sn-cta__col{border-top:1px solid var(--hair-dk);padding-top:20px;min-width:0;}
.sn .sn-cta__col .sn-label{color:var(--on-dark-soft);}
.sn .sn-cta__col p{font-size:14px;line-height:1.55;color:var(--on-dark);margin:10px 0 18px;}
.sn .sn-cta__col .sn-btn{width:100%;}
.sn .sn-cta__fijo{
  margin-top:6px;
  font-size:13.5px;
  color:var(--on-dark);
  border-bottom:1px solid transparent;
}
.sn .sn-cta__fijo:hover{border-bottom-color:var(--hair-dk);}

.sn .sn-cta__mail{
  grid-column:1 / -1;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:4px 20px;
  border-top:1px solid var(--hair-dk);
  padding-top:14px;
  margin-top:4px;
  font-size:14.5px;
}
.sn .sn-cta__mail .sn-label{color:var(--on-dark-soft);}
.sn .sn-cta__mail a{color:var(--white);border-bottom:1px solid var(--hair-dk);word-break:break-word;}
.sn .sn-cta__mail a:hover{border-bottom-color:var(--orange);}

/* --------------------------------------------------------------------------
   10 · TABLET · max-width 1025px
   -------------------------------------------------------------------------- */
@media (max-width:1025px){
  .sn{--shift:32px;}

  .sn .sn-hero__in{grid-template-columns:minmax(0,1fr);padding-right:0;}
  .sn .sn-hero__txt, .sn .sn-hero__fig, .sn .sn-hero__card{grid-column:1 / -1;grid-row:auto;}
  .sn .sn-hero__txt{padding-right:var(--gut);}
  .sn .sn-hero__card{margin-bottom:0;margin-right:var(--gut);align-self:start;}
  .sn .sn-hero__fig img{min-height:0;aspect-ratio:16 / 9;height:auto;}

  .sn .sn-arc__head h2{grid-column:1 / span 8;}
  .sn .sn-arc__head p{grid-column:1 / span 9;}
  .sn .sn-arc__list{--yearw:clamp(104px,15vw,150px);}
  .sn .sn-arc__c{grid-template-columns:repeat(8,minmax(0,1fr));}
  .sn .sn-arc__txt{grid-column:1 / span 5;}
  .sn .sn-arc__fig{grid-column:6 / span 3;}
  .sn .is-c2 .sn-arc__txt{grid-column:1 / span 4;}
  .sn .is-c2 .sn-arc__card{grid-column:5 / span 4;}
  .sn .is-c3 .sn-arc__fig{grid-column:1 / span 5;}
  .sn .is-c3 .sn-arc__txt{grid-column:6 / span 3;}
  .sn .sn-arc__now, .sn .sn-arc__item.is-now .sn-link{grid-column:1 / -1;}

  .sn .sn-method__grid{grid-template-columns:minmax(0,1fr);}
  .sn .sn-method__aside{position:static;}
  .sn .sn-method__aside p{max-width:46em;}
  .sn .sn-method__item{grid-template-columns:40px minmax(0,1fr);}
  .sn .sn-method__item .sn-tags{grid-column:2 / -1;}
  .sn .sn-steps__head{grid-template-columns:minmax(0,1fr);align-items:start;}
  .sn .sn-steps__list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sn .sn-index__list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sn .sn-index__list li:nth-child(-n+4){border-top:1px solid var(--hair);}
  .sn .sn-index__list li:nth-child(-n+2){border-top:0;}

  .sn .sn-res__in{grid-template-columns:minmax(0,1fr);padding-right:0;}
  .sn .sn-res__fig img{min-height:clamp(240px,40vw,340px);border-radius:0 0 var(--r-img) 0;}
  .sn .sn-res__txt{padding:clamp(40px,6vw,64px) var(--gut);}

  .sn .sn-team__head h2{grid-column:1 / span 8;}
  .sn .sn-team__head p{grid-column:1 / span 9;}
  .sn .sn-dir{grid-template-columns:minmax(0,5fr) minmax(0,7fr);}
  .sn .sn-dir__dl{grid-template-columns:repeat(2,minmax(0,1fr));}

  /* dos columnas, pero el desfase se mantiene: es lo que sostiene el ritmo */
  .sn .sn-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2.6vw,28px);}

  .sn .sn-sede--a .sn-sede__fig, .sn .sn-sede--b .sn-sede__fig{grid-column:1 / -1;grid-row:1;}
  .sn .sn-sede--a .sn-sede__data, .sn .sn-sede--b .sn-sede__data{grid-column:1 / -1;grid-row:2;}
  .sn .sn-sede--a .sn-sede__fig img{aspect-ratio:16 / 9;}
  .sn .sn-sede__dl > div{grid-template-columns:minmax(96px,180px) minmax(0,1fr);}
  .sn .sn-sede__thumbs{grid-template-columns:repeat(2,minmax(0,230px));}

  .sn .sn-cta__in{grid-template-columns:minmax(0,1fr);}
}

/* --------------------------------------------------------------------------
   11 · MÓVIL · max-width 767px
   -------------------------------------------------------------------------- */
@media (max-width:767px){
  .sn{--shift:0px;line-height:1.65;}

  .sn .sn-hero{padding-top:28px;}
  .sn .sn-hero__fig img{aspect-ratio:4 / 3;}
  .sn .sn-hero__card{margin-right:var(--gut);}
  .sn .sn-rail{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;}
  .sn .sn-rail li:nth-child(n+3){margin-top:4px;}

  .sn .sn-arc{padding-block:56px 44px;}
  .sn .sn-arc__head h2, .sn .sn-arc__head p{grid-column:1 / -1;}
  .sn .sn-arc__list::before{display:none;}
  .sn .sn-arc__item, .sn .sn-arc__item:first-child{grid-template-columns:minmax(0,1fr);row-gap:20px;padding:32px 0 40px;}
  .sn .sn-arc__item::before, .sn .sn-arc__item:first-child::before{display:none;}
  .sn .sn-arc__year{
    position:static;
    display:flex;
    align-items:baseline;
    gap:14px;
    padding-left:0;
    padding-bottom:12px;
    border-bottom:1px solid var(--hair);
  }
  .sn .sn-arc__y{font-size:32px;}
  .sn .sn-arc__where{margin-top:0;}
  .sn .sn-arc__c{grid-template-columns:minmax(0,1fr);}
  .sn .sn-arc__txt, .sn .sn-arc__fig, .sn .is-c2 .sn-arc__txt, .sn .is-c2 .sn-arc__fig, .sn .is-c2 .sn-arc__card, .sn .is-c3 .sn-arc__txt, .sn .is-c3 .sn-arc__fig{grid-column:1 / -1;grid-row:auto;}
  .sn .is-c1 .sn-arc__fig img{aspect-ratio:4 / 3;}
  .sn .is-c2 .sn-arc__fig img{aspect-ratio:16 / 9;}

  .sn .sn-method__item{grid-template-columns:34px minmax(0,1fr);row-gap:14px;}
  .sn .sn-steps{padding:20px 18px 24px;}
  .sn .sn-steps__list{grid-template-columns:minmax(0,1fr);row-gap:0;}
  .sn .sn-steps__list li{padding:18px 0 20px;}
  .sn .sn-index__list{grid-template-columns:minmax(0,1fr);}
  .sn .sn-index__list li:nth-child(-n+4), .sn .sn-index__list li:nth-child(-n+2){border-top:1px solid var(--hair);}
  .sn .sn-index__list li:first-child{border-top:0;}

  .sn .sn-unis li{gap:14px;}

  .sn .sn-dir{grid-template-columns:minmax(0,1fr);row-gap:22px;padding:16px 16px 24px;}
  .sn .sn-dir__txt{padding:0 4px;}
  .sn .sn-dir__dl{grid-template-columns:minmax(0,1fr);row-gap:14px;}

  .sn .sn-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;}
  .sn .sn-team__bhead{gap:6px;}

  .sn .sn-roles li, .sn .sn-roles li:nth-child(even){flex-direction:column;align-items:stretch;gap:18px;}
  .sn .sn-roles__fig{flex:0 0 auto;width:100%;max-width:240px;}

  .sn .sn-sede__dl > div{grid-template-columns:minmax(0,1fr);}
  .sn .sn-sede__dl dt{padding-top:0;}
  .sn .sn-sede__thumbs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sn .sn-sede__foot{gap:4px 20px;}

  .sn .sn-cta__cols{grid-template-columns:minmax(0,1fr);gap:26px;}
}

/* --------------------------------------------------------------------------
   12 · MOVIMIENTO REDUCIDO E IMPRESIÓN
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  .sn *, .sn *::before, .sn *::after{
    transition-duration:.001ms !important;
    animation-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .sn .sn-person:hover .sn-person__fig img, .sn .sn-roles li:hover .sn-roles__fig img, .sn .sn-method__item:hover, .sn .sn-index__list a:hover, .sn .sn-rail a:hover, .sn .sn-btn:hover{transform:none;}
  .sn .sn-arc__year, .sn .sn-method__aside{position:static;}
}

@media print{
  .sn .sn-res, .sn .sn-cta, .sn .sn-steps{background:#fff !important;color:#000 !important;}
  .sn .sn-res__txt h2, .sn .sn-cta h2, .sn .sn-unis__name, .sn .sn-hero__name{color:#000 !important;}
  .sn .sn-hero__card{background:#fff !important;color:#000 !important;border:1px solid #999;}
  .sn .sn-arc__year, .sn .sn-method__aside{position:static;}
  .sn .sn-people > li:nth-child(even){transform:none;}
  .sn .sn-arc__fig--in figcaption{position:static;background:none;color:#000 !important;padding:8px 0 0;}
}