@font-face{font-family:OldWorld;src:url(fell.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}
@font-face{font-family:Companion;src:url(cormorant-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:block}
@font-face{font-family:Ledger;src:url(ledger.woff2) format("woff2");font-weight:700;font-style:normal;font-display:block}
:root{--ink:#0a0c0a;--paper:#e5ddc9;--muted:#bfb59e;--gold:#ad9664;--rule:#514b3a;--display:OldWorld,serif;--body:Companion,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px;font-family:var(--body)}body{margin:0;background:var(--ink);color:var(--paper);font:italic 500 22px/1.4 var(--body);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}body:after{content:"";position:fixed;inset:0;background:url(grain.png);opacity:.055;z-index:80;pointer-events:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-style:normal;font-weight:400;line-height:1.05;letter-spacing:.015em}h2{font-size:54px}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit;border-radius:0}button{font-family:var(--display);font-style:normal;font-weight:400;cursor:pointer;background:none;border:0;line-height:1.15;letter-spacing:.025em}button:disabled{cursor:default;opacity:.25}input{background:transparent;border:0;border-bottom:1px solid var(--rule);padding:12px 0;min-width:0}input::placeholder{color:var(--muted);opacity:.8}a,button,input,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:1px solid var(--paper);outline-offset:5px}button:hover:not(:disabled),a:hover{color:#fff5dc}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.action,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font-size:22px;color:var(--paper);background:transparent}.action:hover,.button:hover{border-color:var(--gold)}.quiet-action{padding:12px 0;border-bottom:1px solid var(--rule);font-size:20px}.scene{min-height:100svh;padding:85px 6%;position:relative}header{position:absolute;z-index:3;top:0;left:0;right:0;padding:30px 6%}.brand{font:400 27px/1.2 var(--display);font-variant:small-caps;letter-spacing:.035em}
.story{display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;isolation:isolate}.story:after{content:"";position:absolute;inset:0;background:#050905;opacity:.38;z-index:-1}.story-forest{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;filter:brightness(.5) saturate(.5);z-index:-2;will-change:transform}.story-content{position:relative;max-width:1000px}.story h1{font-size:clamp(90px,10vw,150px);line-height:.92;letter-spacing:.025em;margin-bottom:35px}.story-content>p{font-size:26px;line-height:1.4}.story .date-place{font-size:22px;margin-top:30px;color:var(--muted)}.story-link{position:absolute;bottom:38px;font-size:22px;border-bottom:1px solid #9b8b65;padding:7px 0}
.roles{display:flex;flex-direction:column;justify-content:center;background:#10130f}.roles>h2{text-align:center;margin-bottom:45px}.role-rail{position:relative;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;overflow:visible;padding:12px 0 20px;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;touch-action:pan-x pan-y}.role-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:350px;padding:16px 10px 20px;border:1px solid #414434;text-align:center;letter-spacing:0;user-select:none;scroll-snap-align:start;transition:border-color .2s,transform .2s}.role-card img{width:100%;height:190px;object-fit:contain;pointer-events:none;margin-bottom:20px}.role-card h3{font-size:24px;line-height:1.12;margin:auto 0 0;letter-spacing:0}.role-number{position:absolute;left:10px;top:9px;font:400 14px var(--display);color:var(--muted)}.role-chosen{display:none;position:absolute;right:9px;top:9px;font:italic 500 15px var(--body);color:var(--paper)}.role-card.selected{border:1px solid #cfb575;box-shadow:inset 0 0 0 3px #0a0c0a,inset 0 0 0 4px #776746;background:#1a1e15}.role-card.selected .role-chosen{display:block}.role-card.selected img{filter:brightness(1.2)}.role-card:hover{transform:translate3d(0,-4px,0);border-color:#a59772}.role-carousel-controls{display:flex;gap:28px;justify-content:flex-end;margin-bottom:12px}.role-carousel-controls button{border-bottom:1px solid var(--rule);padding:8px 0;font-size:20px}.role-rail.is-dragging{scroll-snap-type:none;cursor:grabbing}.role-rail.is-dragging .role-card{pointer-events:none;transform:none}
.alibi{margin-top:45px;padding-top:35px;border-top:1px solid var(--rule);display:grid;grid-template-columns:.7fr 1fr;gap:8%;align-items:center}#character-form label{display:block;margin-bottom:4px;color:var(--muted);font-size:21px}.name-row{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.name-row input{width:100%;font-size:25px}#character-feedback{font-size:19px;color:var(--muted);margin-top:12px}.alibi-output{text-align:center;min-width:0}.alibi-output>.quiet-action{margin-top:20px}
.camp{display:flex;flex-direction:column;justify-content:center;background:#0d110d}.camp>h2{text-align:center;margin-bottom:25px}.camp-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,1fr);gap:5%;align-items:center}.map-drawing{min-width:0}#camp-svg{display:block;width:100%;height:auto;max-height:620px}.map-node{cursor:pointer;outline:none}.map-node use{fill:none;stroke:#baaa7f;stroke-width:1.5;transition:stroke .2s}.map-node text.map-place-name{font:400 27px var(--display);fill:#d5c8a8;stroke:#0d110d;stroke-width:7px;paint-order:stroke;stroke-linejoin:round}.map-node text.map-place-note{font:italic 500 20px var(--body);fill:#b0a58b;stroke:none}.map-node:hover use,.map-node:focus-visible use,.map-node.is-selected use{stroke:#f0d18f;stroke-width:2}.map-node.is-selected .map-place-name,.map-node:focus-visible .map-place-name{fill:#fff0cc}.map-node:focus-visible .map-hit{stroke:#bba26c;stroke-width:1;stroke-dasharray:3 6}.map-water-label{font:italic 500 20px var(--body);fill:#a49d83;stroke:none}.mobile-path{display:none}.place-panel{min-width:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:20px 0}.place-image-wrap{position:relative;height:225px;margin-bottom:24px;overflow:hidden}.place-image-wrap>img{width:100%;height:100%;object-fit:contain}.place-panel.is-room .place-image-wrap>img{object-fit:cover;filter:brightness(.78) saturate(.55)}.place-description h3{font-size:42px;line-height:1.05}.place-description{min-height:154px}#place-details{display:flex;flex-wrap:wrap;align-items:baseline;gap:18px;margin-top:12px}.chip-amount{font:700 39px/1 Ledger,serif;font-variant-numeric:lining-nums tabular-nums}.capacity{font:700 25px/1 Ledger,serif;font-variant-numeric:lining-nums}#place-note{font-size:21px;color:var(--muted);margin-top:10px}.place-panel>.action{width:100%;margin-top:10px}.choose-another{display:none}.entry-only{display:flex;align-items:center;justify-content:center;gap:45px;border-top:1px solid #35382c;margin-top:35px;padding-top:25px}.entry-only>span{display:flex;align-items:baseline;gap:20px;font-size:25px}.entry-only strong{font:700 34px/1 Ledger,serif;font-variant-numeric:lining-nums}.entry-only .action{font-size:22px}
.closing{padding-top:65px;padding-bottom:28px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:#10120e}.dress-window{width:100%;overflow:hidden;margin-bottom:30px}.dress-strip{display:flex;gap:22px;width:max-content;will-change:transform}.dress-strip img{width:calc((96vw - 66px)/4);height:210px;object-fit:cover;filter:brightness(.65) saturate(.35)}.dress-line{font-size:25px;text-align:center}.mobile-break{display:none}.closing-date{font-size:22px;color:var(--muted);text-align:center;margin-top:20px}.closing-questions{margin:45px auto 30px;width:100%;max-width:780px}.closing-questions h2{font-size:34px;text-align:center;margin-bottom:24px}.closing-questions details{border-top:1px solid #454835}.closing-questions details:last-child{border-bottom:1px solid #454835}.closing-questions summary{font-family:var(--display);font-style:normal;font-size:23px;padding:18px 0;cursor:pointer;list-style:none}.closing-questions summary::-webkit-details-marker{display:none}.closing-questions details p{font-size:21px;color:var(--muted);padding-bottom:22px;max-width:650px}footer{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;margin-top:auto;padding-top:30px;font-family:var(--display);font-style:normal;font-size:22px}footer .quiet-action{font-size:19px}
/* The aperture is alive; the typography waits for the actual local font faces. */
.gate{position:fixed;inset:0;z-index:100;background:#080a08;isolation:isolate;overflow:hidden;--gate-x:0px;--gate-y:0px}.gate:after{content:"";position:absolute;inset:0;background:url(grain.png);opacity:.055;z-index:5;pointer-events:none}.gate-presenter{position:absolute;top:7svh;width:100%;text-align:center;font:400 24px/1.2 var(--display);opacity:0;letter-spacing:.02em}.gate-presenter span{font:italic 500 23px var(--body);color:var(--muted);margin-left:5px}.gate-title{position:absolute;top:21%;left:3%;width:94%;text-align:center;font-size:clamp(50px,10vw,150px);opacity:0;pointer-events:none}.gate-center{position:absolute;left:50%;top:60%;width:340px;max-width:calc(100% - 48px);transform:translate(-50%,-50%)}.gate-aperture{position:relative;z-index:2;width:56px;height:112px;margin:0 auto 95px;transform:translate3d(var(--gate-x),var(--gate-y),0);transition:transform .35s ease-out}.keyhole{position:relative;width:56px;height:112px;clip-path:path("M28 0 C-2 0 -9 40 15 52 L7 112 L49 112 L41 52 C65 40 58 0 28 0 Z");transform:scale(1.6);transform-origin:50% 26%;isolation:isolate}.keyhole-forest{position:absolute;inset:-70px;background:url(forest.jpg) 50% 48%/700px;filter:brightness(.68) saturate(.48)}.keyhole-fire{position:absolute;inset:0;background:#ad6930;mix-blend-mode:screen;opacity:.08}.gate form{position:relative;z-index:3;display:flex;gap:18px;opacity:0;align-items:center}.gate input{font:400 25px/1.1 var(--display);width:100%;padding:14px 0}.gate button{font:400 24px/1 var(--display);border:0;border-top:1px solid #7b6f52;border-bottom:1px solid #7b6f52;min-height:49px;padding:12px 15px}.gate #gate-feedback{font:italic 500 20px/1.3 var(--body);min-height:26px;margin-top:15px;text-align:center;color:var(--muted)}.gate.is-ready .gate-presenter{animation:typeIn .7s ease-out both}.gate.is-ready .gate-title{animation:titleIn 1.2s .2s ease-out both}.gate.is-ready form{animation:typeIn .7s .4s ease-out both}.gate:not(.is-ready) .gate-aperture{opacity:0}.gate:not(.font-ready) .gate-presenter,.gate:not(.font-ready) .gate-title,.gate:not(.font-ready) form{visibility:hidden}.gate.is-ready:not(.is-opening) .keyhole-forest{animation:forestDrift 14s ease-in-out infinite alternate}.gate.is-ready:not(.is-opening) .keyhole-fire{animation:firelight 4.8s ease-in-out infinite}.gate form.is-rejected{animation:whisperNo .34s ease-out both}.gate form.is-rejected input{border-color:#956953}.gate.is-opening .gate-presenter,.gate.is-opening .gate-title,.gate.is-opening form,.gate.is-opening #gate-feedback{animation:none;opacity:0;transition:opacity .18s}.gate.is-opening .gate-aperture{transform:none;transition:none}.gate.is-opening .keyhole{visibility:hidden}.gate.is-opening{animation:dissolve 1.2s linear both}.gate-portal-scene{position:absolute;inset:0;z-index:4;background:url(forest.jpg) center/cover;filter:brightness(.43) saturate(.4);clip-path:url(#gate-zoom-clip);pointer-events:none}#gate-zoom-mask{transform-origin:0 0}
@keyframes typeIn{from{opacity:0;transform:translate3d(0,8px,0)}to{opacity:1;transform:translate3d(0,0,0)}}@keyframes titleIn{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:.16;transform:translate3d(0,0,0)}}@keyframes forestDrift{from{transform:translate3d(-8px,4px,0) scale(1.12)}to{transform:translate3d(8px,-5px,0) scale(1.16)}}@keyframes firelight{0%,100%{opacity:.06}18%{opacity:.12}24%{opacity:.075}42%{opacity:.13}48%{opacity:.09}77%{opacity:.115}}@keyframes whisperNo{0%,100%{opacity:1;transform:translate3d(0,0,0)}25%,65%{opacity:1;transform:translate3d(-4px,0,0)}45%,85%{opacity:1;transform:translate3d(4px,0,0)}}@keyframes dissolve{0%,72%{opacity:1}100%{opacity:0}}
dialog{background:#11150f;color:var(--paper);border:1px solid #76694c;padding:55px 30px 30px;width:490px;max-width:calc(100% - 32px)}dialog::backdrop{background:#000d;backdrop-filter:blur(6px)}dialog h2{font-size:38px;line-height:1.1}dialog p{margin:20px 0;font-size:23px}.dialog-note{color:var(--muted);font-size:20px}#close-dialog{position:absolute;right:20px;top:15px;font-size:20px}#dialog-done{width:100%;margin-top:12px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,15px);opacity:0;z-index:90;background:#e5ddc9;color:#28251d;padding:10px 20px;pointer-events:none;font-size:20px;transition:opacity .2s,transform .2s}#toast.shown{opacity:1;transform:translate(-50%,0)}
@media(max-width:1099px){.role-rail{display:flex;overflow-x:auto;overflow-y:hidden;gap:15px;padding:12px 2px 20px;cursor:grab}.role-card{flex:0 0 calc((100% - 20px)/1.3);min-height:340px;padding:20px}.role-card img{height:220px}.role-card h3{font-size:28px}.camp-layout{grid-template-columns:1.4fr 1fr;gap:25px}.place-description h3{font-size:34px}.place-image-wrap{height:200px}}
@media(max-width:699px){h2{font-size:43px;line-height:1.1}.scene{padding:65px 22px}header{padding:28px 22px;text-align:center}.brand{font-size:25px}.story h1{font-size:78px;margin-bottom:30px}.story-content>p{font-size:24px;line-height:1.4}.story .date-place{font-size:21px;max-width:300px;margin:28px auto 0}.story-link{bottom:35px;font-size:22px}.roles>h2{margin-bottom:25px}.role-card h3{font-size:27px}.role-card img{height:220px}.alibi{grid-template-columns:1fr;gap:32px;margin-top:25px;padding-top:25px}.camp-layout{display:block}.camp>h2{margin-bottom:12px}#camp-svg{max-height:none}.map-node text.map-place-name{font-size:33px;stroke-width:8px}.map-node text.map-place-note{font-size:22px}.mobile-path{display:block}.desktop-path{display:none}.place-panel{margin-top:15px;padding:24px 0}.place-image-wrap{height:240px}.place-description{min-height:145px}.place-description h3{font-size:39px}.place-panel>.action{margin-top:8px}.choose-another{display:block;font-size:21px;text-align:center;margin-top:18px;color:var(--muted)}.entry-only{gap:22px;margin-top:28px;padding-top:25px;justify-content:space-between}.entry-only>span{gap:12px;font-size:23px}.entry-only strong{font-size:32px}.entry-only .action{padding:12px 10px;font-size:21px}.closing{padding:45px 22px 25px}.dress-window{margin-bottom:28px}.dress-strip{gap:14px}.dress-strip img{width:220px;height:190px}.dress-line{font-size:23px;max-width:340px}.mobile-break{display:block}.closing-date{font-size:21px;max-width:300px}.closing-questions{margin:35px auto 25px}.closing-questions h2{font-size:31px;margin-bottom:22px}.closing-questions summary{font-size:23px}.closing-questions details p{font-size:21px}footer{font-size:20px;flex-direction:column;gap:12px;padding-top:20px}.gate-presenter{font-size:23px;top:7svh}.gate-presenter span{font-size:22px}.gate-title{top:23%;font-size:53px}.gate-center{top:60%;width:320px}.gate-aperture{margin-bottom:85px}.gate input{font-size:24px}.gate button{font-size:24px;padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.gate.is-ready .gate-presenter,.gate.is-ready form{opacity:1}.gate.is-ready .gate-title{opacity:.16}.role-card:hover{transform:none}}

@media(max-width:699px){.camp>h2{order:0}.camp>.entry-only{order:1;margin:12px 0 18px;padding:15px 0;border-top:0;border-bottom:1px solid #35382c}.camp>.camp-layout{order:2}}

/* v11: the hosts' two houses and a ledger-worthy booking form. */
.house-moment{padding:15px 0 105px;text-align:center}.house-moment h2{font-size:53px}.house-reserved{margin:12px 0 36px;color:var(--muted);font-size:24px}.house-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1120px;margin:auto}.house-pair figure{margin:0;min-width:0}.house-engraving{height:330px;position:relative;overflow:hidden}.house-engraving img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(.65)}.house-pair h3{font:400 36px var(--display);margin-top:20px}.house-pair figcaption p{font-size:24px;color:var(--muted)}.hideout-story{text-align:center;font-size:26px;line-height:1.35;color:var(--muted);margin:0 0 28px}.map-landmark use{fill:none;stroke:#cfb47e;stroke-width:1.7}.map-landmark .map-place-name{font:400 27px var(--display);fill:#e3cf9d;stroke:#0d110d;stroke-width:7px;paint-order:stroke}.map-landmark .map-place-note{font:italic 500 18px var(--body);fill:#b8ac8d}.map-status{font:italic 500 22px var(--body);fill:#bb9474;stroke:none}.map-node.is-taken use{opacity:.4}.map-node.is-taken .map-place-name{fill:#9f927a}#heart-connection{stroke:#bda171;stroke-width:1.7;stroke-dasharray:3 5}#heart-connection-shadow{stroke:#bda171;stroke-width:10;opacity:.07}.capacity{font-size:36px}.entry-only{justify-content:center}.dress-title{margin-bottom:22px}.closing-questions summary:after{content:"Open";float:right;font:italic 500 19px var(--body);color:var(--muted)}.closing-questions details[open] summary:after{content:"Close"}
#booking-dialog{width:min(700px,calc(100vw - 36px));max-height:90svh;padding:38px;color:var(--paper);background:#14170f;border:1px solid #766649;overflow-y:auto}#booking-dialog h2{font-size:44px;margin:25px 0 16px}#booking-dialog p{font-size:23px}#close-booking{display:block;margin-left:auto;font-size:21px}#booking-dialog input{width:100%;min-width:0;display:block;background:#0c100b;border:1px solid #5b5742;color:#e4d8b9;padding:10px 12px;font:400 21px var(--display);border-radius:0}#booking-dialog label{display:block;margin:12px 0 5px;font-size:22px}#booking-dialog fieldset{border:1px solid #514e39;padding:15px 22px 24px;margin:25px 0;min-width:0}#booking-dialog legend{font:400 25px var(--display);padding:0 8px}.crew-label{margin-top:30px}.crew-stepper{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0}.crew-stepper button{border-bottom:1px solid #7e7051;padding:10px;font-size:23px}.crew-stepper output{font:700 45px Ledger,serif}.request-contribution{margin:24px 0}.request-contribution strong{font:700 36px Ledger,serif}.booking-form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:25px}#booking-feedback{color:#d9aa84;margin-top:15px}#booking-dialog .website-field{display:none}.booking-privacy{color:var(--muted)}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}
@media(max-width:699px){.house-moment{padding:0 0 65px}.house-moment h2{font-size:40px}.house-reserved{font-size:22px}.house-pair{grid-template-columns:1fr;gap:35px}.house-engraving{height:240px}.house-pair h3{font-size:33px}.hideout-story{font-size:23px}.map-landmark .map-place-name{font-size:31px}.map-landmark .map-place-note{font-size:22px}.map-status{font-size:27px}.capacity{font-size:34px}#booking-dialog{padding:22px 20px}#booking-dialog h2{font-size:37px}#booking-dialog fieldset{padding:12px 15px 20px}.entry-only .action{padding:14px 30px}}
@media(min-width:700px){#booking-dialog .guest-field{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 14px;padding:10px 18px 18px;margin:15px 0}#booking-dialog .guest-field label{grid-row:1;margin-top:0}#booking-dialog .guest-field input{grid-row:2}#booking-dialog .guest-field label:nth-of-type(1),#booking-dialog .guest-field input:nth-of-type(1){grid-column:1}#booking-dialog .guest-field label:nth-of-type(2),#booking-dialog .guest-field input:nth-of-type(2){grid-column:2}#booking-dialog .guest-field label:nth-of-type(3),#booking-dialog .guest-field input:nth-of-type(3){grid-column:3}#booking-dialog .lead-contact{margin:15px 0}#booking-dialog{padding:25px 30px}#booking-dialog h2{margin-top:8px}#booking-dialog .booking-privacy{font-size:20px}}
/* v12: admission and accommodation are two separate chapters. */
.action,.button{background:#cbb47b;color:#171b11;border:1px solid #e2cd98;box-shadow:inset 0 0 0 2px #b39a63;min-height:54px;padding:14px 26px;font-size:23px}.action:hover:not(:disabled),.button:hover:not(:disabled){color:#0a0c08;background:#e2cd98;border-color:#f2dfb0}.action:disabled,.button:disabled{background:#665f46;color:#c7bea6;box-shadow:none;border-color:#77705a;opacity:.65}.secondary,.quiet-action,#close-booking,#booking-back,.role-carousel-controls button{background:transparent;color:var(--paper);border:1px solid #817656;box-shadow:none;min-height:46px;padding:10px 18px}.quiet-action:hover,#close-booking:hover,#booking-back:hover{border-color:#e2cd98}.gate .button{background:#cbb47b;color:#171b11;border:1px solid #e2cd98}.chapter-label{text-align:center;font:italic 500 24px var(--body);color:#bbac87;margin-bottom:15px}.chip-chapter{background:#14180f;padding-top:80px;padding-bottom:0;min-height:auto}.chip-intro{max-width:1120px;margin:auto;text-align:center}.chip-intro>h2{font-size:58px}.chip-subtitle{color:var(--muted);font-size:25px;margin:15px 0 34px}.crew-marker{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 225px;color:#302d20;background:#d9cfaf url(grain.png);border:1px solid #a69262;box-shadow:0 18px 55px #0005;clip-path:polygon(0 0,100% 0,100% 44%,98.5% 48%,98.5% 52%,100% 56%,100% 100%,0 100%,0 56%,1.5% 52%,1.5% 48%,0 44%);text-align:center}.chip-paper{padding:25px 36px 20px;outline:1px solid #8e7b52;outline-offset:-12px}.chip-topline{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #8e7b52;padding-bottom:13px;font:400 22px var(--display)}.chip-topline>span:last-child{font:italic 500 20px var(--body)}.chip-title{font:400 41px var(--display);margin:18px 0 6px}.chip-venues{display:grid;grid-template-columns:1fr 35px 1fr;align-items:center;gap:14px}.chip-building{width:100%;max-width:170px;height:90px;display:block;margin:0 auto 2px;opacity:.9}.chip-venues small{display:block;font:italic 500 23px var(--body)}.chip-venues h3{font-size:30px;line-height:1.15;margin-top:3px}.chip-join{font:400 31px var(--display);color:#75633d}.chip-dateline{font:italic 500 21px var(--body);margin-top:22px;border-top:1px solid #9b8961;padding-top:12px}.chip-note{border-left:1px dashed #7f704f;padding:30px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.chip-note:before{content:"";position:absolute;inset:12px;border:1px solid #9b8961;pointer-events:none}.chip-note>span:first-child{font:400 29px var(--display);font-variant:small-caps}.chip-note strong{font:700 68px/1.1 Ledger,serif;font-variant-numeric:lining-nums;margin:18px 0 0}.chip-note em{font-size:25px}.stub-year{font:700 35px Ledger,serif;margin-top:35px;letter-spacing:.08em}.chip-arrangement{display:flex;gap:40px;align-items:center;justify-content:space-between;max-width:820px;margin:32px auto 0;text-align:left}.chip-quantity>label{font-size:23px;color:var(--muted);display:block;margin-bottom:12px}.crew-stepper{display:grid;grid-template-columns:58px 70px 58px;gap:14px;justify-content:center;align-items:center;margin:22px auto 28px;width:max-content;max-width:100%}.crew-stepper button{display:flex;align-items:center;justify-content:center;width:58px;height:58px;padding:0;background:#151a10;color:#f3e8cd;border:1px solid #b4a274;box-shadow:none;font:400 37px/1 var(--display);min-height:58px}.crew-stepper button:hover:not(:disabled){background:#292f1d;color:#fff0bd;border-color:#ead39c}.crew-stepper button:disabled{opacity:.25;border-style:dashed;color:#c6b88e;background:#10140d}.crew-stepper output{display:block;min-width:70px;text-align:center;font:700 52px/1 Ledger,serif;color:#f0e4c3;font-variant-numeric:lining-nums}.chip-stepper{margin:0;justify-content:start}.chip-response{display:flex;gap:30px;align-items:center}.chip-sum{font-size:23px;color:var(--muted)}.chip-sum strong{display:block;font:700 39px/1.15 Ledger,serif;color:#f0e4c3}.chip-response .action{min-width:205px}.chip-no-payment{font-size:21px;color:var(--muted);margin:25px 0 12px}.stay-link{display:inline-block;padding:8px 0;border-bottom:1px solid #7c7051;color:#c6b78e;font-size:22px}.chip-chapter .house-moment{padding-top:110px;padding-bottom:90px;margin-top:65px;border-top:1px solid #454734}.camp>.chapter-label,.camp>.hideout-title,.camp>.hideout-story,.camp>.camp-layout{order:initial}.camp>.hideout-title{margin-bottom:18px}.camp>.hideout-story{margin-bottom:40px}.camp{border-top:1px solid #60543a;padding-top:75px}.package-pictures{display:flex;align-items:center;justify-content:center;gap:11px;color:#c8af72}.stay-guests{display:flex;align-items:center;gap:3px}.stay-guest{display:inline-block;width:32px;height:25px;vertical-align:middle;flex-shrink:0}.stay-bed{width:42px;height:34px;flex-shrink:0}.package-plus{font:400 27px var(--display)}.package-caption{display:block;font-size:23px;color:#ded1ac;text-align:center;margin-top:8px}#place-note{border-top:1px solid #494832;margin:20px 0;padding:17px 0 0}.place-description{min-height:initial}.place-panel>.action{margin-top:3px}.booking-breakdown{display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;color:#d8c28c}#booking-dialog .booking-breakdown{margin:14px 0 0;font-size:23px}#booking-dialog .request-contribution{text-align:center;font-size:24px;margin:20px 0 27px;color:#cec1a1}#booking-dialog .request-contribution strong{display:block;font:700 60px/1.1 Ledger,serif;color:#f4e9cc;margin-top:6px}#booking-step-crew>h2,#request-chip-line,.crew-label{text-align:center}#booking-next{display:flex;width:100%;margin-top:4px;font-size:26px;min-height:60px}#booking-dialog .crew-label{margin-top:28px}#booking-step-crew{max-width:520px;margin:0 auto;padding-bottom:7px}#booking-submit{min-width:150px}.booking-form-actions{gap:18px}
@media(max-width:699px){.chip-chapter{padding:65px 22px 0}.chip-intro>h2{font-size:43px}.chapter-label{font-size:22px}.chip-subtitle{font-size:23px;line-height:1.3;margin:14px 0 27px}.crew-marker{grid-template-columns:1fr;clip-path:polygon(0 0,100% 0,100% 67%,97% 69%,97% 72%,100% 74%,100% 100%,0 100%,0 74%,3% 72%,3% 69%,0 67%)}.chip-paper{padding:22px 20px 20px;outline-offset:-9px}.chip-topline{font-size:18px;gap:6px;padding-bottom:11px}.chip-topline>span:last-child{font-size:18px}.chip-title{font-size:32px;margin:18px 0 10px}.chip-venues{gap:6px;grid-template-columns:1fr 20px 1fr}.chip-building{height:70px;max-width:130px}.chip-venues small{font-size:21px}.chip-venues h3{font-size:24px}.chip-dateline{font-size:18px;line-height:1.3;margin-top:20px}.chip-note{border-left:0;border-top:1px dashed #7f704f;padding:19px 22px 22px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.chip-note>span:first-child{font-size:25px;grid-column:1;grid-row:1}.chip-note strong{font-size:48px;margin:0;grid-column:2;grid-row:1}.chip-note em{font-size:22px;grid-column:2;grid-row:2}.stub-year{font-size:25px;margin:0;grid-column:1;grid-row:2}.chip-arrangement{margin:26px 0 0;gap:24px;flex-direction:column;text-align:center}.chip-quantity>label{font-size:22px;margin-bottom:14px}.chip-stepper{justify-content:center}.chip-response{width:100%;gap:20px;align-items:center;justify-content:space-between}.chip-sum{font-size:21px}.chip-sum strong{font-size:36px}.chip-response .action{min-width:0;padding:15px 21px;font-size:22px;flex:1;max-width:210px}.chip-no-payment{font-size:20px;line-height:1.35;margin-top:24px}.stay-link{font-size:21px;line-height:1.3}.chip-chapter .house-moment{margin-top:55px;padding-top:55px;padding-bottom:65px}.camp{padding-top:60px}.camp>.hideout-story{font-size:23px;line-height:1.3;margin-bottom:25px}.package-pictures{gap:10px}.stay-guest{width:30px}.stay-guests{gap:1px}.package-caption{font-size:23px}#booking-dialog{padding:20px 22px 26px}#booking-dialog h2{font-size:37px;margin:20px 0 16px}#booking-dialog #request-chip-line{font-size:23px;line-height:1.35}.crew-stepper{grid-template-columns:58px 70px 58px;gap:13px}#booking-dialog .request-contribution strong{font-size:56px}#booking-next{font-size:25px;min-height:58px}#booking-dialog .request-contribution{margin:18px 0 24px}.booking-breakdown .stay-guest{width:28px}#close-booking{font-size:20px;min-height:42px;padding:9px 15px}.booking-form-actions>.action{min-width:135px}}
/* The chip is paper, not a full-strength noise plate. */
.crew-marker{background:#d9cfaf}.crew-marker:after{content:"";position:absolute;inset:0;background:url(grain.png);opacity:.055;pointer-events:none}
/* v13: visible-viewport sizing, safe areas and genuinely contained dialogs. */
html{scrollbar-gutter:stable}html.modal-open{overflow:hidden;overscroll-behavior:none}body.modal-open{position:fixed;top:var(--page-lock-top);left:0;width:100%;overflow:hidden;overscroll-behavior:none}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,input,select,textarea{font-size:max(16px,1em)}button,a,summary{touch-action:manipulation}dialog{overscroll-behavior:contain}#booking-dialog[open]{display:flex;flex-direction:column;position:fixed;top:calc(var(--vv-top,0px) + var(--vv-height,100dvh)/2);left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);margin:0;width:min(700px,calc(100vw - 32px));max-height:calc(var(--vv-height,100dvh) - max(24px,env(safe-area-inset-top)) - max(24px,env(safe-area-inset-bottom)));padding:14px 24px 20px;overflow:hidden}.modal-top{flex:0 0 auto;display:flex;justify-content:flex-end;padding:0 0 10px;background:#14170f;border-bottom:1px solid #42432e}.modal-top #close-booking{margin:0;min-width:78px;min-height:44px}.modal-content{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 5px 4px;scroll-padding:18px}.modal-content input{scroll-margin:18px}.booking-form-actions{padding-bottom:max(4px,env(safe-area-inset-bottom))}.choose-another,.story-link,.stay-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.role-carousel-controls button{min-width:78px;min-height:44px}.closing-questions summary{min-height:60px}#save-card{min-height:48px}.gate{top:var(--vv-top,0px);bottom:auto;height:var(--vv-height,100dvh);max-height:var(--vv-height,100dvh)}
@media(max-width:699px){html{scrollbar-gutter:auto}.scene{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}header{padding-top:max(26px,env(safe-area-inset-top))}.story{min-height:100svh;padding-top:115px;padding-bottom:110px}.story h1{font-size:clamp(68px,19.2vw,82px)}.story-content>p{font-size:23px}.story-link{bottom:max(26px,env(safe-area-inset-bottom))}.gate-presenter{top:max(28px,env(safe-area-inset-top));padding:0 16px;line-height:1.3}.gate-presenter span{display:block;margin:3px 0 0;font-size:21px}.gate-center{max-width:calc(100% - 40px)}.gate form{gap:12px}.gate input{font-size:24px;min-height:52px}.gate button{min-width:85px;min-height:52px;padding:12px}.gate.is-typing .gate-aperture{display:none}.gate.is-typing .gate-title{top:26%;font-size:38px}.gate.is-typing .gate-presenter{top:15px;font-size:21px}.gate.is-typing .gate-presenter span{font-size:19px}.gate.is-typing .gate-center{top:auto;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%)}.gate.is-typing #gate-feedback{margin-top:8px;min-height:24px;font-size:18px}.alibi{gap:30px}.role-rail{scroll-padding-left:2px}.role-card{min-height:340px}.role-card h3{line-height:1.18}.chip-topline{align-items:center}.chip-topline>span:first-child{text-align:left;max-width:77%}.chip-topline>span:last-child{white-space:nowrap}.chip-response{gap:16px}.chip-response .action{min-height:58px}.chip-sum strong{font-size:34px}.chip-note{gap:0 12px}.chip-note strong{font-size:46px}.chip-no-payment{font-size:20px}.chip-venues h3{font-size:23px}#camp-svg{width:100%;overflow:visible}.map-node .map-hit{height:150px;y:-55px}.map-node text.map-place-name{font-size:34px}.map-landmark .map-place-name{font-size:34px}.map-landmark .map-place-note{font-size:32px}.map-water-label{font-size:32px}.map-status{font-size:32px}.map-landmark .map-hit{display:none}.map-node{touch-action:manipulation}.place-panel{scroll-margin-top:14px}.place-image-wrap{height:230px}.place-description h3{font-size:38px}.chip-amount{font-size:38px}.capacity{font-size:33px}#place-details{gap:13px}.choose-another{display:flex;margin:16px auto 0}.closing{padding-bottom:max(28px,env(safe-area-inset-bottom))}#booking-dialog[open]{padding:12px 16px 16px;max-height:calc(var(--vv-height,100dvh) - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))}#booking-dialog h2{font-size:34px;margin-top:18px}#booking-dialog fieldset{display:block;padding:12px 13px 18px;margin:22px 0}#booking-dialog label{font-size:21px}#booking-dialog input{font-size:21px;min-height:48px}#booking-dialog .crew-label{margin-top:20px}.crew-stepper{margin-top:16px;margin-bottom:20px}#booking-dialog .request-contribution{margin:15px 0 20px}#booking-dialog .request-contribution strong{font-size:52px}#booking-next{min-height:56px}#booking-dialog .booking-breakdown{margin-top:10px}.booking-form-actions{align-items:stretch}.booking-form-actions button{min-height:52px}#booking-back{min-width:84px}}
@media(max-width:699px) and (max-height:710px){.gate-title{top:23%;font-size:48px}.gate-aperture{margin-bottom:68px}.gate-center{top:61%}.story{padding-top:110px;padding-bottom:105px}.story-content>p{font-size:22px}.story .date-place{font-size:20px;margin-top:22px}.story h1{margin-bottom:24px}.crew-stepper{margin:12px auto 18px}#booking-dialog .crew-label{margin-top:18px}#booking-dialog .request-contribution strong{font-size:48px}}
@media(max-width:699px){.map-water-label{font-size:40px}}
.brand{display:inline-flex;align-items:center;min-height:44px}
/* v14: the gate is a stable stage, not a keyboard-sized scrolling page. */
html.gate-locked{overflow:hidden;overscroll-behavior:none;scroll-behavior:auto!important}body.locked{position:fixed;inset:0;top:0;left:0;width:100%;overflow:hidden;overscroll-behavior:none}.gate{position:fixed;inset:0;height:100svh;height:100dvh;max-height:none;overscroll-behavior:none}.gate.is-opening{will-change:opacity}.gate-portal-scene,#gate-zoom-mask{will-change:transform;backface-visibility:hidden}.gate.is-preparing .gate-presenter,.gate.is-preparing .gate-title,.gate.is-preparing form,.gate.is-preparing #gate-feedback{opacity:0!important;animation:none!important;transition:opacity .16s;pointer-events:none}.gate.is-reduced-reveal .gate-aperture{will-change:auto}
@media(max-width:699px){.gate{height:var(--gate-stage-height,100svh);height:var(--gate-stage-height,100dvh);width:var(--gate-stage-width,100%);max-height:none;top:0;bottom:0;overflow:hidden}.gate .gate-center,.gate.is-typing .gate-center{top:60%;bottom:auto;transform:translate3d(-50%,-50%,0) translate3d(0,var(--gate-lift,0px),0);transition:transform .3s cubic-bezier(.22,.61,.36,1);will-change:transform}.gate.is-typing .gate-aperture{display:block}.gate.is-typing .gate-presenter,.gate.is-typing .gate-title{opacity:0!important;animation:none!important;pointer-events:none}.gate.is-typing .gate-title{top:23%;font-size:53px}.gate.is-typing #gate-feedback{margin-top:15px;min-height:26px;font-size:20px}.gate.is-typing .gate-presenter{top:max(28px,env(safe-area-inset-top));font-size:23px}.gate.is-typing .gate-presenter span{font-size:21px}.gate.is-opening .gate-center{transition:none}.gate input{font-size:24px}.gate.is-preparing .gate-aperture{opacity:1!important}}

/* v15: our own private gathering, with inspiration clearly attributed. */
.event-credit strong{display:block;font:400 26px/1.2 var(--display);letter-spacing:.015em}.event-credit em{display:block;font:italic 500 21px/1.3 var(--body);margin-top:4px}.gate-presenter .gate-host{font:400 24px/1.2 var(--display)}.gate-presenter .gate-host span{display:inline;margin:0 0 0 6px;font:italic 500 21px var(--body);color:var(--muted)}.gate-credit{margin-top:13px}.gate-credit strong{font-size:28px}.gate-credit em{font-size:21px}.story-content>.hero-credit{margin:0 0 18px}.hero-credit strong{font-size:29px}.hero-credit em{font-size:23px;color:var(--muted)}.chip-credit{margin:8px 0 18px}.chip-credit strong{font-size:26px}.chip-credit em{font-size:21px;color:#675c48}.event-disclaimer{font:italic 500 14px/1.45 var(--body);color:#a49b86;max-width:720px;text-align:center;margin:22px auto 0}
@media(max-width:699px){.gate-presenter .gate-host{font-size:23px}.gate-presenter .gate-host span{font-size:20px}.gate-credit{margin-top:12px}.gate-credit strong{font-size:24px}.gate-credit em{font-size:19px}.hero-credit strong{font-size:25px}.hero-credit em{font-size:21px}.chip-credit strong{font-size:23px}.chip-credit em{font-size:19px}.event-disclaimer{font-size:14px;max-width:340px;margin-top:20px}}

/* v16: eight parts, with the original seven positions preserved. */
.role-card h3{margin:0;min-height:56px;display:flex;align-items:center;justify-content:center}.role-card .role-line{font:italic 500 18px/1.25 var(--body);color:var(--muted);margin:10px 0 0;min-height:76px}
@media(min-width:1100px){.role-rail{gap:12px}.role-card{min-height:400px;padding:16px 9px 18px}.role-card img{height:180px;margin-bottom:18px}.role-card h3{font-size:23px;line-height:1.18}}
@media(max-width:1099px){.role-card .role-line{font-size:21px;min-height:58px;max-width:270px}.role-card h3{min-height:60px}}
@media(max-width:699px){.role-card .role-line{font-size:21px;line-height:1.3;min-height:58px;margin-top:9px}}

/* v17: a crew marker and a common pot, never a counter or a shop. */
.crew-marker{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));border:1px solid #a69262;box-shadow:0 18px 55px #0005}.chip-note{border-left:3px double #8c7a51}.chip-note>span:first-child{font-size:26px}.chip-note em{font-size:23px}.chip-subtitle{max-width:900px;margin-left:auto;margin-right:auto;line-height:1.45}.chip-response{gap:30px}.chip-response .action{min-width:205px}.chip-sum{white-space:nowrap}.chip-amount>span{font:italic 500 22px var(--body);margin-left:8px}.stay-guest{height:30px}.package-caption{line-height:1.3}.booking-privacy{color:#ddd0ae!important;line-height:1.4;margin-top:24px!important}#booking-dialog .booking-form-actions{display:grid;grid-template-columns:1fr;gap:14px}#booking-submit{grid-row:1;width:100%;min-width:0;min-height:64px;font-size:27px;padding:16px 14px;letter-spacing:.035em}#booking-back{grid-row:2;justify-self:start}.request-note{color:var(--muted)}.crew-marker .chip-title{margin-bottom:8px}
@media(max-width:699px){.crew-marker{clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))}.chip-note{border-left:0;border-top:3px double #8c7a51}.chip-note>span:first-child{font-size:24px}.chip-note em{font-size:21px}.chip-subtitle{font-size:22px;line-height:1.4}.chip-response{gap:15px}.chip-response .action{min-width:0;max-width:210px}.chip-sum{font-size:19px}.chip-no-payment{font-size:21px;line-height:1.4}.chip-amount>span{font-size:22px}.camp>.hideout-story{font-size:22px;line-height:1.4}#booking-submit{font-size:24px;line-height:1.2;padding:16px 10px;min-height:64px}#booking-dialog .booking-privacy{font-size:22px;line-height:1.4}.event-disclaimer{max-width:355px}}

/* v19: private correspondence, a complete set of keys, and clothes for the woods. */
.event-credit>.invite-only{display:block;margin:8px 0 0;font:400 18px/1.2 var(--display);font-variant:small-caps;letter-spacing:.13em;color:var(--gold)}
.gate-presenter{top:5svh}.gate-credit>.invite-only{color:#d2bd89;font-size:19px}.hero-credit>.invite-only{color:#d2bd89;font-size:20px}.story-content>.hero-credit{margin-bottom:23px}
.chip-credit>.invite-only{color:#625239;font-size:17px;margin-top:7px}
.chip-topline{display:grid;grid-template-columns:1fr auto 1fr;position:relative;gap:8px;text-align:center;align-items:center}
.chip-topline:before{content:"";grid-column:1}.chip-topline>span:first-child{grid-column:2;max-width:none;text-align:center;white-space:nowrap;font-variant:small-caps}
.chip-topline>span:last-child{grid-column:3;justify-self:end}
.crew-marker{background:linear-gradient(115deg,#e0d7bd,#d4c7a4);clip-path:polygon(0 14px,14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px));border-color:#b5a06e}
.crew-marker:before{content:"";position:absolute;inset:6px;border:1px solid #a49163;pointer-events:none}.chip-paper{padding:26px 32px 23px;outline:3px double #a08c5d;outline-offset:-13px}
.chip-topline{padding-bottom:14px;border-color:#a18c5a;font-size:23px}.chip-topline>span:last-child{font-size:19px}.chit-flourish{display:block;width:180px;height:27px;margin:17px auto 0;color:#78633d}.crew-marker .chip-title{margin:7px 0 8px;font-size:43px}.chip-credit{margin-bottom:20px}.chip-building{height:92px}.chip-dateline{font-size:20px;border-color:#a18c5a}
.chip-note{border-left:1px dashed #8b7750;padding:26px 20px}.chip-note:before{inset:12px;border:3px double #a08c5d}.chip-note:after{content:"";position:absolute;left:-3px;top:19px;bottom:19px;width:6px;background:radial-gradient(circle,#6a5a3d 0 1px,transparent 1.5px) center/6px 10px repeat-y;opacity:.4;pointer-events:none}
.chit-seal{display:block;width:85px;height:100px;margin:22px auto 0;overflow:visible;filter:drop-shadow(1px 3px 2px #594a3640)}.seal-year{font:700 22px Ledger,serif;fill:#e2c69b}
.camp>.hideout-story{max-width:960px;margin:0 auto 32px}.hideout-story>strong{display:block;font-weight:500;color:#e1d3b1}.hideout-story>span{display:block;font-size:22px;margin-top:9px;color:var(--muted)}
.camp-layout{grid-template-columns:minmax(0,1.55fr) minmax(360px,1fr);gap:34px}.place-panel{position:relative;padding:22px;border:1px solid #86734d;background:#171c12;box-shadow:inset 0 0 0 5px #11160f,inset 0 0 0 6px #4f4c33;clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px))}
.place-image-wrap{height:150px;margin-bottom:17px}.place-description h3{font-size:38px}.chip-amount{font-size:38px}.capacity{font-size:31px}#place-details{gap:10px 18px;margin-top:10px}.chip-amount>span{font-size:20px}
#place-note{margin:18px 0;padding:17px 13px 14px;border:1px solid #70613e;background:#24291b;text-align:center}.bundle-kicker{display:block;font:400 17px/1.2 var(--display);font-variant:small-caps;letter-spacing:.04em;color:#d1bd88}.package-pictures{margin:12px 0 9px;gap:10px}.stay-guests{gap:1px;flex-wrap:nowrap;justify-content:center}.stay-guest{width:31px;height:35px}.stay-bed{width:43px;height:37px}.bundle-bed{display:flex;align-items:center}.package-plus{font-size:25px}.package-caption{font:400 27px/1.15 var(--display);color:#ebd9aa;margin:7px auto 12px;max-width:350px}.bundle-explainer{font:italic 500 21px/1.3 var(--body);color:#dfd3b7;margin:0}.bundle-explainer strong{font-weight:500;color:#f3e2b7}.bundle-venues{font:italic 500 21px/1.3 var(--body);color:#dfd3b7;margin:8px 0 0}.bundle-value{display:block;border-top:1px solid #655b3d;padding-top:12px;margin-top:13px;font:italic 500 19px/1.3 var(--body);color:#bfb393}
#booking-dialog .booking-breakdown>strong{font:400 25px/1.2 var(--display);color:#eddbad}#booking-dialog .booking-breakdown>span:last-child{font-size:21px;line-height:1.3}
.dress-code{width:100%;max-width:980px;padding:39px 35px 30px;border-top:3px double #716346;border-bottom:3px double #716346;text-align:center}.dress-code>.chapter-label{font-size:23px;margin-bottom:15px}.dress-code>.dress-title{font-size:57px;margin-bottom:18px}.dress-wardrobe{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:20px 0 28px}.dress-wardrobe article{padding:4px 28px 15px;min-width:0}.dress-wardrobe article+article{border-left:1px solid #514b36}.dress-engraving{display:block;width:140px;height:100px;margin:0 auto 12px;color:#c7af79}.dress-wardrobe h3{font-size:31px;margin-bottom:13px}.dress-wardrobe p{font-size:24px;line-height:1.4;color:#d5cbb5}.dress-weather{display:flex;align-items:center;justify-content:center;gap:17px;border-top:1px solid #454633;padding-top:23px;max-width:690px;margin:auto}.woods-boots{width:58px;height:58px;flex:0 0 58px;color:#c7af79}.dress-weather p{font-size:23px;line-height:1.35;text-align:left;color:#c4baa2}.dress-weather strong{font:400 24px/1.3 var(--display);display:block;color:#e1d5b7;margin-bottom:5px}.dress-no{font-size:21px;color:#b4a68a;margin-top:24px}.closing-date{margin-top:29px}.closing footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding-top:35px;text-align:center}.closing footer>span{display:block;font:400 31px/1.2 var(--display);font-variant:small-caps;letter-spacing:.035em}.closing footer .quiet-action{font-size:19px}
@media(max-width:1099px){.camp-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:24px}.place-panel{padding:20px}.stay-guest{width:28px}}
@media(max-width:699px){.gate-presenter{top:max(22px,env(safe-area-inset-top))}.gate-credit>.invite-only{font-size:18px;margin-top:7px}.hero-credit>.invite-only{font-size:19px}.chip-credit>.invite-only{font-size:16px}.chip-paper{padding:24px 19px 21px;outline-offset:-11px}.chip-topline{font-size:18px;gap:5px}.chip-topline>span:last-child{font-size:16px}.chit-flourish{width:145px;height:23px;margin-top:14px}.crew-marker .chip-title{font-size:34px;margin:7px 0 10px}.chip-credit{margin-bottom:18px}.chip-building{height:72px}.chip-dateline{font-size:18px;line-height:1.4;max-width:265px;margin-left:auto;margin-right:auto}.chip-note{border-left:0;border-top:1px dashed #8b7750;display:grid;grid-template-columns:85px 1fr;gap:0 18px;padding:23px 30px}.chip-note:after{left:17px;right:17px;top:-3px;bottom:auto;width:auto;height:6px;background:radial-gradient(circle,#6a5a3d 0 1px,transparent 1.5px) center/10px 6px repeat-x}.chip-note>span:first-child{grid-column:2;grid-row:1;font-size:23px;text-align:left;justify-self:start}.chip-note strong{grid-column:2;grid-row:2;font-size:48px;text-align:left;justify-self:start;margin:2px 0}.chip-note em{grid-column:2;grid-row:3;font-size:21px;justify-self:start}.chit-seal{grid-column:1;grid-row:1/4;align-self:center;margin:0;width:78px;height:92px}.hideout-story>strong{font-size:24px;line-height:1.3}.hideout-story>span{font-size:21px;line-height:1.35;max-width:285px;margin:12px auto 0}.camp-layout{display:block}.place-panel{padding:21px 19px;margin-top:20px;scroll-margin-top:12px}.place-image-wrap{height:155px;margin-bottom:18px}.place-description h3{font-size:36px}.chip-amount{font-size:36px}.chip-amount>span{font-size:20px}.capacity{font-size:29px}#place-details{gap:10px 15px}.package-pictures{gap:8px}.stay-guest{width:28px;height:33px}.stay-bed{width:37px;height:32px}.package-plus{font-size:23px}.package-caption{font-size:27px;max-width:280px}.bundle-explainer,.bundle-venues{font-size:22px;line-height:1.3}.bundle-value{font-size:20px;line-height:1.3}#place-note{padding:16px 11px 15px;margin-bottom:18px}.bundle-kicker{font-size:17px}.place-panel>.action{font-size:23px;min-height:57px}.place-panel>.choose-another{margin-top:14px}.dress-code{padding:31px 0 27px}.dress-code>.chapter-label{font-size:22px;line-height:1.3;max-width:280px;margin:0 auto 16px}.dress-code>.dress-title{font-size:46px;margin-bottom:18px}.dress-wardrobe{grid-template-columns:1fr;margin:0 0 23px}.dress-wardrobe article{padding:10px 0 24px}.dress-wardrobe article+article{border-left:0;border-top:1px solid #454633;padding-top:22px}.dress-engraving{height:86px;width:121px;margin-bottom:10px}.dress-wardrobe h3{font-size:30px;margin-bottom:12px}.dress-wardrobe p{font-size:23px;line-height:1.4}.dress-weather{gap:12px;align-items:flex-start;padding-top:24px}.woods-boots{width:46px;height:53px;flex-basis:46px}.dress-weather p{font-size:22px;line-height:1.35}.dress-weather strong{font-size:23px}.dress-no{font-size:21px;line-height:1.35;max-width:285px;margin:24px auto 0}.closing footer>span{font-size:28px}.closing-date{font-size:21px;margin-top:27px}}
@media(max-width:699px) and (max-height:710px){.gate-presenter{top:18px}.gate-presenter .gate-host{font-size:22px}.gate-credit{margin-top:8px}.gate-credit strong{font-size:22px}.gate-credit em{font-size:18px}.gate-credit>.invite-only{font-size:16px;margin-top:5px}}

/* v20: one clear thought at a time, centered on a stable gate stage. */
.gate{left:0;right:auto;width:100vw}.gate .gate-presenter{left:0;right:0;width:auto;top:6.8svh;margin:0;padding:0 22px;text-align:center}.gate-presenter .gate-host{font:400 22px/1.2 var(--display);letter-spacing:.035em}.gate-invitation{margin-top:13px;font:400 16px/1.2 var(--display);font-variant:small-caps;letter-spacing:.13em;color:#bca87b}
.gate .gate-title{left:22px;right:22px;top:20%;width:auto;margin:0;padding:0;text-align:center;font-size:clamp(64px,7vw,108px);line-height:1.05;letter-spacing:.018em;opacity:1;color:#e2d8c0;pointer-events:none}.gate-title-break{display:none}.gate.is-ready:not(.is-opening):not(.is-preparing) .gate-title{opacity:1;animation:v20GateTitle .9s .15s ease-out both}.gate .gate-aperture{transform:none}
@keyframes v20GateTitle{from{opacity:0;transform:translate3d(0,7px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
.story{padding-top:105px;padding-bottom:130px}.story-content{width:100%;max-width:1000px;margin:0 auto;text-align:center}.story-content>.hero-credit{margin:0 0 36px}.hero-credit strong{font-size:27px}.hero-credit>.invite-only{font-size:19px;margin-top:12px}.story h1{margin:0 0 40px}.story .date-place{margin:0 auto;font-size:24px;line-height:1.4;color:#d5c8a9}.hero-location{display:block;margin-top:15px;font:400 23px/1.3 var(--display);letter-spacing:.09em}.story-link{bottom:39px}
.roles-intro{width:100%;max-width:880px;margin:0 auto 35px;text-align:center}.roles-inspiration{font:italic 500 23px/1.35 var(--body);color:#b7a784;margin-bottom:20px}.roles-story{font:italic 500 26px/1.45 var(--body);color:#d5cbb5;margin-bottom:33px}.roles-intro h2{font-size:54px}
.name-row input{font-size:26px;min-height:52px}.name-row .action{min-height:54px}
@media(max-width:699px){.gate{width:var(--gate-stage-width,100vw)}.gate .gate-presenter{top:max(38px,env(safe-area-inset-top));padding:0 20px}.gate-presenter .gate-host{font-size:21px}.gate-invitation{font-size:15px;margin-top:14px}.gate .gate-title{top:18%;left:18px;right:18px;font-size:61px;line-height:1.02}.gate-title-break{display:inline}.gate.is-typing .gate-title{opacity:0!important}.story{padding-top:95px;padding-bottom:118px}.story-content>.hero-credit{margin-bottom:35px}.hero-credit strong{font-size:24px}.hero-credit>.invite-only{font-size:18px;margin-top:11px}.story h1{font-size:clamp(76px,20vw,88px);margin-bottom:35px}.story .date-place{font-size:23px;max-width:320px;margin:0 auto}.hero-location{font-size:23px;margin-top:15px}.story-link{bottom:max(28px,env(safe-area-inset-bottom))}.roles-intro{margin-bottom:29px}.roles-inspiration{font-size:22px;margin-bottom:20px}.roles-story{font-size:24px;line-height:1.4;margin-bottom:28px}.roles-intro h2{font-size:43px}.name-row{gap:20px}}
@media(max-width:699px) and (max-height:710px){.gate .gate-presenter{top:28px}.gate-invitation{margin-top:11px;font-size:14px}.gate .gate-title{top:16%;font-size:54px}.story{padding-top:88px;padding-bottom:106px}.story-content>.hero-credit{margin-bottom:27px}.story h1{margin-bottom:28px}}

/* v21: generous whitespace and centered crew controls. */
.chip-chapter{background:#10150f}.chip-intro{max-width:1120px;padding:0 0 8px;color:var(--paper)}.chip-intro>.chapter-label{font-size:23px;margin-bottom:13px}.chip-intro>h2{font-size:56px;line-height:1.1}.chip-intro>.chip-subtitle{font-size:24px;line-height:1.4;max-width:1000px;margin:19px auto 0;color:#bdb49c}
.pot-chip-in{margin:0;text-align:center}.pot-chip-in>strong{display:block;font:700 61px/1.05 Ledger,serif;font-variant-numeric:lining-nums;color:#e9dbb9}.pot-chip-in>span{display:block;font:italic 500 23px/1.3 var(--body);color:#bfb297;margin-top:7px}.pot-venues{font:italic 500 24px/1.4 var(--body);color:#d6c9aa;margin:18px 0 0}
.chip-intro>.chip-arrangement{display:grid;grid-template-columns:174px 110px minmax(0,1fr);gap:20px;align-items:center;max-width:560px;width:100%;margin:37px auto 0;text-align:center}.chip-arrangement .chip-quantity>label{font:italic 500 21px/1.3 var(--body);color:#bfb297;margin:0 0 10px}.chip-arrangement .chip-stepper{grid-template-columns:48px 54px 48px;gap:12px;margin:0 auto;width:174px}.chip-arrangement .chip-stepper button{width:48px;height:50px;min-height:48px;font-size:31px;background:transparent}.chip-arrangement .chip-stepper output{font-size:40px;min-width:54px}.chip-arrangement>.chip-sum{margin:0;font:italic 500 20px/1.3 var(--body);color:#bfb297;white-space:normal}.chip-arrangement>.chip-sum strong{font:700 38px/1.15 Ledger,serif;display:block;margin-top:6px;color:#e9dbb9}.chip-arrangement>#entry-action{width:100%;min-height:58px;padding:14px 16px;font-size:23px}
.chip-intro>.chip-no-payment{font:italic 500 19px/1.4 var(--body);color:#a89f88;margin:27px auto 0;max-width:560px}.chip-intro>.stay-link{font:italic 500 19px/1.4 var(--body);color:#bdb08c;max-width:650px;margin-top:11px;padding:8px 0 6px;min-height:44px;border-bottom:1px solid #5c563d;display:inline-block}.chip-chapter .house-moment{margin-top:75px}
@media(max-width:699px){.chip-chapter{padding-top:66px}.chip-intro{padding-bottom:0}.chip-intro>.chapter-label{font-size:22px;margin-bottom:13px}.chip-intro>h2{font-size:42px;line-height:1.1;max-width:340px;margin:auto}.chip-intro>.chip-subtitle{font-size:22px;line-height:1.4;max-width:330px;margin:20px auto 0}.pot-chip-in>strong{font-size:55px}.pot-chip-in>span{font-size:22px;margin-top:6px}.pot-venues{font-size:22px;line-height:1.4;max-width:310px;margin:18px auto 0}.chip-intro>.chip-arrangement{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px 18px;max-width:330px;margin-top:32px}.chip-arrangement .chip-stepper{grid-template-columns:46px 46px 46px;gap:9px;width:156px}.chip-arrangement .chip-stepper button{width:46px;height:50px;min-height:48px;font-size:31px}.chip-arrangement .chip-stepper output{min-width:46px;font-size:39px}.chip-arrangement .chip-quantity>label{font-size:21px;margin-bottom:9px}.chip-arrangement>.chip-sum{font-size:20px}.chip-arrangement>.chip-sum strong{font-size:38px}.chip-arrangement>#entry-action{grid-column:1/-1;min-height:58px;width:100%;font-size:24px}.chip-intro>.chip-no-payment{font-size:19px;line-height:1.4;margin-top:24px;max-width:310px}.chip-intro>.stay-link{font-size:19px;line-height:1.4;max-width:315px;margin-top:12px;padding-bottom:8px}.chip-chapter .house-moment{margin-top:65px}}

/* v22: a quiet dark engraving, clear entry language, no dinner metaphor. */
.chip-intro .chip-subtitle{max-width:1000px}.pot-comfort{font:italic 500 23px/1.4 var(--body);color:#c6bca3;margin:8px auto 0}.pot-card{position:relative;display:grid;grid-template-columns:minmax(0,1.8fr) minmax(160px,1fr);align-items:center;gap:26px;width:min(100%,660px);margin:38px auto 31px;padding:29px 28px 26px;border:1px solid #ad946a88;background:#11170f;box-shadow:0 10px 35px #00000012;color:#c8b282}.pot-card:before{content:"";position:absolute;inset:5px;border:1px solid #ad946a45;pointer-events:none}.pot-ornament{position:absolute;width:100px;height:18px;left:50%;top:-9px;transform:translateX(-50%);background:#11170f;padding:0 8px;color:#c8b282}.pot-card-venues{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.pot-card-venues>div{text-align:center}.pot-building{display:block;width:116px;max-width:100%;height:73px;margin:0 auto;color:#c4ab76}.pot-card-venues p{font:400 23px/1.12 var(--display);margin:11px auto 0;max-width:155px;color:#e0d5b8}.pot-card .pot-chip-in{border-left:1px solid #ad946a45;padding:12px 0 12px 23px}.pot-card .pot-chip-in>strong{font-size:58px}.pot-card .pot-chip-in>span{font-size:20px;line-height:1.2;max-width:150px;margin:8px auto 0;color:#c8bca0}.chip-intro .chip-arrangement{margin-top:0}.chip-intro .chip-no-payment{margin-bottom:0}.hideout-story{max-width:870px;margin:0 auto 34px;font:italic 500 25px/1.4 var(--body);color:#c6bca3}.hideout-story strong{display:block;font:400 27px/1.25 var(--display);color:#e0d5b8;margin-top:13px}.package-caption{max-width:none}.bundle-explainer{max-width:420px;margin:13px auto 10px}.bundle-value{margin-top:8px}.closing-questions>h2{margin-top:30px}
@media(max-width:699px){.pot-comfort{font-size:22px;max-width:330px;margin-top:11px}.pot-card{grid-template-columns:1fr;gap:20px;padding:25px 18px 23px;margin:33px auto 28px;max-width:370px}.pot-card-venues{gap:18px}.pot-building{width:112px;height:70px}.pot-card-venues p{font-size:22px;max-width:145px;margin-top:8px}.pot-card .pot-chip-in{border-left:0;border-top:1px solid #ad946a45;padding:17px 0 0;margin:0 12px}.pot-card .pot-chip-in>strong{font-size:55px}.pot-card .pot-chip-in>span{font-size:21px;max-width:none;margin-top:5px}.chip-intro .chip-arrangement{margin-top:0}.hideout-story{font-size:23px;line-height:1.35;margin-bottom:27px;max-width:350px}.hideout-story strong{font-size:25px;line-height:1.25;margin-top:14px}.package-caption{font-size:26px}.bundle-explainer{font-size:22px}.bundle-value{font-size:20px}.dress-wardrobe{margin-bottom:24px}.dress-no{margin-top:18px}}

/* v23: the hosts' houses first; one request chapter with an engraved two-way selector. */
#house.heart-chapter{min-height:0;padding:82px 6vw 78px;margin:0;background:#0d110d;text-align:center}#house .house-reserved{font-size:24px;line-height:1.35;max-width:800px;margin:17px auto 34px}#house h2{font-size:53px}#house .house-pair figcaption{padding-top:19px}#house .house-pair h3{margin:0;font-size:35px}#house .house-pair figcaption p{margin:3px 0 0;font-size:24px}#house .house-pair .house-hours{font:700 25px/1.25 Ledger,serif;color:#d5bd84;margin-top:9px}
#pot.chip-chapter{padding-bottom:80px;border-top:1px solid #534a33}.request-modes{display:flex;position:relative;width:min(100%,440px);margin:31px auto 34px;padding:5px;border:1px solid #a88e5f;background:#0d130d;gap:5px}.request-modes:before{content:"";position:absolute;inset:2px;border:1px solid #a88e5f40;pointer-events:none}.request-modes>button{position:relative;flex:1;min-width:0;min-height:56px;padding:12px 15px;font:400 25px/1.15 var(--display);border:1px solid transparent;background:transparent;color:#c9b88e;cursor:pointer;transition:color .18s,background-color .18s,border-color .18s}.request-modes>button[aria-selected="true"]{color:#171c12;background:#c5ae74;border-color:#d6bd83;box-shadow:inset 0 0 0 3px #171c1212}.request-modes>button:hover{border-color:#b59a62}.request-modes>button:focus-visible{outline:2px solid #ead7a3;outline-offset:4px;z-index:1}.mode-stage{overflow-anchor:none;text-align:center;max-width:1120px;margin:0 auto}.mode-stage.is-switching{overflow:hidden}.request-pane:focus-visible{outline:1px solid #ad9664;outline-offset:7px}.entry-pane .pot-card{display:block;max-width:340px;margin:6px auto 31px;padding:26px}.entry-pane .pot-card .pot-chip-in{border:0;padding:0;margin:0}.entry-pane .pot-card .pot-chip-in>span{max-width:none;font-size:21px}.entry-pane .chip-arrangement{display:grid;grid-template-columns:174px 110px minmax(0,1fr);gap:20px;align-items:center;max-width:560px;width:100%;margin:0 auto;text-align:center}.chip-intro>.chip-no-payment{margin-top:28px}.mode-hideouts.camp{display:block;min-height:0;background:transparent;padding:0;margin:0;border:0}.mode-hideouts>.hideout-story{font-size:24px;line-height:1.4;max-width:900px;margin:0 auto 31px}.mode-hideouts .place-panel{text-align:left}.mode-hideouts .place-panel .package-caption,.mode-hideouts .place-panel #place-note{text-align:center}
@media(max-width:699px){#house.heart-chapter{padding:64px 22px 67px}#house h2{font-size:40px;line-height:1.1;max-width:330px;margin:auto}#house .house-reserved{font-size:22px;line-height:1.35;max-width:335px;margin:19px auto 28px}#house .house-pair{gap:31px}#house .house-pair figcaption{padding-top:15px}#house .house-pair h3{font-size:32px}#house .house-pair figcaption p{font-size:23px}#house .house-pair .house-hours{font-size:24px;margin-top:7px}#pot.chip-chapter{padding-bottom:65px}.request-modes{margin:28px auto 28px;max-width:350px;padding:4px;gap:4px}.request-modes>button{min-height:54px;padding:12px 8px;font-size:22px}.entry-pane .pot-card{max-width:310px;padding:23px 17px;margin:7px auto 27px}.entry-pane .chip-arrangement{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:23px 18px;max-width:330px}.entry-pane .chip-arrangement>.action{grid-column:1/-1;width:100%;min-height:58px}.chip-intro>.chip-no-payment{margin-top:25px}.mode-hideouts>.hideout-story{font-size:23px;line-height:1.35;max-width:350px;margin-bottom:25px}.mode-hideouts>.hideout-story strong{font-size:25px}.mode-hideouts .place-panel{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.request-modes>button{transition:none}}

/* The sensor transform is isolated from the fixed gate layout and its zoom mask. */
@media(hover:none) and (pointer:coarse){.gate.gate-has-gyro:not(.is-opening):not(.is-preparing) .gate-aperture{transform:perspective(650px) rotateX(var(--gate-tilt-x,0deg)) rotateY(var(--gate-tilt-y,0deg));transform-origin:50% 26%;transition:none;will-change:transform}}
@media(prefers-reduced-motion:reduce){.gate.gate-has-gyro .gate-aperture{transform:none!important;will-change:auto}}

/* Desktop pointer tilt is independent of the keyhole's fixed, centered stage. */
@media(hover:hover) and (pointer:fine){.gate.gate-has-pointer:not(.is-opening):not(.is-preparing) .gate-aperture{transform:perspective(650px) rotateX(var(--gate-tilt-x,0deg)) rotateY(var(--gate-tilt-y,0deg));transform-origin:50% 26%;transition:none;will-change:transform}}
@media(prefers-reduced-motion:reduce){.gate.gate-has-pointer .gate-aperture{transform:none!important;will-change:auto}}

/* Additive party request: a required party and a truly optional hideout. */
.party-step{margin:32px auto 35px;max-width:560px}.party-step>h3,.optional-stay>h3,.request-summary>h3{font:400 30px/1.2 var(--display);margin:0 0 22px}.party-step .pot-card{display:block;max-width:330px;margin:0 auto 24px;padding:23px}.party-step .pot-card .pot-chip-in{border:0;padding:0;margin:0}.party-step .pot-card .pot-chip-in>span{max-width:none;font-size:21px}.party-step .chip-quantity{max-width:200px;margin:auto}.party-step .chip-quantity>label{display:block;font-size:22px;margin-bottom:10px}.optional-stay{padding-top:30px;border-top:1px solid #65563866}.optional-stay>h3{margin-bottom:13px}.optional-stay>p{font-size:24px;line-height:1.35;max-width:730px;margin:0 auto 10px}.separate-entry-note{font:italic 500 21px/1.35 var(--body);color:#c6b58e}.optional-stay>#add-hideout{min-height:52px;padding:12px 30px;font:400 23px var(--display);margin:10px auto 30px;border:1px solid #b79b65;background:transparent;color:#dbc795}.optional-stay .mode-hideouts{padding-top:5px}.request-summary{max-width:560px;margin:35px auto 0;padding:25px 28px;border-top:1px solid #776543;border-bottom:1px solid #776543}.request-summary>h3{margin-bottom:20px}.summary-line{display:flex;align-items:baseline;justify-content:space-between;gap:20px;font:400 25px/1.3 var(--display);margin:12px 0;text-align:left}.summary-line strong{font:700 29px Ledger,serif;white-space:nowrap}.summary-total{border-top:1px solid #65563866;padding-top:16px;margin-top:20px}.summary-total strong{font-size:37px}.summary-hideout>.quiet-action{font-size:19px;min-height:44px;padding:8px;margin-top:2px}.capacity-note{font-size:20px;line-height:1.3;color:#c2b69d;margin:4px 0 10px}.request-summary>.action{width:100%;min-height:58px;font-size:24px;margin-top:17px}.combined-form-summary,#booking-breakdown{white-space:pre-line}#booking-breakdown{font:italic 500 23px/1.5 var(--body);margin:18px 0;color:#dfd2af}
@media(max-width:699px){.party-step{margin:28px auto 30px}.party-step>h3,.optional-stay>h3,.request-summary>h3{font-size:28px}.party-step .pot-card{max-width:300px;padding:20px}.optional-stay{padding-top:26px}.optional-stay>p{font-size:22px;max-width:335px}.optional-stay>.separate-entry-note{font-size:20px}.optional-stay>#add-hideout{margin-bottom:24px}.request-summary{padding:23px 7px;max-width:350px;margin-top:25px}.summary-line{font-size:23px;gap:14px}.summary-line strong{font-size:28px}.summary-total strong{font-size:35px}.request-summary>.action{font-size:22px}.capacity-note{font-size:20px}}

/* V24 original venue engravings: a single non-interactive art set. */
.house-pair{margin-top:36px}.house-engraving{background:#10120e;aspect-ratio:1200/760;overflow:hidden;border:1px solid #a68f5a40;cursor:default}.house-engraving>img{width:100%;height:100%;display:block;object-fit:contain;filter:none}.house-pair .house-story{max-width:390px;margin:15px auto 0;font-size:21px;line-height:1.4;color:var(--muted)}.place-image-wrap{background:#10120e}.place-image-wrap>img{object-fit:contain;filter:none}.stay-invitation{margin-bottom:10px!important}@media(max-width:699px){.house-pair .house-story{font-size:20px;max-width:310px}.house-pair{margin-top:26px}}

.house-engraving{height:auto}

/* V24 card art fills its own frame; uncropped Heart engravings stay unchanged. */
.place-panel .place-image-wrap{height:auto;aspect-ratio:3/2;display:grid;place-items:center;overflow:hidden}.place-panel .place-image-wrap>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;margin:0;max-width:none;max-height:none}

/* V25 requester contact fields belong inside You; modal header unchanged. */
.requester-contacts{margin-top:14px;min-width:0}@media(min-width:700px){#booking-dialog .requester-contacts{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}#booking-dialog .requester-contacts>div{min-width:0}}

/* V26 keeps the original paper alibi; upright Cormorant and dark ink carry the role. */
@font-face{font-family:PaperCopy;src:url(cormorant-regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}
@media(max-width:699px){}

/* V27 approval preview: two families, four sizes, two ink tones. */
@font-face{font-family:PaperCopy;src:url(cormorant-regular-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
.calling-card{--card-ink:#302a21;--card-muted:#6c6556;position:relative;isolation:isolate;width:100%;max-width:620px;margin:auto;padding:36px 38px;text-align:center;background:#d8d0bb;color:var(--card-ink);border:1px solid var(--card-muted);outline:1px solid var(--card-muted);outline-offset:-9px;box-shadow:0 16px 40px #0003;transform:none}.calling-card:after{content:"";position:absolute;inset:0;background:url(grain.png);opacity:.06;z-index:-1;pointer-events:none}.calling-card .card-edition,.calling-card .card-event-foot{font:400 13px/1.4 PaperCopy,serif;color:var(--card-muted);letter-spacing:.12em;margin:0;white-space:nowrap}.calling-card .card-mark{display:block;width:13px;height:20px;margin:22px auto 20px;fill:var(--card-muted)}.calling-card #alias-name{font:400 54px/1.06 var(--display);color:var(--card-ink);margin:0;max-width:none;overflow-wrap:anywhere;white-space:pre-wrap}.calling-card.long-name #alias-name{font-size:40px}.calling-card #alias-role{font:italic 400 23px/1.3 PaperCopy,serif;color:var(--card-ink);margin:14px 0 0;max-width:none}.calling-card #alias-line{font:italic 400 18px/1.45 PaperCopy,serif;color:var(--card-ink);margin:13px 0 0;max-width:none}.calling-card .card-short-rule{display:block;width:54px;height:1px;background:var(--card-muted);margin:25px auto}.calling-card #alias-dress{font:400 18px/1.5 PaperCopy,serif;color:var(--card-ink);max-width:44ch;margin:0 auto;overflow-wrap:break-word}.calling-card .card-event-foot{letter-spacing:.06em;margin-top:36px}@media(max-width:699px){.calling-card{padding:30px 23px}.calling-card #alias-name{font-size:42px}.calling-card.long-name #alias-name{font-size:34px}.calling-card #alias-dress{max-width:none}.calling-card .card-event-foot{letter-spacing:.02em}.calling-card .card-edition{letter-spacing:.08em}}

/* V28: the supplied moodboards replace the bottom wardrobe engravings. */
#dress-code .dress-wardrobe{max-width:940px;margin:32px auto;gap:36px;align-items:start}#dress-code .dress-wardrobe article{min-width:0;padding:0;border:0}#dress-code .moodboard-label{font:400 20px/1.3 PaperCopy,serif;font-variant:small-caps;letter-spacing:.12em;margin:0 0 15px;color:#d4c29b}#dress-code .moodboard-open{display:block;width:100%;border:1px solid #8b785550;padding:6px;background:#13160f;cursor:zoom-in;transition:border-color .2s}#dress-code .moodboard-open:hover,#dress-code .moodboard-open:focus-visible{border-color:#cbb47b}#dress-code .moodboard-open img{display:block;width:100%;height:auto;filter:none}#dress-code .dress-wardrobe article>p{margin:18px auto 0;font-size:22px;line-height:1.4;max-width:420px}#moodboard-dialog{width:max-content;max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:12px;background:#10130e;border:1px solid #8b7855;overflow:auto}#moodboard-dialog .moodboard-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 12px}#moodboard-dialog h2{font:400 20px/1.3 PaperCopy,serif;font-variant:small-caps;letter-spacing:.09em;margin:0}#moodboard-close{min-height:44px;font-size:20px;padding:8px 16px}#moodboard-full{display:block;width:auto;height:auto;max-width:calc(100vw - 50px);max-height:calc(100svh - 106px);object-fit:contain;margin:auto}#moodboard-dialog::backdrop{background:#050704ed;backdrop-filter:blur(5px)}@media(max-width:699px){#dress-code .dress-wardrobe{grid-template-columns:1fr;gap:32px;margin:26px auto}#dress-code .moodboard-label{font-size:20px;margin-bottom:12px}#dress-code .dress-wardrobe article>p{font-size:22px;max-width:340px}#moodboard-dialog{padding:10px}#moodboard-full{max-width:calc(100vw - 46px)}}

/* V29 private, post-approval chip-in page. */
.payment-page{min-height:100svh;display:grid;place-items:center;background:#10140f}.payment-shell{width:min(580px,100%);margin:auto;padding:64px 26px;text-align:center}.payment-edition,.payment-foot{font:400 16px/1.5 PaperCopy,serif;font-variant:small-caps;letter-spacing:.1em;color:#b8a680}.payment-edition{margin-bottom:48px}.payment-shell h1{font:400 58px/1.08 var(--display);margin:15px 0 22px}.payment-shell #payment-message{font:400 24px/1.4 PaperCopy,serif;margin:0 auto 30px;max-width:440px}.payment-lines{margin:30px 0;border-top:1px solid #71613f;border-bottom:1px solid #71613f;padding:20px 0}.payment-lines p{display:flex;justify-content:space-between;align-items:baseline;text-align:left;gap:22px;font-size:23px;margin:12px 0}.payment-lines strong{font:400 27px var(--display);white-space:nowrap}.payment-lines .payment-total{border-top:1px solid #71613f70;padding-top:20px;margin-top:20px}.payment-shell #pay-card{width:100%;margin:0 0 8px}.payment-note{font:400 19px/1.4 PaperCopy,serif;color:#c5b994;margin:13px auto;max-width:400px}.payment-shell>.quiet-action{display:inline-block;margin-top:32px;font-size:20px}.payment-foot{margin-top:40px;letter-spacing:.04em}.payment-shell #payment-error{color:#dfb193;font-size:21px;margin-top:16px}@media(max-width:699px){.payment-shell{padding:42px 22px}.payment-edition{margin-bottom:36px}.payment-shell h1{font-size:45px}.payment-shell #payment-message{font-size:23px}.payment-lines p{font-size:21px;gap:12px}.payment-lines strong{font-size:25px}.payment-foot{font-size:14px}}

/* V30: clear map parcels, an unbookable party heart, and honest Taken stamps. */
#camp-svg{max-height:none;overflow:visible}.map-terrain-mobile{display:none}.map-terrain-desktop{display:block}#map-heart-zone{pointer-events:none}.heart-zone-rule{fill:#151a12;fill-opacity:.8;stroke:#b39a63;stroke-width:1.4}.heart-zone-title{font:400 31px OldWorld,serif;fill:#d4bd87;letter-spacing:.03em}.heart-zone-caption{font:italic 500 24px Companion,serif;fill:#bdaf8c}.map-landmark{pointer-events:none;cursor:default}.map-node text.map-place-name,.map-landmark .map-place-name{font-size:32px}.map-landmark .map-place-note{font-size:25px}.map-taken-stamp{display:none;color:#ad6958}.map-node.is-taken .map-taken-stamp{display:block}.map-taken-stamp .map-status{font:400 25px OldWorld,serif;fill:#d99b86;letter-spacing:.06em;stroke:none}.map-node.is-taken{cursor:not-allowed}.map-node.is-taken use,.map-node.is-taken:hover use{opacity:.5;stroke:#a85c4d;stroke-width:1.5}.map-node.is-taken .map-place-name{fill:#a99a88}.camp-layout{align-items:start}.map-water-label{font-size:30px;fill:#bcb197;paint-order:stroke;stroke:#182019;stroke-width:5px;stroke-linejoin:round}@media(max-width:699px){.map-terrain-mobile{display:block}.map-terrain-desktop{display:none}.map-node text.map-place-name,.map-landmark .map-place-name{font-size:36px}.map-landmark .map-place-note{font-size:28px}.heart-zone-title{font-size:36px}.heart-zone-caption{font-size:29px}.map-taken-stamp .map-status{font-size:28px}}

/* The only alibi-card change: a quiet label replaces the short rule, in the same 51px space. */
.calling-card .card-dress-label{font:400 13px/1.4 PaperCopy,serif;font-variant:small-caps;letter-spacing:.12em;color:var(--card-muted);margin:16.4px auto}

/* V31: photographic cast, complete venue units, and an unambiguous crew form. */
#house .venue-intro{font:400 24px/1.4 PaperCopy,serif;color:var(--muted);margin:16px auto 34px}
#house .house-pair{align-items:start}
#house .house-pair>figure{display:flex;flex-direction:column;margin:0;min-width:0}
#house .house-engraving{width:100%;flex:none}
#booking-dialog .guest-field{display:block;padding:18px 20px 22px;margin:26px 0;border-color:#756b51}
#booking-dialog .guest-field legend{font:400 29px/1.2 PaperCopy,serif;color:#f0e4c8;padding:0 9px}
#booking-dialog .guest-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px}
#booking-dialog .guest-input{min-width:0}
#booking-dialog .guest-input:last-child:nth-child(odd){grid-column:1/-1}
#booking-dialog .guest-input label{display:block;grid-area:auto;font:400 22px/1.25 PaperCopy,serif;color:#e5ddc9;margin:0 0 8px}
#booking-dialog .guest-input input{display:block;grid-area:auto;width:100%;min-width:0;min-height:52px;padding:12px;border:1px solid #968965;border-radius:2px;background:#23291e;color:#f1e8d0;font:400 18px/1.4 system-ui,sans-serif;appearance:none;-webkit-appearance:none;scroll-margin-block:52px 20px}
#booking-dialog .guest-input input::placeholder{color:#b7ae98;opacity:1}
#booking-dialog .guest-input input:focus-visible{outline:2px solid #d9be80;outline-offset:3px;border-color:#d9be80}
#booking-dialog .modal-top{position:relative;z-index:2}
#booking-dialog .modal-content{scroll-padding-block:20px}
@media(max-width:699px){
 #house .venue-intro{font-size:23px;max-width:300px;margin:15px auto 30px}
 #house .house-pair{grid-template-columns:1fr;gap:0}
 #house .house-pair>figure+figure{margin-top:40px;padding-top:40px;border-top:1px solid #716346}
 #booking-dialog .guest-field{padding:17px 14px 20px;margin:24px 0}
 #booking-dialog .guest-inputs{grid-template-columns:minmax(0,1fr);gap:20px}
 #booking-dialog .guest-input label{font-size:22px}
}
