/* One gingerbread house, three welcoming openings. */
.holiday-house-v15 .threshold-intro{max-width:860px;padding-top:55px}
.holiday-house-v15 .threshold-intro p{max-width:700px}
.gingerbread-entry{max-width:1180px;margin:0 auto 45px;padding:0 24px}
.gingerbread-scene{position:relative;overflow:hidden;background:#21362b;border:1px solid #a58e64;box-shadow:0 16px 40px #173b2e24}
.gingerbread-scene>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.ginger-portal{position:absolute;top:49%;width:18%;height:37%;border:0;perspective:600px;overflow:hidden;border-radius:30% 30% 0 0;outline-offset:4px;isolation:isolate}
.ginger-portal.house{left:20%}.ginger-portal.apparel{left:41%}.ginger-portal.nine{left:62%}
.ginger-portal::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,#ffc46a85,transparent 75%);opacity:0;transition:opacity .3s ease;z-index:1}
.ginger-portal:hover::before,.ginger-portal:focus-visible::before,.ginger-portal.opening::before{opacity:1}
.ginger-portal:focus-visible{outline:3px solid #f9e2ac}
.portal-leaf{position:absolute;inset:0;background-image:url('holiday/gingerbread-three-openings-v15.webp');background-size:555.56% 270.27%;transform-origin:left center;transition:transform .42s ease,opacity .42s ease;opacity:0;z-index:2}
.ginger-portal.house .portal-leaf{background-position:24.39% 77.78%}.ginger-portal.apparel .portal-leaf{background-position:50% 77.78%}.ginger-portal.nine .portal-leaf{background-position:75.61% 77.78%}
.ginger-portal.opening .portal-leaf{opacity:1;transform:rotateY(-72deg)}
.portal-name{position:absolute;left:4%;right:4%;bottom:3%;padding:8px 2px;background:#f0dfbcf2;color:#352d1e;text-align:center;font:400 clamp(10px,1.5vw,18px)/1.15 'EB Garamond',Georgia,serif;border:1px solid #9d8150;z-index:3;box-shadow:0 2px 5px #0005}
.gingerbread-caption{font:10px/1.6 Arial,sans-serif;letter-spacing:.1em;text-align:center;padding:15px 10px;color:#4e624e}
.gingerbread-room-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:12px}
.gingerbread-room-nav a{text-align:center;color:#193e32;padding:18px 10px;border-top:1px solid #a99b80}
.gingerbread-room-nav small{display:block;font:9px Arial,sans-serif;letter-spacing:.12em;margin:0 0 12px}
.gingerbread-room-nav strong{display:block;font:400 1.7rem/1.1 'EB Garamond',Georgia,serif}
.gingerbread-room-nav p{font-size:1rem;line-height:1.5;margin:12px 0 8px}
.gingerbread-room-nav span{font:10px Arial,sans-serif;letter-spacing:.06em;border-bottom:1px solid #9b855e;padding-bottom:4px}
.holiday-gather-welcome{padding:35px 25px 50px;background:#e4e4d4;max-width:960px;margin:0 auto 50px;text-align:center}
.holiday-gather-welcome h2{font:400 clamp(2.1rem,4vw,3.7rem)/1.08 'EB Garamond',Georgia,serif;margin:17px 0}
.holiday-gather-welcome p{max-width:720px;margin:20px auto;font-size:1.2rem;line-height:1.6}
.holiday-gather-welcome .holiday-words{font:10px/1.9 Arial,sans-serif;letter-spacing:.1em;color:#59705c}
.apparel-store-intro{padding-block:0 50px}
.apparel-store-layout{display:grid;grid-template-columns:1.4fr .6fr;gap:35px;align-items:center}
.apparel-store-layout figure{margin:0}.apparel-store-layout img{width:100%;display:block;height:auto}
.apparel-store-layout figcaption{font:11px/1.6 Arial,sans-serif;color:#657460;margin-top:12px}
.apparel-store-copy h2{font:400 clamp(2rem,3.4vw,3.2rem)/1.08 'EB Garamond',Georgia,serif;margin:18px 0}
.apparel-store-copy p{font-size:1.15rem;line-height:1.55}.apparel-store-copy nav{display:grid;gap:12px;margin:25px 0}.apparel-store-copy nav a{border-bottom:1px solid #b3a489;padding-bottom:9px}
.home-two-rooms .gingerbread-entry{padding:0}.home-two-rooms .gingerbread-room-nav p{font-size:1rem}
@media(max-width:650px){.gingerbread-entry{padding:0 12px}.gingerbread-room-nav{gap:12px}.gingerbread-room-nav strong{font-size:1.2rem}.gingerbread-room-nav p{font-size:.9rem}.gingerbread-room-nav small{font-size:7px}.portal-name{font-size:9px;padding:5px 1px}.gingerbread-caption{font-size:8px}.apparel-store-layout{grid-template-columns:1fr;gap:15px}.holiday-gather-welcome{margin-inline:16px;padding:25px 18px}.holiday-gather-welcome p{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){.ginger-portal::before,.portal-leaf{transition:none}.ginger-portal.opening .portal-leaf{transform:none}}

.apparel-display-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px}.apparel-display-panels img{aspect-ratio:1;object-fit:cover}.portal-name{opacity:0;transition:opacity .2s ease}.ginger-portal:hover .portal-name,.ginger-portal:focus-visible .portal-name,.ginger-portal.opening .portal-name{opacity:1}

.camp-knit-preview{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-block:35px 50px;border-top:1px solid #b4a58b;border-bottom:1px solid #b4a58b;margin-bottom:35px}.camp-knit-preview h2{font:400 clamp(2rem,3.8vw,3.4rem)/1.1 "EB Garamond",Georgia,serif;margin:20px 0}.camp-knit-preview h3{font:400 1.7rem/1.1 "EB Garamond",Georgia,serif;margin:18px 0}.camp-knit-preview p{font-size:1.15rem;line-height:1.6}@media(max-width:650px){.camp-knit-preview{grid-template-columns:1fr;gap:0}}

.gingerbread-brand{position:absolute;top:3%;left:50%;transform:translateX(-50%);z-index:4;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f2e9d9ee;border:1px solid #b7a17a;color:#173c2e;box-shadow:0 3px 12px #0002;pointer-events:none;white-space:nowrap}.gingerbread-brand img{width:48px;height:28px;object-fit:contain;mix-blend-mode:multiply}.gingerbread-brand small{display:block;font:9px Arial,sans-serif;letter-spacing:.14em}.gingerbread-brand strong{display:block;font:400 1.35rem/1.2 "EB Garamond",Georgia,serif;margin-top:4px}@media(max-width:650px){.gingerbread-brand{gap:7px;padding:6px 9px;top:2%}.gingerbread-brand img{width:31px;height:20px}.gingerbread-brand small{font-size:6px}.gingerbread-brand strong{font-size:.9rem}}

/* Presentation polish: the House arrives sooner and reads larger; center door target is generous. */
.holiday-house-v15 .threshold-intro{padding-top:34px;padding-bottom:18px}
.gingerbread-entry{max-width:1360px;margin-top:0}
.gingerbread-portal.apparel{left:38%;width:24%;top:46%;height:43%}
.home-two-rooms .gingerbread-entry{max-width:1360px;margin-top:0}
@media(max-width:650px){.holiday-house-v15 .threshold-intro{padding-top:34px;padding-bottom:16px}.gingerbread-entry{max-width:100%}.gingerbread-portal.apparel{left:37%;width:26%;top:44%;height:45%}}

.apparel-store-intro{width:min(1380px,94vw)}
.apparel-store-layout{grid-template-columns:minmax(0,1.85fr) minmax(280px,.58fr);gap:30px}
.apparel-display-panels{gap:16px}
.apparel-display-panels figure{position:relative;min-width:0;margin:0;overflow:hidden}
.apparel-display-panels img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .35s ease}
.apparel-display-panels figure:hover img,.apparel-display-panels figure:focus-visible img{transform:scale(1.035)}
.apparel-display-panels figure>figcaption{position:absolute;inset:auto 0 0;padding:15px 11px;background:linear-gradient(transparent,#132c24e8 32%);color:#fff8ec;text-align:center;font:9px/1.55 Arial,sans-serif;letter-spacing:.08em;opacity:0;transition:opacity .2s ease}
.apparel-display-panels figure:hover>figcaption,.apparel-display-panels figure:focus-visible>figcaption{opacity:1}
.apparel-display-panels figure:focus-visible{outline:3px solid #8c6e44;outline-offset:3px}
@media(max-width:650px){.apparel-store-intro{width:min(94vw,1380px)}.apparel-display-panels{gap:10px}.apparel-display-panels figure>figcaption{font-size:7px;opacity:1;padding:10px 5px}}
@media(prefers-reduced-motion:reduce){.apparel-display-panels img,.apparel-display-panels figure>figcaption{transition:none}}
