@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--paper:#f2e4ce;--paper-light:#f8efdf;--ink:#3f3d41;--ink-soft:#887270;--red:#cb3136;--turquoise:#007888;--blue:#0e4161;--green:#6b9f32;--gold:#d99b22;--white:#fff;--display:"Anton", Impact, sans-serif;--body:"Inter", Arial, sans-serif;--mono:"JetBrains Mono", monospace;--line:2px solid var(--ink);--title-tracking:-.03em;--title-leading:.88;--title-margin:10px 0 0;--speed-lines-opacity:.28}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{min-width:320px;color:var(--ink);font-family:var(--body);background:radial-gradient(circle at 10% 20%, #3f3d4112 0 1px, transparent 1.3px) 0 0 / 7px 7px, var(--paper-light);margin:0;overflow-x:hidden}body:before{z-index:9999;content:"";pointer-events:none;opacity:.04;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.84' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.32'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}summary{cursor:pointer}:focus-visible{outline:3px solid var(--turquoise);outline-offset:4px}::selection{background:var(--red);color:#fff}.skip-link{z-index:10000;border:var(--line);background:var(--paper-light);padding:12px 16px;font-weight:800;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.section-shell{width:min(88%,1440px);margin-inline:auto}.section-label,.hero-kicker,.card-topline,.giant-ticket-meta,.venue-coordinate{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:700}.site-header{z-index:100;border-bottom:var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8efdff0;grid-template-columns:160px 1fr auto;align-items:center;min-height:88px;padding:10px 6%;display:grid;position:sticky;top:0}.brand{width:116px}.brand img{mix-blend-mode:multiply;width:100%}.desktop-nav{justify-content:center;gap:clamp(24px,3.6vw,56px);display:flex}.desktop-nav a{font-family:var(--mono);text-transform:uppercase;padding-block:12px;font-size:.72rem;font-weight:700;position:relative}.desktop-nav a:after{transform-origin:100%;background:var(--red);content:"";height:3px;transition:all .2s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.desktop-nav a:hover:after{transform-origin:0;transform:scaleX(1)}.header-ticket{border:var(--line);background:var(--red);min-width:150px;box-shadow:4px 4px 0 var(--ink);color:#fff;text-transform:uppercase;justify-content:space-between;align-items:center;gap:28px;padding:16px 18px;font-size:.8rem;font-weight:800;transition:all .16s;display:flex}.header-ticket:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.mobile-nav{display:none}.hero{border-bottom:var(--line);grid-template-columns:.86fr 1.14fr;min-height:calc(100svh - 88px);display:grid;position:relative;overflow:hidden}.hero-copy{z-index:4;border-right:var(--line);background:var(--paper-light);flex-direction:column;justify-content:center;padding:52px clamp(28px,4.6vw,76px);display:flex;position:relative}.hero-copy:before{background:var(--red);content:"";width:9px;position:absolute;top:0;bottom:0;left:0}.hero-kicker{color:var(--turquoise);border-bottom:1px solid;justify-content:space-between;padding-bottom:13px;display:flex}.hero h1,.section-heading h2,.announcement-heading h2,.tickets-copy h2,.faq-heading h2,.manifesto h2,.venue h2,.giant-ticket-main h3,.card-copy h3,.announcement-list h3{font-family:var(--display);letter-spacing:var(--title-tracking);line-height:var(--title-leading);font-weight:400;text-transform:uppercase}.hero h1{flex-direction:column;row-gap:.08em;margin:var(--title-margin);font-size:clamp(6.5rem,10vw,11rem);display:flex}.hero h1 strong{color:var(--red);font-size:.74em;font-weight:400}.hero-tagline{margin:10px 0 18px;font-size:clamp(1.1rem,1.5vw,1.45rem);font-weight:800;line-height:1.15}.event-stamp{border:var(--line);width:fit-content;max-width:100%;font-family:var(--mono);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:22px;padding:9px 12px;font-size:.68rem;font-weight:700;display:flex}.event-stamp-dot{background:var(--red);width:6px;height:20px}.ticket-button{border:var(--line);background:var(--red);width:min(100%,540px);min-height:76px;box-shadow:5px 5px 0 var(--ink);color:#fff;text-transform:uppercase;grid-template-columns:1fr 34px 58px;align-items:center;font-weight:800;transition:all .16s;display:grid}.ticket-button:hover{box-shadow:8px 8px 0 var(--ink);transform:translate(-2px,-2px)}.ticket-button>span:first-child{padding:18px 24px}.ticket-perforation{opacity:.7;border-left:2px dashed;align-self:stretch}.ticket-arrow{border-left:1px solid;align-self:stretch;place-items:center;font-size:1.4rem;display:grid}.explore-link{text-transform:uppercase;border-bottom:2px solid;width:fit-content;margin-top:26px;padding-bottom:6px;font-size:.78rem;font-weight:800}.explore-link span{color:var(--red);margin-right:8px}.hero-visual{background:url("/assets/img/hero-bg.jpg") 50%/cover;background:image-set(url("/assets/img/hero-bg.webp") type("image/webp"), url("/assets/img/hero-bg.jpg") type("image/jpeg")) 50%/cover;min-height:720px;position:relative;overflow:hidden}.hero-visual:after{content:"";background:linear-gradient(100deg,#0000 40%,#3f3d412e);position:absolute;inset:0}.hero-art-frame{z-index:3;border:8px solid var(--paper-light);width:min(48%,460px);position:absolute;bottom:6%;right:5%;transform:rotate(2deg);box-shadow:12px 12px #3f3d41b3}.hero-art-frame img{aspect-ratio:1;object-fit:cover;filter:contrast(1.08)saturate(.85);width:100%}.hero-sun{z-index:2;aspect-ratio:1;background:var(--ink);border-radius:50%;width:clamp(110px,14vw,210px);position:absolute;top:8%;right:7%;box-shadow:0 0 0 2px #f2e4ce4d}.hero-glyph{z-index:4;color:var(--paper-light);font-family:var(--display);text-shadow:4px 4px 0 var(--red);font-size:clamp(2.8rem,4vw,5rem);line-height:.9;display:grid;position:absolute;top:7%;left:7%}.hero-index{z-index:4;color:var(--paper-light);font-family:var(--mono);align-items:end;gap:12px;display:flex;position:absolute;bottom:3%;right:4%}.hero-index strong{font-family:var(--display);font-size:7rem;font-weight:400;line-height:.7}.registration-mark{z-index:8;width:30px;height:30px;color:var(--red);position:absolute}.registration-mark:before,.registration-mark:after{content:"";background:currentColor;position:absolute}.registration-mark:before{width:30px;height:1px;top:14px}.registration-mark:after{width:1px;height:30px;left:14px}.registration-mark span{border:1px solid;width:5px;height:5px;position:absolute}.registration-mark span:last-child{bottom:0;right:0}.mark-top{top:4%;left:50%}.mark-bottom{color:var(--paper);bottom:3%;right:2%}.marquee{border-bottom:var(--line);background:var(--red);color:#fff;overflow:hidden}.marquee-track{will-change:transform;width:max-content;animation:24s linear infinite marquee;display:flex}.marquee-group{flex-shrink:0;align-items:center;padding-block:14px;display:flex}.marquee-item{align-items:center;display:flex}.marquee-item span{font-family:var(--display);text-transform:uppercase;font-size:1.6rem}.marquee i{color:var(--paper);margin-inline:28px;font-style:normal}.experience{padding-block:clamp(90px,11vw,160px)}.section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:4%;margin-bottom:56px;display:grid}.section-heading .section-label{color:var(--turquoise);grid-column:1/-1}.section-heading h2,.announcement-heading h2,.tickets-copy h2,.faq-heading h2{margin:var(--title-margin);font-size:clamp(4rem,7vw,7.5rem)}.section-heading h2 em{color:var(--red);font-style:normal}.section-intro{border-left:6px solid var(--red);max-width:560px;margin:0;padding-left:22px;font-size:1.15rem;line-height:1.6}.experience-grid{border-top:var(--line);border-left:var(--line);grid-template-columns:repeat(4,1fr);display:grid}.experience-card{border-right:var(--line);border-bottom:var(--line);min-height:500px;position:relative;overflow:hidden;display:flex;flex-direction:column}.card-topline{border-bottom:1px solid;justify-content:space-between;padding:18px;display:flex}.card-art{border-bottom:var(--line);background:var(--paper);height:245px;position:relative;overflow:visible}.speed-lines{color:inherit;opacity:var(--speed-lines-opacity);background:radial-gradient(circle,currentColor 0 2px,#0000 2.5px) 0 0/10px 10px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(120deg,#000,#0000 75%);mask-image:linear-gradient(120deg,#000,#0000 75%)}.card-logo-orbit{z-index:1;opacity:.34;filter:brightness(0)invert();width:280px;height:170px;position:absolute;top:8px;right:-12px;overflow:hidden;transform:rotate(-8deg);transform-origin:70% 30%;pointer-events:none;object-fit:contain;display:block}.card-art strong{z-index:2;color:#fffffff5;font-family:var(--display);text-shadow:5px 5px #0000002e;font-size:11rem;font-weight:400;line-height:1;position:absolute;bottom:-34px;right:12px}.card-copy{padding:24px 20px;display:flex;flex-direction:column;flex:1;gap:14px}.card-cta{margin-top:auto;border-top:1px solid color-mix(in srgb,currentColor 35%,transparent);padding-top:14px;font-family:var(--mono);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.45}.card-cta span{display:inline-block;margin-right:8px;color:var(--gold)}.card-cta a{color:inherit;text-decoration:underline;text-underline-offset:.2em}.card-cta a:hover,.card-cta a:focus-visible{outline:2px solid currentColor;outline-offset:3px}.card-copy h3{margin:0 0 12px;font-size:2.6rem}.card-copy p{margin:0;line-height:1.55}.accent-red{color:#fff;background:#b7242f}.accent-red .card-art{background:var(--red)}.accent-ink{background:var(--ink);color:#fff}.accent-ink .card-art{background:var(--ink)}.accent-paper{color:#fff;background:#006b78}.accent-paper .card-art{background:#006f7c}.manifesto{background:var(--ink);color:var(--paper-light);padding:clamp(100px,13vw,190px) 0;position:relative;overflow:hidden}.manifesto:after{aspect-ratio:1;content:"";border:50px solid #cb313640;border-radius:50%;width:470px;position:absolute;top:-45%;right:10%}.manifesto-ruler{font-family:var(--mono);border-left:1px solid #f2e4ce4d;flex-direction:column;justify-content:space-around;padding-left:8px;font-size:.55rem;display:flex;position:absolute;inset:0 auto 0 2%}.manifesto-copy{z-index:2;position:relative}.manifesto-copy>p:first-child{color:var(--turquoise);font-family:var(--mono);text-transform:uppercase;font-size:.72rem;font-weight:700}.manifesto h2{max-width:1100px;margin:var(--title-margin);font-size:clamp(5rem,9vw,10rem)}.manifesto h2 span{color:var(--red);display:block}.manifesto-note{border-left:6px solid var(--turquoise);max-width:610px;margin:34px 0 0 auto;padding-left:20px;font-size:1.15rem;line-height:1.6}.announcements{padding-block:clamp(90px,11vw,160px)}.announcement-heading{grid-template-columns:1.3fr .7fr;align-items:end;gap:8%;margin-bottom:54px;display:grid}.announcement-heading .section-label{color:var(--turquoise)}.announcement-heading>p{border-left:5px solid var(--red);padding-left:20px;line-height:1.6}.announcement-list{border-top:var(--line)}.announcement-list article{border-bottom:var(--line);grid-template-columns:70px .8fr 1fr 40px;align-items:center;gap:24px;min-height:160px;transition:background .18s,padding .18s;display:grid}.announcement-list article:hover{background:var(--paper);padding-inline:18px}.announcement-index{color:var(--red);font-family:var(--display);font-size:3rem}.announcement-list article div p{color:var(--turquoise);font-family:var(--mono);text-transform:uppercase;margin:0;font-size:.65rem}.announcement-list h3{margin:5px 0 0;font-size:2.7rem}.announcement-list article>p{max-width:460px;line-height:1.55}.announcement-arrow{font-size:1.5rem}.venue{border-block:var(--line);grid-template-columns:1.1fr .9fr;min-height:800px;display:grid}.venue-graphic{border-right:var(--line);background:url("/assets/img/venue-bg.jpg") 50%/cover;background:image-set(url("/assets/img/venue-bg.webp") type("image/webp"), url("/assets/img/venue-bg.jpg") type("image/jpeg")) 50%/cover;min-height:720px;position:relative;overflow:hidden}.venue-graphic:after{content:"";background:linear-gradient(#0000 50%,#3f3d418c);position:absolute;inset:0}.venue-sun{z-index:2;aspect-ratio:1;background:var(--ink);border-radius:50%;width:170px;position:absolute;top:7%;right:7%}.venue-building{display:none}.venue-coordinate{z-index:3;background:var(--turquoise);color:#fff;padding:9px 12px;position:absolute;bottom:22px;left:22px}.venue-copy{flex-direction:column;justify-content:center;padding:clamp(48px,7vw,110px);display:flex}.venue-copy .section-label{color:var(--turquoise)}.venue h2{color:var(--red);margin:var(--title-margin);font-size:clamp(5rem,8vw,9rem)}.venue-lead{font-weight:800;font-size:clamp(1.5rem,2vw,2.2rem)!important;line-height:1.15!important}.venue-copy>p{max-width:590px;line-height:1.65}.venue-copy>a{border:var(--line);width:min(100%,380px);box-shadow:5px 5px 0 var(--red);text-transform:uppercase;justify-content:space-between;margin-top:28px;padding:18px 20px;font-weight:800;transition:all .16s;display:flex}.venue-copy>a:hover{box-shadow:8px 8px 0 var(--red);transform:translate(-2px,-2px)}.tickets{padding-block:clamp(90px,11vw,160px)}.tickets-copy{grid-template-columns:1.3fr .7fr;align-items:end;gap:8%;margin-bottom:55px;display:grid}.tickets-copy .section-label{color:var(--turquoise);grid-column:1/-1}.tickets-copy>p:last-child{border-left:5px solid var(--red);margin:0;padding-left:20px;line-height:1.6}.giant-ticket{border:var(--line);box-shadow:10px 10px 0 var(--ink);grid-template-columns:1fr 210px;display:grid}.giant-ticket-main{background:var(--red);color:#fff;padding:clamp(28px,5vw,70px)}.giant-ticket-meta{border-bottom:1px solid;justify-content:space-between;padding-bottom:15px;display:flex}.giant-ticket-main>p{font-family:var(--mono);text-transform:uppercase;margin:55px 0 0;font-size:.7rem}.giant-ticket-main h3{margin:var(--title-margin);font-size:clamp(4rem,9vw,9.5rem)}.ticket-place{font-family:var(--mono);text-transform:uppercase;justify-content:space-between;font-size:.7rem;display:flex}.giant-ticket-stub{border-left:3px dashed var(--ink);background:var(--gold);font-family:var(--mono);flex-direction:column;justify-content:center;align-items:center;font-weight:700;display:flex}.giant-ticket-stub strong{font-family:var(--display);font-size:6rem;font-weight:400;line-height:1}.barcode{background:repeating-linear-gradient(90deg,var(--ink) 0 2px,transparent 2px 5px,var(--ink) 5px 9px,transparent 9px 12px);width:70%;height:60px;margin-top:35px}.tickets-actions{align-items:center;gap:32px;margin-top:38px;display:flex}.ticket-button.inverse{background:var(--ink);max-width:450px}.tickets-actions>p{font-family:var(--mono);text-transform:uppercase;font-size:.7rem;line-height:1.6}.faq{grid-template-columns:.8fr 1.2fr;gap:8%;padding-block:clamp(90px,11vw,160px);display:grid}.faq-heading .section-label{color:var(--turquoise)}.faq-heading h2{font-size:clamp(4rem,6vw,6.5rem)}.faq-list{border-top:var(--line)}.faq-list details{border-bottom:var(--line)}.faq-list summary{grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:25px 4px;list-style:none;display:grid}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--red);font-family:var(--mono);font-size:.7rem}.faq-list summary strong{font-size:1.05rem}.faq-list summary i{font-size:1.6rem;font-style:normal;transition:transform .2s}.faq-list details[open] summary i{transform:rotate(45deg)}.faq-list details>p{max-width:720px;margin:0 48px 26px;line-height:1.65}.site-footer{border-top:var(--line);background:var(--ink);color:var(--paper-light);grid-template-columns:1fr 1fr;gap:50px;padding:70px 6% 28px;display:grid}.footer-mark{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.footer-mark img{filter:brightness(0)invert();mix-blend-mode:normal;background:0 0;width:180px;padding:8px 12px 10px 4px;box-sizing:content-box}.footer-mark p{text-transform:uppercase;font-weight:700}.footer-links{grid-template-columns:1fr 1fr;gap:40px;display:grid}.footer-links div{flex-direction:column;gap:10px;display:flex}.footer-links p{color:var(--turquoise);font-family:var(--mono);text-transform:uppercase;font-size:.68rem}.footer-links a{border-bottom:2px solid var(--red);width:fit-content;padding-bottom:4px}.footer-bottom{font-family:var(--mono);text-transform:uppercase;border-top:1px solid #f2e4ce4d;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding-top:24px;font-size:.65rem;display:flex}.footer-credit{border-bottom:1px solid color-mix(in srgb,var(--turquoise) 70%,transparent);color:var(--turquoise);padding-bottom:2px}.footer-credit:hover{border-bottom-color:var(--paper-light);color:var(--paper-light)}@keyframes marquee{to{transform:translate(-20%)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important}.marquee-track{animation:none!important}}@media (width<=1050px){.desktop-nav{display:none}.site-header{grid-template-columns:1fr auto auto;gap:18px}.mobile-nav{order:2;display:block}.mobile-nav summary{font-family:var(--mono);text-transform:uppercase;padding:14px 10px;font-size:.72rem;font-weight:700}.mobile-nav nav{border-bottom:var(--line);background:var(--paper-light);padding:20px 6%;display:grid;position:absolute;top:100%;left:0;right:0}.mobile-nav nav a{text-transform:uppercase;border-bottom:1px solid #3f3d4140;padding:14px 0;font-weight:800}.hero{grid-template-columns:1fr}.hero-copy{border-right:0;border-bottom:var(--line);min-height:680px}.hero-visual{min-height:68svh}.mark-top{left:auto;right:4%}.experience-grid{grid-template-columns:repeat(2,1fr)}.venue{grid-template-columns:1fr}.venue-graphic{border-right:0;border-bottom:var(--line);height:70svh;min-height:0}.faq{grid-template-columns:1fr}}@media (width<=700px){.site-header{min-height:76px;padding-inline:20px}.brand{width:92px}.header-ticket{min-width:auto;box-shadow:3px 3px 0 var(--ink);padding:12px}.header-ticket span{display:none}.section-shell{width:calc(100% - 40px)}.hero-copy{min-height:610px;padding:50px 24px 48px 34px}.hero h1{font-size:clamp(5.4rem,28vw,8rem)}.hero-visual{min-height:62svh}.hero-art-frame{width:54%}.section-heading,.announcement-heading,.tickets-copy{grid-template-columns:1fr}.section-heading .section-label,.tickets-copy .section-label{grid-column:auto}.section-intro,.announcement-heading>p,.tickets-copy>p:last-child{margin-top:26px}.experience-grid{grid-template-columns:1fr}.manifesto h2{font-size:5rem}.announcement-list article{grid-template-columns:48px 1fr 24px;gap:12px;padding-block:20px}.announcement-list article>p{grid-column:2/4}.venue-graphic{height:60svh}.venue-copy{padding:70px 24px}.giant-ticket{box-shadow:6px 6px 0 var(--ink);grid-template-columns:1fr}.giant-ticket-stub{border-top:3px dashed var(--ink);border-left:0;flex-direction:row;gap:10px;min-height:150px}.giant-ticket-stub strong{font-size:3.5rem}.barcode{width:90px;height:50px;margin:0 0 0 20px}.ticket-place{flex-direction:column;gap:10px}.tickets-actions{flex-direction:column;align-items:stretch}.faq-list summary{grid-template-columns:34px 1fr auto}.faq-list details>p{margin-inline:34px}.site-footer{grid-template-columns:1fr;padding-inline:24px}.footer-bottom{gap:10px;display:grid}}@media (width<=470px){.section-heading h2,.announcement-heading h2,.tickets-copy h2,.faq-heading h2{font-size:3.7rem}.manifesto h2{font-size:4.2rem}.giant-ticket-main h3{font-size:3.4rem}}
/* Shared apply forms — Stands + Patrocinadores */

