@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#102e32;--ink:#163a39;--cream:#fff9e9;--gold:#ffd56a;--muted:#536b65;--accent:#f36d57;--mint:#bcd8bb}body{background:var(--cream)}h1,h2,h3,.signature{font-family:'Outfit',Arial,sans-serif;font-weight:700}h2 em{font-style:normal;color:#bc4b35}h1{font-weight:800;letter-spacing:-4px;line-height:.96}h2{font-weight:700;letter-spacing:-2px;line-height:1.04}h3{font-weight:600;letter-spacing:-1px}button{font-family:inherit;cursor:pointer}.announcement{background:var(--gold);color:var(--navy);display:flex;justify-content:space-between;padding:9px 5%;font-size:10px;font-weight:800;letter-spacing:1px}.announcement a{letter-spacing:.2px}header{height:140px;padding:12px 5%;background:var(--navy)}.logo img{width:190px;height:118px;object-fit:contain}.header-cta{background:var(--cream);color:var(--navy);border-radius:30px;padding:14px 23px}nav{font-weight:600;font-size:13px;gap:32px}.hero{background:var(--navy);color:var(--cream);min-height:740px;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:65px 5% 75px;overflow:hidden}.hero-copy{padding:0;z-index:2}.hero h1{font-size:clamp(62px,6.3vw,100px);margin-bottom:26px;position:relative}.hero h1 em{font-style:normal;color:var(--gold)}.heading-star{display:inline-block;color:var(--accent);font-size:.75em;margin-left:15px;vertical-align:middle;animation:star-turn 24s linear infinite}.hero-intro{font-size:18px;line-height:1.55;color:#e0e8dd}.hero .eyebrow{color:#c8d8cc;font-size:9px;margin:23px 0 20px}.season-switch{display:inline-flex;background:#061e22;border:1px solid #56746a;border-radius:28px;padding:4px;gap:3px}.season-switch button{border:0;border-radius:24px;background:transparent;color:#dbe5dc;padding:10px 17px;font-size:11px;font-weight:700}.season-switch button[aria-pressed=true]{background:var(--gold);color:#153330}.hero .actions{gap:22px;margin-top:25px}.button{border-radius:30px;padding:17px 24px;font-size:12px;box-shadow:none}.gold{background:var(--gold);box-shadow:0 4px 0 #bd913c}.button:hover{transform:translateY(-3px)}.hero-note{color:#c7d6ca}.hero-art{position:relative;align-self:center;padding-top:45px}.photo-frame{margin:0;background:var(--cream);padding:13px 13px 0;transform:rotate(3deg);box-shadow:0 22px 45px #001b2470;border-radius:4px}.frame-image{height:370px;overflow:hidden;background:#030708}.frame-image img{width:100%;height:100%;object-fit:cover;object-position:53% 60%;transition:filter .5s}.photo-frame figcaption{color:var(--ink);font-size:12px;font-weight:600;display:flex;justify-content:space-between;padding:18px 5px}.photo-frame figcaption span:last-child{font-size:22px;line-height:1}.sticker{position:absolute;z-index:3;right:-8px;top:-20px;width:138px;height:138px;border-radius:50%;background:var(--accent);color:#182f2b;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:12px;font-weight:800;transform:rotate(12deg);border:6px double var(--navy);line-height:1.4;box-shadow:0 4px 0 #07272c}.sticker em{font:700 22px 'Outfit',sans-serif}.sticker span{font-size:22px}.light-control{display:flex;align-items:center;justify-content:space-between;margin-top:33px;gap:15px}.light-control button{background:transparent;border:0;color:var(--cream);display:flex;align-items:center;gap:10px;font-size:12px;padding:10px 0}.light-control>span{color:var(--gold);font-size:11px;transform:rotate(-4deg)}.switch-track{width:46px;height:26px;border-radius:30px;background:var(--gold);padding:4px;display:inline-block}.switch-track>span{display:block;height:18px;width:18px;border-radius:50%;background:var(--navy);transform:translateX(20px);transition:transform .3s}.hand-note{color:#c6d5c9;font-size:11px;letter-spacing:.6px;text-align:center;margin-top:8px}.light-string{position:absolute;left:-1%;top:-4px;width:102%;height:36px;display:flex;justify-content:space-around;border-top:2px solid #7a9483;border-radius:0 0 50% 50%;z-index:4;pointer-events:none}.bulb{--bulb:#ffd56a;display:block;width:12px;height:22px;background:var(--bulb);border-radius:45% 45% 50% 50%;position:relative;top:6px;box-shadow:0 0 20px var(--bulb),0 0 45px color-mix(in srgb,var(--bulb),transparent 60%);transform:rotate(12deg);transition:opacity .4s,box-shadow .4s}.bulb:before{content:'';position:absolute;width:8px;height:7px;background:#749086;left:2px;top:-5px}.bulb:nth-child(3n){--bulb:#f57863;transform:rotate(-12deg)}.bulb:nth-child(3n+1){--bulb:#62cfc0}.bulb:nth-child(5n){--bulb:#b498e5}.lights-off .bulb{opacity:.25;box-shadow:none}.lights-off .switch-track{background:#7b8b84}.lights-off .switch-track>span{transform:translateX(0)}.lights-off .frame-image img{filter:brightness(.38)}.lights-off .heading-star{animation-play-state:paused}.service-strip{background:var(--accent);color:#16332d;padding:22px 5%;font-weight:800;transform:rotate(-1deg);margin:-10px -1% 0;width:102%;position:relative;z-index:5;letter-spacing:1.5px}.service-strip span:before{content:'✳';margin-right:20px}.section{padding:100px 7%}.section-heading>p{font-size:15px;line-height:1.7}.season-grid{gap:28px}.season{border-radius:22px;padding:40px;min-height:330px;border:2px solid var(--ink);box-shadow:5px 6px 0 var(--ink)}.christmas{background:#c4dfbe;color:var(--ink)}.halloween{background:#dcc8f0;color:#352446}.season-num{font-weight:800}.season h3{font-size:37px}.season p{font-size:15px;max-width:360px}.star-art{color:#267452;opacity:.8;right:35px;top:25px;font-size:120px}.moon-art{color:#774594;opacity:.8;right:35px;top:25px;font-size:130px}.work{padding-top:20px}.work figure{background:white;padding:16px;border:1px solid #e0d8c4;box-shadow:0 12px 30px #3e412913;transform:rotate(-1deg)}.work figure img{height:480px;border-radius:3px}.work figcaption{padding:16px 4px 3px;color:#40594e}.packages{background:#f4e9cc;border-top:1px solid #d8c9a5;border-bottom:1px solid #d8c9a5}.package-grid{gap:24px}.package-grid article{background:var(--cream);padding:28px;border:1px solid #d2c6aa;border-radius:18px}.step{display:flex;align-items:center;justify-content:center;background:var(--gold);color:var(--ink);width:44px;height:44px;border-radius:50%;font-weight:800;font-family:'Outfit',sans-serif;font-size:17px;letter-spacing:0}.package-grid article:nth-child(2) .step{background:#bddec1}.package-grid article:nth-child(3) .step{background:#e4c5eb}.package-grid h3{font-size:27px;letter-spacing:-.8px}.package-footer{font-size:11px;color:#536b65}.terms{color:#53635a}.about{gap:9%}.portrait{border:12px solid white;outline:1px solid #e5dcc9;transform:rotate(-4deg);box-shadow:12px 14px 0 #c1d9bb;height:420px;position:relative}.portrait img{transform:scale(1.25);transform-origin:center top;object-position:center 9%}.about-copy h2{font-size:60px}.signature{font-size:23px}.signature span{font-family:'DM Sans',sans-serif}.area{background:#c6dfc0;color:var(--ink);position:relative}.area .eyebrow{color:#315d48}.areas span{border:1px solid #51755b;border-radius:25px;background:#e5f0dd;font-weight:600}.area>p:last-child{color:#375b4a}.faq{gap:6%}.questions details{border-color:#c8cdbb}summary{font-weight:600;padding:23px 32px 23px 0}summary:after{background:#e9dec1;border-radius:50%;width:25px;height:25px;text-align:center;line-height:25px;font-size:18px}.contact{background:var(--gold);background-image:radial-gradient(#f9e7ac 1.3px,transparent 1.3px);background-size:19px 19px}.contact h2{font-size:clamp(50px,5.8vw,82px)}.contact h2 em{color:#b63e2b}.contact .eyebrow{font-weight:800}.contact .gold{background:var(--ink);color:white;box-shadow:0 4px 0 #63816d}.contact p:not(.eyebrow),.contact-note{color:#3c5948}.outline{border:1px solid var(--ink)}footer{padding:35px 5%}footer .logo img{width:160px;height:105px}.mobile-contact{background:var(--navy)}.mobile-contact a:last-child{border-radius:25px}body.halloween-mode{--navy:#281f3c;--gold:#ffbd68;--accent:#bf9ce6}.halloween-mode .hero{background:#281f3c}.halloween-mode .hero h1 em{color:#ffbd68}.halloween-mode .heading-star{color:#c9afea}.halloween-mode .season-switch{background:#171024}.halloween-mode .season-switch button[aria-pressed=true]{background:#ffbd68;color:#281f3c}.halloween-mode .bulb:nth-child(odd){--bulb:#bc8fea}.halloween-mode .bulb:nth-child(even){--bulb:#ffa447}button:focus-visible{outline:3px solid #f36d57;outline-offset:5px}@keyframes star-turn{to{transform:rotate(360deg)}}
@media(min-width:1550px){.hero{min-height:850px}.frame-image{height:480px}}@media(max-width:1000px){header{height:120px}.logo img{width:165px;height:100px}.hero{padding:60px 5%;gap:22px;min-height:720px}.hero h1{font-size:68px;letter-spacing:-3px}.frame-image{height:330px}.sticker{width:115px;height:115px;right:0;font-size:10px}.sticker em{font-size:19px}.light-control{flex-wrap:wrap;gap:0}.section{padding:75px 6%}.work{padding-top:10px}.about-copy h2{font-size:48px}.portrait{height:370px}.package-grid article{padding:22px}.season{padding:28px}.season h3{font-size:31px}}
@media(max-width:650px){.announcement{font-size:7px;padding:9px 5%;letter-spacing:.6px;gap:12px}.announcement a{font-size:8px;letter-spacing:0}header{height:115px;padding:5px 5%;gap:10px}.logo img{width:150px;height:105px}.header-cta{font-size:10px;padding:12px 16px}.hero{display:flex;flex-direction:column;gap:20px;padding:44px 6% 35px;min-height:0;overflow:hidden}.hero-copy{padding:0}.hero h1{font-size:65px;letter-spacing:-3px;line-height:.97}.hero h1 br:nth-of-type(3){display:none}.hero .eyebrow{margin:23px 0 18px;font-size:8px}.season-switch button{font-size:10px;padding:8px 16px}.hero-intro{font-size:16px;line-height:1.5}.hero .actions{gap:18px}.hero .button{padding:15px 19px;font-size:10px}.hero-note{margin-bottom:0}.heading-star{margin-left:12px}.hero-art{width:100%;padding-top:40px;align-self:stretch;margin-bottom:20px}.frame-image{height:260px}.photo-frame{padding:9px 9px 0;transform:rotate(2deg)}.photo-frame figcaption{font-size:10px;padding:14px 3px}.sticker{top:0;right:-6px;width:98px;height:98px;border-width:4px;font-size:8px}.sticker em{font-size:16px}.sticker span{font-size:16px}.light-control{margin-top:22px;justify-content:space-between}.light-control button{font-size:10px}.light-control>span{font-size:9px}.hand-note{font-size:9px;margin-top:4px}.light-string{height:28px;top:0}.bulb{width:8px;height:15px}.bulb:before{width:6px;left:1px;height:6px}.service-strip{font-size:7px;letter-spacing:.2px;gap:8px;padding:18px 3%}.service-strip span:before{margin-right:5px}.section{padding:60px 6%}h2{font-size:42px;letter-spacing:-1.5px}.section-heading>p{font-size:14px}.season{padding:30px;min-height:300px}.season-num{margin-bottom:65px}.season h3{font-size:32px}.season p{font-size:14px}.star-art{font-size:105px}.moon-art{font-size:110px}.work{padding-top:5px}.work figure{padding:9px}.work figure img{height:245px}.work figcaption{font-size:8px}.work figcaption span:last-child{font-size:6px}.package-grid article{padding:25px}.package-footer{padding-top:10px}.portrait{width:88%;height:340px;margin:0 auto 10px}.about{gap:40px}.about-copy h2{font-size:46px}.area h2{font-size:38px}.contact h2{font-size:49px}.contact .button{min-width:265px}footer{padding:25px 6% 95px;gap:20px}footer .logo img{width:170px;height:110px}.mobile-contact{padding-top:8px}.mobile-contact a{font-size:10px}}
@media(prefers-reduced-motion:reduce){.heading-star{animation:none}.frame-image img,.switch-track>span,.bulb{transition:none}}
body{overflow-x:clip}.frame-image img{transform:scale(1.42);transform-origin:55% 59%}.service-strip{width:100%;margin-left:0;margin-right:0;transform:none}

