:root{font-family:Arial,Helvetica,sans-serif;color:#141414;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,footer{max-width:1140px;margin:auto;padding:30px 28px;display:flex;justify-content:space-between;align-items:center}header{border-bottom:1px solid #eee}.wordmark{text-decoration:none;color:#111;font-size:23px;font-weight:900;letter-spacing:-1.5px}.dot{color:#777}.edition,.eyebrow,.detail-label,footer,.small-note,label,button,.button{font-size:11px;letter-spacing:1.6px;font-weight:700}main{max-width:740px;margin:0 auto;min-height:75vh;padding:80px 28px 90px}.eyebrow{margin-bottom:30px;color:#777}h1{font-size:clamp(52px,11vw,105px);line-height:.93;letter-spacing:-7px;font-weight:900;margin:0 0 34px}h2{font-size:20px;letter-spacing:-.7px;margin:28px 0 16px}.subtitle{font-size:16px;line-height:1.6}.hint{font-size:14px;line-height:1.8;color:#555;max-width:570px}.rule{border-top:1px solid #111;margin:52px 0 28px}form:not(.inline){margin-top:30px}label{display:block;margin:20px 0 9px}input:not([type=checkbox]){display:block;width:100%;padding:15px 0;border:0;border-bottom:1px solid #aaa;border-radius:0;outline:none;background:#fff;font-size:17px}input:focus{border-bottom-color:#111}.check{display:flex;align-items:start;gap:12px;font-size:12px;letter-spacing:0;font-weight:400;line-height:1.5;margin:22px 0}.check input{margin:2px 0;accent-color:#111}.check a,a{color:inherit}button,.button{display:block;width:100%;padding:19px 22px;background:#111;color:#fff;border:1px solid #111;text-decoration:none;cursor:pointer;text-align:left;margin-top:28px}button span{float:right}.outline{background:white;color:black}.small-note{color:#777;line-height:1.8;font-weight:400;letter-spacing:.1px;margin:22px 0}.payment-block{padding:23px 0;border-bottom:1px solid #ddd}.detail-label{color:#888;margin:25px 0 8px}.detail{font-size:19px;overflow-wrap:anywhere}.qr-box{width:280px;max-width:100%;margin:30px 0;border:1px solid #eee;padding:12px}.qr-box img{width:100%;display:block}.alert{border:1px solid #111;padding:12px 18px;margin-bottom:28px;font-size:13px}.row{display:flex;justify-content:space-between;align-items:center;gap:10px}.row a{font-size:11px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid #ddd;padding:16px 12px 16px 0;vertical-align:top}small{color:#777}.inline{display:inline-block;margin:0!important}.smallbtn{font-size:10px;width:auto;margin:4px;padding:10px}.payment-block .button{margin:16px 0}footer{border-top:1px solid #eee;color:#888}footer a{text-decoration:none}@media(max-width:540px){main{padding-top:55px}h1{letter-spacing:-4px}header,footer{padding:24px}th,td{min-width:100px}}

select{width:100%;padding:12px;border:1px solid #aaa;background:#fff;color:#111;font:inherit}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #111;outline-offset:4px}

.test-banner{padding:14px 24px;border-bottom:1px solid #111;background:#f3f3f3;text-align:center;font-size:12px;line-height:1.8}.test-banner a{margin-left:16px;font-size:11px;font-weight:700}.email-preview{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font:15px/1.7 Arial,Helvetica,sans-serif;padding:24px;background:#f6f6f6;border:1px solid #ddd}.back-link{display:inline-block;font-size:12px;margin:20px 0}.admin-page{max-width:1140px}.admin-page td:last-child{min-width:285px}.test-banner strong{letter-spacing:1px}

/* A single persistent graphic bridges registration and the server-rendered page. */
#page-scene{opacity:1;transform:none;filter:none;transition:opacity .5s ease,filter .6s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.page-transition{position:fixed;inset:0;z-index:1000;overflow:hidden;background:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .55s ease,visibility 0s .85s}
.page-transition video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
body.is-transitioning{overflow:hidden}
body.is-transitioning .page-transition{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .7s cubic-bezier(.25,.1,.25,1),visibility 0s}
body.is-departing #page-scene{opacity:0;filter:blur(7px);transform:scale(.985)}
body.is-arriving #page-scene{opacity:0;filter:blur(12px);transform:translateY(16px) scale(1.015);transition:none}
body.is-arriving.is-revealing #page-scene{opacity:1;filter:none;transform:none;transition:opacity .8s ease,filter .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
body.is-revealing .page-transition{opacity:0;pointer-events:none;transition:opacity .8s ease}
#page-scene main:focus{outline:none}
button:disabled{cursor:wait}
@media(prefers-reduced-motion:reduce){#page-scene,.page-transition{transition:none!important}.page-transition{display:none!important}}

/* Event details and the supplied looping artwork share the opening row. */
.event-intro{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:38px;min-height:235px}
.event-intro-copy{min-width:0}.event-intro-copy .eyebrow{margin-bottom:22px}.event-intro-copy .subtitle{margin:0;line-height:1.75}
.event-intro-graphic{display:block;width:calc(190px - 2cm);justify-self:start;transform:translateX(-2cm)}.event-intro-graphic img{display:block;width:100%;height:auto;object-fit:contain}
@media(max-width:540px){.event-intro{grid-template-columns:minmax(0,1fr) 116px;gap:18px;min-height:160px}.event-intro-graphic{width:116px;transform:none}.event-intro-copy .eyebrow{font-size:10px;letter-spacing:1.2px;margin-bottom:16px}.event-intro-copy .subtitle{font-size:14px}}

/* Poster speaker rings double-exposed over the original moving artwork. */
.page-transition{isolation:isolate}
.page-transition .speaker-rings{position:absolute;inset:-4%;z-index:1;pointer-events:none;mix-blend-mode:multiply;opacity:.68;transform:scale(1.035);will-change:transform}
body.is-transitioning .speaker-rings{animation:speaker-exposure 2.77s cubic-bezier(.25,.1,.25,1) both}
@keyframes speaker-exposure{from{transform:scale(1.06) rotate(-1.4deg)}to{transform:scale(1.015) rotate(.4deg)}}
@media(max-width:540px){.page-transition .speaker-rings{background-size:auto 80%;inset:0}}
@media(prefers-reduced-motion:reduce){.speaker-rings{animation:none!important;will-change:auto}}

video.event-intro-graphic{height:auto;aspect-ratio:380/470;object-fit:contain}.event-intro-still{display:none}.pagination{margin:28px 0;font-size:12px}
@media(prefers-reduced-motion:reduce){video.event-intro-graphic{display:none}.event-intro-still{display:block;max-width:100%;height:auto}}

.page-transition .speaker-rings{inset:0}.speaker-rings img{position:absolute;left:50%;top:50%;width:auto;height:80%;max-width:none;transform:translate(-50%,-50%)}

img.event-intro-graphic{height:auto;object-fit:contain}

.guest-add,.guest-remove{width:30px;height:30px;padding:0;display:inline-grid;place-items:center;margin:12px 0 0;background:#fff;color:#111;font-size:21px;letter-spacing:0}.extra-guest{position:relative;padding-right:42px}.guest-remove{position:absolute;right:0;bottom:8px}.guest-add:disabled{opacity:.35}.scanner video{display:block;width:100%;max-height:340px;object-fit:cover;background:#111;border-radius:2px}.scanner-controls{display:flex;gap:12px}.scanner-controls button{width:auto}.scanner-result{padding:18px;border:1px solid #111;min-height:60px;margin:20px 0;font-size:16px}.scanner-result[data-result="admitted"]{background:#e6f4e8}.scanner-result[data-result="already_used"],.scanner-result[data-result="invalid"]{background:#fff0e4}.attendance-present{font-weight:700}.scanner{margin:24px 0 36px}.admin-summary{display:flex;gap:28px;flex-wrap:wrap}.admin-summary strong{font-size:30px;display:block}.scanner-status{font-size:12px;color:#555}button[hidden],video[hidden]{display:none}

footer{gap:20px;flex-wrap:wrap}footer nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}footer a{overflow-wrap:anywhere}.ticket-social{margin-top:32px;font-size:14px;line-height:1.7}.ticket-social a{text-underline-offset:4px}

/* Soft, heavy display serif inspired by the supplied poster. */
@font-face{font-family:AttritoDisplay;src:url('/static/fonts/attrito-display.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
.wordmark{font-family:AttritoDisplay,Georgia,serif;font-size:30px;font-weight:900;letter-spacing:-1.8px;line-height:1;text-decoration:none}
h2.join-title{font-size:24px}

/* Organizer payment list; attendance is a separate, collapsible workflow. */
.admin-guests .payment-approval{margin:0!important}.admin-guests select{min-width:150px;font-size:14px}.admin-guests td{overflow-wrap:anywhere}.admin-page .admin-guests td:last-child{min-width:170px}.admin-guests .smallbtn{margin:0;min-height:44px;letter-spacing:.4px;text-transform:none}.admin-guests button:disabled{cursor:default;opacity:.65}.admin-scanner{margin-top:40px;border-top:1px solid #ddd;padding-top:24px}.admin-scanner summary{font-size:12px;font-weight:700;letter-spacing:1px;cursor:pointer}
@media(max-width:600px){.admin-guests thead{display:none}.admin-guests,.admin-guests tbody,.admin-guests tr,.admin-guests td{display:block;width:100%}.admin-guests tr{border-bottom:1px solid #111;padding:20px 0}.admin-guests td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;min-width:0!important;border:0;padding:10px 0;align-items:center}.admin-guests td:before{content:attr(data-label);font-size:10px;letter-spacing:.5px;font-weight:700;color:#666}.admin-guests td[data-label="Nome"]{font-size:19px}.admin-guests select{min-width:0;width:100%}.admin-guests .smallbtn{width:100%;text-align:center}.admin-guests .payment-action a{grid-column:2}.admin-page .table-wrap:has(.admin-guests){overflow:visible}}
.admin-guests .delete-guest{margin-top:12px!important}.admin-guests .delete-guest-button{font-size:10px;padding:8px 12px;min-height:36px;color:#666;border-color:#ccc}