.mf-form {
  margin-top: 1.25rem;
  max-width: 960px;
  padding: 1.25rem;
  background: var(--white);
  border: var(--line);
  display: grid;
  gap: 1.25rem;
}

.mf-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1rem;
  row-gap: 0.85rem;
}

.mf-fieldset legend {
  grid-column: 1 / -1;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--turquoise);
  margin: 0;
  padding: 0;
}

.mf-fieldset--stack {
  grid-template-columns: 1fr;
}

.mf-field {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
}

.mf-field--full {
  grid-column: 1 / -1;
}

.mf-field > span {
  font-size: 0.85rem;
  font-weight: 600;
}

.mf-field input,
.mf-field select,
.mf-field textarea {
  width: 100%;
  min-height: 48px;
  padding: 0.7rem 0.85rem;
  border: 1px solid #3f3d4140;
  background: var(--paper-light, #f8efdf);
  color: var(--ink);
  font: inherit;
  border-radius: 0;
}

.mf-field input[readonly] {
  opacity: 0.85;
  cursor: default;
}

.mf-field textarea {
  min-height: 5.5rem;
  resize: vertical;
}

.mf-field--check {
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 0.65rem;
}

.mf-field--check input {
  width: auto;
  min-height: 1.25rem;
  margin-top: 0.2rem;
}

.mf-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.mf-form-status {
  margin: 0;
  font-weight: 600;
}

.mf-form-status[data-kind="ok"] {
  color: var(--turquoise);
}

.mf-form-status[data-kind="err"] {
  color: var(--red);
}

.mf-form-status[data-kind="info"] {
  color: var(--ink-soft, #5c4a48);
}

.mf-form-success {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 0.75rem;
  margin: 0;
  padding: 1rem;
  border: var(--line);
  background: var(--paper-light, #f8efdf);
}

.mf-form-success[hidden] {
  display: none;
}

.mf-form-success__check {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 999px;
  background: var(--turquoise);
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1;
}

.mf-form-success__text {
  margin: 0;
  font-weight: 600;
  padding-top: 0.25rem;
}

.mf-form-note {
  color: var(--ink-soft, #5c4a48);
  font-size: 0.92rem;
  margin-top: 0.85rem;
  max-width: 960px;
}

@media (max-width: 700px) {
  .mf-fieldset {
    grid-template-columns: 1fr;
  }

  .mf-form {
    padding: 1rem;
  }
}
.creators-body {
  background: var(--paper-light);
}

.creators-page {
  --ink-soft: #5c4a48;
  min-width: 320px;
  touch-action: manipulation;
}

.creators-page .site-header a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 0.25em;
  color: var(--red);
}

.creators-section {
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
  scroll-margin-top: 5.5rem;
}

.creators-hero {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  border-bottom: var(--line);
  min-height: calc(100svh - 88px);
  position: relative;
  overflow: hidden;
}

.creators-hero-copy {
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  border-right: var(--line);
  background: var(--paper-light);
  padding: 52px clamp(28px, 4.6vw, 76px);
}

.creators-hero-copy::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 9px;
  background: var(--red);
}

.creators-hero-visual {
  position: relative;
  min-height: 560px;
}

.creators-hero h1 {
  font-family: Anton, Impact, sans-serif;
  font-size: clamp(2.4rem, 5.2vw, 4.2rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  margin: 0.35rem 0 0.75rem;
  max-width: 14ch;
}

.creators-hero-meta {
  color: var(--ink-soft);
  margin: 0 0 1rem;
}

.creators-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.creators-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 48px;
  padding: 0.85rem 1.35rem;
  border: var(--line);
  background: var(--red);
  color: var(--white);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.creators-button:hover,
.creators-button:focus-visible {
  transform: translateY(-1px);
  background: var(--ink);
}

.creators-button--ghost {
  background: transparent;
  color: var(--ink);
}

.creators-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
}

.creators-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 1.25rem;
  max-width: 900px;
}

.creators-split article {
  border: var(--line);
  background: var(--white);
  padding: 1.25rem;
}

.creators-split h3 {
  margin: 0 0 0.65rem;
  font-size: 1.15rem;
}

.creators-split ul {
  margin: 0;
  padding-left: 1.1rem;
  color: var(--ink-soft);
}

.creators-typeform {
  --tf-max: 40rem;
}

.tf-progress {
  display: block;
  height: 4px;
  margin: 1.5rem 0 0.75rem;
  background: #3f3d4114;
  overflow: hidden;
}

.tf-progress-bar {
  display: block;
  height: 100%;
  width: 16%;
  background: var(--red);
  transition: width 0.28s ease;
}

.tf-form.mf-form {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  gap: 0;
}

.tf-step {
  display: none;
}

.tf-step.is-active {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: min(58vh, 32rem);
  padding-block: 1.25rem;
}

.tf-kicker {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.65rem;
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--red);
}

