@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#171916;--cream:#f7f6ef;--lime:#ef4b4b;--muted:#60635b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,summary,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a72525;outline-offset:5px}header{height:104px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d6d7cf;gap:24px}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:13px;line-height:1.14;letter-spacing:.4px}.brand-icon{display:block;font-size:39px;letter-spacing:-11px;width:47px;position:relative;font-weight:800;line-height:1}.brand-icon span{font-style:italic}.brand-icon i{width:8px;height:8px;border-radius:50%;background:var(--lime);border:1px solid var(--ink);position:absolute;top:2px;right:0}.brand-dot{vertical-align:top;font-size:9px}nav{display:flex;gap:33px;font-size:13px;font-weight:600}.button{min-height:53px;padding:17px 24px;display:inline-flex;justify-content:space-between;align-items:center;gap:36px;border:0;border-radius:4px;font-size:13px;font-weight:700;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button span{font-size:21px;line-height:16px}.dark{background:var(--ink);color:var(--cream)}.lime{background:var(--lime);color:var(--ink)}.menu{display:none}.hero{display:grid;grid-template-columns:48% 52%;min-height:690px}.hero-copy{padding:56px 8% 36px 9.4%}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.7}.spark{font-size:23px;vertical-align:middle;margin-right:10px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(50px,5.7vw,86px);line-height:1.01;letter-spacing:-6px;font-weight:800;margin:24px 0}em{font-style:normal;position:relative;z-index:0}h1 em:after{content:'';position:absolute;left:-3px;bottom:3px;width:104%;height:25px;background:var(--lime);z-index:-1;transform:rotate(-2deg)}.hero-copy>p{font-size:14px;line-height:1.8;max-width:340px;color:#55594f;margin-bottom:28px}.hero-foot{display:flex;gap:13px;align-items:center;margin-top:44px;font-size:8px;line-height:1.6;letter-spacing:1px;font-weight:700}.tiny-stars{font-size:21px;letter-spacing:-5px;padding-right:6px}.hero-image{position:relative;overflow:hidden;background:#232322}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:53% center}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0009)}.photo-label{position:absolute;top:29px;left:27px;padding:9px 12px;color:#fff;border:1px solid #fff8;font-size:8px;letter-spacing:1.5px;z-index:1}.image-index{position:absolute;bottom:26px;left:28px;z-index:1;color:white;font-size:9px;letter-spacing:1.5px}.round-stamp{position:absolute;bottom:35px;right:28px;border-radius:50%;width:125px;height:125px;background:var(--lime);z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(12deg);font-size:11px;font-weight:800;letter-spacing:1px;line-height:1.6}.round-stamp b{font-size:32px;line-height:1.2}.ticker{background:var(--lime);padding:23px 4.5%;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:12px;letter-spacing:1.7px;font-weight:800}.ticker b{font-size:25px;font-weight:400}.section{padding:94px 6.5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:43px}h2{font-size:clamp(36px,4.1vw,59px);line-height:1.1;letter-spacing:-2.8px;font-weight:800}.section-heading h2{margin-top:16px}.section-heading>p{max-width:285px;font-size:14px;color:var(--muted);line-height:1.8;padding-bottom:5px}.booth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.booth-photo{aspect-ratio:1/1.1;position:relative;overflow:hidden;border-radius:4px}.booth-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.booth:hover .booth-photo img{transform:scale(1.04)}.pill{position:absolute;bottom:16px;left:16px;background:var(--cream);border-radius:30px;padding:8px 11px;font-size:8px;letter-spacing:1px;font-weight:700}.booth-title{display:flex;justify-content:space-between;align-items:center;margin:22px 0 12px}.booth-title h3{font-size:25px;letter-spacing:-1px}.booth-title>span{font-size:10px;color:#777}.booth>p{font-size:13px;color:var(--muted);line-height:1.8;max-width:320px;min-height:72px}.text-link{width:100%;text-align:left;border:0;border-bottom:1px solid #c9cbc0;padding:19px 0 14px;background:transparent;display:flex;justify-content:space-between;font-size:12px;font-weight:700}.text-link span{font-size:21px}.extras{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1.25fr;gap:12%}.extras h2{margin:18px 0 22px}.extras h2 em{color:var(--lime)}.extras-intro{position:relative}.extras-intro>p{font-size:13px;color:#b5b9ab;line-height:1.8;max-width:310px;margin-bottom:26px}.extras-art{position:absolute;bottom:-20px;right:0;font-size:110px;color:var(--lime);line-height:1;transform:rotate(15deg)}details{border-bottom:1px solid #44483e}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:17px;font-size:18px;padding:25px 0;font-weight:500}summary::-webkit-details-marker{display:none}summary>span{font-size:9px;color:#a4a897}summary>b{margin-left:auto;font-size:20px;font-weight:400;color:var(--lime)}details>p{font-size:13px;line-height:1.85;color:#b5b9ab;padding:0 30px 25px 32px}.gallery{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:17px}.gallery button{padding:0;position:relative;border:0;background:#ddd;overflow:hidden;border-radius:4px;aspect-ratio:.95}.gallery button:nth-child(2){margin-top:40px}.gallery button:nth-child(3){margin-top:80px}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery button:hover img{transform:scale(1.05)}.gallery button span{position:absolute;bottom:0;left:0;width:100%;text-align:left;background:linear-gradient(transparent,#000a);padding:40px 18px 18px;color:#fff;font-size:9px;letter-spacing:1px}.caption{font-size:10px;color:#74796a;margin-top:18px}.process{padding-top:40px;border-top:1px solid #d5d7cd}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:34px}.steps>div>span{font-size:9px;letter-spacing:1px}.steps h3{font-size:21px;letter-spacing:-.6px;margin:15px 0 13px}.steps p{font-size:13px;line-height:1.8;color:var(--muted);max-width:280px}.inquiry{background:var(--lime);display:grid;grid-template-columns:1fr 1.1fr;gap:11%}.inquiry h2{font-size:clamp(45px,5.3vw,76px);margin:22px 0;letter-spacing:-4px}.inquiry h2 em{font-family:Georgia,serif;font-style:italic;font-weight:400}.inquiry>div>p{font-size:14px;line-height:1.8;max-width:320px}.template-note{border-top:1px solid #17191640;font-size:11px;line-height:1.8;margin-top:40px;padding-top:16px;max-width:320px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}form label{display:block;font-size:11px;font-weight:700;margin-bottom:20px}input:not([type=checkbox]),select,textarea{display:block;width:100%;border:0;border-bottom:1px solid #17191666;border-radius:0;background:transparent;padding:12px 0;font-size:13px;outline-offset:4px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#3b1414;opacity:1}fieldset{border:0;padding:0;margin:0 0 20px}legend{font-size:11px;font-weight:700;margin-bottom:13px}legend small{font-weight:400}.checks{display:flex;flex-wrap:wrap;gap:9px}.checks label{display:flex;gap:6px;align-items:center;margin:0;border:1px solid #17191650;border-radius:30px;padding:9px 10px;font-weight:500;font-size:10px;cursor:pointer}.checks label:has(input:checked){background:var(--ink);color:var(--lime)}input[type=checkbox]{accent-color:var(--ink);margin:0}.inquiry form>.button{width:100%}.form-status{font-size:12px;margin-top:10px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:9%}.faq h2{font-size:35px;letter-spacing:-1.5px}.faq details{border-color:#cdd0c4}.faq summary{font-size:14px;padding:19px 0}.faq summary b{color:var(--ink)}.faq details p{color:var(--muted);padding-left:0}footer{background:var(--ink);color:var(--cream);padding:50px 6.5% 22px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px}footer>p{font-size:12px;color:#b5b9ab}footer>a:last-of-type{font-size:10px;letter-spacing:1px;color:var(--lime)}.footer-bottom{width:100%;margin-top:24px;padding-top:21px;border-top:1px solid #44483e;display:flex;justify-content:space-between;gap:14px;font-size:9px;color:#a4a897}dialog{border:0;border-radius:8px;padding:42px;max-width:580px;width:calc(100% - 32px);background:var(--cream);color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog h2{font-size:34px;letter-spacing:-1px;margin:16px 0}dialog p,dialog li{font-size:14px;line-height:1.8}dialog ul{padding-left:20px;margin-bottom:25px}.close{position:absolute;top:12px;right:15px;border:0;background:var(--cream);font-size:25px;border-radius:50%;width:34px;height:34px;z-index:1}#photo-dialog{padding:0;max-width:1100px;background:#111}#photo-dialog img{display:block;width:100%;max-height:85vh;object-fit:contain}pre{font-family:inherit;font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;border-block:1px solid #ccc;padding:16px 0}#inquiry-dialog .button{margin-top:20px}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.hero{min-height:780px}.hero-copy{padding-top:75px}}@media(max-width:1000px){header{height:85px}nav{gap:20px}.nav-cta{font-size:11px;padding:14px;gap:15px}.hero{min-height:620px}.hero-copy{padding-top:45px}h1{letter-spacing:-4px}.section{padding:70px 5%}.extras{gap:6%}.extras-art{font-size:80px;right:5px;bottom:5px}.inquiry{gap:6%}.booth-title h3{font-size:21px}.ticker{font-size:10px;letter-spacing:1px}.hero-foot{margin-top:28px}.section-heading>p{max-width:250px}}
@media(max-width:700px){header{height:78px;padding:0 5%;gap:12px}.brand{font-size:10px}.brand-icon{font-size:33px;width:40px}.nav-cta{margin-left:auto;font-size:10px;min-height:40px;padding:12px}.nav-cta span{display:none}.menu{display:block;background:none;border:0;font-size:21px}nav{display:none;position:absolute;top:78px;left:0;width:100%;padding:25px;background:var(--cream);z-index:5;border-bottom:1px solid #ccc}nav.open{display:flex;justify-content:center}.hero{grid-template-columns:1fr}.hero-copy{padding:38px 6% 34px}.hero h1{font-size:clamp(44px,12vw,58px);letter-spacing:-2.2px;line-height:1.06;margin:20px 0}.hero h1 br:nth-child(2){display:none}.hero-copy>p{max-width:360px}.hero-foot{display:none}.hero-image{height:420px}.hero-image>img{object-position:center 48%}.round-stamp{width:100px;height:100px;font-size:9px}.ticker{overflow:auto;justify-content:flex-start;white-space:nowrap;gap:25px;padding:17px 6%;font-size:9px}.ticker b{font-size:20px}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:30px}h2{font-size:41px;letter-spacing:-2px}.section-heading>p{max-width:360px;margin-top:20px}.booth-grid{grid-template-columns:1fr;gap:38px}.booth-photo{aspect-ratio:1.15}.booth-title h3{font-size:26px}.booth>p{min-height:0;max-width:none}.extras{grid-template-columns:1fr;gap:30px}.extras-intro{padding-right:35px}.extras-art{right:0;bottom:5px;font-size:90px}.extras .button{position:relative;z-index:1}.extras-list summary{font-size:16px}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery button:nth-child(2){margin-top:25px}.gallery button:nth-child(3){margin-top:0;grid-column:span 2;aspect-ratio:1.6}.gallery button span{font-size:8px;padding:25px 12px 12px}.steps{grid-template-columns:1fr;gap:30px}.steps p{max-width:none}.steps h3{margin:10px 0}.inquiry{grid-template-columns:1fr;gap:35px}.inquiry h2{font-size:58px;letter-spacing:-3px}.template-note{max-width:none;margin-top:24px}.faq{grid-template-columns:1fr;gap:22px}.faq h2{font-size:31px}footer{padding:40px 6% 20px;gap:25px}footer>p{width:100%;order:2;margin-top:-10px}footer>a:last-of-type{font-size:9px;margin-left:auto}.footer-bottom{order:3;flex-wrap:wrap;margin-top:10px;line-height:1.8}.footer-bottom>span:nth-child(2){order:3;width:100%}dialog{padding:33px 24px}dialog h2{font-size:29px}.field-row{gap:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Fourth booth and full-cover gallery composition. */
@media(min-width:1001px){.booth-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.booth-title h3{font-size:22px}.booth>p{min-height:94px}.booth-photo{aspect-ratio:1/1.25}.magazine-booth .booth-photo img{object-fit:contain;background:#e5e4de}}
@media(min-width:701px) and (max-width:1000px){.booth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 25px}.magazine-booth .booth-photo img{object-fit:contain;background:#e5e4de}}
.gallery .magazine-gallery{grid-column:1/-1;margin-top:0;aspect-ratio:auto;min-height:400px;background:#e5e4de}.gallery .magazine-gallery img{object-fit:contain;max-height:680px;width:100%;height:100%;display:block}.gallery .magazine-gallery span{padding-top:50px}
@media(max-width:700px){.magazine-booth .booth-photo{aspect-ratio:1}.magazine-booth .booth-photo img{object-fit:contain;background:#e5e4de}.gallery .magazine-gallery{min-height:0;aspect-ratio:1}.gallery .magazine-gallery img{max-height:none}}

/* Keep both the DSLR booth and the guests visible in the selfie photos. */
.booth-photo img[src$="selfie-dslr.jpg"],.gallery img[src$="selfie-dslr.jpg"]{object-fit:contain;background:#211b16}

/* Feature the complete selfie booth scene on the home page. */
.selfie-hero{background:#211b16}.selfie-hero:before{content:"";position:absolute;inset:-35px;background:url("assets/selfie-dslr.jpg") center/cover;filter:blur(28px);opacity:.28}.selfie-hero>img{object-fit:contain;object-position:center;z-index:0}.selfie-hero .round-stamp{line-height:1.35}

[hidden]{display:none!important}.inquiry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.outline{background:transparent;color:var(--ink);border:1px solid #b5b8aa}.availability-panel{margin-top:28px;border-top:1px solid #cdd0c4;padding-top:24px}.availability-panel h3{font-size:25px;letter-spacing:-.8px;margin:10px 0 18px}.availability-panel dl{display:grid;grid-template-columns:95px 1fr;gap:9px 12px;font-size:13px;line-height:1.6;margin:0 0 18px}.availability-panel dt{color:var(--muted)}.availability-panel dd{margin:0;overflow-wrap:anywhere}.availability-status{display:inline-block;padding:5px 12px;border-radius:30px;background:#fbe4e4;font-weight:700;font-size:11px!important;margin-bottom:9px}.availability-panel>p{font-size:12px;line-height:1.8;margin-bottom:10px}.availability-panel .button{font-size:12px;gap:16px}#inquiry-dialog .inquiry-actions .button{margin-top:0}@media(max-width:500px){.inquiry-actions>.button{width:100%}}

.email-help{font-size:11px!important;line-height:1.7;color:#3b1414;margin:12px 0 0}#inquiry-form>.inquiry-actions>.button{flex:1;gap:15px}#inquiry-dialog .email-help{color:var(--muted)}.footer-bottom>a[href^="mailto:"]{overflow-wrap:anywhere}

.booth-gallery-link{padding-top:15px;color:#7a2626}.gallery-page{max-width:1400px;margin:auto}.gallery-page h1{font-size:clamp(34px,4.5vw,60px);letter-spacing:-2px;line-height:1.1;margin:18px 0}.gallery-page>p:not(.caption){color:var(--muted);line-height:1.8}.gallery-tabs{display:flex;position:static;flex-wrap:wrap;gap:10px;width:auto;padding:0;margin:30px 0;background:none;border:0}.gallery-tabs a{display:block;border:1px solid #b8bdad;border-radius:30px;padding:11px 18px;font-size:13px;font-weight:600}.gallery-tabs a[aria-current=page]{background:var(--lime);border-color:var(--ink)}.booth-gallery-photos figure{margin:0}.gallery-photo-open{display:block;width:100%;border:0;padding:0;background:#211b16;border-radius:6px;overflow:hidden}.gallery-photo-open img{display:block;width:100%;max-height:780px;object-fit:contain}.booth-gallery-photos figcaption{font-size:12px;line-height:1.8;color:var(--muted);margin-top:12px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding-top:30px;border-top:1px solid #cdd0c4}.gallery-bottom p{font-size:23px;font-weight:600;letter-spacing:-.5px}#gallery-photo-dialog{padding:0;max-width:1200px;background:#111}#gallery-photo-dialog img{width:100%;display:block;max-height:85vh;object-fit:contain}@media(max-width:700px){.gallery-header .button{font-size:10px;padding:12px;gap:12px;min-height:42px}.gallery-tabs{display:flex;gap:8px}.gallery-tabs a{font-size:11px;padding:10px 13px}.gallery-bottom{align-items:flex-start;flex-direction:column}.gallery-page h1{letter-spacing:-1.5px}}

/* White lettering on the red accent bands, badges, buttons, and form. */
.ticker,.round-stamp,.lime,.inquiry,.gallery-tabs a[aria-current=page]{color:#fff}
.hero h1 em{color:#fff}.hero h1 em:after{height:100%;bottom:0}
.inquiry input:not([type=checkbox]),.inquiry select,.inquiry textarea,.inquiry .email-help,.inquiry .outline{color:#fff}
.inquiry input::placeholder,.inquiry textarea::placeholder{color:#fff;opacity:.9}
.inquiry input:not([type=checkbox]),.inquiry select,.inquiry textarea,.inquiry .outline,.inquiry .checks label,.inquiry .template-note{border-color:#ffffff99}
.inquiry select option{color:var(--ink);background:var(--cream)}
.inquiry .checks label:has(input:checked){color:#fff}
