/* Base CSS nativa; sin Tailwind ni preprocesadores. */
[hidden]{display:none!important}button,input,select{margin:0}button{background:transparent;border:0}fieldset{min-width:0;margin:0;padding:0;border:0}legend{padding:0}svg{display:inline-block;vertical-align:middle}button:disabled{cursor:not-allowed}

/* Palette: paper/forest/ink/ochre. Container 1240; gutters 20/24/40.
   Type: 16 body, 28/36/56/108 display. Layers: base 0, nav 20, menu 25, skip 50. */
:root{--paper:#f7f4ec;--forest:#193b2b;--ink:#263b2e;--muted:#576258;--line:#d7d7c9;--ochre:#956d37;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,summary,select{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;font-family:var(--serif)}em{font-weight:400}svg{flex-shrink:0}a,button,summary{transition:background 180ms,color 180ms,border-color 180ms}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a87936;outline-offset:5px}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.section-space{padding-block:100px}.eyebrow{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:.16em}.small-line{display:inline-block;width:30px;height:1px;background:var(--ochre);vertical-align:middle;margin-right:14px}h2{font-size:56px;line-height:1.07;letter-spacing:-.025em}h2 em{color:#65745f}p{max-width:70ch}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:50px;padding:12px 23px;font-size:13px;font-weight:600;line-height:1.4;border:1px solid transparent;border-radius:2px}.primary{background:var(--forest);color:var(--paper)}.primary:hover{background:#2b533e}.secondary{border-color:#b9bdad;background:transparent}.secondary:hover{background:#eae8db}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:13px;font-weight:600;border-bottom:1px solid #b8bfaf}.text-link:hover{color:var(--ochre)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:50;padding:12px;background:white}.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:#f7f4ecf7;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.nav-inner{height:94px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:9px}.brand img{width:60px;height:56px;object-fit:contain;mix-blend-mode:multiply}.brand>span{font:29px/1 var(--serif)}.brand small{display:block;font:8px/1.5 var(--sans);letter-spacing:.17em;margin-top:6px}.nav-links{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:500}.nav-links>a:not(.button){display:flex;align-items:center;min-height:44px}.nav-links>a:hover{color:var(--ochre)}.nav-links .primary:hover{color:white}.nav-cta{margin-left:10px;min-height:44px;padding:12px 18px;gap:25px}.menu-toggle{display:none;background:none;border:1px solid var(--line);height:44px;width:44px;align-items:center;justify-content:center}
.hero{display:grid;grid-template-columns:.85fr 1.3fr;gap:50px;align-items:center;padding-top:76px;padding-bottom:82px;min-height:600px}.hero-copy{position:relative;z-index:1}.hero h1{font-size:clamp(72px,7.4vw,108px);line-height:.94;letter-spacing:-.035em;margin:27px 0 25px}.hero h1 em{color:var(--forest)}.hero-description{font-size:16px;line-height:1.7;color:var(--muted)}.organizer{font-size:12px;margin:10px 0 29px}.hero-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;min-height:44px;margin-left:22px}.hero-art{position:relative;margin-top:10px;min-width:0}.poster-frame{padding:10px;background:#e9e0ca;transform:rotate(-2deg);box-shadow:4px 18px 30px #493a2422}.poster-frame img{width:100%;aspect-ratio:1.68;object-fit:cover}.hero-art figcaption{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:.14em;margin-top:25px;padding-inline:7px;color:var(--muted)}.poster-stamp{position:absolute;right:21px;bottom:12px;background:var(--forest);color:#ece6d4;border:1px solid var(--paper);outline:4px solid var(--forest);border-radius:50%;width:90px;height:90px;display:flex;flex-direction:column;align-items:center;justify-content:center;font:42px/.9 var(--serif);transform:rotate(8deg)}.poster-stamp small{font:8px/1 var(--sans);letter-spacing:.13em;margin-top:9px}.facts{display:grid;grid-template-columns:1fr 1.15fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:26px}.facts>div{display:flex;gap:18px;align-items:center;justify-content:center;border-right:1px solid var(--line)}.facts>div:first-child{justify-content:flex-start}.facts>div:last-child{border:0;justify-content:flex-end}.facts svg{width:24px;stroke-width:1.3;color:var(--ochre)}.facts small{font-size:9px;letter-spacing:.14em;display:block;color:var(--muted);margin-bottom:3px}.facts strong{font-size:15px;font-weight:500}
.intro{display:grid;grid-template-columns:1fr .85fr;gap:100px;padding-bottom:52px}.intro h2{margin-top:22px}.intro-copy{padding-top:35px;color:var(--muted);font-size:15px}.intro-copy p+p{margin-top:18px}.intro-copy .text-link{margin-top:20px;color:var(--forest)}.formats{display:grid;grid-template-columns:repeat(3,1fr);padding-bottom:95px}.formats article{padding:4px 35px 0;border-left:1px solid var(--line)}.formats article:first-child{padding-left:0;border:0}.formats article:last-child{padding-right:0}.format-number{font:28px var(--serif);color:var(--ochre)}.formats h3{font-size:31px;margin:8px 0}.formats p{font-size:14px;color:var(--muted);max-width:32ch}.format-note{font-size:8px;letter-spacing:.12em;font-weight:600;display:block;margin-top:24px;color:#5f6658}
.agenda{background:var(--forest);color:var(--paper);position:relative;overflow:hidden}.agenda-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.agenda-heading{position:relative}.agenda .eyebrow{color:#c9c9af}.agenda h2{margin:25px 0}.agenda h2 em{color:#c2c7ac}.agenda-heading>p:not(.eyebrow){font-size:14px;color:#e0e3d6}.outlined-light{border-color:#8d9b85;margin-top:35px;color:var(--paper)}.outlined-light:hover{background:#365540}.agenda-large-v{position:absolute;left:150px;bottom:-180px;opacity:.045;font:420px/.8 var(--serif);pointer-events:none}.timeline{list-style:none;padding:0;margin:0;position:relative}.timeline li{display:grid;grid-template-columns:70px 1fr;gap:25px;padding:23px 0;border-bottom:1px solid #ffffff26}.timeline li:first-child{padding-top:0}.timeline li:last-child{border-bottom:0;padding-bottom:0}.timeline time{font:27px/1.4 var(--serif);color:#d6d6b8}.timeline h3{font-size:24px;line-height:1.45}.timeline p{font-size:12px;color:#d4ddcf;margin-top:4px;max-width:45ch}
.tradition{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:85px;border-bottom:1px solid var(--line)}.tradition figure img{height:330px;width:100%;object-fit:cover;object-position:60% 50%}.tradition figcaption{font:italic 17px var(--serif);padding-top:13px;color:var(--muted)}.tradition h2{font-size:50px;margin:23px 0}.tradition p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:15px}.tradition .text-link{margin-top:8px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.section-heading h2{margin-top:20px}.section-heading .button{margin-bottom:5px}.rules-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:85px}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:15px;font-weight:500;min-height:68px;padding:15px 0}.accordion summary::-webkit-details-marker{display:none}.accordion summary svg{transition:transform 180ms}.accordion details[open] summary svg{transform:rotate(180deg)}.accordion p{font-size:13px;line-height:1.8;color:var(--muted);padding:0 30px 23px 0}.price-panel{border:1px solid #d0d2c0;background:#eeeee3;padding:30px;align-self:start}.price-panel>.eyebrow{margin-bottom:20px}.price-panel>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.price-panel>div span{font-size:13px}.price-panel strong{font:30px var(--serif);white-space:nowrap}.included{font-size:12px;line-height:2.1;padding:20px 0 15px}.included svg{display:inline-block;margin-right:6px;vertical-align:middle}.rental-note{font-size:11px;color:var(--muted);padding-top:15px;border-top:1px solid var(--line)}
.registration-section{background:#eaece0;border-top:1px solid #dadfcc;border-bottom:1px solid #dadfcc}.registration-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.registration-intro h2{margin:25px 0;font-size:56px}.registration-intro>p:not(.eyebrow){font-size:15px;color:var(--muted);max-width:35ch}.registration-deadline{display:flex;align-items:center;gap:16px;margin:36px 0 26px;padding-top:28px;border-top:1px solid #c7cebb}.registration-deadline strong{font-size:13px;font-weight:600;display:block}.registration-deadline span{display:block;font-size:11px;color:var(--muted);margin-top:3px}.registration-intro .fine-print{font-size:12px!important;max-width:38ch!important}.registration-intro .text-link{margin-top:22px}.registration-form{background:var(--paper);padding:36px;border:1px solid #d0d7c5;box-shadow:0 8px 30px #203d2b05}.form-title{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid var(--line)}.form-title h3{font-size:28px}.form-title span{font-size:9px;color:var(--muted);max-width:90px;text-align:right}.fields{display:grid;grid-template-columns:1fr 1fr;gap:19px 18px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.field>span{font-size:11px;font-weight:600}.field input,.field select{min-height:46px;width:100%;border:1px solid #b8c1ad;border-radius:2px;background:#fcfbf6;padding:10px 12px;font-size:14px;color:var(--ink)}.field input::placeholder{color:#6e766b;font-size:12px}.field input[aria-invalid=true]{border-color:#a9422f;background:#fff7f2}.field-error{font-size:11px;color:#a13724}.full{grid-column:1/-1}.field-note{font-size:10px;color:var(--muted)}.type-field{border:0;padding:0;margin:23px 0 15px}.type-field legend{font-size:11px;font-weight:600;margin-bottom:9px}.type-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.type-options label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 15px;border:1px solid #bcc5b3;font-size:13px;cursor:pointer}.type-options label:has(input:checked){border-color:var(--forest);background:#edf0e6}.type-options input{width:16px;height:16px;accent-color:var(--forest)}.check-row{display:flex;align-items:flex-start;gap:10px;min-height:44px;font-size:12px;cursor:pointer;padding-block:8px}.check-row input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--forest);flex-shrink:0;cursor:pointer}.rental-field{margin-top:10px}.rental-field .field{margin:5px 0 12px 27px;max-width:280px}.price-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0;padding:16px 0;gap:20px}.price-total strong{font:37px/1 var(--serif);white-space:nowrap}.price-total span{font-size:12px;display:block}.price-total small{font-size:10px;color:var(--muted)}.consent{font-size:11px;line-height:1.6}.consent a,.consent button{border:0;border-bottom:1px solid var(--muted);padding:0;background:none;font:inherit;color:inherit}.submit-button{width:100%;margin-top:17px;justify-content:space-between}.submit-button:disabled{opacity:.6;cursor:wait}.no-payment{font-size:10px;color:var(--muted);text-align:center;margin-top:11px}.form-message{padding:12px 14px;font-size:12px;background:#fff0e7;border:1px solid #c9a393;margin-top:17px;color:#7a3120}.receipt{background:var(--paper);border:1px solid #c2cdb8;padding:40px;align-self:start}.receipt-icon{width:50px;height:50px;display:flex;align-items:center;justify-content:center;border:1px solid var(--forest);border-radius:50%;margin-bottom:25px}.receipt h3{font-size:34px;line-height:1.2;margin-bottom:18px}.receipt p{font-size:14px;color:var(--muted);margin-bottom:15px}.receipt code{font-size:16px;display:inline-block;background:#e9ecdf;padding:10px 14px;margin-bottom:20px}.receipt .button{margin-top:10px}.privacy-copy{font-size:11px;line-height:1.8;color:var(--muted);padding:15px;border:1px solid var(--line);margin-top:12px}.privacy-copy p+p{margin-top:10px}.privacy-copy strong{color:var(--ink)}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.location{display:flex;align-items:center;gap:30px;padding-block:55px}.location-mark{width:74px;height:74px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ochre)}.location h2{font-size:33px;margin:5px 0}.location p:not(.eyebrow){font-size:13px;color:var(--muted)}.location>.button{margin-left:auto}footer{background:#e9e7dc;border-top:1px solid var(--line)}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:45px}.footer-brand{font:39px/1 var(--serif)}.footer-brand span{display:block;font:8px/1.5 var(--sans);letter-spacing:.15em;margin-top:10px}.footer-main p{font-size:12px}.footer-main p em{font:italic 21px var(--serif)}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ccd0bf;padding-block:20px;font-size:9px;color:#535f50}.footer-bottom div{display:flex;gap:23px}.footer-bottom a{display:inline-flex;align-items:center;gap:4px;min-height:44px}
@media(min-width:1440px){.hero{min-height:620px}.hero-art{margin-left:10px}}
@media(max-width:1200px){.hero{gap:30px;grid-template-columns:.9fr 1.1fr}.hero h1{font-size:90px}.hero-link{margin:10px 0 0;display:flex}.intro,.agenda-grid,.tradition,.rules-grid,.registration-grid{gap:55px}.registration-intro h2{font-size:48px}.nav-links{gap:22px}h2{font-size:49px}.tradition h2{font-size:43px}.registration-form{padding:28px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.nav-inner{height:80px}.hero{padding-top:55px;padding-bottom:60px;gap:25px;min-height:0}.hero h1{font-size:76px}.hero .eyebrow{font-size:10px}.hero-description{font-size:14px}.hero-art figcaption{font-size:6px}.poster-stamp{height:65px;width:65px;font-size:30px;right:12px;bottom:10px}.poster-stamp small{font-size:6px}.facts{gap:20px;padding-block:23px}.facts>div{gap:10px;padding-right:10px}.facts strong{font-size:12px}.facts small{font-size:7px}.facts svg{width:20px}.section-space{padding-block:70px}.intro{gap:40px;grid-template-columns:1fr 1fr}.intro-copy{padding-top:25px;font-size:14px}h2{font-size:42px}.formats{padding-bottom:70px}.formats article{padding-inline:22px}.formats h3{font-size:28px}.formats p{font-size:13px}.format-note{font-size:7px}.agenda-grid{gap:40px;grid-template-columns:.85fr 1.15fr}.timeline li{gap:15px;grid-template-columns:57px 1fr}.timeline time{font-size:23px}.timeline h3{font-size:21px}.tradition{gap:40px}.tradition h2{font-size:38px}.tradition figure img{height:340px}.rules-grid{gap:35px;grid-template-columns:1.2fr 1fr}.price-panel{padding:22px}.price-panel>div span{font-size:11px}.registration-grid{gap:35px;grid-template-columns:.8fr 1.2fr}.registration-intro h2{font-size:43px}.registration-form{padding:23px}.fields{gap:16px 12px}.form-title{gap:10px}.form-title h3{font-size:25px}.form-title span{font-size:8px}.field input,.field select{font-size:16px}.location{gap:22px}.location h2{font-size:28px}.nav-links{gap:18px;font-size:11px}.nav-cta{gap:15px;margin:0;padding-inline:13px}.brand>span{font-size:25px}.brand img{width:50px}.brand small{font-size:7px}}
@media(max-width:640px){html{scroll-padding-top:90px}.wrap{width:calc(100% - 40px)}.nav-inner{height:76px}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;top:76px;left:0;right:0;z-index:25;background:var(--paper);padding:14px 20px 23px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #213a2b14}.nav-links.is-open{display:flex;align-items:stretch;flex-direction:column;gap:7px}.nav-links>a:not(.button){font-size:16px;padding-inline:12px}.nav-cta{margin-top:8px;font-size:14px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:43px;padding-bottom:42px;gap:38px}.hero h1{font-size:82px;letter-spacing:-.04em;margin-top:23px;margin-bottom:21px}.hero-description{font-size:16px}.organizer{font-size:12px;margin-bottom:24px}.hero-copy>.button{min-height:52px;font-size:14px}.hero-link{display:inline-flex;margin:0 0 0 13px;font-size:11px;gap:5px}.hero-art{margin:5px 4px 0}.poster-frame{padding:7px}.hero-art figcaption{font-size:6px;gap:5px;margin-top:17px}.poster-stamp{bottom:8px;right:13px}.facts{grid-template-columns:1fr;gap:0;padding-block:5px}.facts>div,.facts>div:first-child,.facts>div:last-child{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line);padding:17px 4px;gap:17px}.facts>div:last-child{border-bottom:0}.facts strong{font-size:15px}.facts small{font-size:9px}.facts svg{width:23px}.section-space{padding-block:58px}.intro{grid-template-columns:1fr;gap:23px;padding-bottom:36px}.intro h2{font-size:42px;margin-top:18px}.intro-copy{padding:0;font-size:16px}.intro-copy .text-link{font-size:14px;margin-top:14px}.formats{grid-template-columns:1fr;padding-bottom:55px;gap:0}.formats article,.formats article:first-child,.formats article:last-child{padding:24px 0;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40px 1fr;column-gap:12px}.formats article:first-child{border-top:1px solid var(--line)}.format-number{grid-row:1/4;padding-top:5px}.formats h3{margin:0 0 9px;font-size:31px}.formats p{font-size:16px;max-width:100%}.format-note{grid-column:2;font-size:8px;margin-top:15px}.agenda-grid{grid-template-columns:1fr;gap:42px}.agenda h2{font-size:49px}.agenda-heading>p:not(.eyebrow){font-size:16px}.outlined-light{margin-top:24px;font-size:14px}.agenda-large-v{display:none}.timeline li{grid-template-columns:60px 1fr;gap:15px;padding:22px 0}.timeline time{font-size:26px}.timeline h3{font-size:25px;line-height:1.2}.timeline p{font-size:14px;line-height:1.65;margin-top:9px}.tradition{grid-template-columns:1fr;gap:35px}.tradition figure img{height:270px;object-position:65% 50%}.tradition h2{font-size:44px;margin-top:20px}.tradition p:not(.eyebrow){font-size:16px}.section-heading{display:block;margin-bottom:28px}.section-heading h2{font-size:45px}.section-heading .button{margin-top:25px;font-size:14px}.rules-grid{grid-template-columns:1fr;gap:32px}.accordion summary{font-size:16px;line-height:1.5;min-height:74px}.accordion p{font-size:16px;padding-right:0}.price-panel{padding:25px}.price-panel>div span{font-size:14px}.included{font-size:14px}.rental-note{font-size:13px}.registration-grid{grid-template-columns:1fr;gap:32px}.registration-intro h2{font-size:46px;margin-top:20px}.registration-intro>p:not(.eyebrow){font-size:16px;max-width:100%}.registration-deadline{margin:25px 0 20px;padding-top:22px}.registration-deadline strong{font-size:15px}.registration-deadline span{font-size:13px}.registration-intro .fine-print{font-size:13px!important;max-width:100%!important}.registration-form{padding:23px 20px}.form-title h3{font-size:28px}.form-title span{font-size:9px}.fields{grid-template-columns:1fr;gap:18px}.field label,.field>span,.type-field legend{font-size:13px}.field input,.field select{min-height:50px;font-size:16px}.field input::placeholder{font-size:14px}.field-note{font-size:12px}.field-error{font-size:13px}.type-options label{padding-inline:12px;font-size:15px;min-height:50px}.check-row{font-size:14px;min-height:48px}.price-total span{font-size:14px}.price-total small{font-size:12px}.consent{font-size:12px}.submit-button{font-size:14px;min-height:54px}.no-payment{font-size:12px}.privacy-copy{font-size:12px}.form-message{font-size:14px}.receipt{padding:28px}.location{flex-wrap:wrap;padding-block:40px;gap:20px}.location-mark{width:53px;height:53px}.location-mark svg{width:26px}.location>div:nth-child(2){flex:1}.location h2{font-size:27px}.location .eyebrow{font-size:8px}.location p:not(.eyebrow){font-size:12px}.location>.button{margin:0;width:100%;font-size:14px}.footer-main{align-items:flex-start;flex-wrap:wrap;gap:27px;padding-block:35px}.footer-main p{font-size:12px}.footer-main>.text-link{font-size:14px}.footer-brand{font-size:34px}.footer-bottom{font-size:9px;flex-wrap:wrap;gap:8px;align-items:center}.footer-bottom div{gap:20px}}
/* Mobile refinement: bottom actions at layer 15, beneath header 20 and menu 25. */
.mobile-event,.mobile-actions{display:none}
.nav-links>a[aria-current="location"]:not(.primary){color:var(--ochre);text-decoration:underline;text-underline-offset:7px}
.form-group{min-width:0;border:0;padding:0;margin:0 0 30px}
.form-group>legend{display:flex;align-items:center;gap:10px;width:100%;font-size:14px;font-weight:600;margin-bottom:20px;padding:0}
.step-number{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #b5c1a9;border-radius:50%;font-size:11px;background:#e9eddf;flex-shrink:0}
.form-group .type-field{margin:0 0 18px}
.member-check{margin-top:15px}
.material-group{margin-bottom:15px}
.material-group .rental-field{margin-top:0}
.material-group .price-total{margin-bottom:0}
.privacy-toggle{font-size:12px;background:transparent;border-top:0;border-left:0;border-right:0;padding:0}
.price-panel>.text-link{margin-top:16px}
@media(min-width:641px){.rules-grid{grid-template-columns:1fr 1.35fr}}
.receipt:focus{outline:none}
.receipt:focus-visible{outline:3px solid var(--ochre);outline-offset:5px}
.receipt{scroll-margin-top:110px}
.loading-spinner{animation:spin 800ms linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:641px) and (max-width:900px){
 .registration-grid{grid-template-columns:1fr;gap:34px;max-width:660px}
 .registration-intro h2{font-size:48px}
 .registration-intro>p:not(.eyebrow),.registration-intro .fine-print{max-width:62ch!important}
 .registration-deadline{margin-block:24px}
 .registration-form{padding:34px}
 .field label,.type-field legend{font-size:13px}
 .intro-copy,.tradition p:not(.eyebrow){font-size:16px}
 .nav-links{gap:14px}
 .nav-cta{gap:12px}
}
@media(max-width:640px){
 html{scroll-padding-top:94px}
 body{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
 .site-header{padding-top:env(safe-area-inset-top,0px)}
 .nav-inner{height:72px}
 .brand img{width:46px;height:46px}
 .brand{gap:8px}
 .brand>span{font-size:26px}
 .brand small{font-size:7px}
 .menu-toggle{width:auto;min-width:80px;min-height:48px;gap:7px;padding:10px}
 .menu-toggle svg{width:20px;height:20px}
 .menu-toggle span{font-size:12px;font-weight:600}
 .nav-links{top:calc(72px + env(safe-area-inset-top,0px));padding:12px 20px 20px;max-height:calc(100dvh - 90px);overflow-y:auto;gap:6px}
 .nav-links>a:not(.button){min-height:50px;padding:12px;border-bottom:1px solid var(--line);font-size:16px}
 .nav-links .nav-cta{margin-top:10px;min-height:52px}
 .hero{padding-top:30px;padding-bottom:35px;gap:29px}
 .hero h1{font-size:clamp(54px,16vw,69px);line-height:1;letter-spacing:-.025em;margin:19px 0 20px}
 .hero-copy .eyebrow{font-size:11px;letter-spacing:.13em}
 .hero-description{font-size:16px;line-height:1.65;max-width:32ch;margin-bottom:20px}
 .organizer{display:none}
 .mobile-event{display:flex;flex-direction:column;gap:3px;border-left:2px solid #a78a5a;padding-left:14px;margin:0 0 22px;font-size:14px;line-height:1.6}
 .mobile-event strong{font-size:16px;font-weight:600}
 .mobile-event span{color:var(--muted)}
 .hero-copy>.button{width:100%;min-height:54px;font-size:15px;justify-content:space-between;padding-inline:20px}
 .hero-link{display:flex;justify-content:center;gap:9px;margin:8px 0 0;min-height:48px;font-size:13px}
 .hero-art{margin-inline:4px}
 .hero-art figcaption{font-size:7px;line-height:1.6;letter-spacing:.07em}
 .poster-stamp{height:58px;width:58px;font-size:28px;right:12px;bottom:14px}
 .poster-stamp small{font-size:6px}
 .facts{display:none}
 .section-space{padding-block:45px}
 .intro h2{font-size:clamp(35px,10vw,43px);line-height:1.12}
 .intro-copy p,.tradition p:not(.eyebrow){line-height:1.75}
 .formats{padding-bottom:45px}
 .formats article,.formats article:first-child,.formats article:last-child{padding-block:21px;grid-template-columns:32px 1fr;gap:0 12px}
 .formats h3{font-size:30px}
 .format-note{font-size:10px;letter-spacing:.06em;margin-top:13px;line-height:1.6}
 .agenda h2{font-size:clamp(38px,11vw,49px);line-height:1.1;margin-top:20px}
 .agenda-grid{gap:32px}
 .timeline li{grid-template-columns:57px 1fr;gap:14px;padding-block:21px}
 .timeline h3{font-size:25px;line-height:1.25}
 .timeline p{font-size:16px;line-height:1.65}
 .outlined-light{width:100%;justify-content:space-between;min-height:52px}
 .tradition h2{font-size:clamp(35px,10vw,43px);line-height:1.1}
 .tradition figure img{height:235px}
 .tradition figcaption{font-size:16px;line-height:1.5}
 .section-heading h2{font-size:clamp(37px,10.5vw,45px)}
 .section-heading .button{width:100%;justify-content:space-between;min-height:52px}
 .rules-grid{gap:27px}
 .price-panel{padding:24px}
 .price-panel>.eyebrow{font-size:11px}
 .price-panel>div span{font-size:15px}
 .price-panel strong{font-size:33px}
 .price-panel>.text-link{width:100%;justify-content:space-between;min-height:48px;font-size:14px}
 .accordion summary{min-height:70px;gap:12px;font-size:16px}
 .accordion p{font-size:16px;line-height:1.75}
 .registration-intro h2{font-size:clamp(36px,10.5vw,46px);line-height:1.1}
 .registration-intro .text-link{margin-top:12px}
 .registration-grid{gap:28px}
 .registration-form{padding:24px 20px;min-width:0}
 .form-title{display:block;margin-bottom:26px;padding-bottom:19px}
 .form-title h3{font-size:30px;line-height:1.15}
 .form-title span{display:block;max-width:none;text-align:left;font-size:12px;margin-top:8px}
 .form-group{margin-bottom:27px}
 .form-group>legend{font-size:16px;gap:9px;margin-bottom:18px;line-height:1.5}
 .step-number{width:25px;height:25px;font-size:12px}
 .fields{gap:19px}
 .field{gap:8px}
 .field label,.type-field legend{font-size:14px;line-height:1.5}
 .field input,.field select{min-height:52px;font-size:16px;padding:12px}
 .field input::placeholder{font-size:14px}
 .type-options{gap:12px}
 .type-options label{min-height:52px;font-size:15px;padding:12px 10px;gap:8px}
 .type-options input,.check-row input{width:19px;height:19px}
 .type-field legend{margin-bottom:10px}
 .check-row{min-height:50px;gap:11px;font-size:15px;line-height:1.6;padding-block:12px}
 .material-group .rental-field .field{margin:8px 0 15px;max-width:none}
 .price-total{margin-top:17px;padding:18px 0;align-items:center;gap:14px}
 .price-total span{font-size:14px;font-weight:600;line-height:1.5}
 .price-total small{display:block;font-size:12px;line-height:1.6;margin-top:4px;max-width:23ch}
 .price-total strong{font-size:38px}
 .material-group{margin-bottom:15px}
 .consent{font-size:13px;line-height:1.8}
 .privacy-toggle{min-height:48px;font-size:13px;line-height:1.6}
 .privacy-copy{font-size:13px;line-height:1.8}
 .submit-button{font-size:14px;min-height:56px;gap:14px;padding:14px 16px;line-height:1.5}
 .no-payment{font-size:12px;line-height:1.6}
 .receipt{padding:28px 24px;scroll-margin-top:95px}
 .receipt h3{font-size:35px}
 .receipt p{font-size:16px;line-height:1.7}
 .receipt .button{width:100%;justify-content:space-between;min-height:52px;font-size:14px}
 .text-link{min-height:48px}
 .location{padding-block:34px}
 .location .eyebrow{font-size:10px;letter-spacing:.08em}
 .location h2{font-size:29px;line-height:1.15}
 .location p:not(.eyebrow){font-size:13px}
 .location>.button{min-height:52px}
 .footer-bottom{font-size:11px;line-height:1.6}
 .footer-bottom a{min-height:48px}
 .mobile-actions:not([hidden]){position:fixed;z-index:15;bottom:0;left:0;right:0;display:flex;align-items:center;gap:16px;background:#f7f4ecfa;backdrop-filter:blur(12px);border-top:1px solid #c4ccb9;box-shadow:0 -5px 24px #193b2b0c;padding:10px max(20px,env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));animation:actions-enter 180ms ease-out}
 .mobile-actions .button{flex:1;min-height:52px;font-size:14px;gap:20px;justify-content:space-between;padding-inline:19px}
 .mobile-program{display:flex;align-items:center;justify-content:center;gap:7px;min-height:52px;min-width:103px;font-size:13px;font-weight:600}
}
@media(max-width:350px){
 .wrap{width:calc(100% - 32px)}
 .registration-form{padding:22px 16px}
 .price-panel{padding:22px 20px}
 .type-options label{font-size:14px;gap:6px;padding-inline:8px}
 .mobile-actions:not([hidden]){gap:10px;padding-inline:16px}
 .mobile-actions .button{gap:12px;padding-inline:14px}
}
@keyframes actions-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.registration-status{padding:16px;margin-bottom:25px;border:1px solid #b8c5ac;background:#edf0e5;font-size:14px;line-height:1.75}.registration-status a{text-decoration:underline;text-underline-offset:3px}.registration-form fieldset:disabled input,.registration-form fieldset:disabled select{background:#eeeee7;color:#53614f;cursor:not-allowed}.registration-form fieldset:disabled .check-row,.registration-form fieldset:disabled .type-options label{cursor:not-allowed}.submit-button:disabled{cursor:not-allowed}
