:root{--cream:#fff8ee;--paper:#fffdf8;--ink:#111111;--gold:#d9a443;--coral:#e97970;--mint:#9bcfc0;--lilac:#cbb1dd;--line:rgba(17,17,17,.14);--shadow:0 20px 50px rgba(28,20,10,.12);--radius:26px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.section{max-width:var(--max);margin:auto;padding:110px 28px}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px max(24px,calc((100vw - var(--max))/2));background:rgba(255,253,248,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.brand{display:inline-grid;grid-template-columns:auto auto;column-gap:7px;align-items:end;line-height:.86}.brand-smile{font-family:Georgia,serif;font-size:30px}.brand-station{font-family:"Brush Script MT",cursive;font-size:31px;color:var(--gold);transform:rotate(-4deg)}.brand small{grid-column:1/-1;letter-spacing:.31em;font-size:8px;margin-top:7px;text-align:center}.nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:700}.nav>a:not(.button):hover{color:#8a6528}.menu-toggle{display:none;border:0;background:transparent;font-size:25px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:49px;padding:0 24px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:white;font-weight:800;cursor:pointer;transition:.2s}.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.15)}.button-small{min-height:40px;padding:0 19px}.button-outline{background:transparent;color:var(--ink)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:12px;color:#8a6528;margin:0 0 16px}.hero{min-height:760px;display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:60px}.hero h1,.section-heading h2,.booking-copy h2{font-family:Georgia,serif;font-size:clamp(48px,6vw,82px);line-height:1.02;letter-spacing:-.045em;margin:0}.hero h1 span{font-family:"Brush Script MT",cursive;color:var(--gold);font-weight:400;letter-spacing:0}.hero-text{font-size:19px;max-width:610px;color:#4c463e;margin:27px 0}.hero-actions{display:flex;align-items:center;gap:24px}.text-link{font-weight:800}.trust-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.trust-row span{border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800;background:white}.hero-art{height:590px;position:relative;border-radius:48% 52% 44% 56%/55% 42% 58% 45%;background:linear-gradient(145deg,#fff0da,#f6e7f6 50%,#e7f6ef);box-shadow:var(--shadow);overflow:hidden}.booth{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:230px;height:500px}.ring{width:170px;height:170px;border:18px solid #f7fffc;border-radius:50%;margin:auto;box-shadow:0 0 0 6px #111,0 0 35px rgba(155,207,192,.9)}.booth-head{width:175px;height:205px;background:#eee7df;border:6px solid #111;border-radius:55px;margin:-2px auto 0;position:relative;box-shadow:0 0 0 8px rgba(203,177,221,.85)}.lens{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:30px;height:30px;background:#111;border:7px solid #434343;border-radius:50%}.screen{position:absolute;left:50%;top:70px;transform:translateX(-50%);width:90px;height:104px;background:#1d1d1d;border:7px solid #111;border-radius:10px;color:white;text-align:center;padding-top:14px;font-size:32px;line-height:1}.screen small{font-size:11px}.booth-stand{width:38px;height:150px;background:#eee7df;border:5px solid #111;margin:auto;border-top:0;box-shadow:inset 0 0 0 8px rgba(233,121,112,.35)}.booth-base{width:170px;height:38px;background:#eee7df;border:5px solid #111;border-radius:50%;margin:-4px auto}.photo-strip{position:absolute;width:74px;padding:7px;background:#f5d4bd;border:4px solid #111;box-shadow:var(--shadow)}.photo-strip i{display:block;height:62px;border:2px solid #111;background:linear-gradient(145deg,var(--mint),var(--coral));margin-bottom:6px}.strip-one{left:42px;bottom:55px;transform:rotate(-14deg)}.strip-two{right:45px;top:70px;transform:rotate(13deg)}.sparkle{position:absolute;font-size:56px}.s1{left:70px;top:80px;color:var(--gold)}.s2{right:65px;bottom:70px;color:var(--coral)}.s3{right:105px;top:220px;color:#111}.confetti{position:absolute;width:16px;height:60px;border:7px solid currentColor;border-top:0;border-bottom:0;border-radius:50%}.c1{left:135px;top:42px;color:var(--coral);transform:rotate(23deg)}.c2{right:150px;bottom:50px;color:var(--mint);transform:rotate(-17deg)}.c3{right:36px;top:270px;color:var(--gold);transform:rotate(40deg)}.ticker{background:var(--ink);color:white;padding:17px 28px;font-weight:900;letter-spacing:.12em;text-align:center}.ticker div{max-width:var(--max);margin:0 auto;white-space:normal;line-height:1.55}.intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.section-heading h2,.booking-copy h2{font-size:clamp(41px,5vw,65px)}.section-heading>p:last-child{max-width:720px;color:#5d554a}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature-card{padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:white}.feature-card span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--cream);font-weight:900;color:#8a6528}.feature-card h3{font-family:Georgia,serif;font-size:24px;margin:24px 0 10px}.feature-card p{margin:0;color:#625b51}.packages-section{max-width:none;background:var(--cream)}.packages-section>*{max-width:var(--max);margin-left:auto;margin-right:auto}.centered{text-align:center}.centered p:last-child{margin:20px auto 0}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:55px}.package-card{position:relative;background:white;border:1px solid var(--line);border-radius:var(--radius);padding:38px;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(28,20,10,.04)}.package-card.featured{background:var(--ink);color:white;transform:translateY(-12px)}.popular{position:absolute;right:22px;top:20px;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.package-label{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:900;color:#8a6528}.package-card h3{font-family:Georgia,serif;font-size:61px;margin:5px 0 0}.package-sub{min-height:73px;color:#625b51}.featured .package-sub{color:#d4cec6}.package-card ul{list-style:none;padding:10px 0 22px;margin:0;flex:1}.package-card li{padding:11px 0;border-bottom:1px solid var(--line)}.package-card li:before{content:"✓";margin-right:10px;color:var(--gold);font-weight:900}.featured .button{background:white;color:var(--ink);border-color:white}.addon{margin-top:22px!important;display:flex;align-items:center;justify-content:space-between;padding:30px 38px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.addon h3{font-family:Georgia,serif;font-size:30px;margin:0}.addon p{margin:4px 0}.addon strong{font-family:Georgia,serif;font-size:38px}.gallery-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:270px 270px;gap:20px;margin-top:48px}.gallery-card{position:relative;border-radius:var(--radius);overflow:hidden;min-height:270px;background:#ddd;box-shadow:var(--shadow)}.gallery-card:before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.72),transparent 65%)}.gallery-card>div{position:absolute;left:30px;right:30px;bottom:24px;color:white}.gallery-card span{font-family:Georgia,serif;font-size:35px}.gallery-card p{margin:5px 0}.wedding{grid-row:1/3;background:radial-gradient(circle at 68% 20%,#fff 0 6%,transparent 7%),linear-gradient(130deg,#c6ae87,#fff0d7 48%,#7d7f6e)}.birthday{background:radial-gradient(circle at 20% 30%,#ffdf59 0 3%,transparent 4%),radial-gradient(circle at 75% 25%,#e97970 0 4%,transparent 5%),linear-gradient(135deg,#9bcfc0,#cbb1dd)}.corporate{background:linear-gradient(135deg,#2f3338,#77736c 50%,#d9a443)}.review-section{text-align:center;padding-top:65px;padding-bottom:65px}.quote{font-family:Georgia,serif;font-size:clamp(34px,5vw,57px);line-height:1.15;max-width:990px;margin:auto}.review-section p{color:#6b645a}.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.faq-list details{border-bottom:1px solid var(--line);padding:21px 0}.faq-list summary{cursor:pointer;font-family:Georgia,serif;font-size:24px;font-weight:700;list-style:none}.faq-list summary:after{content:"+";float:right;color:var(--gold)}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:#5e574e;max-width:720px}.booking-section{max-width:none;background:var(--ink);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;padding-left:max(28px,calc((100vw - var(--max))/2));padding-right:max(28px,calc((100vw - var(--max))/2))}.booking-copy p{color:#d0c8be}.contact-links{display:flex;flex-direction:column;gap:12px;margin-top:32px;font-weight:800}.contact-links a:hover{color:var(--gold)}.booking-form{background:var(--paper);color:var(--ink);padding:34px;border-radius:var(--radius)}.booking-form label{display:grid;gap:7px;font-size:13px;font-weight:900;margin-bottom:16px}.booking-form input,.booking-form select,.booking-form textarea{width:100%;border:1px solid #d8d0c5;background:white;border-radius:12px;padding:13px 14px;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(217,164,67,.15)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.booking-form .button{width:100%}.form-note{font-size:11px;color:#746b60;margin:12px 0 0}footer{padding:50px 28px;text-align:center;border-top:1px solid var(--line)}.footer-brand{margin-bottom:15px}.footer-brand+.brand{}footer p{font-size:13px;color:#6b645a}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:74px;left:15px;right:15px;padding:25px;border-radius:20px;background:white;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{text-align:center}.hero,.intro,.faq-section,.booking-section{grid-template-columns:1fr}.hero{padding-top:70px}.hero-art{height:520px}.intro,.faq-section,.booking-section{gap:45px}.package-grid{grid-template-columns:1fr}.package-card.featured{transform:none}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.wedding{grid-row:auto;min-height:430px}.feature-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.section{padding:78px 20px}.site-header{padding:13px 18px}.brand-smile,.brand-station{font-size:25px}.hero{min-height:auto}.hero h1{font-size:49px}.hero-art{height:430px}.booth{transform:translate(-50%,-50%) scale(.75)}.photo-strip{transform:scale(.75) rotate(-14deg)}.strip-two{transform:scale(.75) rotate(13deg)}.feature-grid,.form-row{grid-template-columns:1fr}.package-card{padding:28px}.addon{align-items:flex-start;gap:20px;padding:26px;flex-direction:column}.gallery-card{min-height:330px}.wedding{min-height:380px}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{gap:7px}.booking-form{padding:23px}.nav{top:66px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}.ticker div{animation:none}}


/* Gallery and booking refinements */
.gallery-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:24px;margin-top:48px;align-items:start}
.event-card-stack{display:grid;gap:24px}
.event-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 45px rgba(28,20,10,.09);transition:transform .25s ease,box-shadow .25s ease}
.event-card:hover{transform:translateY(-4px);box-shadow:0 24px 55px rgba(28,20,10,.14)}
.event-card img{display:block;width:100%;height:auto;object-fit:contain;background:#f3efe8}
.event-card-copy{padding:24px 26px;background:#fff;color:var(--ink)}
.event-card-copy h3{font-family:Georgia,serif;font-size:34px;line-height:1.1;margin:0 0 8px}
.event-card-copy p{margin:0;color:#5e574e}
.prop-feature{display:grid;grid-template-columns:1.15fr .85fr;margin-top:28px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(28,20,10,.08)}
.prop-feature img{display:block;width:100%;height:auto;object-fit:contain;align-self:center;background:#f3efe8}
.prop-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:42px;color:var(--ink);background:#fff}
.prop-feature-copy h3{font-family:Georgia,serif;font-size:clamp(38px,5vw,58px);line-height:1;margin:0 0 18px}
.prop-feature-copy>p:last-child{font-size:18px;color:#5e574e;margin:0;max-width:520px}
.review-section{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream)}
.review-section p{font-weight:800;letter-spacing:.04em}
.booking-section{grid-template-columns:.72fr 1.28fr;gap:58px;align-items:start}
.booking-copy>p:not(.eyebrow){max-width:440px;line-height:1.7}
.contact-links{margin-top:26px}
.checkbox-field{display:flex!important;grid-template-columns:none!important;align-items:center;gap:12px!important;border:1px solid #d8d0c5;border-radius:12px;padding:13px 14px;margin-bottom:16px!important;background:#fff;cursor:pointer}
.checkbox-field input{width:18px!important;height:18px;margin:0;accent-color:var(--ink)}
.checkbox-field span{font-size:13px;font-weight:900}
@media(max-width:900px){.gallery-layout,.prop-feature{grid-template-columns:1fr}.prop-feature-copy{padding:32px}.booking-section{grid-template-columns:1fr}}
@media(max-width:580px){.gallery-layout{gap:18px}.event-card-stack{gap:18px}.event-card-copy{padding:20px}.event-card-copy h3{font-size:29px}.prop-feature{margin-top:18px}.prop-feature-copy{padding:25px}.prop-feature-copy>p:last-child{font-size:16px}}

/* Instant prints feature */
.prints-feature{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 45px rgba(28,20,10,.09)}
.prints-feature img{display:block;width:100%;height:auto;object-fit:contain;background:#f3efe8}
.prints-feature-copy{padding:28px 30px;background:#fff;color:var(--ink)}
.prints-feature-copy h3{font-family:Georgia,serif;font-size:clamp(32px,4vw,46px);line-height:1.05;margin:0 0 12px}
.prints-feature-copy>p:not(.eyebrow){margin:0;color:#5e574e;max-width:620px}
.prints-feature-copy strong{display:inline-block;margin-top:18px;font-family:Georgia,serif;font-size:30px;color:#8a6528}
@media(max-width:580px){.prints-feature-copy{padding:22px}.prints-feature-copy h3{font-size:31px}}

/* 2026 premium polish */
:root{--display:"Cormorant Garamond",Georgia,serif;--script:"Parisienne",cursive;--body:"Manrope",Arial,sans-serif;--gold-soft:#f5e5bd}
body{font-family:var(--body);text-rendering:optimizeLegibility}
h1,h2,h3,.quote,.package-card h3,.event-card-copy h3,.prints-feature-copy h3,.prop-feature-copy h3,.faq-list summary{font-family:var(--display)}
.brand-station,.hero h1 span{font-family:var(--script)}
.section{padding-top:112px;padding-bottom:112px}
.section-heading h2{letter-spacing:-.025em;line-height:.98}
.site-header{backdrop-filter:blur(14px);background:rgba(251,249,244,.92)}
.button{box-shadow:0 9px 22px rgba(17,16,14,.12);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(17,16,14,.18)}
.text-link{position:relative}.text-link:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:currentColor;transition:right .25s ease}.text-link:hover:after{right:0}
.feature-card,.package-card,.event-card,.prints-feature,.prop-feature{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease}
.feature-card:hover,.package-card:hover,.event-card:hover,.prints-feature:hover,.prop-feature:hover{transform:translateY(-6px);box-shadow:0 28px 65px rgba(28,20,10,.14);border-color:rgba(180,128,39,.4)}
.package-grid{gap:26px;align-items:stretch}
.package-card{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:40px 34px;background:linear-gradient(180deg,#fff 0%,#fcfaf6 100%)}
.package-card:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.35}
.package-card.featured{background:linear-gradient(160deg,#171512,#090908);transform:translateY(-12px)}
.package-card.featured:hover{transform:translateY(-18px)}
.package-card ul{margin-top:auto}
.gallery-layout{gap:30px}.event-card-stack{gap:30px}
.event-card-copy{padding:28px 30px}.event-card-copy h3{font-size:39px}
.prints-feature-copy,.prop-feature-copy{padding:40px}
.prints-feature-copy h3{font-size:clamp(42px,4.3vw,60px)}
.prints-feature-copy>p:not(.eyebrow){font-size:17px;line-height:1.75}
.prints-feature-copy strong{display:none}
.review-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;text-align:left;background:linear-gradient(145deg,#f4ead7,#fbf8f2)}
.review-heading h2{font-size:clamp(44px,6vw,78px);line-height:.96;margin:8px 0}
.review-card{padding:42px;border:1px solid rgba(138,101,40,.25);border-radius:var(--radius);background:rgba(255,255,255,.72);box-shadow:var(--shadow)}
.review-card blockquote{font-family:var(--display);font-size:clamp(29px,3.2vw,45px);line-height:1.18;margin:14px 0 24px}
.review-stars{color:var(--gold);letter-spacing:.2em;font-size:20px}.review-card p{margin:0}.review-link{grid-column:2;justify-self:start}
.booking-section{padding-top:100px;padding-bottom:100px}.booking-form{box-shadow:0 24px 65px rgba(0,0,0,.28)}
.booking-form label{letter-spacing:.01em}.booking-form input,.booking-form select,.booking-form textarea{font-family:var(--body);transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.site-footer{padding:70px max(28px,calc((100vw - var(--max))/2)) 28px;background:#0f0e0c;color:#fff;text-align:left;border:0}
.footer-grid{display:grid;grid-template-columns:1.5fr .65fr 1fr .8fr;gap:48px;align-items:start}.site-footer .brand{color:#fff}.site-footer p{max-width:440px;color:#bcb3a7;line-height:1.7}.footer-column{display:flex;flex-direction:column;gap:12px}.footer-column strong{color:var(--gold-soft);font-size:12px;text-transform:uppercase;letter-spacing:.14em}.footer-column a,.footer-column span{color:#d8d1c8;font-size:14px}.footer-column a:hover{color:#fff}.footer-column .button{color:#fff;border-color:#6f5630}.footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:55px;padding-top:24px;border-top:1px solid #2c2925;color:#8f877d;font-size:12px}
.reveal{transition-duration:.8s;transition-timing-function:cubic-bezier(.22,1,.36,1)}
.reveal.delay-1{transition-delay:.08s}.reveal.delay-2{transition-delay:.16s}.reveal.delay-3{transition-delay:.24s}
@media(max-width:900px){.section{padding-top:88px;padding-bottom:88px}.package-card.featured,.package-card.featured:hover{transform:none}.review-section{grid-template-columns:1fr;gap:30px}.review-link{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.gallery-layout{gap:22px}.event-card-stack{gap:22px}}
@media(max-width:580px){.section{padding-top:72px;padding-bottom:72px}.hero-text{font-size:16px}.package-card{padding:30px 24px}.event-card-copy h3{font-size:34px}.prints-feature-copy,.prop-feature-copy{padding:26px}.review-card{padding:28px 24px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.site-footer{padding-top:52px}.booking-section{padding-top:72px;padding-bottom:72px}}


/* Netlify booking-form states */
.hidden-field{position:absolute!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;width:1px!important;height:1px!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}
.booking-form button:disabled{cursor:wait;opacity:.72;transform:none}
.form-success{font-weight:700;color:#216e3a}
.form-error{font-weight:700;color:#a12a2a}

/* Mobile gallery order: Wedding, Corporate, Birthday, Instant Prints */
@media (max-width:900px){
  .gallery-layout{display:flex;flex-direction:column;gap:22px}
  .gallery-layout>.event-card-stack{display:contents}
  .wedding-card{order:1}
  .corporate-card{order:2}
  .birthday-card{order:3}
  .prints-feature{order:4}
}
@media (max-width:580px){
  .gallery-layout{gap:18px}
}

/* Interactive hero booth animation */
.booth-animation{cursor:pointer;isolation:isolate}
.booth-animation:focus-visible{outline:4px solid var(--gold);outline-offset:6px}
.hero-flash{position:absolute;inset:0;z-index:20;background:#fff;opacity:0;pointer-events:none}
.booth-animation.is-flashing .hero-flash{animation:cameraFlash .32s ease-out}
.booth-animation.is-flashing .ring{animation:ringFlash .38s ease-out}
.booth-animation.is-flashing .lens{animation:lensBlink .34s ease-out}
.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:0!important;overflow:hidden}
.screen .countdown-number{font-size:36px;line-height:1;font-weight:500}
.screen small{display:block;margin-top:10px;font-size:9px;letter-spacing:.14em;color:#d7d7d7}
.print-slot{position:absolute;left:50%;bottom:13px;z-index:8;width:78px;height:9px;transform:translateX(-50%);border-radius:999px;background:#0b0b0b;box-shadow:inset 0 2px 3px rgba(255,255,255,.12)}
.printed-photo{position:absolute;z-index:7;left:50%;bottom:16px;width:72px;height:120px;padding:6px 6px 13px;transform:translate(-50%,8px) scaleY(.08);transform-origin:top;opacity:0;background:#fff;border:2px solid #161616;border-radius:3px;box-shadow:0 15px 28px rgba(0,0,0,.24);overflow:hidden}
.printed-photo i{display:block;height:26px;margin-bottom:4px;border-radius:2px;background:linear-gradient(135deg,#9bcfc0,#f0c6bd 48%,#cbb1dd)}
.printed-photo i:nth-child(2){background:linear-gradient(135deg,#f2d49b,#e97970 54%,#9bcfc0)}
.printed-photo i:nth-child(3){background:linear-gradient(135deg,#cbb1dd,#fff1d8 50%,#e97970)}
.printed-photo em{position:absolute;left:0;right:0;bottom:2px;text-align:center;font-style:normal;font-size:7px;letter-spacing:.18em;font-weight:900;color:#111}
.booth-animation.is-printing .printed-photo{animation:printPhoto 1.65s cubic-bezier(.18,.72,.22,1) forwards}
.booth-animation.is-celebrating .sparkle{animation:sparklePop .5s ease both}
.booth-animation.is-celebrating .s2{animation-delay:.08s}.booth-animation.is-celebrating .s3{animation-delay:.16s}
.animation-hint{position:absolute;z-index:9;left:50%;bottom:22px;transform:translateX(-50%);padding:7px 12px;border:1px solid rgba(17,17,17,.12);border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(8px);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.68;transition:opacity .2s ease,transform .2s ease}
.booth-animation:hover .animation-hint{opacity:1;transform:translateX(-50%) translateY(-2px)}
@keyframes cameraFlash{0%,100%{opacity:0}14%{opacity:.98}32%{opacity:.2}}
@keyframes ringFlash{0%,100%{filter:none}18%{filter:brightness(2.1);box-shadow:0 0 0 6px #111,0 0 85px 32px rgba(255,255,255,.98)}}
@keyframes lensBlink{0%,100%{transform:translateX(-50%) scale(1)}18%{transform:translateX(-50%) scale(.72);background:#fff}42%{transform:translateX(-50%) scale(1.08)}}
@keyframes printPhoto{0%{opacity:0;transform:translate(-50%,8px) scaleY(.08)}8%{opacity:1}58%{opacity:1;transform:translate(-50%,122px) scaleY(1)}82%{opacity:1;transform:translate(-44%,148px) rotate(5deg) scale(1)}100%{opacity:0;transform:translate(-36%,178px) rotate(10deg) scale(.94)}}
@keyframes sparklePop{0%{transform:scale(.75);opacity:.45}50%{transform:scale(1.35) rotate(8deg);opacity:1}100%{transform:scale(1);opacity:1}}
@media(max-width:580px){.animation-hint{bottom:13px}.printed-photo{width:68px;height:112px}}
@media(prefers-reduced-motion:reduce){.booth-animation{cursor:default}.animation-hint{display:none}.booth-animation.is-flashing .hero-flash,.booth-animation.is-flashing .ring,.booth-animation.is-flashing .lens,.booth-animation.is-printing .printed-photo,.booth-animation.is-celebrating .sparkle{animation:none!important}.printed-photo{display:none}}


/* Automatic hero animation with floating client comments */
.booth-animation{cursor:default;overflow:visible}
.hero-comment{position:absolute;z-index:12;width:190px;padding:15px 16px;border:1px solid rgba(138,101,40,.24);border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 16px 38px rgba(38,28,15,.14);backdrop-filter:blur(10px);animation:commentFloat 4.8s ease-in-out infinite;pointer-events:none;transition:opacity .18s ease,filter .18s ease}
.hero-comment-left{left:-58px;top:105px;transform:rotate(-3deg)}
.hero-comment-right{right:-66px;bottom:92px;transform:rotate(3deg);animation-delay:1.1s}
.hero-comment .comment-stars{display:block;color:#b68027;font-size:12px;letter-spacing:.08em;margin-bottom:5px}
.hero-comment strong{display:block;font-family:Georgia,serif;font-size:17px;line-height:1.25;color:#17130f}
.hero-comment small{display:block;margin-top:6px;color:#746b60;font-size:10px;font-weight:800;letter-spacing:.04em}.hero-comment.is-changing{opacity:0;filter:blur(2px)}
@keyframes commentFloat{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(max-width:980px){.hero-comment{width:165px;padding:12px}.hero-comment-left{left:8px;top:18px}.hero-comment-right{right:8px;bottom:18px}.hero-comment strong{font-size:15px}}
@media(max-width:580px){.hero-art{overflow:hidden}.hero-comment{width:145px;padding:10px 11px;border-radius:14px}.hero-comment-left{left:8px;top:12px}.hero-comment-right{right:8px;bottom:12px}.hero-comment strong{font-size:13px}.hero-comment small{font-size:8px}.hero-comment .comment-stars{font-size:10px}}
@media(prefers-reduced-motion:reduce){.hero-comment{animation:none}}

/* Mobile hero comment fix: keep both rotating reviews fully inside the artwork */
@media (max-width: 580px) {
  .hero-art {
    overflow: hidden;
    width: 100%;
    max-width: 100%;
  }

  .hero-comment {
    width: 132px;
    max-width: calc(50% - 18px);
    padding: 9px 10px;
    transform: none !important;
    overflow-wrap: anywhere;
  }

  .hero-comment-left {
    left: 12px;
    right: auto;
    top: 16px;
  }

  .hero-comment-right {
    right: 12px;
    left: auto;
    bottom: 16px;
  }

  .hero-comment strong {
    font-size: 12px;
    line-height: 1.2;
  }

  .hero-comment small {
    font-size: 8px;
    line-height: 1.2;
  }

  .hero-comment .comment-stars {
    font-size: 9px;
    letter-spacing: .04em;
  }
}

/* Definitive mobile review-card fix: do not clip cards to the decorative hero shape */
@media (max-width: 580px) {
  .hero-art {
    height: 500px;
    overflow: visible !important;
    margin-bottom: 18px;
  }

  .hero-comment {
    width: 138px;
    max-width: calc(50% - 14px);
    box-sizing: border-box;
    transform: none !important;
    z-index: 40;
  }

  .hero-comment-left {
    left: 8px;
    right: auto;
    top: 8px;
  }

  .hero-comment-right {
    right: 8px;
    left: auto;
    bottom: 8px;
  }
}
