@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#25212a;--plum:#51274f;--paper:#faf9f7;--line:#ded9df;--muted:#68606a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 'DM Sans',sans-serif}a{color:inherit}button,select{font:inherit}button,a,select,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9a4593;outline-offset:4px}header{margin:0 5%;padding:26px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font:32px/1.1 'Libre Caslon Display',Georgia,serif;text-decoration:none;letter-spacing:-1px}.brand span{display:block;font:10px/2.5 'DM Sans',sans-serif;letter-spacing:2.7px}nav{display:flex;gap:32px}nav a{text-decoration:none;font-size:14px}.edition,.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600}.edition{color:var(--muted)}main{max-width:1600px;margin:auto}.intro{padding:38px 5% 34px;display:grid;grid-template-columns:1fr 1.45fr 1fr;align-items:center;gap:38px}.intro h1{font:64px/.99 'Libre Caslon Display',Georgia,serif;margin:0;letter-spacing:-1px}.intro em{color:var(--plum);font-weight:400}.intro>p:last-child{max-width:310px;color:var(--muted)}.shop{border-top:1px solid var(--line);display:grid;grid-template-columns:280px 1fr;margin:0 5%;gap:42px;padding:32px 0 60px}aside{border-right:1px solid var(--line);padding-right:30px}aside label{display:block;font-size:14px;margin:24px 0 9px}select{background:white;border:1px solid #b7afb8;border-radius:3px;color:var(--ink);padding:11px 10px;width:100%}aside h3{font:32px/1.1 'Libre Caslon Display',Georgia,serif;margin:28px 0 12px}#palette-info p{color:var(--muted);font-size:14px}.swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}.swatch{height:51px;border-radius:50%;width:51px;border:3px solid var(--paper);box-shadow:0 0 0 1px #c8c2c9;cursor:pointer;margin:auto}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.small{font-size:12px;color:var(--muted)}details{margin-top:28px;border-top:1px solid var(--line);padding-top:20px;font-size:14px}summary{cursor:pointer}.text-button{background:none;border:0;text-decoration:underline;font-size:14px;cursor:pointer;padding:8px 0}.results-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}h2{font:42px/1.1 'Libre Caslon Display',Georgia,serif;margin:8px 0 24px}.eyebrow{margin:0 0 12px}.edit-number{font-size:12px;color:var(--muted)}.filters{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}#categories{display:flex;gap:7px;flex-wrap:wrap}.category{padding:9px 15px;border:1px solid var(--line);background:transparent;border-radius:30px;cursor:pointer;font-size:14px}.category[aria-pressed=true]{background:var(--plum);color:white;border-color:var(--plum)}.retailer-label{font-size:13px;display:flex;align-items:center;gap:8px}.retailer-label select{width:auto;padding:7px}.notice{font-size:12px;color:var(--muted);max-width:730px;margin-top:20px}#count{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{min-width:0}.color-panel{height:170px;padding:18px;display:flex;align-items:end;justify-content:space-between;color:white;position:relative}.color-panel>span{background:#ffffffef;color:#25212a;padding:4px 9px;border-radius:20px;font-size:11px;letter-spacing:1px}.color-panel strong{font:44px/1 'Libre Caslon Display',Georgia,serif;text-shadow:0 1px 7px #0004}.card .kind{font-size:11px;letter-spacing:1.7px;color:var(--muted);margin:14px 0 3px}.card h3{font-size:17px;font-weight:500;margin:0 0 6px}.card p{font-size:13px;color:var(--muted);margin:0 0 13px}.card a{font-size:13px;font-weight:600;text-underline-offset:5px;display:inline-block;margin-bottom:12px}.approach{border-top:1px solid var(--line);margin:0 5%;padding:50px 0;display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:40px}.approach p{font-size:14px;color:var(--muted)}.approach h2{font-size:36px}.method h3{font-size:16px}.approach img{width:100%;height:290px;object-fit:cover}.credit{font-size:11px!important}footer{border-top:1px solid var(--line);margin:0 5%;padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:25px}footer p,footer a{font-size:13px} @media(min-width:1400px){.color-panel{height:220px}}@media(max-width:1000px){.edition{display:none}.intro{grid-template-columns:1fr 1fr}.intro>.eyebrow{display:none}.shop{grid-template-columns:220px 1fr;gap:24px}aside{padding-right:20px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.approach{grid-template-columns:1fr 1fr}.method{grid-column:1/-1}.edit-number{display:none}}@media(max-width:650px){header{padding:18px 0}.brand{font-size:26px}nav{gap:14px}nav a{font-size:12px}.brand span{font-size:8px}.intro{display:block;padding:28px 5%}.intro h1{font-size:50px}.intro>p:last-child{margin-bottom:0;max-width:100%}.shop{display:block;padding-top:22px}aside{border:0;padding:0 0 25px}aside label{margin:12px 0 8px}aside h3{margin:20px 0 7px}#palette-info p{margin:5px 0}.swatches{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:14px;margin:16px 0}.swatch{margin:0;width:42px;height:42px}details{margin-top:12px;padding-top:12px}.results{border-top:1px solid var(--line);padding-top:25px}h2{font-size:36px}.cards{gap:14px}.color-panel{height:140px;padding:12px}.color-panel strong{font-size:34px}.color-panel>span{font-size:9px}.approach{grid-template-columns:1fr;gap:20px}.approach img{height:250px}.method{grid-column:auto}footer{flex-wrap:wrap}footer p{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.picks{margin-bottom:32px}.pick-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.pick-heading h3,.search-heading{font-weight:500;font-size:20px;margin:10px 0}.pick-heading label{font-size:14px;display:flex;align-items:center;gap:8px}.pick-heading input{width:18px;height:18px;accent-color:var(--plum)}#pick-count{font-size:13px;color:var(--muted)}#product-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-pick{border:1px solid var(--line);border-top:3px solid var(--plum);background:white;padding:22px}.product-pick .kind{font-size:12px;letter-spacing:1px;color:var(--muted);margin:0 0 8px}.product-pick h3{font:29px/1.1 'Libre Caslon Display',Georgia,serif;margin:0 0 14px}.product-pick p{font-size:14px}.product-pick .small{font-size:12px;color:var(--muted)}.product-pick a{font-size:14px;font-weight:600;text-underline-offset:5px}.variant{display:flex;gap:9px;align-items:center}.variant span{width:18px;height:18px;border-radius:50%;flex-shrink:0;border:1px solid #0002}.suggested{color:var(--plum);font-weight:500}.empty-picks{grid-column:1/-1;border:1px dashed var(--line);padding:24px;color:var(--muted);font-size:14px}.search-heading{border-top:1px solid var(--line);padding-top:24px}@media(max-width:1000px){#product-picks{grid-template-columns:1fr}}
.research-date{font-size:12px!important;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.paid-label{font-size:12px;margin-left:12px;color:var(--muted)}.shopping-guide{margin:0 5%;padding:48px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:60px}.shopping-guide>div>p:last-child{max-width:350px;color:var(--muted)}.guide-steps details{margin:0;padding:18px 0}.guide-steps summary{font-size:16px;font-weight:500}.guide-steps p{font-size:15px;color:var(--muted);max-width:650px}@media(max-width:650px){.shopping-guide{grid-template-columns:1fr;gap:15px}.shopping-guide h2{margin-bottom:16px}header{flex-wrap:wrap}nav{gap:20px;flex-wrap:wrap}}
#product-picks{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-pick{padding:0 0 22px;border:0;background:transparent;display:flex;flex-direction:column;min-width:0}.product-pick .product-photo{display:flex;position:relative;align-items:center;justify-content:center;padding:22px 22px 46px;aspect-ratio:4/5;width:100%;margin-bottom:18px;text-decoration:none;overflow:hidden}.product-photo img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;box-shadow:0 7px 20px #0002}.product-photo img[hidden]{display:none}.photo-caption{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);background:#fff;color:var(--ink);padding:3px 9px;font-size:12px;font-weight:500;border-radius:20px}.photo-unavailable{background:#fff;padding:20px;color:var(--ink);font-size:14px}.product-pick h3{font-size:27px}.product-pick .kind{font-size:11px}.product-pick .product-buy{margin-top:auto;padding-top:12px}.product-pick .variant{margin:5px 0}.product-pick .suggested{font-size:13px}.picks{margin-top:24px}.product-pick>p{margin-top:6px;margin-bottom:8px}@media(max-width:1100px){#product-picks{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){#product-picks{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.product-pick .product-photo{padding:12px 12px 40px}.product-pick h3{font-size:24px}.photo-caption{font-size:11px}.product-pick>p{font-size:13px}}@media(max-width:380px){#product-picks{grid-template-columns:1fr}}
.swatch-tile{text-align:center;min-width:0}.swatch-name{display:block;font-size:12px;line-height:1.25;margin-top:7px;color:var(--muted);overflow-wrap:anywhere}.swatches{column-gap:12px;row-gap:18px}.palette-expand{display:block;width:100%;padding:10px;border:1px solid var(--plum);background:transparent;color:var(--plum);border-radius:3px;font-size:14px;cursor:pointer;margin-bottom:12px}@media(max-width:650px){.swatches{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 8px}.swatch{margin:auto}.swatch-name{font-size:12px}.swatch-tile .swatch{height:38px;width:38px}}@media(max-width:400px){.swatches{grid-template-columns:repeat(4,minmax(0,1fr))}}

.family-section{margin:0 5%;padding:48px 0;border-top:1px solid var(--line)}.family-heading{max-width:720px}.family-heading>p:last-child,.family-collections article>p:not(.eyebrow){color:var(--muted)}.family-collections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:28px 0}.family-collections article{padding:24px;background:#f0edf2;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}.family-collections article:nth-child(2){background:#edf0ed}.family-collections article:nth-child(3){background:#f6efe7}.family-collections article:nth-child(4){background:#e9f1f1}.family-collections h3{font:28px/1.15 "Libre Caslon Display",Georgia,serif;margin:4px 0 12px}.family-collections a{margin-top:auto;font-size:14px;text-underline-offset:4px}.family-coming{max-width:820px;padding:22px 26px;border-left:3px solid var(--plum);background:#fff}.family-coming h3{margin-top:0}.family-coming p:last-child{margin-bottom:0}nav{flex-wrap:wrap;gap:16px 24px}@media(max-width:1000px){.family-collections{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.family-collections{grid-template-columns:1fr}.family-section{padding:32px 0}}

.information-page{max-width:820px;margin:0 auto;padding:56px 24px 72px}.information-page h1{font:52px/1.1 "Libre Caslon Display",Georgia,serif;margin:12px 0 30px}.information-page h2{font-size:32px;margin:36px 0 16px}.information-page p{line-height:1.75}.information-page a{text-underline-offset:3px}header .brand{flex-shrink:0}footer{flex-wrap:wrap}.brand span{font-size:12px;letter-spacing:1.8px}@media(max-width:650px){.information-page{padding-top:32px}.information-page h1{font-size:40px}nav a{font-size:14px}}

/* Storefront: products first, with compact navigation and optional detail. */
:root{--paper:#fff;--ink:#25212a;--line:#e5e1e5;--plum:#51274f}
.shop-strip{background:var(--plum);color:white;text-align:center;padding:7px 20px;font-size:13px;letter-spacing:.6px}
header{margin:0;padding:22px 4%;gap:24px;max-width:none}.brand{font-size:34px}.brand span{font-size:12px;letter-spacing:1.3px;line-height:2}header nav{gap:24px}header nav a:hover,.guide-link:hover{color:var(--plum);text-decoration:underline;text-underline-offset:5px}
.department-nav{padding:0 4%;border-bottom:1px solid var(--line);justify-content:center;gap:40px;flex-wrap:nowrap}.department-nav a{padding:14px 4px;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent}.department-nav a[aria-current],.department-nav a:hover{border-color:var(--plum);color:var(--plum)}
.intro{margin:0 4%;padding:25px 0;display:flex;justify-content:space-between;gap:32px;border-bottom:1px solid var(--line)}.intro h1{font-size:43px;line-height:1.15}.intro h1 em{font-style:normal}.intro .eyebrow{margin-bottom:7px}.intro>p:last-child{max-width:470px;margin:0;font-size:15px}.shop{margin:0 4%;grid-template-columns:215px minmax(0,1fr);gap:32px;border:0;padding:28px 0 45px;scroll-margin-top:15px}.shop aside{padding-right:24px}.shop aside>label{margin:18px 0 7px;font-weight:600}.shop aside>.eyebrow{margin-bottom:20px}aside select{font-size:14px;padding:10px}aside h3{font-size:26px;margin:22px 0 8px}#palette-info p{font-size:14px}#palette-info p:last-child{display:none}.swatches{gap:14px 8px;margin:18px 0}.swatch{width:40px;height:40px}.swatch-name{font-size:12px}.small{font-size:13px}.filter-toggle{display:none}.results{min-width:0}.results-heading{align-items:center}.results-heading .eyebrow{display:none}.results-heading h2{font:34px/1.2 'Libre Caslon Display',Georgia,serif;margin:0 0 18px}.guide-link{font-size:14px;color:var(--muted);text-underline-offset:4px}.results>#collection-note:empty{display:none}.results>#collection-note{margin:0 0 16px}#categories{padding-bottom:18px;border-bottom:1px solid var(--line)}.category{border-radius:3px;padding:8px 15px}.picks{margin:16px 0 0}.pick-heading{justify-content:flex-end}.pick-heading h3{display:none}.notice{font-size:13px;margin:12px 0;max-width:none}#pick-count{margin:16px 0;font-size:14px;font-weight:500}#product-picks{gap:32px 20px;grid-template-columns:repeat(3,minmax(0,1fr))}.product-pick{padding-bottom:0}.product-pick .product-photo{padding:14px 14px 38px;margin-bottom:13px;aspect-ratio:4/5}.product-photo img{box-shadow:none;transition:transform .2s ease}.product-photo:hover img{transform:scale(1.035)}.photo-caption{bottom:9px;border-radius:2px;font-size:12px}.product-pick .kind{font-size:12px;letter-spacing:.3px;margin:0 0 5px;line-height:1.5}.product-pick h3{font:500 17px/1.4 'DM Sans',sans-serif;margin:0 0 5px}.product-pick .variant{font-size:14px}.product-pick .suggested{font-size:13px;margin:5px 0 9px}.product-details{margin:0 0 16px;padding:0;border:0;font-size:13px}.product-details summary{color:var(--muted);font-size:13px;text-underline-offset:3px}.product-details p{font-size:14px}.product-details .research-date{font-size:12px}.product-pick .product-buy{display:block;text-align:center;padding:10px;border:1px solid var(--ink);text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s}.product-pick .product-buy:hover{background:var(--plum);border-color:var(--plum);color:white}.family-section,.shopping-guide,.approach{margin-left:4%;margin-right:4%}.family-collections article{border-radius:0}.family-section{margin-top:20px}.empty-picks{min-height:140px;display:flex;align-items:center}footer{margin:0 4%}footer .brand{font-size:28px}
@media(min-width:1450px){#product-picks{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.shop{grid-template-columns:190px minmax(0,1fr);gap:24px}.shop aside{padding-right:18px}#product-picks{grid-template-columns:repeat(2,minmax(0,1fr))}header nav{gap:18px}.brand{font-size:30px}.intro h1{font-size:37px}.intro>p:last-child{max-width:370px}.guide-link{display:none}}
@media(max-width:700px){header{padding:17px 5%;justify-content:center}header nav{justify-content:center;gap:20px}header nav a{font-size:14px}.brand{text-align:center}.brand span{font-size:12px}.department-nav{gap:0;justify-content:space-around;padding:0 3%}.department-nav a{font-size:14px;padding:12px 6px}.intro{display:block;margin:0 5%;padding:22px 0}.intro h1{font-size:35px}.intro>p:last-child{display:none}.intro .eyebrow{font-size:12px}.shop{display:block;margin:0 5%;padding-top:18px}.filter-toggle{display:block;width:100%;padding:12px;background:#f6f3f6;border:1px solid var(--line);text-align:left;color:var(--ink);font-weight:500;margin-bottom:20px;cursor:pointer}.filter-toggle::after{content:'+';float:right}.filter-toggle[aria-expanded=true]::after{content:'−'}.shop aside{display:none;border:1px solid var(--line);padding:18px;margin-bottom:24px}.shop aside.is-open{display:block}.shop aside>.eyebrow{margin-bottom:10px}.swatches{grid-template-columns:repeat(6,minmax(0,1fr))}.results{border:0;padding:0}.results-heading h2{font-size:30px}.category{padding:7px 11px}#categories{gap:6px}.pick-heading{justify-content:flex-start}.notice{font-size:12px}#product-picks{gap:26px 14px}.product-pick .product-photo{padding:9px 9px 35px}.product-pick h3{font-size:16px}.product-pick .kind{font-size:12px}.product-pick .product-buy{font-size:13px;padding:10px 5px}.product-pick .suggested{font-size:12px}.information-page{padding-top:30px}.family-section,.shopping-guide,.approach{margin-left:5%;margin-right:5%}}
@media(max-width:380px){.department-nav a{font-size:13px;padding-left:4px;padding-right:4px}#product-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.product-pick .product-buy{font-size:12px}}
@media(prefers-reduced-motion:reduce){.product-photo img,.product-pick .product-buy{transition:none}}
.discovery-label{display:flex;flex-direction:column;gap:14px;padding:20px;background:#fffffff2;color:var(--ink);width:100%;text-align:center;overflow-wrap:anywhere}.discovery-label .discovery-kicker{font-size:11px;letter-spacing:1px;text-transform:uppercase}.discovery-label strong{font:500 21px/1.35 'DM Sans',sans-serif}.discovery-hint{font-size:12px;font-weight:400}.discovery-swatch .photo-caption{font-size:11px}.discovery-swatch:hover .discovery-hint{text-decoration:underline}@media(max-width:700px){.product-pick .discovery-swatch{min-height:320px;aspect-ratio:auto}.discovery-label{padding:12px;gap:8px}.discovery-label strong{font-size:16px}.discovery-label .discovery-kicker{font-size:9px}.discovery-hint{font-size:11px}.discovery-swatch .photo-caption{font-size:10px}}
.family-profile{margin:20px 4%;padding:38px 0;border-top:1px solid var(--line);scroll-margin-top:20px}.profile-heading{display:flex;justify-content:space-between;gap:28px}.profile-heading>p{max-width:280px}.profile-heading h2{margin-bottom:12px}.family-members{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.member-card{border:1px solid var(--line);padding:22px;background:#faf8fb}.member-card h3{font:30px/1.2 'Libre Caslon Display',Georgia,serif;margin:6px 0;overflow-wrap:anywhere}.member-card .eyebrow{margin:0}.member-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:20px}.member-actions a{font-size:14px;font-weight:600;text-underline-offset:4px}.member-actions button{border:0;background:none;text-decoration:underline;padding:5px 0;font-size:14px;cursor:pointer}.member-form{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;padding:24px;background:#f6f3f7}.member-form label{display:block;font-size:14px;margin-bottom:7px}.member-form input{width:100%;padding:11px 10px;font:inherit;border:1px solid #b7afb8;border-radius:3px}.member-form-actions{grid-column:1/-1;display:flex;gap:15px}.member-form-actions button{padding:11px 20px;background:var(--plum);border:1px solid var(--plum);color:white;cursor:pointer}.member-form-actions button:disabled{opacity:.6;cursor:wait}.member-form-actions #cancel-member{background:white;color:var(--plum)}.profile-empty{grid-column:1/-1;color:var(--muted)}.family-profile [hidden]{display:none!important}.family-profile [role=status]{font-size:14px;color:var(--plum)}#profile-signin{display:inline-block;padding:12px 18px;background:var(--plum);color:white}input:focus-visible{outline:3px solid #9a4593;outline-offset:3px}@media(max-width:700px){.family-profile{margin:20px 5%}.profile-heading{display:block}.profile-heading>p{max-width:none}.family-members{grid-template-columns:1fr}.member-form{grid-template-columns:1fr;padding:18px}.member-form-actions{flex-wrap:wrap}}

.saved-family-link{display:block;font-size:13px;color:var(--plum);margin-top:14px;text-underline-offset:4px}
.filter-status{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-status p{flex:1;min-width:200px}.filter-status button{min-height:44px;flex-shrink:0}
.shop-search{margin:20px 0}.shop-search label{display:block;font-weight:600;margin-bottom:8px}.search-input-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.search-input-row input{flex:1;min-width:180px;border:1px solid #aaa;border-radius:3px;padding:13px 14px;background:#fff;color:#29242a;font:inherit}.search-input-row button{min-height:44px}.search-input-row input:focus-visible{outline:2px solid #53334f;outline-offset:3px}.shop-search .small{margin-top:8px}
