:root{--bg: #f3f8fa;--surface: #ffffff;--primary: #000000;--accent: #3498bf;--accent-soft: #5eb6d4;--accent-deep: #1f6f8f;--ink: #0f0f0f;--ink-soft: #222222;--muted: #5b6b75;--line: rgba(15, 15, 15, .1);--shadow: 0 14px 40px rgba(52, 152, 191, .12);--glass: rgba(255, 255, 255, .78);--radius: 18px;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "Manrope", system-ui, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--logo-mark: #000000;--brand-grad-a: #0f0f0f;--brand-grad-b: #1f6f8f;--tone-evento: #c45c1a;--tone-evento-end: #e8923d;--tone-noticia: #1f6f8f;--tone-noticia-end: #5eb6d4;--tone-taller: #1a7a5c;--tone-taller-end: #3db892;--tone-aviso: #a12b2b;--tone-aviso-end: #d96457}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:var(--font-body);color:var(--ink);background-color:var(--bg);background-image:radial-gradient(ellipse 80% 50% at 50% -10%,rgba(52,152,191,.16),transparent 60%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cpath fill='none' stroke='%233498bf' stroke-opacity='0.08' stroke-width='1.2' d='M10 90c20-28 40-28 60 0s40 28 60 0M10 130c20-28 40-28 60 0s40 28 60 0M10 50c20-28 40-28 60 0s40 28 60 0'/%3E%3C/svg%3E");line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}#root{min-height:100vh}.site-shell{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.container{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.site-header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 0}.brand-lockup{display:inline-flex;align-items:center;gap:.7rem;color:var(--ink)}.brand-mark{display:block;object-fit:contain;object-position:center;background:transparent;flex:0 0 auto}.brand-lockup__mark{width:48px!important;height:auto!important}.brand-lockup__text{display:flex;flex-direction:column;line-height:1.05}.brand-lockup__name{font-family:var(--font-display);font-size:1.55rem;font-weight:700}.brand-lockup__sub{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.site-header__tools{display:flex;align-items:center;gap:.85rem 1.15rem;flex-wrap:wrap;justify-content:flex-end}.nav{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.95rem;font-weight:500}.nav a{color:var(--ink-soft);transition:color .18s var(--ease)}.nav a:hover,.nav a[aria-current=page]{color:var(--accent)}.lang-switch{position:relative;z-index:30}.lang-switch__trigger{display:inline-flex;align-items:center;gap:.4rem;min-height:38px;padding:.3rem .65rem .3rem .45rem;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--bg) 55%,white);color:var(--ink);cursor:pointer;transition:border-color .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}.lang-switch__trigger:hover,.lang-switch.is-open .lang-switch__trigger{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 8px 18px #3498bf1f}.lang-switch__flag{font-size:1.15rem;line-height:1;display:inline-grid;place-items:center;width:1.35rem}.lang-switch__code{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:var(--muted)}.lang-switch__chevron{font-size:.7rem;color:var(--muted);transition:transform .16s var(--ease)}.lang-switch.is-open .lang-switch__chevron{transform:rotate(180deg)}.lang-switch__menu{position:absolute;top:calc(100% + .4rem);right:0;margin:0;padding:.35rem;list-style:none;min-width:11.5rem;border:1px solid var(--line);border-radius:14px;background:#fffffffa;box-shadow:0 18px 40px #0f0f0f24;animation:rise-in .18s var(--ease) both}.lang-switch__option{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;border:0;background:transparent;border-radius:10px;padding:.55rem .6rem;cursor:pointer;color:var(--ink);text-align:left;transition:background .14s var(--ease)}.lang-switch__option:hover,.lang-switch__option.is-active{background:color-mix(in srgb,var(--accent) 12%,white)}.lang-switch__native{font-size:.9rem;font-weight:600}.lang-switch__option .lang-switch__code{font-size:.68rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:999px;padding:.85rem 1.35rem;background:var(--primary);color:#fff;font-weight:600;cursor:pointer;transition:transform .18s var(--ease),background .18s var(--ease),opacity .18s var(--ease)}.btn:hover:not(:disabled){background:var(--accent);transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}.btn--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,white);color:var(--ink)}.hero{position:relative;min-height:min(58vh,520px);max-height:620px;display:grid;align-items:center;overflow:hidden;color:#fff}.hero__stage{position:absolute;inset:0;background:linear-gradient(180deg,#0003,#000000c7 74%),radial-gradient(ellipse 70% 55% at 50% 18%,rgba(52,152,191,.35),transparent 70%),linear-gradient(160deg,#050505,#0b1a22 48%,#04080c);animation:stage-breathe 10s ease-in-out infinite alternate}.hero__wind{position:absolute;inset:0;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='1.4' d='M20 110c24-34 48-34 72 0s48 34 72 0M20 150c24-34 48-34 72 0s48 34 72 0M20 70c24-34 48-34 72 0s48 34 72 0'/%3E%3C/svg%3E");animation:wind-drift 18s linear infinite}.hero__beam{position:absolute;inset:-20% 20% auto;height:70%;background:linear-gradient(180deg,rgba(94,182,212,.28),transparent 70%);clip-path:polygon(38% 0,62% 0,92% 100%,8% 100%);opacity:.55;animation:beam-sweep 8s var(--ease) infinite alternate}.hero__content{position:relative;z-index:1;padding:clamp(1.5rem,4vh,2.5rem) 0 clamp(1.25rem,3vh,2rem)}.hero__identity{display:grid;gap:1.5rem;align-items:end}@media(min-width:860px){.hero__identity{grid-template-columns:auto 1fr;gap:2.25rem;align-items:center}}.hero__logo-btn{border:0;background:transparent;padding:0;cursor:pointer;text-align:left;color:inherit;animation:rise-in .9s var(--ease) both}.hero__logo{width:clamp(120px,18vw,180px)!important;height:auto!important;max-width:min(180px,36vw);margin:0;filter:drop-shadow(0 18px 40px rgba(0,0,0,.45));transition:transform .22s var(--ease)}.hero__logo-btn:hover .hero__logo{transform:scale(1.03)}.hero__logo-hint{display:block;margin-top:.55rem;font-size:.82rem;color:#ffffffb8}.hero__copy{min-width:0}.hero__brand{margin:0 0 .45rem;font-family:var(--font-display);font-size:clamp(2rem,5.5vw,3.4rem);line-height:.95;letter-spacing:-.02em;animation:rise-in .9s var(--ease) 80ms both}.hero__headline{margin:0;max-width:16ch;font-family:var(--font-display);font-size:clamp(1.3rem,2.8vw,1.9rem);font-weight:500;line-height:1.12;animation:rise-in .9s var(--ease) .16s both}.hero__headline span{color:var(--accent-soft)}.hero__lead{margin:.65rem 0 1.1rem;max-width:34ch;color:#ffffffdb;font-family:var(--font-display);font-size:1.1rem;font-style:italic;animation:rise-in .9s var(--ease) .24s both}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem;animation:rise-in .9s var(--ease) .32s both}.hero__ghost{color:#fff;border-color:#ffffff73}.hero__ghost:hover:not(:disabled){background:#ffffff1f;color:#fff}.section{padding:clamp(3rem,7vw,5rem) 0}.section--soft{background:radial-gradient(circle at 12% 20%,rgba(52,152,191,.16),transparent 40%),radial-gradient(circle at 88% 70%,rgba(255,183,77,.14),transparent 42%),color-mix(in srgb,var(--accent) 7%,transparent)}.section--mint{background:linear-gradient(135deg,#3498bf1a,#78c8aa1f),#eef8f6}.section--sky{background:radial-gradient(circle at 80% 10%,rgba(52,152,191,.2),transparent 35%),linear-gradient(180deg,#e7f4fa,#f7fbfd)}.section--feed{background:radial-gradient(circle at 0% 0%,rgba(255,140,105,.14),transparent 35%),radial-gradient(circle at 100% 30%,rgba(52,152,191,.18),transparent 40%),#f7fafc}.section__head--row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:end}.section__head--brand{display:flex;align-items:flex-start;gap:.9rem;overflow:visible}.section__head--brand>.brand-mark{flex:0 0 auto;margin-top:.15rem;max-width:64px}.festival-banner{padding:.65rem 0 .35rem;margin-top:0}.festival-banner__card{position:relative;display:grid;gap:1rem;align-items:center;width:100%;overflow:hidden;border:0;border-radius:22px;padding:1.15rem 1.25rem;color:#fff;text-align:left;font:inherit;cursor:pointer;background:linear-gradient(120deg,#0f0f0f,#163d4d 42%,#1f6f8f 78%,#3498bf);background-size:160% 160%;box-shadow:0 18px 40px #0f0f0f2e;transition:transform .22s var(--ease),box-shadow .22s var(--ease);animation:festival-breathe 7s ease-in-out infinite,festival-shift 10s ease-in-out infinite alternate}@media(min-width:820px){.festival-banner__card{grid-template-columns:1fr auto;gap:1.25rem;padding:1.25rem 1.5rem}}.festival-banner__card:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 26px 54px #1f6f8f57}.festival-banner__glow{position:absolute;inset:-30% 35% auto auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(94,182,212,.4),transparent 70%);pointer-events:none;animation:festival-glow 6s ease-in-out infinite alternate}.festival-banner__glow--two{inset:auto auto -40% -10%;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);animation-delay:-2.5s}.festival-banner__wind{position:absolute;inset:0;pointer-events:none;overflow:hidden}.festival-banner__wind span{position:absolute;left:-40%;height:2px;width:45%;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);opacity:.55;animation:festival-wind 4.8s linear infinite}.festival-banner__wind span:nth-child(1){top:28%;animation-duration:4.2s}.festival-banner__wind span:nth-child(2){top:52%;width:55%;animation-duration:5.4s;animation-delay:-1.4s;opacity:.35}.festival-banner__wind span:nth-child(3){top:74%;width:38%;animation-duration:3.8s;animation-delay:-2.2s;opacity:.45}.festival-banner__shimmer{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.14) 48%,transparent 62%);transform:translate(-120%);animation:festival-shimmer 5.5s ease-in-out infinite}.festival-banner__copy{position:relative;z-index:1;min-width:0}.festival-banner__kicker{margin:0 0 .25rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-soft);display:inline-flex;align-items:center;gap:.45rem}.festival-banner__pulse{width:8px;height:8px;border-radius:999px;background:#7fd4ef;box-shadow:0 0 #7fd4efb3;animation:festival-pulse 1.8s ease-out infinite}.festival-banner__copy h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(1.7rem,3.4vw,2.35rem);line-height:1.05}.festival-banner__copy p{margin:0;color:#ffffffe0;max-width:48ch;font-size:.95rem}.festival-banner__cta{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.4rem;justify-self:start;padding:.7rem 1rem;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.28);font-weight:700;font-size:.9rem;white-space:nowrap;animation:festival-cta 2.8s ease-in-out infinite}.festival-banner__arrow{display:inline-block;animation:festival-arrow 1.4s ease-in-out infinite}.festival-banner__card:hover .festival-banner__cta{background:#fff;color:#0f0f0f;animation:none}.festival-banner__carousel{display:grid;gap:.85rem}.festival-banner__dots{display:flex;justify-content:center;gap:.45rem}.festival-banner__dot{width:.55rem;height:.55rem;border-radius:999px;border:0;padding:0;background:#0f0f0f38;cursor:pointer}.festival-banner__dot.is-active{background:var(--accent, #3498bf);transform:scale(1.15)}@keyframes festival-breathe{0%,to{box-shadow:0 18px 40px #0f0f0f2e}50%{box-shadow:0 22px 50px #3498bf52}}@keyframes festival-shift{0%{background-position:0% 50%}to{background-position:100% 50%}}@keyframes festival-glow{0%{transform:translate(-8%,4%) scale(.92);opacity:.55}to{transform:translate(10%,-6%) scale(1.12);opacity:1}}@keyframes festival-wind{0%{transform:translate(0)}to{transform:translate(280%)}}@keyframes festival-shimmer{0%,25%{transform:translate(-120%)}55%,to{transform:translate(120%)}}@keyframes festival-pulse{0%{box-shadow:0 0 #7fd4efb3}70%{box-shadow:0 0 0 10px #7fd4ef00}to{box-shadow:0 0 #7fd4ef00}}@keyframes festival-cta{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes festival-arrow{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.festival-banner__card,.festival-banner__glow,.festival-banner__wind span,.festival-banner__shimmer,.festival-banner__pulse,.festival-banner__cta,.festival-banner__arrow{animation:none!important}}.section--festival-page{background:radial-gradient(circle at 15% 20%,rgba(52,152,191,.16),transparent 40%),var(--bg)}.festival-page{max-width:720px}.festival-page h1{margin:.35rem 0 .5rem;font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.02}.festival-page__lead{margin:0 0 .85rem;color:var(--accent-deep);font-weight:600}.identity-modal{background:linear-gradient(160deg,#0f0f0f,#1f6f8f 55%,#3498bf 120%);text-align:left}.identity-modal__stage{display:grid;gap:1rem;justify-items:center;margin:.4rem 0 1.2rem}.identity-modal__logo{width:min(200px,56vw)!important;height:auto!important;filter:drop-shadow(0 18px 36px rgba(0,0,0,.35))}.identity-modal__variants{display:inline-flex;gap:.65rem;align-items:center;padding:.55rem .7rem;border-radius:999px;background:#ffffff1f}.identity-modal__white{background:#0f0f0f;border-radius:10px;padding:.25rem}.identity-modal .stage-eyebrow{color:var(--accent-soft)}.identity-modal h2{margin:0 0 .35rem}.identity-modal__slogan{margin:0 0 .85rem;font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:#ffffffe6}.identity-modal__text{margin:0 0 1.2rem;color:#ffffffe0;max-width:42ch}.stage-watermark{position:absolute;right:4%;top:-.5rem;opacity:.12;pointer-events:none;z-index:0;width:96px!important;height:auto!important;max-width:96px}.contact-card__mark{width:72px!important;height:auto!important;max-width:72px;margin-bottom:.35rem}.site-footer__mark{width:44px!important;height:auto!important;max-width:44px}.section__head{margin-bottom:1.75rem}.section__head h2,.about-split h2{margin:0 0 .4rem;font-family:var(--font-display);font-size:clamp(2rem,4vw,2.8rem);line-height:1.05}.section__head p,.about-split p{margin:0 0 .9rem;color:var(--muted);max-width:58ch}.accent-rule{display:block;width:4.5rem;height:3px;margin:.85rem 0 0;background:var(--accent);border-radius:999px}.about-split{display:grid;gap:1.5rem}@media(min-width:860px){.about-split{grid-template-columns:.9fr 1.1fr;align-items:start;gap:3rem}}.section-cta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.glass-card{background:var(--glass);border:1px solid rgba(255,255,255,.7);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .22s var(--ease),box-shadow .22s var(--ease)}.glass-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px #3498bf29}.glass-card h3{margin:0 0 .45rem;font-family:var(--font-display);font-size:1.55rem}.glass-card p{margin:0;color:var(--muted)}.glass-card--tone-1{border-top:4px solid var(--primary)}.glass-card--tone-2{border-top:4px solid var(--accent)}.glass-card--tone-3{border-top:4px solid var(--accent-deep)}.glass-card--service-1{background:linear-gradient(165deg,#fff,#eaf5fa);border:1px solid color-mix(in srgb,var(--accent) 22%,white)}.glass-card--service-2{background:linear-gradient(165deg,#0f0f0f,#1f6f8f);color:#fff;border:1px solid transparent}.glass-card--service-2 h3,.glass-card--service-2 p{color:#fff}.glass-card--service-2 p{color:#ffffffd1}.glass-card--service-3{background:linear-gradient(165deg,#fff,#dceef6);border-left:4px solid var(--accent)}.glass-card--service-4{background:linear-gradient(165deg,#1a1a1a,#3498bf 120%);color:#fff;border:1px solid transparent}.glass-card--service-4 h3,.glass-card--service-4 p{color:#fff}.glass-card--service-4 p{color:#ffffffd1}.glass-card__preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.glass-card__more,.stage-card__more,.cal-spotlight__more{display:inline-flex;margin-top:.75rem;font-size:.86rem;font-weight:650;letter-spacing:.02em;opacity:.88}.glass-card--service-2 .glass-card__more,.glass-card--service-4 .glass-card__more{color:#ffffffeb}.about-panel{background:#fff;border-radius:var(--radius);padding:1.25rem 1.35rem;box-shadow:var(--shadow);border:1px solid var(--line)}.diff-list{margin:1.1rem 0 0;padding:0;list-style:none;display:grid;gap:.55rem}.diff-list li{padding:.55rem .75rem;border-radius:12px;background:#ffffffb3;border-left:3px solid var(--accent);color:var(--ink-soft);font-size:.95rem}.feed-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.65rem;margin-bottom:1.25rem}.feed-chip{text-align:left;border:1px solid var(--line);border-radius:14px;padding:.75rem .85rem;background:#fff;cursor:pointer;transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease)}.feed-chip span{display:block;font-weight:700;font-size:.95rem}.feed-chip small{color:var(--muted)}.feed-chip:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,white)}.feed-chip.is-active{border-color:transparent;background:linear-gradient(135deg,#0f0f0f,#1d6480);color:#fff;box-shadow:0 12px 28px #1d648047}.feed-chip.is-active small{color:#ffffffbf}.feed-board{display:grid;gap:1rem}@media(min-width:900px){.feed-board{grid-template-columns:.95fr 1.05fr;align-items:stretch}}.feed-list{display:grid;gap:.7rem}.feed-card{text-align:left;border:1px solid var(--line);border-radius:16px;padding:.95rem 1rem;background:#fff;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease)}.feed-card strong{display:block;font-family:var(--font-display);font-size:1.25rem;line-height:1.15;margin-bottom:.35rem}.feed-card__meta{color:var(--muted);font-size:.85rem}.feed-card:hover,.feed-card.is-active{transform:translateY(-2px);box-shadow:0 14px 30px #0f0f0f14}.feed-card.tone-evento{border-left:5px solid var(--tone-evento)}.feed-card.tone-noticia{border-left:5px solid var(--tone-noticia)}.feed-card.tone-aviso{border-left:5px solid var(--tone-aviso)}.feed-card.tone-taller{border-left:5px solid var(--tone-taller)}.feed-spotlight{border-radius:22px;padding:1.4rem 1.5rem;color:#fff;min-height:280px;display:flex;flex-direction:column;justify-content:center;box-shadow:var(--shadow);animation:rise-in .42s var(--ease)}.feed-spotlight h3{margin:0 0 .65rem;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.05}.feed-spotlight p{margin:0 0 1.2rem;color:#ffffffe6;max-width:42ch}.feed-spotlight .badge{background:#ffffff2e;color:#fff}.feed-spotlight__actions{display:flex;flex-wrap:wrap;gap:.65rem}.feed-spotlight .btn--ghost{color:#fff;border-color:#ffffff73}.feed-spotlight .btn--ghost:hover:not(:disabled){background:#ffffff1f;color:#fff}.feed-spotlight.tone-evento{background:linear-gradient(145deg,var(--tone-evento),var(--tone-evento-end))}.feed-spotlight.tone-noticia{background:linear-gradient(145deg,var(--tone-noticia),var(--tone-noticia-end))}.feed-spotlight.tone-aviso{background:linear-gradient(145deg,var(--tone-aviso),var(--tone-aviso-end))}.feed-spotlight.tone-taller{background:linear-gradient(145deg,var(--tone-taller),var(--tone-taller-end))}.feed-empty{display:grid;gap:.9rem;justify-items:start;padding:1.4rem;border-radius:var(--radius);background:#fff;border:1px dashed var(--line)}.cal-layout{display:grid;gap:1rem}@media(min-width:980px){.cal-layout{grid-template-columns:1.15fr .85fr;align-items:start}}.cal-panel,.cal-detail{background:#ffffffe0;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:1rem}.cal-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.cal-toolbar h3{margin:0;font-family:var(--font-display);font-size:1.55rem;text-transform:capitalize}.cal-nav{width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.1rem;transition:transform .16s var(--ease),background .16s var(--ease)}.cal-nav:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--accent) 14%,white)}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem;margin-bottom:.35rem;color:var(--muted);font-size:.78rem;font-weight:700;text-align:center}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.cal-cell{min-height:64px;border-radius:14px;border:1px solid transparent;background:#f7fbfd;padding:.4rem;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;cursor:pointer;transition:transform .16s var(--ease),border-color .16s var(--ease),background .16s var(--ease)}.cal-cell.is-empty{background:transparent;cursor:default}.cal-cell__day{font-weight:700;font-size:.92rem}.cal-cell__dots{display:flex;gap:.2rem;flex-wrap:wrap}.dot{width:7px;height:7px;border-radius:999px;display:inline-block;background:var(--accent)}.dot.tone-evento{background:var(--tone-evento)}.dot.tone-noticia{background:var(--tone-noticia-end)}.dot.tone-aviso{background:var(--tone-aviso)}.dot.tone-taller{background:var(--tone-taller-end)}.cal-cell.has-events{background:linear-gradient(180deg,#fff,#eaf6fb)}.cal-cell.is-today{border-color:color-mix(in srgb,var(--accent) 55%,white)}.cal-cell.is-selected,.cal-cell:hover:not(.is-empty){transform:translateY(-2px);border-color:#0f0f0f;background:#fff;box-shadow:0 10px 22px #0f0f0f14}.cal-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.85rem;color:var(--muted);font-size:.82rem}.cal-legend span{display:inline-flex;align-items:center;gap:.35rem}.cal-detail{display:grid;gap:.9rem;align-content:start}.cal-detail__date{margin:0;text-transform:capitalize;color:var(--muted);font-size:.92rem}.cal-detail__empty h3,.cal-spotlight h3{margin:0 0 .45rem;font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.05}.cal-detail__empty p,.cal-spotlight p{margin:0 0 1rem;color:var(--muted)}.cal-detail__actions{display:flex;flex-wrap:wrap;gap:.55rem}.cal-day-list{display:grid;gap:.55rem}.cal-day-item{text-align:left;border:1px solid var(--line);border-radius:14px;padding:.75rem .85rem;background:#fff;cursor:pointer;border-left-width:5px;transition:transform .16s var(--ease),box-shadow .16s var(--ease)}.cal-day-item strong{display:block;font-family:var(--font-display);font-size:1.15rem}.cal-day-item.is-active,.cal-day-item:hover{transform:translate(3px);box-shadow:0 10px 22px #0f0f0f14}.cal-day-item.tone-evento,.cal-spotlight.tone-evento{border-left-color:var(--tone-evento)}.cal-day-item.tone-noticia,.cal-spotlight.tone-noticia{border-left-color:var(--tone-noticia)}.cal-day-item.tone-aviso,.cal-spotlight.tone-aviso{border-left-color:var(--tone-aviso)}.cal-day-item.tone-taller,.cal-spotlight.tone-taller{border-left-color:var(--tone-taller)}.cal-spotlight{border-radius:18px;padding:1.1rem 1.15rem;color:#fff;border-left:0}.cal-spotlight--hit{display:grid;width:100%;border:0;text-align:left;font:inherit;cursor:pointer;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.cal-spotlight--hit:hover{transform:translateY(-2px);box-shadow:0 16px 36px #0f0f0f2e}.stage-card.is-openable{cursor:pointer}.stage-card.is-openable:hover .stage-card__more{opacity:1;text-decoration:underline}.cal-spotlight.tone-evento{background:linear-gradient(145deg,var(--tone-evento),var(--tone-evento-end))}.cal-spotlight.tone-noticia{background:linear-gradient(145deg,var(--tone-noticia),var(--tone-noticia-end))}.cal-spotlight.tone-aviso{background:linear-gradient(145deg,var(--tone-aviso),var(--tone-aviso-end))}.cal-spotlight.tone-taller{background:linear-gradient(145deg,var(--tone-taller),var(--tone-taller-end))}.cal-spotlight p{color:#ffffffeb}.cal-spotlight .badge{background:#ffffff2e;color:#fff}.cal-spotlight .btn--ghost{color:#fff;border-color:#ffffff73}.cal-spotlight .btn--ghost:hover:not(:disabled){background:#ffffff1f;color:#fff}.cal-month-rail{margin-top:1.25rem;padding-top:.35rem}.cal-month-rail__head{margin-bottom:.85rem}.cal-month-rail__head h4{margin:0;font-family:var(--font-display);font-size:1.55rem}.cal-month-rail__head p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem}.month-day-rows{display:grid;gap:.45rem}.month-day-row{display:grid;gap:.35rem}.month-day{min-height:52px;border-radius:12px;border:1px solid var(--line);background:#fff;padding:.35rem .2rem .4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;cursor:pointer;transition:transform .16s var(--ease),border-color .16s var(--ease),box-shadow .16s var(--ease)}.month-day em{font-style:normal;font-family:var(--font-display);font-size:clamp(.85rem,1.6vw,1.05rem);font-weight:700;color:var(--ink);line-height:1}.month-day__dots{display:flex;gap:.15rem;justify-content:center;flex-wrap:wrap}.month-day.has-events{background:linear-gradient(180deg,#fff,#eaf6fb);border-color:color-mix(in srgb,var(--accent) 28%,white)}.month-day.tone-evento.has-events{border-color:color-mix(in srgb,var(--tone-evento) 45%,white)}.month-day.tone-noticia.has-events{border-color:color-mix(in srgb,var(--tone-noticia) 45%,white)}.month-day.tone-aviso.has-events{border-color:color-mix(in srgb,var(--tone-aviso) 45%,white)}.month-day.tone-taller.has-events{border-color:color-mix(in srgb,var(--tone-taller) 45%,white)}.month-day.is-today{box-shadow:inset 0 0 0 1px var(--accent)}.month-day.is-selected,.month-day:hover{transform:translateY(-1px);border-color:#0f0f0f;box-shadow:0 8px 18px #0f0f0f14}@media(max-width:720px){.month-day{min-height:44px;padding:.25rem .1rem}.month-day em{font-size:.78rem}}.section--stage{background:radial-gradient(circle at 15% 20%,rgba(15,15,15,.08),transparent 34%),radial-gradient(circle at 85% 30%,rgba(52,152,191,.18),transparent 36%),radial-gradient(circle at 50% 100%,rgba(31,111,143,.12),transparent 40%),#f4f8fa;overflow:hidden}.stage-eyebrow{margin:0 0 .35rem;color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.stage-shell{position:relative;padding:.5rem 0 .25rem}.stage-track{position:relative;height:clamp(300px,46vw,400px);perspective:1200px}.stage-card{position:absolute;inset:12px 8%;border:0;border-radius:24px;padding:1.25rem 1.35rem;color:#fff;text-align:left;font:inherit;box-shadow:0 22px 50px #0f0f0f2e;transition:transform .52s var(--ease),opacity .42s var(--ease),box-shadow .22s var(--ease);display:flex;flex-direction:column;justify-content:center;overflow:hidden;cursor:default}.stage-card--split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(140px,.95fr);gap:.85rem;align-items:center}.stage-card__copy{position:relative;z-index:1;min-width:0}.stage-card__collage{position:relative;z-index:1;min-width:0;height:100%;display:flex;align-items:center}.stage-card.is-side{cursor:pointer}.stage-card.is-side:hover{box-shadow:0 26px 56px #0f0f0f47}.stage-card.is-side:focus-visible{outline:3px solid #fff;outline-offset:3px}.stage-card:not(.stage-card--split):after{content:"";position:absolute;inset:auto -10% -35% auto;width:180px;height:180px;border-radius:50%;background:#ffffff1f;animation:stage-pulse 4.5s ease-in-out infinite}.stage-card__kicker{display:inline-block;margin-bottom:.55rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9}.stage-card h3{margin:0 0 .65rem;font-family:var(--font-display);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1.02;max-width:16ch}.stage-card p{margin:0;max-width:36ch;color:#ffffffeb;font-size:clamp(.92rem,1.6vw,1.02rem)}@media(max-width:700px){.stage-card--split{grid-template-columns:1fr;grid-template-rows:auto minmax(110px,1fr)}.stage-card__collage{max-height:140px}}.stage-card.tone-1{background:linear-gradient(145deg,#0f0f0f,#1f6f8f)}.stage-card.tone-2{background:linear-gradient(145deg,#1f6f8f,#5eb6d4)}.stage-card.tone-3{background:linear-gradient(145deg,#0d3d4d,#3498bf)}.stage-card.tone-4{background:linear-gradient(145deg,#000,#3498bf)}.stage-card.tone-5{background:linear-gradient(145deg,#1a1a1a,#5eb6d4)}.stage-controls{display:flex;align-items:center;justify-content:center;gap:.85rem;margin-top:.85rem}.stage-dots{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;max-width:280px}.stage-dot{width:9px;height:9px;border-radius:999px;border:0;background:color-mix(in srgb,var(--ink) 18%,white);cursor:pointer;padding:0}.stage-dot.is-active{width:24px;background:var(--accent)}.stage-caption{text-align:center;color:var(--muted);margin:.75rem 0 0}@keyframes stage-pulse{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.18);opacity:.9}}.glass-card--button{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.glass-card--list{display:grid;grid-template-rows:1fr auto;gap:.85rem;height:100%}.glass-card__hit{display:grid;gap:.45rem;align-content:start;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit}.glass-card__footer{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.glass-card__footer .btn{flex:0 0 auto;align-self:center;box-sizing:border-box;min-width:8.25rem;min-height:2.75rem;height:2.75rem;padding:0 1.15rem;white-space:nowrap;line-height:1}.glass-card__media,.stage-card__media{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:12px;margin-bottom:.35rem}.grid-cards--scroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);overflow-x:auto;gap:1rem;padding-bottom:.35rem;scroll-snap-type:x mandatory}.grid-cards--scroll>*{scroll-snap-align:start}.modal-preliminary{margin:0 0 .75rem;color:var(--muted);font-weight:500}.modal-root{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#080c1094;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:rise-in .22s var(--ease)}.modal-dialog{position:relative;width:min(640px,100%);max-height:min(86vh,760px);overflow:auto;border-radius:22px;padding:1.4rem 1.35rem 1.25rem;color:#fff;box-shadow:0 28px 70px #00000059;animation:modal-pop .28s var(--ease)}.modal-dialog.tone-evento{background:linear-gradient(145deg,var(--tone-evento),var(--tone-evento-end))}.modal-dialog.tone-noticia{background:linear-gradient(145deg,var(--tone-noticia),var(--tone-noticia-end))}.modal-dialog.tone-aviso{background:linear-gradient(145deg,var(--tone-aviso),var(--tone-aviso-end))}.modal-dialog.tone-taller{background:linear-gradient(145deg,var(--tone-taller),var(--tone-taller-end))}.modal-dialog.tone-card-1{background:linear-gradient(145deg,#0f0f0f,#1f6f8f)}.modal-dialog.tone-card-2{background:linear-gradient(145deg,#1f6f8f,#5eb6d4)}.modal-dialog.tone-card-3{background:linear-gradient(145deg,#0d3d4d,#3498bf)}.modal-dialog.tone-card-4{background:linear-gradient(145deg,#000,#3498bf)}.modal-dialog.tone-card-5{background:linear-gradient(145deg,#1a1a1a,#5eb6d4)}.modal-dialog h2{margin:0 0 .35rem;font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.05}.modal-meta{margin:0 0 1rem;text-transform:capitalize;opacity:.88;font-size:.92rem}.modal-body{white-space:pre-wrap;line-height:1.6;margin-bottom:1.2rem}.modal-cover{width:100%;border-radius:14px;margin-bottom:1rem}.moon-carousel{margin:.35rem 0 .95rem}.moon-carousel__arc{position:relative;height:148px;margin:0 auto;max-width:420px}.moon-carousel__tile{position:absolute;top:8px;left:50%;width:min(132px,34vw);aspect-ratio:4 / 3;padding:0;border:2px solid rgba(255,255,255,.35);border-radius:14px;overflow:hidden;cursor:pointer;background:#00000040;box-shadow:0 12px 28px #00000047;transition:transform .42s var(--ease),opacity .32s var(--ease),box-shadow .22s var(--ease)}.moon-carousel__tile.is-active{width:min(168px,42vw);border-color:#ffffffb3;box-shadow:0 16px 34px #00000061;cursor:default}.moon-carousel__tile img{width:100%;height:100%;object-fit:cover;display:block}.moon-carousel__controls{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:.35rem}.moon-carousel__dots{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;max-width:200px}.moon-carousel__controls .cal-nav{color:#fff;border-color:#fff6;background:#ffffff1f}.moon-carousel__controls .stage-dot{background:#ffffff59}.moon-carousel__controls .stage-dot.is-active{background:#fff}@media(max-width:560px){.moon-carousel__arc{height:128px}.moon-carousel__tile{width:min(110px,30vw)}.moon-carousel__tile.is-active{width:min(138px,38vw)}}.modal-actions{display:flex;flex-wrap:wrap;gap:.65rem}.modal-dialog .badge{background:#ffffff2e;color:#fff}.modal-dialog .btn--ghost{color:#fff;border-color:#ffffff73}.modal-dialog .btn--ghost:hover:not(:disabled){background:#ffffff1f;color:#fff}.modal-close{position:absolute;top:.7rem;right:.8rem;width:40px;height:40px;border:0;border-radius:999px;background:#ffffff2e;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.modal-close:hover{background:#ffffff47}@keyframes modal-pop{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:720px){.stage-card{inset:8px 4%}.cal-cell{min-height:52px}}.badge{display:inline-block;margin-bottom:.55rem;padding:.2rem .55rem;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,white);color:#1d6480;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.skeleton{border-radius:12px;background:linear-gradient(90deg,#0f0f0f0f,#0f0f0f1f 45%,#0f0f0f0f);background-size:200% 100%;animation:skeleton-shine 1.35s linear infinite}.skeleton-card{min-height:160px;padding:1.2rem}.skeleton-line{height:.85rem;margin-bottom:.65rem}.skeleton-line--title{width:62%;height:1.2rem}.skeleton-line--short{width:38%}.search-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1.25rem}.search-row input,.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.8rem .95rem;background:var(--surface);color:var(--ink)}.form-field{display:grid;gap:.35rem;margin-bottom:.9rem}.form-field label{font-size:.9rem;font-weight:600}.form-panel{max-width:560px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.35rem;border:1px solid var(--line)}.contact-page{padding-bottom:clamp(3rem,7vw,5rem)}.contact-hero{position:relative;overflow:hidden;color:#fff;margin-bottom:clamp(1.5rem,4vw,2.5rem)}.contact-hero__stage{position:absolute;inset:0;background:linear-gradient(180deg,#0000002e,#000000b8 78%),radial-gradient(ellipse 70% 55% at 50% 18%,rgba(52,152,191,.35),transparent 70%),linear-gradient(160deg,#050505,#0b1a22 48%,#04080c);animation:stage-breathe 10s ease-in-out infinite alternate}.contact-hero__wind{position:absolute;inset:0;opacity:.28;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='1.4' d='M20 110c24-34 48-34 72 0s48 34 72 0M20 150c24-34 48-34 72 0s48 34 72 0M20 70c24-34 48-34 72 0s48 34 72 0'/%3E%3C/svg%3E");animation:wind-drift 18s linear infinite}.contact-hero__beam{position:absolute;inset:-20% 18% auto;height:78%;background:linear-gradient(180deg,rgba(94,182,212,.28),transparent 70%);clip-path:polygon(38% 0,62% 0,92% 100%,8% 100%);opacity:.55;animation:beam-sweep 8s var(--ease) infinite alternate}.contact-hero__glow{position:absolute;right:-8%;bottom:-30%;width:min(420px,55vw);height:min(420px,55vw);border-radius:50%;background:radial-gradient(circle,rgba(52,152,191,.28),transparent 68%);pointer-events:none}.contact-hero__content{position:relative;z-index:1;padding:clamp(2.4rem,7vh,3.8rem) 0 clamp(2rem,5vh,3rem);max-width:38rem;animation:rise-in .7s var(--ease) both}.contact-hero__eyebrow{margin:0 0 .55rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:#ffffffb8}.contact-hero__title{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,5.5vw,3.5rem);line-height:.98;letter-spacing:-.02em;font-weight:600}.contact-hero__title span{display:inline;color:var(--accent-soft);font-weight:500}.contact-hero__lead{margin:.9rem 0 .65rem;font-family:var(--font-display);font-size:1.2rem;font-style:italic;color:#ffffffe0}.contact-hero__meta{display:grid;gap:.35rem;margin-top:.15rem}.contact-hero__person{margin:0;color:#ffffffe6;font-size:1rem}.contact-hero__person strong{font-weight:700}.contact-hero__hours{margin:0;display:flex;flex-wrap:wrap;gap:.35rem .55rem;align-items:baseline;color:#ffffffb8;font-size:.92rem}.contact-hero__hours-label{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.contact-layout{display:grid;gap:1.35rem}@media(min-width:960px){.contact-layout{grid-template-columns:.92fr 1.18fr;align-items:start;gap:1.75rem}}.contact-channels{display:grid;gap:.85rem}.contact-channel{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:start;padding:1rem 1.05rem;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(145deg,#ffffffeb,#e7f4fab8);box-shadow:var(--shadow);transition:transform .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease);min-width:0}a.contact-channel:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));box-shadow:0 18px 36px #3498bf29}.contact-channel__mark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#0f0f0f;color:#fff;flex:0 0 auto}.contact-channel--whatsapp .contact-channel__mark{background:linear-gradient(145deg,#0f0f0f,#1f6f8f)}.contact-channel--mail .contact-channel__mark{background:linear-gradient(145deg,#1f6f8f,#5eb6d4)}.contact-channel--venue .contact-channel__mark{background:linear-gradient(145deg,#0f0f0f,#3498bf)}.contact-channel--hours .contact-channel__mark{background:linear-gradient(145deg,#1a7a5c,#3db892)}.contact-channel__icon{width:20px;height:20px}.contact-channel__body{display:grid;gap:.18rem;min-width:0}.contact-channel__body strong{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}.contact-channel__body em{font-style:normal;color:var(--ink);font-weight:600;font-size:.98rem;overflow-wrap:anywhere}.contact-channel__body small{color:var(--muted);font-size:.84rem}.contact-form{position:relative;overflow:hidden;border-radius:calc(var(--radius) + 4px);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));background:radial-gradient(circle at 100% 0%,rgba(52,152,191,.14),transparent 42%),linear-gradient(180deg,#fff,#f4fafc);box-shadow:0 22px 48px #0f0f0f14;padding:clamp(1.35rem,3vw,1.9rem)}.contact-form:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,#0f0f0f,var(--accent))}.contact-form__head{margin-bottom:1.25rem;max-width:40ch}.contact-form__head h2{margin:.2rem 0 .45rem;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.05}.contact-form__head p{margin:0;color:var(--muted)}.contact-form__fields{display:grid;gap:.15rem 1rem}@media(min-width:640px){.contact-form__fields{grid-template-columns:1fr 1fr}.contact-form__field--full{grid-column:1 / -1}}.contact-form .form-field input,.contact-form .form-field textarea{border-radius:14px;border-color:color-mix(in srgb,var(--accent) 18%,var(--line));background:#ffffffeb;transition:border-color .16s var(--ease),box-shadow .16s var(--ease)}.contact-form .form-field input:focus,.contact-form .form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3498bf2e}.contact-form__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.contact-form__submit{min-width:11rem}.form-status{margin-top:.75rem;font-size:.92rem}.form-status--ok{color:var(--accent)}.form-status--err{color:#a11}.back-to-top{position:fixed;right:max(1rem,calc((100vw - 1120px)/2 + .25rem));bottom:1.25rem;z-index:60;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;width:52px;height:52px;border:0;border-radius:999px;background:#0f0f0f;color:#fff;box-shadow:0 12px 28px #0f0f0f47;cursor:pointer;animation:rise-in .22s var(--ease);transition:transform .16s var(--ease),background .16s var(--ease),bottom .18s var(--ease)}.back-to-top--above-footer{bottom:max(5.75rem,calc(env(safe-area-inset-bottom,0px) + 5.75rem))}.back-to-top span{font-size:1.1rem;line-height:1}.back-to-top small{font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.back-to-top:hover{transform:translateY(-2px);background:var(--accent-deep)}@media(min-width:900px){.footer-social{margin-right:4.25rem}}.site-footer{border-top:1px solid var(--line);padding:1.35rem 0 1.6rem;color:var(--muted);font-size:.9rem;background:color-mix(in srgb,var(--bg) 70%,white)}.site-footer__minimal{display:grid;gap:1rem;justify-items:start}@media(min-width:900px){.site-footer__minimal{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem}}.site-footer__brand-row{display:inline-flex;align-items:center;gap:.65rem}.site-footer__brand{margin:0;color:var(--ink);font-family:var(--font-display);font-size:1.35rem;line-height:1}.site-footer__admin{margin:.35rem 0 0;grid-column:1 / -1;font-size:.78rem}.site-footer__admin a{color:var(--muted);text-decoration:underline;text-underline-offset:.15em}.site-footer__mark{width:44px;height:auto}.footer-icon{width:18px;height:18px;flex:0 0 auto;color:var(--accent)}.footer-meta-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.55rem 1.75rem;width:100%;align-items:center}.footer-meta-item{display:inline-flex;align-items:center;gap:.45rem;color:var(--ink-soft);min-width:0}.footer-meta-item>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}@media(max-width:640px){.footer-meta-grid{grid-template-columns:1fr}}.footer-social{display:inline-flex;gap:.45rem}.footer-social a{width:38px;height:38px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;background:#fff;color:var(--ink);transition:transform .16s var(--ease),background .16s var(--ease),color .16s var(--ease)}.footer-social a:hover{transform:translateY(-2px);background:var(--primary);color:#fff;border-color:var(--primary)}.footer-social .footer-icon{color:inherit;width:16px;height:16px}.site-footer a:hover{color:var(--accent)}.admin-layout{display:grid;gap:1.25rem}.admin-token{display:grid;gap:.5rem;max-width:420px}.admin-grid{display:grid;gap:1rem}@media(min-width:900px){.admin-grid{grid-template-columns:1fr 1fr}}.gallery-compact{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:560px){.gallery-compact{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}}@media(min-width:820px){.gallery-compact{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}}.gallery-compact__item{position:relative;display:block;width:100%;padding:0;border:0;border-radius:10px;overflow:hidden;cursor:zoom-in;aspect-ratio:4 / 3;background:color-mix(in srgb,var(--ink) 8%,transparent)}.gallery-compact__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.gallery-compact__item:hover img,.gallery-compact__item:focus-visible img{transform:scale(1.04)}.gallery-tag{position:absolute;top:.75rem;left:.75rem;z-index:2;max-width:min(70%,280px);padding:.35rem .75rem;border-radius:999px;background:#ffffffeb;color:var(--ink);font-size:.78rem;font-weight:700;line-height:1.2;box-shadow:0 8px 20px #0000002e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery-tag--compact{top:.35rem;left:.35rem;right:.35rem;max-width:none;width:fit-content;max-width:calc(100% - .7rem);padding:.18rem .45rem;font-size:.62rem;box-shadow:0 4px 12px #0003}.gallery-lightbox__figure figcaption{display:grid;gap:.45rem;justify-items:center}.gallery-lightbox__figure .gallery-tag{position:static;max-width:100%}.gallery-lightbox__nav{display:flex;align-items:center;justify-content:center;gap:.65rem;margin-top:.75rem}.gallery-lightbox__count{min-width:4.5rem;text-align:center;color:#f2f2f2;font-weight:600;font-size:.9rem}.photo-collage{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:72px;gap:.45rem;width:100%}.photo-collage--compact{grid-template-columns:repeat(4,1fr);grid-auto-rows:56px;gap:.35rem}@media(min-width:720px){.photo-collage{grid-auto-rows:96px;gap:.55rem}.photo-collage--compact{grid-auto-rows:70px;gap:.4rem}}.photo-collage__tile{position:relative;padding:0;border:0;overflow:hidden;cursor:zoom-in;background:#ffffff2e;border-radius:10px}.photo-collage__tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.photo-collage__tile:hover img,.photo-collage__tile:focus-visible img{transform:scale(1.06)}.photo-collage--static{pointer-events:none}.photo-collage--static .photo-collage__tile{cursor:default}.photo-collage--static .photo-collage__tile img,.photo-collage--static .photo-collage__tile:hover img,.photo-collage--static .photo-collage__tile:focus-visible img{transform:none;transition:none}.photo-collage__tile--1{grid-column:span 2;grid-row:span 2;border-radius:16px 8px 12px;transform:rotate(-1.2deg)}.photo-collage__tile--2{grid-column:span 2;grid-row:span 1;transform:rotate(1.4deg)}.photo-collage__tile--3{grid-column:span 2;grid-row:span 2;border-radius:10px 16px 8px 12px;transform:rotate(.8deg)}.photo-collage__tile--4{grid-column:span 2;grid-row:span 1;border-radius:12px;transform:rotate(-.6deg)}.photo-collage__tile--5{grid-column:span 2;grid-row:span 1;transform:rotate(1.1deg)}.photo-collage__tile--6{grid-column:span 2;grid-row:span 1;border-radius:8px 12px 16px 8px;transform:rotate(-1deg)}.photo-collage--compact .photo-collage__tile--1,.photo-collage--compact .photo-collage__tile--3{grid-column:span 2;grid-row:span 2}.photo-collage--compact .photo-collage__tile--2,.photo-collage--compact .photo-collage__tile--4,.photo-collage--compact .photo-collage__tile--5,.photo-collage--compact .photo-collage__tile--6{grid-column:span 2;grid-row:span 1}.gallery-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}@media(min-width:720px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}}.gallery-item{position:relative;display:block;padding:0;border:0;border-radius:0;overflow:hidden;background:color-mix(in srgb,var(--ink) 8%,transparent);cursor:zoom-in;aspect-ratio:4 / 3}.gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}.gallery-item:hover img,.gallery-item:focus-visible img{transform:scale(1.04)}.gallery-item__caption{position:absolute;left:0;right:0;bottom:0;padding:.55rem .7rem;font-size:.85rem;color:#fff;background:linear-gradient(transparent,#000000a6);text-align:left}.gallery-lightbox{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:#08080ad1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-lightbox__figure{position:relative;margin:0;max-width:min(96vw,1100px);max-height:90vh}.gallery-lightbox__figure img{display:block;max-width:100%;max-height:80vh;width:auto;height:auto;margin:0 auto}.gallery-lightbox__figure figcaption{margin-top:.75rem;color:#f2f2f2;text-align:center}.gallery-lightbox__close{position:absolute;top:.5rem;right:.5rem}.gallery-admin-grid{display:grid;gap:.85rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.gallery-admin-card{display:grid;gap:.55rem;background:color-mix(in srgb,var(--surface, #fff) 92%,transparent);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);overflow:hidden}.gallery-admin-card img{width:100%;aspect-ratio:4 / 3;object-fit:cover;display:block}.gallery-admin-card__meta{padding:0 .75rem .75rem}.gallery-admin-card__meta p{margin:0 0 .35rem;font-size:.9rem}.gallery-admin-card__actions{display:flex;flex-wrap:wrap;gap:.4rem}.admin-page .container{max-width:1120px}.admin-search-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem}.admin-search-bar input[type=search]{flex:1 1 220px;min-width:180px;font:inherit;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;background:#fff}.media-links{display:grid;gap:.4rem;margin:.35rem 0 .55rem}.media-links h4{margin:0;font-size:.85rem}.media-link-chip{justify-self:start;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.28rem .65rem;font:inherit;font-size:.78rem;cursor:pointer}.media-link-chip:hover{border-color:var(--accent)}.media-link-form{display:grid;gap:.35rem;margin-bottom:.55rem}.media-link-form select{flex:1 1 160px;min-width:140px;font:inherit;border:1px solid var(--line);border-radius:8px;padding:.4rem .5rem}.media-picker-root{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem;background:#080c108c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.media-picker-dialog{width:min(860px,100%);max-height:min(82vh,720px);overflow:auto;background:var(--surface);border-radius:14px;border:1px solid var(--line);padding:1rem;box-shadow:var(--shadow)}.media-picker-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.media-picker-dialog__head h3{margin:0;font-family:var(--font-display)}.media-picker-search{width:100%;margin-bottom:.85rem;font:inherit;border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem}.media-picker-grid{display:grid;gap:.65rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.media-picker-hint{margin:0 0 .55rem}.media-picker-footer{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.9rem;padding-top:.75rem;border-top:1px solid var(--line);position:sticky;bottom:0;background:var(--surface)}.admin-media-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:.35rem 0 .55rem}.media-picker-item{display:grid;gap:.3rem;padding:.4rem;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;cursor:pointer;font:inherit;color:inherit}.media-picker-item.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.media-picker-item img{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:8px}.media-picker-item span{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-picker-item em{font-style:normal;font-size:.7rem;font-weight:600}.media-picker-item em.is-on{color:#1f7a4d}.media-picker-item em.is-off{color:#8a3b32}.field-label,.field-label-wrap{display:inline-flex;align-items:center;gap:.35rem}.field-tip{position:relative;display:inline-flex;vertical-align:middle}.field-tip__btn{width:1.05rem;height:1.05rem;padding:0;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 12%,#fff);color:var(--ink-soft);font:inherit;font-size:.68rem;font-weight:700;line-height:1;cursor:help}.field-tip__popup{position:absolute;left:50%;bottom:calc(100% + .45rem);transform:translate(-50%) translateY(4px);width:min(260px,70vw);padding:.55rem .65rem;border-radius:10px;border:1px solid var(--line);background:#0f1720;color:#f4f8fa;font-size:.78rem;font-weight:400;line-height:1.35;box-shadow:0 10px 28px #0f0f0f38;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s var(--ease),transform .14s var(--ease),visibility .14s;z-index:40;text-transform:none;letter-spacing:normal}.field-tip__popup:after{content:"";position:absolute;top:100%;left:50%;margin-left:-6px;border:6px solid transparent;border-top-color:#0f1720}.field-tip.is-open .field-tip__popup,.field-tip:hover .field-tip__popup,.field-tip:focus-within .field-tip__popup{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.data-table th .field-label{font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}.admin-card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.15rem 1.25rem;box-shadow:var(--shadow)}.admin-card__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.admin-card__head h3{margin:0;font-family:var(--font-display);font-size:1.35rem}.crud-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line)}.crud-form .field{display:grid;gap:.25rem;font-size:.75rem;font-weight:600;color:var(--muted);flex:0 1 160px}.crud-form .field.grow{flex:1 1 200px;min-width:160px}.crud-form .field--full{flex:1 1 100%}.crud-form .field input,.crud-form .field select,.crud-form .field textarea{font:inherit;font-weight:400;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:8px;padding:.45rem .55rem;width:100%}.crud-form .check{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;color:var(--ink-soft);padding-bottom:.35rem}.crud-list{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table th,.data-table td{padding:.55rem .5rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.data-table th{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:color-mix(in srgb,var(--bg) 70%,#fff);white-space:nowrap}.data-table tbody tr:hover{background:#3498bf0f}.data-table tbody tr.is-editing{background:#3498bf1f}.data-table tbody tr.is-inactive{opacity:.62}.data-table .col-num{width:4.5rem}.table-thumb{width:48px;height:36px;object-fit:cover;border-radius:6px;display:block}.table-sub{margin-top:.2rem;color:var(--muted);font-size:.8rem;max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nowrap{white-space:nowrap}.muted{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;border:1px solid var(--line);font-size:.75rem;font-weight:600;text-transform:lowercase}.status-pill.is-on{background:#2ea06e1f;border-color:#2ea06e59;color:#1f7a4d}.status-pill.is-off{background:#a0463c1a;border-color:#a0463c4d;color:#8a3b32}.row-actions{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;justify-content:flex-end}.admin-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem;margin:.35rem 0 .75rem}.admin-pager__meta{margin:0}.admin-pager__controls{display:inline-flex;align-items:center;gap:.45rem}.admin-pager__page{min-width:3.5rem;text-align:center;font-size:.86rem;font-weight:650;color:var(--ink-soft)}.btn-mini{font:inherit;font-size:.78rem;font-weight:600;padding:.3rem .55rem;border-radius:8px;border:1px solid var(--line);background:#fff;color:var(--ink-soft);cursor:pointer}.btn-mini--icon{display:inline-grid;place-items:center;width:2rem;height:2rem;padding:0}.btn-mini--icon .admin-icon{display:block}.btn-mini:hover{border-color:var(--accent);color:var(--ink)}.btn-mini.danger{color:#8a3b32;border-color:#a0463c59}.btn-mini.danger:hover{color:#6e2a23;border-color:#a0463c8c}.btn-mini:disabled{opacity:.5;cursor:not-allowed}.admin-media-editor{border:1px solid var(--line);border-radius:12px;padding:.9rem;background:color-mix(in srgb,var(--surface) 92%,var(--bg));display:grid;gap:.65rem}.admin-tabs{display:flex;flex-wrap:wrap;gap:.45rem}.admin-tab{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);border-radius:999px;padding:.45rem .95rem;cursor:pointer;font:inherit;font-weight:600}.admin-tab.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}.admin-panel{display:grid;gap:1.25rem}.admin-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.admin-chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:.35rem .75rem;cursor:pointer;font:inherit;font-size:.85rem}.admin-chip.is-active{background:#3498bf29;border-color:var(--accent);color:var(--ink);font-weight:600}.admin-check{display:flex;gap:.5rem;align-items:center;margin:.4rem 0 .9rem}.admin-actions{display:flex;flex-wrap:wrap;gap:.5rem}.admin-meta{color:var(--muted);font-size:.85rem}.admin-thumb-row{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.admin-thumb{width:96px;height:64px;object-fit:cover;border-radius:10px}.admin-entity__media{width:100%;aspect-ratio:16 / 10;object-fit:cover;border-radius:12px;margin-bottom:.5rem}.admin-dropzone{display:grid;place-items:center;min-height:110px;border:1.5px dashed rgba(52,152,191,.45);border-radius:14px;padding:1rem;cursor:pointer;color:var(--muted)}.admin-dropzone input{margin-top:.55rem}.admin-media-workspace{display:grid;gap:1rem}@media(min-width:960px){.admin-media-workspace{grid-template-columns:1.4fr .9fr;align-items:start}}.admin-media-editor__preview{width:100%;max-height:220px;object-fit:cover;border-radius:12px;margin-bottom:.75rem}.gallery-admin-card.is-selected{outline:2px solid var(--accent);outline-offset:2px}.gallery-admin-card{padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}.hint{margin:0 0 .85rem;color:var(--muted);font-size:.92rem}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes stage-breathe{0%{filter:saturate(1)}to{filter:saturate(1.12) brightness(1.04)}}@keyframes beam-sweep{0%{transform:translate(-3%) scaleX(.96);opacity:.4}to{transform:translate(3%) scaleX(1.04);opacity:.65}}@keyframes wind-drift{0%{background-position:0 0}to{background-position:220px 0}}@media(max-width:720px){.site-header__inner{flex-direction:column;align-items:flex-start}}