.halloween-mode .frame-image img{transform:none;object-position:center}
.hero-title,.hero-promise{display:block}.mobile-jump{display:none}
@media(max-width:650px){
 html{scroll-padding-top:20px}
 .announcement{justify-content:center;padding:7px 16px;font-size:10px;min-height:30px}.announcement>span{display:none}.announcement a{font-size:10px;letter-spacing:.3px}
 header{height:88px;padding:7px 20px}.logo img{width:136px;height:74px}.header-cta{display:none}.mobile-jump{display:flex;min-height:44px;align-items:center;font-size:13px;gap:7px;color:var(--cream);border-bottom:1px solid #678178}
 .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:0;padding:35px 20px 28px;min-height:0;isolation:isolate}.hero-copy{display:contents}.hero .season-switch{order:1;justify-self:center;display:flex;width:100%;max-width:330px;padding:4px;margin:0 0 20px}.season-switch button{flex:1;min-height:42px;font-size:13px;padding:10px 12px}
 .hero .eyebrow{order:2;text-align:center;font-size:9px;letter-spacing:1.6px;margin:0 0 10px}.hero h1{order:3;text-align:center;font-size:clamp(40px,11vw,49px);letter-spacing:-1.9px;line-height:1.04;margin:0 0 20px}.hero-title{max-width:330px;margin:auto}.hero h1 .heading-star{font-size:30px;margin-left:8px}.hero-promise{font-size:21px;line-height:1.25;letter-spacing:-.5px;font-weight:500;margin-top:8px;color:#dfebdf}
 .hero-art{order:4;margin:0;padding:0;min-width:0}.photo-frame{transform:none;padding:6px 6px 0;border-radius:14px;overflow:hidden;box-shadow:0 12px 25px #00182040}.frame-image{height:auto;aspect-ratio:1.48;border-radius:9px;overflow:hidden}.frame-image img{transform:scale(1.5);transform-origin:53% 58%}.halloween-mode .frame-image img{transform:none}.photo-frame figcaption{font-size:11px;line-height:1.4;padding:12px 7px;gap:8px}.photo-frame figcaption span:last-child{font-size:18px}.sticker{width:72px;height:72px;right:-8px;top:-15px;border-width:3px;font-size:7px;line-height:1.2}.sticker em{font-size:13px}.sticker span{font-size:13px}.light-control{margin:10px 0 0;min-height:44px;gap:10px}.light-control button{font-size:12px;min-height:44px;padding:4px 0}.light-control>span{font-size:10px;transform:none}.hand-note{display:none}
 .hero-intro{order:5;text-align:center;font-size:14px;line-height:1.5;margin:16px 0 0}.hero .actions{order:6;display:none}.hero-note{order:7;text-align:center;font-size:11px;margin:12px 0 0;color:#c7d6ca}
 .light-string{top:0}.service-strip{display:grid;grid-template-columns:1fr 1fr;padding:15px 20px;gap:8px 12px;font-size:10px;line-height:1.4;letter-spacing:.3px;text-align:center}.service-strip span:last-child{grid-column:1/-1}.service-strip span:before{margin-right:7px}
 .section{padding:46px 20px}h2{font-size:35px;letter-spacing:-1.2px;line-height:1.08}.eyebrow{font-size:9px;letter-spacing:1.1px;line-height:1.5;margin-bottom:14px}.section-heading{margin-bottom:23px}.section-heading>p{font-size:14px;line-height:1.65;margin-top:16px}.season-grid{gap:18px}.season{padding:24px;min-height:0;border-radius:16px;box-shadow:3px 4px 0 var(--ink)}.season-num{font-size:10px;margin-bottom:25px;min-height:22px;display:flex;align-items:center}.season h3{font-size:27px;margin-bottom:13px;max-width:220px}.season p{font-size:14px;line-height:1.65}.star-art{font-size:66px;top:15px;right:20px}.moon-art{font-size:72px;top:9px;right:20px}
 .work{padding-top:0}.work figure{transform:none;padding:7px;border-radius:12px;overflow:hidden}.work figure img{height:auto;aspect-ratio:1.3;object-position:center 57%;border-radius:7px}.work figcaption{font-size:10px;padding:12px 5px 5px;line-height:1.4}.work figcaption span:last-child{display:none}
 .package-grid{gap:14px}.package-grid article{padding:22px;display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:start;border-radius:14px}.step{width:34px;height:34px;font-size:13px;margin:0;grid-row:1/4}.package-grid h3{font-size:22px;line-height:1.2;margin:3px 0 10px;letter-spacing:-.6px}.package-grid p{font-size:13px;line-height:1.65;margin:0;grid-column:2}.package-footer{grid-column:2;padding-top:12px;font-size:10px;line-height:1.4}.terms{font-size:12px;line-height:1.7;margin-top:22px}
 .about{gap:29px}.portrait{width:190px;height:220px;transform:rotate(-2deg);border-width:7px;box-shadow:7px 8px 0 #c1d9bb;margin:0 auto}.portrait img{transform:scale(1.25);transform-origin:center top}.about-copy h2{font-size:36px}.about-copy p:not(.eyebrow){font-size:14px}.signature{margin-top:20px;font-size:23px}.area h2{font-size:34px}.areas{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:24px 0}.areas span{font-size:12px;padding:9px 8px}.area>p:last-child{font-size:13px;line-height:1.65}.faq{gap:10px}.faq h2{font-size:35px}summary{min-height:60px;padding:19px 35px 19px 0;font-size:14px;line-height:1.5}summary:after{top:19px}details p{font-size:14px;line-height:1.65}.contact h2{font-size:39px}.contact .actions{gap:14px;margin-top:23px}.contact .button{width:100%;min-height:50px;font-size:13px}.contact p:not(.eyebrow){font-size:14px}.contact-note{font-size:11px}.contact .outline{min-height:48px}footer{padding:24px 20px 110px;gap:15px}footer>a:last-child{font-size:12px}.mobile-contact{grid-template-columns:90px 1fr;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;background:#102e32f5;box-shadow:0 -5px 20px #071b2526;border-top:1px solid #577468}.mobile-contact a{min-height:48px;font-size:12px;display:flex;align-items:center;justify-content:center;border-radius:25px}.mobile-contact a:first-child{border:1px solid #81978d}.mobile-contact a:last-child{font-size:12px;box-shadow:0 3px 0 #af8739}
}
@media(max-width:360px){.hero{padding-left:16px;padding-right:16px}.hero h1{font-size:40px}.hero h1 .heading-star{font-size:24px;margin-left:4px}.hero-promise{font-size:19px}.section{padding-left:18px;padding-right:18px}.sticker{right:-4px;width:64px;height:64px}.light-control>span{font-size:9px}.mobile-contact{padding-left:10px;padding-right:10px;grid-template-columns:80px 1fr}.mobile-contact a:last-child{font-size:11px}}