.tf-kicker span {
  display: grid;
  place-items: center;
  min-width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--red);
  font-size: 0.72rem;
}

.creators-page h3.tf-title {
  margin: 0;
  max-width: 18ch;
  font-family: var(--display);
  font-size: clamp(1.85rem, 5vw, 3rem);
  font-weight: 400;
  line-height: 1.05;
  text-transform: none;
}

.tf-help,
.tf-field-label {
  margin: 0.75rem 0 0;
  max-width: 38rem;
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.5;
}

.tf-field {
  margin-top: 1.35rem;
  max-width: var(--tf-max);
}

.tf-field input {
  min-height: 56px;
  font-size: 1.15rem;
  border: 0;
  border-bottom: 2px solid var(--ink);
  background: transparent;
  padding-inline: 0;
}

.tf-choices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  margin-top: 1.35rem;
  max-width: 44rem;
}

.tf-choice-key {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 2px solid var(--ink);
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 700;
}

.tf-choice.is-selected .tf-choice-key,
.tf-choice[aria-pressed="true"] .tf-choice-key {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}

.tf-choice {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  width: 100%;
  min-height: 48px;
  padding: 0.85rem 1rem;
  border: var(--line);
  background: var(--white);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.tf-choice.is-selected,
.tf-choice[aria-pressed="true"] {
  background: var(--ink);
  color: var(--paper-light);
}

.creators-wizard-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  max-width: 44rem;
  margin-top: 0.5rem;
}

.creators-wizard-nav-actions {
  display: flex;
  gap: 0.65rem;
}

