:root{--v:#14783C;--v2:#0B4828;--tinta:#121416;--gris:#525C56;--blanco:#fff;--suave:#F4F7F4;--foto:#EAF1EC;--linea:#DDE4DE;--morado:#7334A5;--amarillo:#FFD629;--display:'Montserrat',Arial,sans-serif;--texto:'Barlow',Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--blanco);color:var(--tinta);font:400 18px/1.6 var(--texto)}
button,input,textarea{font:inherit}
a{color:inherit;text-underline-offset:4px}
img{display:block;max-width:100%;height:auto}
figure,p{margin:0}
p+p{margin-top:18px}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.16;letter-spacing:-.035em;margin:0;text-wrap:balance}
h2{font-size:clamp(29px,3.3vw,43px)}
h2 span{color:var(--v)}
svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--morado);outline-offset:5px}
.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:8px;left:8px;background:var(--v2);color:#fff;padding:12px 20px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
.site-header{background:rgba(255,255,255,.98);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:30}
.header-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0}
.brand>img{width:85px;flex-shrink:0;border-radius:2px;background:#6E328A;padding:5px 6px}
.brand-text{display:grid;gap:2px}
.brand-text strong{font:800 20px/1.2 var(--display);letter-spacing:-.04em}
.brand-text>span{font-size:14px;color:var(--gris);line-height:1.3}
.main-nav{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:700}
.main-nav a{text-decoration:none;padding-block:12px;white-space:nowrap}
.main-nav a:hover{color:var(--v)}
.main-nav .nav-contact{color:var(--v2);border:1px solid var(--linea);border-radius:28px;padding:10px 18px}
.nav-contact span{margin-left:5px}
.menu-toggle{display:none;width:46px;height:46px;justify-content:center;align-items:center;background:white;border:1px solid var(--linea);border-radius:8px;color:var(--tinta);cursor:pointer;flex-shrink:0}
.hero{padding:40px 0 0}
.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;grid-template-rows:auto auto auto;column-gap:54px;align-items:center}
.candidate-label{grid-column:1;grid-row:1;display:flex;align-items:center;gap:12px;margin-top:28px;margin-bottom:25px;font-size:15px;line-height:1.5;color:var(--gris)}
.candidate-label strong{font-weight:500;color:var(--tinta)}
.hero-title-block{grid-column:1;grid-row:2}
.hero h1{font-size:clamp(50px,5.8vw,78px);line-height:1.03;letter-spacing:-.065em}
.hero h1 span{color:var(--v)}
.identity-line{width:166px;height:6px;margin-top:26px;background:linear-gradient(90deg,var(--v) 0 35%,var(--tinta) 35% 45%,var(--morado) 45% 75%,var(--amarillo) 75%)}
.hero-copy{grid-column:1;grid-row:3;align-self:start;padding-top:26px;padding-bottom:32px}
.hero-name{font:700 22px/1.35 var(--display);letter-spacing:-.035em;margin-bottom:10px}
.hero-description{max-width:47ch;color:var(--gris);font-size:19px;line-height:1.6}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 22px;min-height:48px;border:1px solid transparent;border-radius:28px;font:700 16px/1.35 var(--texto);text-decoration:none;cursor:pointer;transition:background .15s}
.btn-primary{background:var(--v);color:white}
.btn-primary:hover{background:var(--v2)}
.btn-outline{color:var(--v2);border-color:var(--linea);background:white}
.btn-outline:hover{border-color:var(--v)}
.btn-white{background:white;color:var(--v2)}
.btn-white:hover{background:var(--foto)}
.hero-portrait{grid-column:2;grid-row:1/4;position:relative;align-self:stretch;background:var(--foto);border-right:16px solid var(--morado);min-height:520px;overflow:hidden}
.hero-portrait>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center top;mix-blend-mode:multiply}
.hero-portrait:after{content:'';position:absolute;bottom:0;right:0;width:110px;height:14px;background:var(--amarillo)}
.hero-portrait figcaption{position:absolute;left:18px;bottom:24px;background:white;padding:10px 14px;line-height:1.5;font-size:13px;max-width:calc(100% - 40px)}
.hero-portrait figcaption strong{display:block;font-weight:700}
.roles{display:grid;grid-template-columns:repeat(3,1fr);padding-block:34px;margin-top:8px}
.role{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 24px;border-right:1px solid var(--linea)}
.role:first-child{padding-left:0;justify-content:flex-start}
.role:last-child{padding-right:0;border:0;justify-content:flex-end}
.role-icon{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border-radius:50%;color:white}
.role-icon svg{width:26px;height:26px}
.green{background:var(--v)}.black{background:var(--tinta)}.purple{background:var(--morado)}
.role strong{display:block;font:700 15px/1.5 var(--display);letter-spacing:-.025em}
.role>div>span{display:block;font-size:15px;color:var(--gris);line-height:1.4;margin-top:3px}
.section{padding-block:80px}
.eyebrow{font-size:13px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;color:var(--gris);margin-bottom:14px}
.section-line{width:112px;height:4px;margin-block:24px;background:linear-gradient(90deg,var(--v) 0 40%,var(--morado) 40% 75%,var(--amarillo) 75%)}
.bio{background:var(--suave);border-block:1px solid var(--linea)}
.bio-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center}
.bio-photo{background:var(--foto);border-bottom:6px solid var(--v);position:relative}
.bio-photo img{width:100%;mix-blend-mode:multiply}
.bio-photo figcaption{background:var(--v2);color:white;font-weight:500;font-size:16px;padding:18px 24px}
.bio-copy>p:not(.eyebrow){color:var(--gris);max-width:58ch;font-size:17px}
.credentials{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;padding-top:24px;border-top:1px solid var(--linea)}
.credentials span{display:block;color:var(--gris);font-size:14px;margin-bottom:6px}
.credentials strong{font:700 15px/1.5 var(--display);letter-spacing:-.025em;display:block}
.section-heading{max-width:620px}
.section-heading>p:last-child{color:var(--gris)}
.priority-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.priority{border:1px solid var(--linea);border-top:4px solid var(--v);padding:28px 28px 26px;display:flex;flex-direction:column}
.priority-number{font:700 13px/1.5 var(--display);color:var(--v);margin-bottom:26px}
.priority h3{font-size:24px;line-height:1.3;letter-spacing:-.04em;min-height:2.6em}
.priority>p{font-size:17px;color:var(--gris);margin-top:20px;margin-bottom:24px}
.priority-focus{border-top:1px solid var(--linea);padding-top:20px;margin-top:auto}
.priority-focus strong{font-size:15px;color:var(--v2)}
.priority-focus p{font-size:16px;color:var(--gris);margin-top:6px}
.role-note{margin-top:30px;font-size:16px;color:var(--gris);max-width:75ch}
.team{background:var(--v2);color:white}
.team-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:84px;align-items:center}
.team .eyebrow{color:#D0E0D5}
.team h2 span{color:#fff}
.team-copy>p:not(.eyebrow){color:#E0EAE3;font-size:18px;max-width:47ch}
.team .btn{margin-top:28px}
.team :focus-visible,.site-footer :focus-visible{outline-color:var(--amarillo)}
.team-list{border:1px solid rgba(255,255,255,.25);padding:32px}
.team-mayor>span{display:block;color:#D0E0D5;font-size:15px;margin-bottom:6px}
.team-mayor>strong{font:800 28px/1.3 var(--display);letter-spacing:-.035em}
.urban-list{margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.25)}
.urban-list h3{font-size:17px;letter-spacing:-.025em;line-height:1.5}
.urban-list>p{color:#D0E0D5;font-size:14px;margin-top:6px}
.urban-list ul{padding:0;margin:22px 0 0;list-style:none;display:grid;gap:16px;font-size:17px}
.urban-list li{border-left:3px solid var(--amarillo);padding-left:14px;line-height:1.5}
.recognition-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:84px;align-items:center}
.recognition p:not(.eyebrow){color:var(--gris);max-width:54ch}
.text-link{display:inline-block;font-size:16px;font-weight:700;color:var(--v2);line-height:1.6;padding-block:10px}
.recognition .text-link{margin-top:16px}
.recognition-logo{border-left:1px solid var(--linea);padding-left:48px}
.recognition-logo img{width:290px;max-width:100%;border-radius:3px;background:#6E328A;padding:18px 22px}
.recognition-logo p{margin-top:20px;font-size:17px}
.recognition-logo strong{font-size:15px;font-weight:500}
.contact{background:var(--suave);border-top:1px solid var(--linea)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:start}
.contact-grid>div:first-child>p:not(.eyebrow){color:var(--gris);max-width:44ch}
.contact-panel{padding:32px;background:#fff;border:1px solid var(--linea);border-top:4px solid var(--v)}
.contact-symbol{width:50px;height:50px;background:var(--foto);color:var(--v);display:grid;place-items:center;border-radius:50%;margin-bottom:24px}
.contact-symbol svg{width:25px;height:25px}
.contact-pending h3{font-size:22px;margin-bottom:16px;line-height:1.3}
.contact-pending p{color:var(--gris);font-size:17px}
.contact-pending .text-link{margin-top:16px}
#contact-form{display:grid;gap:20px}
#contact-form label{display:grid;gap:8px;font-size:16px;font-weight:700;color:var(--v2)}
#contact-form label>span{font-weight:400;display:contents}
#contact-form input,#contact-form textarea{width:100%;max-width:100%;border:1px solid #9DAAA1;border-radius:4px;background:white;color:var(--tinta);padding:12px 14px;font-size:17px;line-height:1.4}
#contact-form textarea{resize:vertical}
#contact-form input:focus,#contact-form textarea:focus{outline:2px solid var(--v);outline-offset:2px;border-color:var(--v)}
.form-note,.form-feedback{font-size:14px;color:var(--gris);line-height:1.6}
.form-feedback{color:var(--v2)}
.social-links{display:flex;flex-wrap:wrap;gap:16px;margin-top:20px}
.social-links a{font-weight:700;font-size:16px;min-height:44px;display:inline-flex;align-items:center;color:var(--v2)}
.site-footer{background:var(--tinta);color:white;padding-block:36px;border-top:5px solid transparent;border-image:linear-gradient(90deg,var(--v) 0 65%,var(--morado) 65% 90%,var(--amarillo) 90%) 1}
.footer-inner{display:flex;gap:32px;align-items:center;justify-content:space-between;font-size:15px}
.footer-brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.footer-brand>img{width:85px;border-radius:2px;background:#6E328A;padding:5px 6px}
.footer-brand>span{display:grid;gap:3px}
.footer-brand strong{font:700 16px/1.4 var(--display);letter-spacing:-.025em}
.footer-brand>span>span{color:#D2D9D4;font-size:14px}
.footer-inner>p{color:#D2D9D4;font-size:15px;line-height:1.7}
.footer-inner>p>strong{color:white;font-weight:700}
.footer-inner>a:last-child{padding-block:12px;white-space:nowrap}
@media(min-width:1450px){.hero-grid{column-gap:70px}.hero-portrait{min-height:555px}}
@media(max-width:1050px){.header-inner{gap:20px}.main-nav{gap:18px;font-size:14px}.brand-text strong{font-size:18px}.brand-text>span{font-size:12px}.brand>img{width:76px}.hero-grid{gap:0 32px}.hero-portrait{min-height:490px}.hero h1{font-size:60px}.hero-description{font-size:18px}.hero-name{font-size:20px}.role{padding-inline:16px;gap:12px}.role-icon{width:48px;height:48px}.role>div>span{font-size:14px}.bio-grid{gap:44px}.team-grid,.contact-grid,.recognition-grid{gap:48px}.priority{padding:24px 22px}.priority h3{font-size:21px}.priority-grid{gap:18px}}
@media(max-width:900px){.header-inner{min-height:76px}.menu-toggle{display:flex}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--linea);padding:14px 24px 20px;box-shadow:0 12px 24px rgba(18,20,22,.06);font-size:16px}.main-nav.is-open{display:flex}.main-nav a{padding:13px 10px}.main-nav .nav-contact{margin-top:8px;padding-inline:16px;align-self:flex-start}.brand-text strong{font-size:20px}.brand-text>span{font-size:14px}.brand>img{width:85px}.hero-grid{column-gap:24px}.hero h1{font-size:clamp(40px,6.8vw,59px)}.hero-portrait{min-height:475px;border-right-width:12px}.candidate-label{font-size:14px;margin-bottom:24px;margin-top:14px;gap:10px}.candidate-label img{width:64px}.hero-copy{padding-top:20px;padding-bottom:18px}.hero-description{font-size:17px}.hero-name{font-size:19px}.identity-line{margin-top:22px}.btn{font-size:15px;padding:12px 18px}.actions{gap:10px;margin-top:20px}.section{padding-block:64px}.roles{padding-block:28px}.role{flex-direction:column;text-align:center;align-items:center;gap:10px}.role:first-child,.role:last-child{justify-content:center}.role>div>span{max-width:23ch}.bio-grid{grid-template-columns:.8fr 1.2fr;gap:32px}.bio-copy>p:not(.eyebrow){font-size:16px}.credentials{gap:16px}.credentials strong{font-size:14px}.priority-grid{gap:16px}.priority{padding:24px 18px}.priority h3{font-size:20px;min-height:3.9em}.priority>p{font-size:16px}.priority-focus p{font-size:15px}.team-grid{grid-template-columns:1fr 1fr;gap:32px}.team-list{padding:24px}.team-copy>p:not(.eyebrow){font-size:17px}.urban-list ul{font-size:16px}.team-mayor>strong{font-size:25px}.contact-grid,.recognition-grid{gap:32px}.recognition-logo{padding-left:32px}.contact-panel{padding:24px}.footer-inner{gap:24px}.footer-inner>p{font-size:14px}.footer-brand>img{width:70px}.footer-brand strong{font-size:15px}.footer-brand>span>span{font-size:13px}}
@media(max-width:650px){html{scroll-padding-top:88px}.wrap{width:calc(100% - 40px)}.header-inner{min-height:74px;gap:12px}.brand{gap:10px}.brand>img{width:68px}.brand-text strong{font-size:17px}.brand-text>span{font-size:11px;max-width:190px}.menu-toggle{width:44px;height:44px}.hero{padding-top:24px}.hero-grid{grid-template-columns:1fr .93fr;column-gap:16px;grid-template-rows:auto auto auto;align-items:center}.candidate-label{grid-column:1/3;grid-row:1;margin:0 0 22px;font-size:14px;gap:10px}.candidate-label span br{display:none}.candidate-label strong{display:block;font-size:13px}.candidate-label img{width:68px}.hero-title-block{grid-column:1;grid-row:2}.hero h1{font-size:clamp(31px,7.6vw,49px);line-height:1.1;letter-spacing:-.065em}.identity-line{width:90px;height:5px;margin-top:20px}.hero-portrait{grid-column:2;grid-row:2;min-height:0;height:260px;align-self:center;border-right-width:8px}.hero-portrait>img{object-position:center top}.hero-portrait figcaption{font-size:10px;left:8px;bottom:18px;padding:5px 8px;max-width:calc(100% - 16px);line-height:1.4}.hero-portrait figcaption span{display:none}.hero-portrait:after{width:64px;height:10px}.hero-copy{grid-column:1/3;grid-row:3;padding-top:26px;padding-bottom:0}.hero-name{font-size:21px}.hero-description{font-size:18px;max-width:none}.actions{margin-top:20px}.btn{font-size:15px;min-height:48px}.roles{margin-top:24px;padding-block:24px;grid-template-columns:repeat(3,1fr)}.role{padding-inline:8px;gap:12px}.role:first-child{padding-right:8px}.role:last-child{padding-left:8px}.role-icon{width:44px;height:44px}.role-icon svg{width:23px;height:23px}.role strong{font-size:12px;letter-spacing:-.035em}.role>div>span{font-size:12px;line-height:1.45;max-width:16ch;margin-top:6px}.section{padding-block:48px}h2{font-size:30px}.eyebrow{font-size:12px;margin-bottom:12px}.section-line{margin-block:20px}.bio-grid{grid-template-columns:1fr;gap:32px}.bio-photo{width:100%;max-width:420px;margin-inline:auto}.bio-photo img{max-height:355px;object-fit:cover;object-position:center 25%}.bio-photo figcaption{font-size:15px;padding:14px 20px}.bio-copy>p:not(.eyebrow){font-size:17px}.credentials{margin-top:24px;padding-top:20px;gap:18px}.credentials strong{font-size:14px}.priority-grid{grid-template-columns:1fr;gap:20px;margin-top:28px}.priority{padding:26px}.priority-number{margin-bottom:16px}.priority h3{font-size:23px;min-height:0;max-width:18ch}.priority>p{font-size:17px;margin-block:18px 22px}.priority-focus p{font-size:16px}.role-note{font-size:15px;margin-top:24px}.team-grid{grid-template-columns:1fr;gap:32px}.team-copy>p:not(.eyebrow){font-size:18px}.team-list{padding:26px}.team-mayor>strong{font-size:26px}.urban-list ul{font-size:17px}.recognition-grid{grid-template-columns:1fr;gap:32px}.recognition-logo{border-left:0;border-top:1px solid var(--linea);padding:28px 0 0}.recognition-logo img{width:240px}.contact-grid{grid-template-columns:1fr;gap:28px}.contact-panel{padding:26px}.footer-inner{flex-direction:column;align-items:flex-start;gap:22px}.footer-brand>img{width:80px}.footer-brand strong{font-size:17px}.footer-brand>span>span{font-size:14px}.site-footer{padding-block:30px}.footer-inner>p{font-size:15px}.footer-inner>a:last-child{font-size:15px}.recognition .text-link{font-size:15px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.brand>img{width:58px}.brand-text strong{font-size:15px}.brand-text>span{font-size:10px;max-width:165px}.brand{gap:8px}.hero-grid{column-gap:12px}.hero h1{font-size:30px}.hero-portrait{height:225px}.hero-name{font-size:20px}.hero-description{font-size:17px}.actions{display:grid}.actions .btn{width:100%}.role strong{font-size:11px}.role>div>span{font-size:11px}.priority,.team-list,.contact-panel{padding:22px}h2{font-size:28px}.credentials{grid-template-columns:1fr;gap:14px}}
@media(max-width:650px){.hero-portrait>img{width:145%;max-width:none;height:auto;inset:0 auto auto 50%;transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
