/* TLC Christmas Magic. Festive presents, real photos and room to play. */
:root{--navy:#042742;--ink:#19384a;--red:#a91e38;--wine:#690e29;--gold:#f7d078;--cream:#fff7e8;--pine:#123e36;--muted:#53636a;--width:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;color:var(--ink);background:var(--cream);font:400 16px/1.75 Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation}a{color:inherit;text-underline-offset:.24em}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}[hidden]{display:none!important}h2{font:800 clamp(30px,4vw,48px)/1.16 Montserrat,Arial,sans-serif;letter-spacing:-.045em;text-wrap:balance}h3{line-height:1.4;letter-spacing:-.025em}p+p{margin-top:16px}a:focus-visible,button:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #3276bb;outline-offset:5px}.hero :focus-visible,.wishlist :focus-visible,.dropoff :focus-visible,.footer :focus-visible{outline-color:var(--gold)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:10px;z-index:200;padding:10px 20px;background:white;color:var(--navy);transform:translateY(-160%)}.skip-link:focus{transform:none}.wrap{width:min(var(--width),calc(100% - 80px));margin-inline:auto}.section{padding-block:clamp(66px,8vw,110px)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;max-width:100%;padding:13px 22px;border:1px solid transparent;border-radius:4px;font-size:14px;line-height:1.5;font-weight:700;text-align:center;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s}.btn:hover{transform:translateY(-3px)}.btn-gold{color:#3d2030;background:var(--gold);box-shadow:0 4px 0 #b48038}.btn-gold:hover{background:#ffe29b;box-shadow:0 6px 0 #b48038}.btn-red{color:white;background:var(--red);box-shadow:0 4px 0 #76152a}.btn-red:hover{background:#bd2944}.btn-outline{background:white;color:var(--red);border-color:#bc7d88}.lead{font-size:21px;font-weight:600;line-height:1.55;letter-spacing:-.025em}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:700;color:var(--red)}
/* An opening that feels like Christmas. The photo has its own space on phones. */
.header{position:relative;z-index:30;background:#fffaf0;border-top:5px solid var(--red)}.header-inner{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px}.logo{flex:0 0 160px}.logo img{width:160px}.nav{display:flex;align-items:center;gap:24px}.nav>a{font-size:13px;font-weight:700;text-decoration:none}.nav>a:not(.btn){padding-block:14px}.nav>a:not(.btn):hover{color:var(--red);text-decoration:underline}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;overflow:clip;color:var(--cream);background:#7a142d;min-height:760px}.hero-photo{position:absolute;inset:0 auto 0 0;width:72%;z-index:-4}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:36% 47%}.hero-shade{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,transparent 20%,#71142a10 36%,#72152bda 56%,#72152b 69%),linear-gradient(0deg,#4c0c22b3,transparent 35%)}.hero-layout{display:flex;justify-content:flex-end;align-items:center;min-height:760px;padding-block:60px 90px;position:relative;z-index:3}.hero-copy{width:44%;max-width:490px}.hero-heading-art{width:min(100%,420px)}.hero-copy>p{max-width:38ch;font-size:17px;line-height:1.75;color:#fff5e8;margin-top:24px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:28px}.hero-link{font-size:14px;font-weight:600;min-height:44px;padding-block:10px}.magic-button{display:inline-flex;align-items:center;gap:10px;padding:7px 0;min-height:44px;margin-top:14px;color:#ffe2a0;background:none;border:0;border-bottom:1px solid #d7aa62;font-size:13px;font-weight:600}.magic-button>span:first-child{font-size:25px;line-height:1}.hero-edge{position:absolute;inset:auto 0 -1px;line-height:0;z-index:4}.hero-edge svg{width:100%;height:50px}.hanging-stars{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.hanging-stars>span{position:absolute;top:0;color:#ffdf92;font:50px/1 Georgia,serif;text-shadow:0 2px 10px #4d0a2280;transform-origin:top center}.hanging-stars>span::before{content:'';display:block;width:1px;height:72px;background:#f7d078b3;margin:0 auto 9px}.hanging-stars>span:nth-child(1){left:4%;font-size:38px}.hanging-stars>span:nth-child(2){left:49%;font-size:29px}.hanging-stars>span:nth-child(2)::before{height:40px}.hanging-stars>span:nth-child(3){right:4%;font-size:37px}.hanging-stars>span:nth-child(3)::before{height:90px}.hanging-stars>span:nth-child(4){left:44%;font-size:19px}.hanging-stars>span:nth-child(4)::before{height:24px}.snowfield{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.snowflake{position:absolute;left:var(--left);top:-25px;color:#fff7e8;opacity:var(--opacity);font-size:var(--size);line-height:1;animation:snowfall var(--duration) linear var(--delay) infinite;will-change:transform}.snow-paused .snowflake{animation-play-state:paused}.snow-paused .snowfield{opacity:.25}.collection-facts{background:var(--cream)}.facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding-block:28px 30px;border-bottom:1px solid #ddceba}.facts-grid>div+div{padding-left:28px;border-left:1px solid #ddceba}.facts-grid strong{font-size:14px;font-weight:800;display:block;line-height:1.5}.facts-grid span,.facts-grid a{font-size:12px;line-height:1.6;display:block;margin-top:5px}
/* Keepsakes, rather than another row of content cards. */
.intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}.intro-copy h2{color:var(--wine);margin-bottom:26px}.intro-copy>.text-link{margin-top:18px}.intro-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.intro-photos figure{padding:8px 8px 20px;background:white;box-shadow:0 8px 24px #53221b17;transform:rotate(-3deg)}.intro-photos figure+figure{margin-top:65px;transform:rotate(4deg)}.intro-photos figcaption{padding:15px 4px 0;font-size:12px;line-height:1.6;color:#6f2935;text-align:center;font-weight:500}.photo-open{display:block;transition:transform .25s;text-decoration:none}.photo-open:hover{transform:translateY(-4px)}.intro-photos .photo-open img{width:100%}
/* A workshop full of wrapped presents, with colour and ribbon that mean something. */
.wishlist{position:relative;isolation:isolate;color:var(--cream);background:#123e36;padding-top:100px;padding-bottom:100px;border-block:8px solid #1c5347}.wishlist::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.35;background-image:repeating-linear-gradient(45deg,transparent 0 26px,#ffffff08 26px 27px)}.section-heading{max-width:790px;text-align:center;margin-inline:auto}.section-heading h2{color:#ffe1a2}.section-heading p{max-width:700px;margin:22px auto 0;color:#eff1e1}.gift-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:32px}.filter{min-height:46px;padding:10px 20px;border:1px solid #a9b8a3;color:#f8f0dc;background:#ffffff09;border-radius:4px;font-size:14px;font-weight:600}.filter:hover{background:#2a5a4d}.filter.is-active{background:#ffe0a0;color:#3c2630;border-color:#ffe0a0;box-shadow:0 3px 0 #8e6838}.workshop-play{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:24px}.workshop-play .btn{font-size:13px;min-height:46px;padding:10px 17px}.workshop-play .btn>span{font-size:22px;line-height:1}.unwrap-all{min-height:44px;padding:8px 0;background:none;color:#fff5df;border:0;border-bottom:1px solid #aabd9e;font-size:13px}.gift-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px;margin-top:44px}.gift{--box:#ba324e;--box-deep:#85243f;--ribbon:#f8d78b;min-width:0;min-height:310px;position:relative;isolation:isolate;display:flex;background:#fff8e9;color:var(--ink);border-radius:5px;box-shadow:5px 7px 0 #082a2380}.gift:nth-child(6n+2){--box:#517f98;--box-deep:#31536e;--ribbon:#f7d282}.gift:nth-child(6n+3){--box:#e6bd67;--box-deep:#b38a41;--ribbon:#9c2440}.gift:nth-child(6n+4){--box:#789c83;--box-deep:#456d59;--ribbon:#f4deb0}.gift:nth-child(6n+5){--box:#d58ba4;--box-deep:#a65b78;--ribbon:#ffead0}.gift:nth-child(6n){--box:#b54843;--box-deep:#8a2a31;--ribbon:#f8d08e}.present-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;width:100%;border:0;border-radius:5px;background:var(--box);color:var(--ink);overflow:visible;padding:62px 18px 30px;box-shadow:inset -10px -8px 0 #0000000b;transition:transform .25s}.present-cover::before{content:'';position:absolute;inset:0;z-index:0;border-radius:5px;background:repeating-linear-gradient(135deg,transparent 0 14px,#ffffff0d 14px 17px)}.present-cover:hover{transform:rotate(-2deg) translateY(-4px)}.present-lid{position:absolute;top:0;left:-5px;right:-5px;height:38px;background:var(--box);box-shadow:inset 0 -8px 0 #00000012,0 4px 0 #0000000b;border-radius:4px;z-index:2}.present-ribbon{position:absolute;top:0;bottom:0;left:calc(50% - 13px);width:26px;background:var(--ribbon);box-shadow:inset -5px 0 #ffffff19;z-index:1}.present-lid::after{content:'';display:block;margin:auto;width:26px;height:100%;background:var(--ribbon)}.present-bow{position:absolute;width:90px;height:38px;top:-24px;left:calc(50% - 45px);z-index:3}.present-bow i{position:absolute;bottom:0;width:43px;height:36px;background:var(--ribbon);clip-path:polygon(0 0,75% 12%,100% 100%,18% 85%)}.present-bow i:first-child{left:2px;transform:rotate(-9deg)}.present-bow i:last-child{right:2px;transform:scaleX(-1) rotate(-9deg)}.present-tag{position:relative;z-index:3;display:block;max-width:100%;width:100%;padding:18px 9px;background:#fff9e9;color:#5e2034;font-size:18px;line-height:1.3;font-weight:700;letter-spacing:-.04em;transform:rotate(-6deg);box-shadow:2px 3px 0 #00000016}.unwrap-label{position:relative;z-index:3;background:var(--box-deep);color:white;font-size:12px;font-weight:600;line-height:1.5;padding:8px 12px;margin-top:28px;border-radius:3px}.present-spark{position:absolute;right:18px;bottom:18px;z-index:2;font-size:24px;color:var(--ribbon)}.gift-details{width:100%;display:flex;flex-direction:column;align-items:flex-start;padding:24px 20px 15px;min-height:310px}.gift-art{width:62px;height:62px;margin-bottom:14px}.gift-art img{width:62px;height:62px}.gift h3{font-size:18px;line-height:1.35;margin-bottom:10px}.gift p{font-size:14px;color:var(--muted);line-height:1.6;flex:1}.gift-select{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:46px;margin-top:22px;padding:10px 12px;color:var(--red);background:#fff2da;border:1px solid #bc7d88;border-radius:3px;font-size:13px;line-height:1.4;font-weight:700;text-align:left}.gift-select:hover{background:#ffe6b5}.select-symbol{font:22px/1 Arial,sans-serif}.gift.is-saved{box-shadow:inset 0 0 0 3px #e4c17b,5px 7px 0 #082a2380}.gift-select[aria-pressed="true"]{color:white;background:var(--red);border-color:var(--red)}.rewrap{align-self:center;min-height:38px;margin-top:8px;padding:6px 0;border:0;background:none;color:#6e6965;text-decoration:underline;text-underline-offset:.2em;font-size:11px}.gift.is-unwrapping .gift-details{animation:unwrap .45s ease both}.gift.is-surprise{outline:3px solid #ffe0a0;outline-offset:7px}.gift-count{margin-top:26px;color:#e8eddc;font-size:13px;text-align:center}.gift-guidance{margin:34px auto 0;max-width:900px;padding:15px 20px;border:1px solid #a2b69c;line-height:1.75;color:#f7f1df;font-size:13px}.sack-banner{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:center;margin-top:40px;padding:30px 38px;background:#fff6df;color:var(--ink);border-radius:6px;box-shadow:6px 7px 0 #092a2480}.sack-drawing{width:100%;max-width:230px;align-self:start}.sack-drawing svg{display:block;width:100%;height:auto}.sack-presents{opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}.has-gifts .sack-presents{opacity:1;transform:none}.sack-banner.is-packing .sack-drawing{animation:sack-bounce .4s ease}.sack-copy h3{font-size:25px;line-height:1.25;letter-spacing:-.04em;color:var(--wine)}.sack-copy p{font-size:14px;margin-top:12px;line-height:1.7}.list-intro p{color:var(--muted)}#selected-items{display:flex;flex-wrap:wrap;list-style:none;gap:8px;margin:20px 0;padding:0}#selected-items li{font-size:12px;line-height:1.5;font-weight:600;color:#6c2638;background:#f6e5c6;border:1px solid #d6bf97;padding:7px 11px;border-radius:3px}.list-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.list-actions .btn{font-size:12px;min-height:46px;padding:10px 15px}.clear-list{font-size:12px;color:#6e6165;min-height:44px;padding:8px;background:none;border:0;text-decoration:underline;text-underline-offset:.2em}#manual-copy{margin-top:20px}#manual-copy label{display:block;margin-bottom:8px;font-size:14px;font-weight:600}#copy-text{display:block;width:100%;padding:12px;border:1px solid #9ba9af;border-radius:3px;font-size:14px;line-height:1.6;resize:vertical}
/* A ribbon of simple steps, a festive envelope, then the people behind the giving. */
.steps h2{max-width:720px;color:var(--wine);margin-inline:auto;text-align:center}.steps-grid{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}.steps-grid li{position:relative;padding-top:15px}.step-number{display:block;color:#c39445;font-size:50px;line-height:1.1;font-weight:800;letter-spacing:-.08em;margin-bottom:15px}.steps h3{font-size:23px;margin-bottom:12px;color:var(--wine)}.steps p{font-size:15px;line-height:1.7;color:var(--muted)}.dropoff{position:relative;color:var(--cream);background:#8c1c36;border-top:7px solid #6f132d}.drop-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:90px;align-items:center}.drop-copy h2{max-width:420px;color:#ffe1a4}.drop-copy>p{max-width:42ch;margin-top:25px;color:#fff3e6}.address{margin-block:25px}.address h3{font-size:16px;margin-bottom:8px}address{font-style:normal}.hours-card{position:relative;padding:42px 38px;background:#fff7e6;color:var(--navy);transform:rotate(2deg);box-shadow:9px 12px 0 #5f122a66;border:9px solid #e7bf70}.hours-card::before,.hours-card::after{content:'';position:absolute;width:58px;height:17px;top:-14px;background:#f9d689cc;transform:rotate(-30deg)}.hours-card::before{left:-25px}.hours-card::after{right:-25px;transform:rotate(30deg)}.hours-card h3{font-size:17px}.collection-date{margin:16px 0 22px}.collection-date strong{display:block;font-size:clamp(64px,7vw,90px);letter-spacing:-.08em;line-height:1.1}.collection-date span{display:block;font-size:20px;font-weight:600;margin-top:8px}.hours{font-size:14px;margin:0}.hours>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 15px;border-top:1px solid #d5c5ac;padding-block:14px}.hours dt{font-weight:600}.hours dd{margin:0;white-space:nowrap}.hours-note{font-size:13px;color:var(--muted);margin-top:7px}.collection-help{border-top:1px solid #d099a4;margin-top:45px;padding-top:24px;font-size:14px;color:#fff2df}.collection-help a{font-weight:700;white-space:nowrap}.workplace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}.work-photo{padding:10px 10px 30px;background:white;transform:rotate(-3deg);box-shadow:0 9px 22px #53221b17}.work-copy h2{color:var(--wine);margin-bottom:26px}.work-copy .btn{margin-top:26px}.memories{padding-top:0}.memories-heading{max-width:780px;margin:0 auto 40px;text-align:center}.memories-heading h2{color:var(--wine)}.memories-heading p{margin-top:20px;color:var(--muted)}.memories-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;align-items:start;padding-inline:5px}.memories-grid figure{background:white;padding:8px 8px 20px;box-shadow:0 8px 24px #53221b17;transform:rotate(-3deg)}.memories-grid figure:nth-child(even){transform:rotate(3deg);margin-top:30px}.memories-grid img{width:100%}.memories-grid figcaption{font-size:13px;color:#752d3e;line-height:1.5;text-align:center;padding:16px 4px 0;font-weight:500}.faq{background:#f6ecd8;border-top:1px solid #e5d8c3}.faq-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:70px}.faq h2{color:var(--wine)}.faq-layout>div>p{font-size:14px;margin-top:25px}.faq-list{border-top:1px solid #bcaaa0}.faq details{border-bottom:1px solid #cfc0b2}.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:68px;padding-block:21px;list-style:none;cursor:pointer;font-size:15px;font-weight:600;line-height:1.6}.faq summary::-webkit-details-marker{display:none}.faq-symbol{flex:0 0 20px;font:25px/1 Arial,sans-serif;color:var(--red)}.faq details[open] .faq-symbol{transform:rotate(45deg)}.faq-answer{padding:0 35px 24px 0;color:var(--muted);font-size:14px}.faq-answer a{color:var(--red);overflow-wrap:anywhere}.finale{color:var(--cream);background:#123e36;padding-block:70px;border-top:7px solid #c59b54}.finale-inner{display:flex;align-items:center;justify-content:space-between;gap:55px}.finale h2{max-width:650px;color:#ffe0a0}.finale p{margin-top:20px;max-width:48ch}.finale .btn{flex-shrink:0}.footer{padding-block:40px 24px;color:#e2e5df;background:#082a28;font-size:13px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-logo img{width:150px}.footer nav{display:flex;flex-wrap:wrap;gap:8px 24px}.footer nav a{display:inline-block;padding-block:10px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;padding-top:22px;margin-top:27px;border-top:1px solid #49605a}.footer-bottom small{font-size:11px}.footer-bottom a{padding-block:8px}.mobile-bar{display:none}.toast{position:fixed;z-index:100;right:24px;bottom:24px;max-width:min(400px,calc(100% - 48px));padding:14px 20px;border:1px solid #d6bf97;border-radius:4px;background:#fff6df;color:#5e2034;box-shadow:3px 5px 0 #5f213333;font-size:14px;opacity:0;pointer-events:none;transition:opacity .16s}.toast.show{opacity:1}.magic-particle{position:fixed;z-index:90;pointer-events:none;line-height:1;font-size:22px;color:#f3c45f;animation:magic-burst 1.3s ease-out forwards}.photo-dialog{width:min(1000px,calc(100% - 40px));max-height:calc(100dvh - 40px);overflow:auto;padding:18px;background:#fff7e6;color:var(--wine);border:0;border-radius:5px;box-shadow:0 10px 55px #0006}.photo-dialog::backdrop{background:#071e1bea}.photo-dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px;font-size:13px;font-weight:600}.photo-dialog button{min-height:44px;padding:8px 12px;background:transparent;border:1px solid #c0a896;color:var(--wine);border-radius:3px;font-size:13px;font-weight:600}.photo-dialog #close-photo{border:0;padding-right:0}.photo-dialog #close-photo span{font-size:23px;margin-left:9px}.photo-dialog #photo-large{max-height:calc(100dvh - 220px);width:auto;max-width:100%;margin:auto;object-fit:contain}.photo-dialog #photo-caption{text-align:center;font-size:14px;margin:14px auto;max-width:65ch}.photo-dialog-controls{display:flex;justify-content:center;gap:14px}.has-lightbox{overflow:hidden}
@keyframes snowfall{from{transform:translate3d(0,-30px,0) rotate(0)}to{transform:translate3d(var(--drift),840px,0) rotate(140deg)}}
@keyframes unwrap{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@keyframes sack-bounce{50%{transform:translateY(-9px) rotate(-3deg)}}
@keyframes magic-burst{0%{transform:translate(0,0) scale(.4);opacity:0}15%{opacity:1}100%{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}
@media(min-width:1500px){.hero-photo{width:68%}.hero-copy{width:43%}.hero-shade{background:linear-gradient(90deg,transparent 30%,#71142a10 40%,#72152be6 56%,#72152b 65%)}}
@media(max-width:1100px){.nav{gap:18px}.nav-cta{display:none}.hero-copy{width:45%}.hero-heading-art{width:360px}.hero,.hero-layout{min-height:710px}.hero-photo{width:78%}.hero-shade{background:linear-gradient(90deg,transparent 10%,#71142a33 30%,#72152bdf 53%,#72152b 68%)}.hero-copy>p{font-size:16px}.intro-grid,.workplace-grid{gap:50px}.gift-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}.drop-grid{gap:55px}.steps-grid{gap:30px}.sack-banner{grid-template-columns:190px minmax(0,1fr);padding:25px;gap:25px}.memories-grid{gap:20px}.faq-layout{gap:45px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.header-inner{min-height:76px;flex-wrap:wrap;gap:0}.logo{flex-basis:145px}.logo img{width:145px}.nav{flex-basis:100%;flex-wrap:wrap;gap:4px 24px;padding-bottom:16px}.js .menu-toggle{display:flex;align-items:center;gap:12px;margin-left:auto;min-height:46px;padding:10px 0 10px 15px;border:0;background:none;color:var(--navy);font-size:14px;font-weight:600}.menu-icon{display:grid;gap:5px;width:21px}.menu-icon i{height:2px;background:currentColor}.js .nav{display:none}.js .nav.open{display:flex;flex-direction:column;align-items:stretch;padding:6px 0 20px;gap:0}.js .nav>a{padding:12px 0}.js .nav .nav-cta{display:flex;margin-top:9px;padding:13px 20px}.hero,.hero-layout{min-height:0}.hero-photo{position:relative;width:100%;max-height:510px;z-index:-4}.hero-photo img{height:auto;max-height:510px;object-fit:cover;object-position:50% 40%;width:100%}.hero-shade{background:linear-gradient(0deg,#72152b 0%,#72152b 42%,#72152b40 58%,transparent 73%)}.hero-layout{margin-top:-50px;padding-block:0 80px;justify-content:center}.hero-copy{width:100%;max-width:650px;text-align:center}.hero-heading-art{width:min(100%,400px);margin:auto}.hero-copy>p{margin:22px auto 0;max-width:48ch}.hero-actions{align-items:center;gap:12px}.magic-button{margin-top:12px}.hanging-stars>span:nth-child(2),.hanging-stars>span:nth-child(4){display:none}.hanging-stars>span::before{height:35px}.hanging-stars>span:nth-child(3)::before{height:60px}.snowflake{animation-name:snowfall-tall}.facts-grid{gap:18px}.facts-grid>div+div{padding-left:18px}.facts-grid strong{font-size:13px}.intro-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:35px}.intro-photos{gap:12px}.intro-photos figure{padding:6px 6px 15px}.intro-photos figure+figure{margin-top:45px}.intro-photos figcaption{font-size:11px}.lead{font-size:19px}.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 25px}.present-tag{max-width:230px;font-size:21px}.gift-details{padding:25px}.gift h3{font-size:20px}.gift-select{font-size:14px}.sack-banner{grid-template-columns:170px minmax(0,1fr);gap:20px}.sack-copy h3{font-size:23px}.steps-grid{gap:25px}.steps h3{font-size:20px}.drop-grid{gap:35px}.hours-card{padding:30px 25px}.workplace-grid{gap:40px}.memories-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.faq-layout{grid-template-columns:1fr;gap:32px}.faq h2{max-width:650px}.finale-inner{align-items:flex-start;flex-direction:column;gap:25px}.photo-dialog{width:calc(100% - 28px)}}
@media(max-width:650px){html{scroll-padding-top:18px}.wrap{width:calc(100% - 36px)}.section{padding-block:58px}h2{font-size:32px}.header-inner{min-height:70px}.logo,.logo img{width:135px}.logo{flex-basis:135px}.hero-photo,.hero-photo img{max-height:none}.hero-photo img{height:auto;object-fit:contain}.hero-layout{margin-top:0;padding:4px 0 68px}.hero-shade{background:linear-gradient(0deg,#72152b 0%,#72152b 62%,#72152b00 76%)}.hero-copy{text-align:left}.hero-heading-art{width:min(100%,310px);margin-left:0}.hero-copy>p{font-size:16px;max-width:39ch;margin:21px 0 0}.hero-copy>p br{display:none}.hero-actions{align-items:stretch;margin-top:24px;gap:12px}.hero-actions .btn{width:100%}.hero-link{text-align:center}.magic-button{margin-top:9px}.hero-edge svg{height:32px}.hanging-stars>span:nth-child(1){left:3%;font-size:29px}.hanging-stars>span:nth-child(3){right:3%;font-size:27px}.hanging-stars>span:nth-child(3)::before{height:32px}.facts-grid{grid-template-columns:1fr;gap:13px;padding-block:22px}.facts-grid>div+div{padding:13px 0 0;border-left:0;border-top:1px solid #ddceba}.facts-grid strong{font-size:14px}.facts-grid span,.facts-grid a{font-size:13px}.intro-grid{grid-template-columns:1fr;gap:38px}.intro-copy h2{margin-bottom:22px}.intro-photos{gap:18px;padding:0 5px}.intro-photos figure+figure{margin-top:30px}.intro-photos figcaption{font-size:11px}.wishlist{padding-block:62px;border-block-width:5px}.section-heading h2{font-size:33px}.section-heading p{font-size:15px;margin-top:20px}.gift-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:26px}.filter{font-size:13px;padding-inline:8px}.workshop-play{flex-direction:column;gap:12px;margin-top:22px}.workshop-play .btn{width:100%;min-height:48px;font-size:14px}.unwrap-all{font-size:13px}.gift-grid{gap:32px 17px;margin-top:43px}.gift,.gift-details{min-height:292px}.present-cover{padding:50px 12px 25px}.present-tag{font-size:17px;padding:18px 8px;max-width:100%}.unwrap-label{font-size:11px;padding:7px 8px;margin-top:25px}.present-bow{width:78px;left:calc(50% - 39px);height:32px;top:-22px}.present-bow i{width:37px;height:31px}.present-spark{font-size:20px;right:10px;bottom:12px}.gift-details{padding:21px 14px 12px}.gift-art,.gift-art img{width:49px;height:49px}.gift-art{margin-bottom:12px}.gift h3{font-size:16px}.gift p{font-size:13px;line-height:1.6}.gift-select{padding:10px 8px;font-size:12px;gap:5px;margin-top:18px;min-height:46px}.rewrap{font-size:10px}.select-symbol{font-size:19px}.gift-guidance{font-size:13px;padding:15px}.sack-banner{grid-template-columns:1fr;padding:23px 20px;gap:0;margin-top:28px}.sack-drawing{width:150px;margin:-8px auto 0}.sack-copy h3{font-size:24px;text-align:center}.sack-copy p{text-align:center}.sack-copy .list-intro p{font-size:14px}.list-actions .btn{flex:1 1 120px;font-size:12px}.clear-list{margin:auto}.steps-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.steps-grid li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:8px 18px;padding-top:0}.step-number{grid-row:1 / span 2;font-size:39px;margin:0}.steps h3{margin:0;padding-top:2px;font-size:21px}.steps p{grid-column:2;font-size:15px}.drop-grid{grid-template-columns:1fr;gap:42px}.drop-copy h2{max-width:100%}.drop-copy>p{margin-top:21px}.hours-card{margin-inline:8px;padding:28px 22px;border-width:7px}.collection-date strong{font-size:75px}.collection-date span{font-size:20px}.collection-help{padding-top:24px;margin-top:35px;font-size:13px}.workplace-grid{grid-template-columns:1fr;gap:35px}.work-photo{margin-inline:6px}.work-copy h2{margin-bottom:21px}.work-copy .btn{width:100%}.memories{padding-top:4px}.memories-heading{margin-bottom:30px}.memories-heading p{font-size:14px;margin-top:19px}.memories-grid{gap:26px 18px;padding-inline:4px}.memories-grid figure{padding:5px 5px 15px}.memories-grid figcaption{font-size:11px;padding:12px 2px 0}.faq-layout{gap:25px}.faq-layout>div>p{margin-top:20px}.faq summary{font-size:15px;gap:15px}.faq-answer{padding-right:10px}.finale{padding-block:52px}.finale .btn{width:100%}.finale p{font-size:15px}.footer{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.footer-main{flex-direction:column;align-items:flex-start;gap:16px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px;margin-top:20px}.mobile-bar{position:fixed;z-index:50;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:#fff7e8;border-top:1px solid #d1bf9d}.mobile-bar a{display:flex;justify-content:center;align-items:center;min-height:46px;border:1px solid var(--red);border-radius:3px;padding:8px;font-size:13px;line-height:1.5;font-weight:700;text-decoration:none;color:var(--red)}.mobile-bar a:first-child{background:var(--red);color:white}.toast{right:18px;bottom:calc(83px + env(safe-area-inset-bottom));max-width:calc(100% - 36px);font-size:13px}.photo-dialog{width:calc(100% - 18px);max-height:calc(100dvh - 18px);padding:12px}.photo-dialog-bar{gap:10px}.photo-dialog #photo-large{max-height:calc(100dvh - 215px)}.photo-dialog #photo-caption{font-size:12px}.photo-dialog button{font-size:12px}.photo-dialog-controls{gap:10px}}
@media(max-width:360px){.wrap{width:calc(100% - 28px)}h2,.section-heading h2{font-size:29px}.hero-heading-art{width:270px}.gift-grid{gap:30px 13px}.gift,.gift-details{min-height:305px}.present-tag{font-size:16px}.gift-details{padding-inline:12px}.gift-select{font-size:11px}.gift h3{font-size:15px}.gift p{font-size:12px}.unwrap-label{font-size:10px}.hours>div{display:block}.hours dd{margin-top:4px}.memories-grid figcaption{font-size:10px}}
@keyframes snowfall-tall{from{transform:translate3d(0,-30px,0) rotate(0)}to{transform:translate3d(var(--drift),1200px,0) rotate(140deg)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.snowfield,.magic-particle{display:none}.present-cover:hover,.photo-open:hover,.btn:hover{transform:none}}
/* Keep the tilted collection note completely inside narrow 320px screens. */
@media(max-width:360px){.hours-card{margin-inline:18px;transform:rotate(1deg)}}
@media print{body{background:white;color:black;font-size:11pt}.header,.hero,.intro,.steps,.workplace,.memories,.faq,.finale,.footer,.mobile-bar,.toast,.gift-filters,.workshop-play,.present-cover,.gift-select,.rewrap,.list-actions,#manual-copy,.snowfield,.sack-drawing{display:none!important}.wrap{width:100%}.section{padding-block:20px}.wishlist{background:white;color:black;border:0}.section-heading h2,.section-heading p,.gift-guidance,.gift-count{color:black}.gift-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gift{box-shadow:none;border:1px solid #ccc;break-inside:avoid;min-height:0}.gift-details[hidden]{display:flex!important;min-height:0}.gift-details{min-height:0}.gift-art{display:none}.sack-banner{display:block;box-shadow:none;border:1px solid #ccc;padding:20px}.dropoff{background:white;color:black;border:0}.drop-copy h2,.drop-copy>p,.collection-help{color:black}.hours-card{transform:none;box-shadow:none;border:1px solid #ccc}.drop-copy .btn{display:none}.drop-grid{gap:25px}}

/* v3.6 seamless, two-copy Christmas ribbon. Each unit has identical width. */
.magic-ticker{overflow:hidden;overflow:clip;background:#fff0cd;color:#922039;border-top:2px solid #e4b965;border-bottom:2px solid #e4b965;padding:15px 0;max-width:100%;position:relative;}
.magic-ticker-track{display:flex;flex-wrap:nowrap;width:max-content;gap:0;animation:magic-ticker-loop 52s linear infinite;will-change:transform;}
.magic-ticker-unit{display:flex;align-items:center;justify-content:flex-start;gap:clamp(20px,3vw,46px);white-space:nowrap;flex:none;padding-right:clamp(20px,3vw,46px);font:800 clamp(13px,1.3vw,17px)/1.55 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-transform:none;}
.magic-ticker-unit b{font-weight:500;color:#c99433;font-size:21px;line-height:1;}
@keyframes magic-ticker-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:650px){.magic-ticker{padding-block:12px}.magic-ticker-unit{font-size:13px;gap:22px;padding-right:22px}}
@media(prefers-reduced-motion:reduce){.magic-ticker-track{animation:none!important;will-change:auto}}


/* TLC CHRISTMAS RESPONSIVE LEGO HERO 20261020 */

/* Desktop: let Santa and the lion shine */
@media (min-width:1280px) {
  .hero, .hero-layout {
    min-height:650px;
  }
  .hero-photo {
    width:61%;
    height:100%;
  }
  .hero-photo img {
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:54% 50%;
  }
  .hero-shade {
    background:
      linear-gradient(90deg,
        transparent 0%,
        transparent 47%,
        rgba(114,21,43,.34) 55%,
        #72152b 61%),
      linear-gradient(0deg,
        rgba(53,8,23,.2),
        transparent 40%);
  }
  .hero-layout {
    padding-block:62px 90px;
  }
  .hero-copy {
    width:34%;
    max-width:420px;
  }
  .hero-heading-art {
    width:min(100%,345px);
  }
  .hero-copy > p {
    margin-top:18px;
    line-height:1.65;
  }
  .hero-actions {
    margin-top:22px;
    gap:10px;
  }
}

/* Tablet: full-width photo and separate message */
@media (min-width:651px) and (max-width:1279px) {
  .hero, .hero-layout {
    min-height:0;
  }
  .hero-photo {
    position:relative;
    width:100%;
    height:clamp(340px,46vw,500px);
    max-height:none;
  }
  .hero-photo img {
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
    object-position:50% 20%;
  }
  .hero-shade {
    background:linear-gradient(180deg,
      transparent 0%,
      transparent 35%,
      rgba(114,21,43,.16) 46%,
      #72152b 59%,
      #72152b 100%);
  }
  .hero-layout {
    margin-top:-14px;
    padding-block:0 54px;
    justify-content:center;
  }
  .hero-copy {
    width:100%;
    max-width:760px;
    text-align:center;
  }
  .hero-heading-art {
    width:min(100%,295px);
    margin-inline:auto;
  }
  .hero-copy > p {
    max-width:55ch;
    margin:10px auto 0;
    font-size:16px;
    line-height:1.55;
  }
  .hero-actions {
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:20px;
    margin-top:18px;
  }
  .magic-button {
    margin-top:4px;
  }
}

/* Mobile: beautiful image, compact Christmas message */
@media (max-width:650px) {
  .hero, .hero-layout {
    min-height:0;
  }
  .hero-photo {
    position:relative;
    width:100%;
    height:auto;
    max-height:none;
  }
  .hero-photo img {
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
  .hero-shade {
    background:linear-gradient(180deg,
      transparent 0%,
      transparent 28%,
      rgba(114,21,43,.7) 35%,
      #72152b 41%,
      #72152b 100%);
  }
  .hero-layout {
    margin-top:-4px;
    padding-block:0 30px;
  }
  .hero-copy {
    max-width:520px;
    text-align:center;
  }
  .hero-heading-art {
    width:min(65vw,275px);
    margin-inline:auto;
  }
  .hero-copy > p {
    max-width:36ch;
    margin:9px auto 0;
    font-size:15px;
    line-height:1.56;
  }
  .hero-copy > p br {
    display:initial;
  }
  .hero-actions {
    margin-top:17px;
    gap:8px;
  }
  .hero-actions .btn {
    min-height:48px;
  }
  .hero-link {
    min-height:34px;
    padding-block:7px;
  }
  .magic-button {
    margin-top:0;
    font-size:12px;
  }
  .hero-edge svg {
    height:24px;
  }
}
