:root{--cream:#eee4c8;--gold:#d8b66c;--wall:#8c1425;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background-color:var(--wall);color:var(--cream);font-family:'DM Sans',sans-serif;min-height:100vh;position:relative;background-image:radial-gradient(ellipse at 50% -10%,#f2b37a22,transparent 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='100' viewBox='0 0 80 100'%3E%3Cg fill='none' stroke='%23edc18a' stroke-opacity='.10' stroke-width='.8'%3E%3Cpath d='M40 5C30 20 23 18 26 31C29 43 37 40 40 49C43 40 51 43 54 31C57 18 50 20 40 5ZM40 49C28 42 20 48 13 51C25 54 29 69 40 85C51 69 55 54 67 51C60 48 52 42 40 49ZM40 5V85M0 0L40 50L80 0M0 100L40 50L80 100'/%3E%3Cpath d='M40 20C34 31 34 39 40 49C46 39 46 31 40 20ZM24 52Q40 56 40 75Q40 56 56 52'/%3E%3C/g%3E%3C/svg%3E");background-attachment:fixed}.wall-light{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 5%,#ffcf8915,transparent 60%),linear-gradient(90deg,#0003,transparent 28%,transparent 72%,#0003);pointer-events:none}.panelling{height:135px;position:absolute;bottom:0;left:0;right:0;z-index:-1;background:repeating-linear-gradient(90deg,#091c17 0 2px,transparent 2px 150px,#254337 150px 153px),linear-gradient(#17372c,#0c241c);border-top:9px ridge #345343;box-shadow:0 -3px 0 #0c261e,0 -15px 30px #0002}header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}a{color:inherit}.edition{display:flex;align-items:center;gap:13px;text-decoration:none;font-size:9px;letter-spacing:2px;color:#d8d7b9}.edition-mark{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;display:grid;place-items:center;border:1px solid #b7aa7166;border-radius:50%;width:41px;height:41px;color:var(--gold)}.editor-link{color:#c9d1b8;text-decoration:none;font-size:11px;border-bottom:1px solid #b7aa7155;padding-bottom:5px}.editor-link span{margin-left:14px;color:var(--gold)}main{max-width:1440px;margin:auto;padding:0 6% 34px}.introduction{text-align:center;padding:24px 0 35px}.eyebrow{font-size:10px;letter-spacing:4px;color:#c9b577;margin:0 0 10px}h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(38px,5.2vw,71px);font-weight:500;line-height:1.1;margin:8px 0 10px;text-shadow:0 2px 3px #38050d}.invitation{font-size:12px;color:#c1cbb4;letter-spacing:.3px}.gallery{position:relative;max-width:1080px;margin:auto;padding:10px 0 0}.picture{position:relative;margin:0 auto;width:100%;max-width:1000px;filter:drop-shadow(3px 22px 13px #0008)}.frame-outer{padding:7px;background:linear-gradient(135deg,#fff0a5,#a17a36 10%,#d5b26c 25%,#6b471c 51%,#e3c285 76%,#8c5d22 95%);border:1px solid #ffe6a2;box-shadow:inset 0 0 0 2px #6d4b25,0 3px 0 #3d2514,0 0 0 1px #2b2412}.frame-carved{padding:17px;background:repeating-linear-gradient(135deg,#81521e11 0 3px,#f7dfaa11 3px 5px),linear-gradient(115deg,#b58c49,#ebcb85 16%,#a17b3d 44%,#d4af69 69%,#83602f);box-shadow:inset 0 0 0 1px #f4d89a,inset 0 0 8px #553410}.frame-bevel{padding:10px;background:linear-gradient(135deg,#6b4a24,#b89a61 44%,#e8d2a0 65%,#97642b);box-shadow:0 0 0 2px #6b4b26,inset 2px 2px 4px #33230c}.frame-liner{padding:5px;background:linear-gradient(135deg,#cfc2a0,#f4e9cc);box-shadow:inset 1px 2px 3px #806839}.screen{position:relative;background:#081a17;aspect-ratio:16/9;box-shadow:0 0 0 2px #4a331b;overflow:hidden}.screen video{display:block;width:100%;height:100%;object-fit:contain}.play-overlay{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(transparent 30%,#071b1755 50%,#071b17c9);border:0;color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 15px 8%;cursor:pointer;gap:13px}.play-overlay:hover .play-circle{background:#e5c887;transform:scale(1.05)}.play-circle{width:67px;height:67px;border-radius:50%;display:grid;place-items:center;background:#d9ba76;box-shadow:0 0 0 5px #f4e4af22,0 8px 22px #0004;transition:.2s}.play-circle svg{width:27px;height:27px;fill:#203b2d;margin-left:-3px}.play-label{font-size:11px;letter-spacing:3px;font-weight:600}.play-hint{font-size:10px;color:#d5d9c5;letter-spacing:.4px}.play-overlay[hidden]{display:none}.video-error{position:absolute;inset:auto 10px 45px;background:#102b24;padding:15px;text-align:center;font-size:12px}.hanging-hook{position:absolute;width:7px;height:7px;left:calc(50% - 3px);top:-19px;border-radius:50%;background:#b9a06c;box-shadow:0 2px 3px #0008}.hanging-hook:after,.hanging-hook:before{content:'';position:absolute;width:70px;height:1px;background:#a8916455;top:2px;left:2px;transform-origin:left center;transform:rotate(17deg)}.hanging-hook:before{transform:rotate(163deg)}.plaque{position:relative;width:fit-content;max-width:85%;margin:25px auto 0;text-align:center;padding:13px 44px 12px;color:#3e2d17;background:linear-gradient(120deg,#94733c,#e2c991 20%,#bb9a5e 50%,#ebd4a0 80%,#ac894d);border:1px solid #e4c78b;box-shadow:0 4px 9px #00170fb3,inset 0 0 0 2px #795e3133}.plaque-title{display:block;font-size:10px;font-weight:600;letter-spacing:1.8px}.plaque-subtitle{display:block;font-family:Georgia,serif;font-size:11px;font-style:italic;margin-top:5px;opacity:.85}.screw{position:absolute;top:calc(50% - 3px);width:6px;height:6px;background:linear-gradient(40deg,#e1c48a 40%,#7f6430 45%,#8b6a38 55%,#e5cf98 60%);border-radius:50%;box-shadow:0 1px 2px #674a2b}.screw-left{left:13px}.screw-right{right:13px}.sconce{position:absolute;top:32%;width:60px;height:130px}.sconce-left{left:-88px}.sconce-right{right:-88px}.shade{position:absolute;top:0;left:4px;width:52px;height:43px;background:linear-gradient(90deg,#b49c6b,#fff1c9 45%,#cfb680);clip-path:polygon(25% 0,75% 0,100% 100%,0 100%);filter:drop-shadow(0 0 5px #ffe8a3)}.backplate{position:absolute;top:55px;left:21px;width:17px;height:50px;border-radius:50%;background:linear-gradient(90deg,#785722,#cfb26d,#81622e);box-shadow:0 3px 3px #0007}.arm{position:absolute;z-index:1;top:40px;left:25px;width:10px;height:52px;border:3px solid #b28d46;border-top:0;border-right:0;border-radius:0 0 0 12px}.light-spill{position:absolute;width:220px;height:270px;left:-80px;top:-70px;background:radial-gradient(ellipse,#ffe8aa29,transparent 65%);filter:blur(8px)}.below-frame{max-width:1000px;margin:25px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px;color:#b9c5ac;font-size:10px}.sound-note{display:flex;gap:10px;align-items:center}.sound-note svg{width:15px;height:15px;fill:none;stroke:#b5c1a9;stroke-width:1.3}.sound-note svg path:first-child{fill:#b5c1a9}.text-button{font:inherit;color:#d4d9c0;background:transparent;border:0;border-bottom:1px solid #a5ad7c66;padding:7px 0;cursor:pointer}.text-button span{margin-left:20px;color:#dfc07d}.pub-list{max-width:1000px;margin:24px auto;background:#0a241b80;border:1px solid #82915c44;padding:22px 30px}.pub-list ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px 26px;padding:0;margin:0}.pub-list li{display:flex;gap:12px;align-items:baseline;font-size:12px}.pub-list .number{font:italic 20px Georgia;color:#c9ac68}.pub-list .name{display:block;margin-bottom:5px}.pub-list .time{font-size:10px;color:#afbea7}footer{max-width:1000px;margin:35px auto 0;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#9bac94;letter-spacing:.2px}footer a{text-decoration:none;border-bottom:1px solid #a5ad7c44}button:focus-visible,a:focus-visible{outline:2px solid #ffe2a0;outline-offset:5px}@media(min-width:1550px){main{padding-top:20px}.introduction{padding-bottom:45px}}@media(max-width:1250px){.sconce{display:none}.gallery{max-width:1000px}main{padding-left:5%;padding-right:5%}}@media(max-width:650px){header{padding:18px 5%}.edition{font-size:7px;letter-spacing:1px;gap:9px}.edition-mark{width:32px;height:32px;font-size:22px}.editor-link{font-size:10px}.editor-link span{margin-left:5px}.introduction{padding:28px 0 25px}.eyebrow{font-size:9px;letter-spacing:3px}.invitation{font-size:11px;line-height:1.6;padding:0 20px}.frame-outer{padding:4px}.frame-carved{padding:8px}.frame-bevel{padding:5px}.frame-liner{padding:3px}.play-circle{width:44px;height:44px}.play-circle svg{width:20px}.play-overlay{gap:8px;padding-bottom:6%}.play-label{font-size:8px;letter-spacing:2px}.play-hint{font-size:8px}.plaque{max-width:93%;padding:11px 25px;margin-top:22px}.plaque-title{font-size:8px;letter-spacing:1px}.plaque-subtitle{font-size:10px}.below-frame{font-size:9px;gap:10px;margin-top:20px}.sound-note{gap:6px}.text-button span{margin-left:6px}.pub-list{padding:20px 15px}.pub-list ol{grid-template-columns:repeat(2,1fr);gap:18px 14px}.pub-list li{font-size:11px;gap:8px}footer{margin-top:40px;line-height:1.8;display:block}footer span{display:block}.panelling{height:110px}main{padding-bottom:35px}.hanging-hook{top:-17px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
@media(min-width:900px) and (max-height:850px){header{padding-top:14px;padding-bottom:10px}.edition-mark{width:32px;height:32px;font-size:23px}.introduction{padding-top:6px;padding-bottom:20px}h1{font-size:48px;margin:4px 0 7px}.eyebrow{font-size:9px;margin-bottom:5px}.invitation{margin:6px 0}.gallery{max-width:760px}.picture{max-width:620px}.sconce-left{left:-35px}.sconce-right{right:-35px}.plaque{margin-top:18px;padding-top:10px;padding-bottom:10px}.below-frame{max-width:620px;margin-top:15px}footer{max-width:620px;margin-top:20px}main{padding-bottom:20px}}
/* Simplified wall page and the complete, always-visible itinerary. */
main{padding-top:20px;padding-bottom:65px}.introduction{padding:22px 0 32px}.gallery{max-width:1080px}.pub-list{display:block;max-width:1000px;margin:60px auto 0;padding:0;background:transparent;border:0}.itinerary-heading{text-align:center;margin-bottom:30px}.itinerary-heading h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:44px;line-height:1.1;margin:10px 0;color:#eee4c8}.itinerary-summary{font-size:12px;color:#bdc9af;margin-top:12px}.pub-list ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 46px;counter-reset:pubs}.pub-list li{display:flex;align-items:flex-start;gap:19px;padding:24px 0;border-top:1px solid #bbaf7044;font-size:14px}.pub-list .number{font:italic 29px 'Cormorant Garamond',Georgia,serif;color:#d5b571;min-width:28px;line-height:1.2}.pub-details{min-width:0;flex:1}.pub-heading{display:flex;flex-direction:column;gap:5px}.pub-heading time{color:#d5b571;font-size:10px;letter-spacing:1.5px;font-weight:600;text-transform:uppercase}.pub-heading h3{margin:0;color:#eee4c8;font-size:17px;font-weight:500;line-height:1.4}.pub-details address{font-style:normal;font-size:12px;color:#b9c8af;line-height:1.75;margin-top:8px;max-width:300px}.map-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:13px}.map-links a{font-size:10px;letter-spacing:.2px;color:#e2c98d;text-decoration:none;border-bottom:1px solid #b9a26988;padding-bottom:3px}.map-links a:hover{color:#fff1c8;border-color:#fff1c8}.pub-list #itineraryError{font-size:13px;text-align:center;color:#f1d9ae}
@media(min-width:900px) and (max-height:850px){main{padding-top:20px;padding-bottom:55px}.introduction{padding:4px 0 26px}.picture{max-width:800px}.gallery{max-width:900px}.pub-list{max-width:800px;margin-top:55px}.plaque{margin-top:20px}}
@media(max-width:650px){main{padding-top:27px;padding-bottom:40px}.introduction{padding:0 0 26px}.introduction h1{font-size:40px}.pub-list{margin-top:40px;padding:0 8px}.itinerary-heading{margin-bottom:20px}.itinerary-heading h2{font-size:36px}.itinerary-heading .eyebrow{font-size:8px}.itinerary-summary{font-size:11px}.pub-list ol{grid-template-columns:1fr;gap:0}.pub-list li{padding:21px 0;gap:17px}.pub-heading{flex-direction:row;align-items:baseline;gap:12px}.pub-heading time{min-width:38px;white-space:nowrap}.pub-heading h3{font-size:16px}.pub-details address{font-size:12px}.map-links a{font-size:11px}.pub-list .number{font-size:28px}.map-links{gap:22px}}

/* Christmas red wall and the requested festive title face. */
.introduction h1{font-family:"Mountains of Christmas",Georgia,serif;font-weight:700;line-height:1.25;letter-spacing:0;font-size:clamp(40px,5.2vw,70px)}
@media(min-width:900px) and (max-height:850px){.introduction h1{font-size:52px}}
@media(max-width:650px){.introduction h1{font-size:42px}}

.introduction .eyebrow{font-size:15px;font-weight:600;letter-spacing:2.5px;color:#ffe6ad;text-shadow:0 1px 3px #480713;margin-bottom:14px}
@media(max-width:650px){.introduction .eyebrow{font-size:11px;letter-spacing:1.1px;line-height:1.8;margin-bottom:12px}}

.map-switch{display:flex;justify-content:center;gap:4px;margin:-8px auto 24px;position:relative;z-index:2}.map-switch button{font:500 11px 'DM Sans',sans-serif;color:#f4ddb0;background:#65101c;border:1px solid #cdae7066;padding:10px 20px;cursor:pointer;min-width:110px}.map-switch button:first-child{border-radius:30px 0 0 30px}.map-switch button:last-child{border-radius:0 30px 30px 0}.map-switch button[aria-pressed=true]{background:#d7b674;color:#3c201b}.screen .apple-map{position:absolute;inset:0;width:100%;height:100%;background:#f4f1eb}.screen [hidden]{display:none!important}.screen .apple-map-status{position:absolute;z-index:3;top:12px;left:12px;right:12px;text-align:center;font:12px 'DM Sans',sans-serif;background:#fff9ebef;color:#4a3030;border-radius:5px;padding:12px;box-shadow:0 3px 9px #0002}.map-links button.map-focus{background:transparent;border:0;border-bottom:1px solid #b9a26988;color:#e2c98d;font:10px 'DM Sans',sans-serif;padding:0 0 3px;cursor:pointer}@media(max-width:650px){.map-switch{margin-top:-8px;margin-bottom:22px}.map-switch button{font-size:10px;padding:9px 17px}}
/* Event tabs, a wide picture frame, and leftward-moving sponsor logos. */
main{width:100%;max-width:none;padding:28px 4vw 42px}.introduction{padding:0 0 18px}.introduction h1{margin-top:7px;margin-bottom:0}.page-tabs{display:flex;justify-content:center;gap:34px;margin:0 auto 26px;border-bottom:1px solid #d5b57144;max-width:600px}.page-tabs button{font:500 12px 'DM Sans',sans-serif;color:#ddc8ad;background:none;border:0;border-bottom:2px solid transparent;padding:12px 6px 13px;cursor:pointer}.page-tabs button[aria-selected=true]{color:#fff0bf;border-bottom-color:#e2c17c}.page-tabs button:hover{color:#fff6db}[data-panel][hidden]{display:none!important}.gallery,.picture{width:100%;max-width:none}.gallery{padding-top:5px}.map-switch{margin:0 auto 19px}.picture{filter:drop-shadow(3px 16px 13px #0007)}.plaque{margin-top:22px}.sponsors{max-width:1450px;margin:36px auto 0}.sponsor-heading{display:flex;justify-content:center;align-items:center;gap:18px;font-size:9px;letter-spacing:2px;color:#e5c58d}.sponsor-pending{font-size:10px;letter-spacing:.2px;color:#e1c5ae}.sponsor-heading button{border:1px solid #d4b47266;background:none;border-radius:50%;width:24px;height:24px;color:#e5c58d;cursor:pointer}.sponsor-window{overflow:hidden;margin-top:17px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.sponsor-track{display:flex;width:max-content;animation:sponsor-left 30s linear infinite}.sponsor-set{display:flex;gap:45px;align-items:center;padding-right:45px}.sponsor-placeholder{width:190px;height:70px;display:grid;place-items:center;border:1px dashed #e1bc7b55;color:#e5c78b99;border-radius:3px;font-family:'Cormorant Garamond',Georgia,serif;font-size:17px;letter-spacing:2px;background:#600c1722}.sponsor-track.paused,.sponsor-window:hover .sponsor-track{animation-play-state:paused}@keyframes sponsor-left{to{transform:translateX(-50%)}}.pub-list{max-width:1100px;margin:30px auto 0}.attendees-heading{text-align:center;margin:40px auto 30px}.attendees-heading h2{font:500 46px 'Cormorant Garamond',Georgia,serif;margin:10px 0;color:#f1dfbd}.attendees-empty{max-width:650px;margin:0 auto 60px;text-align:center;border-top:1px solid #d2b27455;border-bottom:1px solid #d2b27455;padding:50px 25px}.guest-icon{font-size:32px;color:#d5b571}.attendees-empty h3{font-size:19px;font-weight:500;margin:20px 0 12px}.attendees-empty p{font-size:13px;line-height:1.8;color:#dfc9b7}.screen{aspect-ratio:16/9}
@media(min-width:900px) and (max-height:850px){main{padding-top:22px;padding-bottom:35px}.introduction{padding-bottom:12px}.introduction h1{font-size:46px}.introduction .eyebrow{margin-bottom:8px;font-size:13px}.page-tabs{margin-bottom:20px}.gallery,.picture{max-width:none}.plaque{margin-top:20px}.sponsors{margin-top:28px}.pub-list{max-width:1100px}}
@media(max-width:650px){main{padding:25px 4vw 35px}.introduction h1{font-size:39px}.introduction .eyebrow{font-size:10px;letter-spacing:.7px;margin-bottom:8px}.introduction{padding-bottom:14px}.page-tabs{gap:25px;margin-bottom:22px}.page-tabs button{font-size:11px;padding:10px 4px 12px}.map-switch{margin-bottom:20px}.sponsors{margin-top:28px}.sponsor-heading{gap:12px;font-size:8px}.sponsor-pending{font-size:9px}.sponsor-placeholder{width:140px;height:60px;font-size:14px}.sponsor-set{gap:25px;padding-right:25px}.pub-list{margin-top:24px}.attendees-heading{margin-top:28px}.attendees-heading h2{font-size:39px}.attendees-empty{padding:35px 15px}}
@media(prefers-reduced-motion:reduce){.sponsor-track{animation:none}.sponsor-window{overflow-x:auto}}
.signup-intro{font-size:13px;line-height:1.7;color:#e1c9b2}.signup-layout{display:grid;grid-template-columns:minmax(280px,390px) 1fr;gap:65px;max-width:1100px;margin:0 auto 65px}.signup-card{padding:30px;background:#5f0d1b88;border:1px solid #d9b77566;border-radius:5px;align-self:start}.signup-card h3{font:500 33px 'Cormorant Garamond',Georgia,serif;margin:6px 0 27px}.signup-card label{display:block;font-size:12px;margin:19px 0 9px}.signup-card input,.signup-card select{width:100%;border:1px solid #ba8f6977;border-radius:3px;background:#4c0a16;color:#fff0d4;padding:13px;font:13px 'DM Sans',sans-serif;min-height:46px}.signup-card input::placeholder{color:#b99c8e}.signup-note{font-size:11px;color:#d3b5a4;line-height:1.8;margin:18px 0 23px}.signup-submit{border:0;border-radius:3px;background:#e0bf7c;color:#46231f;font:600 12px 'DM Sans',sans-serif;padding:15px 24px;width:100%;cursor:pointer}.signup-submit:hover{background:#f2d393}.signup-submit:disabled{opacity:.6;cursor:wait}.signup-remove{display:block;margin:18px auto 0;border:0;border-bottom:1px solid #dbbaa177;background:none;color:#e3cbb9;font:11px 'DM Sans',sans-serif;padding:0 0 4px;cursor:pointer}.signup-remove[hidden]{display:none}.signup-trap{position:absolute;left:-9999px}#signupStatus,#attendeeListStatus{font-size:12px;line-height:1.7;color:#f0dab3}#signupStatus:empty{display:none}.guest-list-heading{display:flex;align-items:center;gap:15px;border-bottom:1px solid #dabd7755;padding:0 0 17px}.guest-list-heading h3{font:500 28px 'Cormorant Garamond',Georgia,serif;margin:0;flex:1}.guest-list-heading span{font-size:11px;color:#dec49f}.guest-list-heading button{background:none;color:#e4c683;border:1px solid #d9b77566;border-radius:50%;height:28px;width:28px;font-size:19px;cursor:pointer}.attendee-card{display:flex;align-items:center;gap:15px;border-bottom:1px solid #d8bc7733;padding:20px 0}.guest-initial{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:#d8b77522;color:#e7c886;font:24px 'Cormorant Garamond',Georgia,serif;flex-shrink:0}.attendee-card h4{font-size:14px;font-weight:500;margin:0 0 6px;overflow-wrap:anywhere}.attendee-card p{font-size:11px;line-height:1.6;margin:0;color:#d6bca5}.sponsor-track{animation-duration:72s}.sponsor-logo{width:160px;height:84px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sponsor-logo img{display:block;max-width:150px;max-height:70px;width:auto;height:auto;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}.sponsor-logo span{font-size:11px}.sponsor-heading{margin-bottom:15px}@media(max-width:750px){.signup-layout{grid-template-columns:1fr;gap:35px;max-width:540px}.signup-card{padding:24px}.attendees-heading{margin-top:20px}.sponsor-logo{width:125px;height:70px}.sponsor-logo img{max-width:115px;max-height:60px}}
.sponsor-logo{height:105px;flex-direction:column;gap:10px}.sponsor-logo span{font:9px 'DM Sans',sans-serif;color:#e0c7ae;letter-spacing:.3px;white-space:nowrap}.sponsor-logo img{height:65px;max-height:65px;max-width:140px;filter:brightness(0) invert(1);opacity:1}.sponsor-moretti img,.sponsor-budweiser img,.sponsor-stella img,.sponsor-madri img{filter:none}.sponsor-madri img{border-radius:3px}.sponsor-moretti img{max-height:70px}.sponsor-carling img{filter:none;background:#fff7e5;padding:6px;border-radius:3px}.sponsor-cruzcampo img{filter:none;max-height:62px}.sponsor-set{gap:38px;padding-right:38px}.sponsor-window{margin-top:7px}
/* The invitation now runs directly on Apple Maps. */
.screen{background:#eee8dc}.screen .apple-map{background:#eee8dc}.apple-play{background:linear-gradient(transparent 40%,#43121c55);justify-content:center;padding:13% 15px 0;z-index:4}.apple-play[disabled]{cursor:wait}.apple-play .play-circle{background:#9f1c30;box-shadow:0 0 0 7px #fff7df55,0 8px 26px #45212d55}.apple-play .play-circle svg{fill:#fff1d1}.apple-play .play-label{background:#6b1023ed;padding:12px 18px;border-radius:4px;color:#fff2d3;text-shadow:none;font-size:10px;letter-spacing:1.8px}.apple-play .play-hint{color:#fff9e9;text-shadow:0 1px 4px #3a1125;font-weight:500}.journey-heading{position:absolute;z-index:3;top:22px;left:22px;max-width:calc(100% - 110px);padding:16px 21px;background:#6b1023ed;border:1px solid #eccd8e88;box-shadow:0 4px 15px #40162722;border-radius:4px;pointer-events:none;color:#fff2d5}.journey-kicker{display:block;color:#e5c17e;font-size:8px;font-weight:600;letter-spacing:2px;margin-bottom:5px}.journey-heading strong{display:block;font:600 28px 'Cormorant Garamond',Georgia,serif;line-height:1.2}.journey-heading #currentPubTime{display:block;font-size:10px;line-height:1.6;max-width:350px;margin-top:6px}.journey-controls{position:absolute;left:20px;right:20px;bottom:37px;z-index:5;display:flex;align-items:center;gap:12px;padding:10px 13px;background:#5d1021f2;border:1px solid #d8b77577;box-shadow:0 3px 14px #44202144;border-radius:5px}.journey-controls[hidden]{display:none}.journey-controls button{flex-shrink:0;color:#fff0d1;background:transparent;border:0;font:10px 'DM Sans',sans-serif;cursor:pointer;padding:6px}.journey-controls #toggleJourney{font-size:18px;min-width:27px}.journey-controls #restartJourney{font-size:21px}.journey-controls output{font-size:10px;white-space:nowrap;min-width:67px;font-variant-numeric:tabular-nums}.journey-controls input{width:100%;min-width:20px;accent-color:#e0bf7c;cursor:pointer}.santa-map-marker{position:relative;width:180px;height:140px;pointer-events:none;filter:drop-shadow(0 3px 2px #31172566)}.santa-map-marker canvas{position:relative;z-index:1;display:block}.santa-map-shadow{position:absolute;left:53px;top:75px;width:74px;height:25px;background:#45263533;border-radius:50%;filter:blur(7px)}
@media(max-width:650px){.journey-heading{top:10px;left:10px;padding:8px 11px;max-width:calc(100% - 57px)}.journey-kicker{font-size:6px;letter-spacing:1.2px;margin-bottom:3px}.journey-heading strong{font-size:18px}.journey-heading #currentPubTime{font-size:8px;margin-top:3px;max-width:230px}.apple-play{gap:8px;padding-top:25%}.apple-play .play-label{font-size:7px;letter-spacing:.5px;padding:8px 10px}.apple-play .play-hint{font-size:7px}.apple-play .play-circle{width:39px;height:39px}.journey-controls{left:8px;right:8px;bottom:29px;padding:4px;gap:3px}.journey-controls button{font-size:8px;padding:4px}.journey-controls output{font-size:8px;min-width:53px}.journey-controls #restartJourney{font-size:17px}.journey-controls #toggleJourney{font-size:14px;min-width:21px}.journey-controls #exploreJourney{display:none}.santa-map-marker{transform:scale(.72);transform-origin:center}.screen{min-height:260px}}
/* A fixed clock bar counts down to noon in London. */
.countdown-bar{position:fixed;inset:0 0 auto;z-index:1000;max-width:none;margin:0;min-height:86px;padding:12px 4vw;display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(110deg,#490a18f7,#6f1024fa 48%,#490a18f7);border-bottom:1px solid #d7b67699;box-shadow:0 4px 22px #36061166;backdrop-filter:blur(12px)}.countdown-event{display:flex;flex-direction:column;gap:6px;min-width:210px}.countdown-city{font:600 12px 'DM Sans',sans-serif;letter-spacing:4px;color:#f4dca8}.countdown-date{font-size:10px;letter-spacing:1.5px;color:#f2dfc2;white-space:nowrap}.countdown-dot{margin:0 5px;color:#c8a361}.countdown-clock{display:flex;align-items:center;justify-content:center;gap:11px}.countdown-unit{display:flex;flex-direction:column;align-items:center;gap:5px}.clock-digits{position:relative;display:grid;place-items:center;min-width:51px;height:43px;padding:0 7px;background:linear-gradient(#2f0813 49%,#17050b 50%,#3b0b19 51%);border:1px solid #bd96595c;border-radius:4px;box-shadow:inset 0 1px 0 #f9dda21a,0 3px 4px #16030b66;font:500 31px/1 'DM Sans',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:1px;color:#fff0c9;transform-origin:50% 50%}.clock-digits:after{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:#10020899;pointer-events:none}.clock-label{font-size:7px;letter-spacing:1.6px;color:#d3b78d}.clock-colon{font:22px 'DM Sans',sans-serif;color:#d7b676;padding-bottom:13px;animation:clock-tick 2s steps(1,end) infinite}.countdown-message{min-width:210px;text-align:right;font-size:8px;letter-spacing:1.6px;color:#dbc095;line-height:1.7}.countdown-finished .clock-colon{animation:none}body{padding-top:86px}main{padding-top:27px}.introduction{padding-bottom:18px}.introduction h1{margin-top:0}html{scroll-padding-top:106px}@keyframes clock-tick{50%{opacity:.35}}
@media(max-width:950px){.countdown-message{display:none}.countdown-bar{gap:15px}.countdown-event{min-width:0}.countdown-clock{gap:8px}}
@media(max-width:650px){.countdown-bar{min-height:86px;padding:12px 4vw;gap:8px}.countdown-city{font-size:10px;letter-spacing:2.5px}.countdown-date{font-size:8px;letter-spacing:.1px}.countdown-dot{margin:0 2px}.countdown-event{gap:7px}.countdown-clock{gap:4px}.clock-digits{min-width:31px;height:34px;padding:0 3px;font-size:23px;border-radius:3px}.clock-label{font-size:5px;letter-spacing:.7px}.clock-colon{font-size:16px;padding-bottom:10px}.countdown-unit{gap:4px}main{padding-top:22px}.introduction h1{font-size:37px}}
@media(max-width:370px){.countdown-bar{padding-left:3vw;padding-right:3vw}.countdown-date{font-size:7px}.clock-digits{min-width:27px;font-size:21px}.countdown-clock{gap:3px}.countdown-city{font-size:9px}}
@media(prefers-reduced-motion:reduce){.clock-colon{animation:none}}
/* Viewport layout: the sponsor strip always has its own space at the bottom. */
html,body{height:100%;overflow:hidden}body{height:100dvh;padding-top:86px}main{height:calc(100dvh - 86px);min-height:0;padding:13px 4vw 0;display:flex;flex-direction:column;overflow:hidden}.introduction{flex:none;padding:0 0 7px}.introduction h1{font-size:clamp(34px,4vw,59px);line-height:1.15;margin:0}.page-tabs{flex:none;width:min(100%,600px);gap:34px;margin:0 auto 12px}.page-tabs button{padding:8px 6px 10px}[data-panel]{flex:1;min-height:0;overflow:auto}#routePanel{display:flex;flex-direction:column;overflow:hidden}#routePanel[hidden]{display:none}.gallery{display:flex;flex-direction:column;flex:1;min-height:0;padding-top:5px;width:100%;margin:0 auto}.picture{flex:1;min-height:0;max-width:none;width:100%}.frame-outer,.frame-carved,.frame-bevel,.frame-liner{height:100%;min-height:0}.screen{height:100%;min-height:0;aspect-ratio:auto}.frame-carved{padding:12px}.frame-bevel{padding:7px}.frame-liner{padding:4px}.plaque{flex:none;margin:10px auto 0;padding:8px 34px;max-width:90%}.plaque-title{font-size:8px;letter-spacing:1.2px}.plaque-subtitle{font-size:10px;margin-top:4px}.sponsors{flex:none;width:100%;max-width:none;height:111px;margin:0 auto;padding:12px 0 9px;overflow:hidden}.sponsor-heading{margin:0 0 7px;font-size:16px;font-weight:600;letter-spacing:4px;color:#fff0d4;line-height:1.4}.sponsor-window{margin:0;overflow:hidden}.sponsor-logo{height:60px;width:155px;gap:0}.sponsor-logo img{filter:none!important;background:none!important;padding:0!important;border-radius:0!important;opacity:1;max-width:145px;max-height:55px;width:auto;height:auto;object-fit:contain}.sponsor-logo span{display:none}.sponsor-set{gap:38px;padding-right:38px}.sponsor-track{animation-play-state:running!important}.sponsor-window:hover .sponsor-track{animation-play-state:running}.pub-list{margin-top:18px;margin-bottom:20px}.signup-layout{margin-bottom:20px}.attendees-heading{margin-top:15px;margin-bottom:20px}#pubsPanel,#attendeesPanel{scrollbar-width:thin;scrollbar-color:#d9b77566 transparent;padding-right:5px}.hanging-hook{top:-14px}
@media(min-width:900px) and (max-height:850px){main{padding-top:12px;padding-bottom:0}.introduction{padding-bottom:3px}.introduction h1{font-size:42px}.page-tabs{margin-bottom:9px}.page-tabs button{padding-top:7px;padding-bottom:8px}.plaque{margin-top:8px;padding-top:6px;padding-bottom:6px}.sponsors{height:97px;padding-top:10px;padding-bottom:7px}.sponsor-heading{font-size:15px;margin-bottom:4px}.sponsor-logo{height:52px}.sponsor-logo img{max-height:47px}}
@media(max-width:650px){main{padding:16px 4vw 0}.introduction{padding:0 0 7px}.introduction h1{font-size:36px;line-height:1.15}.page-tabs{gap:25px;margin:0 auto 12px}.page-tabs button{padding:9px 4px}.frame-carved{padding:7px}.frame-bevel{padding:4px}.frame-liner{padding:3px}.plaque{margin-top:9px;padding:7px 20px;max-width:98%}.plaque-title{font-size:7px;letter-spacing:.7px}.plaque-subtitle{font-size:8px;margin-top:3px}.sponsors{height:100px;padding-top:12px;padding-bottom:10px}.sponsor-heading{font-size:14px;letter-spacing:3px;margin-bottom:7px}.sponsor-logo{height:50px;width:120px}.sponsor-logo img{max-width:110px;max-height:45px}.sponsor-set{gap:28px;padding-right:28px}.screen{min-height:0}.pub-list{margin-top:10px}.attendees-heading{margin-top:8px}.signup-layout{margin-bottom:20px}}
@media(max-height:650px){.introduction h1{font-size:32px}.introduction{padding-bottom:3px}.page-tabs{margin-bottom:8px}.page-tabs button{padding-top:6px;padding-bottom:7px}.sponsors{height:83px;padding:8px 0}.sponsor-heading{font-size:13px;margin-bottom:4px}.sponsor-logo{height:42px}.sponsor-logo img{max-height:38px}.plaque{padding-top:5px;padding-bottom:5px;margin-top:6px}.plaque-subtitle{display:none}.apple-play .play-hint{display:none}.apple-play{gap:7px;padding-top:20%}.apple-play .play-circle{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){.sponsor-track{animation:none}.sponsor-window{overflow-x:auto}}
/* Christmas pub mantel: evergreen, aged brass and a typeset clock. */
.festive-countdown{height:106px;min-height:106px;padding:30px 8vw 12px;background:radial-gradient(ellipse at 50% -50%,#a84137 0,transparent 70%),linear-gradient(105deg,#4e0d1b,#741a29 45%,#4e0d1b);border-bottom:3px double #bf995b;box-shadow:0 5px 18px #26071077;overflow:hidden}.festive-garland{position:absolute;top:0;left:0;right:0;width:100%;height:88px;pointer-events:none;opacity:.95}.garland-lights{filter:drop-shadow(0 0 5px #ffcf71);animation:garland-glow 4s ease-in-out infinite alternate}.countdown-event,.countdown-clock-wrap,.countdown-message{position:relative;z-index:1}.festive-countdown .countdown-event{gap:4px;min-width:285px}.festive-countdown .countdown-city{font:500 27px/1.1 'Mountains of Christmas',Georgia,serif;letter-spacing:.3px;color:#fff0ce;text-shadow:0 2px 1px #330813}.festive-countdown .countdown-date{font-size:8px;letter-spacing:1.1px;color:#ddc49a}.countdown-clock-wrap{display:flex;flex-direction:column;align-items:center;gap:3px}.clock-intro{font-size:7px;letter-spacing:3px;color:#e9cd9f}.festive-countdown .countdown-clock{gap:12px}.festive-countdown .clock-digits{font:600 34px/.9 'Cormorant Garamond',Georgia,serif;min-width:43px;height:31px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;letter-spacing:1px;color:#ffefca;text-shadow:0 2px 1px #330813}.festive-countdown .clock-digits:after{display:none}.festive-countdown .clock-label{font-size:6px;letter-spacing:1.5px;color:#d0ae75}.festive-countdown .countdown-unit{gap:2px}.festive-countdown .clock-colon{font:18px 'Cormorant Garamond',Georgia,serif;padding-bottom:10px;color:#bd985a}.festive-countdown .countdown-message{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:17px;letter-spacing:.4px;color:#ead5ae;min-width:285px}.festive-countdown .countdown-message:before{content:'✦';font-size:12px;margin-right:12px;color:#c4a16a}body{padding-top:106px}main{height:calc(100dvh - 106px)}html{scroll-padding-top:126px}@keyframes garland-glow{from{opacity:.65}to{opacity:1}}
@media(max-width:1100px){.festive-countdown{padding-left:7vw;padding-right:7vw}.festive-countdown .countdown-message{display:none}.festive-countdown .countdown-event{min-width:0}.festive-countdown .countdown-clock-wrap{margin-left:auto}.festive-countdown .countdown-city{font-size:25px}}
@media(max-width:650px){.festive-countdown{padding:29px 5vw 10px;height:104px;min-height:104px;gap:10px}.festive-garland{height:75px;opacity:.8}.festive-countdown .countdown-city{font-size:20px;max-width:155px}.festive-countdown .countdown-date{font-size:6px;letter-spacing:.3px;max-width:155px;white-space:normal;line-height:1.7}.festive-countdown .countdown-date .countdown-dot{margin:0 1px}.festive-countdown .countdown-clock{gap:4px}.festive-countdown .clock-digits{font-size:29px;min-width:27px;height:27px}.clock-intro{font-size:5px;letter-spacing:1.5px}.festive-countdown .clock-label{font-size:5px;letter-spacing:.6px}.festive-countdown .clock-colon{font-size:13px;padding-bottom:9px}.countdown-clock-wrap{gap:5px}body{padding-top:104px}main{height:calc(100dvh - 104px)}}
@media(prefers-reduced-motion:reduce){.garland-lights{animation:none}}
.festive-garland-photo{position:absolute;top:-3px;left:0;width:100%;height:80px;object-fit:cover;object-position:center top;pointer-events:none;z-index:0;mask-image:linear-gradient(#000 0%,#000 63%,transparent 100%);opacity:.9}.festive-countdown{padding-top:40px;height:116px;min-height:116px}.festive-countdown .countdown-city{font-size:29px}.festive-countdown .countdown-message{font-size:15px}.festive-countdown .countdown-clock-wrap{padding:1px 20px 0;background:radial-gradient(ellipse,#4e0c1bd9,transparent 75%)}body{padding-top:116px}main{height:calc(100dvh - 116px)}.screen .native-map-film{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;background:#efe8db}.native-map-attribution{position:absolute;z-index:3;left:12px;bottom:10px;font:600 15px 'DM Sans',sans-serif;text-decoration:none;color:#353535;background:#fff9e8d9;padding:3px 7px;border-radius:3px}.journey-controls{bottom:45px}
@media(max-width:650px){.festive-countdown{height:114px;min-height:114px;padding:39px 5vw 10px}.festive-countdown .countdown-city{font-size:20px}.festive-garland-photo{width:100%;height:65px;object-fit:cover}.festive-countdown .countdown-clock-wrap{padding:0}.native-map-attribution{font-size:11px;left:8px;bottom:7px}.journey-controls{bottom:34px}body{padding-top:114px}main{height:calc(100dvh - 114px)}}
.festive-garland-photo{object-position:center 25%;height:87px;opacity:.85;mask-image:linear-gradient(#000 0%,#000 50%,transparent 100%)}.festive-countdown .countdown-message{display:none!important}.festive-countdown .countdown-clock-wrap{position:absolute;left:50%;transform:translateX(-50%);bottom:15px}.festive-countdown .clock-digits{font-size:39px;min-width:44px;height:35px}.native-map-attribution{background:#fff9e8;min-width:86px}
@media(max-width:650px){.festive-countdown .countdown-clock-wrap{position:relative;left:auto;bottom:auto;transform:none}.festive-countdown .clock-digits{font-size:29px;min-width:27px;height:27px}.festive-garland-photo{height:68px;object-position:center 23%}.native-map-attribution{min-width:68px}}

/* The event's single dress-code rule. */
#rulesPanel{padding:5px 0 0;scrollbar-width:thin;scrollbar-color:#d9b77566 transparent}.christmas-rule{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1120px;height:100%;min-height:340px;margin:0 auto;border:1px solid #dec184;padding:9px;background:#4e0c1b;box-shadow:0 12px 30px #29070b66}.rule-photo{margin:0;min-width:0;min-height:0;overflow:hidden;background:#23170f}.rule-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.rule-copy{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px clamp(24px,4vw,65px);color:#5c1724;background:#f1e7cf;border:1px solid #bd9a5e;overflow:hidden}.rule-copy .eyebrow{color:#815d34;font-size:10px;letter-spacing:2.3px;line-height:1.8;position:relative;margin:0 0 25px}.rule-number{font:400 clamp(90px,12vw,175px) 'Cormorant Garamond',Georgia,serif;color:#d7c599;line-height:.7;margin-bottom:25px}.rule-copy h2{font:500 clamp(31px,3.5vw,50px)/1.12 'Cormorant Garamond',Georgia,serif;max-width:440px;margin:0}.rule-copy h2 strong{font-weight:600;color:#a3192e}.rule-flourish{color:#a28449;font-size:24px;margin:25px 0 15px}.rule-inspiration{font:400 12px/1.7 'DM Sans',sans-serif;color:#816852;margin:0}.page-tabs{gap:clamp(15px,3vw,34px)}
@media(max-width:650px){.page-tabs{gap:17px}.christmas-rule{height:auto;min-height:100%;grid-template-columns:1fr;padding:6px}.rule-photo{height:260px}.rule-photo img{object-position:center 32%}.rule-copy{padding:28px 22px}.rule-copy .eyebrow{margin-bottom:16px;font-size:9px}.rule-number{font-size:76px;margin-bottom:15px}.rule-copy h2{font-size:33px;max-width:300px}.rule-flourish{margin:16px 0 10px}.rule-inspiration{font-size:11px}}

/* Balance visible white artwork, preserving each logo’s proportions. */
.sponsor-logo{--logo-scale:1}.sponsor-logo img{width:calc(var(--logo-width)*var(--logo-scale));height:auto;max-width:none;max-height:none}
.sponsor-asahi{--logo-width:71.19px}
.sponsor-budweiser{--logo-width:130.00px}
.sponsor-camden{--logo-width:50.65px}
.sponsor-carling{--logo-width:59.30px}
.sponsor-carlsberg{--logo-width:83.94px}
.sponsor-corona{--logo-width:80.83px}
.sponsor-cruzcampo{--logo-width:30.27px}
.sponsor-estrella{--logo-width:62.56px}
.sponsor-guinness{--logo-width:61.69px}
.sponsor-hawkstone{--logo-width:130.00px}
.sponsor-heineken{--logo-width:89.76px}
.sponsor-madri{--logo-width:86.82px}
.sponsor-moretti{--logo-width:54.13px}
.sponsor-peroni{--logo-width:91.02px}
.sponsor-sanmiguel{--logo-width:95.68px}
.sponsor-stella{--logo-width:74.52px}
@media(min-width:900px) and (max-height:850px){.sponsor-logo{--logo-scale:.88}}
@media(max-width:650px){.sponsor-logo{--logo-scale:.84}}
@media(max-height:650px){.sponsor-logo{--logo-scale:.72}}

.site-copyright{display:block;width:100%;max-width:none;flex:none;margin:0;padding:2px 12px 8px;text-align:center;color:#e3c79e;font:400 10px/1.4 'DM Sans',sans-serif;letter-spacing:.3px}@media(max-width:650px){.site-copyright{font-size:8px;letter-spacing:.1px;padding-bottom:7px}}
/* Give the sponsor strip and copyright their own breathing room. */
.sponsors{height:148px;padding:20px 0 16px}
.sponsor-heading{margin:0 0 18px}
.site-copyright{display:flex;justify-content:center;align-items:center;width:100%;max-width:none;margin:0;padding:12px 20px 16px;text-align:center}
@media(min-width:900px) and (max-height:850px){.sponsors{height:132px;padding:16px 0 12px}.sponsor-heading{margin-bottom:14px}.site-copyright{padding-top:10px;padding-bottom:14px}}
@media(max-width:650px){.sponsors{height:130px;padding:16px 0}.sponsor-heading{margin-bottom:14px}.site-copyright{font-size:9px;line-height:1.5;padding:10px 16px 14px}}
@media(max-height:650px){.sponsors{height:115px;padding:12px 0}.sponsor-heading{margin-bottom:12px}.site-copyright{padding-top:8px;padding-bottom:10px}}
/* Festive, deliberately non-legal small print. */
.terms-tab-short{display:none}
#termsPanel{padding:5px 0 0;scrollbar-width:thin;scrollbar-color:#d9b77566 transparent}
.festive-terms{max-width:1100px;margin:0 auto 18px;padding:38px 44px 32px;background:#f1e7cf;color:#5c1724;border:1px solid #d5b777;box-shadow:0 10px 25px #29070b55}
.terms-heading{text-align:center;border-bottom:1px solid #b7955544;padding-bottom:28px;margin-bottom:30px}
.terms-heading .eyebrow{font-size:9px;letter-spacing:2px;color:#896b3e;margin:0 0 10px}
.terms-heading h2{font:500 46px/1.1 'Cormorant Garamond',Georgia,serif;margin:0 0 13px}
.terms-intro{font:400 12px/1.8 'DM Sans',sans-serif;max-width:520px;margin:auto;color:#806653}
.terms-clauses{display:grid;grid-template-columns:1fr 1fr;gap:28px 45px;list-style:none;margin:0;padding:0}
.terms-clauses li{display:flex;gap:14px;align-items:flex-start;min-width:0}
.terms-number{font:500 28px/1 'Cormorant Garamond',Georgia,serif;color:#aa8c52;min-width:29px;padding-top:2px}
.terms-clauses h3{font:600 24px/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 8px}
.terms-clauses p{font:400 12px/1.85 'DM Sans',sans-serif;color:#715b4c;margin:0}
.terms-signoff{text-align:center;font:500 19px/1.5 'Cormorant Garamond',Georgia,serif;color:#7d2634;border-top:1px solid #b7955544;padding-top:26px;margin:30px 0 0}
.page-tabs{gap:22px}
@media(max-width:650px){.terms-tab-long{display:none}.terms-tab-short{display:inline}.page-tabs{gap:12px}.festive-terms{padding:28px 23px}.terms-heading h2{font-size:36px}.terms-heading .eyebrow{font-size:8px;letter-spacing:1.3px}.terms-clauses{grid-template-columns:1fr;gap:25px}.terms-clauses h3{font-size:24px}.terms-signoff{font-size:19px}}
nav.page-tabs{gap:22px}
@media(min-width:751px) and (max-height:850px){.festive-terms{padding:24px 32px}.terms-heading{padding-bottom:17px;margin-bottom:20px}.terms-heading h2{font-size:38px;margin-bottom:8px}.terms-heading .eyebrow{margin-bottom:7px}.terms-intro{font-size:11px}}
@media(max-width:650px){nav.page-tabs{gap:clamp(5px,2.2vw,10px)}}

/* Twelve festive calling cards: three columns, four rows on desktop. */
#pubsPanel{padding:0 5px 0 0;}
#pubsPanel .pub-list{width:100%;max-width:1560px;margin:8px auto 24px;padding:0 4px;}
#pubsPanel .itinerary-heading{margin:0 0 18px;text-align:center;}
#pubsPanel .itinerary-heading .eyebrow{font-size:8px;letter-spacing:2.3px;margin:0 0 5px;}
#pubsPanel .itinerary-heading h2{font:500 34px/1.1 'Cormorant Garamond',Georgia,serif;margin:0;color:#fff0ce;}
#pubsPanel .itinerary-summary{font-size:10px;margin:6px 0 0;color:#ecd8ba;}
#pubsPanel ol#itinerary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style:none;}
#pubsPanel li.pub-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 35%;gap:0;padding:0;min-height:190px;border:1px solid #d7bb7c;border-left:4px solid #285b43;border-radius:5px;background:#f4ead5;box-shadow:0 5px 13px #31071430;overflow:hidden;}
#pubsPanel li.pub-card:nth-child(even){border-left-color:#9b2739;}
#pubsPanel .pub-details{display:flex;flex-direction:column;min-width:0;padding:15px 12px 14px 15px;}
#pubsPanel .pub-heading{display:block;}
#pubsPanel .pub-meta{display:flex;align-items:center;gap:9px;margin-bottom:8px;}
#pubsPanel .number{display:grid;place-items:center;flex:none;width:27px;height:27px;border:1px solid #c8a667;border-radius:50%;background:#24533d;color:#ffefd0;font:500 17px/1 'Cormorant Garamond',Georgia,serif;}
#pubsPanel .pub-heading time{color:#933044;font:700 9px/1 'DM Sans',sans-serif;letter-spacing:1px;}
#pubsPanel .pub-heading h3{font:600 25px/1.02 'Cormorant Garamond',Georgia,serif;color:#542032;margin:0;text-wrap:balance;}
#pubsPanel .pub-details address{font:400 10px/1.6 'DM Sans',sans-serif;color:#78624f;margin:7px 0 13px;max-width:none;}
#pubsPanel .map-links{display:flex;flex-wrap:wrap;gap:8px 13px;margin:auto 0 0;padding-top:2px;}
#pubsPanel .map-links a{display:inline-flex;align-items:center;gap:4px;font:500 9px/1.4 'DM Sans',sans-serif;color:#38513f;letter-spacing:0;border:0;padding:0;text-decoration:none;white-space:nowrap;}
#pubsPanel .map-links a:hover{text-decoration:underline;text-underline-offset:3px;color:#9b2739;}
#pubsPanel .map-links a:focus-visible{outline:2px solid #9b2739;outline-offset:4px;border-radius:2px;}
#pubsPanel .map-links img{display:block;width:15px;height:15px;object-fit:contain;}
#pubsPanel .pub-photo{position:relative;margin:0;min-width:0;min-height:100%;border-left:1px solid #d4bb8e;background:#223e30;}
#pubsPanel .pub-photo>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;}
#pubsPanel .pub-photo::after{content:'';position:absolute;inset:6px;border:1px solid #fff3ce66;pointer-events:none;}
#pubsPanel .pub-photo-credits{margin:20px 0 0;text-align:center;font:400 9px/1.7 'DM Sans',sans-serif;color:#e6ceab;}
#pubsPanel .pub-photo-credits summary{cursor:pointer;letter-spacing:.5px;}
#pubsPanel .pub-photo-credits a{display:block;color:#ead6b6;margin-top:5px;}
@media(min-width:1600px){#pubsPanel .pub-details{padding:19px;}#pubsPanel .pub-heading h3{font-size:29px;}#pubsPanel li.pub-card{min-height:200px;}#pubsPanel .pub-details address{font-size:11px;}#pubsPanel .map-links a{font-size:10px;}}
@media(min-width:651px) and (max-width:1000px){#pubsPanel ol#itinerary{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){#pubsPanel .pub-list{padding:0;margin-top:3px;}#pubsPanel ol#itinerary{grid-template-columns:1fr;gap:12px;}#pubsPanel li.pub-card{min-height:182px;grid-template-columns:minmax(0,1fr) 35%;}#pubsPanel .pub-details{padding:14px 12px;}#pubsPanel .pub-heading h3{font-size:27px;}#pubsPanel .pub-details address{font-size:11px;}#pubsPanel .map-links a{font-size:10px;}#pubsPanel .itinerary-heading{margin-bottom:14px;}#pubsPanel .itinerary-heading h2{font-size:30px;}}

#pubsPanel .pub-meta::after{content:'';display:block;width:31px;height:22px;margin-left:auto;background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 30'%3E%3Cpath d='M23 21C4 25 11 12 1 11C12 10 12 0 23 4C17 9 28 10 23 21ZM23 20C23 4 34 13 39 3C37 15 46 18 39 26C35 19 29 30 23 20Z' fill='%23325d43'/%3E%3Cpath d='M10 15L24 22 36 16' fill='none' stroke='%23a3ad7e' stroke-width='1'/%3E%3Cg fill='%23a72b3b'%3E%3Ccircle cx='21' cy='22' r='3'/%3E%3Ccircle cx='27' cy='22' r='3'/%3E%3Ccircle cx='24' cy='27' r='3'/%3E%3C/g%3E%3C/svg%3E");}
#pubsPanel li:nth-child(2) .pub-photo>img,#pubsPanel li:nth-child(5) .pub-photo>img{object-position:50% 76%;}

/* Footer small print opens a dedicated, full-screen reading page. */
.site-copyright{flex-direction:column;gap:6px;}
.site-copyright a{font:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;text-align:center;text-decoration:none;}
.site-copyright a:hover{text-decoration:underline;text-underline-offset:3px;}
.site-copyright a:focus-visible{outline:1px solid currentColor;outline-offset:4px;}
body.terms-page-open #termsPanel{display:block;position:fixed;inset:0;z-index:20;overflow:auto;padding:45px 24px;background:#801527;background-image:radial-gradient(ellipse at 50% 0,#b6443e66,transparent 65%);scrollbar-width:thin;}
body.terms-page-open .christmas-countdown,body.terms-page-open .introduction,body.terms-page-open nav.page-tabs,body.terms-page-open .sponsors,body.terms-page-open .site-copyright{visibility:hidden;}
#termsPanel .festive-terms{width:100%;max-width:850px;min-height:calc(100dvh - 90px);margin:0 auto;padding:38px 60px 45px;border:1px solid #d5b777;box-shadow:0 16px 55px #26050f66;}
#termsPanel .terms-back{display:inline-block;margin:0 0 35px;color:#7b2939;font:500 11px/1.5 'DM Sans',sans-serif;text-decoration:none;}
#termsPanel .terms-back:hover{text-decoration:underline;text-underline-offset:4px;}
#termsPanel .terms-heading{padding-bottom:30px;margin-bottom:34px;}
#termsPanel .terms-heading h2{font-size:48px;}
#termsPanel .terms-clauses{display:grid;grid-template-columns:1fr;gap:27px;}
#termsPanel .terms-clauses li{gap:20px;}
#termsPanel .terms-clauses h3{font-size:27px;}
#termsPanel .terms-clauses p{font-size:13px;line-height:1.9;}
#termsTitle:focus{outline:none;}
@media(max-width:650px){body.terms-page-open #termsPanel{padding:16px 12px;}#termsPanel .festive-terms{padding:23px 24px 32px;min-height:calc(100dvh - 32px);}#termsPanel .terms-back{margin-bottom:28px;}#termsPanel .terms-heading h2{font-size:36px;}#termsPanel .terms-clauses li{gap:12px;}#termsPanel .terms-clauses h3{font-size:25px;}#termsPanel .terms-clauses p{font-size:12px;}}

/* Individually sewn felt labels, with woven fibres and inset thread. */
nav.page-tabs{display:flex;justify-content:center;align-items:center;gap:16px;width:max-content;max-width:100%;padding:4px 3px 5px;margin:0 auto 13px;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;}
:is(nav.page-tabs button,#termsPanel .terms-back){--felt:#28523e;--thread:#e4d5af;position:relative;isolation:isolate;min-width:122px;min-height:45px;padding:13px 24px;border:1px solid #152b2366;border-radius:3px;color:#f6e8c8;background-color:var(--felt);background-image:repeating-linear-gradient(0deg,#fff1d40b 0px,#fff1d40b .7px,transparent .7px,transparent 2.2px),repeating-linear-gradient(90deg,#00000013 0px,#00000013 .7px,transparent .7px,transparent 2.4px),linear-gradient(120deg,#ffffff0b,transparent 45%,#0000001c);box-shadow:0 1px 2px #24050b99,inset 0 0 0 1px #ffffff0d,inset 0 -1px 2px #0003;font:600 11px/1.3 'DM Sans',sans-serif;letter-spacing:.3px;text-shadow:0 1px 1px #0005;transform:none;transition:background-color .22s ease,color .22s ease,box-shadow .22s ease;}
:is(nav.page-tabs button,#termsPanel .terms-back):nth-of-type(even){--felt:#732739;transform:none;}
:is(nav.page-tabs button,#termsPanel .terms-back)::before{content:'';position:absolute;inset:4px;border:1px dashed var(--thread);border-radius:1px;opacity:.8;box-shadow:0 1px 0 #00000026;pointer-events:none;}
:is(nav.page-tabs button,#termsPanel .terms-back)::after{content:'';position:absolute;inset:1px;border:1px dotted #e5d5ac25;border-radius:2px;pointer-events:none;}
:is(nav.page-tabs button,#termsPanel .terms-back)[aria-selected=true]{--thread:#9c3b4b;background-color:#e8d7ad;color:#602237;border:1px solid #b99e6c;text-shadow:0 1px 0 #fff2cc77;box-shadow:0 1px 2px #24050b99,inset 0 0 0 1px #fff0c72b;}
:is(nav.page-tabs button,#termsPanel .terms-back):hover{color:#fff4db;box-shadow:0 1px 3px #24050baa,inset 0 0 0 1px #fff1c92b;}
:is(nav.page-tabs button,#termsPanel .terms-back)[aria-selected=true]:hover{color:#602237;}
:is(nav.page-tabs button,#termsPanel .terms-back):focus-visible{outline:2px solid #f5d89a;outline-offset:4px;}
@media(max-width:650px){nav.page-tabs{gap:9px;width:100%;padding:4px 0 5px;margin-bottom:12px;}:is(nav.page-tabs button,#termsPanel .terms-back){min-width:0;flex:1;min-height:42px;padding:12px 6px;font-size:10px;letter-spacing:0;}:is(nav.page-tabs button,#termsPanel .terms-back)::before{inset:4px;}}
@media(prefers-reduced-motion:reduce){:is(nav.page-tabs button,#termsPanel .terms-back){transition:none;}}

/* Clearer stop markers, generous map buttons and cumulative pub tallies. */
#pubsPanel .pub-list{margin-top:5px;}
#pubsPanel li.pub-card,#pubsPanel li.pub-card:nth-child(even){border:1px solid #d7bb7c;min-height:255px;}
#pubsPanel .pub-details{padding:16px;}
#pubsPanel .pub-meta{gap:8px;min-height:50px;margin-bottom:10px;}
#pubsPanel .pub-meta::after{display:none;}
#pubsPanel .number{width:37px;height:37px;border:1px solid #aa8649;background:#24513c;box-shadow:inset 0 0 0 3px #f8edce26;font:700 25px/1 'Mountains of Christmas',Georgia,serif;color:#fff0ce;}
#pubsPanel .pub-heading time{display:inline-block;flex:none;padding:7px 8px;border:1px solid #9d475955;border-radius:3px;background:#a8324510;font:700 12px/1 'DM Sans',sans-serif;letter-spacing:.4px;color:#85283c;text-transform:uppercase;}
#pubsPanel .beer-tally{display:flex;flex-wrap:wrap;justify-content:flex-end;align-content:center;gap:1px 2px;width:66px;flex:0 0 66px;margin-left:auto;}
#pubsPanel .beer-tally img{display:block;width:15px;height:20px;object-fit:contain;}
#pubsPanel .pub-heading h3{font:700 28px/1.14 'Mountains of Christmas',Georgia,serif;color:#672234;text-wrap:balance;}
#pubsPanel .pub-details address{font-size:11px;line-height:1.65;margin:9px 0 15px;}
#pubsPanel .map-links{gap:8px;margin-top:auto;padding-top:0;}
#pubsPanel .map-links a{display:inline-flex;justify-content:center;gap:6px;min-height:39px;padding:8px 10px;border:1px solid #c6b58e;border-radius:4px;background:#fff8e9;color:#3e4b3b;font:600 11px/1.3 'DM Sans',sans-serif;box-shadow:0 1px 2px #4c2a1310;}
#pubsPanel .map-links img{width:20px;height:20px;}
#pubsPanel .map-links a:hover{border-color:#984153;background:#f9edce;text-decoration:none;color:#7b2337;}
@media(min-width:1600px){#pubsPanel .pub-heading h3{font-size:30px;}#pubsPanel .map-links a{font-size:12px;padding:9px 12px;min-height:42px;}}
@media(max-width:650px){#pubsPanel .pub-details{padding:14px 12px;}#pubsPanel .pub-heading h3{font-size:27px;}#pubsPanel .beer-tally{width:60px;flex-basis:60px;gap:1px;}#pubsPanel .beer-tally img{width:14px;height:19px;}#pubsPanel .pub-heading time{font-size:11px;padding:7px 6px;}#pubsPanel .number{width:34px;height:34px;font-size:24px;}#pubsPanel .map-links a{font-size:11px;padding:8px;min-height:40px;}}

#pubsPanel .pub-details address span{display:block;}

/* The same Christmas wall and type used throughout the invitation. */
:root{--festive-wall-background:radial-gradient(ellipse at 50% -10%,#f2b37a22,transparent 62%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='100' viewBox='0 0 80 100'%3E%3Cg fill='none' stroke='%23edc18a' stroke-opacity='.10' stroke-width='.8'%3E%3Cpath d='M40 5C30 20 23 18 26 31C29 43 37 40 40 49C43 40 51 43 54 31C57 18 50 20 40 5ZM40 49C28 42 20 48 13 51C25 54 29 69 40 85C51 69 55 54 67 51C60 48 52 42 40 49ZM40 5V85M0 0L40 50L80 0M0 100L40 50L80 100'/%3E%3Cpath d='M40 20C34 31 34 39 40 49C46 39 46 31 40 20ZM24 52Q40 56 40 75Q40 56 56 52'/%3E%3C/g%3E%3C/svg%3E");}

body.terms-page-open #termsPanel{background-color:var(--wall);background-image:var(--festive-wall-background);}
#termsPanel .terms-heading h2{font-family:'Mountains of Christmas',Georgia,serif;font-weight:700;line-height:1.15;}
#termsPanel .terms-clauses h3{font-family:'Mountains of Christmas',Georgia,serif;font-weight:700;font-size:27px;line-height:1.2;}
#termsPanel .terms-number{font-family:'Mountains of Christmas',Georgia,serif;font-weight:700;}
#termsPanel .terms-signoff{font-family:'Mountains of Christmas',Georgia,serif;font-size:23px;font-weight:700;line-height:1.5;}
#termsPanel .terms-back{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-width:190px;margin:0 0 35px;}
#termsPanel .terms-back:hover{text-decoration:none;}
.terms-signature{width:350px;max-width:85%;margin:24px auto 0;}
.terms-signature img{display:block;width:100%;height:auto;}
@media(max-width:650px){#termsPanel .terms-clauses h3{font-size:25px;}#termsPanel .terms-signoff{font-size:21px;}#termsPanel .terms-back{margin-bottom:28px;}.terms-signature{width:285px;max-width:100%;margin-top:20px;}}

/* Christmas photo album, ready for the evening's pictures. */
#galleryPanel{min-height:0;overflow:auto;flex:1;padding:12px 0 20px;}
.event-gallery{width:min(600px,100%);margin:clamp(12px,4vh,48px) auto;padding:clamp(28px,5vh,50px) 28px;text-align:center;background:#f1e7cf;color:#5c1724;border:1px solid #d5b777;box-shadow:0 12px 30px #29070b44;}
.event-gallery svg{display:block;width:60px;height:60px;fill:none;stroke:#997b42;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:0 auto 20px;}
.event-gallery h2{font:700 44px/1.15 'Mountains of Christmas',Georgia,serif;margin:0 0 16px;}
.event-gallery p{font:500 14px/1.7 'DM Sans',sans-serif;margin:0;}
.event-gallery .gallery-note{font-weight:400;font-size:12px;color:#806653;margin-top:10px;}
@media(max-width:650px){nav.page-tabs{gap:6px;}nav.page-tabs button{padding:12px 5px;font-size:10px;white-space:nowrap;}.event-gallery h2{font-size:36px;}}

/* Compact cards with a single uninterrupted row of pints. */
#pubsPanel li.pub-card,#pubsPanel li.pub-card:nth-child(even){min-height:200px;}
#pubsPanel .pub-details{padding:12px;}
#pubsPanel .pub-meta{min-height:37px;margin-bottom:6px;}
#pubsPanel .beer-tally{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);align-items:center;gap:1px;width:auto;max-width:191px;min-width:0;flex:0 1 auto;margin-left:auto;}
#pubsPanel .beer-tally img{width:100%;max-width:15px;min-width:0;height:20px;object-fit:contain;}
#pubsPanel .pub-details address{margin:6px 0 10px;}
@media(max-width:650px){#pubsPanel .pub-meta{min-height:34px;}#pubsPanel .beer-tally img{max-width:14px;height:19px;}}

/* Hand-lettered terms headings and Santa's closing message. */
#termsPanel .terms-clauses h3,#termsPanel .terms-number,#termsPanel .terms-signoff{font-family:'Mervale Script',cursive;font-weight:400;}
#termsPanel .terms-clauses h3{font-size:30px;line-height:1.25;}
#termsPanel .terms-signoff{font-size:23px;line-height:1.45;text-wrap:balance;}
@media(max-width:650px){#termsPanel .terms-clauses h3{font-size:28px;}#termsPanel .terms-signoff{font-size:21px;}}

/* North Pole stationery: return link on the left, supplied letterhead on the right. */
.terms-letterhead{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:30px;}
#termsPanel .terms-letterhead .terms-back{flex:none;margin:0;}
.terms-letterhead-logo{display:block;width:210px;max-width:42%;height:auto;object-fit:contain;}
@media(max-width:650px){.terms-letterhead{gap:14px;margin-bottom:28px;}#termsPanel .terms-letterhead .terms-back{min-width:0;padding:12px 14px;max-width:56%;}.terms-letterhead-logo{width:160px;max-width:40%;}}

/* Let the scrolling pub cards fade smoothly into the sponsor wall. */
#pubsPanel{padding-bottom:48px;scroll-padding-bottom:48px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 48px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 48px),transparent 100%);}

.attendee-preview-note{margin:16px 0 0;padding:12px 14px;border:1px dashed #d8b66c88;background:#efd6a40d;color:#ead7b6;font:400 11px/1.7 'DM Sans',sans-serif;}
.attendee-preview-note strong{display:block;color:#f2dfb4;font-weight:600;}
.attendee-preview-note[hidden]{display:none;}
/* A full-width Christmas register with a three-column guest grid. */
#attendeesPanel{padding:0 5px 35px;scroll-padding-top:20px;}
#attendeesPanel .attendees-heading{max-width:1560px;margin:10px auto 24px;text-align:center;}
#attendeesPanel .attendees-heading h2{font:700 42px/1.15 'Mountains of Christmas',Georgia,serif;margin:8px 0;}
#attendeesPanel .signup-intro{margin:10px 0 0;font-size:12px;}
#attendeesPanel .signup-layout{display:flex;flex-direction:column;gap:26px;width:100%;max-width:1560px;margin:0 auto;}
#attendeesPanel .signup-card{width:100%;padding:25px 28px 20px;background:#f1e7cf;border:1px solid #d5b777;color:#5c1724;box-shadow:0 7px 20px #29070b33;}
.signup-card-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;}
#attendeesPanel .signup-card-heading .eyebrow{font-size:9px;color:#886b3d;letter-spacing:1.7px;margin:0;}
#attendeesPanel .signup-card h3{font:700 30px/1.15 'Mountains of Christmas',Georgia,serif;margin:0;order:-1;}
.signup-fields{display:grid;grid-template-columns:1fr 1fr 1.2fr auto;align-items:end;gap:18px;}
#attendeesPanel .signup-card label{margin:0 0 8px;font-size:11px;font-weight:600;}
#attendeesPanel .signup-card input,#attendeesPanel .signup-card select{background:#fff9ed;color:#5c2732;border:1px solid #c9b991;font-size:12px;padding:11px 12px;min-height:46px;color-scheme:light;}
#attendeesPanel .signup-card input::placeholder{color:#9a8574;}
#attendeesPanel .signup-card input:focus-visible,#attendeesPanel .signup-card select:focus-visible{outline:2px solid #397158;outline-offset:2px;}
#attendeesPanel .signup-submit{width:auto;min-width:170px;min-height:46px;padding:12px 22px;background:#28523e;color:#fff0d0;border:1px solid #17372c;outline:1px dashed #e4d5af99;outline-offset:-5px;border-radius:3px;}
#attendeesPanel .signup-submit:hover{background:#35664d;}
#attendeesPanel .signup-note{margin:15px 0 0;font-size:10px;color:#79604e;line-height:1.7;}
#attendeesPanel .signup-remove{color:#843047;margin:14px 0 0;border-color:#84304766;}
#attendeesPanel #signupStatus{color:#7c2837;margin:12px 0 0;}
#attendeesPanel .guest-list-heading{padding-bottom:15px;}
#attendeesPanel .guest-list-heading h3{font:700 30px/1.2 'Mountains of Christmas',Georgia,serif;}
#attendeesPanel .attendee-preview-note{margin:15px 0;font-size:10px;padding:10px 14px;}
.guest-list-surface{position:relative;margin-top:18px;min-height:250px;}
#attendeeList{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
#attendeesPanel .attendee-card{min-width:0;position:relative;display:flex;align-items:center;gap:14px;min-height:106px;padding:20px;background:#f1e7cf;border:1px solid #d5b777;border-radius:4px;box-shadow:0 4px 12px #29070b24;color:#5c1724;}
#attendeesPanel .guest-initial{width:47px;height:47px;font:700 22px/1 'Mountains of Christmas',Georgia,serif;background:#28523e;color:#f5e4bd;border:1px solid #b79b60;box-shadow:inset 0 0 0 3px #f1e7cf18;}
.guest-card-copy{min-width:0;flex:1;}
#attendeesPanel .attendee-card h4{font:700 23px/1.2 'Mountains of Christmas',Georgia,serif;margin:0 0 7px;}
#attendeesPanel .attendee-card p{font:400 10px/1.6 'DM Sans',sans-serif;color:#79604e;}
.guest-join-time{align-self:flex-start;flex:none;padding:5px 7px;border:1px solid #a64c5b55;border-radius:3px;color:#85283c;font:600 10px/1.3 'DM Sans',sans-serif;}
#attendeeList.is-locked{filter:blur(5px);opacity:.55;user-select:none;pointer-events:none;}
.guest-list-lock{position:absolute;z-index:1;left:50%;top:38px;transform:translateX(-50%);width:min(420px,90%);padding:24px 28px;text-align:center;background:#f5ecd9;border:1px solid #d5b777;box-shadow:0 10px 35px #330b1744;color:#5c1724;}
.guest-list-lock[hidden]{display:none;}.guest-lock-icon{font-size:22px;color:#a48a4e;}
.guest-list-lock h4{font:700 29px/1.2 'Mountains of Christmas',Georgia,serif;margin:10px 0;}
.guest-list-lock p{font:400 12px/1.7 'DM Sans',sans-serif;margin:0 0 17px;color:#79604e;}
#unlockGuestList{padding:11px 20px;background:#28523e;color:#f6e8c8;border:1px solid #17372c;outline:1px dashed #e4d5af99;outline-offset:-5px;border-radius:3px;font:600 11px/1.4 'DM Sans',sans-serif;cursor:pointer;}
@media(max-width:1000px){.signup-fields{grid-template-columns:1fr 1fr;}#attendeeList{grid-template-columns:repeat(2,minmax(0,1fr));}#attendeesPanel .signup-submit{width:100%;}}
@media(max-width:650px){#attendeesPanel .signup-card{padding:20px 18px;}.signup-card-heading{align-items:flex-start;flex-direction:column;gap:9px;}.signup-fields{grid-template-columns:1fr;gap:16px;}#attendeeList{grid-template-columns:1fr;}#attendeesPanel .attendees-heading h2{font-size:36px;}#attendeesPanel .attendee-card{min-height:100px;padding:17px;}.guest-list-lock{padding:22px 20px;}}

/* Keep the unlock invitation visible above the sponsor strip. */
.guest-list-lock{top:8px;padding:20px 26px;}
#attendeesPanel .attendee-preview-note strong{display:inline;margin-right:8px;}

.signup-field{min-width:0;}
/* Translucent glass for the attendee page, with the festive wall showing through. */
#attendeesPanel .signup-card,#attendeesPanel .attendee-card,.guest-list-lock{background:linear-gradient(135deg,#ffffff0e,#ffffff03),#5f0d1b66;border:1px solid #e4c99555;color:#f4e6c7;box-shadow:inset 0 1px 0 #fff0cc14,0 8px 24px #35091525;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);}
#attendeesPanel .signup-card-heading .eyebrow{color:#dcc097;}
#attendeesPanel .signup-card input,#attendeesPanel .signup-card select{background:#3c0b1a55;border-color:#dfc29966;color:#fff0d4;color-scheme:dark;box-shadow:inset 0 1px 5px #24081322;}
#attendeesPanel .signup-card input::placeholder{color:#d2b7a4;}
#attendeesPanel .signup-card input:focus-visible,#attendeesPanel .signup-card select:focus-visible{outline-color:#e9cc91;}
#attendeesPanel .signup-card select option{background:#571324;color:#fff0d4;}
#attendeesPanel .signup-note,#attendeesPanel .attendee-card p,.guest-list-lock p{color:#dfc8b3;}
#attendeesPanel .signup-remove,#attendeesPanel #signupStatus{color:#f0d6ad;}
#attendeesPanel .signup-remove{border-color:#e6c79b66;}
#attendeesPanel .guest-initial{background:#ead09c14;color:#f3d49e;border-color:#e8c99355;box-shadow:inset 0 1px 0 #fff4d51a;}
#attendeesPanel .guest-join-time{background:#f1dbb00c;border-color:#d9b87966;color:#f1d5a8;}
.guest-list-lock{background:linear-gradient(135deg,#ffffff0c,#ffffff03),#5f1022db;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);}
.guest-lock-icon{color:#e2c58d;}
#attendeeList.is-locked{opacity:.7;}
/* One consistent chevron, centred inside the pub selector with space for its text. */
#attendeesPanel .signup-card select{appearance:none;-webkit-appearance:none;display:block;width:100%;height:46px;line-height:22px;padding:11px 44px 11px 14px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ead3a8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px 16px;text-overflow:ellipsis;cursor:pointer;}
#attendeesPanel .signup-card select:hover{border-color:#e7cb97aa;}
#attendeesPanel .signup-card select option{font:400 13px/1.6 'DM Sans',sans-serif;padding:10px 14px;}

/* Match the pub-list fade and give the guest register its own bold lettering. */
#attendeesPanel{padding-bottom:48px;scroll-padding-bottom:48px;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 48px),transparent 100%);mask-image:linear-gradient(to bottom,#000 0,#000 calc(100% - 48px),transparent 100%);}
#attendeesPanel .attendee-card h4{font:400 25px/1.2 'Londrina Solid',sans-serif;letter-spacing:.2px;}
#attendeesPanel .guest-initial{font:400 24px/1 'Londrina Solid',sans-serif;letter-spacing:.4px;}
#attendeesPanel .attendee-card p{font-size:12px;line-height:1.6;}
/* Little sewn green patches, topped with Santa's hat. */
#attendeesPanel .guest-initial{position:relative;isolation:isolate;overflow:visible;width:48px;height:48px;border-radius:50%;border:1px solid #153c2c;background-color:#28583f;background-image:repeating-linear-gradient(0deg,#fff1d40b 0px,#fff1d40b .7px,transparent .7px,transparent 2.2px),repeating-linear-gradient(90deg,#00000016 0px,#00000016 .7px,transparent .7px,transparent 2.4px),linear-gradient(120deg,#ffffff0d,transparent 45%,#00000022);color:#f6e7c3;box-shadow:0 2px 4px #24050b55,inset 0 0 0 1px #ffffff0c;font:400 24px/1 'Londrina Solid',sans-serif;letter-spacing:.4px;text-shadow:0 1px 1px #0005;}
#attendeesPanel .guest-initial::before{content:'';position:absolute;inset:4px;border:1px dashed #e5d2a5b8;border-radius:50%;pointer-events:none;}
#attendeesPanel .guest-initial::after{content:'';position:absolute;z-index:1;top:-27px;left:-6px;width:58px;height:44px;background:url('guest-santa-hat.svg') center/contain no-repeat;transform:rotate(-13deg);transform-origin:50% 85%;filter:drop-shadow(0 2px 1px #300d1b33);pointer-events:none;}

/* One clean seam per navigation patch, without fractional rotated borders. */
:is(nav.page-tabs button,#termsPanel .terms-back)::before{inset:5px;border-radius:2px;box-shadow:none;transform:none;}
:is(nav.page-tabs button,#termsPanel .terms-back)::after{display:none;}

/* A compact signup panel above the full-width guest list. */
#attendeesPanel .signup-card{max-width:820px;align-self:center;}
#attendeesPanel .signup-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;}
@media(max-width:760px){#attendeesPanel .signup-fields{grid-template-columns:repeat(2,minmax(0,1fr));}#attendeesPanel .signup-submit{grid-column:1/-1;}}
@media(max-width:650px){#attendeesPanel .signup-fields{grid-template-columns:minmax(0,1fr);}}

/* Centre the signup panel and its title above the public guest register. */
#attendeesPanel .signup-card{margin-inline:auto;}
#attendeesPanel .signup-card-heading{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;}

.sponsor-heading{font-family:'Londrina Solid',sans-serif;font-weight:400;}
