@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--paper:#f5f2e9;--ink:#242820;--red:#752e36;--line:#d7d4c9;--muted:#64685d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #ae6639;outline-offset:5px}.skip{position:absolute;top:-70px;background:white;padding:12px;z-index:4}.skip:focus{top:0}header{max-width:1600px;margin:auto;padding:26px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;font-size:13px;line-height:1.25;letter-spacing:1.6px;font-weight:700}.seal{border:1px solid var(--ink);border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font-family:Georgia,serif;font-size:14px;letter-spacing:-1px}nav{display:flex;gap:40px;font-size:14px}nav a:hover,.text-link:hover{color:var(--red)}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.04fr 1fr;min-height:670px}.hero-copy{padding:70px 8% 25px 10%}.eyebrow,.small-title{font-size:12px;letter-spacing:1.8px;font-weight:600}.eyebrow{color:var(--red);margin:0 0 28px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.03;letter-spacing:-1.8px}h1{font-size:clamp(56px,5.5vw,90px);margin-bottom:28px}em{font-weight:400;color:var(--red)}.intro{font-size:18px;color:var(--muted);margin-bottom:32px}.button{display:inline-flex;gap:27px;align-items:center;background:var(--red);color:white;padding:15px 23px;font-size:14px}.button:hover{background:#542027}.text-link{display:block;font-size:14px;margin-top:18px;text-decoration:underline;text-underline-offset:5px}.hero-bottom{display:flex;gap:24px;font-size:10px;letter-spacing:1.5px;border-top:1px solid var(--line);padding-top:23px;margin-top:55px}.hero-art{position:relative;background:#80775e;min-height:540px;isolation:isolate;background-size:cover;background-position:center}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0002,transparent 40%,#0006);z-index:-1}.art-label{position:absolute;top:28px;left:30px;color:white;font-size:11px;letter-spacing:2.5px}.art-caption{position:absolute;bottom:34px;left:30px;right:30px;color:white;font-family:Georgia,serif;font-style:italic;font-size:23px}.ribbon{background:var(--ink);color:var(--paper);padding:23px 8%;display:flex;justify-content:space-between;gap:14px;font-size:12px;letter-spacing:3px}.section{padding:100px 7%;max-width:1600px;margin:auto}h2{font-size:clamp(45px,4.4vw,68px);margin-bottom:25px}.history{display:grid;grid-template-columns:1fr 1fr;gap:10%}.history-copy{padding-top:38px;color:var(--muted)}.large-copy{font-family:'Libre Caslon Display',Georgia,serif;font-size:30px;line-height:1.25;color:var(--ink)}.note{border-top:1px solid var(--line);margin-top:35px;padding-top:24px}.note p{font-size:14px;margin:9px 0 0}.events{border-top:1px solid var(--line);background:#ecece3}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading>p{color:var(--muted);font-size:15px}.events-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%}.event-empty{padding:35px 0;max-width:430px}.event-empty h3{font-size:43px;margin:24px 0}.event-empty>p{color:var(--muted)}.status{display:inline-block;border:1px solid #bfc0b3;border-radius:30px;padding:8px 14px;font-size:12px;margin-top:20px}.calendar{background:var(--paper);padding:26px 32px}.calendar-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px;gap:10px}.calendar-top h3{font-family:'DM Sans',sans-serif;font-size:20px;letter-spacing:0;text-transform:capitalize;margin:0}.calendar button{border:1px solid var(--line);background:transparent;color:var(--ink);min-width:42px;min-height:42px}.calendar button:hover{background:#e5e1d5}.weekdays,.days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekdays{font-size:12px;color:var(--muted);margin-bottom:12px}.days span{display:grid;place-items:center;min-height:43px;font-size:14px}.days .current{background:var(--red);color:white;border-radius:50%;width:38px;min-height:38px;align-self:center;justify-self:center}.calendar-foot{border-top:1px solid var(--line);margin:20px 0 5px;padding-top:16px;font-size:13px;color:var(--muted)}.calendar .today{border:0;font-size:13px;padding:0;text-decoration:underline;text-underline-offset:4px}.contact{background:var(--red);color:var(--paper);display:grid;grid-template-columns:1.25fr 1fr;gap:9%}.contact em{color:#e2b8a1}.contact .eyebrow{color:#e2b8a1}.contact>div>p{color:#efded8;font-size:15px}.contact-details{padding-top:35px}.contact-details>div{border-top:1px solid #b0757a;padding:23px 0}.contact-details p{font-size:21px;margin:10px 0 4px}.contact-details>div>span:last-child{font-size:14px;color:#efded8}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer>a:last-child{font-size:12px;color:var(--muted);margin:0}@media(min-width:1600px){body{max-width:1600px;margin:auto}}@media(max-width:800px){header{padding:20px 6%}nav{gap:18px;font-size:13px}.brand{font-size:10px}.seal{width:40px;height:40px}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 30px}h1{font-size:64px}.hero-bottom{margin-top:35px}.hero-art{min-height:450px}.ribbon{font-size:10px;letter-spacing:1.3px;padding:20px 5%}.section{padding:65px 7%}.history,.events-layout,.contact{grid-template-columns:1fr;gap:20px}.history-copy{padding:0}.section-heading{display:block}.section-heading>p br{display:none}.event-empty{padding-top:0}.calendar{padding:23px}.contact-details{padding-top:10px}footer{flex-wrap:wrap}footer p{width:100%;order:3}}@media(max-width:430px){nav{gap:13px}nav a:first-child{max-width:60px;line-height:1.3}h1{font-size:53px}.hero-art{min-height:370px}.ribbon{letter-spacing:.8px;font-size:9px}.hero-bottom{font-size:9px;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-art{background-image:url("charro-editorial.png");background-position:42% center}.art-caption small{display:block;font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:1px;font-style:normal;margin-top:9px}
/* V1: two pages, shared foundations, and an embeddable calendar. */
[hidden]{display:none!important}nav a[aria-current=page]{color:var(--red);text-decoration:underline;text-underline-offset:8px}h1{font-size:clamp(54px,5.1vw,82px)}.hero-copy{padding-top:60px}.home-invite{background:#ecece3;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.home-invite>div>p:not(.eyebrow){max-width:430px;color:var(--muted)}.quiet{font-size:13px;margin-top:20px}.events-intro{padding-top:65px;padding-bottom:45px}.events-intro h1{margin-bottom:25px}.intro-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.intro-row .intro{margin:0}.follow{border-bottom:1px solid var(--line)}.follow-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line);margin-top:35px}.follow-grid article{padding:35px 30px 35px 0;border-bottom:1px solid var(--line)}.follow-grid article:nth-child(even){padding-left:35px;border-left:1px solid var(--line)}.option-number{font-size:11px;letter-spacing:1.7px;color:var(--red)}.follow-grid h3{font-size:34px;letter-spacing:-.8px;margin:20px 0 15px}.follow-grid p{color:var(--muted);max-width:480px}.follow-grid .button{font-size:13px;padding:12px 16px}.notice{padding:18px 22px;border-left:3px solid var(--red);background:#ecece3;color:var(--muted);font-size:14px}details{margin-top:24px;font-size:14px}summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px;padding:8px 0}summary:focus-visible{outline:3px solid #ae6639;outline-offset:3px}details p{margin:14px 0}.feed-box{margin-top:30px;padding:25px;background:#ecece3}.feed-box label{font-size:13px;display:block;margin-bottom:10px}.feed-box>div{display:flex;gap:12px}.feed-box input{min-width:0;flex:1;border:1px solid var(--line);background:var(--paper);padding:12px;font:inherit;color:var(--ink)}.feed-box input:focus-visible{outline:3px solid var(--red)}.feed-box button{border:0}.feed-box p{font-size:13px;margin:12px 0 0}#shared-calendar iframe{width:100%;height:650px;border:1px solid var(--line);background:var(--paper)}.calendar .weekdays{font-size:11px}footer>a:last-child{min-height:44px;display:flex;align-items:center}.hero-art{background-position:42% center}
@media(max-width:800px){.home-invite{grid-template-columns:1fr;gap:15px}.intro-row{align-items:start;flex-direction:column}.follow-grid{grid-template-columns:1fr}.follow-grid article,.follow-grid article:nth-child(even){padding:30px 0;border-left:0}.section-heading>p br{display:none}#shared-calendar iframe{height:580px}.hero-copy{padding-top:45px}.feed-box>div{flex-direction:column}.feed-box .button{justify-content:center}}
@media(max-width:430px){nav a:first-child{max-width:none}.brand{letter-spacing:1px}.events-intro h1{font-size:52px}.calendar{padding:20px 14px}.calendar-top h3{font-size:17px}h2{font-size:44px}.hero-bottom{letter-spacing:.9px}}

.social-links{display:flex;gap:24px;font-size:13px}.social-links a{min-height:44px;display:flex;align-items:center}.social-links a:hover{color:var(--red)}
/* Scroll enhancements: native scrolling, quiet reveals, and desktop-only parallax. */
html{scroll-padding-top:125px}
header{position:sticky;top:0;z-index:10;background:rgba(245,242,233,.96);backdrop-filter:blur(12px);transition:box-shadow .25s ease}
header.is-scrolled{box-shadow:0 5px 24px #2428200d}
header:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--red);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.skip{position:fixed;z-index:20}
.hero-art{overflow:hidden;background-image:none}
.hero-art:before{content:'';position:absolute;inset:-40px 0;background-image:url('charro-editorial.png');background-size:cover;background-position:42% center;transform:translateY(var(--art-shift,0px));z-index:-2}
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .75s ease var(--reveal-delay,0ms),transform .75s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.reveal-ready.is-revealed,.reveal-ready:focus-within{opacity:1;transform:none}
.button{transition:background-color .2s ease,transform .2s ease}.button:hover{transform:translateY(-2px)}
@media(max-width:800px){html{scroll-padding-top:100px}.hero-art:before{inset:0;transform:none}.reveal-ready{transform:translateY(16px)}}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;transition:none}.hero-art:before{transform:none}.button,header{transition:none}.button:hover{transform:none}}
@media print{header{position:static}.reveal-ready{opacity:1;transform:none}.hero-art:before{transform:none}}

