:root{--pine:#173c22;--green:#1e4922;--lime:#a2c046;--cream:#fff9ea;--gold:#f6c854;--red:#d7463d;--ink:#17211a;--muted:#667168;--line:#dce4dc;--shadow:0 24px 70px rgba(13,35,20,.16);--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.65 "DM Sans",sans-serif;color:var(--ink);background:#fff}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Fraunces",serif;line-height:.98;letter-spacing:-.035em}h2{font-size:clamp(2.5rem,5vw,5.15rem)}h3{line-height:1.2}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.section{padding:108px 0}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:10px 16px;color:#fff;background:#000;border-radius:8px}.skip-link:focus{top:16px}
.snowfall{position:fixed;z-index:45;inset:0;overflow:hidden;pointer-events:none;contain:strict}.snowflake{position:absolute;top:-7vh;left:var(--snow-left);width:var(--snow-size);height:var(--snow-size);border-radius:50%;background:rgba(255,255,255,var(--snow-opacity));box-shadow:0 0 7px rgba(255,255,255,.26);animation:snow-flurry var(--snow-duration) linear var(--snow-delay) infinite;will-change:transform,opacity}@keyframes snow-flurry{0%{opacity:0;transform:translate3d(0,-4vh,0)}9%{opacity:var(--snow-opacity)}52%{transform:translate3d(var(--snow-mid-drift),54vh,0)}88%{opacity:var(--snow-opacity)}100%{opacity:0;transform:translate3d(var(--snow-drift),112vh,0)}}
.announcement{min-height:36px;display:flex;justify-content:center;align-items:center;gap:8px;padding:6px 20px;background:var(--pine);color:#eef6ec;text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(23,60,34,.1)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{align-self:stretch;display:flex;align-items:center;width:150px;position:relative}.brand img{position:absolute;width:148px;max-width:none;top:-31px;z-index:2;filter:drop-shadow(0 8px 10px rgba(0,0,0,.09))}.desktop-nav{display:flex;gap:28px;margin-left:auto}.desktop-nav a{text-decoration:none;font-size:.9rem;font-weight:700;color:#2d4032}.desktop-nav a:hover{color:var(--lime)}.header-actions{display:flex;align-items:center;gap:18px}.phone-link{font-weight:800;text-decoration:none;color:var(--green);white-space:nowrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 25px;border:0;border-radius:999px;background:var(--green);color:#fff;text-decoration:none;font-weight:800;line-height:1.1;box-shadow:0 10px 24px rgba(30,73,34,.18);transition:.2s}.button:hover{transform:translateY(-2px);background:#286030;box-shadow:0 14px 30px rgba(30,73,34,.25)}.button-small{min-height:45px;padding:0 20px;font-size:.9rem}.button-bright{color:var(--pine);background:var(--gold);box-shadow:0 12px 30px rgba(246,200,84,.24)}.button-bright:hover{background:#ffd873}.menu-button,.mobile-nav{display:none}
.hero{position:relative;min-height:min(830px,calc(100vh - 118px));display:flex;align-items:center;isolation:isolate;overflow:hidden;background:var(--pine);color:#fff}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;z-index:-3}.hero-shade{z-index:-2;background:linear-gradient(90deg,rgba(7,29,17,.95),rgba(7,29,17,.78) 35%,rgba(7,29,17,.18) 72%,rgba(7,29,17,.08)),linear-gradient(0deg,rgba(7,24,14,.5),transparent 45%)}.hero-content{padding-block:100px 110px}.hero-content>*{max-width:700px}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.78rem}.eyebrow{display:flex;align-items:center;gap:11px;color:#f7eecf;margin-bottom:22px}.eyebrow-light{width:10px;height:17px;border-radius:70% 50% 65% 45%;background:var(--gold);box-shadow:0 0 16px 5px rgba(246,200,84,.55);transform:rotate(24deg)}.hero h1{max-width:800px;margin-bottom:28px;font-size:clamp(3.55rem,7.2vw,7.7rem)}.hero h1 em,.closing-cta h2 em{color:#fff1b5;font-style:italic;font-weight:600}.hero-copy{font-size:clamp(1.08rem,1.6vw,1.3rem);max-width:590px;color:rgba(255,255,255,.84);line-height:1.55}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:36px}.text-link{color:#fff;text-decoration:none;font-weight:800}.text-link span{display:inline-block;margin-left:5px;transition:.2s}.text-link:hover span{transform:translateX(5px)}.trust-row{display:flex;flex-wrap:wrap;gap:24px;list-style:none;padding:0;margin:46px 0 0;font-size:.88rem;color:rgba(255,255,255,.8)}.trust-row span{color:var(--gold);font-weight:900}.scroll-cue{position:absolute;right:max(30px,calc((100vw - 1180px)/2));bottom:35px;display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.68rem;font-weight:800;writing-mode:vertical-rl}.scroll-cue i{display:block;width:1px;height:48px;background:linear-gradient(#fff,transparent)}
.section-heading{max-width:720px;margin-bottom:58px}.section-heading.centered{text-align:center;margin-inline:auto}.section-heading h2{margin-bottom:22px;color:var(--pine)}.section-heading>p:last-child{color:var(--muted);font-size:1.1rem}.kicker{color:#74902e;margin-bottom:15px}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.benefit-grid article{padding:36px 34px;border:1px solid var(--line);border-radius:20px;background:#fff;transition:.25s}.benefit-grid article:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.benefit-grid h3{margin:20px 0 11px;color:var(--pine);font-size:1.25rem}.benefit-grid p{margin:0;color:var(--muted);font-size:.96rem}.icon-wrap,.step-icon{display:grid;place-items:center;color:var(--green);background:#eff5e5;font-weight:800}.icon-wrap{width:56px;height:56px;border-radius:18px;font-size:1.35rem}.minimum-note{margin-top:34px;display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 26px;border-radius:15px;background:var(--cream);color:#526052}.minimum-note strong{font-family:"Fraunces",serif;color:var(--pine);font-size:2rem}.minimum-note span:last-child{padding-left:18px;border-left:1px solid #d8dcc5;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.meter-section{background:var(--pine);color:#fff;overflow:hidden;position:relative}.meter-section:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;right:-180px;top:-200px;border:90px solid rgba(162,192,70,.09)}.meter-layout{display:grid;grid-template-columns:.85fr 1.5fr;align-items:center;gap:75px;position:relative}.meter-copy h2{font-size:clamp(2.5rem,4.6vw,4.8rem);margin-bottom:25px}.meter-copy>p:last-child{color:rgba(255,255,255,.67)}.kicker.light{color:#d5e69c}.happiness-meter{padding:42px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);background:rgba(255,255,255,.06);box-shadow:0 30px 80px rgba(0,0,0,.18)}.meter-labels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;color:rgba(255,255,255,.7);font-size:.78rem;font-weight:700;text-align:center}.meter-labels span:last-child{color:#fff4bf}.meter-track{position:relative;height:84px;display:grid;grid-template-columns:1fr 1fr 1.15fr;border:4px solid #0c2d17;border-radius:999px;box-shadow:0 15px 35px rgba(0,0,0,.25)}.meter-segment:first-child{border-radius:999px 0 0 999px}.meter-segment:nth-child(3){border-radius:0 999px 999px 0}.segment-low{background:#738b50}.segment-mid{background:#d7a33b}.segment-high{background:linear-gradient(90deg,#b63e39,#d4463e)}.bulbs{position:absolute;inset:-12px 12px auto;display:flex;justify-content:space-around}.bulbs i{width:11px;height:18px;border-radius:60% 45% 55% 40%;background:#ffd45d;box-shadow:0 0 12px 4px rgba(255,212,93,.55);transform:rotate(8deg)}.bulbs i:nth-child(3n+2){background:#d95c56;box-shadow:0 0 12px 4px rgba(217,92,86,.5)}.bulbs i:nth-child(3n){background:#9fc612;box-shadow:0 0 12px 4px rgba(159,198,18,.48)}.meter-marker{position:absolute;width:69px;height:69px;right:11%;top:50%;display:grid;place-items:center;transform:translateY(-50%) scale(.8);border-radius:50%;background:#fff9e5;color:var(--pine);border:5px solid #fff;box-shadow:0 6px 22px rgba(0,0,0,.3),0 0 30px rgba(255,220,106,.45);opacity:.25;transition:.7s cubic-bezier(.2,.8,.2,1)}.meter-marker span{font-size:.68rem;font-weight:900;letter-spacing:.08em}.happiness-meter.is-visible .meter-marker{opacity:1;transform:translateY(-50%) scale(1)}.meter-result{margin-top:28px;text-align:center}.meter-result strong,.meter-result span{display:block}.meter-result strong{font-family:"Fraunces",serif;color:#fff0b3;font-size:1.35rem}.meter-result span{margin-top:4px;color:rgba(255,255,255,.66);font-size:.88rem}
.process{background:#f7f9f5}.split-heading{max-width:none;display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:80px}.split-heading h2{margin:0;max-width:700px}.split-heading>p{margin:0 0 12px;color:var(--muted);font-size:1.08rem}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid #cdd7cd}.process-list li{display:grid;grid-template-columns:70px 70px 1fr;gap:26px;align-items:center;min-height:150px;padding:24px 0;border-bottom:1px solid #cdd7cd}.step-number{font-family:"Fraunces",serif;color:#93a994;font-size:1.3rem}.step-icon{width:60px;height:60px;border-radius:50%;border:1px solid #ceddb8;font-size:1.3rem}.process-list h3{margin:0 0 6px;color:var(--pine);font-family:"Fraunces",serif;font-size:1.55rem}.process-list p{margin:0;max-width:760px;color:var(--muted)}
.permanent-card{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:70px}.permanent-image-wrap{position:relative}.permanent-image-wrap img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.image-badge{position:absolute;left:24px;top:24px;padding:8px 15px;border-radius:99px;background:var(--gold);color:var(--pine);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:900}.permanent-copy h2,.local-copy h2{margin-bottom:26px;color:var(--pine);font-size:clamp(2.5rem,4.5vw,4.4rem)}.permanent-copy>p:not(.kicker),.local-copy>p{color:var(--muted)}.check-list{list-style:none;padding:0;margin:27px 0 32px}.check-list li{position:relative;padding:10px 0 10px 35px;border-bottom:1px solid var(--line);font-weight:700}.check-list li:before{content:"✓";position:absolute;left:0;color:#759427}
.local-proof{background:var(--cream)}.proof-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}.proof-quote{padding:45px;border-radius:var(--radius);background:#fff;box-shadow:0 18px 45px rgba(42,57,39,.08)}.stars{margin-bottom:20px;color:#e6ad2f;letter-spacing:.14em}.proof-quote blockquote{margin:0 0 25px;color:var(--pine);font-family:"Fraunces",serif;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.35}.quote-credit{margin:0;font-weight:800}.quote-credit span{margin-left:8px;color:var(--muted);font-weight:500}.service-area{padding-top:16px;border-top:1px solid #dddcc6}
.estimate{background:var(--pine);color:#fff}.estimate-layout{display:grid;grid-template-columns:1fr .85fr;gap:85px;align-items:center}.estimate-copy h2{margin-bottom:27px}.estimate-copy>p:not(.kicker):not(.price-reminder){max-width:620px;color:rgba(255,255,255,.7);font-size:1.05rem}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:34px 0 26px}.contact-options a{display:block;padding:15px 14px;border:1px solid rgba(255,255,255,.16);border-radius:13px;text-decoration:none}.contact-options a:hover{background:rgba(255,255,255,.07)}.contact-options span,.contact-options strong{display:block}.contact-options span{color:#d9e8bd;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.contact-options strong{font-size:.84rem;margin-top:3px;overflow-wrap:anywhere}.price-reminder{color:#f9eaa6}.form-card{padding:38px;color:var(--ink);background:#fff;border-radius:var(--radius);box-shadow:0 25px 60px rgba(0,0,0,.24)}.form-card-head span{color:#78932e;text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:800}.form-card-head h3{margin:6px 0 8px;color:var(--pine);font-family:"Fraunces",serif;font-size:2rem}.form-card-head p{color:var(--muted)}.form-launch{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;margin-top:25px;padding:20px;border-radius:16px;background:var(--cream);color:var(--pine);text-decoration:none;border:1px solid #e9dfbe;transition:.2s}.form-launch:hover{transform:translateY(-2px);border-color:var(--gold)}.form-launch-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold)}.form-launch strong,.form-launch small{display:block}.form-launch small{color:var(--muted)}.form-notes{display:flex;flex-wrap:wrap;gap:8px 18px;padding:0;margin:22px 0 0;list-style:none;color:var(--muted);font-size:.76rem}.form-notes li:before{content:"✓";margin-right:6px;color:#78932e;font-weight:900}
.faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:start}.faq-heading{position:sticky;top:125px}.faq-heading h2{margin-bottom:24px;color:var(--pine);font-size:clamp(2.45rem,4.2vw,4.2rem)}.faq-heading>p:last-child{color:var(--muted)}.faq-heading a{color:var(--pine);font-weight:800}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:25px 0;cursor:pointer;color:var(--pine);font-weight:800;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:#78932e;font-size:1.4rem;transition:.2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{padding:0 42px 25px 0;color:var(--muted)}
.closing-cta{padding:110px 0;text-align:center;color:#fff;background:linear-gradient(rgba(10,42,21,.88),rgba(10,42,21,.92)),url("hero-holiday-home.webp") center 58%/cover}.closing-cta .eyebrow{justify-content:center}.closing-cta h2{margin:0;font-size:clamp(3rem,6.5vw,6.8rem)}.centered-actions{justify-content:center}footer{padding:54px 0 24px;color:rgba(255,255,255,.72);background:#0e2816;font-size:.88rem}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:55px;align-items:center}.footer-grid img{width:155px}.footer-grid strong{color:#fff}.footer-grid p{margin:6px 0 0}.footer-grid>div:last-child{display:flex;flex-direction:column;align-items:flex-end}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.11);font-size:.75rem}.footer-bottom a{text-decoration:none}.mobile-cta{display:none}
@media(max-width:1040px){.desktop-nav,.phone-link{display:none}.header-actions{margin-left:auto}.menu-button{width:42px;height:42px;display:grid;place-content:center;gap:5px;border:0;background:transparent}.menu-button span{width:23px;height:2px;display:block;background:var(--pine)}.mobile-nav{padding:18px 20px 24px;background:#fff;border-top:1px solid var(--line)}.mobile-nav.is-open{display:grid}.mobile-nav a{padding:10px 0;color:var(--pine);text-decoration:none;font-weight:800}.meter-layout,.permanent-card,.proof-grid,.estimate-layout,.faq-layout{gap:50px}.contact-options{grid-template-columns:1fr}}
@media(max-width:800px){body{font-size:16px;padding-bottom:64px}.shell{width:min(100% - 28px,680px)}.section{padding:76px 0}.announcement{min-height:32px;font-size:.63rem}.header-inner{min-height:68px}.brand{width:112px}.brand img{width:112px;top:-23px}.header-actions{display:none}.hero{min-height:720px;align-items:end}.hero-image{object-position:61% center}.hero-shade{background:linear-gradient(0deg,rgba(6,26,14,.98),rgba(6,26,14,.82) 55%,rgba(6,26,14,.18))}.hero-content{padding:125px 0 74px}.hero h1{font-size:clamp(3.4rem,15vw,5.5rem)}.hero-actions{align-items:stretch;flex-direction:column;gap:18px}.hero-actions .text-link{text-align:center}.trust-row{gap:8px 18px;margin-top:30px}.scroll-cue{display:none}.benefit-grid,.meter-layout,.split-heading,.permanent-card,.proof-grid,.estimate-layout,.faq-layout,.footer-grid{grid-template-columns:1fr}.benefit-grid{gap:14px}.benefit-grid article{padding:27px}.minimum-note{flex-wrap:wrap;gap:6px 13px;text-align:center}.minimum-note span:first-child{width:100%}.minimum-note span:last-child{border-left:0;padding-left:0}.meter-layout{gap:38px}.happiness-meter{padding:30px 18px}.meter-labels{font-size:.62rem}.meter-track{height:65px}.meter-marker{width:55px;height:55px}.split-heading{gap:20px}.process-list li{grid-template-columns:42px 54px 1fr;gap:14px;min-height:130px}.step-icon{width:50px;height:50px}.permanent-card{gap:42px}.proof-grid,.estimate-layout,.faq-layout{gap:45px}.proof-quote,.form-card{padding:28px}.faq-heading{position:static}.footer-grid{text-align:center;justify-items:center}.footer-grid>div:last-child{align-items:center}.footer-bottom{flex-direction:column;text-align:center}.mobile-cta{position:fixed;inset:auto 0 0;z-index:100;display:grid;grid-template-columns:.7fr .7fr 1.6fr;background:#fff;box-shadow:0 -5px 25px rgba(0,0,0,.15)}.mobile-cta a{display:grid;place-items:center;min-height:64px;text-decoration:none;color:var(--pine);font-weight:800;border-right:1px solid var(--line)}.mobile-cta a:last-child{color:#fff;background:var(--pine);border:0}}
@media(max-width:430px){.hero h1{font-size:3.55rem}.hero-copy{font-size:1rem}.process-list li{grid-template-columns:34px 1fr}.step-icon{display:none}.contact-options{margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.snowfall{display:none}}

/* Holiday countdown and restored logo proportions */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.brand{width:168px}
.brand img{width:165px;height:auto}
.christmas-countdown{width:max-content;max-width:100%;margin-top:27px;padding:13px 18px 15px;border:1px solid rgba(255,244,199,.3);border-radius:17px;background:linear-gradient(115deg,rgba(12,45,23,.82),rgba(22,64,32,.62));box-shadow:0 16px 40px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.12);backdrop-filter:blur(10px)}
.countdown-heading{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:9px;color:#fff4c7;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.countdown-bulb{width:8px;height:13px;border-radius:70% 50% 65% 45%;background:var(--gold);box-shadow:0 0 10px 3px rgba(246,200,84,.55);transform:rotate(22deg)}
.countdown-bulb-red{background:#ef5d52;box-shadow:0 0 10px 3px rgba(239,93,82,.45);transform:rotate(-22deg)}
.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(62px,1fr));gap:7px}
.countdown-grid>span{position:relative;display:grid;place-items:center;min-width:66px;padding:7px 8px 6px;border-radius:10px;background:rgba(255,255,255,.09)}
.countdown-grid>span:not(:last-child):after{content:"";position:absolute;right:-5px;top:18px;width:3px;height:3px;border-radius:50%;background:var(--gold);box-shadow:0 7px var(--gold)}
.countdown-grid strong{font-family:"Fraunces",serif;font-size:1.5rem;line-height:1;color:#fff}
.countdown-grid small{margin-top:5px;color:rgba(255,255,255,.68);font-size:.58rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.christmas-countdown.is-christmas{border-color:rgba(246,200,84,.65);box-shadow:0 16px 40px rgba(0,0,0,.2),0 0 34px rgba(246,200,84,.16)}
.hero-actions{margin-top:30px}
.trust-row{margin-top:38px}
@media(max-width:800px){.brand{width:126px}.brand img{width:124px;height:auto}.hero{min-height:820px}.christmas-countdown{width:100%;padding-inline:12px}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:5px}.countdown-grid>span{min-width:0;padding-inline:4px}.countdown-grid strong{font-size:1.3rem}}

/* Seasonal booking offer */
.announcement{padding:0 20px;text-transform:none;letter-spacing:normal;background:linear-gradient(90deg,#102f1a,#1b4725 50%,#102f1a)}
.announcement-inner{width:min(1180px,100%);min-height:42px;display:flex;align-items:center;justify-content:center;gap:12px;color:rgba(255,255,255,.78);font-size:.78rem}
.announcement-inner .offer-label{padding:4px 9px;border:1px solid rgba(246,200,84,.45);border-radius:999px;color:#ffe9a3;font-size:.75rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
.announcement-inner strong{color:#fff;font-size:.84rem;letter-spacing:.015em}
.announcement-inner .offer-support:before{content:"·";margin-right:12px;color:var(--gold)}
.announcement-inner .offer-support b{color:#fff1b5;font-weight:900}
.announcement-inner a{margin-left:4px;color:#ffe9a3;font-weight:800;text-decoration:none;white-space:nowrap}
.announcement-inner a:hover{text-decoration:underline}
.announcement[hidden],.booking-offer[hidden]{display:none!important}
.booking-offer{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:17px;max-width:630px;margin:30px 0 8px;padding:18px 20px;border:1px solid rgba(246,200,84,.32);border-radius:16px;background:linear-gradient(110deg,rgba(255,255,255,.09),rgba(255,255,255,.035));box-shadow:inset 0 1px rgba(255,255,255,.08)}
.booking-offer-badge{display:grid;place-items:center;min-width:82px;min-height:58px;padding:8px 12px;border-radius:12px;background:var(--gold);color:var(--pine);font-family:"Fraunces",serif;font-size:1.1rem;font-weight:700;text-align:center;line-height:1.1}
.booking-offer strong{display:block;color:#fff;font-size:1rem;line-height:1.3}
.booking-offer p{margin:5px 0 0;color:rgba(255,255,255,.67);font-size:.82rem;line-height:1.45}
.booking-offer.is-availability .booking-offer-badge{background:#dce9ba;font-family:"DM Sans",sans-serif;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.announcement-inner .offer-support{display:none}}
@media(max-width:620px){.announcement{padding:7px 14px}.announcement-inner{min-height:42px;display:grid;grid-template-columns:auto 1fr auto;gap:3px 9px;justify-content:stretch}.announcement-inner .offer-label{grid-row:1/4;align-self:center}.announcement-inner strong{grid-column:2/4;font-size:.75rem;line-height:1.25}.announcement-inner .offer-support{display:block;grid-column:2/4;color:rgba(255,255,255,.82);font-size:.69rem;line-height:1.2}.announcement-inner .offer-support:before,.announcement-inner .offer-never{display:none}.announcement-inner a{grid-column:2/4;margin:0;font-size:.75rem}.booking-offer{align-items:start;gap:13px;padding:16px}.booking-offer-badge{min-width:68px;min-height:52px;font-size:.95rem}.booking-offer strong{font-size:.93rem}.booking-offer p{font-size:.78rem}}

/* Happiness meter light-up sequence */
.happiness-meter{transition:border-color .7s ease,box-shadow .9s ease,background .7s ease}
.happiness-meter.is-visible{border-color:rgba(255,240,179,.24);background:rgba(255,255,255,.075);box-shadow:0 30px 80px rgba(0,0,0,.18),0 0 46px rgba(246,200,84,.08),inset 0 0 28px rgba(255,244,199,.035)}
.meter-track:after{content:"";position:absolute;z-index:1;top:5px;bottom:5px;left:5%;width:22%;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(255,248,210,.34),transparent);filter:blur(7px);opacity:0;pointer-events:none}
.happiness-meter.is-visible .meter-track{animation:meter-border-glow 3.8s ease-in-out 1s infinite}
.happiness-meter.is-visible .meter-track:after{animation:meter-light-sweep 4.8s ease-in-out .65s infinite}
.bulbs{z-index:3}
.bulbs i{--bulb:#ffd45d;--bulb-glow:rgba(255,212,93,.78);position:relative;z-index:3;background:var(--bulb);box-shadow:0 0 5px 1px var(--bulb-glow);opacity:.42;transform:rotate(8deg) scale(.9);transform-origin:50% 10%}
.bulbs i:nth-child(3n+2){--bulb:#e35a54;--bulb-glow:rgba(227,90,84,.72);background:var(--bulb);box-shadow:0 0 5px 1px var(--bulb-glow)}
.bulbs i:nth-child(3n){--bulb:#a8d20b;--bulb-glow:rgba(168,210,11,.7);background:var(--bulb);box-shadow:0 0 5px 1px var(--bulb-glow)}
.happiness-meter.is-visible .bulbs i{animation:bulb-twinkle 3.2s ease-in-out infinite}
.happiness-meter.is-visible .bulbs i:nth-child(1){animation-delay:.05s}.happiness-meter.is-visible .bulbs i:nth-child(2){animation-delay:.18s}.happiness-meter.is-visible .bulbs i:nth-child(3){animation-delay:.31s}.happiness-meter.is-visible .bulbs i:nth-child(4){animation-delay:.44s}.happiness-meter.is-visible .bulbs i:nth-child(5){animation-delay:.57s}.happiness-meter.is-visible .bulbs i:nth-child(6){animation-delay:.7s}.happiness-meter.is-visible .bulbs i:nth-child(7){animation-delay:.83s}.happiness-meter.is-visible .bulbs i:nth-child(8){animation-delay:.96s}.happiness-meter.is-visible .bulbs i:nth-child(9){animation-delay:1.09s}.happiness-meter.is-visible .bulbs i:nth-child(10){animation-delay:1.22s}.happiness-meter.is-visible .bulbs i:nth-child(11){animation-delay:1.35s}.happiness-meter.is-visible .bulbs i:nth-child(12){animation-delay:1.48s}
.meter-marker{z-index:4}
.happiness-meter.is-visible .meter-marker{animation:joy-marker-glow 2.8s ease-in-out 1.55s infinite}
.happiness-meter.is-visible .meter-marker span{animation:joy-text-glow 2.8s ease-in-out 1.55s infinite}
@keyframes bulb-twinkle{0%,100%{opacity:.52;transform:rotate(8deg) scale(.92);box-shadow:0 0 5px 1px var(--bulb-glow)}12%,34%{opacity:1;transform:rotate(8deg) scale(1.08);box-shadow:0 0 18px 7px var(--bulb-glow)}52%{opacity:.72;transform:rotate(8deg) scale(.98);box-shadow:0 0 10px 3px var(--bulb-glow)}}
@keyframes meter-border-glow{0%,100%{box-shadow:0 15px 35px rgba(0,0,0,.25),0 0 0 rgba(246,200,84,0)}50%{box-shadow:0 15px 35px rgba(0,0,0,.25),0 0 24px rgba(246,200,84,.22)}}
@keyframes meter-light-sweep{0%,12%{left:5%;opacity:0}22%{opacity:.72}62%{left:73%;opacity:.55}76%,100%{left:73%;opacity:0}}
@keyframes joy-marker-glow{0%,100%{box-shadow:0 6px 22px rgba(0,0,0,.3),0 0 20px rgba(255,220,106,.36)}50%{box-shadow:0 7px 24px rgba(0,0,0,.32),0 0 42px 12px rgba(255,220,106,.5),inset 0 0 18px rgba(255,222,105,.25)}}
@keyframes joy-text-glow{0%,100%{text-shadow:0 0 0 rgba(246,200,84,0)}50%{color:#0f3a1e;text-shadow:0 0 12px rgba(246,200,84,.48)}}
@media(prefers-reduced-motion:reduce){.happiness-meter.is-visible,.happiness-meter.is-visible .meter-track,.happiness-meter.is-visible .meter-track:after,.happiness-meter.is-visible .bulbs i,.happiness-meter.is-visible .meter-marker,.happiness-meter.is-visible .meter-marker span{animation:none!important}.happiness-meter.is-visible .bulbs i{opacity:1;transform:rotate(8deg);box-shadow:0 0 14px 5px var(--bulb-glow)}}

/* Interactive holiday happiness meter */
.happiness-meter{padding:30px;overflow:hidden;--meter-left:8%}
.meter-scene{position:relative;aspect-ratio:16/9;margin-bottom:19px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:#102f1a;box-shadow:0 18px 40px rgba(0,0,0,.24)}
.meter-scene:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(6,24,13,.65));pointer-events:none}
.meter-scene-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .32s linear,transform .8s ease;transform:scale(1.015)}
.meter-scene-image.is-active{transform:scale(1)}
.meter-scene-tag{position:absolute;z-index:2;left:16px;bottom:14px;padding:6px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(9,38,20,.75);color:#fff7d6;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(8px)}
.meter-hint{margin:0 0 13px;color:rgba(255,255,255,.66);font-size:.78rem;text-align:center}.meter-hint strong{color:#fff1b5;letter-spacing:.06em}
.meter-labels{align-items:end;margin-bottom:16px}
.meter-labels button{min-width:0;padding:4px 3px;border:0;background:transparent;color:rgba(255,255,255,.62);font:inherit;font-weight:800;line-height:1.25;cursor:pointer;transition:color .2s ease,transform .2s ease}
.meter-labels button:hover,.meter-labels button.is-active{color:#fff4bf}.meter-labels button:hover{transform:translateY(-1px)}.meter-labels button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
.meter-track{height:78px;grid-template-columns:1fr 1fr 1fr}
.meter-marker{right:auto;left:var(--meter-left);top:50%;width:70px;height:70px;opacity:1;transform:translate(-50%,-50%) scale(1);transition:left .08s linear;pointer-events:none}
.happiness-meter.is-visible .meter-marker{opacity:1;transform:translate(-50%,-50%) scale(1)}
.meter-input{position:absolute;z-index:8;inset:-10px 0;width:100%;height:calc(100% + 20px);margin:0;opacity:0;cursor:grab;touch-action:manipulation}.meter-input:active{cursor:grabbing}
.meter-track:has(.meter-input:focus-visible){outline:3px solid var(--gold);outline-offset:5px}
.meter-result{min-height:82px;margin-top:22px}.meter-result strong{font-size:1.38rem}.meter-result span{max-width:560px;margin:6px auto 0;line-height:1.55}
@media(max-width:800px){.happiness-meter{padding:18px 14px 24px}.meter-scene{margin-bottom:16px;border-radius:16px}.meter-scene-tag{left:12px;bottom:11px;font-size:.6rem}.meter-hint{margin-bottom:11px}.meter-labels{gap:5px;margin-bottom:14px;font-size:.65rem}.meter-track{height:66px}.meter-marker{width:58px;height:58px}.meter-result{min-height:105px;margin-top:22px;padding-inline:4px}.meter-result strong{font-size:1.25rem}.meter-result span{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.meter-scene-image,.meter-marker,.meter-labels button{transition:none!important}}

/* Holiday display consultation builder */
.existing-form-link{display:block;margin-top:15px;color:var(--pine);font-size:.82rem;font-weight:700;text-align:center}
.section-small{padding:70px 0}.builder-page{background:#f4f7f2;color:var(--ink)}.builder-header{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.builder-header-inner{min-height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.builder-brand{width:126px;height:78px;display:flex;align-items:center}.builder-brand img{width:122px;height:auto}.builder-back{color:var(--pine);font-weight:800;text-decoration:none}.builder-phone{justify-self:end;color:var(--muted);font-size:.86rem;text-decoration:none}.builder-phone strong{color:var(--pine);margin-left:6px}.builder-intro{padding:68px 0 42px;background:linear-gradient(135deg,#fff9e8,#edf4e8)}.builder-intro-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}.builder-intro h1{max-width:850px;margin:8px 0 0;color:var(--pine);font-size:clamp(2.8rem,5vw,5.4rem);line-height:.99}.builder-intro-grid>p{margin:0 0 8px;color:var(--muted);font-size:1.08rem}.builder-workspace{padding-top:34px}.builder-progress{position:sticky;top:0;z-index:15;margin-bottom:26px;padding:17px 22px 13px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:0 12px 34px rgba(23,60,34,.08);backdrop-filter:blur(10px)}.progress-copy{display:flex;justify-content:space-between;gap:25px;margin-bottom:11px}.progress-copy span{color:#78932e;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.progress-copy strong{color:var(--pine);font-size:.9rem}.progress-track{height:5px;border-radius:99px;background:#e5ebe2;overflow:hidden}.progress-track span{height:100%;width:20%;display:block;border-radius:99px;background:linear-gradient(90deg,var(--lime),var(--gold));transition:width .35s ease}.consultation-form{padding:42px;border-radius:28px;background:#fff;box-shadow:0 20px 55px rgba(23,60,34,.1)}.builder-step[hidden]{display:none}.builder-step.is-active{animation:builder-in .32s ease both}@keyframes builder-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.step-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end;margin-bottom:30px}.step-overline{color:#78932e;font-size:.72rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.step-heading h2{margin:6px 0 0;color:var(--pine);font-size:clamp(2.2rem,4vw,3.9rem)}.step-heading>p{margin:0 0 8px;color:var(--muted)}
.tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tier-card{position:relative;display:flex;flex-direction:column;border:2px solid #e3e9e1;border-radius:19px;overflow:hidden;background:#fff;cursor:pointer;transition:.2s}.tier-card:hover{transform:translateY(-3px);border-color:#bfce95;box-shadow:0 16px 35px rgba(23,60,34,.11)}.tier-card input{position:absolute;opacity:0}.tier-card:has(input:checked){border-color:#759427;box-shadow:0 0 0 3px rgba(162,192,70,.2),0 18px 40px rgba(23,60,34,.12)}.tier-image{position:relative;display:block;height:164px;overflow:hidden;background:#16231c}.tier-image img{position:absolute;width:200%;height:200%;max-width:none;object-fit:cover}.tier-q1 img{left:0;top:0}.tier-q2 img{left:-100%;top:0}.tier-q3 img{left:0;top:-100%}.tier-q4 img{left:-100%;top:-100%}.tier-card-body{position:relative;display:flex;flex:1;flex-direction:column;padding:20px}.tier-card-body>strong{color:var(--pine);font-family:"Fraunces",serif;font-size:1.55rem}.tier-card-body>small{color:var(--muted)}.tier-select{position:absolute;right:15px;top:-18px;padding:6px 10px;border-radius:99px;background:#fff;color:#78932e;font-size:.68rem;font-weight:900;text-transform:uppercase;box-shadow:0 5px 15px rgba(0,0,0,.12)}.tier-card:has(input:checked) .tier-select{background:#759427;color:#fff}.tier-price{display:block;margin:17px 0 12px;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:.76rem}.tier-price b{display:block;color:var(--pine);font-size:1rem}.tier-discount{display:block;margin-top:7px;color:#78932e;font-size:.72rem;font-weight:900}.tier-discount b{display:inline;color:#4b671e;font-size:.96rem}.tier-features{color:#48544a;font-size:.78rem;line-height:1.5}.tier-card-max{border-color:#e4d29b}.tier-card-custom{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:112px;padding:22px 24px;border-style:dashed;background:#f8faf6}.custom-tier-icon{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#e7efda;color:#668027;font-size:1.55rem}.custom-tier-copy{position:relative;display:flex;flex-direction:column}.custom-tier-copy>strong{color:var(--pine);font-family:"Fraunces",serif;font-size:1.45rem}.custom-tier-copy>small,.custom-tier-price small{color:var(--muted);line-height:1.45}.custom-tier-copy .tier-select{top:-37px}.custom-tier-price{max-width:230px;padding-left:20px;border-left:1px solid var(--line);text-align:right}.custom-tier-price b{display:block;color:var(--pine)}.custom-tier-price small{display:block;margin-top:3px;font-size:.72rem}.planning-note{margin:23px 0 0;padding:17px 19px;border-radius:13px;background:#f7f8f3;color:var(--muted);font-size:.82rem}.planning-note strong{color:var(--pine)}
.choice-group{margin:0 0 34px;padding:0;border:0}.choice-group legend{margin-bottom:14px;color:var(--pine);font-weight:900}.color-grid,.pill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.color-choice,.pill-grid label{position:relative;cursor:pointer}.color-choice input,.pill-grid input,.element-grid input{position:absolute;opacity:0}.color-choice{min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:2px solid var(--line);border-radius:17px;text-align:center}.color-choice:hover,.pill-grid label:hover,.element-grid label:hover{border-color:#bdcc99}.color-choice:has(input:checked),.pill-grid label:has(input:checked),.element-grid label:has(input:checked){border-color:#759427;background:#f7faee;box-shadow:0 0 0 3px rgba(162,192,70,.17)}.color-choice strong,.color-choice small{display:block}.color-choice small{margin-top:3px;color:var(--muted)}.color-swatch{width:46px;height:46px;display:grid;place-items:center;margin-bottom:12px;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d7ded5,0 4px 16px rgba(0,0,0,.12)}
.color-swatch.warm{background:#ffe08a;box-shadow:0 0 0 1px #d7ded5,0 0 20px rgba(255,205,88,.45)}.color-swatch.red-white{background:linear-gradient(90deg,#d7463d 50%,#ffe7a0 50%)}.color-swatch.multi{background:conic-gradient(#d7463d,#f6c854,#6c9d3f,#3877aa,#d7463d)}.color-swatch.custom{background:#eef2eb;color:var(--pine);font-weight:900}.pill-grid label{min-height:66px;display:grid;place-items:center;padding:12px;border:2px solid var(--line);border-radius:14px;text-align:center;font-weight:800}.element-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.element-grid label{position:relative;min-height:155px;display:flex;flex-direction:column;padding:18px;border:2px solid var(--line);border-radius:16px;cursor:pointer}.element-grid label[hidden]{display:none}.element-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:14px;border-radius:12px;background:#edf3e5;color:#668027;font-size:1.2rem;font-weight:900}.element-grid small{margin-top:5px;color:var(--muted);font-size:.78rem;line-height:1.4}.selection-mode-note{display:flex;align-items:center;gap:12px;margin:-8px 0 24px;padding:15px 18px;border-left:4px solid #78932e;border-radius:8px;background:#f2f7e8;color:var(--muted);font-size:.84rem}.selection-mode-note strong{color:var(--pine);white-space:nowrap}.avoid-field{display:flex;flex-direction:column;gap:9px;margin-top:22px;color:var(--pine);font-size:.84rem;font-weight:800}.avoid-field span{display:flex;justify-content:space-between;gap:25px}.avoid-field small{color:var(--muted);font-weight:500}.avoid-field textarea{width:100%;padding:13px 14px;border:1px solid #cfd9cf;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-weight:500;resize:vertical}.avoid-field textarea:focus{outline:3px solid rgba(162,192,70,.22);border-color:#78932e}.range-field{display:block;margin-top:22px;padding:22px;border-radius:16px;background:#f6f8f3}.range-field>span:first-child{display:flex;justify-content:space-between;gap:25px}.range-field small{color:var(--muted)}.range-field input{width:100%;margin:23px 0 8px;accent-color:#78932e}.range-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem}.range-labels i{font-style:normal}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field-grid label{display:flex;flex-direction:column;gap:8px;color:var(--pine);font-size:.84rem;font-weight:800}.field-grid input,.field-grid select,.field-grid textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid #cfd9cf;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-weight:500}.field-grid textarea{resize:vertical}.field-grid input:focus,.field-grid select:focus,.field-grid textarea:focus{outline:3px solid rgba(162,192,70,.22);border-color:#78932e}.full-field{grid-column:1/-1}.photo-field{display:flex;flex-direction:column;gap:11px;padding:20px;border:1px dashed #b4c2b4;border-radius:14px;background:#f8faf6}.photo-field-title{color:var(--pine);font-size:.84rem;font-weight:800}.photo-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-action{position:relative;min-height:78px;display:grid!important;grid-template-columns:auto 1fr;align-items:center;gap:13px!important;padding:14px;border:1px solid #cfd9cf;border-radius:12px;background:#fff;cursor:pointer}.photo-action:hover{border-color:#78932e}.photo-action input{position:absolute;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;opacity:0}.photo-action-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#eef3e5;color:#668027;font-size:1.2rem}.photo-action strong,.photo-action small{display:block}.photo-action small,.photo-field>small{color:var(--muted);font-weight:500}.photo-list{color:#668027;font-weight:700}.photo-email-note{padding-top:10px;border-top:1px solid var(--line)}.final-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:30px}.contact-card{padding:28px;border:1px solid var(--line);border-radius:20px}.consent-field{display:grid!important;grid-template-columns:auto 1fr!important;align-items:start}.consent-field input{width:20px;height:20px;min-height:0;margin-top:2px;accent-color:#78932e}.design-summary{padding:30px;border-radius:20px;background:var(--pine);color:#fff}.summary-label{color:#d8e7ac;font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.design-summary h3{margin:8px 0 3px;font-family:"Fraunces",serif;font-size:2rem}.design-summary>strong{color:#ffe7a0}.design-summary dl{margin:26px 0}.design-summary dl div{display:grid;grid-template-columns:95px 1fr;gap:12px;padding:11px 0;border-top:1px solid rgba(255,255,255,.12)}.design-summary dt{color:#cfddc8;font-size:.76rem;text-transform:uppercase}.design-summary dd{margin:0}.design-summary>p{margin:0;color:rgba(255,255,255,.66);font-size:.78rem}.is-invalid{border-color:#c9473f!important}.form-error{margin-top:22px;padding:13px 16px;border-radius:10px;background:#fff0ee;color:#9f2e28;font-weight:800}.builder-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}.builder-actions [hidden]{display:none!important}.button-quiet{margin-right:auto;color:var(--pine);background:#eef3eb}.submission-note{margin:14px 0 0;color:var(--muted);font-size:.78rem;text-align:right}.builder-pricing{background:#fff9ea}.pricing-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.pricing-copy h2{margin-top:8px;color:var(--pine);font-size:clamp(2.4rem,4vw,4rem)}.pricing-copy>div:last-child{color:var(--muted);font-size:1.02rem}
@media(max-width:1100px){.tier-grid{grid-template-columns:repeat(2,1fr)}.element-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.builder-header-inner{min-height:70px;grid-template-columns:1fr auto}.builder-brand{width:105px;height:66px}.builder-brand img{width:102px}.builder-back{font-size:.82rem}.builder-phone{display:none}.builder-intro{padding:50px 0 30px}.builder-intro-grid,.step-heading,.final-grid,.pricing-copy{grid-template-columns:1fr;gap:20px}.consultation-form{padding:24px 18px}.builder-progress{top:0;margin-inline:-4px;padding:14px 16px}.progress-copy{display:block}.progress-copy strong{display:block;margin-top:4px}.tier-grid,.color-grid,.pill-grid{grid-template-columns:1fr 1fr}.element-grid{grid-template-columns:1fr 1fr}.tier-image{height:150px}.tier-card-custom{grid-template-columns:auto 1fr}.custom-tier-price{grid-column:2;padding:10px 0 0;border-top:1px solid var(--line);border-left:0;text-align:left}.selection-mode-note,.avoid-field span{align-items:flex-start;flex-direction:column;gap:4px}.field-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.range-field>span:first-child{display:block}.range-field small{display:block;margin-top:4px}.builder-actions{position:sticky;bottom:0;z-index:12;margin:28px -18px -24px;padding:14px 18px;background:rgba(255,255,255,.96);box-shadow:0 -8px 24px rgba(23,60,34,.08)}.builder-actions .button{flex:1}.submission-note{text-align:left}.pricing-copy{gap:10px}}
@media(max-width:520px){.builder-intro h1{font-size:2.8rem}.tier-grid,.color-grid,.pill-grid,.element-grid{grid-template-columns:1fr}.tier-grid{gap:20px}.tier-card{display:flex;grid-template-columns:none;flex-direction:column}.tier-image{width:100%;height:auto;min-height:0;aspect-ratio:16/9}.tier-card-body{padding:20px 18px 22px}.tier-select{right:14px;left:auto;top:-17px}.tier-card-custom{align-items:flex-start}.custom-tier-copy .tier-select{top:-40px}.custom-tier-price{width:100%;max-width:none}.element-grid label{min-height:128px}.photo-actions{grid-template-columns:1fr}.progress-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.design-summary dl div{grid-template-columns:86px 1fr}}
.tier-card:has(input:focus-visible),.color-choice:has(input:focus-visible),.pill-grid label:has(input:focus-visible),.element-grid label:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}

/* AI holiday concept preview beta */
.ai-preview-callout{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;margin:-5px 0 28px;padding:22px 24px;border:1px solid rgba(246,200,84,.34);border-radius:18px;background:linear-gradient(120deg,#14391f,#20512b);color:#fff;box-shadow:0 18px 45px rgba(23,60,34,.15)}
.ai-preview-callout[hidden],.ai-preview-results[hidden],.ai-preview-opt-in[hidden],.ai-photo-note[hidden]{display:none!important}.ai-preview-spark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--pine);font-size:1.15rem;box-shadow:0 0 24px rgba(246,200,84,.3)}.ai-preview-eyebrow{display:block;margin-bottom:5px;color:#dcebb8;font-size:.68rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.ai-preview-callout strong{display:block;font-family:"Fraunces",serif;color:#fff4c7;font-size:1.35rem}.ai-preview-callout p{margin:6px 0 12px;color:rgba(255,255,255,.74);font-size:.88rem;line-height:1.55}.ai-preview-points{display:flex;flex-wrap:wrap;gap:7px}.ai-preview-points span{padding:5px 9px;border:1px solid rgba(255,255,255,.15);border-radius:99px;background:rgba(255,255,255,.07);font-size:.66rem;font-weight:700}
.photo-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.photo-thumbnail{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:11px;background:#e7ece4}.photo-thumbnail img{width:100%;height:100%;object-fit:cover}.photo-thumbnail button{position:absolute;right:6px;top:6px;width:29px;height:29px;border:0;border-radius:50%;background:rgba(15,42,23,.88);color:#fff;font-size:1.15rem;line-height:1;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.24)}.photo-thumbnail button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.ai-photo-note{padding:10px 12px!important;border:1px solid #d9e5bc;border-radius:10px;background:#f5f8eb;color:#536646!important}.ai-photo-note strong{color:var(--pine)}
.ai-preview-opt-in{grid-template-columns:auto 1fr!important;align-items:start;padding:15px 16px;border:1px solid #d9e5bc;border-radius:13px;background:#f6f9ed}.ai-preview-opt-in input{width:21px;height:21px;min-height:0;margin-top:3px;accent-color:#78932e}.ai-preview-opt-in strong,.ai-preview-opt-in small{display:block}.ai-preview-opt-in strong{font-size:.9rem}.ai-preview-opt-in small{margin-top:3px;color:var(--muted);font-weight:500}
.ai-preview-results{padding:42px;border-radius:28px;background:#fff;box-shadow:0 20px 55px rgba(23,60,34,.1)}.ai-results-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.ai-results-heading h2{max-width:760px;margin:7px 0 0;color:var(--pine);font-size:clamp(2.3rem,4vw,4rem)}.ai-connection-status{padding:8px 12px;border-radius:99px;background:#fff3cb;color:#6c5413;font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.ai-results-intro{max-width:780px;margin:20px 0 27px;color:var(--muted)}.ai-preview-grid{display:grid;gap:18px}.ai-preview-card{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:18px}.ai-original{position:relative;min-height:260px;background:#17211a}.ai-original>span,.ai-generated-image>span{position:absolute;z-index:2;left:12px;top:12px;padding:5px 9px;border-radius:99px;background:rgba(9,38,20,.78);color:#fff;font-size:.68rem;font-weight:800}.ai-original img{width:100%;height:100%;min-height:260px;object-fit:cover}.ai-generated-panel{position:relative;min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;background:linear-gradient(135deg,#f7faee,#fff8e7);text-align:center}.ai-generated-panel strong{color:var(--pine);font-family:"Fraunces",serif;font-size:1.25rem}.ai-generated-panel small{max-width:310px;margin-top:6px;color:var(--muted)}.ai-generating-icon,.ai-error-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:13px;border-radius:50%;background:var(--gold);color:var(--pine);font-size:1.15rem}.ai-generating-icon{animation:ai-preview-pulse 1.65s ease-in-out infinite}.ai-error-icon{background:#f8d7d4;color:#8e2923}.ai-generated-panel.is-complete{display:block;padding:0;background:#17211a}.ai-generated-image{position:absolute;inset:0}.ai-generated-image img{width:100%;height:100%;min-height:260px;display:block;object-fit:cover}.ai-download{position:absolute;z-index:2;right:12px;bottom:12px;padding:7px 11px;border-radius:99px;background:rgba(255,255,255,.92);color:var(--pine);font-size:.72rem;font-weight:900;text-decoration:none;box-shadow:0 5px 16px rgba(0,0,0,.2)}.ai-download:hover{background:#fff}.ai-retry{margin-top:14px;padding:9px 13px;border:0;border-radius:99px;background:var(--pine);color:#fff;font:inherit;font-size:.8rem;font-weight:800;cursor:pointer}.ai-retry:hover{background:#24552d}.ai-followup{margin-top:22px;padding:24px;border:1px solid #d8e4c4;border-radius:18px;background:linear-gradient(135deg,#f8fbf1,#fffaf0)}.ai-followup-heading{display:flex;align-items:start;justify-content:space-between;gap:18px}.ai-followup-heading h3{margin:5px 0 0;color:var(--pine);font-family:"Fraunces",serif;font-size:1.65rem}.ai-followup-reference{padding:7px 10px;border-radius:99px;background:#edf3e5;color:#496c1b;font-size:.7rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.ai-selection-recap{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:21px 0 16px}.ai-selection-recap div{padding:13px 15px;border-radius:12px;background:rgba(255,255,255,.78)}.ai-selection-recap dt{color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.ai-selection-recap dd{margin:5px 0 0;color:var(--pine);font-size:.95rem;font-weight:800}.ai-next-steps{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:15px;border-radius:13px;background:#fff}.ai-next-steps-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dcebb8;color:#355814;font-weight:900}.ai-next-steps strong{color:var(--pine);font-size:.88rem}.ai-next-steps p,.ai-followup-note{margin:4px 0 0;color:var(--muted);font-size:.82rem;line-height:1.55}.ai-next-steps b{color:#496c1b}.ai-followup-note{margin-top:14px;font-size:.75rem}.ai-results-disclaimer{margin:20px 0 0;padding:14px 16px;border-radius:12px;background:#f4f7f1;color:var(--muted);font-size:.78rem}.ai-results-disclaimer strong{color:var(--pine)}.ai-prompt-preview{margin-top:24px;border:1px solid var(--line);border-radius:14px;background:#f8faf6}.ai-prompt-preview summary{padding:15px 18px;color:var(--pine);font-weight:800;cursor:pointer}.ai-prompt-preview pre{margin:0;padding:0 18px 18px;white-space:pre-wrap;color:#4d5c50;font:500 .78rem/1.6 "DM Sans",sans-serif}.ai-results-actions{display:flex;align-items:center;gap:12px;margin-top:24px}.ai-results-actions .button[data-ai-email]{margin-left:auto}.ai-results-actions [hidden]{display:none!important}@keyframes ai-preview-pulse{0%,100%{transform:scale(.94);box-shadow:0 0 0 0 rgba(246,200,84,.4)}50%{transform:scale(1.04);box-shadow:0 0 0 13px rgba(246,200,84,0)}}
@media(max-width:800px){.ai-preview-callout{grid-template-columns:1fr;margin-bottom:23px;padding:19px}.ai-preview-spark{width:42px;height:42px}.photo-thumbnails{grid-template-columns:repeat(3,1fr)}.ai-preview-results{padding:26px 18px}.ai-results-heading{display:block}.ai-connection-status{display:inline-block;margin-top:14px}.ai-preview-card{grid-template-columns:1fr}.ai-original,.ai-original img,.ai-generated-panel,.ai-generated-image img{min-height:220px}.ai-followup{padding:19px}.ai-followup-heading{display:block}.ai-followup-reference{display:inline-block;margin-top:12px}.ai-selection-recap{grid-template-columns:1fr}.ai-results-actions{align-items:stretch;flex-direction:column}.ai-results-actions .button,.ai-results-actions .button[data-ai-email]{width:100%;margin:0}}
@media(max-width:480px){.photo-thumbnails{grid-template-columns:1fr 1fr}.ai-preview-points{display:grid}.ai-preview-points span{text-align:center}}
@media(prefers-reduced-motion:reduce){.ai-generating-icon{animation:none}}

.ai-regenerate{position:absolute;z-index:3;left:12px;bottom:12px;padding:8px 11px;border:1px solid rgba(255,255,255,.6);border-radius:99px;background:rgba(20,57,31,.92);color:#fff;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer;box-shadow:0 5px 16px rgba(0,0,0,.22)}
.ai-regenerate:hover{background:#24552d}
.ai-regenerate:disabled{opacity:.7;cursor:wait}
.ai-regenerate-status{position:absolute;z-index:4;top:12px;right:12px;max-width:70%;margin:0!important;padding:7px 10px;border-radius:99px;background:rgba(20,57,31,.92);color:#fff!important;font-size:.68rem!important;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.2)}

.field-grid label>small{color:var(--muted);font-size:.76rem;font-weight:500;line-height:1.45}.field-grid label>span small{color:var(--muted);font-weight:600}

/* Optional-photo confirmation */
.ai-preview-opt-in.is-disabled{opacity:.7;background:#f1f3ee}.ai-preview-opt-in.is-disabled input{cursor:not-allowed}.no-photo-dialog{width:min(92vw,560px);padding:0;border:0;border-radius:24px;background:#fff;color:#253329;box-shadow:0 26px 80px rgba(13,38,20,.35)}.no-photo-dialog::backdrop{background:rgba(10,29,16,.7);backdrop-filter:blur(3px)}.no-photo-dialog form{padding:clamp(26px,6vw,42px);text-align:center}.no-photo-dialog-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border-radius:50%;background:#f4e4a7;color:var(--pine);font-size:1.5rem}.no-photo-dialog h2{margin:0;color:var(--pine);font-size:clamp(1.8rem,5vw,2.6rem)}.no-photo-dialog p{margin:13px auto 25px;max-width:440px;color:var(--muted);font-size:1rem;line-height:1.65}.no-photo-dialog-actions{display:flex;justify-content:center;gap:12px}.no-photo-dialog-actions .button{min-width:190px}.photo-field-title small{color:var(--muted);font-size:.78rem;font-weight:600}
@media(max-width:580px){.no-photo-dialog-actions{flex-direction:column}.no-photo-dialog-actions .button{width:100%;min-width:0}}

/* Google-powered address suggestions */
.address-autocomplete{position:relative;display:block}.address-field input[role="combobox"]{padding-right:42px;background-image:radial-gradient(circle at center,#78932e 0 2px,transparent 2.5px);background-position:calc(100% - 19px) 50%;background-repeat:no-repeat;background-size:12px 12px}.address-field input[aria-expanded="true"]{border-color:#78932e;border-radius:11px 11px 5px 5px;box-shadow:0 0 0 3px rgba(162,192,70,.16)}.address-suggestions{position:absolute;z-index:45;top:calc(100% + 6px);left:0;right:0;overflow:hidden;border:1px solid #cfd9cf;border-radius:13px;background:#fff;box-shadow:0 18px 38px rgba(23,60,34,.18)}.address-suggestions[hidden]{display:none}.address-option{display:block;padding:13px 15px;border-bottom:1px solid #e7ece5;color:#253329;font-size:.84rem;font-weight:650;line-height:1.38;cursor:pointer}.address-option:hover,.address-option.is-active{background:#f2f7e8;color:var(--pine)}.address-attribution{display:block;padding:8px 13px;color:#5e5e5e;font-family:Roboto,"DM Sans",sans-serif;font-size:12px;font-style:normal;font-weight:400;letter-spacing:normal;text-align:right;white-space:nowrap}.address-field>small{min-height:1.1em}.footer-legal{display:flex;align-items:center;gap:16px}

/* Privacy and terms */
.legal-page{background:#f4f7f2}.legal-main{padding:72px 0 90px;background:linear-gradient(145deg,#fff9e8,#edf4e8 38%,#f4f7f2 38%)}.legal-card{max-width:880px;margin:auto;padding:clamp(28px,5vw,58px);border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 20px 55px rgba(23,60,34,.09)}.legal-card .kicker{margin:0}.legal-card h1{margin:8px 0 9px;color:var(--pine);font-size:clamp(2.6rem,6vw,5rem)}.legal-updated{margin:0 0 34px;color:var(--muted);font-size:.8rem}.legal-card h2{margin:31px 0 8px;color:var(--pine);font-size:1.45rem}.legal-card p,.legal-card li{color:#4e5d51;line-height:1.75}.legal-card ul{padding-left:22px}.legal-card a{color:#4f6f1f;font-weight:700}.legal-contact{margin-top:34px;padding:18px 20px;border-radius:14px;background:#f5f8eb}

/* Christmas progress details */
.progress-track{--step-progress:20%;position:relative;overflow:visible;background:linear-gradient(90deg,#e8eee5,#f2eee1)}
.progress-track>span{position:relative;z-index:1;background:linear-gradient(90deg,#b83a31 0 28%,#2f753d 28% 72%,var(--gold) 100%);box-shadow:0 0 9px rgba(246,200,84,.42)}
.progress-sleigh{position:absolute;z-index:2;left:var(--step-progress);top:50%;display:block;min-width:max-content;pointer-events:none;transform:translate(-100%,-54%);font-style:normal;font-size:1.03rem;line-height:1;letter-spacing:-.18em;white-space:nowrap;filter:drop-shadow(0 3px 3px rgba(23,60,34,.22));transition:left .45s cubic-bezier(.22,.72,.24,1);animation:reindeer-run .48s ease-in-out infinite alternate}
.progress-team{display:block;font-weight:400;transform:scaleX(-1)}
@keyframes reindeer-run{from{margin-top:-1px;transform:translate(-100%,-58%) rotate(-1deg)}to{margin-top:1px;transform:translate(-100%,-48%) rotate(1deg)}}
.ai-generation-progress{width:min(100%,330px);margin-top:18px;text-align:left}
.ai-generation-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;color:#536646;font-size:.68rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.ai-generation-meta b{color:var(--pine);font-variant-numeric:tabular-nums}
.ai-generation-track{height:10px;overflow:hidden;border:1px solid #d9e4cd;border-radius:99px;background:#e9efe5;box-shadow:inset 0 1px 3px rgba(23,60,34,.1)}
.ai-generation-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#b83a31,#f6c854 48%,#3a8249 78%,#f6c854);background-size:220% 100%;box-shadow:0 0 12px rgba(246,200,84,.48);transition:width .45s ease;animation:holiday-progress-glow 2.2s linear infinite}
.ai-keep-open{display:block;margin-top:9px;color:#667260;font-size:.68rem;font-weight:700;text-align:center}
@keyframes holiday-progress-glow{to{background-position:-220% 0}}
@media(max-width:800px){.progress-sleigh{font-size:.9rem}.ai-generation-progress{max-width:290px}}
@media(prefers-reduced-motion:reduce){.progress-sleigh,.ai-generation-track>span{animation:none!important}}

/* Streamlined holiday designer flow */
.custom-package-fields{margin:24px 0 0;padding:24px;border:1px solid #d8e4c4;border-radius:18px;background:#f8fbf4}.custom-package-fields legend{padding:0 5px;color:var(--pine);font-size:1.04rem;font-weight:900}.custom-package-fields>p{margin:0 0 18px;color:var(--muted);line-height:1.55}.photo-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0;padding:0;border:0}.photo-choice-grid legend{margin-bottom:14px;color:var(--pine);font-weight:900}.photo-choice{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;min-height:138px;padding:22px;border:2px solid var(--line);border-radius:18px;background:#fff;cursor:pointer;transition:.2s}.photo-choice input{position:absolute;opacity:0}.photo-choice:hover{border-color:#bdcc99;transform:translateY(-2px)}.photo-choice:has(input:checked){border-color:#759427;background:#f7faee;box-shadow:0 0 0 3px rgba(162,192,70,.17)}.photo-choice-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#edf3e5;color:#668027;font-size:1.45rem;font-weight:900}.photo-choice strong,.photo-choice small{display:block}.photo-choice strong{color:var(--pine);font-size:1.06rem}.photo-choice small{margin-top:5px;color:var(--muted);line-height:1.45}.photo-upload-panel{margin-top:20px}.photo-upload-panel[hidden]{display:none}.preview-notes{display:flex!important;flex-direction:column!important;gap:8px!important;margin-top:4px;color:var(--pine);font-size:.84rem;font-weight:800}.preview-notes textarea{width:100%;min-height:88px;padding:13px 14px;border:1px solid #cfd9cf;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-weight:500;resize:vertical}.preview-notes textarea:focus{outline:3px solid rgba(162,192,70,.22);border-color:#78932e}.photo-choice:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:800px){.photo-choice-grid{grid-template-columns:1fr}}

/* Builder package color examples mirror the package cards on the landing page. */
.tier-color-carousel{touch-action:pan-y}.tier-color-track{display:flex;width:300%;height:100%;transform:translateX(0);transition:transform .42s cubic-bezier(.22,.78,.22,1)}.tier-color-carousel[data-color-index="1"] .tier-color-track{transform:translateX(-33.333333%)}.tier-color-carousel[data-color-index="2"] .tier-color-track{transform:translateX(-66.666667%)}.tier-color-track figure{flex:0 0 33.333333%;width:33.333333%;height:100%;margin:0}.tier-color-track img{position:static!important;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover}.tier-color-picker{padding:10px 11px 12px;border-bottom:1px solid #e4e8dc;background:#fbfcf8;text-align:center}.tier-color-picker p{margin:0 0 8px;color:#63735e;font-size:.57rem;font-weight:900;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.tier-color-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.tier-color-picker button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:29px;padding:4px 3px;border:1px solid #dce3d5;border-radius:7px;background:#fff;color:#53604f;font-size:.57rem;font-weight:800;line-height:1;cursor:pointer}.tier-color-picker button:hover{border-color:#9daf96;background:#f4f8ee}.tier-color-picker button.is-active{border-color:#315b34;background:#eaf2df;box-shadow:inset 0 0 0 1px #315b34;color:#173c22}.tier-color-picker button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.tier-color-picker i{display:inline-block;flex:0 0 auto;width:14px;height:8px;border-radius:99px;background:#f7c45a;box-shadow:0 0 5px rgba(247,196,90,.65)}.tier-color-picker i.red-white{background:linear-gradient(90deg,#d92727 0 35%,#fff5d5 35% 65%,#d92727 65%);box-shadow:0 0 5px rgba(217,39,39,.5)}.tier-color-picker i.multicolor{background:linear-gradient(90deg,#d92727 0 24%,#2a9e53 24% 48%,#2770c9 48% 72%,#fff2c5 72%);box-shadow:0 0 5px rgba(42,112,201,.5)}
@media(prefers-reduced-motion:reduce){.tier-color-track{transition:none}}
.is-out-of-service-area [data-address-help]{color:#9f2e28;font-weight:800}
.seasonal-swap-note{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;margin:14px 0 0;padding:14px 16px;border:1px solid #d7e5bc;border-radius:13px;background:#f8fbef;color:var(--muted)}.seasonal-swap-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#e3efcc;color:#4d7022;font-size:1.15rem;font-weight:900}.seasonal-swap-note strong{display:block;color:var(--pine);font-size:.86rem}.seasonal-swap-note p{margin:2px 0 0;font-size:.78rem;line-height:1.45}.seasonal-swap-note b{color:#45691e}
