/* Edition 4 — the supplied illustration is the visual source of truth.
   Hero art and lettering retain the approved composition; every control is HTML. */
:root{--action-size:44px;--ink:#071d50;--muted:#566685;--pink:#e90061;--pink-bright:#ff0878;--blue:#008fee;--yellow:#ffe033;--pale:#f4faff;--line:#deebf7;--body:'Nunito Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--display:'Baloo 2','Arial Rounded MT Bold',sans-serif;--hand:'Caveat Brush','Trebuchet MS',sans-serif;--shadow:0 7px 24px #132c6210}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font:500 16px/1.6 var(--body);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}svg{display:inline-block}button,select,input{min-width:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #2362df;outline-offset:5px}input:focus,select:focus,textarea:focus{outline:3px solid #9bd6ff;outline-offset:1px;border-color:var(--blue)}button:focus:not(:focus-visible){outline:none}h1,h2,h3,h4,p{margin:0}h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.7px}h2{font-size:clamp(34px,3vw,50px);font-weight:800}h3{font-size:26px;font-weight:800}h4{font-size:17px;font-weight:900}p{line-height:1.65}em{font-style:normal;color:var(--pink)}[hidden]{display:none!important}::selection{background:#ffe243;color:#071d50}.icon{width:24px;height:24px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;fill:none;vertical-align:middle;flex-shrink:0}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:-80px;left:20px;z-index:2000;background:#fff;color:var(--ink);padding:12px 20px;border-radius:12px}.skip-link:focus{top:10px}.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;padding:12px 25px;border:1.5px solid transparent;border-radius:99px;line-height:1.15;font-size:15px;font-weight:900;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0) scale(.98)}.button.pink{background:linear-gradient(150deg,#ff0878,#e8005a);color:#fff;border-color:#ff619e;box-shadow:0 4px 12px #f0006f1c}.button.pink:hover{box-shadow:0 6px 22px #e8006140;background:linear-gradient(150deg,#f00069,#d20054)}.button.blue{background:linear-gradient(145deg,#07aeff,#007ae6);color:#fff;border-color:#4ebdff}.button.blue:hover{box-shadow:0 6px 22px #0092ee30}.button.glass{color:#fff;border:2px solid #fff;background:linear-gradient(135deg,#003f84,#00397d);box-shadow:0 0 8px #48e7ff,inset 0 0 14px #10baff30}.button.white{background:#fff;color:var(--pink);box-shadow:0 7px 24px #63001f24;border-color:#fff}.button.outline{background:#fff;color:var(--ink);border-color:#c9dbec}.button.outline:hover{background:#f3faff;border-color:#95b7d6}.small-button{padding:10px 17px;min-height:42px;font-size:13px}.button .icon{width:22px;height:22px}.icon-button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#fff;transition:background .2s,transform .2s}.icon-button:hover{background:#eaf7ff;transform:scale(1.04)}.link-button{padding:6px 0;min-height:36px;background:none;border:0;text-decoration:underline;text-underline-offset:4px;font-weight:800;font-size:13px;color:#3c5684}.text-link{display:inline-flex;align-items:center;gap:9px;font-weight:900;color:var(--pink)}.muted{color:var(--muted)}.small{font-size:13px}.eyebrow{font-size:11px;line-height:1.4;font-weight:900;letter-spacing:2px;color:var(--pink);margin-bottom:12px}.hand-note{font-family:var(--hand);font-size:23px;line-height:1.05;transform:rotate(-7deg);text-transform:uppercase;font-weight:400}.hand-note span{color:var(--pink-bright);font-family:var(--body);font-size:37px;line-height:.6;display:inline-block;margin-left:6px;vertical-align:middle}.section{max-width:1450px;margin-inline:auto;padding:85px 60px}.section-heading{text-align:center;max-width:680px;margin:0 auto 40px}.section-heading h2{margin-bottom:15px}.section-heading>p:last-child{color:var(--muted);font-size:15px}.section-heading.compact{margin-bottom:36px}.section-footnote{text-align:center;color:var(--muted);font-size:12px;max-width:750px;margin:25px auto 0}
/* Reference-matched first fold */
.site-header{position:sticky;top:0;z-index:60;background:#fff;container-type:inline-size;transition:box-shadow .2s}.header-inner{max-width:1920px;height:4.545cqw;min-height:56px;margin:auto;position:relative;display:flex;align-items:center}.brand{position:absolute;left:9%;top:0;width:11%;height:100%;display:flex;align-items:center;z-index:2}.brand-clean{display:block;width:100%;height:100%;max-height:95%;object-fit:contain;transition:opacity .65s ease-in-out}.hero-header-art,.hero-illustrated-brand{display:none}.main-nav{margin-left:30.3%;display:flex;gap:2.2cqw;align-items:center;white-space:nowrap}.main-nav a{font-size:clamp(11px,.9cqw,17px);font-weight:800;position:relative;padding:1.4cqw 0}.main-nav a:after{content:'';position:absolute;bottom:.82cqw;left:0;right:100%;height:2px;background:#008eff;transition:right .2s}.main-nav a.active,.main-nav a:hover{color:#006ee9}.main-nav a.active:after,.main-nav a:hover:after{right:0}.header-actions{margin-left:auto;margin-right:8.8%;display:flex;align-items:center;gap:.9cqw}.phone-pill{display:inline-flex;align-items:center;gap:.6cqw;padding:.66cqw 1.1cqw;border-radius:99px;border:1px solid #afd9fb;box-shadow:0 2px 9px #116ddd14;white-space:nowrap;font-size:1.1cqw;line-height:1;font-weight:900}.phone-pill .icon{color:#078eff;width:1.4cqw;height:1.4cqw}.header-quote{height:3cqw;min-height:38px;padding:.65cqw 1.25cqw;gap:.65cqw;font-size:1cqw}.header-quote .icon{width:1.4cqw;height:1.4cqw}.count-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:50%;background:#fff;color:var(--pink);font-size:10px}.menu-toggle{display:none}.mobile-menu{display:none}.site-header.is-scrolled{box-shadow:0 4px 20px #10326912}.hero{max-width:1920px;margin:auto;scroll-margin-top:80px;position:relative}.hero-stage{position:relative;container-type:inline-size}.hero-art{width:100%;height:auto;user-select:none}.mobile-heading,.mobile-equipment{display:none}.hero-copy{position:absolute;inset:0;pointer-events:none}.hero-copy h1{position:absolute;width:1px;height:1px;overflow:hidden}.hero-description,.hero-benefits{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.hero-actions{position:absolute;top:59.1%;left:3.2%;display:flex;gap:.9cqw;pointer-events:auto}.hero-actions .button{height:3.36cqw;min-height:0;padding:0;gap:.72cqw;font-size:1.08cqw;width:12.5cqw;box-shadow:0 0 10px #62d3ff44;font-family:var(--body)}.hero-actions .button.glass{width:11.5cqw}.hero-actions .icon{width:1.4cqw;height:1.4cqw}.hero-hit-areas{position:absolute;inset:0;pointer-events:none}.hero-hit{position:absolute;pointer-events:auto;border:0;background:none;border-radius:22px;transition:box-shadow .22s,background .22s;outline-offset:1px}.hero-hit:hover,.hero-hit:focus-visible{box-shadow:inset 0 0 20px #b8e8ff20,0 0 18px #b8e8ff30;background:#ffffff08}.hero-hit span{pointer-events:none;position:absolute;left:50%;bottom:5%;transform:translate(-50%,5px);padding:9px 13px;border-radius:50px;background:#fff;color:#071d50;font:800 12px/1.15 var(--body);white-space:nowrap;box-shadow:0 4px 16px #06132e25;opacity:0;transition:opacity .18s,transform .18s;display:flex;align-items:center;gap:7px;z-index:1}.hero-hit span .icon{width:15px;height:15px;color:var(--pink)}.hero-hit:hover span,.hero-hit:focus-visible span{opacity:1;transform:translate(-50%,0)}.hit-popcorn{left:30.2%;top:38%;width:12%;height:54%}.hit-slushie{left:43%;top:36%;width:10.2%;height:57%}.hit-icecream{left:53.7%;top:33%;width:11%;height:62%}.hit-floss{left:65%;top:51%;width:9.2%;height:43%}.hit-photo{left:74.3%;top:24%;width:7.5%;height:65%}.hit-360{left:80.5%;top:76%;width:11.2%;height:19%}.hit-oval{left:92%;top:30%;width:6.4%;height:65%}.hit-marquee{left:54%;top:4%;width:25%;height:23%}.hit-marquee span{bottom:auto;top:6%}.hire-section{max-width:1920px;margin:auto;padding:0 2.3% 12px;background:linear-gradient(#fcfeff,#f9fcff);container-type:inline-size;scroll-margin-top:96px}.hire-heading{position:relative;display:flex;align-items:center;justify-content:center;height:3.7cqw;min-height:55px}.hire-heading h2{font-size:2.65cqw;position:relative;line-height:1.1;margin-top:-4px;white-space:nowrap}.pink-brush{position:absolute;width:135px;height:4px;left:50%;bottom:-9px;background:var(--pink-bright);transform:translateX(-50%) rotate(-4deg);clip-path:polygon(0 40%,99% 0,91% 47%,100% 100%,2% 100%)}.hire-heading .hand-note{position:absolute;right:3%;font-size:1.4cqw;top:8px}.service-grid{--hire-columns:3;--hire-gap:clamp(14px,1.6vw,24px);display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:var(--hire-gap);max-width:1160px;margin:20px auto 0}.service-grid[data-hire-columns="1"]{--hire-columns:1;max-width:560px}.service-grid[data-hire-columns="2"]{--hire-columns:2;max-width:850px}.service-grid[data-hire-columns="4"]{--hire-columns:4}.service-card{flex:0 0 calc((100% - (var(--hire-columns) - 1)*var(--hire-gap))/var(--hire-columns))}.service-card{position:relative;background:#fff;border:1px solid #f2f6f9;border-radius:15px;box-shadow:var(--shadow);padding:16px;display:flex;align-items:center;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s;min-width:0}.service-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px #1955961f;border-color:#a6d7fa}.service-card:focus-within{border-color:#94cded}.service-image-button{display:block;border:0;background:none;border-radius:11px;width:100%;height:clamp(140px,14cqw,190px);flex-shrink:0;padding:0;overflow:hidden;line-height:0}.service-image-button img{width:100%;height:100%;object-fit:contain;transition:transform .4s;user-select:none}.service-card:hover .service-image-button img{transform:scale(1.035)}.service-card h3{max-width:100%;min-width:0;font-family:var(--body);font-size:18px;line-height:1.3;letter-spacing:-.3px;font-weight:900;min-height:2.4em;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere;margin:10px 0 12px}.service-card .button{min-height:44px;padding:10px 19px;font-size:14px;gap:12px;width:min(100%,220px);margin-top:auto;font-weight:900}.service-card .button .icon{width:17px;height:17px}.service-selected{position:absolute;right:9px;top:9px;display:grid;place-items:center;background:#fff;border:1px solid #b0e6c8;color:#107342;width:25px;height:25px;border-radius:50%;box-shadow:0 3px 10px #071d5014}.service-selected .icon{width:17px;height:17px}.occasion-strip{display:flex;align-items:center;gap:25px;margin-top:20px;min-height:61px}.occasion-buttons{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;flex:1;background:#eaf2ff;border-radius:100px;padding:2px 14px;min-height:48px}.occasion-buttons button{border:0;background:none;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;font-size:clamp(10px,.84cqw,16px);font-weight:700;min-height:43px;white-space:nowrap;padding:7px 4px;border-radius:50px;transition:background .2s,color .2s}.occasion-buttons button+button:before{content:'';position:absolute;height:24px;width:1px;background:#a7c9ec;left:0;top:10px}.occasion-buttons button:hover{background:#d8eafe;color:#005bcc}.occasion-buttons .icon{width:1.7cqw;height:1.7cqw}.occasion-strip>.hand-note{font-size:1.25cqw;margin-right:.3cqw;flex-shrink:0}
/* Below the supplied first fold: the same design language, not a new theme. */
.packages-section{margin-top:28px}.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.package-card{border:1px solid #e7edf5;border-radius:23px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:transform .22s}.package-card:hover{transform:translateY(-5px)}.package-art{height:205px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:30px 24px;background:#ffe8f1}.package-card.blue .package-art{background:#dff4ff}.package-card.yellow .package-art{background:#fff5c9}.package-art:before{content:'';width:200px;height:200px;border:2px solid #ffffff8a;position:absolute;border-radius:50%;transform:scale(1.5)}.package-art img{position:relative;width:38%;aspect-ratio:1.05;object-fit:cover;object-position:center;border:7px solid #fff;border-radius:14px;box-shadow:0 7px 18px #172b421c;transform:rotate(-9deg);margin-right:-18px}.package-art img:nth-child(2){z-index:2;transform:rotate(3deg) translateY(-8px)}.package-art img:nth-child(3){transform:rotate(12deg) translateY(8px)}.package-copy{padding:25px}.package-tag{font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:var(--pink);margin-bottom:8px}.package-copy h3{font-size:27px;margin-bottom:10px}.package-copy>p:not(.package-tag){color:var(--muted);font-size:14px;min-height:69px}.package-copy .button{margin-top:22px;width:100%;font-size:14px}.how-section{text-align:center;border-top:1px solid var(--line);padding-block:65px}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:left;margin-bottom:36px}.how-grid article{display:flex;gap:18px;align-items:flex-start}.step-number{flex-shrink:0;width:53px;height:53px;background:#fff2bd;border-radius:19px;color:#091e50;font:800 28px/53px var(--display);text-align:center;transform:rotate(-5deg)}.how-grid article:nth-child(2) .step-number{background:#ffdfef;transform:rotate(6deg)}.how-grid article:nth-child(3) .step-number{background:#d8f1ff;transform:rotate(-5deg)}.how-grid h3{font-size:23px;margin:4px 0 8px}.how-grid p{font-size:14px;color:var(--muted)}.split-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.split-heading>p{font-size:14px;color:var(--muted);padding-bottom:4px}.filter-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chip{border:1px solid #dce7f3;border-radius:99px;background:#fff;padding:9px 17px;font-size:12px;line-height:1.2;min-height:38px;font-weight:800;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}.chip:hover{background:#eaf5fd}.chip.selected{background:var(--pink);color:#fff;border-color:var(--pink);box-shadow:0 3px 8px #ef006514}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.about-art{position:relative;min-height:420px;background:linear-gradient(150deg,#d9f3ff,#edfaff);border-radius:35px;padding:40px 30px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.about-art>img{width:65%;max-width:320px;position:relative;z-index:1}.about-art>.hand-note{position:absolute;right:20px;top:26px;font-size:20px;text-align:center;transform:rotate(9deg)}.about-thumbnails{margin-top:20px;display:flex;justify-content:center}.about-thumbnails img{width:34%;max-width:145px;border:7px solid #fff;box-shadow:0 5px 15px #13487716;border-radius:12px;margin-left:-10px;transform:rotate(-10deg)}.about-thumbnails img:nth-child(2){transform:rotate(3deg) translateY(-9px)}.about-thumbnails img:nth-child(3){transform:rotate(12deg)}.about-copy>p:not(.eyebrow){margin-top:19px;font-size:15px;color:var(--muted)}.about-copy .button{margin-top:27px}.faq-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;border-top:1px solid var(--line)}.faq-intro>p:not(.eyebrow){margin:23px 0;color:var(--muted);font-size:15px}.faq-list details{border-bottom:1px solid #dce8f3}.faq-list details:first-child{border-top:1px solid #dce8f3}.faq-list summary{padding:21px 4px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:800;font-size:15px;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{color:var(--pink);transition:transform .2s;width:21px;height:21px}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-list details[open] summary{color:var(--pink)}.faq-list details p{font-size:14px;color:var(--muted);padding:0 35px 23px 4px}.contact-section{background:linear-gradient(115deg,#006ec9,#00a4ef);color:white;position:relative;overflow:hidden}.contact-section:before{content:'';position:absolute;top:-120px;right:-100px;width:500px;height:500px;border:50px solid #ffffff0a;border-radius:50%;pointer-events:none}.contact-inner{max-width:1450px;padding:66px 60px;margin:auto;display:flex;justify-content:space-between;gap:35px;align-items:center;position:relative}.contact-inner .eyebrow{color:#fff292}.contact-inner h2{font-size:48px}.contact-inner p:not(.eyebrow){margin-top:17px;font-size:14px;color:#d9f4ff}.contact-actions{display:flex;align-items:flex-start;flex-direction:column;gap:14px}.contact-actions .button{margin-bottom:8px;min-width:260px}.contact-actions>a{display:flex;gap:9px;align-items:center;font-size:14px}.contact-actions>a:hover{text-decoration:underline}.contact-actions>a .icon{width:19px;height:19px}.site-footer{max-width:1500px;margin:auto;padding:30px 40px 20px}.footer-top{display:flex;align-items:center;gap:26px;padding-bottom:23px}.footer-brand{width:155px;flex-shrink:0}.footer-top>p{font-weight:900;font-size:12px;line-height:1.5}.footer-top nav{display:flex;justify-content:center;gap:22px;flex:1;font-size:12px;font-weight:800}.footer-top nav a:hover{color:var(--pink)}.location{display:flex;align-items:center;gap:8px;font-size:11px}.location .icon{color:var(--blue);width:19px;height:19px}.footer-bottom{border-top:1px solid var(--line);padding-top:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.footer-bottom .link-button{font-size:10px;min-height:25px}.floating-quote{position:fixed;z-index:50;bottom:25px;right:28px;box-shadow:0 6px 30px #071d5030!important}.floating-quote>[data-count]{background:#fff;color:var(--pink);min-width:23px;height:23px;display:grid;place-items:center;border-radius:50%;font-size:11px}.mobile-bottom{display:none}
/* Service details and working quote builder */
.dialog{padding:0;border:1px solid #e5eef7;border-radius:25px;max-width:calc(100vw - 42px);color:var(--ink);background:#fff;box-shadow:0 28px 100px #05122f4d;max-height:calc(100dvh - 50px)}.dialog::backdrop{background:#05172d98;backdrop-filter:blur(7px)}.dialog[open]{animation:dialog-in .22s ease-out}.dialog-close{position:absolute;top:17px;right:17px;z-index:3}.service-dialog{width:890px}.service-detail-layout{display:grid;grid-template-columns:1fr 1.06fr;min-height:510px}.detail-visual{padding:43px 24px 28px;background:linear-gradient(#e9f7ff,#fff);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:19px}.detail-image-wrap{width:100%;height:295px;display:flex;align-items:center;justify-content:center;position:relative}.detail-image-wrap>img{width:100%;height:100%;object-fit:contain;border-radius:15px;mix-blend-mode:multiply}.detail-view-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.detail-view-tabs .chip{font-size:11px;min-height:34px;padding:8px 12px}.detail-visual .small{font-size:11px;color:var(--muted);text-align:center}.detail-copy{padding:44px 32px 30px}.detail-copy .eyebrow{font-size:10px}.detail-copy h2{font-size:36px;line-height:1.05;margin-bottom:15px}.detail-copy>p{font-size:13px;color:var(--muted)}.detail-features{padding:0;list-style:none;margin:20px 0;display:grid;gap:9px}.detail-features li{display:flex;gap:9px;font-size:12px;align-items:center;font-weight:700}.detail-features .icon{color:#078ede;width:17px;height:17px}.detail-copy label{font-size:12px;font-weight:800;display:block;margin:17px 0 9px}.detail-copy select{margin-top:7px}.detail-note{font-size:11px!important;line-height:1.65;margin:12px 0 20px!important}.detail-footer{display:flex;gap:12px;align-items:center}.detail-footer>.button{flex:1;padding-inline:16px;font-size:13px}.quantity-control{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.quantity-control button{width:33px;height:33px;border:1px solid #dce6f1;background:#fff;border-radius:10px;display:grid;place-items:center;transition:background .2s;line-height:1}.quantity-control button:hover{background:#fff0f6;border-color:#ffa9ce}.quantity-control button.increment{background:var(--pink);border-color:var(--pink);color:#fff}.quantity-control button .icon{width:17px;height:17px}.quantity-control output{min-width:25px;text-align:center;font-weight:900;font-size:15px}select,input,textarea{width:100%;border:1px solid #cdddea;background:#fff;color:var(--ink);border-radius:11px;padding:11px 12px;font-size:14px;line-height:1.4;transition:border-color .15s,box-shadow .15s}select{padding-right:28px}textarea{resize:vertical;min-height:94px}input::placeholder,textarea::placeholder{color:#8290a5}input[type=checkbox]{width:17px;height:17px;accent-color:var(--pink);padding:0;flex-shrink:0}.quote-dialog{width:990px;overflow:hidden}.quote-dialog[open]{display:flex;flex-direction:column;height:min(850px,calc(100dvh - 50px))}.quote-header{padding:23px 31px 14px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-shrink:0}.quote-heading{display:flex;align-items:center;gap:20px}.quote-heading>img{width:100px}.quote-heading .eyebrow{font-size:9px;margin-bottom:4px;letter-spacing:1.5px}.quote-heading h2{font-size:31px}.quote-progress{margin:0;padding:8px 45px 19px;display:flex;align-items:center;list-style:none;flex-shrink:0;border-bottom:1px solid var(--line);gap:0}.quote-progress li{flex:1;display:flex;gap:9px;align-items:center;font-size:12px;font-weight:800;color:#7184a1;position:relative}.quote-progress li:not(:last-child):after{content:'';height:2px;background:#dde9f7;flex:1;margin:0 22px}.quote-progress li>span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d4e4f6;background:#f5faff;border-radius:50%;font-weight:900;flex-shrink:0}.quote-progress li.current{color:var(--ink)}.quote-progress li.current>span,.quote-progress li.done>span{color:#fff;border-color:var(--pink);background:var(--pink)}.quote-progress li.done:after{background:#ff9cc6}.quote-scroll{padding:28px 38px 26px;overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;scrollbar-width:thin;scrollbar-color:#c7ddee #f7fcff}.builder-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.builder-intro h3{font-size:25px;margin-bottom:6px}.builder-intro p{font-size:13px;color:var(--muted)}.builder-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px}.builder-toolbar .filter-group{gap:6px}.builder-toolbar .chip{padding:8px 14px;font-size:11px;min-height:35px}.search-field{position:relative;width:210px}.search-field .icon{position:absolute;top:11px;left:11px;width:17px;height:17px;color:#8a9ab1}.search-field input{padding:9px 10px 9px 35px;font-size:12px;border-radius:99px}.builder-item{display:grid;grid-template-columns:65px 1fr 1.3fr auto;align-items:center;gap:17px;padding:13px 0;border-bottom:1px solid #e6edf5;position:relative}.builder-item.chosen .builder-item-title:after{content:'IN YOUR PARTY';font:900 8px/1 var(--body);letter-spacing:.8px;display:block;margin-top:6px;color:var(--pink)}.builder-item-thumb{border:1px solid #eaf1f7;border-radius:10px;overflow:hidden;line-height:0;padding:0;background:#fff}.builder-item-thumb img{width:65px;height:55px;object-fit:contain}.builder-item-title{font-size:13px;font-weight:900;line-height:1.35}.builder-item-title small{display:block;font-size:10px;color:var(--muted);font-weight:600;margin-top:3px}.builder-options select{font-size:12px;padding:8px 25px 8px 10px;border-color:#e1e9f3}.builder-options .booth-style{margin-top:5px}.builder-item .quantity-control{gap:5px}.builder-item .quantity-control output{min-width:22px}.builder-note{display:flex;gap:9px;align-items:flex-start;margin-top:18px;background:#f4faff;border-radius:12px;padding:12px;font-size:11px;color:#4a5e7e;line-height:1.65}.builder-note .icon{width:17px;height:17px;margin-top:1px;color:var(--blue)}.empty-results{padding:35px 10px;text-align:center;font-size:14px;color:var(--muted)}.error-text{color:#b61347;font-size:12px;font-weight:800;margin-top:12px;background:#fff0f5;padding:10px 12px;border-radius:9px}.quote-footer{display:flex;align-items:center;padding:19px 31px;border-top:1px solid var(--line);gap:15px;background:#fff;flex-shrink:0}.quote-status{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.quote-status strong{font-size:14px;font-weight:900}.quote-status>span{font-size:11px;color:var(--muted)}.quote-footer .button{font-size:13px;min-height:47px;padding:12px 22px}.quote-footer #quote-back{padding-inline:19px;font-size:12px}.quote-scroll [data-step]>h3{font-size:28px;margin-bottom:9px}.quote-scroll [data-step]>p.muted{font-size:13px;margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:block;font-size:12px;font-weight:800;line-height:1.6}.form-grid input,.form-grid select,.form-grid textarea{display:block;margin-top:6px}.form-grid .span-two{grid-column:1/-1}.required{color:var(--pink)}.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:#415578;line-height:1.6;cursor:pointer}.checkbox-row input{margin:3px 0 0}.date-undecided{margin:12px 0 19px}.form-grid+h4,#event-form h4{margin:25px 0 17px}.honeypot{position:absolute!important;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.form-grid input.invalid,.form-grid select.invalid,.form-grid textarea.invalid{border-color:#c5194d;background:#fff5f8}#event-form>.small{margin-top:18px;font-size:11px}.review-card{border:1px solid #e1ecf6;border-radius:16px;overflow:hidden;margin-bottom:16px}.review-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;background:#f5faff;padding:13px 18px}.review-heading h4{font-size:14px;flex:1 1 160px;min-width:0;overflow-wrap:anywhere}.review-heading .link-button{font-size:11px;min-height:24px;flex:0 0 auto;white-space:nowrap;overflow-wrap:normal}.review-item{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid #edf2f7;font-size:13px}.review-item img{width:54px;height:42px;object-fit:contain;border-radius:8px}.review-item strong{display:block;font-size:12px;font-weight:900}.review-item span{font-size:11px;color:var(--muted)}.review-item>.review-qty{margin-left:auto;color:var(--pink);font-size:13px;font-weight:900}.review-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:19px;margin:0;font-size:13px}.review-details dt{font-size:10px;color:var(--muted);font-weight:700;margin-bottom:3px}.review-details dd{margin:0;overflow-wrap:anywhere}.review-details .full{grid-column:1/-1}.review-details .notes{white-space:pre-wrap}.submission-notice{font-size:12px;line-height:1.7;background:#eaf8ff;border:1px solid #d2edff;border-radius:12px;padding:13px 15px;color:#285273;margin:17px 0}.submission-notice strong{display:block;font-weight:900}.consent{font-size:12px;margin:14px 0}.export-actions{display:flex;gap:10px;margin-top:20px}.export-actions .button{font-size:11px;min-height:39px}.send-feedback{margin-top:17px;padding:14px;border:1px solid #badef2;background:#f0fbff;border-radius:12px;font-size:12px;line-height:1.7}.send-feedback.error{background:#fff1f5;border-color:#ffd2e1;color:#a31343}.success-panel{text-align:center;padding:30px 30px 20px;max-width:600px;margin:auto}.success-icon{width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:#d7f7e5;color:#148659;margin:0 auto 25px}.success-icon .icon{width:40px;height:40px}.success-panel>p{font-size:14px;margin:15px 0}.success-panel h3{font-size:40px!important}.success-panel .success-reference{font-weight:900;color:#176e9f;background:#f0f8ff;padding:12px;border-radius:12px}.success-panel .button{margin-top:20px}.privacy-dialog{width:620px;padding:38px}.privacy-dialog h2{font-size:32px;margin:15px 0 23px}.privacy-dialog p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:17px}.privacy-dialog .text-link{overflow-wrap:anywhere}.toast{position:fixed;z-index:1000;bottom:30px;left:50%;transform:translateX(-50%);padding:13px 17px;background:#fff;border:1px solid #dcebf4;border-radius:14px;box-shadow:0 12px 40px #071d5033;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);font-size:12px}.toast-check{display:grid;place-items:center;background:#e1f7ed;color:#1a8b5c;width:28px;height:28px;border-radius:50%;flex-shrink:0}.toast-check .icon{width:17px;height:17px}.toast>button{white-space:nowrap;border:0;background:none;color:var(--pink);font-weight:900;font-size:12px;padding:5px}.toast .toast-dismiss{font-size:23px;font-weight:500;color:#798aa2}.toast #toast-text{font-weight:700}#confetti{position:fixed;inset:0;pointer-events:none;z-index:1200;overflow:hidden}#confetti i{position:absolute;width:7px;height:12px;border-radius:3px;animation:confetti-fall 1.05s cubic-bezier(.12,.65,.35,1) forwards}.noscript-notice{background:#fff2ba;padding:15px;text-align:center;font-size:14px}.noscript-notice a{text-decoration:underline}
@keyframes confetti-fall{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1920px){.main-nav{gap:39px}.header-actions{margin-right:7%}.header-inner{height:87px}.main-nav a{font-size:16px}.header-quote{height:56px;font-size:18px}.phone-pill{font-size:20px}.header-actions .icon{width:25px;height:25px}}
@media(min-width:1100px) and (max-width:1350px){.main-nav{gap:1.8cqw;margin-left:29.5%}.header-actions{margin-right:5.5%;gap:.7cqw}.header-quote{font-size:12px}.phone-pill{font-size:12px}.hero-actions .button{font-size:1.1cqw}.occasion-buttons{padding-inline:7px}.occasion-buttons button{gap:6px}.footer-top{gap:20px}.footer-top nav{gap:15px}}
@media(max-width:1099px){
 html{scroll-padding-top:90px}.site-header{container-type:normal}.header-inner{height:77px;min-height:77px;padding:0 25px;gap:15px;justify-content:space-between}.brand{position:static;display:flex;width:157px;height:64px;flex-shrink:0;align-items:center}.brand-clean{display:block;width:100%;height:100%;max-height:100%;object-fit:contain}.main-nav{display:none}.header-actions{margin:0;gap:12px}.header-quote{font-size:13px;min-height:43px;height:auto;padding:11px 18px;gap:9px}.header-quote .icon{width:20px;height:20px}.phone-pill{font-size:14px;padding:12px 15px;gap:8px}.phone-pill .icon{width:19px;height:19px}.menu-toggle{display:flex}.mobile-menu:not([hidden]){display:grid;grid-template-columns:repeat(3,1fr);padding:13px 25px 22px;gap:4px 20px;border-top:1px solid var(--line);box-shadow:0 12px 20px #122a4a0d}.mobile-menu a{font-size:14px;font-weight:800;padding:11px;border-radius:8px}.mobile-menu a:hover{background:#f0f9ff;color:var(--pink)}.hero{background:linear-gradient(#058ee9,#039be8);overflow:hidden}.hero-stage{position:relative;padding:32px 32px 28px;container-type:normal}.hero-art,.hero-hit-areas{display:none}.hero-copy{position:static;pointer-events:auto;text-align:center;max-width:630px;margin:auto}.hero-copy h1{position:static;width:auto;height:auto;overflow:visible}.mobile-heading{display:block;width:100%;max-width:570px;margin:0 auto 20px}.hero-description{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;font-size:20px;line-height:1.45;color:#fff;font-weight:700;max-width:550px;margin:auto}.desktop-break{display:none}.hero-actions{position:static;justify-content:center;display:flex;gap:14px;margin-top:23px}.hero-actions .button{height:50px;min-height:50px;width:auto;min-width:205px;padding:12px 22px;font-size:15px;gap:10px}.hero-actions .button.glass{width:auto;min-width:185px}.hero-actions .icon{width:22px;height:22px}.hero-benefits{position:static;display:flex;justify-content:center;gap:30px;margin:26px auto 0;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;color:#fff;text-align:left}.hero-benefits>div{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;line-height:1.3}.hero-benefits .icon{width:32px;height:32px}.mobile-equipment{display:block;width:100%;height:auto;margin-top:-1px;max-height:400px;object-fit:cover;object-position:center}.hire-section{padding:10px 25px 20px;container-type:normal}.hire-heading{height:80px}.hire-heading h2{font-size:38px;margin-top:0}.hire-heading .hand-note{display:none}.service-grid{--hire-gap:16px}.service-grid,.service-grid[data-hire-columns]{--hire-columns:2;max-width:760px}.service-grid[data-hire-columns="1"]{--hire-columns:1;max-width:560px}.service-card{padding:11px 10px 15px}.service-card h3{font-size:16px;margin-top:8px;min-height:2.4em}.service-card .button{font-size:13px;min-height:44px;width:min(100%,220px);padding:9px 13px}.service-image-button{height:160px}.occasion-strip{margin-top:22px;display:block}.occasion-buttons{grid-template-columns:repeat(3,1fr);border-radius:18px;padding:8px;gap:4px}.occasion-buttons button{font-size:12px;min-height:44px}.occasion-buttons .icon{width:24px;height:24px}.occasion-buttons button+button:before{display:none}.occasion-strip>.hand-note{display:none}.section{padding:65px 30px}.packages-section{margin-top:0}.package-grid{gap:14px}.package-copy{padding:20px}.package-art{height:168px;padding:22px 15px}.package-copy h3{font-size:25px}.package-copy>p:not(.package-tag){font-size:13px;min-height:91px}.package-copy .button{font-size:12px;padding-inline:12px}.how-grid{gap:22px}.how-grid article{gap:12px}.how-grid h3{font-size:23px}.how-grid p{font-size:12px}.step-number{width:42px;height:42px;line-height:42px;font-size:25px;border-radius:13px}.about-section{gap:38px}.about-art{min-height:340px;padding:25px 20px}.about-art>.hand-note{font-size:15px;right:10px;top:20px}.about-copy>p:not(.eyebrow){font-size:14px}.faq-section{gap:40px}.contact-inner{padding:55px 30px}.contact-inner h2{font-size:41px}.footer-top{flex-wrap:wrap;gap:20px}.footer-top nav{flex:1 1 45%;justify-content:flex-end}.location{margin-left:auto}.site-footer{padding:25px 30px}.footer-bottom{gap:14px;flex-wrap:wrap}.service-detail-layout{grid-template-columns:.9fr 1.1fr}.detail-copy{padding:45px 28px 25px}.detail-copy h2{font-size:33px}
}
@media(min-width:760px) and (max-width:1099px){.hero{display:grid;grid-template-columns:1fr .9fr;align-items:stretch;min-height:440px;background:#058ee9}.hero-stage{padding:35px 25px;display:flex;align-items:center}.mobile-heading{margin-bottom:18px}.hero-description{font-size:17px}.hero-actions{gap:10px}.hero-actions .button{font-size:13px;min-width:0;padding:11px 15px}.hero-actions .button.glass{min-width:0}.hero-actions .button .icon{width:17px;height:17px}.hero-benefits{gap:16px}.hero-benefits>div{font-size:10px;display:block;text-align:center}.hero-benefits .icon{display:block;margin:0 auto 7px;width:27px;height:27px}.mobile-equipment{height:100%;min-height:440px;max-height:none;object-fit:cover;object-position:53% center;mask-image:linear-gradient(to right,transparent,#000 8%)}}
@media(max-width:759px){
 html{scroll-padding-top:87px}.header-inner{padding:0 17px;height:76px;min-height:76px;gap:8px}.brand{width:142px}.header-actions{gap:8px}.phone-pill{display:none}.header-quote{padding:10px 13px;font-size:12px;min-height:39px}.header-quote>.icon{display:none}.header-quote .count-badge{min-width:17px;height:17px;font-size:9px}.icon-button.menu-toggle{width:38px;height:38px;border-color:#d8e5f4}.menu-toggle .icon{width:21px;height:21px}.mobile-menu:not([hidden]){grid-template-columns:1fr 1fr;padding:12px 18px 18px;gap:2px 8px}.mobile-menu a{font-size:13px;padding:10px}.mobile-menu a:last-child{grid-column:1/-1;color:var(--pink)}.hero-stage{padding:26px 20px 24px}.mobile-heading{margin:0 auto 15px;max-width:570px}.hero-description{font-size:16px;line-height:1.5;max-width:430px;padding-inline:3px}.hero-actions{gap:10px;margin-top:20px}.hero-actions .button{min-width:0;flex:1;font-size:13px;min-height:46px;height:auto;padding:12px 13px;gap:7px;max-width:230px}.hero-actions .button.glass{min-width:0;flex:.85}.hero-actions .icon{width:17px;height:17px}.hero-benefits{gap:15px;justify-content:space-between;margin:24px auto 0;max-width:430px}.hero-benefits>div{font-size:10px;gap:7px;text-align:left;line-height:1.35}.hero-benefits .icon{width:27px;height:27px}.mobile-equipment{max-height:none;object-fit:contain;width:100%}.hire-section{padding:10px 16px 20px}.hire-heading{min-height:68px;height:68px}.hire-heading h2{font-size:30px;letter-spacing:-.8px}.pink-brush{width:110px;height:3px;bottom:-8px}.service-grid{--hire-gap:12px;margin-top:16px}.service-card{border-radius:16px;padding:9px 9px 12px}.service-image-button{height:clamp(110px,30vw,160px)}.service-card h3{font-size:14px;min-height:34px;line-height:1.3;margin:7px 0 8px;letter-spacing:-.3px}.service-card .button{min-height:44px;font-size:12px;gap:13px;width:min(100%,220px);padding:9px 11px}.service-card .button .icon{width:17px;height:17px}.occasion-strip{margin-top:18px}.occasion-buttons{grid-template-columns:1fr 1fr;padding:9px;gap:4px;border-radius:16px}.occasion-buttons button{font-size:11px;gap:9px;min-height:42px;justify-content:flex-start;padding-left:9px}.occasion-buttons .icon{width:22px;height:22px}.section{padding:55px 21px}h2{font-size:36px}.eyebrow{font-size:10px;letter-spacing:1.6px}.section-heading{margin-bottom:27px}.section-heading h2{margin-bottom:14px}.section-heading>p:last-child{font-size:14px}.package-grid{grid-template-columns:1fr;gap:21px}.package-card{max-width:500px;width:100%;margin:auto;border-radius:19px}.package-art{height:185px;padding:22px 25px}.package-art img{max-width:150px}.package-copy{padding:24px}.package-copy h3{font-size:29px}.package-copy>p:not(.package-tag){min-height:0;font-size:14px}.package-copy .button{font-size:14px;margin-top:21px;min-height:47px}.package-tag{font-size:10px}.section-footnote{font-size:11px;line-height:1.7;margin-top:21px}.how-grid{grid-template-columns:1fr;gap:27px;max-width:480px;margin:0 auto 32px}.how-grid article{gap:17px}.how-grid h3{font-size:26px;margin-top:0}.how-grid p{font-size:14px}.step-number{width:45px;height:45px;line-height:45px;font-size:27px}.how-section>.button{width:100%;max-width:440px}.split-heading{display:block;margin-bottom:25px}.split-heading>p{margin-top:16px;font-size:13px}.split-heading h2{font-size:36px}.about-section{grid-template-columns:1fr;gap:31px}.about-art{min-height:330px;padding:25px;border-radius:23px}.about-art>.hand-note{font-size:19px;right:15px}.about-copy>p:not(.eyebrow){font-size:14px}.about-copy h2{font-size:36px}.faq-section{grid-template-columns:1fr;gap:29px}.faq-intro h2 br{display:none}.faq-intro>p:not(.eyebrow){margin:16px 0;font-size:14px}.faq-list summary{font-size:14px;padding-block:20px;gap:13px}.faq-list details p{font-size:13px;padding-right:22px}.contact-inner{padding:48px 24px;flex-direction:column;align-items:flex-start;gap:28px}.contact-inner h2{font-size:38px}.contact-inner p:not(.eyebrow){font-size:13px}.contact-actions{width:100%;gap:14px}.contact-actions .button{width:100%;font-size:15px;max-width:430px}.contact-actions>a{font-size:12px;overflow-wrap:anywhere}.contact-actions>a:last-child{font-size:11px}.site-footer{padding:27px 21px 96px}.footer-top{gap:15px;justify-content:space-between}.footer-brand{width:145px}.footer-top>p{font-size:11px}.footer-top nav{flex:1 1 100%;justify-content:space-between;gap:12px;font-size:11px;margin:10px 0 6px}.location{margin-left:0;font-size:11px}.footer-bottom{font-size:9px;gap:10px 13px;justify-content:flex-start}.footer-bottom>span:first-child{flex:1 1 100%}.footer-bottom>a:last-child{margin-left:auto}.footer-bottom .link-button{font-size:9px}.floating-quote{display:none!important}.mobile-bottom{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;bottom:0;left:0;right:0;background:#fffffff5;backdrop-filter:blur(16px);border-top:1px solid #dbe8f4;box-shadow:0 -4px 20px #0923490b;z-index:55;padding:7px 12px calc(7px + env(safe-area-inset-bottom));}.mobile-bottom a,.mobile-bottom button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;border:0;border-radius:10px;padding:4px 6px;min-height:48px;font-size:10px;font-weight:800;line-height:1.4;color:#4a5d7b}.mobile-bottom .icon{width:23px;height:23px;stroke-width:1.8}.mobile-bottom a.active,.mobile-bottom a:hover,.mobile-bottom button:hover{color:var(--pink)}.bottom-count{position:absolute;top:0;left:calc(50% + 7px);background:var(--pink);color:#fff;min-width:15px;height:15px;border-radius:50%;font:800 9px/15px var(--body);padding-inline:3px}.dialog{max-width:calc(100vw - 20px);border-radius:20px;max-height:calc(100dvh - 24px)}.dialog-close{top:12px;right:12px;width:38px;height:38px}.service-dialog{width:520px;overflow:auto}.service-detail-layout{grid-template-columns:1fr;min-height:0}.detail-visual{padding:32px 18px 15px;gap:10px}.detail-image-wrap{height:200px;max-width:330px}.detail-visual .small{font-size:10px}.detail-view-tabs .chip{min-height:34px;font-size:10px}.detail-copy{padding:22px 23px 27px}.detail-copy h2{font-size:33px;margin-bottom:13px}.detail-copy .eyebrow{margin-bottom:7px}.detail-copy>p{font-size:13px}.detail-features{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px;margin:20px 0}.detail-features li{font-size:10px;align-items:flex-start;line-height:1.5}.detail-features .icon{width:15px;height:15px;margin-top:1px}.detail-copy select{font-size:16px;padding:11px}.detail-footer .quantity-control button{width:36px;height:42px}.detail-footer .button{min-height:47px;font-size:12px;gap:7px;padding-inline:12px}.detail-note{font-size:11px!important}.quote-dialog{width:100%;max-width:100vw;border:0;border-radius:0;margin:0}.quote-dialog[open]{height:100dvh;max-height:100dvh;inset:0;animation:dialog-in .2s}.quote-header{padding:15px 17px 12px}.quote-heading{gap:10px}.quote-heading>img{width:78px}.quote-heading h2{font-size:24px}.quote-heading .eyebrow{font-size:7px;letter-spacing:.8px;margin-bottom:3px}.quote-header>.icon-button{width:37px;height:37px}.quote-header>.icon-button .icon{width:20px;height:20px}.quote-progress{padding:7px 18px 16px;gap:10px}.quote-progress li{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:9px;text-align:center;white-space:nowrap}.quote-progress li>span{width:26px;height:26px;font-size:11px}.quote-progress li:not(:last-child):after{position:absolute;top:13px;left:calc(50% + 18px);width:calc(100% - 25px);margin:0}.quote-scroll{padding:20px 18px 23px}.builder-intro{gap:10px;margin-bottom:16px;align-items:flex-start}.builder-intro h3{font-size:24px;line-height:1.15;max-width:250px}.builder-intro p{font-size:11px;max-width:235px}.builder-intro>.link-button{font-size:10px;white-space:nowrap}.builder-toolbar{display:flex;align-items:stretch;flex-direction:column;gap:10px}.builder-toolbar .filter-group{gap:6px;justify-content:space-between}.builder-toolbar .chip{font-size:10px;padding:9px 13px;flex:1;min-height:35px}.search-field{width:100%}.search-field input{font-size:16px;padding:9px 10px 9px 36px;min-height:40px}.search-field .icon{top:12px}.builder-item{grid-template-columns:50px 1fr auto;column-gap:11px;row-gap:9px;padding:15px 0}.builder-item-thumb img{width:50px;height:50px}.builder-item-title{font-size:12px;line-height:1.2}.builder-item-title small{font-size:9px;line-height:1.4}.builder-item .builder-options{grid-column:2/-1;grid-row:2}.builder-options select{font-size:14px;padding:9px 25px 9px 10px;min-height:39px}.builder-options .booth-style{font-size:13px}.builder-item .quantity-control{grid-column:3;grid-row:1;gap:3px}.builder-item .quantity-control button{width:30px;height:36px;border-radius:9px}.builder-item .quantity-control output{font-size:13px;min-width:20px}.builder-item.chosen .builder-item-title:after{font-size:7px;margin-top:5px}.builder-note{font-size:10px;line-height:1.6;padding:11px}.quote-footer{padding:13px 17px calc(13px + env(safe-area-inset-bottom));gap:9px;flex-wrap:wrap}.quote-footer .quote-status{order:0;flex:1 1 100%;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.quote-status strong{font-size:11px;white-space:nowrap}.quote-status>span{font-size:9px;line-height:1.2;text-align:right}.quote-footer .button{font-size:12px;min-height:46px;padding:12px 17px}.quote-footer #quote-next{flex:1;order:2;gap:9px}.quote-footer #quote-back{order:1;font-size:11px;padding-inline:17px}.quote-footer #quote-next .icon{width:18px;height:18px}.quote-scroll [data-step]>h3{font-size:26px}.quote-scroll [data-step]>p.muted{font-size:12px;margin-bottom:19px}.form-grid{gap:16px 12px}.form-grid label{font-size:11px}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;padding:11px 10px}.form-grid input[type=date],.form-grid input[type=time]{min-width:0;max-width:100%;min-height:46px}.checkbox-row{font-size:11px;gap:9px}.date-undecided{margin:13px 0 19px}.form-grid .span-two{grid-column:1/-1}.review-heading{padding:11px 13px}.review-item{padding:12px 13px;gap:11px}.review-item img{width:45px;height:40px}.review-item strong{font-size:11px}.review-item span{font-size:10px}.review-details{font-size:12px;padding:15px;gap:14px}.review-details dt{font-size:9px}.submission-notice{font-size:11px;padding:12px}.export-actions{gap:8px}.export-actions .button{font-size:10px;min-height:40px;flex:1;padding-inline:10px;gap:7px}.export-actions .icon{width:16px;height:16px}.success-panel{padding:35px 3px 20px}.success-panel h3{font-size:35px!important}.success-panel>p{font-size:13px}.success-panel .eyebrow{font-size:9px}.success-panel .button{font-size:12px}.privacy-dialog{padding:30px 23px}.privacy-dialog h2{font-size:28px;padding-right:20px}.privacy-dialog p:not(.eyebrow){font-size:12px}.toast{bottom:85px;gap:8px;padding:10px 11px;border-radius:13px;width:max-content;font-size:11px}.toast>button{font-size:10px}.toast #toast-text{max-width:185px;line-height:1.4}.toast .toast-dismiss{font-size:20px}.toast-check{width:25px;height:25px}
}
@media(max-width:359px){.header-inner{padding-inline:12px;gap:6px}.brand{width:125px}.header-actions{gap:6px}.header-quote{padding:10px 11px;font-size:11px}.hero-stage{padding:23px 16px 21px}.hero-description{font-size:15px}.hero-actions .button{padding:11px 10px;font-size:12px;gap:5px}.hero-benefits{gap:8px}.hero-benefits>div{font-size:9px;gap:5px}.hero-benefits .icon{width:23px;height:23px}.hire-section{padding-inline:12px}.hire-heading h2{font-size:27px}.service-grid,.service-grid[data-hire-columns]{--hire-columns:1;--hire-gap:14px;max-width:300px}.service-image-button{height:168px}.service-card h3{font-size:16px}.service-card .button{font-size:13px;padding-inline:12px;gap:10px}.section{padding-inline:18px}.quote-header{padding-inline:13px}.quote-heading>img{width:69px}.quote-heading h2{font-size:22px}.quote-scroll{padding-inline:13px}.quote-progress{padding-inline:13px}.builder-item{column-gap:8px;grid-template-columns:43px 1fr auto}.builder-item-thumb img{width:43px;height:45px}.builder-item-title{font-size:11px}.builder-item .quantity-control button{width:28px}.builder-item .quantity-control output{min-width:17px}.builder-toolbar .chip{padding-inline:11px}.form-grid{grid-template-columns:1fr}.form-grid .span-two{grid-column:auto}.quote-footer{padding-inline:13px}.quote-status>span{font-size:8px}.toast #toast-text{max-width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button:hover,.service-card:hover,.package-card:hover{transform:none}#confetti{display:none}}
@media print{.site-header,.hero,.hire-section,.section,.contact-section,.site-footer,.mobile-bottom,.toast,.floating-quote,.dialog:not(.quote-dialog),.quote-header,.quote-progress,.quote-footer,.export-actions,.consent,.submission-notice,.skip-link{display:none!important}body{overflow:visible!important}.quote-dialog{position:static;display:block!important;width:100%;max-width:none;max-height:none;height:auto!important;box-shadow:none;border:0}.quote-scroll{overflow:visible}section[data-step]{display:none!important}section[data-step="3"]{display:block!important}.review-card{break-inside:avoid}}

/* Exact source lettering where typography is integral to the approved illustration. */
.hire-heading h2{width:25.6cqw;margin-top:-2px}.hire-heading-art{width:100%;height:auto}.hire-heading .range-note{width:14.2cqw;top:3px;right:3%;transform:none}.range-note img{width:100%;height:auto}.occasion-strip>.occasion-note{width:13.8cqw;transform:none;margin:0}.occasion-note img{width:100%;height:auto}
@media(min-width:1100px){.hero-actions{top:58.7%}.hero-actions .button.glass{width:11.9cqw}.hero-actions .button{height:3.45cqw}}
@media(max-width:1099px){.hire-heading h2{width:385px;max-width:95%;margin:0}.hire-heading .range-note,.occasion-strip>.occasion-note{display:none}}
@media(max-width:759px){.hire-heading h2{width:320px;max-width:97%}.hire-heading{height:68px}}

/* All pieces of the desktop illustration scroll together beneath stable navigation. */
@media(min-width:1100px){.hero-header-art{display:block;width:100%;height:auto}.hero-illustrated-brand{display:block;position:absolute;z-index:1;left:6.82%;top:0;width:19.26%;height:auto;aspect-ratio:322/156;object-fit:contain;pointer-events:none}.hero.content-custom-hero-image .hero-header-art,.hero.content-custom-hero-image .hero-illustrated-brand{display:none}}
/* Edge equipment labels stay inside the page, even before hover. */
.hit-oval span{left:auto;right:0;transform:translateY(5px)}
.hit-oval:hover span,.hit-oval:focus-visible span{transform:translateY(0)}

/* Editable type overlays the original artwork only when its copy changes. */
.content-live-art-text{font-family:var(--hand);line-height:1.05;color:#071d50}
.content-custom-hire .content-live-art-text{font-size:clamp(2rem,4.5vw,3.4rem)}
.content-custom-range-note .content-live-art-text,.content-custom-occasion-note .content-live-art-text{font-size:clamp(1.25rem,2.3vw,1.8rem);display:block;max-width:18ch}
.content-custom-hero .content-live-hero-title{display:block;font-family:var(--hand);font-size:clamp(2.4rem,5.5vw,4.4rem);line-height:1.03;color:white}
@media(min-width:1100px){
.hero:is(.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits) .hero-copy{inset:0 auto 0 0;width:36%;padding:5.4cqw 3.2cqw 1.5cqw;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:1.1cqw;background:#448fdc}
.hero:is(.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits) .hero-copy h1{position:static;width:auto;height:auto;overflow:visible;margin:0}
.hero:is(.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits) .content-live-hero-title{position:static;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;white-space:normal;display:block;font-family:var(--hand);font-size:3.9cqw;line-height:1.02;color:white}
.hero:is(.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits) .hero-description{position:static;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;margin:0;color:white;font-size:1.22cqw;line-height:1.5;white-space:normal}
.hero:is(.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits) .hero-actions{position:static;flex-wrap:wrap;gap:.65cqw}
.hero:is(.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits) .hero-benefits{position:static;width:auto;height:auto;clip:auto;clip-path:none;overflow:visible;display:flex;gap:1.2cqw;white-space:normal;color:white;font-size:.78cqw}
.hero:is(.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits) .hero-benefits .icon{width:2cqw;height:2cqw}
}

/* Optional backdrop choices share the equipment and party-builder controls. */
.backdrop-label{font-size:12px;font-weight:800;margin:17px 0 7px}.backdrop-label span{font-weight:600;color:var(--muted)}.backdrop-summary{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:#fff;border:1px solid #d6e4f2;border-radius:12px;padding:9px 11px;color:var(--ink);transition:border-color .2s}.backdrop-summary:hover{border-color:var(--pink)}.backdrop-summary>img,.backdrop-none-icon{flex:0 0 56px;width:56px;height:42px;object-fit:cover;border-radius:7px}.backdrop-none-icon{display:grid;place-items:center;background:#eef8ff;color:var(--blue)}.backdrop-summary>span:not(.backdrop-none-icon){flex:1;min-width:0}.backdrop-summary strong{display:block;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.backdrop-summary small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.backdrop-summary>.icon{flex-shrink:0;width:18px;height:18px;color:var(--pink)}.builder-options .backdrop-label{margin-top:9px;font-size:11px}.builder-options .backdrop-summary{padding:7px 9px}.builder-options .backdrop-summary strong{font-size:11px}.backdrop-dialog{width:850px;padding:24px;overflow:hidden}.backdrop-dialog[open]{display:flex;flex-direction:column}.backdrop-picker-head{display:flex;flex-shrink:0;gap:20px;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.backdrop-picker-head .eyebrow{font-size:10px;margin-bottom:5px}.backdrop-picker-head h2{font-size:30px;margin-bottom:9px}.backdrop-picker-head p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:620px;line-height:1.6}.backdrop-picker-head .icon-button{flex-shrink:0}.backdrop-grid{display:grid;min-height:0;overflow:auto;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:12px}.backdrop-swatch{padding:5px;background:#fff;border:2px solid #e2ebf4;border-radius:13px;text-align:left;color:var(--ink);min-width:0;overflow:hidden}.backdrop-swatch:hover,.backdrop-swatch.selected{border-color:var(--pink)}.backdrop-swatch.selected{background:#fff2f7}.backdrop-swatch>img,.backdrop-swatch-image{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#eef8ff}.backdrop-swatch-image{display:grid;place-items:center;color:var(--muted)}.backdrop-swatch-image .icon{width:30px;height:30px}.backdrop-swatch-name{display:block;padding:9px 5px;font-size:12px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.review-backdrop{display:block;margin-top:3px;font-size:11px;color:var(--muted)}
@media(max-width:600px){.backdrop-dialog{padding:18px;max-width:calc(100vw - 20px)}.backdrop-picker-head{gap:9px;margin-bottom:15px}.backdrop-picker-head h2{font-size:27px}.backdrop-picker-head p:not(.eyebrow){font-size:12px}.backdrop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.backdrop-swatch-name{font-size:11px;padding:8px 4px}.backdrop-summary strong{font-size:12px}.builder-options .backdrop-summary strong{font-size:12px}}
@media print{.backdrop-dialog{display:none!important}}

/* Stock availability follows the existing party-builder controls and colours. */
.hire-period{border:1px solid var(--border,#dbe7f0);border-radius:16px;padding:20px;margin:20px 0;min-width:0}.hire-period legend{padding:0 8px;font-weight:700;color:var(--navy,#142d4d)}.hire-period p{margin-top:0}.availability-picker{margin:22px 0;padding:20px;border:1px solid #dbe7f0;background:#f8fbff;border-radius:16px}.availability-heading{display:flex;gap:12px;align-items:center;justify-content:space-between}.availability-heading h4{margin:0}.availability-picker>.small{margin:10px 0 18px}.availability-month-controls{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:12px}.availability-month-controls .icon-button{font-size:26px;width:40px;height:40px}.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.availability-weekday{text-align:center;font-size:12px;color:#53647a;padding-bottom:5px}.availability-day{display:flex;align-items:center;justify-content:center;border:1px solid #dbe7f0;border-radius:9px;aspect-ratio:1;background:#fff;min-width:0;font:inherit;font-weight:600;cursor:pointer;color:#142d4d}.availability-day.available{background:#e7f6ff;border-color:#008fee;color:#005c9b}.availability-day.unavailable{background:#fff0f6;border-color:#f5b0cb;color:#aa285d}.availability-day.unknown{color:#7a8798;background:#f0f3f7}.availability-day:disabled{cursor:default;opacity:1}.availability-day.available:hover{background:#008fee;color:#fff}.availability-day.chosen{outline:2px solid #e90061;outline-offset:1px}.availability-day:focus-visible{outline:3px solid #142d4d;outline-offset:2px}.availability-legend{display:flex;flex-wrap:wrap;gap:10px 16px;font-size:12px;margin-top:14px}.availability-legend span{display:flex;align-items:center;gap:6px}.availability-legend i{display:inline-block;width:9px;height:9px;border-radius:50%}.availability-legend i.available{background:#008fee}.availability-legend i.unavailable{background:#e90061}.availability-legend i.unknown{background:#b4bfcc}.availability-status{margin:16px 0 0;font-size:14px;line-height:1.5}.availability-status.error{color:#a90047}.availability-status.success{color:#00613c}@media(max-width:540px){.hire-period,.availability-picker{padding:16px}.availability-heading{align-items:flex-start;flex-direction:column;gap:4px}.availability-calendar{gap:4px}.availability-day{border-radius:7px;font-size:14px}.availability-weekday{font-size:11px}}

/* Fade the compact desktop logo without changing the sticky navigation geometry. */
@media(min-width:1100px){.site-header.hero-brand-visible .brand{pointer-events:none}.site-header.hero-brand-visible .brand-clean{opacity:0}.site-header.hero-brand-visible .brand:focus-visible{pointer-events:auto}.site-header.hero-brand-visible .brand:focus-visible .brand-clean{opacity:1;transition-duration:0s}}

/* Flavour photo and colour swatches use the same optional-choice controls as backdrops. */
.flavour-picker-tools{flex-shrink:0;margin-bottom:12px;min-width:0}.flavour-picker-tools>label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.flavour-search-row{display:flex;align-items:stretch;flex-wrap:wrap;gap:9px;min-width:0}.flavour-search-row .search-field{flex:1 1 160px;min-width:0;width:auto}.flavour-search-row input{min-height:var(--action-size);font-size:16px}.flavour-search-row>.chip{flex:0 0 auto;max-width:100%;font-size:12px;white-space:normal;overflow-wrap:normal;line-height:1.4}.flavour-results-label{font-size:12px;color:var(--muted);margin:8px 0 0;line-height:1.5}.flavour-selected{display:flex;flex-wrap:wrap;gap:7px;max-height:100px;overflow:auto;flex-shrink:0;margin-bottom:12px;padding:2px}.flavour-selected-choice{display:flex;align-items:center;gap:7px;min-width:0;max-width:100%;font-size:11px;background:#fff2f7;border-color:#f4bbd3;padding:7px 10px;white-space:normal;text-align:left}.flavour-selected-choice>span{min-width:0;overflow-wrap:anywhere}.flavour-selected-choice>.icon{width:15px;height:15px;flex-shrink:0}.flavour-dialog .backdrop-grid{flex:1;min-height:90px}.flavour-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;flex-shrink:0;padding-top:12px}.flavour-pagination>p{font-size:12px;font-weight:800;color:var(--muted);text-align:center;flex:1 1 90px;min-width:0}.flavour-pagination .button{font-size:12px;min-height:var(--action-size);padding:9px 15px;flex:0 0 auto;white-space:nowrap;overflow-wrap:normal}.flavour-pagination .button:disabled{opacity:.45;cursor:default}.flavour-pagination[hidden],.flavour-selected[hidden]{display:none}.flavour-dialog .backdrop-picker-head{margin-bottom:14px}
@media(max-width:600px){.flavour-picker-tools{margin-bottom:10px}.flavour-search-row{gap:7px}.flavour-search-row>.chip{font-size:11px;padding:8px 9px}.flavour-results-label,.flavour-pagination>p{font-size:11px}.flavour-selected{max-height:76px;gap:6px;margin-bottom:10px}.flavour-selected-choice{font-size:10px}.flavour-pagination{padding-top:10px;gap:8px}.flavour-pagination .button{font-size:11px;padding:9px 12px}.flavour-dialog .backdrop-picker-head{margin-bottom:12px}}
.backdrop-summary.flavour-summary>.flavour-summary-colour{flex:0 0 56px;width:56px;height:42px;border-radius:7px;border:1px solid #d6e4f2;background:#eef8ff}.flavour-dialog .backdrop-swatch{position:relative}.flavour-colour{border:1px solid #d6e4f2}.flavour-selection-mark{position:absolute;top:12px;right:12px;width:26px;height:26px;display:grid;place-items:center;background:var(--pink);color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 5px #071d5026}.flavour-selection-mark .icon{width:16px;height:16px;stroke-width:3}.flavour-swatch[aria-disabled="true"]{border-style:dashed}.flavour-picker-status,.flavour-change-notice{font-size:12px;line-height:1.5;color:#9e0043}.flavour-picker-status:empty{display:none}.flavour-change-notice{margin:7px 0 0}.flavour-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;flex-shrink:0;border-top:1px solid var(--line);margin-top:16px}.flavour-picker-footer>p{font-size:12px;white-space:nowrap;font-weight:800;color:var(--muted)}.flavour-picker-footer>div{display:flex;flex-wrap:wrap;gap:9px;min-width:0}.flavour-picker-footer .button{font-size:12px;min-height:42px;padding:10px 15px;gap:6px;flex:1 0 auto;max-width:100%;overflow-wrap:normal}.flavour-picker-footer .icon{width:17px;height:17px}.review-flavours{display:block;margin-top:3px;font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.flavour-texture-icecream-swirl,.flavour-texture-slushie-ice{position:relative;isolation:isolate;overflow:hidden}.flavour-texture-icecream-swirl::before,.flavour-texture-slushie-ice::before,.flavour-texture-icecream-swirl::after,.flavour-texture-slushie-ice::after{content:"";position:absolute;inset:0;border-radius:inherit;background-position:center;background-size:cover;mix-blend-mode:soft-light;opacity:.65;pointer-events:none}.flavour-texture-icecream-swirl::before,.flavour-texture-slushie-ice::before{mix-blend-mode:multiply;opacity:.12}.flavour-texture-icecream-swirl::before,.flavour-texture-icecream-swirl::after{background-image:url('/assets/flavour-icecream-texture.webp')}.flavour-texture-slushie-ice::before,.flavour-texture-slushie-ice::after{background-image:url('/assets/flavour-slushie-texture.webp')}.flavour-selection-mark{z-index:2}
.flavour-stock-label,.flavour-stock-remove{display:block;padding:0 5px 8px;font-size:11px;line-height:1.4;overflow-wrap:anywhere;color:var(--muted)}.flavour-stock-label.unavailable,.flavour-stock-remove{color:#9e0043;font-weight:800}.flavour-swatch.flavour-unavailable{border-color:#d3dbe4;background:#f5f7fa}.flavour-swatch.flavour-unavailable .backdrop-swatch-image,.flavour-swatch.flavour-unavailable>img{opacity:.6}.flavour-swatch:disabled{cursor:default}.flavour-stock-summary{font-size:11px;line-height:1.5;overflow-wrap:anywhere;margin:7px 0 0;color:var(--muted)}.flavour-stock-refresh{font-size:12px;min-height:44px}.flavour-stock-enquiry-notice{padding:12px;background:#fff2f7;border:1px solid #f4bbd3;border-radius:12px;margin:12px 0}#flavour-stock-picker-status .link-button{min-height:44px;font-size:12px}.flavour-quantity-control input[aria-invalid="true"]{border-color:#b91356}
@media(max-width:600px){.flavour-picker-footer{align-items:stretch;flex-direction:column;gap:8px;padding-top:12px;margin-top:12px}.flavour-picker-footer>div{display:flex;flex-wrap:wrap}.flavour-picker-footer .button{padding:10px 8px;font-size:11px}.flavour-picker-footer>p{font-size:11px}.flavour-picker-status,.flavour-change-notice{font-size:11px}.flavour-selection-mark{width:23px;height:23px;top:10px;right:10px}}

/* Optional bottle/add-on quantities: equipment packages keep their shared counter. */
.flavour-quantities{margin-top:12px;border:1px solid var(--line);border-radius:12px;padding:12px;min-width:0}.flavour-quantity-help{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 8px}.flavour-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);min-width:0}.flavour-quantity-row>label{font-size:12px;font-weight:800;line-height:1.4;overflow-wrap:anywhere;min-width:0;margin:0;flex:1}.flavour-quantity-control{gap:4px}.flavour-quantity-control button{width:36px;height:44px}.flavour-quantity-control input{width:48px;min-width:0;height:44px;padding:6px 2px;text-align:center;font-size:16px;font-weight:800;border-radius:9px;appearance:textfield;-moz-appearance:textfield}.flavour-quantity-control input::-webkit-inner-spin-button,.flavour-quantity-control input::-webkit-outer-spin-button{appearance:none;margin:0}.flavour-quantity-total{display:flex;align-items:center;flex-wrap:wrap;gap:7px;font-size:12px;font-weight:800;min-width:0}.flavour-quantity-total>span{color:var(--muted)}.flavour-quantity-total output{font-size:18px;color:var(--pink)}.flavour-quantity-total .link-button{flex-basis:100%;font-size:11px;min-height:32px}.builder-item .flavour-quantity-control button{width:36px;height:44px}.builder-item .flavour-quantity-control{gap:4px}.builder-item .flavour-quantity-total{justify-content:center;text-align:center}.quantity-control button:disabled{opacity:.45;cursor:default}.detail-footer .flavour-quantity-total{min-width:65px}
@media(max-width:600px){.builder-item>.flavour-quantity-total{grid-column:3;grid-row:1}.builder-item .flavour-quantities{margin-left:-61px}.flavour-quantity-row{gap:8px}.flavour-quantity-total output{font-size:17px}.flavour-quantity-help{font-size:11px}}
@media(max-width:359px){.builder-item .flavour-quantities{margin-left:-51px}.flavour-quantity-row>label{font-size:11px}.flavour-quantities{padding:9px}.flavour-quantity-control input{width:40px}}

/* Shared action targets stay usable across compact and full-size layouts. */
.button,.chip,.icon-button,.link-button,.phone-pill,.text-link,.occasion-buttons button,.contact-actions>a,select,.search-field{min-height:var(--action-size)}
.button,.chip,.icon-button,.link-button{min-width:var(--action-size)}
.icon-button,.quantity-control button,.builder-item-thumb{min-width:var(--action-size);min-height:var(--action-size)}
.hero-actions .button,.builder-toolbar .chip,.detail-view-tabs .chip,.flavour-picker-footer .button,.review-heading .link-button,.footer-bottom .link-button,.flavour-quantity-total .link-button{min-height:var(--action-size)}
.builder-toolbar .chip,.detail-view-tabs .chip{font-size:12px}
.flavour-quantity-control input{min-width:var(--action-size)}
.builder-item-title,.builder-options,.detail-copy,.detail-visual{min-width:0}
.builder-item-title{overflow-wrap:anywhere}
.detail-footer{flex-wrap:wrap}
.detail-footer>.button{flex:1 1 160px;white-space:normal}
.service-dialog-tools{position:sticky;top:17px;z-index:3;height:0;display:flex;justify-content:flex-end;padding-inline:17px;pointer-events:none}
.service-dialog-tools>.dialog-close{position:static;pointer-events:auto}
/* Give the existing flavour cards a full-height viewing area. */
@media screen{.flavour-dialog[open]{height:min(900px,calc(100dvh - 48px));max-height:calc(100dvh - 48px)}.flavour-picker-body{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.flavour-picker-body>#flavour-picker-help{flex-shrink:0;font-size:13px;line-height:1.6;color:var(--muted);max-width:620px;margin:0 0 16px}.flavour-picker-body .backdrop-grid{min-height:0}.flavour-picker-body .flavour-picker-status{flex-shrink:0}.flavour-picker-body .backdrop-grid{overscroll-behavior:contain}}
@media screen and (max-width:759px){.flavour-dialog[open]{height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}}
@media screen and (max-width:600px){.flavour-picker-body>#flavour-picker-help{font-size:12px;margin-bottom:14px}}
/* In landscape or with the keyboard open, scroll the existing help and search
   with the cards so they cannot consume all the space above the fixed actions. */
@media screen and (max-height:740px){.flavour-picker-body{display:block;overflow:auto;overscroll-behavior:contain}.flavour-picker-body .backdrop-grid{overflow:visible;flex:none}}
@media(max-width:759px){.service-dialog-tools{top:12px;padding-inline:12px}.builder-options select{font-size:16px}.builder-intro>.link-button{font-size:12px}}

/* Render option menus with the same shape and indicator in each browser. */
select{appearance:none;-webkit-appearance:none;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23071d50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px}
select,.builder-options select,.detail-copy select,.form-grid select{padding-right:34px;min-height:var(--action-size)}
.form-grid input:not([type=checkbox]),.form-grid textarea{min-height:var(--action-size)}
@media(max-width:759px){select,.builder-options select,.detail-copy select,.form-grid select,.form-grid input:not([type=checkbox]){min-height:46px}.builder-options .booth-style{font-size:16px}}

/* Supplies use the same enquiry form, without equipment-only date controls. */
.enquiry-mode-note{padding:15px 17px;margin:0 0 23px;border:1px solid var(--line);border-radius:13px;background:#f4faff;color:#4a5e7e;font-size:13px;line-height:1.65;overflow-wrap:anywhere}
.form-grid .field-optional{font-weight:500;color:var(--muted)}
.fulfilment-fields{min-width:0}
.fulfilment-fields>label{min-width:0}
#supply-needed-by-help{display:block;font-size:12px;font-weight:500;line-height:1.6;margin-top:7px;color:var(--muted)}
.quote-dialog[data-enquiry-type=supply] .builder-item.chosen .builder-item-title:after,.quote-dialog[data-enquiry-type=mixed] .builder-item.chosen .builder-item-title:after{content:'IN YOUR ENQUIRY'}
@media(max-width:759px){.enquiry-mode-note{font-size:12px;padding:13px;margin-bottom:20px}.quote-dialog[data-enquiry-type=supply] .quote-progress li{white-space:normal;min-width:0;overflow-wrap:anywhere}}

/* Customer selections keep their role, quantity unit and next action visible. */
.product-role-filters{justify-content:center;flex-wrap:wrap;margin:18px auto 0;gap:9px}
.product-filter-help{text-align:center;max-width:650px;margin:9px auto 0;overflow-wrap:anywhere}
.product-role-label{font-size:12px;font-weight:800;color:var(--muted);margin:0 0 12px}
.builder-role-filters{flex-wrap:wrap;gap:8px;margin:18px 0 8px}
.builder-role-filters+.product-filter-help{text-align:left;margin:0 0 12px}
.builder-item-title .product-role-label{font-weight:800;margin:5px 0 0;color:var(--pink)}
.builder-edit-selection{display:block;min-height:44px;line-height:1.3;text-align:left;font-size:12px;white-space:normal}
.quantity-control:has(>.quantity-unit-label){display:grid;grid-template-columns:44px minmax(22px,auto) 44px;gap:4px}
.quantity-unit-label{grid-column:1/-1;text-align:center;font-size:11px;font-weight:800;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}
.hire-period-disclosure{border:1px solid var(--line);border-radius:13px;padding:12px 16px;margin:18px 0;min-width:0}
.hire-period-disclosure>summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;min-height:44px;cursor:pointer;font-weight:800}
.hire-period-disclosure>summary>.small{color:var(--blue);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.hire-period-disclosure .hire-period{margin:14px 0 0;padding:0;border:0}
.hire-period-disclosure[open]>summary>.small{color:var(--muted)}
.availability-recovery{padding:14px;background:#fff6fa;border:1px solid #f5c4d6;border-radius:12px;margin-top:12px}
.availability-recovery-actions,.availability-alternatives{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.availability-alternatives:not(:empty){margin-bottom:13px}
.availability-alternatives>p{flex-basis:100%;font-weight:800}
.availability-recovery .button,.availability-recovery .link-button{min-height:44px;white-space:normal;text-align:center;font-size:12px}
.availability-recovery .link-button{padding:8px}
.receipt-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:18px 0 22px}
.receipt-actions .button,.receipt-actions .text-link{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.receipt-actions>p{flex-basis:100%;font-size:13px;color:var(--muted)}
.review-qty{white-space:normal;text-align:right;max-width:100px;overflow-wrap:anywhere}
.quote-progress li{min-width:0;white-space:normal;overflow-wrap:anywhere}
.how-grid article,.how-grid article>div{min-width:0;overflow-wrap:anywhere}
.about-art,.about-copy{min-width:0;overflow-wrap:anywhere}
.footer-top nav{flex-wrap:wrap}
.button{white-space:normal;text-align:center;overflow-wrap:anywhere}
.chip,.link-button,.occasion-buttons button{white-space:normal;overflow-wrap:anywhere}
.builder-toolbar .filter-group{flex-wrap:wrap}
.builder-toolbar .chip{flex:1 1 auto;min-width:max-content;white-space:nowrap;overflow-wrap:normal}
.section-heading h2,.package-copy h3{overflow-wrap:anywhere}
.builder-intro{flex-wrap:wrap}.builder-intro>div{flex:1 1 150px;min-width:0;overflow-wrap:anywhere}
.quote-status strong{white-space:normal}
@media(max-width:1099px){.header-inner{flex-wrap:wrap;height:auto;padding-block:6px}.header-actions{min-width:0}.header-quote{white-space:normal;text-align:center}.hero-benefits>div{min-width:0;flex:1;overflow-wrap:anywhere}}
@media(max-width:759px){.product-role-filters{margin-top:12px}.product-filter-help{font-size:12px;padding-inline:5px}.builder-item .quantity-control:has(>.quantity-unit-label){gap:3px}.hire-period-disclosure{padding:9px 12px}.hire-period-disclosure>summary{font-size:13px}.hire-period-disclosure>summary>.small{font-size:12px}.availability-recovery-actions>.button,.availability-alternatives>.button{flex:1 1 120px}.receipt-actions>.button{flex:1 1 150px}.review-qty{font-size:11px;max-width:85px}}

/* Customer corrections stay beside the selection and fit small screens. */
.flavour-quantity-name{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.flavour-quantity-name label{font-size:12px;font-weight:800;line-height:1.4;overflow-wrap:anywhere;margin:0}
.flavour-quantity-name .link-button{font-size:11px;min-height:44px;padding:5px 0;text-align:left}
.machine-flavour-mode{border:1px solid var(--line);border-radius:12px;padding:12px;margin:14px 0;min-width:0}
.machine-flavour-mode legend{font-size:12px;font-weight:800;padding-inline:4px}
.machine-flavour-mode .checkbox-row{display:flex;font-size:12px;min-height:44px;margin:0;align-items:center;overflow-wrap:anywhere;flex-direction:row;justify-content:flex-start;gap:10px;text-align:left}
.machine-flavour-mode input{accent-color:var(--pink);flex:0 0 auto;width:17px;height:17px;padding:0}
.machine-flavour-groups{display:grid;gap:10px;min-width:0}
.machine-flavour-groups .flavour-choice{border:1px solid var(--line);border-radius:12px;padding:10px;margin:0;min-width:0}
.machine-stock-notice{font-size:12px;overflow-wrap:anywhere}
.availability-details{border:1px solid var(--line);border-radius:12px;padding:12px;margin:12px 0;min-width:0;font-size:12px}
.availability-details summary{cursor:pointer;min-height:44px;font-weight:800;display:flex;align-items:center}
.availability-blocker-heading{font-weight:800;margin:0 0 8px}
.availability-blocker{padding:8px 0;border-bottom:1px solid var(--line)}
.availability-blocker p{margin:0;overflow-wrap:anywhere}
.availability-blocker .link-button{min-height:44px;font-size:12px;text-align:left}
.availability-product-period{padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.availability-product-period p{margin:4px 0;font-size:12px}
.toast #undo-party{min-height:44px;min-width:44px}
@media(max-width:600px){.machine-flavour-mode .checkbox-row{font-size:12px}.flavour-quantity-name label{font-size:11px}.availability-details{font-size:12px}.toast{flex-wrap:wrap;justify-content:center}.toast #toast-text{flex:1 1 130px;max-width:220px}.toast .toast-dismiss{min-width:44px;min-height:44px}.builder-options .machine-flavour-groups{margin-left:0}}

/* Picture sources select only the artwork needed by this viewport. */
.hero-responsive-picture{display:contents}
/* Preserve the native desktop artwork size and the full tablet composition. */
@media(min-width:1100px){.hero:not(.content-custom-hero-image){max-width:1672px}}
@media(min-width:700px) and (max-width:1099px){.hero{display:block}.mobile-equipment{width:100%;height:auto;min-height:0;max-height:none;object-fit:contain;object-position:center;mask-image:none;-webkit-mask-image:none}}
.service-image-button:focus-visible{outline:3px solid var(--blue,#008deb);outline-offset:4px}

/* The approved high-resolution desktop export has new action and equipment positions. */
@media(min-width:1100px){
 .hero:not(.content-custom-hero-image) .hero-illustrated-brand{aspect-ratio:2/1}
 .hero:not(:is(.content-custom-hero-image,.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits)) .hero-actions{top:63.9%;left:3.3%;gap:.9cqw}
 .hero:not(:is(.content-custom-hero-image,.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits)) .hero-actions .button{width:12.6cqw;height:3.34cqw;font-size:1.01cqw;gap:.75cqw;border-radius:3cqw}
 .hero:not(:is(.content-custom-hero-image,.content-custom-hero,.content-custom-hero-description,.content-custom-hero-benefits)) .hero-actions .button.glass{width:11.65cqw}
 .hero:not(.content-custom-hero-image) .hit-popcorn{left:30.5%;top:36%;width:12.4%;height:57%}
 .hero:not(.content-custom-hero-image) .hit-slushie{left:43.8%;top:35%;width:10.2%;height:59%}
 .hero:not(.content-custom-hero-image) .hit-icecream{left:54.5%;top:32%;width:11.7%;height:63%}
 .hero:not(.content-custom-hero-image) .hit-floss{left:65%;top:44%;width:9.2%;height:50%}
 .hero:not(.content-custom-hero-image) .hit-photo{left:74.1%;top:24%;width:8.4%;height:67%}
 .hero:not(.content-custom-hero-image) .hit-360{left:82.4%;top:77%;width:11.1%;height:19%}
 .hero:not(.content-custom-hero-image) .hit-oval{left:92.7%;top:29%;width:6.4%;height:66%}
}

/* Selected Clean modern concept. Scoped to the public homepage only. */
#site-header.hero-modern-header .header-inner {
  max-width: 1672px;
  height: auto;
  min-height: 92px;
  padding: 10px 4%;
  gap: 32px;
}
#site-header.hero-modern-header .brand {
  position: static;
  flex-shrink: 0;
  width: 146px;
  height: 73px;
}
#site-header.hero-modern-header .brand-clean { opacity: 1; max-height: none; }
#site-header.hero-modern-header .main-nav {
  flex: 1;
  justify-content: center;
  margin: 0;
  gap: 28px;
}
#site-header.hero-modern-header .main-nav a { font-size: 17px; padding: 12px 0; }
#site-header.hero-modern-header .main-nav a:after { bottom: 0; }
#site-header.hero-modern-header .header-actions { margin: 0; gap: 18px; }
#site-header.hero-modern-header .phone-pill { font-size: 20px; gap: 10px; padding: 13px 18px; }
#site-header.hero-modern-header .header-quote { font-size: 17px; padding: 14px 25px; min-height: 58px; }
#site-header.hero-modern-header .header-actions .icon { width: 22px; height: 22px; }

/* Keep shared icon-button styling from revealing mobile navigation on desktop. */
@media (min-width: 1100px) {
  body[data-ctm-surface="public"] .site-header .menu-toggle { display: none; }
}

#home.hero-modern {
  max-width: 1672px;
  margin: 0 auto;
  padding: 40px 4% 26px;
  min-height: 750px;
  background: #fff;
  color: #101f50;
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
#home.hero-modern .hero-stage { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; margin: 0; padding: 0; }
#home.hero-modern .hero-copy {
  position: relative;
  inset: auto;
  width: 100%;
  max-width: 1030px;
  padding: 0;
  background: transparent;
  text-align: center;
  pointer-events: auto;
  z-index: 2;
}
#home.hero-modern h1 {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  margin: 0 0 18px;
  font: 400 clamp(50px, 4.7vw, 78px)/1.06 'Caveat Brush', cursive;
  letter-spacing: -.7px;
  color: #101f50;
  overflow-wrap: anywhere;
}
#home.hero-modern .content-live-hero-title { display: block; }
#home.hero-modern .hero-title-line { display: inline; }
#home.hero-modern h1 em { font-style: normal; color: #008ee4; }
#home.hero-modern h1:after {
  content: '';
  display: block;
  width: 160px;
  height: 7px;
  margin: 16px auto 0;
  background: #f6007c;
  border-radius: 50%;
  transform: rotate(-2deg);
}
#home.hero-modern .hero-description {
  position: static;
  clip: auto;
  width: auto;
  height: auto;
  overflow: visible;
  white-space: normal;
  max-width: 680px;
  margin: 0 auto 24px;
  font-size: 22px;
  font-weight: 750;
  line-height: 1.45;
  color: #101f50;
}
#home.hero-modern .desktop-break { display: none; }
#home.hero-modern .hero-actions {
  position: static;
  inset: auto;
  transform: none;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 16px;
  width: auto;
}
#home.hero-modern .hero-actions .button {
  width: auto;
  height: auto;
  min-height: 58px;
  padding: 14px 25px;
  gap: 10px;
  font-size: 18px;
  font-weight: 900;
  border: 2px solid transparent;
  white-space: nowrap;
  box-shadow: 0 6px 22px #f6007c22;
}
#home.hero-modern .hero-actions .button.glass { background: transparent; color: #101f50; border-color: #101f50; box-shadow: none; }
#home.hero-modern .hero-actions .icon { width: 22px; height: 22px; }
#home.hero-modern .hero-equipment-stage {
  position: relative;
  width: min(960px, 84%);
  margin: 30px auto 0;
  border-radius: 28px 28px 12px 12px;
  overflow: hidden;
  box-shadow: 0 14px 35px #183b6712;
}
#home.hero-modern .hero-responsive-picture { display: block; }
#home.hero-modern .modern-equipment { display: block; width: 100%; height: auto; max-width: 100%; object-fit: contain; }
#home.hero-modern .hero-benefits {
  position: relative;
  clip: auto;
  width: 100%;
  height: auto;
  overflow: visible;
  white-space: normal;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  margin: 20px 0 0;
  padding: 16px 0 0;
  color: #101f50;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.25;
}
#home.hero-modern .hero-benefits > div { display: flex; align-items: center; gap: 12px; min-width: 0; }
#home.hero-modern .hero-benefits .icon { width: 30px; height: 30px; flex-shrink: 0; color: #0785d7; }
#home.hero-modern .hero-ambient { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
#home.hero-modern .hero-ambient span { position: absolute; display: block; border-radius: 50%; }
#home.hero-modern .hero-ambient span:first-child { width: 230px; height: 230px; background: #e9f7ff; left: -120px; top: 160px; }
#home.hero-modern .hero-ambient span:last-child { width: 180px; height: 180px; background: #fff4f9; right: -120px; top: 30px; }
/* Hotspots follow the native equipment photograph rather than the old banner. */
#home.hero-modern .hero-hit-areas { display: block; position: absolute; inset: 0; }
#home.hero-modern .hit-popcorn { left: 1.97%; top: 36%; width: 17.49%; height: 57%; }
#home.hero-modern .hit-slushie { left: 20.73%; top: 35%; width: 14.39%; height: 59%; }
#home.hero-modern .hit-icecream { left: 35.83%; top: 32%; width: 16.5%; height: 63%; }
#home.hero-modern .hit-floss { left: 50.63%; top: 44%; width: 12.98%; height: 50%; }
#home.hero-modern .hit-photo { left: 63.47%; top: 24%; width: 11.85%; height: 67%; }
#home.hero-modern .hit-360 { left: 75.18%; top: 77%; width: 15.66%; height: 19%; }
#home.hero-modern .hit-oval { left: 89.7%; top: 29%; width: 9.03%; height: 66%; }
#home.hero-modern .hit-marquee { left: 35.12%; top: 4%; width: 35.26%; height: 23%; }
#home.hero-modern.content-custom-hero-image .hero-hit-areas { display: none; }

@media (max-width: 1190px) {
  #site-header.hero-modern-header .header-inner { gap: 22px; padding: 8px 3%; }
  #site-header.hero-modern-header .brand { width: 128px; height: 64px; }
  #site-header.hero-modern-header .main-nav { gap: 20px; }
  #site-header.hero-modern-header .main-nav a { font-size: 15px; }
  #site-header.hero-modern-header .phone-pill { font-size: 17px; }
  #site-header.hero-modern-header .header-quote { padding: 14px 20px; font-size: 16px; }
  #home.hero-modern .hero-actions .button { font-size: 16px; padding: 13px 20px; min-height: 52px; }
}
@media (max-width: 1099px) {
  #site-header.hero-modern-header .header-inner { min-height: 86px; justify-content: space-between; }
  #site-header.hero-modern-header .main-nav, #home.hero-modern .hero-hit-areas { display: none; }
}
@media (max-width: 700px) {
  #site-header.hero-modern-header .header-inner { min-height: 80px; padding: 6px 22px; gap: 12px; }
  #site-header.hero-modern-header .brand { width: 132px; height: 66px; }
  #site-header.hero-modern-header .header-actions { gap: 12px; }
  #site-header.hero-modern-header .header-quote { font-size: 14px; padding: 12px 16px; min-height: 48px; }
  #home.hero-modern { padding: 0 0 4px; min-height: 0; }
  #home.hero-modern .hero-copy { padding: 28px 24px 26px; }
  #home.hero-modern h1 { font-size: clamp(42px, 11.4vw, 62px); line-height: 1.01; letter-spacing: -.4px; margin: 0 0 23px; }
  #home.hero-modern .hero-title-line { display: block; }
  #home.hero-modern h1:after { margin-top: 13px; width: 110px; height: 5px; }
  #home.hero-modern .hero-description { font-size: 18px; line-height: 1.45; max-width: 460px; margin: 0 auto 24px; }
  #home.hero-modern .hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
  #home.hero-modern .hero-actions .button { width: 100%; min-width: 0; font-size: 15px; min-height: 52px; padding: 10px; gap: 6px; }
  #home.hero-modern .hero-actions .icon { width: 17px; height: 17px; }
  #home.hero-modern .hero-equipment-stage { width: calc(100% - 32px); margin: 0 16px; border-radius: 22px; }
  #home.hero-modern .hero-benefits { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; text-align: center; margin: 7px 0 0; padding: 24px 18px 27px; font-size: 12px; line-height: 1.35; }
  #home.hero-modern .hero-benefits > div { flex-direction: column; gap: 9px; }
  #home.hero-modern .hero-benefits .icon { width: 28px; height: 28px; }
}
@media (max-width: 379px) {
  #site-header.hero-modern-header .header-inner { padding-left: 16px; padding-right: 16px; flex-wrap: nowrap; }
  #site-header.hero-modern-header .header-quote { display: none; }
  #home.hero-modern .hero-actions { grid-template-columns: 1fr; }
  #home.hero-modern .hero-copy { padding-left: 22px; padding-right: 22px; }
  #home.hero-modern .hero-benefits { font-size: 11.5px; padding-left: 12px; padding-right: 12px; }
}

/* Balanced homepage spacing — approved 14/10/2026.
   Scope to the home template; catalogue, service, Admin and Staff pages keep their existing layout. */

body:has(> main > #home.hero-modern) {
  --home-section: 64px; --home-heading-gap: 32px; --home-card-gap: 24px;
  --home-card-inset: 20px; --home-card-copy-gap: 16px; --home-copy-inset: 28px;
  --home-hero-top: 40px; --home-hero-bottom: 32px; --home-photo-gap: 32px;
  --home-benefit-gap: 32px; --home-range-top: 48px; --home-filter-gap: 24px;
  --home-grid-top: 32px; --home-layout-gap: 56px; --home-footer: 32px;
}

body:has(> main > #home.hero-modern) #home.hero-modern {
  min-height: 0; padding-block: var(--home-hero-top) var(--home-hero-bottom);
}
body:has(> main > #home.hero-modern) #home.hero-modern .hero-copy { padding-block: 0; }
body:has(> main > #home.hero-modern) #home.hero-modern .hero-actions { margin-top: 0; }
body:has(> main > #home.hero-modern) #home.hero-modern .hero-equipment-stage { margin-top: var(--home-photo-gap); }
body:has(> main > #home.hero-modern) #home.hero-modern .hero-benefits {
  margin-top: var(--home-benefit-gap); padding-block: 0;
}
body:has(> main > #home.hero-modern) .hire-section {
  padding-top: var(--home-range-top); padding-bottom: var(--home-heading-gap);
}
body:has(> main > #home.hero-modern) .hire-heading { height: auto; min-height: 0; }
body:has(> main > #home.hero-modern) .hire-heading h2 { margin: 0; }
body:has(> main > #home.hero-modern) .hire-heading .range-note { top: 50%; transform: translateY(-50%); }
body:has(> main > #home.hero-modern) .product-role-filters { margin-top: var(--home-filter-gap); gap: 12px; }
body:has(> main > #home.hero-modern) #range-filter-help:empty { display: none; }
body:has(> main > #home.hero-modern) .service-grid {
  --hire-gap: var(--home-card-gap); margin-top: var(--home-grid-top);
}
body:has(> main > #home.hero-modern) .service-card { padding: var(--home-card-inset); }
body:has(> main > #home.hero-modern) .service-card h3 { margin-block: var(--home-card-copy-gap); }
body:has(> main > #home.hero-modern) .occasion-strip { margin-top: var(--home-heading-gap); }
body:has(> main > #home.hero-modern) .section,
body:has(> main > #home.hero-modern) .contact-inner {
  max-width: 1280px; padding-block: var(--home-section); padding-inline: clamp(24px, 4.5vw, 64px);
}
body:has(> main > #home.hero-modern) .packages-section { margin-top: 0; }
body:has(> main > #home.hero-modern) .section-heading,
body:has(> main > #home.hero-modern) .section-heading.compact { margin-bottom: var(--home-heading-gap); }
body:has(> main > #home.hero-modern) .package-grid { gap: var(--home-card-gap); }
body:has(> main > #home.hero-modern) .package-copy { padding: var(--home-copy-inset); }
body:has(> main > #home.hero-modern) .how-grid { gap: var(--home-heading-gap); margin-bottom: var(--home-heading-gap); }
body:has(> main > #home.hero-modern) .about-section,
body:has(> main > #home.hero-modern) .faq-section { gap: var(--home-layout-gap); }
body:has(> main > #home.hero-modern) .contact-inner { gap: var(--home-heading-gap); }
body:has(> main > #home.hero-modern) .contact-actions { gap: 16px; }
body:has(> main > #home.hero-modern) .site-footer {
  max-width: 1280px; padding: var(--home-footer) clamp(24px, 4.5vw, 64px) 24px;
}
body:has(> main > #home.hero-modern) .footer-top { gap: 24px; padding-bottom: 24px; }
body:has(> main > #home.hero-modern) .footer-bottom { padding-top: 24px; }
@media (max-width: 759px) {

  body:has(> main > #home.hero-modern) {
    --home-section: 40px; --home-heading-gap: 28px; --home-card-gap: 16px;
    --home-card-inset: 14px; --home-card-copy-gap: 14px; --home-copy-inset: 24px;
    --home-hero-top: 32px; --home-hero-bottom: 24px; --home-photo-gap: 28px;
    --home-benefit-gap: 28px; --home-range-top: 32px; --home-filter-gap: 24px;
    --home-grid-top: 28px; --home-layout-gap: 32px; --home-footer: 28px;
  }

  body:has(> main > #home.hero-modern) .section,
  body:has(> main > #home.hero-modern) .contact-inner { padding-inline: 24px; }
  body:has(> main > #home.hero-modern) #home.hero-modern .hero-copy { padding-inline: 24px; }
  body:has(> main > #home.hero-modern) #home.hero-modern .hero-benefits { padding-inline: 18px; }
  body:has(> main > #home.hero-modern) .site-footer {
    padding-inline: 24px; padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
  }
}

/* Public opening matches CTM's existing light design. Content, quote buttons
   and navigation stay usable independently of the equipment image. */
#home.hero-modern .home-art-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;background:#edf4fc;color:#52627a;text-align:center;z-index:2;box-sizing:border-box}
#home.hero-modern .home-art-placeholder[hidden]{display:none!important}
#home.hero-modern .home-art-placeholder p{margin:0;font:700 14px/1.35 var(--body)}
#home.hero-modern .home-art-placeholder button{font:800 14px/1.3 var(--body);min-height:44px;padding:10px 18px;border:1px solid #a9bdd5;border-radius:28px;color:#071d50;background:#fff;cursor:pointer}
#home.hero-modern .home-art-placeholder button:focus-visible{outline:3px solid #0077bd;outline-offset:3px}
#home.hero-modern .hero-equipment-stage[data-home-art-state]:not([data-home-art-state=ready]) .hero-hit-areas{visibility:hidden}
#home.hero-modern .hero-equipment-stage[data-home-art-state]:not([data-home-art-state=ready]) .modern-equipment{opacity:0}
#home.hero-modern .hero-equipment-stage[data-home-art-state=ready] .modern-equipment{opacity:1;transition:opacity .18s ease-out}
@media(prefers-reduced-motion:reduce){#home.hero-modern .hero-equipment-stage[data-home-art-state=ready] .modern-equipment{transition:none}}

/* Required product choices share one error treatment on mobile and desktop. */
.backdrop-summary[aria-invalid="true"]{border:2px solid #b91356;box-shadow:0 0 0 2px #b913561a}.backdrop-summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