.creators-wizard-status {
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.creators-kit {
  display: grid;
  grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  margin-top: 1.25rem;
}

.creators-kit-stage {
  border: var(--line);
  background: #1a1a1a;
  padding: 0.75rem;
}

.creators-kit-stage canvas {
  display: block;
  width: 100%;
  height: auto;
  touch-action: none;
  cursor: grab;
  background: #111;
}

.creators-kit-stage canvas:active {
  cursor: grabbing;
}

.creators-kit-controls {
  display: grid;
  gap: 0.85rem;
  max-width: 28rem;
}

.creators-file-label,
.creators-kit-field > span {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 0.35rem;
}

.creators-file-picker {
  position: relative;
  display: block;
}

.creators-file-input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
  font-size: 0;
}

.creators-file-trigger {
  width: 100%;
  pointer-events: none;
}

.creators-file-input:focus-visible + .creators-file-trigger {
  background: var(--ink);
  outline: 2px solid var(--ink);
  outline-offset: 3px;
}

.creators-file-name {
  display: block;
  margin-top: 0.4rem;
  color: var(--ink-soft);
  font-size: 0.85rem;
  line-height: 1.4;
  word-break: break-all;
}

.creators-kit-field input[type="text"] {
  width: 100%;
  min-height: 48px;
  padding: 0.7rem 0.85rem;
  border: var(--line);
  background: var(--white);
  color: var(--ink);
  font: inherit;
}

.creators-kit-field input[type="range"] {
  width: 100%;
  min-height: 48px;
  margin: 0;
  accent-color: var(--red);
}

.creators-page #creators-faq {
  display: block;
}

.creators-faq-list {
  margin-top: 1.25rem;
  max-width: 900px;
}

.creators-faq-list summary {
  min-height: 48px;
  align-items: center;
}

.creators-page .site-footer {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 2rem;
}

.creators-page .footer-links,
.creators-page .footer-bottom {
  width: 100%;
}

.creators-closed {
  border: var(--line);
  padding: 1.5rem;
  background: var(--white);
}

@media (max-width: 900px) {
  .creators-hero,
  .creators-split,
  .creators-kit {
    grid-template-columns: 1fr;
  }

  .creators-hero-copy {
    border-right: 0;
    border-bottom: var(--line);
    padding: 36px 22px 40px;
  }

  .creators-hero-visual {
    min-height: 360px;
  }
}

@media (max-width: 700px) {
  .creators-page .creators-section {
    padding-inline: 20px;
  }

  .creators-hero-copy {
    padding: 36px 20px 36px 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tf-progress-bar,
  .creators-button {
    transition: none;
  }
}
/* Giveaway — header stays; Woorise fills the remaining viewport. */

.giveaway-body {
  background: var(--paper-light);
  min-height: 100svh;
  min-height: 100dvh;
  overflow: hidden;
}

.giveaway-page {
  display: flex;
  flex-direction: column;
  min-width: 320px;
  min-height: 100svh;
  min-height: 100dvh;
  height: 100svh;
  height: 100dvh;
}

.giveaway-stage {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  background: #fff;
}

.giveaway-stage [data-wr-embed] {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.giveaway-stage iframe,
.giveaway-stage .woorise-embed,
.giveaway-stage .woorise-iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* While Woorise still appends the full-page overlay to body, keep it under the header. */
.giveaway-body > .woorise-full-page {
  top: var(--giveaway-header-h, 88px);
  height: calc(100dvh - var(--giveaway-header-h, 88px));
  width: 100%;
  z-index: 40;
}

/* After the overlay is moved into the stage, fill that pane only. */
.giveaway-stage .woorise-full-page {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.giveaway-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;
}

.giveaway-noscript {
  margin: 0;
  padding: 24px 6%;
  font-weight: 700;
}

.giveaway-noscript a {
  color: inherit;
  text-decoration: underline;
}

@media (width <= 700px) {
  .giveaway-body {
    --giveaway-header-h: 76px;
  }
}
/* Ticket sales — EventCR posters + per-day checkout */

.tickets-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 32px);
}

.ticket-day {
  color: inherit;
  border: var(--line);
  background: var(--paper-light);
  box-shadow: 8px 8px 0 var(--ink);
  display: grid;
  transition: transform 0.16s, box-shadow 0.16s;
}

.ticket-day:hover,
.ticket-day:focus-visible {
  box-shadow: 12px 12px 0 var(--ink);
  transform: translate(-2px, -2px);
}

.ticket-day picture,
.ticket-day img {
  width: 100%;
  display: block;
}

.ticket-day img {
  aspect-ratio: 1;
  object-fit: cover;
}

.ticket-day-body {
  border-top: var(--line);
  padding: 22px 22px 24px;
  display: grid;
  gap: 6px;
}

.ticket-day-meta {
  font-family: var(--mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--turquoise);
  justify-content: space-between;
  display: flex;
  gap: 12px;
}

.ticket-day-body > p {
  font-family: var(--mono);
  text-transform: uppercase;
  margin: 18px 0 0;
  font-size: 0.7rem;
}

.ticket-day-body h3 {
  font-family: var(--display);
  letter-spacing: var(--title-tracking);
  line-height: var(--title-leading);
  font-weight: 400;
  text-transform: uppercase;
  margin: var(--title-margin);
  font-size: clamp(2.4rem, 4.2vw, 4.2rem);
}

.ticket-day-prices {
  margin: 16px 0 8px;
  padding: 0;
  display: grid;
  gap: 8px;
}

.ticket-day-prices li {
  font-family: var(--mono);
  text-transform: uppercase;
  font-size: 0.68rem;
  font-weight: 700;
  border-bottom: 1px solid color-mix(in srgb, var(--ink) 18%, transparent);
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding-bottom: 8px;
  display: flex;
}

.ticket-day-prices strong {
  color: var(--red);
  font-size: 0.78rem;
}

.ticket-day .ticket-button {
  width: 100%;
  margin-top: 12px;
}

.ticket-day .ticket-button:hover {
  transform: none;
  box-shadow: 5px 5px 0 var(--ink);
}

.ticket-day:hover .ticket-button,
.ticket-day:focus-visible .ticket-button {
  box-shadow: 8px 8px 0 var(--ink);
}

@media (width <= 700px) {
  .tickets-grid {
    grid-template-columns: 1fr;
  }

  .ticket-day {
    box-shadow: 6px 6px 0 var(--ink);
  }
}
/* Patrocinadores — same editorial voice as Stands / home tokens. */

.sponsors-body {
  background: var(--paper-light);
}

.sponsors-page {
  --ink-soft: #5c4a48;
  min-width: 320px;
  touch-action: manipulation;
}

.sponsors-page .site-header a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 0.25em;
  color: var(--red);
}

.sponsors-section {
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.sponsors-section .section-label {
  display: block;
  margin: 0 0 0.35rem;
}

.sponsors-hero {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  border-bottom: var(--line);
  min-height: calc(100svh - 88px);
  position: relative;
  overflow: hidden;
}

.sponsors-hero-copy {
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  border-right: var(--line);
  background: var(--paper-light);
  padding: 52px clamp(28px, 4.6vw, 76px);
}

.sponsors-hero-copy::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 9px;
  background: var(--red);
}

.sponsors-hero-visual {
  position: relative;
  min-height: 560px;
}

.sponsors-hero-visual .sponsors-hero-glyph {
  letter-spacing: 0.08em;
}

.sponsors-hero h1 {
  font-family: Anton, Impact, sans-serif;
  font-size: clamp(2.4rem, 5.2vw, 4.2rem);
  line-height: 0.95;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  margin: 0.35rem 0 0.75rem;
  max-width: 14ch;
}

.sponsors-hero-meta {
  color: var(--ink-soft);
  margin: 0 0 1rem;
}

.sponsors-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.sponsors-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.85rem 1.35rem;
  border: var(--line);
  background: var(--red);
  color: var(--white);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.2s ease, background 0.2s ease;
}

.sponsors-button:hover,
.sponsors-button:focus-visible {
  transform: translateY(-1px);
  background: var(--ink);
}

.sponsors-button--ghost {
  background: transparent;
  color: var(--ink);
}

.sponsors-button:disabled {
  opacity: 0.55;
  cursor: wait;
  transform: none;
}

.sponsors-reason-grid,
.sponsors-package-grid,
.sponsors-asset-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.sponsors-reason-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.sponsors-package-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.sponsors-asset-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.sponsors-reason-card,
.sponsors-package-card,
.sponsors-asset-card {
  border: var(--line);
  background: var(--white);
  padding: 1.25rem 1.35rem;
}

.sponsors-package-card.is-featured {
  outline: 2px solid var(--red);
  outline-offset: -2px;
}

.sponsors-package-card h3,
.sponsors-reason-card h3,
.sponsors-asset-card h3 {
  margin: 0.25rem 0 0.5rem;
  font-size: 1.25rem;
}

.sponsors-list {
  margin: 0.75rem 0 1rem;
  padding-left: 1.1rem;
  color: var(--ink-soft);
}

.sponsors-price {
  font-weight: 700;
  margin: 0 0 0.85rem;
}

.sponsors-logos-empty {
  border: var(--line);
  padding: 1.75rem;
  margin-top: 1.25rem;
  background: color-mix(in srgb, var(--turquoise) 8%, var(--paper-light));
}

.sponsors-logo-group {
  margin-top: 1.5rem;
}

