:root{--purple:#5b2bd9;--purple-d:#3f1aa3;--purple-l:#efe9ff;--ink:#141a33;--ink-2:#4a5170;--line:#e3e6f0;--bg:#f7f8fc;--white:#fff;--ice:#d9f1ff;--sky:#2fa8ff;--gold:#f5b301;--red:#d63a3a;--green:#1d9a5b;--r:18px;--shadow:0 10px 30px #141a3314;--shadow-lg:0 24px 60px #3f1aa32e;--max:1180px}html,body{overflow-x:clip}body.site{color:var(--ink);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.6}.site *{box-sizing:border-box}:where(.site) :where(h1,h2,h3,h4,p,ul,ol){margin:0;padding:0}.site h1,.site h2,.site h3,.site h4{letter-spacing:-.01em;font-family:Sora,Inter,sans-serif;line-height:1.12}.site h1{font-size:clamp(2.3rem,5.4vw,4.1rem);font-weight:800}.site h2{font-size:clamp(1.8rem,3.6vw,2.7rem);font-weight:800}.site h3{font-size:1.3rem;font-weight:700}.site a{color:var(--purple);text-decoration:none}.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}.section{padding:84px 0}.section.tint{background:var(--bg)}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--purple);background:var(--purple-l);border-radius:99px;margin-bottom:14px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-block}.lead{color:var(--ink-2);max-width:640px;font-size:1.15rem}.center{text-align:center}.center .lead{margin:0 auto}.head{margin-bottom:44px}.btn{cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:99px;justify-content:center;align-items:center;gap:8px;padding:15px 26px;font-family:inherit;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.site .btn-primary{background:var(--purple);color:#fff;box-shadow:0 8px 22px #5b2bd959}.site .btn-primary:hover{background:var(--purple-d)}.site .btn-ghost{color:var(--ink);border-color:var(--line);background:#fff}.site .btn-light{color:var(--purple-d);background:#fff}.btn-sm{padding:10px 18px;font-size:.92rem}.promo{background:linear-gradient(90deg,var(--purple-d),var(--purple));color:#fff;text-align:center;padding:9px 16px;font-size:.92rem}.site .promo a{color:#fff;font-weight:700;text-decoration:underline}.promo b{color:#ffe17a}.header{z-index:50;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:18px;height:74px;display:flex}.logo{align-items:center;gap:10px;display:flex}.menu{align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.site .menu a{color:var(--ink);border-radius:10px;padding:9px 12px;font-size:.95rem;font-weight:600}.site .menu a:hover,.site .menu a.active{background:var(--purple-l);color:var(--purple-d)}.site .menu .xmas a{color:var(--red)}.nav-cta{align-items:center;gap:10px;display:flex}.site .phone-link{color:var(--ink);font-size:.95rem;font-weight:700}.burger{cursor:pointer;background:0 0;border:0;border-radius:12px;width:44px;height:44px;display:none}.burger span{background:var(--ink);border-radius:2px;width:24px;height:2.5px;margin:5px auto;transition:all .25s;display:block}.burger.open span:first-child{transform:translateY(7.5px)rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:translateY(-7.5px)rotate(-45deg)}.stars{color:var(--gold);letter-spacing:1px}.bulb{animation:1.6s infinite alternate twinkle}@keyframes twinkle{0%{opacity:.45}to{opacity:1}}.badges{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 40px;padding:26px 22px;display:flex}.badge{color:var(--ink-2);align-items:center;gap:10px;font-size:.95rem;font-weight:700;display:flex}.badge .ico{background:var(--purple-l);width:42px;height:42px;color:var(--purple);border-radius:12px;place-items:center;display:grid}.grid{gap:24px;display:grid}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.card{border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);background:#fff;padding:28px;transition:transform .25s,box-shadow .25s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.svc .ico{background:var(--purple-l);width:58px;height:58px;color:var(--purple);border-radius:16px;place-items:center;margin-bottom:18px;display:grid}.svc h3{margin-bottom:8px}.svc p{color:var(--ink-2);margin-bottom:16px;font-size:.97rem}.svc.xmas{background:linear-gradient(160deg,#fff 0,#fff3f3 100%);border-color:#f5cccc}.svc.xmas .ico{color:var(--red);background:#ffe1e1}.tag-new{background:var(--red);color:#fff;letter-spacing:.08em;vertical-align:middle;border-radius:6px;margin-left:8px;padding:3px 8px;font-family:Inter,sans-serif;font-size:.66rem;font-weight:800;display:inline-block}.price-card{text-align:left;flex-direction:column;display:flex;position:relative}.price-card .tier{font-family:Sora;font-size:1.35rem;font-weight:800}.price{margin:6px 0 2px;font-family:Sora;font-size:2.8rem;font-weight:800}.price small{color:var(--ink-2);font-size:1rem;font-weight:600}.price-card ul{flex:1;margin:18px 0 24px;list-style:none}.price-card li{color:var(--ink-2);padding:7px 0 7px 28px;position:relative}.price-card li:before{content:"✓";background:var(--purple-l);width:20px;height:20px;color:var(--purple);border-radius:50%;place-items:center;font-size:.75rem;font-weight:800;display:grid;position:absolute;top:9px;left:0}.price-card.featured{border:2px solid var(--purple);box-shadow:var(--shadow-lg)}.ribbon{background:var(--purple);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:5px 12px;font-size:.75rem;font-weight:800;position:absolute;top:-13px;right:22px}.note{color:var(--ink-2);margin-top:22px;font-size:.9rem}.step .num{background:var(--purple);color:#fff;border-radius:14px;place-items:center;width:48px;height:48px;margin-bottom:16px;font-family:Sora;font-size:1.3rem;font-weight:800;display:grid}.step p{color:var(--ink-2);margin-top:8px}.review{flex-direction:column;gap:14px;display:flex}.review p{color:var(--ink);font-size:1.02rem}.who{align-items:center;gap:12px;margin-top:auto;display:flex}.avatar{color:#fff;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.who b{display:block}.who small{color:var(--ink-2)}.g-logo{width:22px;height:22px;margin-left:auto}.cta{color:#fff;background:linear-gradient(135deg,#1b1446,#3f1aa3);border-radius:30px;grid-template-columns:1.3fr 1fr;align-items:center;gap:40px;padding:60px;display:grid;position:relative;overflow:hidden}.cta p{opacity:.88;margin:14px 0 26px;font-size:1.1rem}.cta .big{color:#ffe17a;text-align:center;font-family:Sora;font-size:5rem;font-weight:800;line-height:1}.cta .big small{color:#fff;opacity:.85;margin-top:8px;font-size:1.1rem;font-weight:600;display:block}.page-hero{background:radial-gradient(900px 400px at 90% -20%,#e7dcff 0,transparent 60%),radial-gradient(700px 400px at 0% 120%,var(--ice) 0,transparent 60%),#fff;border-bottom:1px solid var(--line);padding:64px 0 56px;overflow:hidden}.page-hero .lead{margin-top:14px}.snow{z-index:1;pointer-events:none;opacity:.6;background-image:radial-gradient(2px 2px at 20% 30%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 70% 20%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 40% 70%,#fff 50%,#0000 51%),radial-gradient(2px 2px at 85% 60%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 10% 80%,#fff 50%,#0000 51%),radial-gradient(1.5px 1.5px at 55% 45%,#fff 50%,#0000 51%);background-size:300px 300px;animation:14s linear infinite snow;position:absolute;inset:0}@keyframes snow{to{background-position:0 300px,0 300px,0 300px,0 300px,0 300px,0 300px}}.detail{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:56px;padding:70px 0;display:grid}.detail:last-child{border-bottom:0}.detail.flip .d-photo{order:2}.checks{gap:10px;margin:20px 0 26px;list-style:none;display:grid}.checks li{padding-left:32px;position:relative}.checks li:before{content:"✓";background:var(--purple-l);width:22px;height:22px;color:var(--purple);border-radius:50%;place-items:center;font-size:.8rem;font-weight:800;display:grid;position:absolute;top:1px;left:0}.detail p{color:var(--ink-2)}.months{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.month{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:22px;transition:all .2s;position:relative}.month .m-name{letter-spacing:.12em;text-transform:uppercase;color:var(--purple);font-family:Sora;font-size:.85rem;font-weight:800}.month h3{margin:8px 0 6px;font-size:1.12rem}.month .off{margin:4px 0 8px;font-family:Sora;font-size:1.6rem;font-weight:800;line-height:1.1}.month p{color:var(--ink-2);font-size:.92rem}.month .mcode{background:var(--bg);border:1px dashed var(--line);border-radius:7px;margin-top:12px;padding:4px 9px;font-family:ui-monospace,Menlo,monospace;font-size:.82rem;font-weight:700;display:inline-block}.month.past{opacity:.55}.month.current{border:2px solid var(--purple);box-shadow:var(--shadow-lg)}.month.current:before{content:"THIS MONTH";background:var(--purple);color:#fff;letter-spacing:.1em;border-radius:99px;padding:4px 10px;font-size:.7rem;font-weight:800;position:absolute;top:-12px;left:20px}.month.next:before{content:"NEXT UP";background:var(--ink);color:#fff;letter-spacing:.1em;border-radius:99px;padding:4px 10px;font-size:.7rem;font-weight:800;position:absolute;top:-12px;left:20px}.month.holiday .m-name{color:var(--red)}.gbp{grid-template-columns:1.05fr 1fr;align-items:stretch;gap:28px;display:grid}.gbp-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:24px;padding:30px}.gbp-top{align-items:center;gap:18px;margin-bottom:18px;display:flex}.gbp-top .gem-lg{background:var(--purple-l);border-radius:18px;flex:none;place-items:center;width:70px;height:70px;display:grid}.gbp-top h2{font-size:1.7rem}.verified{color:var(--ink-2);align-items:center;gap:5px;font-size:.85rem;font-weight:600;display:inline-flex}.rating-big{align-items:center;gap:14px;margin:16px 0;display:flex}.rating-big b{font-family:Sora;font-size:3.2rem;line-height:1}.rating-big .stars{font-size:1.5rem}.info-list{gap:14px;margin:20px 0;list-style:none;display:grid}.info-list li{align-items:flex-start;gap:12px;display:flex}.info-list svg{color:var(--purple);flex:none;margin-top:3px}.hours{border-collapse:collapse;width:100%;font-size:.95rem}.hours td{padding:5px 0}.hours td:last-child{text-align:right;color:var(--ink-2)}.hours tr.today td{color:var(--purple);font-weight:800}.map{border:1px solid var(--line);background:linear-gradient(135deg,#e9ecf5,#d9f1ff);border-radius:24px;min-height:420px;position:relative;overflow:hidden}.map iframe{z-index:1;border:0;width:100%;height:100%;min-height:420px;display:block;position:relative}.map-fallback{text-align:center;z-index:0;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.gbp-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.socials{gap:10px;margin-top:8px;display:flex}.site .socials a{background:var(--purple-l);width:42px;height:42px;color:var(--purple);border-radius:12px;place-items:center;display:grid}.quote-grid{grid-template-columns:1.4fr .8fr;align-items:start;gap:32px;display:grid}.form-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:26px;padding:36px}.form-card h3{align-items:center;gap:10px;margin:26px 0 14px;font-size:1.1rem;display:flex}.form-card h3 .n{background:var(--purple);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.85rem;display:grid}.row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;display:grid}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.row .field{margin-bottom:0}.site label{font-size:.92rem;font-weight:600}.req{color:var(--red)}.site input,.site select,.site textarea{font:inherit;border:1.5px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;width:100%;padding:13px 14px;font-size:16px;transition:border .15s,box-shadow .15s}.site input:focus,.site select:focus,.site textarea:focus{border-color:var(--purple);outline:0;box-shadow:0 0 0 4px #5b2bd91f}.site textarea{resize:vertical;min-height:110px}.chips{outline:0;grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.chip{position:relative}.chip input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.chip span{border:1.5px solid var(--line);cursor:pointer;border-radius:14px;align-items:center;gap:10px;height:100%;padding:13px 14px;font-size:.95rem;font-weight:600;transition:all .15s;display:flex}.chip span:before{content:"";border:2px solid #c4c9db;border-radius:6px;flex:none;width:20px;height:20px;transition:all .15s}.chip input:checked+span{border-color:var(--purple);background:var(--purple-l);color:var(--purple-d)}.chip input:checked+span:before{background:var(--purple);border-color:var(--purple);box-shadow:inset 0 0 0 3px #fff}.chip input:focus-visible+span{box-shadow:0 0 0 4px #5b2bd926}.chip.xm input:checked+span{border-color:var(--red);color:#9b1c1c;background:#fff0f0}.chip.xm input:checked+span:before{background:var(--red);border-color:var(--red)}.chips[aria-invalid=true] .chip span{border-color:#f0b4b4}.applied{background:var(--purple-l);border-radius:14px;align-items:center;gap:12px;margin:20px 0;padding:14px 16px;font-size:.95rem;display:flex}.applied b{color:var(--purple-d)}.hp{width:1px;height:1px;position:absolute;left:-9999px}.form-msg{border-radius:14px;margin-top:16px;padding:16px 18px;font-weight:600;display:none}.form-msg.ok{color:#11603a;background:#e7f7ee;display:block}.form-msg.err{color:#8f1d1d;background:#fdecec;display:block}.success{text-align:center;padding:30px 10px}.side-card{background:var(--bg);border-radius:22px;margin-bottom:18px;padding:26px}.side-card h4{margin-bottom:10px;font-size:1.1rem}.side-card p,.side-card li{color:var(--ink-2);font-size:.95rem}.site details{border:1px solid var(--line);background:#fff;border-radius:16px;margin-bottom:12px;padding:18px 22px}.site summary{cursor:pointer;justify-content:space-between;gap:14px;font-weight:700;list-style:none;display:flex}.site summary::-webkit-details-marker{display:none}.site summary:after{content:"+";color:var(--purple);font-size:1.4rem;line-height:1}.site details[open] summary:after{content:"–"}.site details p{color:var(--ink-2);margin-top:10px}.footer{color:#c7cbe3;background:#0f1330;padding:64px 0 120px}.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;display:grid}.footer h4{color:#fff;margin-bottom:14px;font-size:1rem}.footer ul{gap:8px;list-style:none;display:grid}.site .footer a{color:#c7cbe3}.site .footer a:hover{color:#fff}.footer p{font-size:.95rem}.foot-bottom{border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:40px;padding-top:22px;font-size:.85rem;display:flex}.mbar,.m-only{display:none}@media (width<=1180px){.site .menu a{padding:9px 8px;font-size:.9rem}.site .phone-link{display:none}.g4{grid-template-columns:repeat(2,1fr)}.months{grid-template-columns:repeat(3,1fr)}}@media (width<=960px){body.site{font-size:16px}.section{padding:60px 0}.header{-webkit-backdrop-filter:none;background:#fff}.burger{z-index:70;display:block;position:relative}.nav-cta .btn,.nav-cta .g-find{display:none}.menu{visibility:hidden;z-index:60;background:#fff;flex-direction:column;align-items:stretch;gap:4px;width:min(84vw,360px);padding:96px 20px 30px;transition:transform .3s,visibility 0s .3s;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(105%);box-shadow:-20px 0 60px #00000026}.menu.open{visibility:visible;transition:transform .3s;transform:none}.site .menu a{padding:14px 16px;font-size:1.1rem;display:block}.menu .m-only{display:block}.site .menu .m-only .btn{color:#fff;width:100%;margin-top:12px}.scrim{opacity:0;pointer-events:none;z-index:48;background:#0f133073;transition:all .3s;position:fixed;inset:0}.scrim.open{opacity:1;pointer-events:auto}.detail,.gbp,.quote-grid,.cta,.g3,.g2{grid-template-columns:1fr}.detail{gap:28px;padding:50px 0}.detail.flip .d-photo{order:0}.cta{padding:40px 28px}.cta .big{text-align:left;font-size:3.6rem}.foot-grid{grid-template-columns:1fr 1fr}.months{grid-template-columns:repeat(2,1fr)}.mbar{z-index:45;border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fffffff7;grid-template-columns:1fr 1.4fr;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.mbar .btn{width:100%;padding:13px 10px}.form-card{padding:24px 18px}}@media (width<=560px){.g4,.months,.row,.chips,.foot-grid{grid-template-columns:1fr}.badges{gap:14px 22px}.badge{font-size:.85rem}.badge .ico{width:36px;height:36px}}
