@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700;800&family=Parisienne&display=swap');
:root{--black:#08070a;--panel:#100c13;--pink:#f14be9;--purple:#a413b8;--light:#f8effb;--line:#d943dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#fff;background:var(--black);font:16px/1.45 'DM Sans',sans-serif}a{color:inherit}.skip{position:fixed;top:-50px;left:12px;z-index:99;background:#fff;color:#000;padding:10px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.topline{display:none}header{height:112px;display:grid;grid-template-columns:270px 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid #432348;background:rgba(7,6,8,.96);position:relative;z-index:10}.brand{align-self:start}.brand img{width:245px;height:155px;object-fit:contain;filter:drop-shadow(0 5px 12px #000)}nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(18px,2.5vw,42px)}nav a{text-decoration:none;font-size:.88rem;font-weight:600;text-transform:uppercase}nav a.active:not(.nav-cta){color:#ff7bf3;border-bottom:2px solid #ff44eb;padding-bottom:8px}.nav-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 32px;border:0;border-radius:13px;color:#08050a;background:linear-gradient(110deg,#e641e5,#ff67f0);font-weight:800;text-decoration:none;box-shadow:0 0 24px #d62ed966;cursor:pointer}.menu{display:none}.outline-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 32px;border:2px solid #ed62ed;border-radius:13px;color:#ff9af8;text-decoration:none;font-weight:700}.script,h1{font-family:Parisienne,cursive;font-weight:400;text-shadow:0 0 8px #ff35e9,0 0 20px #c300b5}.overline{font-size:1rem;letter-spacing:.35em;font-weight:700}.home-hero,.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 20% 20%,#4c174f,transparent 35%),linear-gradient(115deg,#150a18,#0a080b 58%,#2c0732)}.home-hero{min-height:640px;display:grid;grid-template-columns:1.05fr .95fr}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:70px 4vw}.hero-copy h1{margin:8px 0 22px;color:#fff;font-size:clamp(4.4rem,7.5vw,7rem);line-height:.84}.hero-copy>p:not(.overline){max-width:600px;font-size:1.08rem}.hero-actions{display:flex;gap:16px;margin-top:24px}.hero-booth{position:relative;min-height:580px;overflow:hidden}.photo-placeholder{position:relative;min-height:200px;display:grid;place-items:center;overflow:hidden;border:1px solid #b93cc0;background:radial-gradient(circle at 25% 30%,#6e1d74,transparent 28%),radial-gradient(circle at 70% 45%,#b41ba7,transparent 25%),linear-gradient(130deg,#130d16,#3d1044 60%,#08070a)}.photo-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent,rgba(255,80,238,.12),transparent)}.photo-placeholder>span{z-index:1;padding:8px 12px;border:1px dashed #ff8cf4;color:#ffd5fb;background:#120a14cc;font-size:.65rem;letter-spacing:.16em}.hero-photo{position:absolute;inset:0;min-height:100%;border:0}.booth-silhouette{position:absolute;z-index:2;right:10%;bottom:-2%;width:290px;height:520px;border:6px solid #f74ff0;border-radius:120px 120px 18px 18px;background:#07070a;box-shadow:0 0 30px #ed3ce7}.booth-silhouette i{display:block;width:96px;height:96px;margin:42px auto;border:18px double white;border-radius:50%;box-shadow:0 0 20px #fff}.booth-silhouette b{display:grid;place-items:center;width:125px;height:145px;margin:auto;border:5px solid #ef4fea;color:#f7b9f4;font-family:Parisienne,cursive;font-size:2rem;text-align:center}.booth-silhouette span{display:block;margin-top:55px;color:#ef50e7;font-weight:800;text-align:center}.round-icon{width:64px;height:64px;display:grid;place-items:center;flex:0 0 auto;border:3px solid #e84fe5;border-radius:50%;color:#ef54eb;font-size:2rem}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:18px 2vw;color:#151015;background:#fbf7fc;border-block:1px solid #e748e6}.feature-strip article{text-align:center;padding:0 24px;border-right:1px solid #a34baf}.feature-strip article:last-child{border:0}.feature-strip .round-icon{margin:auto;border:0}.feature-strip h3,.service-cards h3,.gallery-gate h2{margin:6px 0;color:#a911b7;font-size:1rem}.feature-strip p{margin:0}.home-gallery{padding:24px 3vw 20px;color:#171017;background:#f8f3f9}.section-title{display:flex;align-items:center;justify-content:center;gap:20px;text-align:center}.section-title>span{height:2px;width:120px;background:#9018a2}.section-title h2{margin:0;color:#bc17c9;letter-spacing:.18em}.section-title p{margin:3px 0 12px;letter-spacing:.15em;font-size:.72rem}.gallery-row,.about-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-row .photo-placeholder{min-height:210px;border-radius:6px}.event-cta,.short-cta,.commitment{position:relative;text-align:center;background:radial-gradient(circle,#672466,transparent 65%),#170c1a}.event-cta{min-height:300px;padding:35px 20px}.event-cta .script{margin:0;font-size:clamp(3rem,5vw,5.2rem);line-height:.9}.event-cta>p:not(.script){font-size:.72rem;letter-spacing:.17em}.event-cta>div{display:flex;justify-content:center;gap:14px;margin-top:22px}.event-cta a{min-width:220px}footer{display:grid;grid-template-columns:1.1fr 1.3fr .7fr;gap:52px;padding:42px 4vw 30px;border-top:1px solid #cf37cf;background:#08070a}footer>div:first-child p{display:none}footer img{width:230px;filter:drop-shadow(0 6px 12px #000)}footer strong,footer a,footer p{display:block;margin:0 0 5px}footer strong{color:#eb50e5}footer a{text-decoration:none}.legal{padding:14px;text-align:center;border-top:1px solid #4c244f;color:#ddd;background:#08070a;font-size:.76rem}.page-hero{min-height:430px;display:grid;grid-template-columns:1.2fr .8fr}.page-hero>div:first-child{align-self:center;padding:55px 4.5vw}.page-hero h1{margin:0;color:#fff;font-size:clamp(4.5rem,7vw,7rem);line-height:.95}.page-hero h2{color:#f17be8;letter-spacing:.25em;font-size:1.1rem}.page-hero p{max-width:620px}.page-hero-photo{min-height:430px;border:0}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:14px 2vw;color:#151015;background:#fff}.service-cards article{position:relative;padding:0 16px 14px;border:1px solid #e1cae4;border-radius:12px;text-align:center;overflow:hidden}.service-cards .photo-placeholder{height:170px;margin:0 -16px}.service-cards .round-icon{width:58px;height:58px;margin:-30px auto 5px;position:relative;background:#2a092f}.service-cards p{min-height:68px;margin:5px 0}.service-cards a,.option-grid a{display:block;padding:8px;border-radius:9px;color:#140619;background:linear-gradient(110deg,#e846e7,#f060eb);font-weight:800;text-decoration:none}.print-roll{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;padding:20px 2.5vw;background:#130b16}.print-roll .script{margin:0;color:#f16ceb;font-size:3.8rem}.roll-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px;border:1px solid #be4bc4;border-radius:12px;background:#f8f4f9;color:#171017}.roll-card .photo-placeholder{min-height:175px}.roll-card>div{display:flex;flex-direction:column;justify-content:center}.additional{padding:0 2vw 14px;color:#161016;background:#fff}.additional .script{margin:0;color:#e018d9;font-size:3.2rem}.option-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.option-grid article{display:grid;grid-template-columns:58px 1fr;padding:14px;border:1px solid #d8c2dc;border-radius:10px}.option-grid .round-icon{width:48px;height:48px}.option-grid article>a{grid-column:1/-1;text-align:center}.option-grid h3,.option-grid p{margin:0}.option-grid p{font-size:.82rem}.gallery-gate{padding:0 9vw 24px;color:#fff;background:linear-gradient(#eee4f2,#d7c7dd)}.gallery-gate form{position:relative;z-index:3;max-width:850px;margin:-44px auto 0;padding:40px 10vw 28px;border:2px solid #e345df;border-radius:16px;background:linear-gradient(135deg,#09080b,#171118);text-align:center}.gallery-gate .round-icon{margin:auto}.gallery-gate input{width:100%;height:58px;margin:15px 0;padding:0 22px;border:0;border-radius:7px;font:inherit}.gallery-gate .button{width:100%}.gallery-gate small{display:block;margin-top:20px}.dark{color:#fff;background:#0b090c}.feature-strip.dark{padding-block:38px}.feature-strip.dark .round-icon{border:3px solid #e84fe5}.feature-strip.dark p{color:#eee}.short-cta{min-height:150px;padding:28px}.short-cta .script{margin:0;color:#f375eb;font-size:3.5rem}.booking-shell{display:grid;grid-template-columns:1.7fr 1fr;margin:0 1.5vw 16px;border:2px solid #e450df;border-radius:15px;background:#0b090c;overflow:hidden}.booking-form{padding:20px}.booking-title{display:flex;gap:18px}.booking-title h2,.booking-title p{margin:0}.booking-title h2{color:#ee76ea}.inquiry{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:15px}.field.full,.inquiry>.full{grid-column:1/-1}.field label{display:block;margin-bottom:5px;font-size:.82rem;font-weight:700}.field input,.field textarea{width:100%;min-height:44px;padding:10px 14px;border:0;border-radius:6px;background:#f9f7fb;font:inherit}.inquiry .button{width:100%}.booking-shell aside{padding:22px;border-left:1px solid #c948cb}.booking-shell aside>h2{margin:0 0 15px;color:#f272eb;font-size:3.8rem}.why{display:flex;gap:16px;margin:14px 0}.why .round-icon{width:58px;height:58px}.why p,.why strong{display:block;margin:0}.why strong{color:#e976e5}.availability{margin-top:20px;padding:18px;border:1px solid #d747d5;border-radius:10px}.availability h3{color:#ed71e7}.small-script{color:#f377ed;font-size:2.5rem!important}.about-gallery{padding:12px 1.5vw;background:#0c090d}.about-gallery .photo-placeholder{min-height:210px}.commitment{min-height:280px;padding:40px 20px}.commitment h2{margin:0;color:#f57af0;font-size:4.2rem}.commitment p{max-width:680px;margin:5px auto}.faq-hero{min-height:210px;display:grid;grid-template-columns:1.1fr .9fr;background:#100a12}.faq-hero>div{padding:25px 5vw}.faq-hero h1{margin:0;color:#fff;font-size:4rem}.faq-hero p{color:#ee75e8;letter-spacing:.2em;text-align:center}.faq-photo{min-height:210px;border:0}.faq{display:grid;grid-template-columns:1fr 1fr;gap:7px 16px;padding:10px 5vw 20px}.faq details{border:1px solid #e241dc;border-radius:5px}.faq summary{display:flex;justify-content:space-between;padding:10px 18px;cursor:pointer;list-style:none}.faq details p{margin:0;padding:0 18px 12px;color:#ddd}.faq-book{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:18px;margin:0 5vw 22px;padding:18px 25px;border:1px solid #dc42d7;border-radius:8px}.faq-book>div{font-size:3rem;color:#ea4de4}.faq-book p,.faq-book strong{display:block;margin:0}.faq-book strong{color:#ed72e8;font-size:1.2rem}.gallery-results{padding:45px 5vw;background:#f8f3f9;color:#151015}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.form-message{min-height:22px}.success{color:#77f4b9}.error{color:#ff7b9d}.button:disabled{opacity:.55}[hidden]{display:none!important}
@media(max-width:900px){header{height:88px;grid-template-columns:190px 1fr}.brand img{width:185px;height:125px}.menu{display:block;justify-self:end;padding:12px;border:0;color:#fff;background:none;font-weight:700}nav{display:none;position:absolute;top:88px;left:0;right:0;padding:24px;background:#09070a;align-items:stretch;flex-direction:column}nav.open{display:flex}.home-hero,.page-hero,.print-roll{grid-template-columns:1fr}.hero-booth{min-height:520px}.feature-strip,.service-cards,.option-grid{grid-template-columns:1fr 1fr}.page-hero-photo{min-height:330px}.booking-shell{grid-template-columns:1fr}.booking-shell aside{border-left:0;border-top:1px solid #c948cb}.faq-hero{grid-template-columns:1fr}.faq-photo{min-height:180px}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/-1}}
@media(max-width:600px){header{grid-template-columns:150px 1fr}.brand img{width:155px}.hero-copy h1{font-size:4.3rem}.hero-actions,.event-cta>div{align-items:stretch;flex-direction:column}.feature-strip,.service-cards,.option-grid,.gallery-row,.about-gallery,.faq,.inquiry{grid-template-columns:1fr}.feature-strip article{border-right:0;border-bottom:1px solid #a34baf}.page-hero h1,.faq-hero h1{font-size:3.9rem}.page-hero>div:first-child{padding-block:45px}.page-hero-photo{min-height:260px}.service-cards .photo-placeholder{height:220px}.roll-card{grid-template-columns:1fr}.booking-shell{margin-inline:0;border-radius:0}.field.full,.inquiry>.full{grid-column:1}.faq-book{grid-template-columns:1fr;text-align:center}.faq-book .button{width:100%}.short-cta .script{font-size:2.6rem}.section-title>span{width:40px}footer{grid-template-columns:1fr}footer>div:first-child{grid-column:auto}.legal{font-size:.68rem}}
.brand{position:relative;width:245px;height:155px}.brand img{display:none}.brand:after{content:"TRANSPARENT GRACIE'S LOGO REQUIRED";position:absolute;inset:15px 0;display:grid;place-items:center;padding:18px;border:1px dashed #ed62ed;color:#ff9af8;text-align:center;font-size:.68rem;letter-spacing:.12em}footer img{display:none}footer>div:first-child:before{content:"TRANSPARENT GRACIE'S LOGO REQUIRED";width:220px;height:115px;display:grid;place-items:center;border:1px dashed #ed62ed;color:#ff9af8;text-align:center;font-size:.68rem;letter-spacing:.12em}
@media(max-width:900px){.brand{width:185px;height:125px}.brand:after{inset:10px 0}}@media(max-width:600px){.brand{width:145px}.brand:after{font-size:.55rem;padding:8px}}
.brand img{display:block;width:245px;height:155px;object-fit:contain}.brand:after,footer>div:first-child:before{display:none}footer img{display:block;width:230px;height:auto;filter:drop-shadow(0 6px 12px #000)}
@media(max-width:900px){.brand img{width:185px;height:125px}}@media(max-width:600px){.brand img{width:145px;height:110px}}

/* Locked-mockup visual correction: bright event palette and readable UI typography. */
:root{--black:#0c0710;--panel:#1b0d21;--pink:#f151ed;--purple:#b51bc6;--light:#fbf7fc;--lavender:#eee3f3;--line:#e352e4}
body{color:#fff;background:#f5edf8;font-size:16px;line-height:1.5}
header{height:112px;grid-template-columns:285px 1fr;padding:0 4.5vw;background:linear-gradient(90deg,rgba(17,8,21,.96),rgba(48,17,51,.92));border-bottom:1px solid #ef63eb;box-shadow:0 8px 28px rgba(47,8,50,.2)}
.brand,.brand img{width:260px}.brand img{height:158px}
nav a{font-family:'DM Sans',sans-serif;font-weight:700;letter-spacing:.02em}
.nav-cta,.button{background:linear-gradient(110deg,#d83de0,#fa66ed);box-shadow:0 8px 24px rgba(190,30,194,.28)}
.script{font-family:Parisienne,cursive;font-weight:400;text-shadow:0 0 6px rgba(255,53,233,.65)}
h1,h2,h3,strong,.overline,.field label,summary,button,.button,.outline-button{font-family:'DM Sans',sans-serif}
.home-hero h1,.page-hero h1,.faq-hero h1{font-family:Parisienne,cursive;font-weight:400;text-shadow:0 0 8px #ff35e9,0 0 18px rgba(195,0,181,.75)}
.home-hero,.page-hero{background:radial-gradient(circle at 18% 20%,rgba(241,124,233,.48),transparent 32%),radial-gradient(circle at 78% 28%,rgba(205,65,215,.45),transparent 34%),linear-gradient(115deg,#6f3976,#3e1748 52%,#7e3488)}
.home-hero{min-height:520px;grid-template-columns:1.08fr .92fr}
.hero-copy{padding:58px 4vw;background:linear-gradient(90deg,rgba(42,13,47,.5),transparent)}
.hero-copy h1{font-size:clamp(4rem,7vw,6.6rem);line-height:.86}
.hero-copy>p:not(.overline),.page-hero p{font-size:1.08rem;line-height:1.6;text-shadow:0 1px 3px #36113a}
.hero-booth{min-height:520px}.booth-silhouette{height:455px;width:255px;right:13%;border-color:#ff76f1;box-shadow:0 0 30px rgba(255,105,239,.75)}
.booth-silhouette i{width:86px;height:86px;margin:34px auto}.booth-silhouette b{height:126px}.booth-silhouette span{margin-top:38px}
.photo-placeholder{border-color:#d45bda;background:radial-gradient(circle at 18% 22%,rgba(255,211,247,.65),transparent 22%),radial-gradient(circle at 72% 32%,rgba(236,133,231,.72),transparent 28%),linear-gradient(135deg,#9e5ba7,#d994cf 48%,#74417f);box-shadow:inset 0 0 55px rgba(69,18,77,.18)}
.photo-placeholder:after{background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 40%,rgba(255,115,235,.17))}
.photo-placeholder>span{color:#4d1b53;background:rgba(255,247,255,.82);border-color:#a72aae;font-family:'DM Sans',sans-serif;font-weight:700}
.feature-strip{padding:20px 2.5vw;background:linear-gradient(100deg,#fff,#f3eafb 50%,#fff);border-color:#df50df}.feature-strip article{padding:2px 24px}.feature-strip h3{font-size:1rem}.feature-strip p{color:#251c27}
.home-gallery{padding:22px 4vw 25px;background:linear-gradient(120deg,#fff,#efe3f4)}.gallery-row{gap:12px}.gallery-row .photo-placeholder{min-height:185px;box-shadow:0 6px 14px rgba(71,28,78,.18)}
.event-cta{min-height:250px;padding:30px 20px;background:radial-gradient(circle at 25% 25%,rgba(239,139,229,.5),transparent 27%),radial-gradient(circle at 78% 65%,rgba(214,93,211,.45),transparent 28%),linear-gradient(110deg,#64326d,#8f4b92 50%,#5c2867)}
.event-cta .script{font-size:clamp(3rem,5vw,4.8rem)}
.page-hero{min-height:400px;grid-template-columns:1.1fr .9fr}.page-hero>div:first-child{padding:48px 4.5vw}.page-hero h1{font-size:clamp(4.2rem,7vw,6.4rem)}.page-hero-photo{min-height:400px}
.service-cards{gap:14px;padding:16px 2.2vw;background:linear-gradient(100deg,#fff,#f2e8f6)}.service-cards article{background:#fff;border-color:#ddc6e2;box-shadow:0 5px 15px rgba(82,29,88,.1)}.service-cards p{color:#342b36}
.service-cards .round-icon{background:#65116e;color:#ff8af4}
.print-roll{padding:20px 2.5vw;color:#291a2d;background:linear-gradient(115deg,#e7cdea,#faf7fb 52%,#dcc0e2)}.print-roll .script{color:#a616b4;text-shadow:none}.roll-card{background:#fff;box-shadow:0 6px 18px rgba(82,29,88,.12)}
.additional{padding:8px 2vw 18px;background:linear-gradient(100deg,#fff,#f0e5f4)}.option-grid article{background:#fff;box-shadow:0 4px 12px rgba(82,29,88,.08)}
.gallery-gate{padding:0 9vw 28px;background:linear-gradient(110deg,#f8f2fa,#dfcce8)}.gallery-gate form{background:linear-gradient(135deg,#2a1230,#130b17);box-shadow:0 12px 35px rgba(70,20,75,.28)}
.feature-strip.dark{color:#211823;background:linear-gradient(100deg,#fff,#eadcf0 50%,#fff)}.feature-strip.dark p{color:#332739}.feature-strip.dark .round-icon{background:#fff}
.short-cta,.commitment{background:radial-gradient(circle at 20% 35%,rgba(255,189,244,.35),transparent 25%),linear-gradient(110deg,#75417c,#a25a9f 50%,#713672)}
.booking-shell{margin:0 1.5vw 16px;color:#201622;background:#faf7fb;border-color:#d847d7;box-shadow:0 10px 28px rgba(69,20,73,.2)}.booking-form{padding:24px}.booking-title h2{color:#a719b3}.field label{color:#332638}.field input,.field textarea{color:#211923;background:#fff;border:1px solid #d7c6dc}.booking-shell aside{color:#2b1e2e;background:#ead8ee;border-left-color:#cf49d0}.booking-shell aside>h2{color:#a719b3;text-shadow:none}.why strong,.availability h3{color:#9b159f}.availability{background:#fff;border-color:#ca42cb}
.about-gallery{padding:14px 1.5vw;background:linear-gradient(110deg,#f8f2fa,#e2cde8)}.about-gallery .photo-placeholder{min-height:205px}
.commitment{min-height:260px}.commitment h2{color:#fff}.commitment p{font-family:'DM Sans',sans-serif;font-size:1.02rem}
.faq-hero{min-height:235px;background:linear-gradient(110deg,#74417c,#a15b9e 55%,#61316a)}.faq-hero>div{padding:35px 5vw}.faq-hero h1{font-size:clamp(3.4rem,6vw,5.4rem)}.faq-photo{min-height:235px}
.faq{padding:18px 5vw;background:linear-gradient(110deg,#fff,#eaddef)}.faq details{color:#2b2030;background:#fff;border-color:#c52bc9}.faq summary{font-weight:700}.faq details p{color:#4b4050}
.faq-book{color:#2a1f2e;background:#fff;border-color:#ce39d0;box-shadow:0 6px 18px rgba(82,29,88,.12)}
footer{background:linear-gradient(100deg,#140b18,#26102c);border-color:#df4bdb}.legal{background:#120a16;border-color:#66306b}
@media(max-width:900px){header{height:92px;grid-template-columns:195px 1fr}.brand,.brand img{width:190px}.brand img{height:128px}nav{top:92px;background:#241029}.home-hero,.page-hero{grid-template-columns:1fr}.home-hero{min-height:auto}.hero-copy{min-height:420px}.hero-booth{min-height:440px}.page-hero-photo{min-height:280px}.feature-strip,.service-cards,.option-grid{grid-template-columns:1fr 1fr}.booking-shell aside{border-left:0;border-top:1px solid #c948cb}}
@media(max-width:600px){body{font-size:15px}header{grid-template-columns:150px 1fr}.brand,.brand img{width:145px}.brand img{height:110px}.hero-copy{min-height:390px;padding:45px 24px}.hero-copy h1{font-size:3.9rem}.page-hero>div:first-child{padding:42px 24px}.page-hero h1,.faq-hero h1{font-size:3.6rem}.hero-booth{min-height:380px}.booth-silhouette{height:350px;width:205px}.feature-strip,.service-cards,.option-grid,.gallery-row,.about-gallery,.faq,.inquiry{grid-template-columns:1fr}.feature-strip article{padding:15px;border-right:0}.gallery-row .photo-placeholder,.about-gallery .photo-placeholder{min-height:230px}.gallery-gate{padding-inline:14px}.gallery-gate form{padding:34px 20px}.booking-shell{margin-inline:0}.event-cta{padding-inline:24px}}

@media(min-width:601px){.page-hero h1{font-size:clamp(3.9rem,5.8vw,4.9rem);white-space:nowrap}.faq-hero h1{font-size:clamp(3rem,4.4vw,4.2rem);white-space:nowrap}}
.booking-shell aside>h2{font-size:3rem;line-height:1.05}.small-script{font-size:2rem!important;line-height:1.1;margin:20px 0 0}.faq-hero{min-height:210px}.faq-hero>div{padding:28px 5vw}.faq-photo{min-height:210px}

/* Local typography/layout correction against the locked mockups. */
.script,.home-hero h1,.page-hero h1,.faq-hero h1{font-family:'DM Sans',sans-serif;font-style:normal;font-weight:800;letter-spacing:-.035em;line-height:1.04;text-shadow:none}
.home-hero h1{max-width:620px;font-size:clamp(3.6rem,6vw,5.5rem)}
.page-hero h1{font-size:clamp(3.25rem,5vw,4.5rem)}
.faq-hero h1{font-size:clamp(2.7rem,4.2vw,4rem)}
.event-cta .script{font-size:clamp(2.5rem,4vw,4rem);line-height:1.05}
.short-cta .script{font-size:clamp(2.2rem,3.5vw,3.4rem)}
.additional .script,.print-roll .script,.commitment h2{font-size:clamp(2.3rem,3.5vw,3.5rem);font-weight:800;letter-spacing:-.02em}
.small-script{font-family:'DM Sans',sans-serif!important;font-size:1.35rem!important;font-weight:700;line-height:1.35;letter-spacing:0;margin:22px 0 0;text-shadow:none}
.booking-shell aside>h2{font-family:'DM Sans',sans-serif;font-size:2.25rem;font-weight:800;line-height:1.1;letter-spacing:-.02em}
.home-hero,.page-hero,.faq-hero{isolation:isolate;position:relative;overflow:hidden;background:#743f7d}
.hero-copy,.page-hero>div:first-child,.faq-hero>div:first-child{position:relative;z-index:3;background:linear-gradient(90deg,rgba(40,12,46,.88),rgba(64,24,70,.66) 72%,transparent)}
.hero-booth{position:static}.hero-photo,.page-hero-photo,.faq-photo{position:absolute;z-index:0;inset:0;width:100%;height:100%;min-height:100%;border:0;background:radial-gradient(circle at 20% 25%,rgba(255,214,246,.48),transparent 23%),radial-gradient(circle at 72% 28%,rgba(246,141,232,.64),transparent 28%),radial-gradient(circle at 60% 75%,rgba(255,207,242,.45),transparent 22%),linear-gradient(120deg,#885291,#d18bc9 48%,#75407e)}
.hero-photo>span,.page-hero-photo>span,.faq-photo>span{position:absolute;right:12%;top:50%;transform:translateY(-50%)}
.booth-silhouette{z-index:4}
.home-hero{grid-template-columns:1.08fr .92fr;min-height:520px}.hero-copy{min-height:520px;padding:52px 4vw}.hero-booth{min-height:0}
.page-hero{grid-template-columns:1fr;min-height:360px}.page-hero>div:first-child{width:62%;min-height:inherit;display:flex;flex-direction:column;justify-content:center;padding:38px 4.5vw}.page-hero-photo{min-height:100%}
body:has(.service-cards) .page-hero{min-height:350px}
body:has(.gallery-gate) .page-hero{min-height:410px}
body:has(.booking-shell) .page-hero{min-height:345px}
body:has(.about-gallery) .page-hero{min-height:485px}
.faq-hero{display:block;min-height:190px}.faq-hero>div:first-child{width:62%;min-height:190px;display:flex;flex-direction:column;justify-content:center;padding:24px 5vw}.faq-photo{min-height:100%}
.service-cards{padding-top:14px}.service-cards .photo-placeholder{height:150px}.service-cards p{min-height:62px}
.gallery-gate form{margin-top:-44px}
.booking-shell{margin-top:-1px}
.about-gallery{padding-top:14px}
@media(max-width:900px){.home-hero,.page-hero{grid-template-columns:1fr}.hero-copy,.page-hero>div:first-child,.faq-hero>div:first-child{width:70%;background:linear-gradient(90deg,rgba(40,12,46,.9),rgba(64,24,70,.65) 78%,transparent)}.home-hero,.hero-copy{min-height:470px}.booth-silhouette{right:5%;opacity:.9}.page-hero>div:first-child{min-height:inherit}.page-hero h1{white-space:normal}.feature-strip article{padding-inline:14px}}
@media(max-width:600px){.home-hero,.hero-copy{min-height:430px}.hero-copy,.page-hero>div:first-child,.faq-hero>div:first-child{width:100%;background:linear-gradient(90deg,rgba(48,15,54,.88),rgba(76,31,82,.7))}.home-hero h1{font-size:3.35rem}.page-hero h1{font-size:3rem}.faq-hero h1{font-size:2.65rem;white-space:normal}.booth-silhouette{display:none}.hero-photo>span,.page-hero-photo>span,.faq-photo>span{right:20px;top:auto;bottom:18px;transform:none}.page-hero{min-height:390px!important}.page-hero>div:first-child{padding:38px 24px}.faq-hero,.faq-hero>div:first-child{min-height:220px}.booking-shell aside>h2{font-size:2rem}.small-script{font-size:1.15rem!important}.event-cta .script,.short-cta .script{font-size:2.25rem}}

/* Real booth photography supplied September 2026. */
.booth-silhouette{display:none!important}
.finished-photo{isolation:isolate;background-color:#6f3677;background-image:linear-gradient(90deg,rgba(28,8,33,.5),rgba(116,39,121,.08)),url('/gracies/assets/event-party-background.webp');background-size:cover;background-position:center;box-shadow:none}
.finished-photo:after{z-index:1;background:linear-gradient(120deg,rgba(61,12,67,.16),transparent 45%,rgba(242,82,220,.13))}
.finished-photo .booth-photo{position:absolute;z-index:2;width:auto;max-width:none;height:112%;right:8%;bottom:-13%;object-fit:contain;filter:drop-shadow(0 18px 26px rgba(20,4,24,.5))}
.hero-photo,.page-hero-photo,.faq-photo{background-image:linear-gradient(90deg,rgba(25,7,30,.42),rgba(109,39,116,.05)),url('/gracies/assets/event-wedding-background.webp')}
.hero-photo .booth-photo{height:116%;right:6%;bottom:-17%}
body:has(.service-cards) .page-hero-photo{background-image:linear-gradient(90deg,rgba(24,6,30,.5),rgba(92,25,103,.04)),url('/gracies/assets/event-party-background.webp')}
body:has(.service-cards) .page-hero-photo .booth-photo{height:128%;right:7%;bottom:-27%}
body:has(.gallery-gate) .page-hero-photo{background-image:linear-gradient(90deg,rgba(24,6,30,.45),rgba(92,25,103,.02)),url('/gracies/assets/event-lights-background.webp')}
body:has(.gallery-gate) .page-hero-photo .booth-photo{height:152%;right:8%;bottom:-55%}
body:has(.booking-shell) .page-hero-photo{background-image:linear-gradient(90deg,rgba(24,6,30,.48),rgba(92,25,103,.02)),url('/gracies/assets/event-party-background.webp')}
body:has(.booking-shell) .page-hero-photo .booth-photo{height:135%;right:9%;bottom:-34%}
body:has(.about-gallery) .page-hero-photo{background-image:linear-gradient(90deg,rgba(24,6,30,.5),rgba(92,25,103,.03)),url('/gracies/assets/event-wedding-background.webp')}
body:has(.about-gallery) .page-hero-photo .booth-photo{height:118%;right:5%;bottom:-20%}
.faq-photo{background-image:linear-gradient(90deg,rgba(24,6,30,.42),rgba(92,25,103,.02)),url('/gracies/assets/event-lights-background.webp')}
.faq-photo .booth-photo{height:205%;right:9%;bottom:-112%}
.service-cards .finished-photo:nth-child(n),.gallery-row .finished-photo,.about-gallery .finished-photo,.roll-card .finished-photo{background-image:linear-gradient(140deg,rgba(47,9,54,.2),rgba(222,77,207,.08)),url('/gracies/assets/event-party-background.webp')}
.service-cards article:nth-child(2) .finished-photo,.gallery-row .finished-photo:nth-child(even),.about-gallery .finished-photo:nth-child(3){background-image:linear-gradient(140deg,rgba(47,9,54,.18),rgba(222,77,207,.06)),url('/gracies/assets/event-wedding-background.webp')}
.service-cards article:nth-child(3) .finished-photo,.gallery-row .finished-photo:nth-child(3),.about-gallery .finished-photo:nth-child(even),.roll-card .finished-photo{background-image:linear-gradient(140deg,rgba(47,9,54,.18),rgba(222,77,207,.06)),url('/gracies/assets/event-lights-background.webp')}
.service-cards .finished-photo .booth-photo{height:130%;right:21%;bottom:-29%}
.service-cards article:nth-child(2) .booth-photo{height:185%;right:3%;bottom:-83%}
.service-cards article:nth-child(3) .booth-photo{height:145%;right:35%;bottom:-48%}
.service-cards article:nth-child(4) .booth-photo{height:122%;right:5%;bottom:-25%}
.gallery-row .finished-photo .booth-photo,.about-gallery .finished-photo .booth-photo{height:135%;right:27%;bottom:-37%}
.gallery-row .finished-photo:nth-child(2) .booth-photo,.about-gallery .finished-photo:nth-child(2) .booth-photo{height:190%;right:0;bottom:-90%}
.gallery-row .finished-photo:nth-child(3) .booth-photo,.about-gallery .finished-photo:nth-child(3) .booth-photo{height:148%;right:42%;bottom:-47%}
.gallery-row .finished-photo:nth-child(4) .booth-photo,.about-gallery .finished-photo:nth-child(4) .booth-photo{height:125%;right:5%;bottom:-29%}
.roll-card .finished-photo .booth-photo{height:180%;right:12%;bottom:-82%}
@media(max-width:900px){.hero-photo .booth-photo,.page-hero-photo .booth-photo{right:-2%}.faq-photo .booth-photo{right:-4%}.service-cards .finished-photo .booth-photo{right:12%}}
@media(max-width:600px){.hero-photo,.page-hero-photo,.faq-photo{background-position:center}.hero-photo .booth-photo,.page-hero-photo .booth-photo{height:92%;right:-18%;bottom:-12%;opacity:.68}.faq-photo .booth-photo{height:115%;right:-24%;bottom:-55%;opacity:.58}.service-cards .finished-photo .booth-photo{right:25%}.gallery-row .finished-photo .booth-photo,.about-gallery .finished-photo .booth-photo{right:27%}}