.sponsors-logo-grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
  padding: 0;
  margin: 0.75rem 0 0;
}

.sponsors-logo-grid img,
.sponsors-logo-fallback {
  display: grid;
  place-items: center;
  min-height: 88px;
  border: var(--line);
  background: var(--white);
  padding: 0.75rem;
  object-fit: contain;
  width: 100%;
}

/* Neutralize home `.faq` grid if class is reintroduced by mistake. */
.sponsors-page #sponsors-faq {
  display: block;
}

.sponsors-faq-list {
  margin-top: 1.25rem;
  max-width: 900px;
}

.sponsors-faq-list summary {
  min-height: 48px;
  align-items: center;
}

.sponsors-page .site-footer {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 2rem;
}

.sponsors-page .footer-links {
  width: 100%;
}

.sponsors-page .footer-bottom {
  width: 100%;
}

.sponsors-page .site-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.sponsors-motion .sponsors-reason-card,
.sponsors-motion .sponsors-package-card,
.sponsors-motion .sponsors-asset-card {
  animation: sponsors-rise 0.55s ease both;
}

.sponsors-motion .sponsors-package-card:nth-child(2) {
  animation-delay: 0.05s;
}
.sponsors-motion .sponsors-package-card:nth-child(3) {
  animation-delay: 0.1s;
}
.sponsors-motion .sponsors-package-card:nth-child(4) {
  animation-delay: 0.15s;
}

@keyframes sponsors-rise {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 900px) {
  .sponsors-hero {
    grid-template-columns: 1fr;
    min-height: unset;
  }

  .sponsors-hero-copy {
    border-right: 0;
    border-bottom: var(--line);
    padding: 36px 22px 40px;
  }

  .sponsors-hero-visual {
    min-height: 360px;
  }

  .sponsors-hero h1 {
    max-width: none;
  }
}

@media (max-width: 700px) {
  .sponsors-page {
    --sponsors-gutter: 20px;
    overflow-x: clip;
  }

  .sponsors-page .section-shell {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  .sponsors-page .sponsors-section {
    padding-inline: var(--sponsors-gutter);
  }

  .sponsors-hero-copy {
    padding: 36px var(--sponsors-gutter) 36px calc(var(--sponsors-gutter) + 8px);
  }

  .sponsors-page .site-footer {
    padding-inline: var(--sponsors-gutter);
  }

  .sponsors-page .mf-form {
    max-width: none;
  }
}

/**
 * Shared floor-plan visuals for website + Telegram PNG (sharp/librsvg).
 * Use concrete colors (no CSS variables) so the bot can inline this file.
 */

.floor-plan-svg {
  background: #f7f1e8;
}

.floor-zone-frame {
  fill: #f7f1e8;
  stroke: #1a1412;
  stroke-width: 2;
}

.floor-zone-label {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 14px;
  font-weight: 700;
  fill: #0d7377;
}

.floor-artist-label {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 13px;
  font-weight: 700;
  fill: #1f6b3a;
  pointer-events: none;
}

.floor-artist-block-hit {
  fill: rgba(31, 107, 58, 0.14);
  stroke: #1f6b3a;
  stroke-width: 3;
  cursor: pointer;
  pointer-events: all;
}

.floor-space--artist-cell,
.floor-space--artist-cell rect,
.floor-space--artist-cell text,
.floor-space--artist-cell path {
  pointer-events: none;
  cursor: default;
}

.floor-context {
  fill: #f6e7b0;
  stroke: #1a1412;
  stroke-width: 1.5;
}

.floor-context--building {
  fill: #cfc8c0;
}

.floor-context-label {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
  fill: #1a1412;
}

.floor-exit-band {
  fill: #f6e7b0;
  stroke: none;
  opacity: 0.85;
}

.floor-exit-label {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  fill: #5c4a48;
  pointer-events: none;
}

.floor-exit-bracket {
  fill: none;
  stroke: #111;
  stroke-width: 3;
  stroke-linecap: square;
  stroke-linejoin: miter;
  pointer-events: none;
}

.floor-structure {
  fill: #1f1f1f;
  stroke: #1a1412;
  stroke-width: 1.5;
}

.floor-structure-label {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 10px;
  font-weight: 700;
  fill: #f2e4ce;
  pointer-events: none;
}

.floor-platform {
  fill: #5a5a5a;
  stroke: #1a1412;
  stroke-width: 2;
}

.floor-scale line {
  stroke: #1a1412;
  stroke-width: 2;
}

.floor-scale text {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 10px;
  font-weight: 700;
  fill: #1a1412;
}

.floor-space rect {
  stroke: #1a1412;
  stroke-width: 1.75;
}

.floor-space text {
  font-family: ui-monospace, Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
  fill: #1a1412;
  pointer-events: none;
}

.floor-front {
  fill: none;
  stroke: #111;
  stroke-width: 3.5;
  stroke-linecap: square;
  stroke-linejoin: miter;
  pointer-events: none;
}

.floor-space--type-b .floor-front,
.floor-space--type-c .floor-front,
.floor-space--type-e .floor-front {
  stroke: #fff8e7;
}

.floor-reserved-pin {
  fill: #e31b23;
  stroke: #7a0f14;
  stroke-width: 1.25;
  pointer-events: none;
}

.floor-space--type-a rect {
  fill: #f0b429;
}

.floor-space--type-b rect {
  fill: #cb3136;
}

.floor-space--type-b text {
  fill: #fff;
}

.floor-space--type-c rect {
  fill: #2f6fed;
}

.floor-space--type-c text {
  fill: #fff;
}

.floor-space--type-e rect {
  fill: #2f9e44;
}

.floor-space--type-e text {
  fill: #fff;
}

.floor-space--type-f rect {
  fill: #39b54a;
}

.floor-space--type-f text {
  fill: #fff;
}

.floor-space--type-g rect {
  fill: #8bc34a;
}

.floor-space--type-g text {
  fill: #1a1412;
}

.floor-space--reserved rect,
.floor-space--held rect {
  opacity: 0.92;
}

.floor-space--unavailable rect {
  fill: #e8e4df !important;
  stroke-dasharray: 4 3;
}

.floor-space--unavailable text {
  fill: #1a1412 !important;
}

/* Legend swatches (website) — same palette as stand fills */
.swatch--type-a {
  background: #f0b429;
}

.swatch--type-b {
  background: #cb3136;
}

.swatch--type-c {
  background: #2f6fed;
}

.swatch--type-e {
  background: #2f9e44;
}

.swatch--type-f {
  background: #39b54a;
}

.swatch--type-g {
  background: #8bc34a;
}

.swatch--held {
  background: #fff1c9;
}

.swatch--reserved {
  background: #d9eef2;
}

.swatch--unavailable {
  background: #e8e4df;
  background-image: repeating-linear-gradient(
    -45deg,
    #e8e4df,
    #e8e4df 3px,
    #cfc8c0 3px,
    #cfc8c0 6px
  );
}

.floor-legend .swatch--front {
  background: transparent;
  border: none;
  box-shadow: inset 0 -3px 0 #111;
  border-radius: 0;
}

.floor-legend .swatch--exit {
  background: #f6e7b0;
}

.floor-legend .swatch--pin {
  background: #e31b23;
  border-radius: 50%;
}
/* Stands page — extends Manga Fest tokens; keep forms/tables texture-light. */

.stands-body {
  background: var(--paper-light);
}

.stands-page {
  /* Darker muted ink so body/helper text clears WCAG AA 4.5:1 on paper. */
  --ink-soft: #5c4a48;
  min-width: 320px;
  touch-action: manipulation;
}

.stands-page .site-header a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: 0.25em;
  color: var(--red);
}

.stands-section {
  padding-block: clamp(2.5rem, 6vw, 4.5rem);
  padding-inline: clamp(1.25rem, 3vw, 2.5rem);
}

.stands-section .section-label {
  display: block;
  margin: 0 0 0.35rem;
}

.stands-section.accent-ink .section-label,
.stands-section.accent-paper .section-label {
  color: var(--turquoise);
}

/* Cards keep ink text even inside dark/teal accent bands. */
.stands-section.accent-ink .stand-type-card,
.stands-section.accent-ink .stands-process-card,
.stands-section.accent-paper .stand-type-card,
.stands-section.accent-paper .stands-process-card {
  color: var(--ink);
}

.stands-section.accent-ink .stands-button--ghost,
.stands-section.accent-paper .stands-button--ghost {
  color: var(--ink);
  background: var(--white);
}

.stands-hero {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  border-bottom: var(--line);
  min-height: calc(100svh - 88px);
  position: relative;
  overflow: hidden;
}

.stands-hero-copy {
  z-index: 4;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  border-right: var(--line);
  background: var(--paper-light);
  padding: 52px clamp(28px, 4.6vw, 76px);
}

.stands-hero-copy::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 9px;
  background: var(--red);
}

.stands-hero-visual {
  min-height: 560px;
}

.stands-hero-visual .stands-hero-glyph {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(2.4rem, 3.6vw, 4.2rem);
  line-height: 1;
  gap: 0.08em;
  text-align: center;
  place-items: center;
}

.stands-hero h1,
.stands-section h2,
.stands-venue h2 {
  font-family: var(--display);
  letter-spacing: var(--title-tracking);
  line-height: var(--title-leading);
  margin: var(--title-margin);
  text-wrap: balance;
}

