:root {
  --bg: #fcfcfc;
  --surface: #ffffff;
  --surface-2: #f7f8f0;
  --chip: #f1f2e9;
  --footer: #fbfcf8;
  --ink: #121000;
  --body: #494736;
  --muted: #686655;
  --green: #007f00;
  --green-deep: #003600;
  --lime: #e6ff00;
  --rule: #828474;
  --rule-soft: #bbbcaa;
  --dot: #e1e3d6;
  --font: "Albert Sans", Roboto, Arial, sans-serif;
  --gutter: 1.25rem;
  --block-gap: 3.5rem;
}

/* base (capa del framework: rem) */
*,:before,:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--body);font-family:var(--font);font-weight:400;font-size:1rem;line-height:1.5rem}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset{margin:0px}
ul,ol{padding:0;list-style:none}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none !important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{font-weight:400;color:var(--ink);text-wrap:balance}
:focus-visible{outline:1px dashed var(--ink);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.container{width:100%;padding-inline:var(--gutter);margin-inline:auto}
.container.no-inner-spacing{padding-inline:0}
.stack-block{margin-bottom:var(--block-gap)}
.mt0{margin-top:0 !important}
.mb0{margin-bottom:0 !important}

/* títulos: el h2 se repite por breakpoint, igual que en el sistema de diseño original */
.heading-xl{font-size:clamp(1.9375rem,1.2rem + 2.1vw,3rem);line-height:1.1;letter-spacing:-.01em}
.heading-l{font-size:1.9375rem;line-height:2.6875rem}
.heading-m{font-size:1.5rem;line-height:2rem}
.lead{font-size:1.125rem;line-height:1.75rem;color:var(--body);text-wrap:pretty}
.meta{font-size:.8125rem;line-height:1.25rem;letter-spacing:.2px;color:var(--muted)}

/* pills */
.btn{display:inline-flex;align-items:center;gap:.5rem;min-height:40px;padding:7px 20px;border-radius:800px;border:1px solid transparent;font-size:14px;line-height:20px;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}
.btn-lg{min-height:46px;padding:10px 25px}
.btn-icon-suffix svg{width:24px;height:24px;margin-right:-.8125rem}
.btn-green-primary{background:var(--green);color:#fff}
.btn-green-primary:hover{background:#006600}
.btn-ink-secondary{border-color:var(--muted);color:var(--ink)}
.btn-ink-secondary:hover{background:var(--chip)}
.btn-text{padding:0px;min-height:auto;text-decoration:underline !important;text-underline-offset:5px;color:var(--ink)}
.btn-icon-only{justify-content:center;width:40px;height:40px;min-height:0;padding:0;border-color:var(--muted);border-radius:50%}
.btn-icon-only svg{width:20px;height:20px}
.btn-icon-only[aria-disabled=true]{opacity:.5}

/* cabecera flotante */
.sitehead{position:fixed;top:12px;left:var(--gutter);right:var(--gutter);z-index:40;transition:transform .3s ease-in-out,opacity .3s ease-in-out}
.sitehead.nav-hidden{transform:translateY(-200px);opacity:0}
.sitehead__pill{display:flex;align-items:center;justify-content:space-between;gap:16px;height:56px;padding:0 10px 0 22px;border-radius:36px;background:var(--chip);background:rgba(241,242,233,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.sitehead__logo img{width:150px;height:auto}
.sitehead__links,.sitehead__utility{display:none}
.sitehead__links a,.sitehead__utility a{font-size:16px;line-height:24px;color:var(--ink)}
.sitehead__links a:hover,.sitehead__utility a:hover,.sitehead__links a[aria-current=page]{color:var(--green)}
.sitehead__burger{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%}
.sitehead__burger svg{width:22px;height:22px}
.menu-panel{position:fixed;inset:0;z-index:50;padding:88px 0 24px;background:#fff;overflow:auto}
.menu-panel a{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 32px;border-bottom:1px solid var(--chip);color:var(--ink);opacity:0;transform:translateX(5px);animation:entra .3s ease forwards;animation-delay:calc(var(--link-item-index) * 40ms)}
.menu-panel .menu-close{position:absolute;top:20px;right:28px;width:40px;height:40px}
@keyframes entra{to{opacity:1;transform:none}}
/* con el menú abierto no scrollea el fondo; antes esto lo hacía el JS */
body:has(.menu-panel:not([hidden])){overflow:hidden}

/* hero con diapositivas */
.hero-block{position:relative}
.hero-block__slides{position:relative;height:447px;overflow:hidden}
.hero-block__slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.hero-block__slide.is-active{opacity:1}
.hero-block__slide img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-object-position,50% 50%)}
.hero-block__controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:14px var(--gutter)}
.hero-block__dots{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:800px;background:rgba(18,16,0,.35)}
.hero-block__dots button{width:9px;height:9px;border-radius:9px;background:var(--dot);transition:all .4s ease}
.hero-block__dots button[aria-current=true]{width:52px;background:var(--lime)}
.hero-block__pause{width:36px;height:36px;border-radius:50%;background:rgba(18,16,0,.35);color:#fff}
.hero-block__pause svg{width:16px;height:16px;margin:auto}
.hero-block__caption{font-size:13px;line-height:20px;letter-spacing:.2px;color:var(--muted);margin-right:auto}

/* tarjeta intro + libro */
.intro-row{display:grid;gap:24px}
.outline-card{min-height:250px;padding:24px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}
.outline-card h1{margin-bottom:16px}
.outline-card p+p{margin-top:12px}
.libro{position:relative;padding:22px 24px 26px 56px;border-radius:12px;background:#fffef7;border:1px solid var(--rule-soft);background-image:repeating-linear-gradient(transparent 0 27px,#e7e4cf 27px 28px);font-size:15px;line-height:28px;color:var(--ink)}
.libro:before{content:"";position:absolute;left:40px;top:0;bottom:0;width:1px;background:#e3a8a0}
.libro__head{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}
.libro__firma{margin-top:8px;font-style:italic;color:var(--muted)}
.libro__nota{margin-top:10px;font-size:13px;line-height:20px;color:var(--muted)}

/* fila de cuatro */
.tile-row{display:grid;grid-auto-flow:column;grid-auto-columns:78%;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.tile-row::-webkit-scrollbar{display:none}
.tile-row__item{min-width:0;scroll-snap-align:start}
.tile-row__item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}
.tile-row__item h3{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:1.5rem;line-height:2rem}
.tile-row__item h3 svg{width:20px;height:20px;flex:none}
.tile-row__item p{margin-top:4px;font-size:15px;line-height:22px}
.tile-row__item:hover h3{color:var(--green)}

/* banda con foto y tarjeta crema */
.image-band{position:relative}
.image-band__photo img{width:100%;height:500px;object-fit:cover}
.image-band__card{position:relative;margin:-90px var(--gutter) 0;padding:24px;border-radius:12px;background:var(--surface-2)}
.image-band__card p{margin-block:12px 18px}

/* grilla de datos */
.data-grid{display:grid;gap:32px}
.data-grid__row{display:grid;gap:32px;align-items:stretch}
.stat-card{display:flex;flex-direction:column;min-height:250px;padding:24px;border:1px solid var(--rule);border-radius:16px;background:var(--surface)}
.stat-card__num{display:flex;align-items:baseline;gap:10px;margin-top:18px;font-size:2.4375rem;line-height:3rem;color:var(--ink)}
.stat-card__num small{font-size:14px;color:var(--green)}
.stat-card p{margin-top:auto;font-size:15px;line-height:22px}
.media-tile{min-width:0}
.media-tile img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:16px}
.media-tile h3{margin:14px 0 12px;font-size:1.5rem;line-height:2rem}
.doc-tile{display:flex;flex-direction:column;justify-content:space-between;min-height:218px;padding:24px;border:1px solid var(--rule);border-radius:16px;background:var(--surface)}
.doc-tile--deep{background:var(--green-deep);border-color:var(--green-deep);color:#fff}
.doc-tile--deep h3{color:#fff}
.doc-tile__foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.doc-tile__go{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--muted)}
.doc-tile--deep .doc-tile__go{background:var(--lime);border-color:var(--lime);color:var(--green-deep)}
.doc-tile--deep .meta{color:#d9dccb}

/* honorarios */
.fees{width:100%;border-collapse:collapse}
.fees th,.fees td{padding:16px 12px 16px 0;border-bottom:1px solid var(--rule-soft);text-align:left;vertical-align:top;font-weight:400}
.fees th{color:var(--ink);width:34%}
.fees td b{font-weight:400;color:var(--ink);font-size:1.25rem}
.cuota-calc{margin-top:28px;padding:24px;border-radius:16px;background:var(--surface-2)}
.cuota-calc label{display:block;margin-bottom:6px}
.cuota-calc input{width:100%;max-width:320px;height:48px;padding:0 18px;border:1px solid var(--rule);border-radius:800px;background:#fff;font-size:16px}
.cuota-calc output{display:block;margin-top:14px;font-size:1.125rem;line-height:1.75rem;color:var(--ink)}

/* no tomamos */
.no-list li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--rule-soft)}
.no-list svg{width:22px;height:22px;margin-top:2px;color:var(--muted)}

/* carril de situaciones */
.news-rail__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.filter-pill{display:flex;gap:2px;padding:3px;border:1px solid var(--rule-soft);border-radius:800px;overflow-x:auto;max-width:100%}
.filter-pill button{flex:none;min-height:34px;padding:0 16px;border-radius:800px;font-size:13px;line-height:20px}
.filter-pill button[aria-pressed=true]{background:var(--chip);color:var(--ink)}
.news-rail__track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,80%);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.news-rail__track::-webkit-scrollbar{display:none}
.rail-card{min-width:0;scroll-snap-align:start}
.rail-card[hidden]{display:none}
.rail-card img{width:100%;aspect-ratio:344/230;object-fit:cover;border-radius:16px}
.rail-card h3{margin-top:6px;font-size:1.5rem;line-height:2rem}
.rail-card p{margin-top:8px;font-size:15px;line-height:22px}
.news-rail__bar{display:flex;align-items:center;gap:16px;margin-top:22px}
.news-rail__progress{flex:1;height:4px;border-radius:4px;background:var(--chip);overflow:hidden}
.news-rail__progress i{display:block;height:100%;width:30%;background:var(--rule);transition:width .2s}
.news-rail__arrows{display:flex;gap:10px}

/* acordeón de dudas */
.faq dt button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:18px 0;border-bottom:1px solid var(--rule-soft);font-size:1.125rem;line-height:1.75rem;color:var(--ink);text-align:left}
.faq dt button svg{flex:none;width:20px;height:20px;transition:transform .15s ease-in-out}
.faq dt button[aria-expanded=true] svg{transform:rotate(180deg)}
.faq dd{padding:14px 0 20px;line-height:1.75rem}

/* línea de tiempo (formulario) */
.timeline-form{padding:24px;border:1px solid var(--rule);border-radius:16px;background:var(--surface)}
.timeline-form label,.timeline-form legend{display:block;margin-bottom:6px;font-size:13px;line-height:20px;letter-spacing:.2px;color:var(--muted)}
.timeline-form input,.timeline-form select,.timeline-form textarea{width:100%;height:48px;padding:0 18px;border:1px solid var(--rule);border-radius:800px;background:#fff;font-size:16px;color:var(--ink)}
.timeline-form textarea{height:auto;min-height:80px;padding:12px 18px;border-radius:20px;resize:vertical}
.timeline-form input:focus,.timeline-form select:focus,.timeline-form textarea:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 1px var(--green)}
.timeline-form .campo{margin-bottom:18px}
.timeline-form .dos{display:grid;gap:12px}
.hechos{margin:0px 0px 18px;padding:0;border:0}
.hecho{position:relative;display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:start;padding:0 0 12px 22px}
.hecho:before{content:"";position:absolute;left:5px;top:20px;width:9px;height:9px;border-radius:50%;background:var(--green)}
.hecho:after{content:"";position:absolute;left:9px;top:32px;bottom:-4px;width:1px;background:var(--rule-soft)}
.hecho:last-of-type:after{display:none}
.hecho .quitar{width:40px;height:48px;border-radius:50%;color:var(--muted)}
.agregar-hecho{margin:0 0 20px 22px}
.timeline-form .mal{border-color:#b42318 !important;background:#fff6f5}
.form-error{min-height:20px;margin:6px 0 14px;font-size:14px;line-height:20px;color:#b42318}
.hp-field{position:absolute;left:-9000px}
.timeline-ok{padding:24px;border-radius:16px;background:var(--surface-2)}

/* pie */
.site-footer{padding:32px 0;background:var(--footer)}
.site-footer__top__main-links{display:grid;gap:0}
.site-footer__top__main-links__link-group{border:1px solid var(--rule-soft);border-radius:12px;margin-bottom:8px}
.site-footer__top__main-links__link-group__title{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;padding:0 16px;font-size:16px;color:var(--ink);text-align:left}
.site-footer__top__main-links__link-group ul{padding:0 16px 14px}
.site-footer__top__main-links__link-group a,.site-footer__top__main-links__link-group button.abrir-cookies{display:block;padding:8px 0;font-size:16px;line-height:24px;color:var(--body);text-align:left}
.site-footer a:hover,.site-footer button.abrir-cookies:hover{text-decoration:underline !important}
.site-footer__rule{height:1px;margin:28px 0 18px;background:var(--rule)}
.site-footer__legal{display:flex;flex-wrap:wrap;gap:8px 40px;font-size:13px;line-height:20px;color:var(--muted)}
.site-footer__copy{display:flex;align-items:center;gap:14px;margin-top:22px;font-size:13px;line-height:20px;color:var(--muted)}
.site-footer__copy img{width:120px}

/* cookies: hoja abajo */
.cookie-sheet{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:24px var(--gutter);background:#fff;box-shadow:0 -20px 60px rgba(18,16,0,.18)}
.cookie-sheet__in{display:grid;gap:18px}
.cookie-sheet h2{font-size:1.5rem;line-height:2rem}
.cookie-sheet p{margin-top:8px}
.cookie-sheet__opts label{display:flex;align-items:center;gap:8px;margin-top:6px}
.cookie-sheet__btns{display:grid;gap:10px;align-content:start}
.cookie-sheet__btns .btn{justify-content:center}

/* subpáginas */
.page-head{padding-top:136px;margin-bottom:var(--block-gap)}
.page-head .lead{margin-top:16px;max-width:42rem}
.breadcrumb{margin-bottom:14px}
.breadcrumb a{text-decoration:underline !important;text-underline-offset:3px}
.layout-a{display:grid;gap:32px}
.layout-a__text h2{margin:0 0 14px}
.layout-a__text h3{margin:32px 0 10px;font-size:1.5rem;line-height:2rem}
.layout-a__text p,.layout-a__text li{line-height:1.75rem;text-wrap:pretty}
.layout-a__text p+p{margin-top:14px}
.layout-a__text ul{list-style:disc;padding-left:1.25rem}
.layout-a__text li+li{margin-top:6px}
.legal-text{max-width:100%}
.legal-text h1{margin-bottom:24px}
.legal-text h4{margin:30px 0 8px;padding-top:24px;border-top:1px solid var(--rule-soft);font-size:1.5rem;line-height:2rem}
.legal-text p,.legal-text li{line-height:1.75rem}
.legal-text ul{list-style:disc;padding-left:1.25rem}
.paso{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--rule-soft)}
.paso span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--chip);color:var(--ink)}
.carta{padding:28px;border-radius:16px;background:#fffef7;border:1px solid var(--rule-soft);font-family:Georgia,serif;font-size:15px;line-height:26px;color:var(--ink)}
.carta p+p{margin-top:12px}
.carta mark{padding:0 3px;background:#eef4b0;color:inherit}
.casos-tabla{width:100%;border-collapse:collapse}
.casos-tabla th,.casos-tabla td{padding:14px 12px 14px 0;border-bottom:1px solid var(--rule-soft);text-align:left;vertical-align:top;font-weight:400}
.casos-tabla th{color:var(--ink)}
.desliza{overflow-x:auto}


@media (min-width:576px){
  :root{--gutter:2rem}
  .tile-row{grid-auto-columns:46%}
  .timeline-form .dos{grid-template-columns:1fr 1fr}
}
@media (min-width:768px){
  .heading-l{font-size:2.4375rem;line-height:3rem}
  .data-grid__row--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .data-grid__row--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .news-rail__track{grid-auto-columns:344px}
  .cookie-sheet__in{grid-template-columns:1fr 280px;gap:48px;align-items:start}
}
@media (min-width:1024px){
  :root{--gutter:4rem;--block-gap:5rem}
  .sitehead{top:32px;left:auto;right:auto;width:calc(100% - 2 * 64px);margin-inline:64px}
  .sitehead__pill{height:72px;padding:0 28px}
  .sitehead__logo img{width:180px}
  .sitehead__links{display:flex;gap:28px}
  .sitehead__utility{display:flex;align-items:center;gap:24px;padding-left:24px;border-left:1px solid var(--rule-soft)}
  .sitehead__burger{display:none}
  .hero-block__slides{height:568px}
  .hero-block__controls{position:absolute;right:var(--gutter);bottom:24px;padding:6px;border-radius:800px;background:rgba(241,242,233,.35)}
  .hero-block__caption{display:none}
  .intro-row{grid-template-columns:560px 1fr;gap:48px;align-items:start}
  .tile-row{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;overflow:visible}
  .image-band__photo img{height:536px}
  .image-band__card{position:absolute;left:var(--gutter);bottom:40px;width:416px;margin:0}
  .heading-l{font-size:2.4375rem;line-height:3rem}
  .layout-a{grid-template-columns:7fr 4fr;gap:64px}
  .site-footer__top__main-links{grid-template-columns:repeat(4,1fr);gap:50px}
  .site-footer__top__main-links__link-group{border:0;margin:0}
  .site-footer__top__main-links__link-group__title{height:auto;padding:0 0 14px;font-size:20px;line-height:28px;pointer-events:none}
  .site-footer__top__main-links__link-group__title svg{display:none}
  .site-footer__top__main-links__link-group ul{display:block !important;padding:0}
  .layout-a--form{grid-template-columns:5fr 6fr}
}
@media (max-width:1023.98px){
  .sitehead__pill{box-shadow:0 1px 0 rgba(18,16,0,.04)}
}
@media (max-width:901.98px){
  /* old: .stat-card{min-height:450px} */
  .stat-card{min-height:250px}
}
@media (max-width:575.98px){
  .hecho{grid-template-columns:1fr auto;padding-left:22px}
  .hecho input[type=date]{grid-column:1/-1}
  .fees th{width:44%}
  /* TODO: en iPhone SE el input date nativo mide 2px más que los otros; si molesta, ponerle height fija */
}
@media (prefers-reduced-motion:reduce){
  *,*:before,*:after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
  .menu-panel a{opacity:1;transform:none}
}
/* el header fijo tapa el título al saltar con un ancla */
.faq-block,#linea-de-tiempo{scroll-margin-top:110px}
