:root{--red:#b3122e;--green:#0f5132;--gold:#f2c14e;--cream:#fffaf2}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#222;background:var(--cream);line-height:1.6}
.wrap{max-width:1050px;margin:0 auto;padding:0 20px}
.nav{background:var(--green);position:sticky;top:0;z-index:5}.nav .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:12px 20px}
.brand{color:#fff;font-weight:800;text-decoration:none;font-size:1.15rem}.nav nav a{color:#fff;margin-left:18px;text-decoration:none}
.hero{background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)),url(images/hero.jpg) center/cover no-repeat;text-shadow:0 2px 8px rgba(0,0,0,.6);color:#fff;text-align:center;padding:140px 0 130px}
.hero h1{font-size:clamp(2rem,5vw,3.2rem);margin:0 0 12px}.area{opacity:.9}
.cta{margin-top:24px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;background:var(--gold);color:#3a2500;padding:12px 22px;border-radius:30px;font-weight:700;text-decoration:none;border:0;cursor:pointer;font-size:1rem}
.btn.ghost{background:transparent;color:#fff;border:2px solid #fff}
h2{color:var(--red);text-align:center;font-size:2rem;margin:56px 0 24px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.card{background:#fff;border-top:5px solid var(--green);border-radius:12px;padding:18px;box-shadow:0 4px 14px rgba(0,0,0,.07)}.card h3{margin-top:0;color:var(--green)}
.band{background:#f1ebe0;padding:10px 0 40px;margin-top:56px}.steps{max-width:720px;margin:0 auto}.steps li{margin-bottom:10px}.note{text-align:center;color:#666}
form{max-width:560px;margin:0 auto 60px;background:#fff;padding:24px;border-radius:12px;box-shadow:0 4px 14px rgba(0,0,0,.08)}
label{display:block;font-weight:600;margin-bottom:12px}input,textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit;margin-top:4px}
.small{font-size:.9rem;color:#555}footer{background:var(--green);color:#fff;text-align:center;padding:24px 0}footer a{color:var(--gold)}
@media(max-width:560px){.nav nav a{margin:0 12px 0 0}}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.gallery a{display:block;overflow:hidden;border-radius:10px;aspect-ratio:4/3}.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery a:hover img{transform:scale(1.05)}
#lightbox{position:fixed;inset:0;background:rgba(0,0,0,.9);display:flex;align-items:center;justify-content:center;z-index:50;cursor:zoom-out}#lightbox[hidden]{display:none}
#lightbox img{max-width:94vw;max-height:90vh;border-radius:6px}#lightbox button{position:absolute;top:12px;right:18px;font-size:2.4rem;color:#fff;background:none;border:0;cursor:pointer}
.brand{display:inline-flex;align-items:center;background:#fff;border-radius:10px;padding:4px 10px;box-shadow:0 0 12px rgba(242,193,78,.5)}.brand img{height:46px;display:block}
.hero-logo{width:min(380px,80%);background:rgba(255,255,255,.93);border-radius:18px;padding:14px 22px;box-shadow:0 0 30px rgba(242,193,78,.55);margin-bottom:20px}
.foot-logo{height:80px;background:#fff;border-radius:12px;padding:6px 14px;margin-bottom:8px}

/* ===== Festive redesign ===== */
:root{--evergreen:#0b3d2a;--cranberry:#a3122a;--gold:#f5c04a;--navy:#0b1630;--cream:#fdf6e8}
body{font-family:'Nunito Sans',system-ui,sans-serif;background:var(--cream)}
h1,h2,.card h3{font-family:'Berkshire Swash',Georgia,serif;font-weight:400;letter-spacing:.5px}
h2{font-size:2.4rem;margin:0 0 28px;padding-top:8px}
.nav{background:linear-gradient(90deg,var(--evergreen),#12553a);box-shadow:0 2px 10px rgba(0,0,0,.4)}
.nav nav a{font-weight:700;transition:color .2s}.nav nav a:hover{color:var(--gold)}
/* C9 bulb string */
.bulbs{height:30px;position:relative;background:var(--navy);
 background-image:linear-gradient(#2c2c2c,#2c2c2c),radial-gradient(ellipse 7px 10px at 50% 60%,#ff3b4e 85%,transparent 100%),radial-gradient(ellipse 7px 10px at 50% 60%,#38e07b 85%,transparent 100%),radial-gradient(ellipse 7px 10px at 50% 60%,#ffd34d 85%,transparent 100%),radial-gradient(ellipse 7px 10px at 50% 60%,#4aa8ff 85%,transparent 100%),radial-gradient(ellipse 7px 10px at 50% 60%,#ff8a3d 85%,transparent 100%);
 background-size:100% 2px,150px 30px,150px 30px,150px 30px,150px 30px,150px 30px;background-position:0 6px,0 0,30px 0,60px 0,90px 0,120px 0;background-repeat:repeat-x;
 filter:drop-shadow(0 0 4px rgba(255,220,140,.7));animation:twinkle 2.4s ease-in-out infinite alternate}
@keyframes twinkle{from{filter:drop-shadow(0 0 3px rgba(255,220,140,.5)) brightness(.9)}to{filter:drop-shadow(0 0 9px rgba(255,220,140,.95)) brightness(1.15)}}
/* sections */
.sec{padding:60px 0 70px}.cream{background:var(--cream)}.cream h2{color:var(--cranberry)}
.night{background:radial-gradient(ellipse at top,#16264a,var(--navy) 70%);color:#eef2ff}.night h2{color:var(--gold);text-shadow:0 0 14px rgba(245,192,74,.5)}
#quotes{margin-top:0}.steps li::marker{color:var(--cranberry);font-weight:800}
/* hero snow */
.hero{position:relative;overflow:hidden}.hero .wrap{position:relative;z-index:2}
.hero h1{text-shadow:0 0 18px rgba(245,192,74,.55),0 2px 8px #000}
.snow{position:absolute;inset:-100% 0 0;z-index:1;pointer-events:none;
 background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(3px 3px at 120px 80px,#fff,transparent),radial-gradient(2px 2px at 200px 150px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 300px 40px,#fff,transparent),radial-gradient(3px 3px at 60px 200px,rgba(255,255,255,.9),transparent);
 background-size:340px 240px;animation:fall 14s linear infinite;opacity:.7}
.snow.s2{background-size:500px 360px;animation-duration:22s;opacity:.45}
@keyframes fall{to{transform:translateY(50%)}}
@media (prefers-reduced-motion:reduce){.snow,.bulbs{animation:none}}
/* glowing service cards */
.grid{gap:22px}.card{border:0;border-radius:16px;padding:22px;background:#fff;transition:transform .25s,box-shadow .25s}
.card:nth-child(5n+1){box-shadow:0 0 0 3px #e0364b,0 8px 26px rgba(224,54,75,.35)}
.card:nth-child(5n+2){box-shadow:0 0 0 3px #1f9e5a,0 8px 26px rgba(31,158,90,.35)}
.card:nth-child(5n+3){box-shadow:0 0 0 3px #e9a823,0 8px 26px rgba(233,168,35,.4)}
.card:nth-child(5n+4){box-shadow:0 0 0 3px #2f7fd6,0 8px 26px rgba(47,127,214,.35)}
.card:nth-child(5n){box-shadow:0 0 0 3px #a3122a,0 8px 26px rgba(163,18,42,.35)}
.card:hover{transform:translateY(-5px)}.card h3{color:var(--evergreen);font-size:1.3rem}
/* buttons */
.btn{background:linear-gradient(180deg,#ffd76a,var(--gold));color:#3a1d00;box-shadow:0 4px 14px rgba(245,192,74,.45);transition:box-shadow .2s,transform .2s}
.btn:hover{box-shadow:0 0 22px rgba(245,192,74,.95);transform:translateY(-2px)}
.btn.ghost{background:var(--cranberry);border:2px solid #ff6b7d;color:#fff;box-shadow:0 4px 14px rgba(163,18,42,.5)}
.btn.ghost:hover{box-shadow:0 0 22px rgba(255,80,100,.9)}
/* gallery & form on night */
.gallery a{box-shadow:0 0 0 2px rgba(245,192,74,.35)}.gallery a:hover{box-shadow:0 0 16px rgba(245,192,74,.8)}
.night form{color:#222;box-shadow:0 0 30px rgba(245,192,74,.25)}.night .small{color:#555}
footer{background:linear-gradient(180deg,var(--evergreen),#072a1d);padding:30px 0}
/* ===== Logo-red cohesive pass ===== */
:root{--logo-red:#D82735}
.brand,.hero-logo,.foot-logo{background:none!important;box-shadow:none!important;border-radius:0}
.brand{padding:2px 0}.brand img{height:54px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.hero-logo{padding:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.8)) drop-shadow(0 0 14px rgba(245,192,74,.35))}
.foot-logo{padding:0;height:90px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}
.bulbs{background-image:linear-gradient(#2c2c2c,#2c2c2c),radial-gradient(ellipse 7px 10px at 50% 60%,var(--logo-red) 85%,transparent 100%);
 background-size:100% 2px,30px 30px;background-position:0 6px,0 0;filter:drop-shadow(0 0 5px rgba(216,39,53,.85))}
@keyframes twinkle{from{filter:drop-shadow(0 0 3px rgba(216,39,53,.6)) brightness(.9)}to{filter:drop-shadow(0 0 10px rgba(255,90,100,.95)) brightness(1.2)}}
.card:nth-child(odd){box-shadow:0 0 0 3px var(--logo-red),0 8px 26px rgba(216,39,53,.3)}
.card:nth-child(even){box-shadow:0 0 0 3px var(--gold),0 8px 26px rgba(245,192,74,.4)}
.card h3{color:var(--logo-red)}.cream h2{color:var(--logo-red)}
.btn.ghost{background:var(--logo-red);border-color:#ff6b7d}
.hero-logo{filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 6px rgba(0,0,0,.95)) drop-shadow(0 0 16px rgba(0,0,0,.8))}
.brand img,.foot-logo{filter:drop-shadow(0 0 2px #000) drop-shadow(0 0 5px rgba(0,0,0,.8))}
.hero .wrap{isolation:isolate}
.hero-logo{position:relative}
.hero .wrap::before{content:"";position:absolute;left:50%;top:-30px;width:min(560px,95%);height:300px;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(0,0,0,.6) 0%,rgba(0,0,0,.35) 45%,transparent 72%);z-index:-1;pointer-events:none}