.stands-hero h1 {
  font-size: clamp(2.6rem, 7vw, 4.8rem);
  max-width: 12ch;
  line-height: 1.05;
  text-transform: uppercase;
}

.stands-section h2 {
  font-size: clamp(2rem, 5vw, 3.4rem);
  max-width: 18ch;
  line-height: 1.05;
  margin: 0.15rem 0 0;
  text-transform: uppercase;
}

.stands-page .section-intro {
  margin-top: 2rem;
}

.stands-section.accent-ink .section-intro {
  color: #f2e4ce;
}

.stands-section .stand-type-grid {
  margin-top: 2rem;
  gap: 1.25rem;
}

.stands-hero-meta {
  margin: 1rem 0 0;
  font-weight: 600;
}

@media (width <= 1050px) {
  .stands-hero {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .stands-hero-copy {
    border-right: 0;
    border-bottom: var(--line);
    min-height: 0;
    padding: 50px 24px 48px 34px;
  }

  .stands-hero-visual {
    min-height: 62svh;
  }
}

.stands-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.stands-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 48px;
  padding: 0.85rem 1.25rem;
  border: var(--line);
  background: var(--red);
  color: var(--white);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}

.stands-button:hover,
.stands-button:focus-visible {
  outline: 3px solid var(--ink);
  outline-offset: 2px;
}

.stands-button--ghost {
  background: transparent;
  color: var(--ink);
}

.stands-button--muted {
  background: var(--ink-soft);
  pointer-events: none;
}

.stands-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.35rem 0;
  font-weight: 700;
  color: inherit;
  text-underline-offset: 0.2em;
}

.stands-text-link:hover,
.stands-text-link:focus-visible {
  text-decoration-thickness: 3px;
  outline: 3px solid var(--ink);
  outline-offset: 2px;
}

.stands-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.75rem;
  padding: 0.35rem 0.7rem;
  border: var(--line);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: var(--white);
}

.stands-badge--open {
  box-shadow: inset 6px 0 0 var(--green);
}

.stands-badge--waitlist {
  box-shadow: inset 6px 0 0 var(--gold);
}

.stands-badge--closed {
  box-shadow: inset 6px 0 0 var(--ink-soft);
}

.stands-note,
.stands-live {
  color: var(--ink-soft);
  font-size: 0.95rem;
}

.stands-list,
.requirements-checklist {
  margin: 0.75rem 0 0;
  padding-left: 1.2rem;
}

.exhibitor-type-selector {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

@media (min-width: 480px) {
  .exhibitor-type-selector {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 900px) {
  .exhibitor-type-selector {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.exhibitor-type-btn {
  min-height: 48px;
  padding: 0.9rem 0.85rem;
  border: var(--line);
  background: var(--white);
  color: inherit;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.exhibitor-type-btn span {
  display: block;
  font-weight: 800;
}

.exhibitor-type-btn small {
  display: block;
  margin-top: 0.35rem;
  color: var(--ink-soft);
}

.exhibitor-type-btn[aria-pressed="true"],
.exhibitor-type-btn:hover,
.exhibitor-type-btn:focus-visible {
  background: var(--ink);
  color: var(--paper-light);
}

.exhibitor-type-btn[aria-pressed="true"] small,
.exhibitor-type-btn:hover small,
.exhibitor-type-btn:focus-visible small {
  color: #d8cfc0;
}

.stand-type-grid,
.process-grid,
.policy-grid,
.exhibitor-grid {
  display: grid;
  gap: 1rem;
  margin-top: 1.5rem;
}

.stand-type-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.stand-type-card,
.stands-process-card,
.policy-grid article,
.exhibitor-card {
  border: var(--line);
  background: var(--white);
  padding: 1.25rem;
}

.stands-process-card {
  display: grid;
  gap: 0.75rem;
  overflow: hidden;
}

.stands-process-art {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 120px;
  margin: -1.25rem -1.25rem 0;
  border-bottom: var(--line);
  background: var(--ink);
  color: var(--paper-light);
  overflow: hidden;
}

.stands-process-art strong {
  position: relative;
  z-index: 2;
  font-family: var(--display);
  font-size: clamp(2.4rem, 6vw, 3.4rem);
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1;
}

.stands-process-art .card-logo-orbit {
  opacity: 0.4;
  top: 0;
  right: -8px;
}

.stands-process-card:nth-child(2) .stands-process-art {
  background: var(--red);
}

.stands-process-card:nth-child(3) .stands-process-art {
  background: #006b78;
}

.stands-process-card:nth-child(4) .stands-process-art {
  background: var(--ink);
}

.stand-type-card.is-recommended {
  outline: 3px solid var(--red);
  outline-offset: 2px;
}

.stand-type-card.is-selected {
  outline: 3px solid var(--ink);
  outline-offset: 2px;
  box-shadow: inset 0 0 0 2px var(--turquoise);
}

.stand-type-card.is-selected.is-recommended {
  outline-color: var(--red);
}

.stand-type-card .stands-button {
  margin-top: 0.75rem;
  width: 100%;
}

.stand-type-card {
  cursor: pointer;
}

.stands-list a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.stand-type-card.is-dimmed {
  opacity: 0.55;
}

.stand-type-card--type-a {
  box-shadow: inset 0 6px 0 #f0b429;
}

.stand-type-card--type-b {
  box-shadow: inset 0 6px 0 #cb3136;
}

.stand-type-card--type-c {
  box-shadow: inset 0 6px 0 #2f6fed;
}

.stand-type-card--type-e {
  box-shadow: inset 0 6px 0 #2f9e44;
}

.stand-type-card--type-f {
  box-shadow: inset 0 6px 0 #39b54a;
}

.stand-type-card--type-g {
  box-shadow: inset 0 6px 0 #8bc34a;
}

.stand-type-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.5rem;
}

.stand-type-badge {
  display: inline-block;
  margin: 0;
  padding: 0.2rem 0.5rem;
  border: 1px solid var(--ink);
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.stands-policy-list {
  margin-top: 1.5rem;
}

.stands-policy-list .policy-details {
  border: var(--line);
  background: var(--white);
  margin-bottom: 0.75rem;
}

.stands-policy-list .policy-details > summary {
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.1rem;
  font-weight: 700;
}

.stands-policy-list .policy-details > summary::-webkit-details-marker {
  display: none;
}

.stands-policy-list .policy-details > summary span {
  font-family: var(--mono);
  font-size: 0.75rem;
  color: var(--turquoise);
}

.stands-policy-list .policy-details > summary i {
  margin-left: auto;
}

.stands-policy-list .policy-details[open] > summary i {
  transform: rotate(45deg);
}

.stands-policy-list .policy-details > p,
.stands-policy-list .policy-items,
.stands-policy-list .table-scroll,
.stands-policy-list .stands-note {
  padding-left: 1.1rem;
  padding-right: 1.1rem;
}

.stands-policy-list .policy-details > p:first-of-type {
  margin-top: 0;
}

.policy-items {
  margin: 0.75rem 0 1rem;
  padding-left: 1.4rem;
}

.policy-items li {
  margin-bottom: 0.45rem;
}

.policy-table {
  margin: 0.75rem 0 1rem;
}

.stands-policy-list .stands-note {
  padding-bottom: 1rem;
}

.floor-plan-official-details {
  margin: 1.25rem 0 0;
  border: var(--line);
  background: var(--white);
}

.floor-plan-official-details > summary {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 48px;
  padding: 0.85rem 1rem;
  cursor: pointer;
  list-style: none;
  font-weight: 700;
}

.floor-plan-official-details > summary::-webkit-details-marker {
  display: none;
}

.floor-plan-official-details > summary::after {
  content: "+";
  margin-left: auto;
  font-family: var(--mono);
  font-size: 1.25rem;
  line-height: 1;
}

.floor-plan-official-details[open] > summary::after {
  content: "−";
}

.floor-plan-official-details > summary:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 2px;
}

.floor-plan-official {
  margin: 0;
  padding: 0 0.75rem 0.75rem;
}

.floor-plan-official img {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(70vh, 720px);
  object-fit: contain;
  background: #f8efdf;
}

.floor-plan-official figcaption {
  margin-top: 0.65rem;
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--turquoise);
}

.floor-plan-shell {
  display: grid;
  gap: 0.65rem;
}

.floor-plan-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
}

.floor-plan-hint {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--ink-soft, #5c4a48);
}

.floor-plan-zoom {
  display: inline-flex;
  gap: 0.35rem;
}

.floor-plan-zoom-btn {
  min-width: 2.5rem;
  min-height: 2.5rem;
  border: var(--line);
  background: var(--white);
  color: var(--ink);
  font: inherit;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.floor-plan-zoom-btn:hover,
.floor-plan-zoom-btn:focus-visible {
  background: var(--paper-light);
}

.floor-plan-zoom-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.floor-plan-viewport {
  overflow: auto;
  overscroll-behavior: contain;
  touch-action: pan-x pan-y;
  max-height: min(78vh, 820px);
  min-height: 280px;
  border: 1px solid #3f3d4126;
  background: var(--paper-light);
  -webkit-overflow-scrolling: touch;
  position: relative;
  cursor: grab;
}

.floor-plan-viewport.is-dragging {
  cursor: grabbing;
  user-select: none;
}

.floor-plan-canvas {
  width: 50%;
  min-width: 0;
  margin-inline: auto;
  transform-origin: 0 0;
  will-change: width;
}

.floor-plan-svg {
  width: 100%;
  height: auto;
  max-width: none;
  display: block;
  pointer-events: auto;
}

@media (min-width: 960px) {
  .floor-plan-viewport {
    max-height: min(85vh, 1100px);
  }
}

.stand-type-meta {
  display: grid;
  gap: 0.65rem;
  margin: 1rem 0;
}

.stand-type-meta div {
  display: grid;
  gap: 0.15rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #3f3d4126;
}

.stand-type-meta dt {
  font-family: var(--mono);
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--turquoise);
}

.stand-type-meta dd {
  margin: 0;
  font-weight: 700;
}

.stand-type-includes h4,
.stands-subheading {
  margin: 1rem 0 0.35rem;
  font-size: 1rem;
}

.event-timeline {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 1rem;
}

.event-timeline li {
  border-left: 4px solid var(--red);
  padding: 0.25rem 0 0.25rem 1rem;
  background: var(--white);
}

.timeline-date {
  font-family: var(--mono);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--turquoise);
}

.floor-plan-layout {
  display: grid;
  gap: 1rem;
  margin-top: 1.25rem;
  width: 100%;
  max-width: none;
  justify-items: stretch;
}

.floor-plan-layout .space-details {
  text-align: center;
}

@media (min-width: 960px) {
  .process-grid,
  .policy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .exhibitor-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .exhibitor-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.floor-plan-map,
.kommo-form-host {
  border: var(--line);
  background: var(--white);
  padding: 1rem;
  width: 100%;
  box-sizing: border-box;
}

.floor-plan-map {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.85rem 1.1rem;
  align-items: stretch;
}

.floor-plan-shell,
.floor-plan-viewport,
.floor-plan-svg {
  width: 100%;
  max-width: none;
}

.floor-legend {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.4rem;
  margin: 0;
  padding: 0.85rem 0.95rem;
  border: 1px solid #3f3d4126;
  background: var(--paper-light);
  font-size: 0.82rem;
  line-height: 1.3;
}

.floor-legend span {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

@media (min-width: 900px) {
  .floor-plan-map {
    grid-template-columns: minmax(0, 1fr) 15.75rem;
  }

  .floor-legend {
    position: sticky;
    top: 0.5rem;
    align-self: start;
    max-height: min(78vh, 820px);
    overflow: auto;
  }
}

.swatch {
  display: inline-block;
  width: 0.9rem;
  height: 0.9rem;
  border: 2px solid var(--ink);
}

/* Floor palette + SVG fills: ./floor-plan/floor-map.css (shared with Telegram bot). */

.floor-space rect {
  cursor: pointer;
}

.floor-space--artist-cell rect {
  cursor: default;
}

.floor-reserved-pin {
  filter: drop-shadow(0 1px 1px rgba(0, 0, 0, 0.35));
}

.floor-space.is-selected rect,
.floor-space rect:focus-visible {
  stroke-width: 4;
  outline: none;
  stroke: #111;
}

.floor-artist-block.is-selected .floor-artist-block-hit,
.floor-artist-block-hit:focus-visible {
  stroke-width: 4;
  fill: rgba(31, 107, 58, 0.16);
  outline: none;
}

.floor-artist-block.is-preview-only .floor-artist-block-hit {
  stroke-dasharray: 5 3;
  stroke-width: 3;
  filter: drop-shadow(0 0 0.35rem rgba(138, 75, 0, 0.45));
}

.floor-artist-block.is-type-filtered-out {
  opacity: 0.28;
  pointer-events: none;
}

.table-scroll {
  overflow-x: auto;
  border: 1px solid #3f3d4126;
}

.stands-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 480px;
  background: var(--white);
}

.stands-table th,
.stands-table td {
  padding: 0.75rem 0.65rem;
  border-bottom: 1px solid #3f3d4126;
  text-align: left;
  vertical-align: top;
}

.stands-table th {
  font-family: var(--mono);
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--turquoise);
}

.stands-table tr[data-space-id] {
  cursor: pointer;
}

.stands-table tr.is-selected,
.stands-table tr:hover,
.stands-table tr:focus-visible {
  background: #f8efdf;
  outline: none;
}

.space-status {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border: 1px solid var(--ink);
  font-size: 0.8rem;
  font-weight: 700;
}

.space-status--available {
  background: #e8f5d8;
}

.space-status--held {
  background: #fff1c9;
}

.space-status--reserved {
  background: #d9eef2;
}

.space-status--unavailable {
  background: #e8e4df;
}

.space-details {
  margin-top: 1rem;
  padding: 0.85rem;
  border: 1px dashed var(--ink);
  background: var(--paper-light);
}

.exhibitor-filters {
  display: grid;
  gap: 0.85rem;
  margin-top: 1.25rem;
  padding: 1rem;
  border: var(--line);
  background: var(--white);
}

@media (min-width: 720px) {
  .exhibitor-filters {
    grid-template-columns: 1.4fr 1fr 1fr auto;
    align-items: end;
  }
}

.filter-field {
  display: grid;
  gap: 0.35rem;
}

.filter-field label {
  font-weight: 700;
}

.filter-field input,
.filter-field select {
  min-height: 48px;
  padding: 0.65rem 0.75rem;
  border: var(--line);
  background: var(--paper-light);
  font: inherit;
  color: inherit;
}

.filter-field input:focus-visible,
.filter-field select:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: 2px;
}

