/* Jingle Bells Christmas Lighting: vintage kraft-paper style (palette & type modeled on tru-tone.com's design language) */
:root{--red:#e2422e;--red-d:#b8301f;--cream:#efeed6;--butter:#feeeba;--charcoal:#404041;--kraft:#bbad92;--kraft-l:#d3c8b0;--brown:#755a3d;
--olive:#77753a;--olive-l:#938e51;--sage:#b5b77a;--moss:#39460e;--pine:#212b0a;--mustard:#ecb826;
--paper:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:500 16px/1.8 Poppins,system-ui,sans-serif;letter-spacing:.6px;color:var(--charcoal);background:var(--kraft-l) var(--paper)}
img{max-width:100%;height:auto;display:block}
a{color:var(--red)}a:hover{color:var(--red-d)}
h1,h2,h3{font-family:'Nunito Sans',sans-serif;font-weight:900;letter-spacing:.6px;line-height:1.3;color:var(--charcoal)}
h1{font-size:clamp(1.9rem,4.2vw,2.6rem);text-transform:uppercase;margin:.15em 0}
h2{font-size:clamp(1.5rem,3vw,2rem);text-transform:uppercase;margin:0 0 .6em}
h3{font-size:1.15rem;text-transform:uppercase}
p,li{font-size:1rem}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.script{font-family:'Mr Dafoe',cursive}
/* announcement bar */
.topbar{background:var(--cream);color:var(--red);text-align:center;font-size:.9rem;padding:9px 16px}
.topbar a{color:var(--red);font-weight:600}
/* header: red, centered logo, centered uppercase nav */
header.site{background:var(--red);position:sticky;top:0;z-index:50;box-shadow:0 2px 0 rgba(0,0,0,.12)}
.hbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;max-width:1240px;margin:0 auto;padding:10px 24px 4px}
.hl{display:flex;align-items:center;gap:12px}.hcta{justify-self:end}
.brand{display:block;background:var(--cream);border-radius:999px;padding:4px 22px;box-shadow:0 3px 0 var(--red-d)}
.brand img{height:54px;width:auto}
.phone{color:var(--cream);font-weight:600;text-decoration:none;white-space:nowrap}.phone:hover{color:var(--butter)}
nav.main ul{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;margin:0;padding:6px 10px 10px}
nav.main a{font:500 .95rem Poppins,sans-serif;text-transform:uppercase;letter-spacing:.6px;color:rgba(239,238,214,.85);text-decoration:none;padding:6px 14px}
nav.main a:hover,nav.main a[aria-current]{color:var(--cream);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
.menu-t{display:none;background:none;border:0;color:var(--cream);font-size:1.6rem;cursor:pointer}
@media(max-width:900px){.menu-t{display:block}.hl .phone{display:none}nav.main{display:none}nav.main.open{display:block}nav.main ul{flex-direction:column;align-items:center}.brand img{height:42px}.brand{padding:3px 14px}}
/* buttons */
.btn{display:inline-block;background:var(--red);color:var(--cream)!important;text-decoration:none;font:600 1rem Poppins,sans-serif;text-transform:uppercase;letter-spacing:.8px;padding:13px 30px;border-radius:5px;border:0;white-space:nowrap;transition:background .15s,transform .15s}
.btn:hover{background:var(--red-d);transform:translateY(-1px)}
.btn.small{padding:9px 18px;font-size:.85rem;background:var(--cream);color:var(--red)!important}.btn.small:hover{background:var(--butter)}
.btn.cream{background:var(--cream);color:var(--red)!important}.btn.green{background:var(--moss)}
/* hero: kraft paper, centered stacked type, centerpiece art */
.hero{background:var(--kraft) var(--paper);text-align:center;padding:54px 0 30px}
.hero .tag{font:italic 400 clamp(1.4rem,3vw,2.1rem) Baskervville,Georgia,serif;color:var(--charcoal);margin:0}
.hero h1{max-width:820px;margin-left:auto;margin-right:auto;color:var(--charcoal)}
.hero .lead{max-width:680px;margin:10px auto 0;font-size:1.05rem}
.hero .ctas{display:flex;gap:18px;justify-content:center;align-items:center;flex-wrap:wrap;margin:24px 0 10px}
.hero .bigphone{font:900 1.35rem 'Nunito Sans',sans-serif;color:var(--red);text-decoration:none}
.sleigh{width:min(88%,520px);margin:18px auto 0;animation:fly 5s ease-in-out infinite alternate}
.page-hero .sleigh{width:min(70%,360px)}
@keyframes fly{to{transform:translate(-10px,6px) rotate(-1.5deg)}}
@media (prefers-reduced-motion:reduce){.sleigh{animation:none}}
.crumbs{font-size:.85rem;text-transform:uppercase}.crumbs a{color:var(--red)}
/* scalloped edge + full-bleed photo band */
.scallop{height:22px;background:radial-gradient(circle at 11px 0,var(--kraft) 11px,transparent 12px) repeat-x;background-size:22px 22px;margin-bottom:-22px;position:relative;z-index:2}
.photoband{height:clamp(240px,42vw,520px);overflow:hidden;background:var(--pine)}
.photoband img{width:100%;height:100%;object-fit:cover}
.c9{height:44px;background:var(--olive) url(/images/c9-string.svg) repeat-x;background-size:280px 44px}
/* feature strip (olive band) */
.trust{background:var(--olive) var(--paper);color:var(--cream)}
.trust ul{list-style:none;margin:0 auto;padding:18px 24px 22px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 0;max-width:1140px;text-align:center}
.trust li{padding:4px 22px;display:flex;align-items:center;justify-content:center;font:900 1rem 'Nunito Sans',sans-serif;text-transform:uppercase;letter-spacing:.8px;border-left:1px solid rgba(239,238,214,.3)}
.trust li:first-child{border:0}
@media(max-width:600px){.trust li{border:0;flex:1 1 100%}}
/* sections as full-bleed bands */
section.s{padding:72px 0;background:var(--kraft-l) var(--paper)}
section.alt{background:var(--cream) var(--paper)}
section.green{background:var(--moss) var(--paper);color:var(--cream)}
section.green h2,section.green h3{color:var(--butter)}section.green a{color:var(--mustard)}
.kicker{font:italic 400 1.5rem Baskervville,Georgia,serif;color:var(--red);margin:0 0 4px;letter-spacing:0}
section.green .kicker{color:var(--mustard)}
.grid{display:grid;gap:24px}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
/* cards: pill-ish rounded label cards in vintage tints */
.card{background:var(--butter);border-radius:22px;padding:26px;box-shadow:0 4px 0 rgba(64,64,65,.18)}
.g3 .card:nth-child(3n+2){background:#cfe3d6}.g3 .card:nth-child(3n){background:#f6c9bd}
.card h3{margin-top:0;color:var(--charcoal)}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.steps li{counter-increment:s;background:var(--cream);border-radius:22px;padding:22px 18px;text-align:center;box-shadow:0 4px 0 rgba(64,64,65,.15)}
.steps li:before{content:counter(s);display:grid;place-items:center;width:46px;height:46px;margin:0 auto 8px;border-radius:50%;background:var(--red);color:var(--cream);font:900 1.3rem 'Nunito Sans',sans-serif}
.steps strong{display:block;font:900 1rem 'Nunito Sans',sans-serif;text-transform:uppercase;color:var(--charcoal)}
.split{display:grid;gap:40px;grid-template-columns:1.1fr .9fr;align-items:center}@media(max-width:860px){.split{grid-template-columns:1fr}}
.photo{border-radius:6px;overflow:hidden;box-shadow:0 10px 24px rgba(33,43,10,.35)}
/* price badge: ribbon banner */
.price-box{background:var(--cream);border-radius:22px;padding:30px;text-align:center;position:relative}
.price-box .big{font:900 2.8rem 'Nunito Sans',sans-serif;color:var(--red);margin:.1em 0}
.areas{columns:2 200px;padding-left:1.2em}
details{background:var(--cream);border-radius:14px;margin:10px 0;padding:0 20px}
details summary{cursor:pointer;font:900 1rem 'Nunito Sans',sans-serif;text-transform:uppercase;padding:16px 0;list-style:none;color:var(--charcoal)}
details summary:after{content:"+";float:right;color:var(--red);font-size:1.3rem}details[open] summary:after{content:"–"}
/* CTA band: red, mustard uppercase, script accent with arrow */
.divider{height:22px;background:radial-gradient(circle at 11px 22px,var(--red) 11px,transparent 12px) repeat-x;background-size:22px 22px}
.cta-band{position:relative;overflow:hidden;background:var(--red) var(--paper);color:var(--cream);text-align:center;padding:50px 20px 60px}
.cta-band h2{color:var(--mustard);font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.6}
.cta-band .kicker{color:var(--cream)}
.cta-band .scriptcta{font:400 clamp(2.4rem,5vw,3.4rem) 'Mr Dafoe',cursive;color:var(--butter);margin:0;line-height:1.1}
.cta-band .scriptcta:before{content:"↓";display:block;font:400 1.6rem Poppins;color:var(--mustard)}
.cta-band .phone{color:var(--butter);font-weight:900;font-size:1.3rem}
.cta-band .elf{position:absolute;bottom:0;width:110px}.cta-band .elf.l{left:4%}.cta-band .elf.r{right:4%;transform:scaleX(-1)}
@media(max-width:860px){.cta-band .elf{width:64px}.cta-band .elf.l{left:-4px}.cta-band .elf.r{right:-4px}}
.mascots{display:flex;justify-content:center;align-items:flex-end;gap:20px;margin-bottom:6px}.mascots img{width:100px}
.prose{max-width:820px}.prose h2{margin-top:1.5em}
table.pt{width:100%;border-collapse:collapse;background:var(--cream);border-radius:14px;overflow:hidden}
.pt th,.pt td{padding:12px 14px;border-bottom:1px solid var(--kraft);text-align:left}.pt th{background:var(--moss);color:var(--cream);text-transform:uppercase;font-weight:600}
.gallery{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.gallery figure{margin:0}.gallery figcaption{font-size:.85rem;padding:6px 2px}
.note{font:italic 400 .95rem Baskervville,Georgia,serif;color:var(--brown)}
form.quote{display:grid;gap:14px}form.quote label{font-weight:600;text-transform:uppercase;font-size:.85rem;display:block}
form.quote input,form.quote textarea{width:100%;padding:12px;border:0;border-radius:5px;font:inherit;background:var(--cream)}
form.quote input:focus,form.quote textarea:focus{outline:3px solid var(--mustard)}
fieldset{border:1px solid var(--brown);border-radius:8px}fieldset label{display:inline!important;text-transform:none!important;font-weight:500!important;margin-right:14px}
/* footer: red logo strip + brown kraft link lists */
footer.site{background:var(--brown) var(--paper);color:rgba(239,238,214,.85);padding:56px 0 100px;font-size:.92rem;position:relative}
footer.site:before{content:"";position:absolute;top:0;left:0;right:0;height:10px;background:var(--red)}
footer.site a{color:var(--cream);text-decoration:none}footer.site a:hover{color:var(--mustard)}
footer.site h3{color:var(--cream);font-size:1rem}
footer.site ul{list-style:none;padding:0;margin:0}footer.site li{margin:6px 0;text-transform:uppercase;font-size:.85rem}
footer.site .script{font-family:'Mr Dafoe',cursive;font-size:1.8rem!important;color:var(--butter)!important}
footer.site .deer{position:absolute;right:4%;top:-88px;width:80px}
.fbrand{display:inline-block;background:var(--cream);border-radius:999px;padding:6px 18px}
.callbar{display:none}
@media(max-width:760px){.callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;box-shadow:0 -3px 10px rgba(0,0,0,.25)}
.callbar a{flex:1;text-align:center;padding:15px 8px;font:600 .95rem Poppins;text-transform:uppercase;text-decoration:none;color:var(--cream);background:var(--red)}
.callbar a+a{background:var(--moss)}section.s{padding:50px 0}}
.herolights{height:56px;max-width:760px;margin:26px auto 0;background:url(/images/c9-string.svg) repeat-x center;background-size:280px 56px;filter:drop-shadow(0 0 6px rgba(236,184,38,.55))}
.mascots img{width:110px}
.herolights{width:min(840px,100%);background-position:0 0;background-size:280px 56px}@media(max-width:600px){.herolights{width:280px}}
.btn.outline{background:transparent;color:var(--red)!important;box-shadow:inset 0 0 0 2px var(--red)}.btn.outline:hover{background:var(--red);color:var(--cream)!important}
.btn.outline-cream{background:transparent;color:var(--cream)!important;box-shadow:inset 0 0 0 2px var(--cream)}.btn.outline-cream:hover{background:var(--cream);color:var(--red)!important}
.bookframe{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 18px rgba(33,43,10,.2);margin:18px 0 8px}
.photoband img{object-position:center 40%}
