
:root{
  --navy:#161853;
  --navy2:#252c72;
  --sky:#96add6;
  --sky2:#c8d7ed;
  --ink:#171a24;
  --muted:#5e6674;
  --line:#e4e8ef;
  --soft:#f5f7fb;
  --white:#fff;
  --success:#1e6644;
  --max:1180px;
  --radius:18px;
  --shadow:0 20px 55px rgba(17,22,67,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.62}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.skip-link{position:fixed;left:12px;top:-80px;z-index:9999;background:#fff;color:var(--navy);padding:10px 14px;border-radius:6px}
.skip-link:focus{top:12px}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand-mark{width:61px;height:61px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1.08}
.brand-copy strong{font-family:"Playfair Display",Georgia,serif;color:var(--navy);font-size:18.5px}
.brand-copy small{margin-top:5px;color:var(--muted);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.main-nav{display:flex;align-items:center;gap:21px}
.main-nav a{text-decoration:none;font-size:14px;font-weight:600;color:#303542}
.main-nav a:hover,.main-nav a.active{color:var(--navy)}
.nav-cta{background:var(--navy);color:#fff!important;padding:10px 15px;border-radius:8px}
.nav-cta:hover{background:var(--navy2)}
.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:9px;cursor:pointer}
.menu-toggle span{display:block;height:2px;background:var(--navy);margin:6px 0}
.eyebrow{margin:0 0 12px;color:var(--sky);font-size:11px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.eyebrow.dark{color:var(--navy)}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy)}
h1{font-size:clamp(41px,5vw,66px);line-height:1.02;letter-spacing:-.03em}
h2{font-size:clamp(31px,3.7vw,48px);line-height:1.08;letter-spacing:-.02em}
h3{font-size:24px;line-height:1.18}
p{margin-top:0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:11px 21px;border-radius:8px;text-decoration:none;font-weight:700;border:1px solid transparent;transition:.15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--sky);color:#101443}
.btn-primary:hover{background:#afc1df}
.btn-dark{background:var(--navy);color:#fff}
.btn-dark:hover{background:var(--navy2)}
.btn-ghost{border-color:rgba(255,255,255,.58);color:#fff}
.btn-outline{border-color:var(--navy);color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}
.microcopy{margin:14px 0 0;font-size:13px;color:inherit;opacity:.72}
.section{padding:86px 0}
.section-soft{background:var(--soft)}
.section-head{max-width:810px;margin-bottom:38px}
.section-head p:last-child{font-size:18px;color:var(--muted);margin-bottom:0}
.breadcrumbs{padding-top:22px;padding-bottom:8px;font-size:13px;color:var(--muted)}
.breadcrumbs a{text-decoration:none}.breadcrumbs .sep{margin:0 8px;color:#a7afbb}

/* Home */
.home-hero{background:radial-gradient(circle at 86% 11%,rgba(150,173,214,.27),transparent 30%),linear-gradient(135deg,#15174f,#232a69);color:#fff;padding:38px 0 42px}
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(380px,.94fr);gap:44px;align-items:center}
.home-hero h1{color:#fff;margin:0;max-width:650px}
.home-hero .lead{max-width:650px;margin:20px 0 0;color:rgba(255,255,255,.88);font-size:18.5px}
.home-hero .microcopy{color:#fff}
.hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.hero-badges span{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:7px 10px;border-radius:999px;font-size:12px}
.hero-photo-card{position:relative;margin:0;border-radius:24px;overflow:hidden;box-shadow:0 26px 60px rgba(8,13,45,.28)}
.hero-photo-card img{width:100%;height:515px;object-fit:cover}
.hero-photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(8,12,45,.33))}
.trust-bar{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:20px 20px;border-right:1px solid var(--line)}
.trust-item:last-child{border-right:0}
.trust-item strong{display:block;color:var(--navy);font-size:14px}
.trust-item span{display:block;margin-top:3px;color:var(--muted);font-size:13px}

/* Services */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{position:relative;border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 9px 28px rgba(22,24,83,.045)}
.service-card img{width:100%;height:176px;object-fit:cover}
.service-body{padding:24px;display:flex;flex-direction:column;flex:1}
.service-tag{color:var(--sky);font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.service-card h3{margin:8px 0 10px}
.service-card p{color:var(--muted);margin-bottom:19px}
.text-link{display:inline-flex;gap:8px;align-items:center;color:var(--navy);font-weight:700;text-decoration:none;margin-top:auto}
.text-link:after{content:"→";color:var(--sky);font-size:18.5px}
.text-link:hover:after{transform:translateX(3px)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.step{padding:27px;border:1px solid var(--line);border-radius:16px;background:#fff}
.step-num{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}
.step h3{margin:17px 0 8px}.step p{color:var(--muted);margin:0}
.callout{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:31px;border-radius:18px;background:var(--navy);color:#fff}
.callout h2{color:#fff;margin:0 0 8px;font-size:34px}.callout p{margin:0;color:rgba(255,255,255,.78);max-width:720px}
.callout .btn{flex:0 0 auto}

/* Inner hero */
.inner-hero{background:linear-gradient(135deg,#15174f,#232a69);color:#fff;padding:46px 0 54px}
.inner-hero-grid{display:grid;grid-template-columns:1fr .78fr;gap:50px;align-items:center}
.inner-hero h1{color:#fff;margin:0}
.inner-hero .lead{font-size:18px;color:rgba(255,255,255,.87);max-width:710px}
.inner-hero-media{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 20px 45px rgba(5,10,40,.22)}
.inner-hero-media img{width:100%;height:390px;object-fit:cover}
.inner-hero .hero-badges span{font-size:12px}

/* Content blocks */
.content-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:54px;align-items:start}
.prose h2{margin-top:0}.prose h3{margin-top:32px}.prose p,.prose li{color:#3e4654}
.prose ul{padding-left:22px}
.side-card{position:sticky;top:108px;padding:25px;border:1px solid var(--line);border-radius:16px;background:var(--soft)}
.side-card h2{font-size:25px;margin-top:0}.side-card p{color:var(--muted)}
.check-list{list-style:none!important;padding:0!important;margin:0}
.check-list li{position:relative;padding:12px 0 12px 28px;border-bottom:1px solid var(--line)}
.check-list li:before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:700}
.check-list li:last-child{border-bottom:0}
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.info-card{padding:25px;border:1px solid var(--line);border-radius:15px;background:#fff}
.info-card h3{margin-top:0}.info-card p{color:var(--muted);margin-bottom:0}

/* About */
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}
.about-photo{border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.about-photo img{width:100%;height:560px;object-fit:cover}
.values{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:26px}
.value{padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.value strong{display:block;color:var(--navy)}.value span{color:var(--muted);font-size:14px}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gallery figure{margin:0;border-radius:15px;overflow:hidden;background:#eee}
.gallery img{width:100%;height:260px;object-fit:cover;transition:transform .25s ease}
.gallery a:hover img{transform:scale(1.025)}

/* Fees */
.fee-box{padding:28px;border-radius:16px;background:var(--soft);border:1px solid var(--line)}
.fee-box h2{margin-top:0}

/* Contact */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:40px;align-items:start}
.contact-panel{padding:28px;border-radius:18px;background:var(--navy);color:#fff}
.contact-panel h2{color:#fff;margin-top:0}.contact-panel a{color:#fff}
.contact-row{padding:15px 0;border-top:1px solid rgba(255,255,255,.13)}
.contact-row:first-of-type{border-top:0}
.contact-row strong{display:block;color:var(--sky);font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.contact-row span,.contact-row a{display:block;margin-top:4px;text-decoration:none}
.form-card{padding:29px;border:1px solid var(--line);border-radius:18px;background:#fff}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}
label{font-weight:600;color:#323846}
input,select,textarea{width:100%;border:1px solid #cfd5df;border-radius:8px;padding:12px 13px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(150,173,214,.32);border-color:var(--sky)}
textarea{min-height:140px;resize:vertical}
.consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--muted)}
.consent input{width:auto;margin-top:4px}
.form-help{font-size:13px;color:var(--muted);margin-top:10px}

/* Footer */
.site-footer{background:#f7f8fb;border-top:1px solid var(--line);padding:52px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .8fr;gap:48px}
.footer-brand img{width:250px;max-width:100%;height:auto}
.footer-brand p{color:var(--muted);max-width:380px;margin-top:18px}
.site-footer h2{font-size:18px;margin-top:0}
.footer-links{display:flex;flex-direction:column;gap:8px}.footer-links a{text-decoration:none;color:#454b58}.footer-links a:hover{color:var(--navy)}
.footer-links span{color:#666e7c}
.footer-bottom{margin-top:35px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:#717986;font-size:12px}

/* 404 / thanks */
.center-page{min-height:62vh;display:grid;place-items:center;text-align:center;padding:70px 0}
.center-page .box{max-width:700px}

/* Responsive */
@media (max-width:980px){
  .menu-toggle{display:block}
  .main-nav{position:absolute;display:none;left:20px;right:20px;top:78px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0}
  .main-nav.open{display:flex}.main-nav a{padding:12px}.nav-cta{text-align:center;margin-top:5px}
  .home-hero-grid,.inner-hero-grid,.content-grid,.about-grid,.contact-grid{grid-template-columns:1fr}
  .home-hero{padding-top:44px}.hero-photo-card{max-width:650px;margin-inline:auto}.hero-photo-card img{height:520px}
  .trust-grid{grid-template-columns:repeat(2,1fr)}.trust-item:nth-child(2){border-right:0}.trust-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .service-grid{grid-template-columns:repeat(2,1fr)}.steps,.info-cards{grid-template-columns:1fr 1fr}
  .side-card{position:static}.about-photo img{height:480px}.gallery{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media (max-width:650px){
  .container{width:min(calc(100% - 30px),var(--max))}
  .header-inner{min-height:72px}.main-nav{top:72px;left:15px;right:15px}
  .brand-mark{width:44px;height:44px}.brand-copy strong{font-size:16px}.brand-copy small{font-size:9px}
  h1{font-size:clamp(36px,10.6vw,49px)}
  .home-hero{padding:38px 0 44px}.home-hero .lead{font-size:17px}.hero-photo-card img{height:390px}
  .hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .btn{width:100%}
  .trust-grid{grid-template-columns:1fr}.trust-item{border-right:0!important;border-bottom:1px solid var(--line)}.trust-item:last-child{border-bottom:0}
  .section{padding:64px 0}.service-grid,.steps,.info-cards,.values,.gallery,.form-grid,.footer-grid{grid-template-columns:1fr}
  .service-card img{height:190px}.callout{align-items:stretch;flex-direction:column}.callout .btn{width:100%}
  .inner-hero{padding:38px 0 42px}.inner-hero-media img{height:285px}
  .about-photo img{height:410px}.gallery img{height:230px}
  .field.full{grid-column:auto}.footer-brand{grid-column:auto}
  .footer-bottom{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*{transition:none!important;animation:none!important}
}


/* ===========================
   PULIDO VISUAL V2
   =========================== */

/* Header */
.header-inner{
  min-height:78px;
}
.brand-mark{
  width:61px;
  height:61px;
}
.brand-copy strong{
  font-size:20px;
}
.brand-copy small{
  font-size:10.5px;
}

/* Hero: pensado para que CTA + microcopy entren en notebook 1366x768 */
.home-hero{
  padding:38px 0 42px;
}
.home-hero-grid{
  grid-template-columns:minmax(0,1.07fr) minmax(370px,.93fr);
  gap:42px;
}
.home-hero h1{
  max-width:650px;
  line-height:.995;
}
.home-hero .lead{
  max-width:650px;
  margin-top:17px;
  font-size:18px;
  line-height:1.5;
}
.home-hero .hero-badges{
  margin-top:16px;
}
.home-hero .hero-actions{
  margin-top:20px;
}
.home-hero .microcopy{
  margin-top:10px;
}
.hero-photo-card img{
  height:515px;
  object-position:center 46%;
}
.trust-item{
  padding:20px;
}

/* Menos espacio superior en la primera sección después del hero */
.trust-bar + .section{
  padding-top:76px;
}

/* Mejor foco de teclado */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(150,173,214,.58);
  outline-offset:3px;
}

/* Tablet */
@media (max-width:980px){
  .main-nav{ top:78px; }
  .home-hero{
    padding:36px 0 42px;
  }
  .home-hero-grid{
    gap:30px;
  }
  .hero-photo-card{
    max-width:620px;
  }
  .hero-photo-card img{
    height:470px;
  }
}

/* Celular */
@media (max-width:680px){
  .header-inner{
    min-height:70px;
  }
  .main-nav{
    top:70px;
  }
  .brand-mark{
    width:45px;
    height:45px;
  }
  .brand-copy strong{
    font-size:15.5px;
  }
  .brand-copy small{
    display:none;
  }
  .home-hero{
    padding:32px 0 38px;
  }
  .home-hero h1{
    line-height:1.015;
  }
  .home-hero .lead{
    font-size:16.5px;
    line-height:1.48;
  }
  .home-hero .hero-badges{
    margin-top:14px;
  }
  .home-hero .hero-actions{
    margin-top:18px;
  }
  .hero-photo-card{
    border-radius:18px;
  }
  .hero-photo-card img{
    height:345px;
    object-position:center 42%;
  }
  .trust-item{
    padding:17px 18px;
  }
}


/* ===========================
   AJUSTE LOGO / HEADER V3
   =========================== */
.header-inner{
  min-height:74px;
}
.brand{
  gap:9px;
}
.brand-mark{
  width:58px;
  height:58px;
  object-fit:contain;
}
.brand-copy strong{
  font-size:18.2px;
}
.brand-copy small{
  font-size:10px;
}
.main-nav{
  gap:20px;
}
.main-nav a{
  font-size:13.8px;
}

@media (max-width:980px){
  .main-nav{
    top:74px;
  }
}

@media (max-width:680px){
  .header-inner{
    min-height:70px;
  }
  .main-nav{
    top:70px;
  }
  .brand-mark{
    width:44px;
    height:44px;
  }
  .brand-copy strong{
    font-size:15.2px;
  }
}


/* ===========================
   AJUSTES DE NAVEGACIÓN Y MÓVIL V4
   =========================== */
.service-card{
  cursor:pointer;
}
.text-link{
  position:relative;
  z-index:1;
}
.text-link::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:auto;
  /* Se expande visualmente al contenedor mediante el pseudo global siguiente */
}
.service-card .text-link::after{
  position:relative;
  z-index:3;
}
.service-card .text-link:focus-visible{
  outline:3px solid rgba(150,173,214,.55);
  outline-offset:4px;
  border-radius:4px;
}
/* tarjeta completa clickeable sin alterar el HTML */
.service-card .text-link::before{
  position:absolute;
  inset:0;
}
.service-card img{
  display:block !important;
}
@media (max-width:680px){
  .service-card img{
    height:185px;
    object-fit:cover;
  }
  .service-body{
    padding:21px;
  }
}

.service-card .text-link{position:static;}


/* ===========================
   CORRECCIÓN MÓVIL V5
   =========================== */
@media (max-width:980px){
  .home-hero-grid{
    grid-template-columns:minmax(0,1fr) !important;
    width:100%;
  }
  .home-hero-grid > *{
    min-width:0;
    width:100%;
  }
  .hero-photo-card{
    position:relative;
    width:100%;
    max-width:680px;
    margin:0 auto;
  }
}
@media (max-width:680px){
  .home-hero-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:24px !important;
  }
  .home-hero h1{
    font-size:clamp(36px,11vw,46px) !important;
    max-width:none;
    width:100%;
    overflow-wrap:normal;
    word-break:normal;
  }
  .home-hero .lead{
    width:100%;
    max-width:none;
  }
  .hero-photo-card{
    grid-column:1;
    width:100%;
    max-width:none;
    margin:0;
  }
  .hero-photo-card img{
    width:100%;
    height:auto !important;
    aspect-ratio:4/3;
    object-fit:cover;
    object-position:center 40%;
  }
  .home-hero .hero-badges{
    display:none;
  }
  .home-hero .hero-actions{
    width:100%;
  }
  .home-hero .hero-actions .btn{
    width:100%;
  }
}


/* ===========================
   CORRECCIÓN MÓVIL V6 — SAFE AREA HERO
   =========================== */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

@media (max-width:980px){
  .home-hero-grid.container{
    width:calc(100% - 30px) !important;
    max-width:var(--max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width:680px){
  .home-hero-grid.container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin-inline:auto !important;
  }

  .home-hero-grid > div:first-child{
    width:100%;
    min-width:0;
  }

  .home-hero .eyebrow{
    font-size:9.5px;
    letter-spacing:.12em;
    line-height:1.45;
    overflow-wrap:anywhere;
  }

  .home-hero h1{
    font-size:clamp(35px,10.2vw,43px) !important;
    line-height:1.02 !important;
    letter-spacing:-.022em;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .home-hero .lead,
  .home-hero .microcopy{
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .hero-photo-card{
    width:100% !important;
    margin-inline:0 !important;
  }
}


/* ===========================
   LANDING ACCIDENTES V7
   =========================== */
.accident-alert{
  background:#eef3fb;
  border-bottom:1px solid var(--line);
}
.accident-alert-inner{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding-top:16px;
  padding-bottom:16px;
  font-size:14px;
  color:#3f4858;
}
.accident-alert strong{color:var(--navy);white-space:nowrap}

.claim-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.claim-card{
  padding:28px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.claim-card > span{
  display:block;
  color:var(--sky);
  font-size:12px;
  font-weight:700;
  letter-spacing:.12em;
}
.claim-card h3{margin:12px 0 9px}
.claim-card p{margin:0;color:var(--muted)}

.document-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-top:24px;
}
.document-item{
  padding:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
}
.document-item strong{
  display:block;
  color:var(--navy);
  margin-bottom:5px;
}
.document-item span{color:var(--muted);font-size:14px}
.accident-side .side-note{
  margin-top:15px;
  font-size:12px;
  color:#747c89;
}

.process-four{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:15px;
}
.process-card{
  padding:24px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#fff;
}
.process-card > span{
  display:grid;
  place-items:center;
  width:36px;height:36px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-weight:700;
}
.process-card h3{margin:16px 0 8px;font-size:21px}
.process-card p{margin:0;color:var(--muted)}

.offer-callout{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:center;
  gap:35px;
  padding:34px;
  border-radius:18px;
  background:linear-gradient(135deg,var(--navy),var(--navy2));
  color:#fff;
}
.offer-callout h2{color:#fff;margin:0 0 10px}
.offer-callout p{margin-bottom:0;color:rgba(255,255,255,.82);max-width:780px}

.faq-list{
  max-width:900px;
}
.faq-list details{
  border-top:1px solid var(--line);
  padding:0;
}
.faq-list details:last-child{border-bottom:1px solid var(--line)}
.faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:19px 38px 19px 0;
  position:relative;
  color:var(--navy);
  font-weight:700;
  font-size:17px;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{
  content:"+";
  position:absolute;
  right:6px;top:13px;
  font-size:26px;
  font-weight:400;
  color:var(--sky);
}
.faq-list details[open] summary:after{content:"−"}
.faq-list details p{
  color:var(--muted);
  padding:0 40px 18px 0;
  margin:0;
}
.accident-final{padding-top:55px}

@media (max-width:980px){
  .claim-grid{grid-template-columns:repeat(2,1fr)}
  .process-four{grid-template-columns:repeat(2,1fr)}
  .offer-callout{grid-template-columns:1fr}
  .offer-callout .btn{width:max-content}
}
@media (max-width:680px){
  .accident-alert-inner{display:block}
  .accident-alert strong{display:block;margin-bottom:4px;white-space:normal}
  .claim-grid{grid-template-columns:1fr}
  .claim-card{padding:23px}
  .document-grid{grid-template-columns:1fr}
  .process-four{grid-template-columns:1fr}
  .offer-callout{padding:25px 22px}
  .offer-callout .btn{width:100%}
  .faq-list summary{font-size:16px}
}


/* ===========================
   AJUSTE ACCIDENTES V8
   =========================== */
.document-item{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.document-item strong{
  display:block;
  margin:0;
  line-height:1.25;
}
.document-item span{
  display:block;
  margin:0;
  line-height:1.5;
}


/* ACCIDENTES V9 — PRE-EVALUACIÓN */
.accident-intake-section{border-top:1px solid var(--line)}
.accident-intake-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start}
.accident-intake-form{padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(22,24,83,.05)}
.accident-intake-form .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.accident-intake-form .field.full{grid-column:1/-1}
.check-fieldset{margin:0;padding:16px 18px 18px;border:1px solid #cfd5df;border-radius:10px}
.check-fieldset legend{padding:0 7px;color:#323846;font-weight:600}
.check-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 15px}
.check-options label{display:flex;align-items:flex-start;gap:8px;font-weight:400;color:#4f5765}
.check-options input{width:auto;margin-top:5px}
.intake-side{padding:24px;border-radius:16px;background:var(--soft);border:1px solid var(--line)}
.intake-side h3{margin-top:0;font-size:23px}
.intake-side .check-list li{color:#4f5765}
@media (max-width:900px){.accident-intake-wrap{grid-template-columns:1fr}}
@media (max-width:680px){
  .accident-intake-form{padding:22px 18px}
  .accident-intake-form .form-grid{grid-template-columns:1fr}
  .accident-intake-form .field.full{grid-column:auto}
  .check-options{grid-template-columns:1fr}
}


/* LABORAL + ART V10 */
.legal-context-strip{
  background:#eef3fb;
  border-bottom:1px solid var(--line);
}
.legal-context-strip .container{
  display:flex;
  gap:9px;
  padding-top:15px;
  padding-bottom:15px;
  color:#485263;
  font-size:13px;
}
.legal-context-strip strong{
  color:var(--navy);
  white-space:nowrap;
}
.labor-intake-section{
  border-top:1px solid var(--line);
}
@media (max-width:680px){
  .legal-context-strip .container{
    display:block;
  }
  .legal-context-strip strong{
    display:block;
    margin-bottom:3px;
    white-space:normal;
  }
}


/* ===========================
   ART V11 — LANDING ESPECÍFICA
   =========================== */
.art-situation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.art-situation-card{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.art-situation-card > span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--sky);
}
.art-situation-card h3{
  margin:12px 0 9px;
  font-size:21px;
  line-height:1.25;
}
.art-situation-card p{
  margin:0;
  color:var(--muted);
}

.art-route-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.art-route-grid article{
  padding:25px;
  background:#fff;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.art-route-grid h3{
  margin:0 0 8px;
  font-size:20px;
}
.art-route-grid p{
  margin:0;
  color:var(--muted);
}

.art-doc-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.art-commission-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}
.commission-types{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.commission-types h3{
  margin-top:0;
}
.commission-types .btn{
  margin-top:18px;
}

.art-benefits-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.art-benefits-grid article{
  padding:26px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
}
.art-benefits-grid h3{
  margin-top:0;
}
.art-benefits-grid p{
  margin-bottom:0;
  color:var(--muted);
}

.art-final{
  padding-top:55px;
}

@media (max-width:900px){
  .art-situation-grid,
  .art-doc-grid,
  .art-benefits-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .art-commission-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:680px){
  .art-situation-grid,
  .art-route-grid,
  .art-doc-grid,
  .art-benefits-grid{
    grid-template-columns:1fr;
  }
  .art-situation-card,
  .art-route-grid article,
  .art-benefits-grid article{
    padding:22px;
  }
}


/* ===========================
   RÉGIMEN PENAL JUVENIL V12
   =========================== */
.juvenile-situation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.juvenile-situation-card{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.juvenile-situation-card > span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--sky);
}
.juvenile-situation-card h3{
  margin:12px 0 9px;
  font-size:21px;
  line-height:1.25;
}
.juvenile-situation-card p{
  margin:0;
  color:var(--muted);
}

.juvenile-rights-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.juvenile-rights-grid article{
  padding:25px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.juvenile-rights-grid h3{
  margin:0 0 8px;
  font-size:20px;
}
.juvenile-rights-grid p{
  margin:0;
  color:var(--muted);
}

.juvenile-route-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.juvenile-route-grid article{
  padding:26px;
  background:#fff;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.juvenile-route-grid h3{
  margin:0 0 8px;
}
.juvenile-route-grid p{
  margin:0;
  color:var(--muted);
}

.juvenile-privacy-card p + p{
  margin-top:14px;
}

.juvenile-cordoba-grid{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:28px;
  align-items:start;
}

.juvenile-final{
  padding-top:55px;
}

@media (max-width:900px){
  .juvenile-situation-grid,
  .juvenile-rights-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .juvenile-cordoba-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  .juvenile-situation-grid,
  .juvenile-rights-grid,
  .juvenile-route-grid{
    grid-template-columns:1fr;
  }
  .juvenile-situation-card,
  .juvenile-rights-grid article,
  .juvenile-route-grid article{
    padding:22px;
  }
}


/* ===========================
   REGISTRO DE MARCAS V13
   =========================== */
.marks-analysis-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.marks-analysis-grid article{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.marks-analysis-grid article > span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--sky);
}
.marks-analysis-grid h3{
  margin:12px 0 8px;
  font-size:21px;
}
.marks-analysis-grid p{
  margin:0;
  color:var(--muted);
}

.marks-process{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.marks-process article{
  padding:25px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}
.marks-process article > span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-weight:700;
}
.marks-process h3{
  margin:15px 0 8px;
  font-size:20px;
}
.marks-process p{
  margin:0;
  color:var(--muted);
}

.marks-2026-grid,
.marks-cordoba-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}
.marks-update-card{
  padding:26px;
  border-radius:16px;
  background:var(--navy);
  color:#fff;
}
.marks-update-card h3{
  margin-top:0;
  color:#fff;
}
.marks-update-card p{
  color:rgba(255,255,255,.82);
}
.marks-update-card p:last-child{
  margin-bottom:0;
}

.marks-opposition-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.marks-opposition-grid article{
  padding:26px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.marks-opposition-grid h3{
  margin:0 0 8px;
}
.marks-opposition-grid p{
  margin:0;
  color:var(--muted);
}

.marks-after-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
}
.marks-after-grid article{
  padding:24px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
}
.marks-after-grid h3{
  margin-top:0;
  font-size:20px;
}
.marks-after-grid p{
  margin-bottom:0;
  color:var(--muted);
}

.marks-final{
  padding-top:55px;
}

@media (max-width:900px){
  .marks-analysis-grid,
  .marks-process{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .marks-2026-grid,
  .marks-cordoba-grid{
    grid-template-columns:1fr;
  }
  .marks-after-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:680px){
  .marks-analysis-grid,
  .marks-process,
  .marks-opposition-grid,
  .marks-after-grid{
    grid-template-columns:1fr;
  }
  .marks-analysis-grid article,
  .marks-process article,
  .marks-opposition-grid article,
  .marks-after-grid article{
    padding:22px;
  }
}


/* ===========================
   SUCESIONES V14
   =========================== */
.succession-intro-grid,
.succession-assets-grid,
.succession-cordoba-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}

.succession-note{
  padding:26px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--soft);
}
.succession-note h3{
  margin-top:0;
  color:var(--navy);
}
.succession-note p{
  color:var(--muted);
}
.succession-note p:last-child{
  margin-bottom:0;
}

.succession-situation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.succession-situation-grid article{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.succession-situation-grid article > span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--sky);
}
.succession-situation-grid h3{
  margin:12px 0 8px;
  font-size:21px;
  line-height:1.25;
}
.succession-situation-grid p{
  margin:0;
  color:var(--muted);
}

.succession-doc-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.succession-process{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.succession-process article{
  padding:25px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
}
.succession-process article > span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-weight:700;
}
.succession-process h3{
  margin:15px 0 8px;
  font-size:20px;
}
.succession-process p{
  margin:0;
  color:var(--muted);
}

.succession-assets{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:21px;
}
.succession-assets span{
  padding:9px 12px;
  border-radius:999px;
  background:#eef3fb;
  border:1px solid var(--line);
  color:var(--navy);
  font-size:13px;
  font-weight:700;
}

.succession-final{
  padding-top:55px;
}

@media (max-width:900px){
  .succession-intro-grid,
  .succession-assets-grid,
  .succession-cordoba-grid{
    grid-template-columns:1fr;
  }
  .succession-situation-grid,
  .succession-doc-grid,
  .succession-process{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:680px){
  .succession-situation-grid,
  .succession-doc-grid,
  .succession-process{
    grid-template-columns:1fr;
  }
  .succession-situation-grid article,
  .succession-process article{
    padding:22px;
  }
}


/* ===========================
   CONSULTAS HOME V15
   =========================== */
html{
  scroll-behavior:smooth;
}
#consultas{
  scroll-margin-top:86px;
}
.home-consult-section{
  padding:58px 0 64px;
  background:linear-gradient(135deg,var(--navy) 0%,#242866 100%);
  position:relative;
  overflow:hidden;
}
.home-consult-section:after{
  content:"";
  position:absolute;
  width:390px;
  height:390px;
  border-radius:50%;
  right:-190px;
  top:-200px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 0 0 65px rgba(255,255,255,.025),0 0 0 130px rgba(255,255,255,.018);
  pointer-events:none;
}
.home-consult-shell{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);
  gap:48px;
  align-items:center;
}
.home-consult-intro{
  color:#fff;
}
.home-consult-intro .eyebrow{
  color:var(--sky);
}
.home-consult-intro h2{
  color:#fff;
  font-size:clamp(34px,4vw,51px);
  line-height:1.08;
  margin:0 0 18px;
  max-width:560px;
}
.home-consult-lead{
  color:rgba(255,255,255,.78);
  font-size:17px;
  line-height:1.65;
  max-width:590px;
}
.consult-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:28px 0;
}
.consult-facts div{
  padding:14px 12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(255,255,255,.055);
}
.consult-facts strong,
.consult-facts span{
  display:block;
}
.consult-facts strong{
  color:#fff;
  font-size:12px;
  line-height:1.3;
}
.consult-facts span{
  color:var(--sky);
  margin-top:4px;
  font-size:12px;
}
.consult-service-note{
  border-top:1px solid rgba(255,255,255,.13);
  padding-top:22px;
  max-width:590px;
}
.consult-service-note strong{
  color:#fff;
}
.consult-service-note p{
  margin:6px 0 7px;
  color:rgba(255,255,255,.7);
  font-size:14px;
  line-height:1.55;
}
.consult-service-note .text-link{
  color:#fff;
}
.consult-service-note .text-link:after{
  color:var(--sky);
}

.home-consult-form-card{
  padding:31px;
  border-radius:20px;
  background:#fff;
  box-shadow:0 22px 55px rgba(0,0,0,.22);
}
.consult-form-heading{
  margin-bottom:22px;
}
.consult-step-label{
  color:var(--sky);
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
}
.consult-form-heading h3{
  margin:7px 0 7px;
  font-size:29px;
  color:var(--navy);
}
.consult-form-heading p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.home-consult-form-card textarea{
  min-height:118px;
}
.consult-submit{
  width:100%;
  justify-content:center;
}

@media (max-width:980px){
  .home-consult-shell{
    grid-template-columns:1fr;
    gap:32px;
  }
  .home-consult-intro h2,
  .home-consult-lead,
  .consult-service-note{
    max-width:none;
  }
}
@media (max-width:680px){
  #consultas{
    scroll-margin-top:72px;
  }
  .home-consult-section{
    padding:45px 0 50px;
  }
  .home-consult-intro h2{
    font-size:36px;
  }
  .consult-facts{
    grid-template-columns:1fr;
  }
  .consult-facts div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
  }
  .consult-facts span{
    margin-top:0;
    text-align:right;
  }
  .home-consult-form-card{
    padding:23px 18px;
  }
  .consult-form-heading h3{
    font-size:25px;
  }
}


/* ===========================
   DEFENSAS PENALES V16
   =========================== */
.penal-situation-grid,
.penal-rights-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.penal-situation-grid article,
.penal-rights-grid article{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.penal-situation-grid article > span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--sky);
}
.penal-situation-grid h3,
.penal-rights-grid h3{
  margin:12px 0 8px;
  font-size:21px;
  line-height:1.25;
}
.penal-rights-grid h3{
  margin-top:0;
}
.penal-situation-grid p,
.penal-rights-grid p{
  margin:0;
  color:var(--muted);
}

.penal-process{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.penal-process article{
  padding:25px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.penal-process article > span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-weight:700;
}
.penal-process h3{
  margin:15px 0 8px;
  font-size:20px;
}
.penal-process p{
  margin:0;
  color:var(--muted);
}

.penal-coercion-grid,
.penal-cordoba-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}

.penal-doc-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.penal-final{
  padding-top:55px;
}

@media (max-width:900px){
  .penal-situation-grid,
  .penal-rights-grid,
  .penal-process,
  .penal-doc-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .penal-coercion-grid,
  .penal-cordoba-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:680px){
  .penal-situation-grid,
  .penal-rights-grid,
  .penal-process,
  .penal-doc-grid{
    grid-template-columns:1fr;
  }
  .penal-situation-grid article,
  .penal-rights-grid article,
  .penal-process article{
    padding:22px;
  }
}


/* ===========================
   MONOTRIBUTO V17
   =========================== */
.mono-situation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.mono-situation-grid article{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.mono-situation-grid article > span{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--sky);
}
.mono-situation-grid h3{
  margin:12px 0 8px;
  font-size:21px;
  line-height:1.25;
}
.mono-situation-grid p{
  margin:0;
  color:var(--muted);
}

.mono-level-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.mono-level-grid article{
  padding:26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.mono-level-label{
  display:inline-block;
  margin-bottom:11px;
  color:var(--sky);
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
}
.mono-level-grid h3{
  margin:0 0 9px;
  font-size:22px;
}
.mono-level-grid p{
  color:var(--muted);
}

.mono-update-grid,
.mono-cordoba-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}
.mono-update-card{
  padding:26px;
  border-radius:16px;
  background:var(--navy);
  color:#fff;
}
.mono-update-card h3{
  margin-top:0;
  color:#fff;
}
.mono-update-card p{
  color:rgba(255,255,255,.82);
}
.mono-update-card p:last-child{
  margin-bottom:0;
}

.mono-fact-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
}
.mono-fact-grid article{
  padding:24px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.mono-fact-grid h3{
  margin-top:0;
  font-size:20px;
}
.mono-fact-grid p{
  margin-bottom:0;
  color:var(--muted);
}

.mono-exit-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}
.mono-exit-grid article{
  padding:25px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.mono-exit-grid h3{
  margin-top:0;
}
.mono-exit-grid p{
  margin-bottom:0;
  color:var(--muted);
}
.mono-warning{
  display:flex;
  gap:12px;
  margin-top:18px;
  padding:18px 20px;
  border-radius:13px;
  background:#fff;
  border:1px solid var(--line);
}
.mono-warning strong{
  color:var(--navy);
  white-space:nowrap;
}
.mono-warning span{
  color:var(--muted);
}

.mono-final{
  padding-top:55px;
}

@media (max-width:980px){
  .mono-situation-grid,
  .mono-level-grid,
  .mono-exit-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mono-fact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mono-update-grid,
  .mono-cordoba-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  .mono-situation-grid,
  .mono-level-grid,
  .mono-fact-grid,
  .mono-exit-grid{
    grid-template-columns:1fr;
  }
  .mono-situation-grid article,
  .mono-level-grid article,
  .mono-fact-grid article,
  .mono-exit-grid article{
    padding:22px;
  }
  .mono-warning{
    display:block;
  }
  .mono-warning strong{
    display:block;
    margin-bottom:5px;
    white-space:normal;
  }
}


/* ===========================
   QUIÉNES SOMOS V18
   =========================== */
.about-intro-grid,
.about-why-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:28px;
  align-items:start;
}
.about-principles-card,
.about-contact-card{
  padding:27px;
  border-radius:16px;
  border:1px solid var(--line);
  background:var(--soft);
}
.about-principles-card h3,
.about-contact-card h3{
  margin:7px 0 10px;
  color:var(--navy);
  font-size:24px;
}
.about-principles-card p{
  margin-bottom:0;
  color:var(--muted);
}

.profile-grid{
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  gap:15px;
}
.profile-card-main,
.profile-card{
  padding:26px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
}
.profile-card-main{
  display:flex;
  gap:20px;
  align-items:flex-start;
}
.profile-mark-wrap{
  flex:0 0 76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#f5f7fb;
}
.profile-mark{
  max-width:58px;
  max-height:58px;
}
.profile-card-main h3,
.profile-card h3{
  margin-top:0;
  color:var(--navy);
}
.profile-card-main p{
  margin-bottom:0;
  color:var(--muted);
}

.about-area-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.about-area-card{
  display:block;
  padding:23px;
  border-radius:15px;
  border:1px solid var(--line);
  background:#fff;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.about-area-card:hover{
  transform:translateY(-3px);
  box-shadow:0 13px 30px rgba(22,24,83,.08);
  border-color:#c8d3e7;
}
.about-area-card > span{
  color:var(--sky);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}
.about-area-card h3{
  margin:10px 0 7px;
  color:var(--navy);
  font-size:20px;
}
.about-area-card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}

.about-method-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
}
.about-method-grid article{
  padding:24px;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.about-method-grid article > span{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-weight:700;
}
.about-method-grid h3{
  margin:15px 0 8px;
  font-size:20px;
}
.about-method-grid p{
  margin:0;
  color:var(--muted);
}

.about-contact-card .btn{
  margin-top:18px;
}

.about-final{
  padding-top:55px;
}
.about-final-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width:980px){
  .profile-grid{
    grid-template-columns:1fr 1fr;
  }
  .profile-card-main{
    grid-column:1/-1;
  }
  .about-area-grid,
  .about-method-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .about-intro-grid,
  .about-why-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:680px){
  .profile-grid,
  .about-area-grid,
  .about-method-grid{
    grid-template-columns:1fr;
  }
  .profile-card-main{
    grid-column:auto;
  }
  .profile-card-main{
    display:block;
  }
  .profile-mark-wrap{
    margin-bottom:16px;
  }
  .about-final-actions{
    width:100%;
  }
  .about-final-actions .btn{
    width:100%;
    justify-content:center;
  }
}


/* CONTACTO + ARANCELES V19 */
.contact-hero,.fees-hero{padding:46px 0 50px;background:linear-gradient(135deg,var(--navy),#252967);color:#fff}
.contact-hero-grid,.fees-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:38px;align-items:center}
.contact-hero h1,.fees-hero h1{color:#fff;margin-bottom:15px}
.contact-hero .lead,.fees-hero .lead{color:rgba(255,255,255,.8);max-width:730px}
.contact-brand-panel,.fees-hero-card{padding:28px;border-radius:18px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06)}
.contact-logo{width:190px;max-width:100%;height:auto;margin-bottom:17px}
.contact-brand-panel p{margin:0;font-size:21px;font-weight:700;color:#fff}
.contact-brand-panel span{color:var(--sky);font-size:13px}
.fees-hero-card>span{color:var(--sky);font-size:10px;font-weight:800;letter-spacing:.15em}
.fees-hero-card strong{display:block;margin:10px 0 8px;font-size:24px}
.fees-hero-card p{margin:0;color:rgba(255,255,255,.76)}

.contact-channel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.contact-channel-card{padding:27px;border-radius:16px;border:1px solid var(--line);background:#fff}
.contact-channel-label{color:var(--sky);font-size:10px;font-weight:800;letter-spacing:.14em}
.contact-channel-card h3{margin:10px 0 8px;color:var(--navy);font-size:21px;overflow-wrap:anywhere}
.contact-channel-card p{color:var(--muted);min-height:64px}

.contact-info-grid,.fees-law-grid,.fees-transparency-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px;align-items:start}
.contact-info-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.contact-info-list>div{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}
.contact-info-list strong,.contact-info-list span{display:block}
.contact-info-list strong{color:var(--navy);margin-bottom:5px}
.contact-info-list span{color:var(--muted)}
.contact-guidance-card{padding:26px;border-radius:16px;background:var(--navy);color:#fff}
.contact-guidance-card h3{color:#fff;margin-top:0}
.contact-guidance-card p{color:rgba(255,255,255,.78)}

.contact-prep-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.contact-prep-grid article{padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.contact-prep-grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700}
.contact-prep-grid h3{margin:14px 0 7px;font-size:20px}
.contact-prep-grid p{margin:0;color:var(--muted)}
.contact-final,.fees-final{padding-top:55px}

.fees-grid,.fees-modes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.fees-grid article,.fees-modes-grid article{padding:25px;border:1px solid var(--line);border-radius:16px;background:#fff}
.fees-grid article>span{color:var(--sky);font-size:11px;font-weight:800;letter-spacing:.12em}
.fees-grid h3,.fees-modes-grid h3{margin:10px 0 8px;font-size:20px}
.fees-grid p,.fees-modes-grid p{margin:0;color:var(--muted)}
.fees-law-card{padding:26px;border-radius:16px;background:var(--navy);color:#fff}
.fees-law-card h3{color:#fff;margin:7px 0 9px}
.fees-law-card p{color:rgba(255,255,255,.8)}
.fees-points{border-top:1px solid var(--line)}
.fees-points>div{padding:18px 0;border-bottom:1px solid var(--line)}
.fees-points strong,.fees-points span{display:block}
.fees-points strong{color:var(--navy);margin-bottom:4px}
.fees-points span{color:var(--muted)}

@media (max-width:980px){
  .contact-channel-grid,.fees-grid,.fees-modes-grid,.contact-prep-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .contact-hero-grid,.fees-hero-grid,.contact-info-grid,.fees-law-grid,.fees-transparency-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .contact-channel-grid,.fees-grid,.fees-modes-grid,.contact-prep-grid,.contact-info-list{grid-template-columns:1fr}
  .contact-channel-card p{min-height:auto}
}


/* ARANCELES V20 — FUENTE OFICIAL COLEGIO */
.fees-law-card .fees-external-link{
  margin-top:10px;
  width:100%;
  justify-content:center;
  text-align:center;
}
.fees-source-note{
  display:block;
  margin-top:11px;
  color:rgba(255,255,255,.62);
  font-size:11px;
  line-height:1.4;
}




/* ===========================
   MEDICIÓN / CONSENTIMIENTO V25
   =========================== */
.rlc-consent{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1200;
  padding:14px;
  background:rgba(13,17,58,.97);
  box-shadow:0 -10px 35px rgba(0,0,0,.18);
}
.rlc-consent-inner{
  width:min(1160px,calc(100% - 20px));
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.rlc-consent p{
  margin:0;
  color:rgba(255,255,255,.84);
  font-size:13px;
  line-height:1.45;
  max-width:760px;
}
.rlc-consent strong,
.rlc-consent a{
  color:#fff;
}
.rlc-consent-actions{
  display:flex;
  gap:8px;
  flex:0 0 auto;
}
.rlc-consent .btn{
  min-height:40px;
  padding:9px 14px;
  font-size:12px;
}
.rlc-consent .btn-ghost{
  border-color:rgba(255,255,255,.4);
  color:#fff;
}
@media (max-width:760px){
  .rlc-consent-inner{
    display:block;
  }
  .rlc-consent-actions{
    margin-top:11px;
  }
  .rlc-consent .btn{
    flex:1;
  }
}
@media (max-width:460px){
  .rlc-consent-actions{
    flex-direction:column;
  }
}