.exhibitor-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.75rem;
}

.exhibitor-tags span {
  border: 1px solid var(--ink);
  padding: 0.15rem 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
}

.exhibitor-products {
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.exhibitor-card[hidden],
.stands-empty[hidden] {
  display: none !important;
}

/* —— Stand selection wizard —— */
.stands-wizard {
  scroll-margin-top: 1rem;
}

.stands-wizard-steps {
  list-style: none;
  margin: 1.25rem 0 0.75rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.stands-wizard-step button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 48px;
  padding: 0.55rem 0.7rem;
  border: var(--line);
  background: var(--white);
  color: var(--ink);
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.stands-wizard-step.is-active button {
  border-color: var(--ink);
  box-shadow: inset 0 -3px 0 var(--red);
}

.stands-wizard-step.is-done button {
  background: #f3f7f4;
}

.stands-wizard-num {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  flex: 0 0 auto;
  border: 2px solid var(--ink);
  background: var(--paper-light);
  font-family: var(--mono);
  font-size: 0.8rem;
  font-weight: 700;
}

.stands-wizard-step.is-active .stands-wizard-num {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}

.stands-wizard-label {
  font-family: var(--mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.stands-wizard-status {
  margin: 0 0 1rem;
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--turquoise);
}

.stands-wizard-panel {
  display: none;
}

.stands-wizard-panel.is-active {
  display: block;
}

.stands-wizard-panel[hidden] {
  display: none !important;
}

.wizard-block {
  margin-top: 0.5rem;
}

.wizard-block + .wizard-block {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #3f3d4126;
}

.wizard-block h3 {
  margin: 0 0 0.5rem;
  font-family: var(--display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  color: var(--ink);
}

.accent-paper-block {
  padding: 1.25rem;
  border: var(--line);
  background: var(--paper-light);
}

.stands-wizard-nav {
  display: grid;
  gap: 0.55rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #3f3d4126;
  position: sticky;
  bottom: 0;
  z-index: 5;
  background: color-mix(in srgb, var(--paper-light) 92%, white);
  padding-bottom: 0.25rem;
}

.stands-wizard-nav-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
}

.stands-wizard-hint {
  margin: 0;
  min-height: 1.2em;
  font-family: var(--mono);
  font-size: 0.78rem;
  line-height: 1.35;
  color: var(--ink-soft);
}

.stands-wizard-hint[data-kind="ok"] {
  color: #1f6b3a;
}

.stands-wizard-hint[data-kind="warn"] {
  color: #8a4b00;
}

.stands-wizard-nav .stands-button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.floor-space.is-preview-only rect {
  stroke-dasharray: 5 3;
  stroke-width: 3;
  filter: drop-shadow(0 0 0.35rem rgba(138, 75, 0, 0.45));
}

.selection-summary {
  margin: 1rem 0 1.25rem;
  padding: 1rem;
  border: var(--line);
  background: var(--white);
}

.selection-summary-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.selection-summary-list li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #3f3d4126;
}

.selection-summary-list span {
  font-family: var(--mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--turquoise);
}

.floor-space.is-type-filtered-out,
.stands-table tr.is-type-filtered-out {
  opacity: 0.28;
  pointer-events: none;
}

.wizard-form-block {
  margin-top: 1.25rem;
}

.wizard-form-block h3 {
  margin-bottom: 0.35rem;
}

/* Parked (not display:none) so Kommo can mount; revealed on step 3 */
.wizard-kommo-dock:not(.is-visible) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  pointer-events: none;
}

.wizard-kommo-dock.is-visible {
  position: static;
  width: auto;
  height: auto;
  margin: 1.25rem 0 0;
  padding: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  pointer-events: auto;
}

.stands-wizard {
  position: relative;
}

.stands-typeform {
  --tf-max: 40rem;
}

.stands-typeform > .section-intro {
  max-width: 36rem;
}

.tf-progress {
  display: block;
  height: 4px;
  margin: 1.5rem 0 0.75rem;
  background: #3f3d4114;
  overflow: hidden;
}

.tf-progress-bar {
  display: block;
  height: 100%;
  width: 9%;
  background: var(--red);
  transition: width 0.28s ease;
}

.tf-form.mf-form {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  gap: 0;
}

.tf-step {
  display: none;
}

.tf-step.is-active {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: min(68vh, 38rem);
  padding-block: 1.25rem;
  animation: tf-step-in 0.32s ease;
}

.tf-step[data-tf="space"].is-active {
  justify-content: flex-start;
  min-height: 0;
}

.tf-kicker {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.65rem;
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--red);
}

