*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'DM Sans',sans-serif;overflow-wrap:break-word}img,video,svg{max-width:100%}img,video{display:block}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button,a,input,textarea,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--accent,#b03b2e);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:12px;background:#fff;color:#111;padding:14px;z-index:999}.skip:focus{top:8px}.small{font-size:12px;line-height:1.65}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.flow-label{display:grid;gap:8px;font-size:13px}input,select,textarea{min-width:0;width:100%;padding:14px;border:1px solid currentColor;background:transparent;border-radius:0;font-size:16px}textarea{resize:vertical;min-height:100px}input[type=checkbox]{width:20px;min-width:20px;height:20px;accent-color:var(--accent)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:12px;line-height:1.5}.consent input{margin:1px 0}.fields{display:grid;gap:18px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.demo-note{font-size:12px;line-height:1.65}.result{border:1px solid currentColor;padding:20px;line-height:1.7}.result:empty{display:none}.site-credits{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:24px 5vw 30px;font-size:11px;border-top:1px solid #8885}.site-credits a,.site-credits button{min-height:44px;display:inline-flex;align-items:center}.site-credits button{border:0;background:none;text-decoration:underline;padding:0}.intro{position:fixed;inset:0;z-index:100;background:var(--intro-bg,#181d17);color:var(--intro-color,#f4efe5);display:grid;place-content:center;text-align:center;gap:24px;animation:introSafety .1s 4s forwards}.intro b{font-size:34px;letter-spacing:-.05em}.intro button{border:0;background:none;color:inherit;min-height:44px;font-size:12px}.intro-symbol{width:68px;height:68px;margin:auto;position:relative}.intro-symbol>*{position:absolute}.intro.leave{opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}.intro-line{height:1px;width:150px;background:currentColor;transform-origin:left;animation:introLine 1.2s cubic-bezier(.2,.8,.2,1)}@keyframes introSafety{to{visibility:hidden;pointer-events:none}}@keyframes introLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}dialog{border:0;padding:0;max-width:min(780px,calc(100vw - 28px));max-height:88dvh;max-height:88vh;width:780px;background:var(--paper,#f8f5ed);color:var(--ink,#202821);box-shadow:0 20px 100px #0005}dialog::backdrop{background:#0e131bbb;backdrop-filter:blur(6px)}.dialog-body{padding:clamp(22px,5vw,52px)}.dialog-close{position:sticky;z-index:2;top:0;float:right;background:var(--paper,#f8f5ed);border:0;width:48px;height:48px;font-size:25px}.dialog-body h2{font-size:clamp(28px,5vw,48px);line-height:1.05;margin:0 0 20px}.dialog-body .item{border-bottom:1px solid #8885;padding:14px 0}.dialog-body .item button{min-height:44px;margin-right:8px}.calendar{border:1px solid #8885;padding:16px}.cal-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}.cal-head strong{text-transform:capitalize}.cal-head button{height:44px;width:44px;border:1px solid #8885;background:none}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal-grid span{text-align:center;font-size:11px;padding:8px 0}.cal-grid button{height:44px;border:1px solid transparent;background:none;padding:0}.cal-grid button:hover{border-color:currentColor}.cal-grid button[aria-pressed=true]{background:var(--accent,#31442d);color:var(--on-accent,#fff)}.cal-selected{font-size:12px;min-height:24px;margin:14px 0 0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.reveal{opacity:1}.js-motion .reveal:not(.seen){opacity:0;transform:translateY(28px)}.reveal.seen{transition:opacity .7s,transform .7s;transform:none}.print-only{display:none}@media(max-width:600px){.pair{grid-template-columns:1fr}html{scroll-padding-top:80px}.site-credits{padding-bottom:calc(26px + env(safe-area-inset-bottom));gap:6px 20px}.cal-grid{gap:0}.cal-grid button{min-height:44px}.calendar{padding:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.js-motion .reveal:not(.seen){opacity:1;transform:none}.intro{display:none!important}}@media print{.intro,nav,header,.site-credits,button,video{display:none!important}.print-only{display:block}body{background:#fff!important;color:#111!important}dialog{position:static;max-height:none;box-shadow:none}}

/* Intrinsic sizing of Safari date controls must not widen grid columns. */
main form,main fieldset,.pair,.flow-label{min-width:0;max-width:100%}
body[data-slug="rude-athletes"] .visit{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
body[data-slug="rude-athletes"] .visit>*{min-width:0}
/* Constrain the iOS date widget itself, not just its surrounding grid. */
body[data-slug="rude-athletes"] .visit-form input[type="date"]{display:block;appearance:none;-webkit-appearance:none;box-sizing:border-box;min-width:0;min-inline-size:0;width:100%;max-width:100%;max-inline-size:100%}
body[data-slug="rude-athletes"] .visit-form input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:left}
@media(max-width:650px){body[data-slug="rude-athletes"] .visit{grid-template-columns:minmax(0,1fr)}body[data-slug="rude-athletes"] .opening-title{bottom:210px}body[data-slug="rude-athletes"] .opening-note{bottom:122px}body[data-slug="rude-athletes"] .photo-index{bottom:128px}}
@media(max-width:380px){body[data-slug="gestoria-vinas-rocks"] .paper-scene{max-width:calc(100% - 30px)}}