/* Temporary identity from the team-provided entrance signs. */
.brand-emblem{width:60px;height:60px;object-fit:contain;flex:none}.lienzo-sign{margin:30px 0 0}.lienzo-sign img{display:block;width:100%;height:auto;max-height:350px;object-fit:cover;border:1px solid var(--line)}.lienzo-sign figcaption{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}@media(max-width:800px){.brand-emblem{width:46px;height:46px}}
/* History: an editorial timeline and a growing team archive. */
.history-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;padding-top:65px;padding-bottom:65px}.history-hero h1{font-size:clamp(48px,4.8vw,76px)}.history-hero figure{margin:0}.history-hero img{display:block;width:100%;height:auto;border:1px solid var(--line)}.history-hero figcaption{font-size:12px;color:var(--muted);margin-top:12px}.history-opening{max-width:1000px}.history-opening>p{max-width:700px}.history-timeline{background:#ecece3}.timeline{list-style:none;padding:0;margin:25px 0 0}.timeline-entry{display:grid;grid-template-columns:200px 1fr;gap:45px;border-top:1px solid var(--line);padding:38px 0}.timeline-year{font-family:Georgia,serif;font-size:36px;color:var(--red);letter-spacing:-1px}.timeline-entry>div{border-left:2px solid #c9b2a6;padding-left:35px}.timeline-entry h3{font-size:36px;letter-spacing:-.6px;margin-bottom:16px}.timeline-entry p{max-width:650px;color:var(--muted)}.history-source{display:inline-block;font-size:12px;color:var(--red);text-decoration:underline;text-underline-offset:4px;min-height:30px;margin-right:20px}.history-date-note{border-top:1px solid var(--line);padding-top:16px;max-width:850px}.history-date-note p{color:var(--muted)}.history-families{display:grid;grid-template-columns:1fr 1fr;gap:10%}.history-families>div>p:not(.large-copy):not(.eyebrow){color:var(--muted)}.history-references{border-top:1px solid var(--line)}.history-references>p{max-width:720px;color:var(--muted)}.source-list{list-style:none;padding:0;margin-top:32px;max-width:900px}.source-list li{border-top:1px solid var(--line);padding:22px 0}.source-list a{display:block}.source-list strong{font-weight:500}.source-list span{display:block;font-size:13px;color:var(--muted);margin-top:8px}
@media(max-width:800px){.history-hero,.history-families{grid-template-columns:1fr;gap:30px}.timeline-entry{grid-template-columns:1fr;gap:16px;padding:28px 0}.timeline-entry>div{padding-left:20px}.timeline-year{font-size:29px}.history-hero{padding-top:40px}.history-hero h1{font-size:52px}nav{gap:17px}}
@media(max-width:430px){header{padding-left:5%;padding-right:5%}.brand{gap:8px;font-size:9px}.brand-emblem{width:40px;height:40px}nav{gap:12px;font-size:12px}.history-hero h1{font-size:47px}.timeline-entry h3{font-size:31px}}
/* Explicit language editions, generated from the same page templates. */
.language-switch{display:flex;justify-content:flex-end;gap:8px;padding:5px 5%;background:var(--ink);color:var(--paper);font-size:12px;max-width:1600px;margin:auto}.language-switch a{display:flex;gap:8px;align-items:center;min-height:34px;padding:3px 10px;border:1px solid transparent;border-radius:3px}.language-switch a[aria-current=true]{border-color:#eee9dc80}.language-switch a:hover{color:white;background:#ffffff18}.language-switch a>span:first-child{font-size:22px;line-height:1}.language-switch a:focus-visible{outline-color:#e2b8a1}html:lang(es) .hero-copy h1{font-size:clamp(49px,4.8vw,76px)}@media(max-width:800px){.language-switch{padding-left:5%;padding-right:5%}html:lang(es) .hero-copy h1{font-size:52px}}@media(max-width:430px){html:lang(es) .hero-copy h1{font-size:48px}}
html:lang(es) .calendar-top h3{text-transform:none}
/* Keep language selection reachable while reading a long page. */
.language-switch{position:sticky;top:0;z-index:12;min-height:44px}header{top:44px}html{scroll-padding-top:169px}@media(max-width:800px){html{scroll-padding-top:144px}}
/* Live provider panels with persistent profile fallbacks. */
.media-intro{padding-top:65px;padding-bottom:45px}.media-intro .intro{margin-bottom:0}.media-section{padding-top:45px;background:#ecece3}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:35px}.social-panel{min-width:0}.social-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.social-panel-heading h2{font-size:43px;margin:0}.social-panel-heading .eyebrow{margin-bottom:15px}.social-panel-heading .text-link{font-size:13px;margin:0;white-space:nowrap}.social-description{font-size:14px;color:var(--muted);min-height:48px;margin:25px 0 20px}.social-embed{height:760px;overflow:auto;overscroll-behavior-y:contain;background:var(--paper);border:1px solid var(--line);display:flex;justify-content:center}.social-embed iframe{display:block;border:0;max-width:100%;flex-shrink:0}.social-embed#instagram-embed iframe{width:100%}.embed-help{font-size:13px;color:var(--muted);margin-top:18px}.media-note{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:25px;margin-top:35px;max-width:900px}
@media(max-width:800px){.media-grid{grid-template-columns:1fr;gap:45px}.social-description{min-height:0}.media-intro{padding-top:40px}.social-embed{height:650px}.social-embed iframe{height:650px}}
@media(max-width:430px){header{flex-wrap:wrap;gap:12px;padding-top:14px;padding-bottom:14px}header>nav{width:100%;justify-content:space-between}html{scroll-padding-top:185px}.social-panel-heading h2{font-size:37px}.social-panel-heading .text-link{font-size:12px}}

.event-announcements>h2{margin-top:2rem}.announcement-card{padding:2rem 0;border-top:1px solid #752e3640}.announcement-card h3{font-size:1.8rem;margin:.7rem 0}.announcement-card p{max-width:65ch}.announcement-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}@media(max-width:700px){.announcement-grid{grid-template-columns:1fr;gap:0}}

#shared-calendar{border:1px solid #752e3633;border-radius:12px;overflow:hidden;background:#f4f1e8;box-shadow:0 16px 40px #25291f08}.calendar-brand-bar{background:#752e36;color:#fffaf0;padding:1.3rem 1.7rem;font-family:Georgia,serif;font-size:1.6rem}#shared-calendar iframe{display:block;border:0;width:100%;min-height:600px}.reminder-guide{margin:3rem 0;padding:2rem;background:#eeece2;border:1px solid #752e3626;border-radius:12px}.reminder-guide h3{font-size:1.7rem;margin:0 0 1rem}.reminder-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.reminder-columns h4{color:#752e36;font-size:1.1rem}.reminder-guide p{line-height:1.7}@media(max-width:700px){.reminder-columns{grid-template-columns:1fr;gap:0}.reminder-guide{padding:1.3rem}.calendar-brand-bar{font-size:1.3rem}}

/* Official home title, shared by both language editions. */
.official-title-banner{max-width:1600px;margin:auto;padding:38px 7% 34px;text-align:center;border-bottom:1px solid var(--line)}.official-site-title{max-width:1050px;margin:0 auto;color:var(--red);font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(30px,3.4vw,52px);font-weight:400;line-height:1.14;letter-spacing:-.6px;text-wrap:balance}@media(max-width:600px){.official-title-banner{padding:27px 6%}.official-site-title{font-size:32px;line-height:1.18}}
