:root{--black:#050505;--white:#fff;--cream:#f3efe4;--gold:#c9a227;--teal:#006b66;--pink:#f00072;--cherry:#2a0714;--bg:#006b66;--bg2:#004f4c;--headline:#fff;--text:#fff;--dark:#050505;--accent:#f00072;--support:#006b66;--line:#050505;--card:#f3efe4;--cardtext:#050505;--button:#f00072;--buttontext:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);margin:0;font-family:Helvetica,Helvetica Neue,Arial,sans-serif;font-weight:700}.page{background:linear-gradient(135deg,var(--bg) 0%,var(--bg2) 100%);grid-template-columns:minmax(0,1fr) clamp(24px,4vw,54px);min-height:100vh;display:grid}.accentbar{background:var(--accent)}.main{min-width:0;padding:clamp(22px,3vw,44px)}.brandline{border-bottom:2px solid #fff;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:12px;font-size:clamp(13px,1.2vw,17px);display:flex}.brandname{white-space:nowrap;font-weight:900}.wv-gap{width:.14em;display:inline-block}.location{color:#fff;text-align:right}.hero{padding:clamp(18px,2.8vw,36px) 0 16px}h1{color:var(--headline);text-transform:lowercase;letter-spacing:-.078em;max-width:1120px;margin:0;font-size:clamp(62px,9.6vw,132px);font-weight:900;line-height:.8}.lede{max-width:1000px;color:var(--headline);margin:18px 0 0;font-size:clamp(20px,2.2vw,31px);line-height:1.05}.detailcopy{max-width:1040px;color:var(--headline);margin:14px 0 0;font-size:clamp(15px,1.45vw,20px);line-height:1.3}.offerline{border-top:2px solid #fff;grid-template-columns:auto 1fr auto;align-items:end;gap:28px;margin-top:22px;padding-top:18px;display:grid}.price{color:var(--headline);letter-spacing:-.06em;font-size:clamp(52px,6.3vw,86px);font-weight:900;line-height:.85}.meta{color:#fff;font-size:clamp(15px,1.4vw,19px);line-height:1.3}.btn{-webkit-appearance:none;appearance:none;background:var(--button);color:var(--buttontext);text-transform:lowercase;cursor:pointer;border:0;border-radius:0;padding:16px 26px;font:900 18px/1 Helvetica,Arial,sans-serif}.btn:hover{transform:translateY(-1px)}.introgrid{grid-template-columns:minmax(0,1fr) minmax(240px,330px);align-items:start;gap:28px;margin-top:28px;display:grid}.featurebar{background:var(--card);color:var(--cardtext);border-radius:5px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.feature{border-right:1px solid #05050540;grid-template-columns:36px 1fr;align-items:start;gap:11px;min-height:104px;padding:18px 18px 17px;display:grid}.feature:last-child{border-right:0}.icon{background:var(--support);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;font-size:18px;font-weight:900;display:flex}.feature strong{margin-bottom:3px;font-size:15px;display:block}.feature span{font-size:14px;font-weight:500;line-height:1.25}.contactcard{color:var(--headline);padding:14px 0 0}.contactcard h3{color:#fff;text-transform:lowercase;margin:0 0 6px;font-size:20px}.contactcard p{margin:0;font-size:15px;line-height:1.35}.contactcard a{color:var(--headline)}.lowergrid{grid-template-columns:1.2fr .8fr;gap:34px;margin-top:28px;display:grid}.info h2{color:var(--headline);text-transform:lowercase;border-bottom:1px solid #fff;margin:0 0 10px;padding-bottom:8px;font-size:23px}.checkgrid{grid-template-columns:1fr 1fr;gap:8px 22px;display:grid}.check{color:var(--headline);grid-template-columns:20px 1fr;align-items:start;gap:8px;font-size:14px;line-height:1.3;display:grid}.tick{background:var(--support);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;display:flex}.faqcard{border:1px solid color-mix(in srgb, var(--support) 75%, white 25%);color:var(--headline);grid-template-columns:38px 1fr;gap:12px;margin-top:22px;padding:16px 18px;display:grid}.faqcard .q{background:var(--support);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:22px;display:flex}.booking{border-top:2px solid #fff;max-width:900px;margin-top:30px;padding-top:22px;display:none}.booking.show{display:block}.formgrid{grid-template-columns:1fr 1fr;gap:15px;display:grid}label{color:var(--headline);letter-spacing:.08em;text-transform:uppercase;margin:11px 0 6px;font-size:12px;display:block}input,textarea,select{border:2px solid var(--line);background:#fff;border-radius:0;width:100%;padding:12px;font:700 16px Helvetica,Arial,sans-serif;color:#050505!important}textarea{min-height:86px}.time-options{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.time-option{position:relative}.time-option input{opacity:0;pointer-events:none;position:absolute}.time-option span{border:2px solid var(--line);color:var(--headline);text-align:center;cursor:pointer;background:0 0;padding:12px 7px;display:block}.time-option input:checked+span{background:var(--button);color:var(--buttontext);border-color:var(--button)}.legalcheck{border-top:1px solid #ffffffbf;border-bottom:1px solid #ffffffbf;margin:18px 0 4px;padding:14px 0}.legalcheck label{text-transform:none;letter-spacing:0;align-items:flex-start;gap:10px;font-size:13px;line-height:1.35;display:flex}.legalcheck input{width:auto;margin-top:2px}.legalcheck a{color:inherit}.faq{max-width:900px;color:var(--headline);margin-top:28px}.faq details{border-top:1px solid #fff9;padding:11px 0}.faq summary{cursor:pointer;font-weight:900}.faq p{font-size:14px;line-height:1.4}.contactline,.legal-links{color:var(--headline);margin-top:15px;font-size:12px}.contactline a,.legal-links a{color:inherit}.field-error{outline-offset:2px;outline:4px solid var(--gold)!important}.error-summary{background:var(--gold);color:#050505;border-left:8px solid var(--pink);margin:15px 0;padding:14px 16px}.field-message{color:var(--headline);margin-top:5px;font-size:13px;display:block}.result{color:var(--headline);border-top:2px solid #fff;margin-top:22px;padding-top:20px}.code{background:var(--cream);color:#050505;padding:10px 14px;font:900 28px/1 ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-block}.prototype{border:1px solid #ffffff80;margin-top:14px;padding:10px 12px;font-size:12px}.root{background:linear-gradient(135deg,var(--teal),#004f4c);color:#fff;grid-template-columns:1fr 50px;min-height:100vh;display:grid}.rootmain{flex-direction:column;justify-content:center;padding:50px;display:flex}.root h1{font-size:clamp(80px,16vw,220px)}.launcher{color:#fff;background:#111;padding:38px}.launcher a{color:var(--teal);margin:18px 0;font-size:28px;font-weight:900;text-decoration:none;display:block}@media (max-width:920px){.introgrid{grid-template-columns:1fr}.featurebar{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.feature:nth-child(-n+2){border-bottom:1px solid #05050533}.lowergrid{grid-template-columns:1fr}}@media (max-width:700px){.page{grid-template-columns:1fr 18px}.main{padding:18px}.brandline{flex-direction:column;align-items:flex-start}.location{text-align:left}h1{font-size:clamp(56px,17vw,86px)}.offerline,.featurebar{grid-template-columns:1fr}.feature{border-bottom:1px solid #05050533;border-right:0}.feature:last-child{border-bottom:0}.checkgrid,.formgrid{grid-template-columns:1fr}.time-options{grid-template-columns:repeat(2,1fr)}.btn{width:100%}}.contactcard,.contactcard p,.contactcard a,.meta,.location,.brandline,.contactline,.legal-links{color:#fff!important}.introgrid{grid-template-columns:1fr}.featurebar{max-width:1050px}.faq{margin-top:22px}.faq details{padding:9px 0}.experience{color:#fff;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.35fr);align-items:center;gap:34px;margin-top:30px;padding:0;display:grid}.experience-copy h2{letter-spacing:-.045em;color:#fff;border-bottom:2px solid #fff;margin:0 0 14px;padding-bottom:12px;font-size:clamp(34px,4vw,58px);line-height:.92}.experience-copy p{max-width:620px;margin:0 0 14px;font-size:16px;font-weight:500;line-height:1.38}.experience-points{grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:20px;display:grid}.experience-point{grid-template-columns:24px 1fr;align-items:start;gap:9px;font-size:13px;line-height:1.25;display:grid}.experience-point b{background:var(--pink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:21px;height:21px;display:flex}.gallery-title{color:#fff;grid-column:1/-1;margin:8px 0 -18px;font-size:24px}.workgallery{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.worktile{aspect-ratio:1.18;border:1px solid #ffffffa6;position:relative;overflow:hidden}.worktile:after{content:attr(data-label);color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#050505e0;padding:5px 7px;font-size:10px;position:absolute;bottom:8px;left:8px}.worktile.people{background:linear-gradient(145deg,#c9a227,#2a0714)}.worktile.place{background:linear-gradient(145deg,#006b66,#050505)}.worktile.day{background:linear-gradient(145deg,#f3efe4,#c9a227)}.worktile.night{background:linear-gradient(145deg,#2a0714,#050505)}.worktile.action{background:linear-gradient(145deg,#050505,#f00072)}.worktile.detail{background:linear-gradient(145deg,#006b66,#f00072)}.placeholder-note{opacity:.72;grid-column:1/-1;margin-top:-20px;font-size:10px;font-weight:500}@media (max-width:900px){.experience{grid-template-columns:1fr}}@media (max-width:650px){.workgallery{grid-template-columns:1fr 1fr}.experience-points{grid-template-columns:1fr}}.offerline .btn{min-width:190px;padding:20px 38px;font-size:clamp(22px,2vw,30px)}.party-note{color:#fff;grid-column:1/-1;margin:0;padding-top:4px;font-size:14px;line-height:1.25}.party-note strong{font-weight:900}.audience-cta{border-top:2px solid #fff;border-bottom:2px solid #fff;grid-template-columns:1fr auto;align-items:center;gap:22px;margin-top:28px;padding:22px 0;display:grid}.audience-cta h2{color:#fff;letter-spacing:-.055em;margin:0;font-size:clamp(34px,4.4vw,64px);line-height:.88}.audience-cta p{color:#fff;margin:9px 0 0;font-size:15px;line-height:1.3}.audience-cta .btn{min-width:190px;padding:19px 32px;font-size:24px}.bottom-cta{background:var(--button);color:var(--buttontext);grid-template-columns:1fr auto;align-items:center;gap:20px;margin:28px 0 8px;padding:22px;display:grid}.bottom-cta strong{letter-spacing:-.04em;font-size:clamp(28px,3.4vw,48px);line-height:.92;display:block}.bottom-cta span{font-size:14px}.bottom-cta .btn{color:#050505;background:#fff;border:2px solid #050505;font-size:22px}@media (max-width:700px){.audience-cta,.bottom-cta{grid-template-columns:1fr}.audience-cta .btn,.bottom-cta .btn{width:100%}.offerline .btn{padding:20px;font-size:26px}}.offerline{align-items:end;gap:18px 32px;padding-bottom:6px}.party-note{max-width:780px;margin-top:18px;padding-top:0;line-height:1.35}.offerline .btn{align-self:end;margin-bottom:2px}@media (max-width:700px){.party-note{margin-top:14px}}.worktile{cursor:zoom-in;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.lightbox{z-index:9999;background:#000000c7;justify-content:center;align-items:center;padding:6vw;display:none;position:fixed;inset:0}.lightbox.show{display:flex}.lightbox-card{aspect-ratio:1.45;border:1px solid #fffc;width:min(58vw,740px);max-height:62vh;position:relative;box-shadow:0 16px 50px #00000073}.lightbox-card:after{content:attr(data-label);color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#050505e6;padding:6px 9px;font-size:12px;position:absolute;bottom:12px;left:14px}.lightbox-close{color:#050505;cursor:pointer;background:#fff;border:0;width:38px;height:38px;font-size:24px;line-height:1;position:absolute;top:14px;right:14px}@media (max-width:700px){.lightbox{padding:22px}.lightbox-card{width:100%;max-height:70vh}}.lightbox-card{cursor:zoom-out}@media (max-width:700px){.lightbox-card{width:min(86vw,560px);max-height:58vh}}.lede br{display:block}@media (min-width:1100px){.lede{max-width:1120px}}.introgrid,.featurebar{width:100%;max-width:none}.camera-types{white-space:nowrap}.protips{color:var(--headline);border-top:2px solid #fffc;border-bottom:2px solid #fffc;margin:26px 0;padding:18px 0}.protips h2{text-transform:lowercase;margin:0 0 8px;font-size:clamp(24px,3.2vw,44px);line-height:.95}.protips p{max-width:850px;margin:0;font-size:clamp(16px,1.6vw,22px);line-height:1.25}@media (max-width:520px){.camera-types{white-space:normal}.protips{margin:18px 0;padding:14px 0}}.worktile{background-position:50%!important;background-repeat:no-repeat!important;background-size:cover!important}.lightbox-card{background-color:#050505!important;background-position:50%!important;background-repeat:no-repeat!important;background-size:contain!important}.attendee-block{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 18px;margin:18px 0;display:grid}.attendee-block label{grid-column:1/-1}.attendee-block #total-price{color:var(--headline);white-space:nowrap;text-transform:lowercase;font-size:clamp(24px,3vw,38px);line-height:1}.brandname{color:inherit;text-decoration:none}.worktile{padding:0}.terms-page{color:#181818;max-width:850px;margin:40px auto;padding:0 24px;font:400 15px/1.55 Helvetica,Arial,sans-serif}.terms-page h1{letter-spacing:-.04em;color:#181818;text-transform:none;font-size:44px;line-height:1}.terms-page h2{margin-top:30px;font-size:18px}.terms-page small{color:#666}@media (max-width:700px){.attendee-block{grid-template-columns:1fr}.attendee-block #total-price{margin-top:10px}}.home-nav{flex-wrap:wrap;gap:10px 24px;margin-top:28px;display:flex}.home-nav a{color:#fff;font-size:18px}.booking-summary{max-width:900px}.codewrap{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.codewrap .btn{font-size:14px}.admin-page{color:#050505;background:#f3efe4;min-height:100vh;padding:32px;font:500 15px/1.4 Helvetica,Arial,sans-serif}.admin-page header{border-bottom:3px solid #050505;justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.admin-page h1{color:#050505;font-size:clamp(52px,8vw,100px)}.admin-page a{color:#050505}.admin-filters{grid-template-columns:2fr 1fr 1fr auto;gap:10px;margin-bottom:18px;display:grid}.admin-filters input,.admin-filters select,.admin-filters button{color:#050505;background:#fff;border:2px solid #050505;padding:11px}.admin-filters button,.booking-table button{color:#fff;cursor:pointer;background:#050505;border:0;margin:2px;padding:8px 10px}.booking-table{overflow:auto}.booking-table table{border-collapse:collapse;background:#fff;width:100%}.booking-table th,.booking-table td{text-align:left;vertical-align:top;border:1px solid #aaa;min-width:110px;padding:10px}.booking-table th{color:#fff;background:#050505}.admin-error{color:#fff;background:#f00072;padding:12px}@media (max-width:800px){.admin-filters{grid-template-columns:1fr}.admin-page{padding:18px}}
