:root{--forest:#113a31;--dark:#172f27;--ink:#203a32;--mint:#e4efe6;--cream:#f7f6ef;--orange:#fdc657;--line:#dce4d9}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:16px system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b66d20;outline-offset:3px}.shell{width:min(1180px,92%);margin:auto}.ribbon{background:var(--forest);color:#f9f2de;padding:9px 4%;font-size:10px;letter-spacing:.16em;font-weight:800;display:flex;justify-content:space-between;gap:12px}header{background:#fff}.mast{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:75px}.logo b{font-size:25px;letter-spacing:-.075em;white-space:nowrap}.logo b span{color:#327658}.logo small{display:block;font-size:8px;letter-spacing:.19em;font-weight:800}nav{display:flex;gap:24px;flex-wrap:wrap;font-weight:650;font-size:14px}nav a[aria-current=page]{color:#246548;text-decoration:underline;text-underline-offset:7px}.save{padding:9px 14px;border:1px solid var(--line);border-radius:10px;white-space:nowrap;font-weight:700;font-size:13px}.hero{background:#173e34 url(landscape.svg) center right/auto 100% no-repeat;color:#fff9e9}.hero-inner{padding:60px 0 85px}.eyebrow{font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.hero .eyebrow{color:#fbd073}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,8vw,91px);line-height:.92;letter-spacing:-.075em;margin:17px 0}.hero p{font-size:18px;margin:0}.search-wrap{position:relative;margin-top:-38px}form{display:grid;grid-template-columns:1.35fr 1fr 1fr auto;gap:12px;padding:15px;background:white;border-radius:16px;box-shadow:0 12px 30px #173e3415;border:1px solid var(--line)}label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;padding:8px 10px;background:#f1f5ef;border-radius:8px}input,select{display:block;width:100%;background:none;border:0;padding:5px 0 2px;color:var(--dark);font-size:14px}button.primary{background:var(--orange);color:#1c321e;border:0;border-radius:9px;padding:12px 22px;font-weight:800}.body{padding:32px 0 55px;min-height:55vh}h2{font-size:clamp(32px,5vw,50px);letter-spacing:-.055em;margin:9px 0}p{line-height:1.55}.sections{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:5px 0 40px}.sections a,.pills a{border:1px solid var(--line);background:white;border-radius:10px;padding:13px;font-weight:750}.sections a span{color:#39815e;margin-right:8px}.bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:12px 0 16px;flex-wrap:wrap}.bar span{color:#496358}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(255px,100%),1fr));gap:16px}.card{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative}.art{height:130px;display:grid;place-items:center;background:radial-gradient(ellipse at 15% 90%,#ffffff22 0 26%,transparent 27%),linear-gradient(145deg,var(--a),var(--b));color:#fff6e3;font-size:55px;line-height:1}.card-body{padding:17px}.card h3{margin:6px 0;font-size:21px}.card p{font-size:14px;color:#425c50;margin-bottom:12px}.card .eyebrow{color:#2c6c4b;font-size:10px}.card-actions{display:flex;justify-content:space-between;gap:8px;align-items:center}.link-button{background:none;border:0;color:#1c613f;font-weight:800;padding:6px 0}.heart{border:1px solid var(--line);background:#fff;border-radius:50%;width:34px;height:34px;color:#286748}.heart[aria-pressed=true]{background:#dcece0}.layout{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(230px,1fr);gap:20px;align-items:start}.side,.panel{background:var(--mint);padding:20px;border-radius:14px}.side h3{margin:7px 0}.pills{display:flex;flex-wrap:wrap;gap:7px}.pills button,.bar button{padding:8px 11px;border-radius:8px;border:1px solid #adc4b3;background:#fff;color:#214b36;font-weight:700;font-size:13px}.side svg{width:100%;height:auto;margin:4px 0 10px}footer{background:#e8eee3;font-size:13px}dialog{border:1px solid var(--line);border-radius:16px;max-width:min(520px,92vw);padding:30px;color:var(--ink)}dialog::backdrop{background:#0e2825aa}.close{float:right;border:0;border-radius:50%;background:var(--mint);width:32px;height:32px;font-size:20px}.panel{margin:14px 0}@media(max-width:780px){.mast{flex-wrap:wrap;padding:13px 0;gap:12px}nav{order:3;width:100%;gap:13px}.hero{background-position:40% center}.hero-inner{padding:45px 0 70px}form{grid-template-columns:1fr 1fr}form label:first-child{grid-column:span 2}form button{grid-column:span 2}.layout{grid-template-columns:1fr}.sections{grid-template-columns:1fr 1fr}.ribbon span{display:none}}
.hero{background-image:linear-gradient(90deg,#102d27 0%,#102d27db 30%,#102d2755 75%),url(sumidero.jpg);background-size:cover;background-position:center 54%}.art img{width:100%;height:130px;object-fit:cover}.highlights{margin:0 0 24px}.pills [aria-pressed=true]{background:var(--forest);color:white}.business-search{grid-template-columns:1.35fr 1fr 1fr 1fr auto}[hidden]{display:none!important}@media(max-width:780px){.business-search{grid-template-columns:1fr 1fr}}
#waki-chat{max-width:780px;border:1px solid var(--line);background:#fff;border-radius:18px;overflow:hidden}.waki-head{display:flex;align-items:center;gap:14px;padding:19px;background:var(--forest);color:#fff}.waki-avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#e4efe6;font-size:26px}.waki-head h3{margin:0}.waki-head span{font-size:13px}.waki-head button{margin-left:auto}.waki-head button,.waki-prompts button,#waki-mic{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--cream);color:var(--forest);font-weight:700}.waki-head button[aria-pressed=true]{background:#ffcc63}.waki-head button:hover,.waki-prompts button:hover,#waki-mic:hover{background:#e4efe6}#waki-log{height:clamp(220px,44vh,380px);overflow:auto;padding:17px;display:flex;flex-direction:column;gap:11px}#waki-log p{padding:10px 13px;border-radius:12px;margin:0;max-width:88%;overflow-wrap:anywhere}.waki-reply{background:var(--mint);align-self:flex-start}.waki-reply a{text-decoration:underline;font-weight:750}.waki-user{background:#fae8bd;align-self:flex-end}.waki-prompts{display:flex;gap:7px;flex-wrap:wrap;padding:0 13px 10px}.waki-prompts button{font-size:13px}.waki-compose{display:flex;border-radius:0;border-inline:0;box-shadow:none;gap:8px;padding:12px}.waki-compose input{background:var(--cream);border-radius:8px;padding:8px;min-width:0}.waki-status{font-size:12px;padding:0 13px;margin:0 0 10px}.waki-compose .primary{padding-inline:12px}
.waki-sample{padding:12px 17px;background:var(--mint);border-bottom:1px solid var(--line)}.waki-sample summary{cursor:pointer;font-weight:750}.waki-sample p{margin:8px 0;font-size:13px}.waki-sample audio{display:block;width:min(100%,330px)}
.promo-card{max-width:760px}.promo-card video{display:block;width:100%;aspect-ratio:16/9;background:#202020}.promo-feature{display:flex;gap:12px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap}.promo-feature h3,.promo-feature p{margin:6px 0}
.home-promo-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#202020;border-radius:10px}
:root{--forest:#073568;--dark:#09294b;--ink:#163b48;--mint:#e8f0e3;--orange:#a8cd2e}
header{background:#05244b;color:white}.logo{display:block;flex-shrink:0;width:235px}.brand-wordmark{display:block;width:100%;height:73px;object-fit:contain}.logo small{font-size:8px;letter-spacing:.2em;text-align:center;margin-top:-6px;padding-bottom:9px}header nav{gap:12px;font-size:13px}header .mast{flex-wrap:wrap;justify-content:space-between;padding-block:7px;gap:7px 16px}header nav a[aria-current=page]{color:#c4e04a}.save{border-color:#426080}footer{background:#05244b;color:#fff}footer .mast{flex-wrap:wrap;padding-block:20px}.hero{background-image:linear-gradient(90deg,#031b5555,transparent 63%),url(brand/canon-fondo.png);background-position:center;background-size:cover;min-height:560px}.hero-inner{padding:55px 0 100px}.hero h1{font-size:clamp(42px,5.5vw,73px);line-height:1;letter-spacing:-.05em;text-shadow:0 3px 12px #02153b80;max-width:52%;margin:18px 0}.hero h1 span{color:#bdde30;font-size:1.3em}.hero p{max-width:45%;font-weight:650;text-shadow:0 2px 8px #01294e}.hero-waki-link{display:inline-block;background:#ed0864;color:white;font-weight:800;padding:12px 22px;border-radius:8px;margin-top:18px}.waki-avatar,.waki-face{background-image:url(brand/waki-canon.png);background-size:365%;background-position:97% 15%;background-repeat:no-repeat}.waki-floating{position:fixed;z-index:5;bottom:20px;right:18px;display:flex;align-items:center;gap:9px;padding:6px 16px 6px 6px;border-radius:50px;background:#073568;color:white;font-size:13px;font-weight:800;box-shadow:0 6px 20px #00163438;border:2px solid #bdd833}.waki-face{display:block;flex-shrink:0;width:48px;height:48px;border-radius:50%}footer{padding-bottom:60px}@media(max-width:780px){header .logo{width:210px}header nav{order:3;gap:12px;padding:8px 0}.hero{min-height:550px;background-position:65% center}.hero-inner{padding:35px 0 85px}.hero h1{font-size:clamp(36px,7vw,54px);max-width:56%}.hero p{font-size:15px;max-width:49%}.hero .eyebrow{max-width:55%;font-size:9px}.hero-waki-link{font-size:13px;padding:11px 14px}.waki-floating{bottom:12px;right:12px}.hero{background-image:linear-gradient(90deg,#031b5580,transparent 75%),url(brand/canon-fondo.png)}}@media(max-width:420px){.hero{min-height:490px;background-position:63% center}.hero h1{font-size:36px}.hero p{max-width:50%;font-size:14px}.hero .eyebrow{letter-spacing:.07em}.hero-inner{padding-top:30px}}
@media(min-width:781px){.hero{min-height:clamp(560px,56.25vw,820px);background-position:center top}}
@media(max-width:600px){.hero{min-height:690px;background-color:#062e74;background-image:linear-gradient(180deg,#062e74 0%,#062e7400 30%),url(brand/canon-fondo.png);background-size:100% 100%,auto 58%;background-position:center,bottom right;background-repeat:no-repeat}.hero-inner{padding-top:28px}.hero h1{font-size:36px;max-width:100%;margin:14px 0}.hero p{max-width:100%;font-size:14px}.hero .eyebrow{max-width:100%}.hero-waki-link{margin-top:10px}}
.campaign-header{padding:24px;background:#fce8f1;border:1px solid #f2c9dc;border-radius:15px;margin-bottom:25px}.campaign-header h3{font-size:32px;letter-spacing:-.04em;margin:10px 0}.campaign-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:18px}.campaign-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#202020}.campaign-banner{display:block;background:#faedf3}.campaign-banner img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}.campaign-divider{margin-top:38px}.campaign-grid .card h3{font-size:21px}
.campaign-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:16px;margin:20px 0}.campaign-locations article{padding:18px;background:#fff;border:1px solid #f2c9dc;border-radius:12px}.campaign-locations h4{margin:0 0 9px}.campaign-locations p{font-size:14px}.location-source{font-size:11px;text-decoration:underline}
.event-poster{display:block;width:100%;height:300px;object-fit:contain;background:#17100b}.event-detail{max-width:1000px}.event-posters{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}.event-posters img{display:block;width:100%;height:auto;border-radius:12px}.event-detail .panel{max-width:720px}
.home-events{margin:28px 0 36px}.home-events .grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.home-events h2{margin-bottom:4px}.home-events .event-poster{height:320px}
.directory-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:15px;margin-top:18px}.directory-tile{text-align:left;display:flex;flex-direction:column;gap:10px;padding:23px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);min-height:145px}.directory-tile strong{font-size:21px;letter-spacing:-.025em}.directory-tile span{font-size:13px}.directory-tile span:last-child{color:#246548;font-weight:750;margin-top:auto}.directory-tile:hover{background:#eaf2e5;border-color:#6b9863}.directory-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.chiapas-map{display:block;width:100%;height:auto;margin:10px 0}.map-credit{font-size:10px;line-height:1.45;margin-bottom:16px}.map-credit a{text-decoration:underline}
.place-card{display:flex;flex-direction:column}.place-card .card-body{display:flex;flex-direction:column;flex:1}.place-card .card-actions{margin-top:auto}.place-card h3 a:hover{text-decoration:underline}.place-filters{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin-bottom:15px}.place-filters input,.place-filters select{margin-top:5px}.place-types{margin:12px 0 25px}.place-types [aria-pressed=true]{background:var(--forest);color:white}.place-detail{max-width:1000px}.place-detail>.panel{max-width:780px;margin:15px 0 30px}.event-venues{padding:12px;border:1px solid var(--line);border-radius:10px;margin:10px 0 15px;background:#edf4e8}.event-venues strong{font-size:12px}.event-venues .link-button{display:block;font-size:13px;line-height:1.45}.visit-note,.place-count{font-size:13px;color:#426453}.place-detail .grid{margin-top:15px}@media(max-width:600px){.place-filters{grid-template-columns:1fr}}

.festival-day{padding:24px 0;border-top:1px solid #dce4da;scroll-margin-top:20px}.festival-program{padding-left:22px}.festival-program li{margin:0 0 16px;line-height:1.6}.festival-program-poster{display:block;width:100%;max-width:720px;height:auto;border-radius:12px}.pills a{display:inline-block;padding:9px 14px;border:1px solid #bacac1;border-radius:8px;text-decoration:none;color:#173d35;background:white}

#waki-log .waki-reply{white-space:pre-line}#waki-log .waki-reply a{display:inline-block;margin-top:5px}

@font-face{font-family:"Primero Script";src:url("fonts/KaushanScript-Regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
footer .project-footer{display:grid;grid-template-columns:210px minmax(0,1fr) 130px;align-items:center;column-gap:40px;row-gap:22px;padding-block:34px}
footer .project-footer .logo{width:210px}
footer .project-statement{font-family:"Primero Script",cursive;font-size:25px;font-weight:400;font-style:normal;line-height:1.65;letter-spacing:0;color:#fff;text-align:center;text-wrap:balance;margin:0}
footer .project-footer .love-brand-mark{display:block;width:130px;height:auto;filter:brightness(0) invert(1);justify-self:center}
footer .footer-agenda{grid-column:1/-1;justify-self:center;font-size:12px;color:#c6d6e7;padding-top:14px;border-top:1px solid #ffffff22;width:100%;text-align:center}
@media(max-width:900px){footer .project-footer{grid-template-columns:1fr 1fr;gap:24px}footer .project-statement{grid-column:1/-1;grid-row:1;font-size:24px;max-width:650px;justify-self:center}footer .project-footer .logo{justify-self:end}footer .project-footer .love-brand-mark{justify-self:start}}
@media(max-width:480px){footer .project-footer{column-gap:20px;padding-block:28px}footer .project-statement{font-size:22px;line-height:1.6}footer .project-footer .logo{width:170px}footer .project-footer .love-brand-mark{width:110px}}

footer .project-footer{grid-template-columns:210px minmax(0,1fr) 230px;column-gap:30px}
footer .love-brand-horizontal{position:relative;display:block;width:230px;aspect-ratio:1538 / 349;overflow:hidden;justify-self:center}
footer .project-footer .love-brand-horizontal .love-brand-mark{position:absolute;display:block;width:133.15995%;max-width:none;height:auto;left:-16.57997%;top:-176.79083%;filter:none}
@media(max-width:900px){footer .project-footer{grid-template-columns:1fr 1fr;gap:24px}footer .love-brand-horizontal{justify-self:start;width:210px}}
@media(max-width:480px){footer .project-footer{gap:22px 18px}footer .love-brand-horizontal{width:160px}footer .project-footer .logo{width:150px}}
