:root{--brand:#ae005d;--deep:#790341;--ink:#25252a;--muted:#64636b;--soft:#faf5f8;--line:#e8dfe4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;color:var(--ink);background:white;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button{font:inherit}img{max-width:100%;height:auto;display:block}.container{width:min(1180px,calc(100% - 80px));margin-inline:auto}.header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:112px}.brand{width:205px;flex-shrink:0}.brand img{width:100%}nav{display:flex;gap:30px;align-items:center}nav a{text-decoration:none;font-size:.9rem;font-weight:600}nav a:hover{color:var(--brand)}.portal-link{border:1px solid var(--brand);color:var(--brand);padding:10px 20px;border-radius:4px}.menu-toggle{display:none}.skip{position:absolute;top:-100px;left:20px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--brand);outline-offset:5px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;padding-block:76px 85px}.eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--brand);margin:0 0 24px}.hero h1{font-size:clamp(3rem,5.3vw,4.6rem);line-height:1.06;letter-spacing:-.045em;margin:0 0 28px;font-weight:600}.hero h1 em{font-style:normal;color:var(--brand);display:block}.lead{font-size:1.17rem;color:var(--muted);max-width:490px;margin:0 0 34px;line-height:1.65}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 27px;color:white;background:var(--brand);font-weight:600;text-decoration:none;border-radius:4px;transition:background .2s}.button:hover{background:var(--deep)}.hero-art{height:470px;background:var(--soft);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:30px;border-radius:160px 160px 8px 8px;border:1px solid #efdee7}.hero-art img{height:282px;width:auto;object-fit:contain}.art-top{font-size:.68rem;letter-spacing:.2em;color:var(--deep);margin-top:8px}.art-bottom{font-size:.9rem;text-align:center;line-height:1.6;color:var(--deep)}.principles{background:var(--brand);color:white}.principles-inner{display:flex;justify-content:space-around;padding-block:23px;gap:20px}.principles span{font-size:1rem;letter-spacing:.03em}.section{padding-block:100px}h2{font-size:clamp(2rem,3.2vw,2.65rem);line-height:1.17;letter-spacing:-.035em;font-weight:500;margin:0 0 25px}h2 span{color:var(--brand)}p{margin-top:0}.about{display:grid;grid-template-columns:1fr 1fr;gap:85px}.about-copy{padding-top:36px;color:var(--muted)}.about-copy p:first-child{color:var(--ink);font-size:1.12rem}.work-section{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:28px}.section-heading>p{max-width:330px;color:var(--muted);margin-bottom:28px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}.service{padding:30px 0 22px;border-top:1px solid #dac8d2}.number{font-size:.8rem;color:var(--brand);font-weight:700}.service h3{font-size:1.17rem;font-weight:600;line-height:1.4;margin:20px 0 12px}.service p{color:var(--muted);font-size:.98rem}.territory{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:center}.territory p:not(.eyebrow){max-width:490px;color:var(--muted)}.territory-list>div{display:flex;gap:30px;align-items:center;border-bottom:1px solid var(--line);padding:19px 0}.territory-list span{color:var(--brand);font-size:.8rem}.territory-list h3{font-weight:400;font-size:1.5rem;margin:0}.values-section{background:var(--deep);color:white}.values{padding-block:42px}.values .eyebrow{color:#f9bddc;margin-bottom:22px}.values>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;font-size:1.35rem}.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact>div>p:not(.eyebrow){max-width:480px;color:var(--muted)}.contact-card{padding:38px;background:var(--soft);border-left:3px solid var(--brand)}.contact-card .eyebrow{display:block;margin-bottom:15px}.email{font-size:clamp(1.1rem,2.1vw,1.65rem);text-decoration:none;color:var(--brand);overflow-wrap:anywhere}.contact-card p{margin-block:10px 24px}footer{border-top:1px solid var(--line);padding-top:40px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:30px}.footer-logo{width:190px}.footer-top p{font-size:.82rem;color:var(--muted);margin:12px 0 0}.footer-links{display:flex;gap:25px;flex-wrap:wrap}.footer-links a{font-size:.84rem;text-decoration:none}.footer-links a:hover{text-decoration:underline;color:var(--brand)}.footer-bottom{border-top:1px solid var(--line);padding-block:22px;display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--muted)}.legal-banner{background:var(--soft);padding:45px 0 50px}.back{font-size:.85rem;color:var(--brand);display:inline-block;margin-bottom:27px}.legal-banner .eyebrow{margin-bottom:16px}.legal-banner h1{font-weight:500;font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.15;letter-spacing:-.04em;margin:0 0 22px}.legal-banner p{color:var(--muted);margin-bottom:8px}.legal-banner .updated{font-size:.85rem}.legal-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:75px;padding-block:60px 100px;align-items:start}.legal-layout aside{position:sticky;top:140px;max-height:calc(100vh - 165px);overflow:auto}.legal-layout summary{font-weight:700;font-size:.9rem;cursor:pointer;color:var(--brand);margin-bottom:18px}.legal-layout nav{display:flex;flex-direction:column;gap:0;align-items:stretch;border-left:1px solid var(--line)}.legal-layout nav a{font-size:.82rem;font-weight:400;padding:7px 0 7px 16px;line-height:1.5}.legal-layout nav a:hover{border-left:2px solid var(--brand);background:var(--soft)}.legal-org{font-weight:700;color:var(--brand)}.legal-document h2{font-size:1.5rem;line-height:1.35;letter-spacing:-.015em;margin:40px 0 20px;display:flex;gap:15px}.legal-document h2 span{font-size:.82rem;padding-top:7px;min-width:22px}.legal-document p{color:#4b4b52;line-height:1.85;margin-bottom:20px;overflow-wrap:anywhere}.legal-document a{color:var(--brand);overflow-wrap:anywhere}.back-top{display:inline-block;margin-top:30px} @media(min-width:1500px){.hero{padding-block:90px 100px}}@media(max-width:1000px){.container{width:calc(100% - 48px)}nav{gap:18px}.brand{width:170px}.hero{gap:35px}.hero-art{height:430px}.hero-art img{height:250px}.about,.territory,.contact{gap:40px}.service-grid{gap:0 25px}.legal-layout{gap:35px;grid-template-columns:220px minmax(0,1fr)}}@media(max-width:760px){html{scroll-padding-top:105px}.container{width:calc(100% - 40px)}.header-inner{min-height:90px}.brand{width:160px}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:white;padding:8px 12px;border-radius:4px;color:var(--brand);font-size:.88rem}.header nav{display:none;position:absolute;top:90px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:20px;align-items:stretch;box-shadow:0 15px 20px #00000008}.header nav.open{display:flex;flex-direction:column}.header nav a{padding:9px 12px}.hero{grid-template-columns:1fr;padding-block:45px;gap:35px}.hero h1{font-size:clamp(2.9rem,11.7vw,4rem)}.eyebrow{font-size:.7rem;letter-spacing:.11em}.hero-art{height:340px;border-radius:120px 120px 6px 6px;padding:24px}.hero-art img{height:190px}.art-top{margin-top:0}.art-bottom{font-size:.8rem}.lead{font-size:1.05rem}.principles-inner{gap:10px;padding-block:18px;justify-content:space-between}.principles span{font-size:.75rem;letter-spacing:0}.section{padding-block:60px}.about,.territory,.contact{grid-template-columns:1fr;gap:20px}.about-copy{padding-top:0}.section-heading{display:block}.section-heading>p{max-width:none}.service-grid{grid-template-columns:1fr 1fr;gap:0 24px}.service h3{font-size:1.05rem}.service p{font-size:.92rem}.values>div{display:grid;grid-template-columns:1fr 1fr;font-size:1.05rem;gap:18px}.contact-card{padding:26px}.footer-top{display:block}.footer-links{flex-direction:column;gap:12px;margin-top:25px}.footer-bottom{flex-direction:column;gap:8px}.legal-banner{padding-block:28px 35px}.legal-layout{grid-template-columns:1fr;gap:25px;padding-block:30px 60px}.legal-layout aside{position:static;max-height:none;background:var(--soft);padding:20px}.legal-document h2{font-size:1.35rem}.legal-document p{font-size:1rem}.legal-banner .eyebrow{font-size:.68rem}}@media(max-width:380px){.service-grid{grid-template-columns:1fr}.principles span{font-size:.7rem}.values>div{font-size:.95rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.header,footer,.legal-layout aside,.back,.back-top{display:none}.legal-layout{display:block;padding:0}.container{width:100%}.legal-banner{background:white;padding:0}.legal-document h2{break-after:avoid}.legal-document p{orphans:3;widows:3}}

.contact-social{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.contact-social .eyebrow{font-size:.68rem;margin:0 0 14px;color:var(--brand)}
.social-links{display:flex;flex-wrap:wrap;gap:12px}
.social-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid #dac8d2;border-radius:4px;color:var(--brand);font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.social-links a:hover{background:var(--brand);border-color:var(--brand);color:white}
.social-links svg{width:20px;height:20px;flex-shrink:0}
.contact-address{font-style:normal;color:var(--muted);font-size:.95rem;line-height:1.7;margin-block:14px 24px}

/* Clear landscape backgrounds, with readable surfaces behind the copy. */
.section-photo{
  --muted:#515059;
  background-color:var(--white);
  background-image:var(--section-image);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.container.section-photo{
  width:100%;
  margin-inline:0;
  padding-inline:max(40px,calc((100% - 1180px)/2));
}
.hero.section-photo{
  --section-image:url("Ixtheni%20fondo%20header.jpg");
  background-position:center 48%;
}
.about.section-photo{
  --section-image:url("Fondo%20quienes%20somos.jpg");
  background-position:center 62%;
}
.work-section.section-photo{
  --section-image:url("Fondo%20nuestro%20trabajo.jpg");
  background-position:center 58%;
}
.territory.section-photo{
  --section-image:url("Fondo%20ambito%20de%20acci%C3%B3n.jpg");
  background-position:center 66%;
}
.section-photo .hero-panel,
.about.section-photo > div,
.section-photo .section-heading,
.section-photo .service,
.territory.section-photo > div{
  background:rgba(255,255,255,.5);
  border:1px solid rgba(255,255,255,.5);
  border-radius:8px;
  padding:28px;
}
.hero.section-photo{display:block}
.hero-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  align-items:center;
  gap:36px;
  width:min(100%,960px);
}
.hero-panel .hero-copy{min-width:0}
.hero.section-photo .hero-art{
  background:transparent;
  border:0;
  border-radius:0;
  height:auto;
  padding:0;
  justify-content:center;
  gap:20px;
}
.hero.section-photo .hero-art img{height:180px;width:auto}
.hero.section-photo .art-bottom{font-size:.85rem}
.about.section-photo{align-items:center}
.section-photo .service-grid{gap:20px}
.section-photo .service{border-top:3px solid rgba(174,0,93,.6)}
.section-photo .service p{margin-bottom:0}
.section-photo .section-heading h2,
.section-photo .section-heading > p{margin-bottom:0}
.territory.section-photo .territory-list > div:last-child{border-bottom:0}
@media(min-width:1001px){
  .about.section-photo,.territory.section-photo{min-height:540px}
}
@media(max-width:1000px){
  .container.section-photo{padding-inline:24px}
}
@media(max-width:760px){
  .container.section-photo{padding-inline:20px}
  /* Limit photo height instead of stretching a landscape across a tall column. */
  .section-photo{
    background-color:var(--soft);
    background-size:auto 560px;
    background-position:center top;
  }
  .hero.section-photo{background-position:38% top}
  .hero.section-photo h1{font-size:clamp(2.2rem,9.4vw,3.5rem)}
  .section-photo .hero-panel,
  .about.section-photo > div,
  .section-photo .section-heading,
  .territory.section-photo > div{padding:22px}
  .section-photo .service{padding:20px 16px}
  .section-photo .service-grid{gap:14px}
  .section-photo .section-heading > p{margin-top:20px}
  .hero-panel{grid-template-columns:1fr;gap:28px}
  .hero.section-photo .hero-art img{height:130px}
  .hero.section-photo .hero-art{gap:14px}
}
@media print{
  .section-photo{background-image:none}
  .container.section-photo{padding-inline:0}
}
