:root{color:#111c43;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8faf9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{min-height:100vh}.site-shell{--brand-pink:#f72585;--brand-pink-dark:#c9184a;--brand-purple:#7209b7;--brand-purple-mid:#b5179e;--brand-gold:#f8c400;--brand-soft:#fff0f8;--ink:#1a0a2e;--muted:#8a4f7d;--line:#ffd6f0;background:#fff8fc;min-height:100vh}@keyframes page-in{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:.45s cubic-bezier(.22,1,.36,1) forwards page-in}.topbar{z-index:10;min-height:58px;color:var(--ink);background:#fff;justify-content:space-between;align-items:center;gap:18px;padding:6px clamp(16px,5vw,64px);transition:background .25s,box-shadow .25s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 14px 30px #f7258526}.topbar-transparent{color:#fff;box-shadow:none;background:0 0}button,input,select,textarea{font:inherit}button{cursor:pointer}.brand,.nav-links button,.estimate-button,.footer button{border:0}.brand{color:#fff;background:0 0;flex:none;align-items:center;font-weight:800;display:inline-flex}.brand img{transform-origin:0;width:clamp(76px,7vw,104px);height:auto;display:block;transform:translateY(12px)scale(1.54)}.nav-links{align-items:center;gap:8px;display:flex}.nav-links button{color:var(--ink);text-transform:capitalize;background:0 0;border-radius:20px;padding:7px 10px;font-size:15px}.nav-links button.active,.nav-links button:hover{color:#fff;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple))}.topbar-transparent .nav-links button{color:#ffffffd1}.topbar-transparent .nav-links button.active,.topbar-transparent .nav-links button:hover{color:#fff}.estimate-button,.hero-actions button,.intro-copy button,.service-card button,.contact-form button,.footer button{color:#fff;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));border:0;border-radius:25px;min-height:44px;padding:0 22px;font-size:15px;font-weight:800;box-shadow:0 12px 28px #f7258561}.hero-section{color:#fff;background:linear-gradient(135deg,#f72585d9,#7209b7c7),url(/assets/logo-DefVU_xg.png) 50% calc(50% + 80px)/contain no-repeat;align-items:center;min-height:760px;padding:136px clamp(20px,8vw,120px) 118px;display:grid}.hero-overlay{max-width:710px}.eyebrow{color:var(--brand-pink);letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:13px;font-weight:900}.hero-section .eyebrow,.page-hero .eyebrow{color:#fff;display:table}.hero-section .eyebrow:after,.page-hero .eyebrow:after{content:"";background:var(--brand-pink);border-radius:999px;width:52px;height:4px;margin:10px auto 0;display:block}.page-hero:not(.page-hero-services) .eyebrow:after{margin-left:auto;margin-right:auto}.page-hero-services .eyebrow:after{margin:10px 0 0}h1,h2,h3,p{margin-top:0}.hero-section h1,.page-hero h1{max-width:820px;color:inherit;letter-spacing:0;margin-bottom:18px;font-size:clamp(42px,6vw,76px);line-height:.98}.hero-copy,.page-hero p{color:#ffffffd1;max-width:670px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.hero-trust{flex-wrap:wrap;gap:18px;margin-top:20px;display:flex}.hero-trust span{color:#ffffffe0;font-size:14px;font-weight:700}.hero-actions .secondary{color:#fff;background:#ffffff29;box-shadow:inset 0 0 0 1px #ffffff57}.location-chooser{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:24px;padding:34px clamp(20px,6vw,88px);display:flex}.location-chooser.compact{background:0 0;margin:0 clamp(20px,6vw,88px);padding-inline:0}.location-chooser h2{color:var(--ink);margin:0;font-size:clamp(24px,3vw,34px);line-height:1.1}.location-buttons{flex-wrap:wrap;gap:12px;display:flex}.location-buttons button{min-width:132px;min-height:48px;color:var(--ink);background:var(--brand-soft);border:1px solid var(--line);border-radius:25px;padding:0 20px;font-weight:900}.location-buttons button.selected{color:#fff;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));border-color:var(--brand-pink)}.intro-band{text-align:center;background:#fff;grid-template-columns:minmax(280px,760px);justify-content:center;padding:100px clamp(20px,8vw,120px) 90px;display:grid}.photo-stack{min-height:460px;position:relative}.photo-card{background:linear-gradient(#ffffff0d,#9b59b626),url(/assets/spray-D6auxunV.png) 50%/cover;border-radius:28px;min-height:420px;box-shadow:0 28px 70px #f725852e}.experience-card{color:#fff;text-align:center;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));border-radius:28px;gap:6px;width:min(210px,55%);padding:30px;display:grid;position:absolute;bottom:34px;right:-26px;box-shadow:0 20px 46px #f7258559}.experience-card strong{color:#fff;font-size:46px;line-height:1}.intro-copy h2,.service-strip h2,.service-card h2,.contact-details h2{color:var(--ink);letter-spacing:0;font-size:clamp(36px,5vw,58px);line-height:1.08}.intro-copy p{max-width:640px;color:var(--muted);margin-left:auto;margin-right:auto;font-size:18px;line-height:1.7}.intro-copy button{margin-top:28px}.service-strip{text-align:center;color:#fff;background:radial-gradient(circle at top left, #ffffff2e, transparent 34%), linear-gradient(135deg, var(--brand-purple), var(--brand-purple-mid), var(--brand-pink));padding:70px clamp(20px,7vw,100px)}.service-strip h2{color:#fff}.quick-services{flex-wrap:wrap;justify-content:center;gap:12px;max-width:1060px;margin:36px auto 0;display:flex}.quick-services button{color:#fff;background:#ffffff26;border:1px solid #ffffff4d;border-radius:999px;min-height:52px;padding:0 24px;font-weight:800}.quick-services button:hover{color:#fff;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));border-color:#0000}.reviews-section{text-align:center;background:var(--brand-soft);padding:80px clamp(20px,7vw,100px)}.reviews-section h2{max-width:560px;color:var(--ink);margin:0 auto 52px;font-size:clamp(30px,4vw,46px);line-height:1.08}.reviews-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;max-width:1400px;margin:0 auto;display:grid}.review-card{text-align:left;background:#fff;border-radius:28px;flex-direction:column;gap:14px;padding:32px;display:flex;box-shadow:0 12px 32px #f7258514}.review-stars{color:var(--brand-pink);letter-spacing:2px;font-size:20px}.review-text{color:var(--muted);flex:1;margin:0;font-size:15px;line-height:1.7}.review-author{border-top:1px solid var(--line);flex-direction:column;gap:2px;padding-top:8px;display:flex}.review-author strong{color:var(--ink);font-size:15px}.review-author span{color:var(--muted);font-size:13px}.work-gallery{text-align:center;background:#fff;padding:70px 0 135px;overflow:hidden}.work-gallery h2{max-width:760px;color:var(--ink);letter-spacing:0;margin:0 auto;padding:0 20px;font-size:clamp(30px,4vw,46px);line-height:1.08}.photo-marquee{width:100vw;margin:44px auto 0 calc(50% - 50vw);overflow:hidden}.photo-marquee-track{will-change:transform;gap:18px;width:max-content;animation:70s linear infinite photo-scroll;display:flex}.photo-marquee img{aspect-ratio:4/3;object-fit:cover;border-radius:24px;flex:none;width:clamp(180px,18vw,280px);box-shadow:0 18px 34px #f7258533}@keyframes photo-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.page-hero{text-align:center;color:#fff;background:linear-gradient(135deg, var(--brand-purple), var(--brand-purple-mid), var(--brand-pink));flex-direction:column;align-items:center;padding:146px clamp(20px,8vw,120px) 88px;display:flex}.page-hero-services{text-align:left;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));align-items:flex-start}.page-hero-layout{justify-content:space-between;align-items:center;gap:48px;width:100%;display:flex}.page-hero-logo{transform-origin:100%;filter:drop-shadow(0 12px 32px #00000040);flex-shrink:0;width:clamp(200px,28vw,380px);height:auto;transform:scale(2.2)translateY(30px)}.services-new-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:60px clamp(20px,6vw,88px) 90px;display:grid}.service-item{border-radius:28px;flex-direction:column;gap:14px;padding:32px;display:flex}.service-item:nth-child(odd){background:var(--brand-soft)}.service-item:nth-child(2n){background:#f3ebff}.service-item h2{color:var(--ink);margin:0;font-size:22px;line-height:1.2}.service-item-img{object-fit:contain;filter:drop-shadow(0 8px 20px #f7258533);width:100%;max-height:180px}.service-item p{color:var(--muted);margin:0;font-size:15px}.service-item button{color:#fff;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));border:0;border-radius:999px;align-self:flex-start;min-height:42px;margin-top:auto;padding:0 22px;font-size:14px;font-weight:800;box-shadow:0 8px 20px #f7258559}.service-items{gap:6px;margin:0;padding:0;list-style:none;display:grid}.service-items li{color:var(--muted);padding-left:16px;font-size:15px;position:relative}.service-items li:before{content:"—";color:var(--brand-pink);font-weight:700;position:absolute;left:0}.booking-section{text-align:center;background:#fff;padding:70px clamp(20px,6vw,88px)}.booking-section h2{max-width:560px;color:var(--ink);margin:0 auto 48px;font-size:clamp(28px,4vw,42px);line-height:1.08}.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:1400px;margin:0 auto;display:grid}.booking-card{text-align:left;background:var(--brand-soft);border:none;border-radius:28px;overflow:hidden}.booking-card-header{border-bottom:1px solid var(--line);padding:24px 28px 20px}.booking-card-header h3{color:var(--ink);margin:0 0 4px;font-size:22px}.booking-card-header span{color:var(--muted);font-size:14px}.cal-placeholder{background:var(--brand-soft);justify-content:center;align-items:center;min-height:560px;display:flex}.cal-placeholder-inner{text-align:center}.cal-label{color:var(--ink);letter-spacing:-.5px;margin:0 0 8px;font-size:20px;font-weight:900}.cal-placeholder-inner p:last-child{color:var(--muted);margin:0;font-size:14px}.direct-contact-section{text-align:center;background:var(--brand-soft);padding:70px clamp(20px,6vw,88px)}.direct-contact-section h2{max-width:560px;color:var(--ink);margin:0 auto 48px;font-size:clamp(28px,4vw,42px);line-height:1.08}.direct-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:800px;margin:0 auto;display:grid}.direct-contact-card{text-align:left;background:var(--brand-soft);border:none;border-radius:28px;padding:32px}.direct-contact-card h3{color:var(--ink);margin:0 0 20px;font-size:20px}.direct-contact-rows{gap:14px;display:grid}.direct-contact-rows div{align-items:baseline;gap:10px;display:flex}.direct-contact-rows span{min-width:46px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:700}.direct-contact-rows a{color:var(--brand-pink);font-weight:800;text-decoration:none}.direct-contact-rows a:hover{text-decoration:underline}.faq-section{text-align:center;background:#fff;padding:70px clamp(20px,6vw,88px) 100px}.faq-section h2{max-width:560px;color:var(--ink);margin:0 auto 48px;font-size:clamp(28px,4vw,42px);line-height:1.08}.faq-list{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1040px;margin:0 auto;display:grid}.faq-item{background:var(--brand-soft);border:none;border-radius:28px;padding:28px 32px}.faq-item h3{color:var(--ink);margin:0 0 10px;font-size:17px;line-height:1.3}.faq-item p{color:var(--muted);margin:0}.contact-layout{grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr);gap:28px;padding:50px clamp(20px,6vw,88px) 90px;display:grid}.contact-panel,.contact-form{border:1px solid var(--line);background:#fff;border-radius:28px;box-shadow:0 18px 44px #f7258514}.contact-panel{padding:28px}.contact-panel .location-chooser{border-bottom:1px solid var(--line);margin:0;padding:0 0 28px}.contact-details{gap:12px;padding-top:28px;display:grid}.contact-details h2{margin-bottom:0;font-size:30px}.contact-details p{color:var(--muted)}.contact-details a{color:var(--brand-pink);font-weight:800;text-decoration:none}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:28px;display:grid}.contact-form label{color:var(--ink);gap:8px;font-weight:800;display:grid}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{box-sizing:border-box;width:100%;min-height:48px;color:var(--ink);background:var(--brand-soft);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.contact-form textarea{resize:vertical;min-height:140px}.contact-form button{justify-self:start}.how-it-works{text-align:center;background:var(--brand-soft);padding:80px clamp(20px,7vw,100px)}.how-it-works h2{max-width:560px;color:var(--ink);letter-spacing:0;margin:0 auto 52px;font-size:clamp(30px,4vw,46px);line-height:1.08}.hiw-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1040px;margin:0 auto;display:grid}.hiw-step{text-align:center;align-content:start;gap:14px;padding:20px;display:grid}.hiw-number{color:#fff;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto;font-size:32px;font-weight:900;display:flex;box-shadow:0 10px 30px #f7258566}.hiw-step h3{color:var(--ink);margin:0;font-size:22px;font-weight:900;line-height:1.2}.hiw-step p{color:var(--muted);margin:0}.how-it-works>button{color:#fff;background:linear-gradient(135deg, var(--brand-pink), var(--brand-purple));border:0;border-radius:25px;min-height:44px;margin-top:44px;padding:0 24px;font-size:15px;font-weight:800;box-shadow:0 12px 28px #f7258561}.footer{color:#fff;background:#1e0d2e}.footer-main{grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(150px,1fr));gap:16px;padding:20px clamp(20px,6vw,88px);display:grid}.footer-brand{gap:6px;max-width:280px;display:grid}.footer-brand img{transform-origin:0;width:80px;height:auto;transform:scale(1.7)translateY(3px)}.footer-brand p,.footer span,.footer a{color:#ffffffc7}.footer-column{align-content:start;gap:5px;display:grid}.footer-column h2{color:#fff;margin:0 0 2px;font-size:16px;line-height:1.2}.footer-column button,.footer-column a{width:fit-content;min-height:unset;color:#ffffffc7;text-align:left;text-transform:capitalize;box-shadow:none;background:0 0;border:0;padding:0;font-weight:400;text-decoration:none}.footer-column button:hover,.footer-column a:hover{color:#fff}.footer-bottom{border-top:1px solid #fff3;justify-content:center;align-items:center;gap:20px;padding:10px clamp(20px,6vw,88px);display:flex}.footer-bottom button{min-height:34px;color:var(--brand-pink);background:#fff;border:0;border-radius:25px;padding:0 14px;font-size:15px;font-weight:900}@media (width<=900px){.topbar,.location-chooser{flex-direction:column;align-items:flex-start}.nav-links{justify-content:space-between;width:100%}.estimate-button{width:100%}.hero-section{min-height:560px}.intro-band,.contact-layout,.booking-grid,.direct-contact-grid,.faq-list,.services-new-grid{grid-template-columns:1fr}.quick-services{gap:10px}.hiw-steps{grid-template-columns:1fr}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-bottom{flex-direction:column;align-items:flex-start}.location-chooser.compact{margin-inline:20px}.experience-card{right:18px}}@media (width<=620px){.topbar{gap:12px}.brand{width:100%}.nav-links{gap:6px}.nav-links button{flex:1;padding-inline:8px}.hero-section h1,.page-hero h1{font-size:40px}.hero-actions,.location-buttons,.contact-form{grid-template-columns:1fr;width:100%;display:grid}.hero-actions button,.location-buttons button{width:100%}.photo-stack{min-height:380px}.photo-card{min-height:340px}.experience-card{width:auto;left:18px}.footer-main{grid-template-columns:1fr}}
