:root{color-scheme:dark;--ink:#eee9df;--muted:#b4aea3;--line:#ffffff17}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;background:#20211f;color:var(--ink);font:14px/1.6 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:1px solid #d6b98d;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}.skip-link{position:fixed;top:-80px;left:20px;padding:12px;background:#20211f;z-index:50}.skip-link:focus{top:10px}
.site-header{background:#191b19c7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid #ffffff09;padding-top:10px;padding-bottom:10px}.commerce-main{max-width:1440px;margin:0 auto;padding:118px 5% 70px;min-height:calc(100dvh - 100px);animation:page-in .3s ease}.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:11px;letter-spacing:.03em;margin-bottom:34px}.breadcrumbs>*{max-width:100%;overflow-wrap:anywhere}.breadcrumbs [aria-current]{color:var(--ink)}.breadcrumbs span[aria-hidden]{opacity:.4}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:2.8px;color:#c5b497;margin:0 0 16px}.page-intro{margin-bottom:34px;max-width:650px}.page-intro h1{font-weight:400;font-size:clamp(46px,6vw,78px);line-height:1.08;letter-spacing:-2px;margin:0 0 18px}.page-intro .lead{font-size:20px;font-weight:400;margin:0 0 12px}.page-intro p{color:var(--muted);font-size:13px;margin:0;max-width:500px}.occasion-feature{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:310px;align-items:center;border-top:1px solid #e0c8a12b;border-bottom:1px solid #e0c8a12b;background:linear-gradient(90deg,#1d201ce6,#1c201bc9 50%,#111a1233),url('/shop/christmas-ambient.webp') 50% 54%/cover;margin:40px 0 50px;padding:44px 5%;overflow:hidden}.occasion-feature h2{font-size:44px;font-weight:400;margin:0 0 12px;letter-spacing:-1px}.occasion-feature p{color:#d1c7b7;font-size:16px;margin:0 0 18px}.feature-arrow{justify-self:end;font-size:35px;color:#d4c0a3;font-weight:300}.text-link{display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #ba9d714d;padding:10px 0;font-size:12px}.occasion-group{margin-bottom:38px}.occasion-group h2{font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:2px;color:#a89b87;margin:0 0 16px}.occasions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.occasion-link{display:flex;justify-content:space-between;gap:12px;padding:21px 0;border-bottom:1px solid var(--line);align-items:center}.occasion-link strong{font-weight:400;font-size:16px;line-height:1.4}.occasion-link small{display:block;font-size:10px;color:#99958c;margin-top:6px}.occasion-link .arrow{color:#a79c89;transition:transform .2s}.occasion-link:hover .arrow{transform:translateX(4px)}.shop-footer{position:relative;border-top:1px solid #ffffff13;display:flex;justify-content:space-between;gap:22px;max-width:1300px;margin:auto;padding:28px 4% calc(30px + env(safe-area-inset-bottom));font-size:10px;color:#aaa69c}.shop-footer p{margin:0}
.collection-background{position:fixed;inset:0;z-index:-2;background:#1d211c url('/shop/christmas-ambient.webp') 50% 50%/cover;transform:scale(1.03);filter:blur(7px);pointer-events:none}.collection-background::after{position:absolute;content:'';inset:0;background:linear-gradient(#171b16c2,#181c18a1 50%,#171a17d6)}.collection-page{background:transparent}.collection-page .page-intro{margin-bottom:52px}.collection-page .page-intro h1{font-size:68px}.collection-page .shop-footer{background:#1b1f1a7d}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:50px 38px}.product-tile{display:block;text-align:center;min-width:0}.product-tile .cutout{width:100%;height:245px;object-fit:contain;display:block;filter:drop-shadow(0 15px 15px #0003);transition:transform .35s ease}.product-tile h2{font-weight:400;font-size:14px;line-height:1.5;overflow-wrap:anywhere;margin:18px 0 0}.product-tile:hover .cutout{transform:translateY(-3px) scale(1.025)}.product-tile .original-photo{border-radius:2px;filter:none}.preview-banner{margin:0 0 28px;padding:12px 0;border-top:1px solid #ddc39736;border-bottom:1px solid #ddc39736;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:11px;color:#cdbda3}.preview-banner strong{font-weight:400;text-transform:uppercase;font-size:9px;letter-spacing:1.5px}.empty-collection{padding:70px 0 110px;max-width:520px}.empty-collection .empty-line{width:38px;height:1px;background:#b59c755d;margin-bottom:24px}.empty-collection h2{font-size:30px;font-weight:400;line-height:1.3;margin:0 0 14px}.empty-collection p{font-size:13px;color:var(--muted);max-width:400px;margin:0 0 26px}.collection-load-more{display:block;margin:38px auto 0;min-height:44px;border-bottom:1px solid #b99b6c6b;font-size:12px}.collection-message{padding:40px 0;color:var(--muted)}
.product-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:64px;align-items:start}.product-gallery{min-width:0}.main-photo{position:relative;aspect-ratio:1/1.03;background:#ffffff03;display:grid;place-items:center;width:100%;padding:20px;overflow:hidden;touch-action:pan-y}.main-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.main-photo span.zoom{position:absolute;right:15px;bottom:15px;font-size:10px;padding:7px 12px;border:1px solid #ffffff1c;border-radius:18px;background:#20211f9c;backdrop-filter:blur(8px)}.gallery-thumbs{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}.gallery-thumbs button{width:62px;height:70px;padding:3px;border:1px solid #ffffff17}.gallery-thumbs button[aria-pressed=true]{border-color:#bea682}.gallery-thumbs img{width:100%;height:100%;object-fit:contain}.product-info{padding-top:10px;min-width:0}.product-info h1{font-weight:400;font-size:40px;line-height:1.2;letter-spacing:-1px;margin:0 0 18px;overflow-wrap:anywhere;hyphens:auto}.price{font-size:24px;margin:0 0 22px}.short-description{color:var(--muted);font-size:13px;margin:0 0 28px;line-height:1.8}.product-options{border-top:1px solid var(--line);padding-top:24px}.variant-group{border:0;margin:0 0 24px;padding:0;min-width:0}.variant-group legend{font-size:11px;margin-bottom:10px}.variant-options{display:flex;flex-wrap:wrap;gap:9px}.variant-option{border:1px solid #ffffff26;border-radius:3px;min-width:44px;min-height:44px;padding:10px 14px;font-size:12px}.variant-option[aria-pressed=true]{border-color:#d1b588;background:#d2ba8d0b}.variant-option:disabled{opacity:.35;cursor:not-allowed}.personal-field{display:block;font-size:11px;margin:0 0 22px}.personal-field input,.personal-field select{display:block;width:100%;max-width:100%;background:#ffffff03;border:1px solid #ffffff25;padding:12px;margin-top:8px;border-radius:3px}.personal-field select option{background:#252722}.quantity-row{display:flex;align-items:center;gap:20px;margin:24px 0 18px;font-size:12px}.quantity-control{display:flex;border:1px solid #ffffff26;border-radius:3px}.quantity-control button{width:40px;height:44px}.quantity-control input{width:42px;border:0;background:none;text-align:center;appearance:textfield;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button{appearance:none}.add-button{width:100%;min-height:52px;border:1px solid #d8c7ad;border-radius:3px;background:#ded3bd;color:#252821;font-size:12px;letter-spacing:.04em}.add-button:disabled{background:#ffffff05;color:#99968e;border-color:#ffffff20;cursor:not-allowed}.product-message{font-size:12px;color:#d0b68d;line-height:1.7;margin:0 0 20px}.production-note{font-size:11px;color:var(--muted);line-height:1.8;margin:17px 0 24px}.product-details{border-top:1px solid var(--line)}.product-details details{border-bottom:1px solid var(--line)}.product-details summary{padding:16px 0;list-style:none;display:flex;justify-content:space-between;font-size:12px;cursor:pointer}.product-details summary::after{content:'+';color:#a99b87}.product-details details[open] summary::after{content:'−'}.product-details p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 20px}.shop-lightbox,.search-dialog{border:1px solid #ffffff22;border-radius:12px;background:#232620ed;color:var(--ink);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px}.shop-lightbox::backdrop,.search-dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}.lightbox-close{display:block;margin:0 0 0 auto;width:44px;height:44px;font-size:24px}.shop-lightbox img{display:block;max-width:100%;height:65dvh;object-fit:contain;margin:auto}.lightbox-controls{display:flex;justify-content:center;gap:20px}.lightbox-controls button{min-height:44px;padding:10px 20px;font-size:12px}.search-dialog{width:min(480px,calc(100vw - 24px));padding:25px}.search-dialog h2{font-weight:400;font-size:22px}.search-dialog input{width:100%;padding:12px;border:1px solid #ffffff20;background:#ffffff05}.search-dialog a{display:block;padding:15px 0;border-bottom:1px solid #ffffff15}.search-dialog p{font-size:12px;color:var(--muted)}
@keyframes page-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 25px}.product-layout{gap:32px}.product-info h1{font-size:33px}.header-links{gap:22px}.header-links a{font-size:10px}.occasions-grid{gap:0 22px}.occasion-link strong{font-size:14px}}
@media(max-width:720px){.site-header{grid-template-columns:1fr auto;gap:8px;padding:8px 5%}.header-links{display:none}.header-brand{width:52px;height:44px}.header-brand svg{width:43px;top:9px;left:0}.header-actions{gap:0}.header-icon{width:44px;height:44px;padding:11px}.header-icon svg{width:21px;height:21px}.commerce-main{padding:88px 6% 45px}.breadcrumbs{font-size:10px;gap:8px;margin-bottom:30px}.page-intro{margin-bottom:25px}.page-intro h1{font-size:52px;letter-spacing:-1.6px}.page-intro .lead{font-size:17px;line-height:1.5;max-width:280px}.page-intro p{font-size:12px}.eyebrow{font-size:9px;letter-spacing:2.1px}.occasion-feature{min-height:260px;padding:28px 24px;grid-template-columns:1fr auto;margin:30px 0 38px;background-position:61% 50%}.occasion-feature h2{font-size:35px}.occasion-feature p{font-size:14px;max-width:220px}.text-link{font-size:11px}.feature-arrow{font-size:26px}.occasions-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.occasion-link{padding:18px 0}.occasion-link strong{font-size:13px}.occasion-link small{font-size:9px}.occasion-group h2{font-size:9px;letter-spacing:1.8px}.collection-page .page-intro h1{font-size:54px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 22px}.product-tile .cutout{height:190px}.product-tile h2{font-size:12px;margin-top:10px}.collection-background{background-image:url('/shop/christmas-ambient-mobile.webp');background-position:90% 50%;filter:blur(5px)}.empty-collection{padding:45px 0 80px}.empty-collection h2{font-size:28px}.preview-banner{font-size:10px;gap:5px}.preview-banner strong{flex-basis:100%;font-size:8px}.product-layout{display:block}.product-info{padding-top:16px}.product-info h1{font-size:31px}.main-photo{aspect-ratio:1/1.02}.gallery-thumbs{margin-bottom:25px}.gallery-thumbs button{width:52px;height:58px}.short-description{font-size:12px}.shop-footer{padding:24px 6% calc(28px + env(safe-area-inset-bottom));flex-wrap:wrap;font-size:9px;gap:16px}.shop-footer a{flex-basis:100%}}
@media(max-width:350px){.occasions-grid{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.product-tile .cutout{height:250px}.header-icon{width:42px;padding:10px}.product-info h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

.occasion-feature:not([data-occasion="natal"]){background:linear-gradient(110deg,#222822,#1c211c)}

/* Product lifestyle photography keeps its full composition. */
.editorial-product .main-photo,.curated-product .main-photo{aspect-ratio:4/3;padding:0}
.editorial-product .quantity-row{display:none}
.editorial-product .short-description,.curated-product .short-description{white-space:normal}
/* Scoped launch configurator; no homepage or existing product layout changes. */
.crochet-bundle{margin:clamp(2rem,5vw,5rem) 0;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;color:#e7e4dc}.crochet-bundle summary{padding:1.5rem 0;cursor:pointer;font-size:1.25rem;list-style:none;display:flex;justify-content:space-between}.bundle-content{padding:0 0 2rem}.bundle-content p{line-height:1.6}.bundle-tiers{color:#cdbd9d}.bundle-height select{background:#ffffff06;color:inherit;border:1px solid #ffffff30;border-radius:4px;padding:.7rem;min-height:44px}.bundle-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}.bundle-figure{display:flex;flex-direction:column;gap:.8rem;min-width:0}.bundle-figure>img{width:100%;height:160px;object-fit:contain}.bundle-figure label{line-height:1.5}.bundle-height{display:flex;justify-content:space-between;gap:.6rem;align-items:center}.bundle-height select{max-width:65%}.bundle-height option{background:#222;color:#eee}.crochet-bundle input{accent-color:#cdbd9d;width:20px;height:20px;vertical-align:middle}.crochet-bundle :focus-visible{outline:2px solid #cdbd9d;outline-offset:4px}.bundle-tray{display:flex;gap:1.5rem;align-items:center;margin:2rem 0;border-top:1px solid #ffffff18;padding-top:1rem}.bundle-tray img{width:120px;height:90px;object-fit:contain}.bundle-tray p,.bundle-notice, .bundle-bottom figcaption{font-size:.85rem;color:#bdb9b1}.bundle-bottom{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.bundle-bottom figure{margin:0}.bundle-bottom img{width:100%;height:auto;border-radius:4px}.bundle-bottom figcaption{padding:.5rem 0;line-height:1.4}.bundle-summary dl>div{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0}.bundle-summary dd{margin:0;white-space:nowrap}.bundle-total{border-top:1px solid #ffffff25;padding-top:1rem;font-size:1.2rem}.bundle-notice{line-height:1.5}@media(max-width:650px){.bundle-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 1rem}.bundle-figure>img{height:130px}.bundle-bottom{grid-template-columns:1fr}.bundle-tray{gap:.7rem}.bundle-tray img{width:85px}.bundle-figure label{font-size:.85rem}}
.tree-tray{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ffffff24}.tree-tray label{display:flex;gap:.7rem;align-items:center;min-height:44px;cursor:pointer}.tree-tray input{width:20px;height:20px;accent-color:#cdbd9d}.tree-tray p,.tree-tray figcaption{font-size:.85rem;line-height:1.6;color:#bdb9b1}.tree-tray figure{margin:1rem 0}.tree-tray img{width:100%;height:auto;border-radius:4px}.tree-tray .tray-total{font-size:1.15rem;color:#eee}.tree-tray :focus-visible{outline:2px solid #cdbd9d;outline-offset:4px}
.tray-color{display:flex;flex-direction:column;align-items:stretch!important;gap:.5rem;margin-top:1rem;font-size:.9rem}.tray-color[hidden]{display:none}.tray-color input[type=text]{box-sizing:border-box;width:100%;height:auto;min-height:44px;padding:.7rem;background:#ffffff06;border:1px solid #ffffff30;color:inherit;border-radius:4px;font:inherit}.tray-color input::placeholder{color:#a29e96}

/* Christmas houses configurator only; all existing Studio styles are untouched. */
.houses-selection{margin:1.3rem 0;padding:1.15rem 0;border-block:1px solid rgba(230,212,185,.16);font-size:.86rem;line-height:1.65}
.houses-selection p{margin:.5rem 0}.houses-selection .house-saving{color:#dcc49e}.house-tray{display:flex;align-items:center;gap:.65rem;min-height:44px;cursor:pointer}.house-tray input{width:18px;height:18px;accent-color:#c9aa79}.houses-selection .house-warning{opacity:.78;font-size:.8rem}.houses-selection .house-warning.does-not-fit{opacity:1;color:#e2cba9}.houses-selection .house-total{font-size:1rem}.houses-selection [hidden]{display:none!important}

/* Readable small print and comfortable tap areas on every device. */
.shop-footer{font-size:12px}.breadcrumbs{font-size:12px}
.shop-footer a,.breadcrumbs a{display:inline-block;padding:12px 4px;margin:-12px -4px}