.tf-kicker span {
  display: grid;
  place-items: center;
  min-width: 1.5rem;
  height: 1.5rem;
  border: 2px solid var(--red);
  font-size: 0.72rem;
}

.stands-typeform .wizard-block h3.tf-title {
  margin: 0;
  max-width: 18ch;
  font-family: var(--display);
  font-size: clamp(1.85rem, 5vw, 3rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: var(--title-tracking);
  text-transform: none;
}

.tf-help,
.tf-field-label {
  margin: 0.75rem 0 0;
  max-width: 38rem;
  color: var(--ink-soft);
  font-size: 1rem;
  line-height: 1.5;
}

.tf-field {
  margin-top: 1.35rem;
  max-width: var(--tf-max);
}

.tf-field input,
.tf-field textarea {
  min-height: 56px;
  font-size: 1.15rem;
  border: 0;
  border-bottom: 2px solid var(--ink);
  background: transparent;
  padding-inline: 0;
}

.tf-field textarea {
  min-height: 7rem;
  border: 2px solid var(--ink);
  padding: 0.75rem;
  background: var(--white);
}

.tf-choices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  margin-top: 1.35rem;
  max-width: 44rem;
}

.stands-typeform .exhibitor-type-selector,
.stands-typeform .stand-type-grid {
  grid-template-columns: 1fr;
  max-width: 44rem;
}

.tf-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  width: 100%;
  min-height: 56px;
  padding: 0.85rem 1rem;
  border: var(--line);
  background: var(--white);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.tf-choice-key {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  margin-top: 0.1rem;
  border: 2px solid var(--ink);
  font-family: var(--mono);
  font-size: 0.78rem;
  font-weight: 700;
  background: var(--paper-light);
}

.tf-choice-body {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.tf-choice-body strong,
.tf-choice-body > span {
  font-weight: 800;
}

.tf-choice-more,
.tf-choice .stand-type-includes {
  margin-top: 0.35rem;
  color: var(--ink-soft);
  font-size: 0.88rem;
  line-height: 1.4;
}

.tf-choice .stand-type-includes p {
  margin: 0.45rem 0 0.15rem;
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--turquoise);
}

.tf-choice .stands-list {
  margin: 0;
  padding-left: 1.1rem;
}

.tf-choice.is-selected,
.tf-choice[aria-pressed="true"] {
  background: var(--ink);
  color: var(--paper-light);
}

.tf-choice.is-selected .tf-choice-key,
.tf-choice[aria-pressed="true"] .tf-choice-key {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}

.tf-choice.is-recommended {
  outline: 3px solid var(--red);
  outline-offset: 2px;
}

.stands-typeform .stand-type-card.is-recommended {
  order: -1;
}

.stands-typeform .exhibitor-type-btn .tf-choice-key {
  display: grid;
  place-items: center;
  font-weight: 700;
}

.stands-typeform .exhibitor-type-btn:hover .tf-choice-key,
.stands-typeform .exhibitor-type-btn:focus-visible .tf-choice-key,
.stands-typeform .exhibitor-type-btn[aria-pressed="true"] .tf-choice-key {
  background: var(--red);
  color: #fff;
  border-color: var(--red);
}

.stands-typeform .stand-type-card.tf-choice {
  display: flex;
  align-items: flex-start;
}

.stands-typeform .tf-title:focus {
  outline: none;
}

.stands-typeform .tf-title:focus-visible {
  outline: 3px solid var(--turquoise);
  outline-offset: 4px;
}
  font-family: var(--mono);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.7;
}

.stands-typeform .stands-wizard-nav {
  max-width: 44rem;
}

@keyframes tf-step-in {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tf-step.is-active,
  .tf-progress-bar {
    animation: none;
    transition: none;
  }
}

@media (max-width: 719px) {
  .stands-wizard-label {
    font-size: 0.65rem;
  }
}

.stands-page #stands-faq {
  display: block;
}

.stands-page .stands-faq-list {
  margin-top: 1.25rem;
  max-width: 900px;
}

.stands-page .stands-faq-list summary,
.stands-page .stands-policy-list summary {
  min-height: 48px;
  align-items: center;
}

.stands-page .site-footer {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  margin-top: 2rem;
}

.stands-page .footer-links,
.stands-page .footer-bottom {
  width: 100%;
}

.stands-page .site-footer a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.stands-sticky-cta {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .stand-type-card,
  .exhibitor-type-btn,
  .floor-space rect {
    transition: none !important;
  }
}

/* Mobile gutters: align with header (20px). Avoid section-shell width + padding double-inset. */
@media (max-width: 700px) {
  .stands-page {
    --stands-gutter: 20px;
    overflow-x: clip;
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  }

  .stands-page .section-shell {
    width: 100%;
    max-width: none;
    margin-inline: 0;
  }

  .stands-page .stands-section {
    padding-inline: var(--stands-gutter);
  }

  .stands-hero-copy {
    padding: 40px var(--stands-gutter) 36px calc(var(--stands-gutter) + 8px);
  }

  .stands-page .site-footer {
    padding-inline: var(--stands-gutter);
  }

  .stands-page .venue-copy {
    padding-inline: var(--stands-gutter);
  }

  .stands-cta-row {
    gap: 0.65rem;
  }

  .stands-cta-row .stands-button {
    flex: 1 1 auto;
    min-width: min(100%, 11rem);
  }

  .stands-wizard-nav {
    bottom: calc(4.75rem + env(safe-area-inset-bottom, 0px));
    margin-inline: calc(-1 * var(--stands-gutter));
    width: calc(100% + 2 * var(--stands-gutter));
    max-width: none;
    box-sizing: border-box;
    padding: 0.75rem var(--stands-gutter);
    border-block: var(--line);
    border-inline: 0;
    box-shadow: 0 -6px 18px #3f3d4112;
  }

  .stands-sticky-cta {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 40;
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem var(--stands-gutter);
    padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    border-top: var(--line);
    background: color-mix(in srgb, var(--paper-light) 94%, white);
    box-shadow: 0 -8px 24px #3f3d4114;
  }

  .stands-sticky-cta .stands-button {
    flex: 1;
  }

  .stands-sticky-cta .stands-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
  }

  /* Edge-aligned scroll regions without shrinking content gutters */
  .stands-page .table-scroll {
    margin-inline: calc(-1 * var(--stands-gutter));
    width: calc(100% + 2 * var(--stands-gutter));
    max-width: none;
    box-sizing: border-box;
  }

  /* Full-screen cover map: no zoom, pan only */
  .stands-page .floor-plan-zoom {
    display: none;
  }

  .stands-page .floor-plan-shell {
    margin-inline: calc(-1 * var(--stands-gutter));
    width: calc(100% + 2 * var(--stands-gutter));
    max-width: none;
    box-sizing: border-box;
    gap: 0;
  }

  .stands-page .floor-plan-controls {
    padding: 0.55rem var(--stands-gutter);
    border-bottom: 1px solid #3f3d4126;
    background: var(--white);
  }

  .stands-page .floor-plan-hint {
    font-size: 0.78rem;
  }

  .stands-page .floor-plan-viewport {
    width: 100%;
    height: calc(100dvh - 9.5rem);
    max-height: none;
    min-height: 70dvh;
    border-inline: 0;
    border-block: 0;
    touch-action: pan-x pan-y;
  }

  .stands-page .floor-plan-canvas {
    width: 100%;
    height: 100%;
    min-width: 100%;
    min-height: 100%;
  }

  .stands-page .floor-plan-svg {
    width: 100%;
    height: 100%;
    display: block;
  }

  .stands-page .floor-space rect {
    stroke-width: 3;
  }

  .stands-page .mf-form {
    max-width: none;
  }
}

@media (max-width: 719px) and (min-width: 701px) {
  .stands-sticky-cta {
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 40;
    display: flex;
    gap: 0.5rem;
    padding: 0.75rem 20px;
    padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
    border-top: var(--line);
    background: color-mix(in srgb, var(--paper-light) 94%, white);
    box-shadow: 0 -8px 24px #3f3d4114;
  }

  .stands-sticky-cta .stands-button {
    flex: 1;
  }

  .stands-sticky-cta .stands-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
  }

  .stands-page {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px));
  }
}
