/* EverythingStore editorial homepage. Existing --shop-* identity and UI face;
   independently authored campaign photography, in-scene glass composer,
   and preserved assistant/compare/browse component hooks. */
@font-face { font-family:ES Fraunces; src:url("fonts/Fraunces.ttf") format("truetype"); font-weight:100 900; font-display:swap; }
.es-wordmark-art { font-family:ES Fraunces,Georgia,serif; font-size:var(--es-fs-xl); font-weight:650; font-variation-settings:"SOFT" 100,"WONK" 1,"opsz" 48; letter-spacing:-1.8px; }
.es-wordmark-store { font-size:var(--es-fs-s); font-weight:500; letter-spacing:-.3px; }

.es-home-candidate {
	/* Type scale — the only six steps allowed on this page. */
	--es-fs-xs:12px; --es-fs-s:14px; --es-fs-m:16px; --es-fs-l:20px;
	--es-fs-xl:32px; --es-fs-display:clamp(40px,4.6vw,66px);
	/* Radius scale — small parts, cards, pills, whole blocks. */
	--es-r-s:16px; --es-r-m:28px; --es-r-pill:999px; --es-r-xl:40px;
	--es-paper:var(--shop-canvas,#f2f4f5);
	--es-card:var(--shop-white,#fff);
	--es-ink:var(--shop-ink,#000);
	--es-muted:var(--shop-muted,#787574);
	--es-line:var(--shop-border,#ebebeb);
	--es-violet:var(--shop-violet,#5433eb);
	--es-violet-wash:var(--shop-violet-wash,#c0b5f3);
	--es-violet-ink:#4325c9;
	--es-hero-a:#d8d2ef; --es-hero-b:#e2e4ef; --es-hero-c:#eef0f6;
	--es-tint-lemon:#f2ea78; --es-tint-blush:#f9c9dc; --es-tint-peach:#fbcfae;
	--es-tint-mint:#c9ead9; --es-tint-lilac:#ded5f7; --es-tint-sky:#cfe0f7;
	--es-cat-tech:var(--shop-violet,#5433eb); --es-cat-everyday:#17181c;
	--es-cat-apparel:var(--shop-violet-wash,#c0b5f3); --es-cat-home:var(--es-tint-sky);
	--es-space:clamp(16px,3vw,40px);
	background:var(--es-paper); color:var(--es-ink);
}
.es-home-candidate [hidden] { display:none!important; }
.es-home-candidate h1,.es-home-candidate h2,.es-home-candidate h3 { font-family:inherit; font-weight:600; letter-spacing:-.035em; }
.es-home-candidate h1 { letter-spacing:-.04em; }
.es-home-candidate a { color:inherit; text-decoration:none; }
.es-home-candidate :where(button,input,select,textarea) { font:inherit; color:inherit; }
.es-home-candidate :is(a,button,input,select):focus-visible { outline:2px solid var(--es-violet); outline-offset:3px; }
html { scroll-behavior:smooth; }

.es-tint-lemon { background:var(--es-tint-lemon); }
.es-tint-blush { background:var(--es-tint-blush); }
.es-tint-peach { background:var(--es-tint-peach); }
.es-tint-mint { background:var(--es-tint-mint); }
.es-tint-lilac { background:var(--es-tint-lilac); }
.es-tint-sky { background:var(--es-tint-sky); }

/* Two button styles: filled ink pill, text link. */
.es-btn { align-items:center; border:0; border-radius:var(--es-r-pill); cursor:pointer; display:inline-flex; font-size:var(--es-fs-s); font-weight:600; gap:6px; min-height:38px; padding:0 18px; }
.es-home-candidate .es-btn--ink { background:var(--es-ink); color:var(--es-card); }
.es-home-candidate .es-btn--ink:hover { background:#000; color:var(--es-card); }
.es-home-candidate .es-btn--inverse { background:var(--es-card); color:var(--es-ink); }
.es-home-candidate .es-btn--inverse:hover { background:var(--es-tint-mint); color:var(--es-ink); }
.es-home-candidate .es-btn--text { background:none; border:0; color:var(--es-ink); font-weight:650; min-height:0; padding:0; }
.es-home-candidate .es-btn--text:hover { color:var(--es-violet); }

.es-home-candidate .es-shop-topbar { min-height:64px; }
.es-section-title { font-size:var(--es-fs-xl); margin:0; }

/* Scene-led hero. Each image and product arrangement is authored together. */
.es-console { background:var(--es-paper); border-radius:var(--es-r-xl); margin:8px var(--es-space) 0; overflow:clip; }
.es-console:has([data-es-discovery-scene="research"]:not([hidden])) { background:#f9ecae; }
.es-console:has([data-es-discovery-scene="specs"]:not([hidden])) { background:#d2e9df; }
.es-console:has([data-es-discovery-scene="reviews"]:not([hidden])) { background:#cfe3f0; }
.es-console:has([data-es-discovery-scene="compare"]:not([hidden])) { background:#f7d0bc; }
.es-console:has([data-es-discovery-scene="gift"]:not([hidden])) { background:#d6cdea; }
.es-console:has([data-es-discovery-scene="autobuy"]:not([hidden])) { background:#dcd4ed; }
.es-console__stage { position:relative; height:clamp(780px,56vw,880px); }
.es-console__headline { position:absolute; left:64%; right:4%; top:7%; z-index:4; pointer-events:none; }
.es-console__title { font-size:clamp(36px,3.5vw,56px); line-height:1.03; margin:0; }
.es-console__sub { font-size:var(--es-fs-m); line-height:1.45; max-width:30ch; margin:18px 0 0; }
.es-console__visual,.es-discovery-scene { position:absolute; inset:0; }
.es-discovery-scene { pointer-events:none; }
.es-scene-photo { display:block; width:100%; height:100%; object-fit:cover; }
.es-scene-products { position:absolute; inset:0; }
.es-float { position:absolute; left:min(var(--card-x),calc(100% - 166px)); top:var(--card-y); width:max(150px,var(--card-w)); z-index:3; pointer-events:auto; background:rgba(255,255,255,.94); border-radius:20px; box-sizing:border-box; padding:10px; display:grid; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:7px; box-shadow:0 8px 24px #0000000c; transition:transform .2s ease; }
.es-float:hover { transform:translateY(-4px); }
.es-float__image { width:40px; height:58px; display:block; }
.es-float__image img { height:100%; width:100%; object-fit:contain; }
.es-float__body { min-width:0; display:grid; gap:4px; }
.es-float__name { font-size:12px; font-weight:600; line-height:1.2; overflow-wrap:anywhere; }
.es-float__price { font-size:12px; font-weight:700; line-height:1.25; }
.es-float__price .woocommerce-Price-amount { white-space:nowrap; }
.es-float:nth-child(2n) { background:var(--es-tint-lemon); }
.es-float:nth-child(3n) { background:var(--es-tint-blush); }
/* ============ Console: Zone B panel ============ */
.es-console__panel { background:rgba(255,255,255,.46); border:1px solid rgba(255,255,255,.65); backdrop-filter:blur(24px) saturate(1.15); -webkit-backdrop-filter:blur(24px) saturate(1.15); border-radius:32px; display:grid; gap:16px; margin:-240px 5% 24px; min-width:0; padding:24px; position:relative; z-index:5; box-shadow:0 10px 36px #1d173b0c; }
.es-home-hero__command { display:grid; gap:8px; min-width:0; position:relative; }
.es-home-conversation { align-items:center; background:rgba(255,255,255,.35); border:1px solid rgba(255,255,255,.75); border-radius:24px; display:flex; flex-wrap:wrap; margin:0; max-width:none; min-height:68px; min-width:0; padding:0 10px 0 22px; width:100%; box-shadow:inset 0 1px 0 #ffffff80; }
.es-home-conversation:focus-within { border-color:var(--es-violet); box-shadow:0 0 0 3px rgba(84,51,235,.14); }
.es-home-conversation input[type="search"] { background:transparent; border:0; box-shadow:none; flex:1 1 0; font-size:var(--es-fs-m); min-height:64px; min-width:0; outline:0; width:0; }
.es-home-conversation input::placeholder { color:var(--es-muted); opacity:1; }
.es-home-conversation__icon { color:var(--es-muted); display:inline-flex; flex:0 0 auto; margin-right:12px; }
.es-home-conversation__icon svg { display:block; height:22px; width:22px; }
.es-home-conversation button[type="submit"] { background:var(--es-violet); border:0; border-radius:50%; color:var(--es-card); cursor:pointer; flex:0 0 auto; font-size:var(--es-fs-l); height:48px; width:48px; }
.es-home-conversation button[type="submit"]:hover { background:var(--es-violet-ink); }
.es-home-conversation:has(.es-home-conversation__examples:not([hidden])) { border-radius:var(--es-r-m); }
.es-home-conversation__examples { display:flex; flex:1 1 100%; flex-wrap:wrap; gap:8px; padding:4px 6px 12px; }
.es-home-conversation__examples[hidden] { display:none; }
.es-home-conversation .es-home-conversation__chip { background:var(--es-paper); border:0; border-radius:var(--es-r-pill); color:var(--es-ink); cursor:pointer; display:inline-flex; flex:0 1 auto; font-size:var(--es-fs-xs); height:auto; line-height:1.4; min-height:36px; padding:7px 12px; width:auto; }
.es-home-conversation .es-home-conversation__chip:hover { background:var(--es-tint-lilac); color:var(--es-violet-ink); }
.es-home-conversation__chip-tray { display:flex; flex-wrap:wrap; gap:8px; }
.es-home-conversation .es-home-conversation__more { background:none; border:0; border-radius:var(--es-r-pill); color:var(--es-muted); cursor:pointer; flex:0 1 auto; font-size:var(--es-fs-xs); height:auto; min-height:36px; padding:4px 10px; text-decoration:underline; text-underline-offset:3px; width:auto; }
.es-home-draft-choice { background:var(--es-card); border-radius:var(--es-r-s); box-shadow:0 14px 34px rgba(0,0,0,.12); left:0; padding:14px 16px; position:absolute; right:0; top:calc(100% + 8px); z-index:30; }

/* Assistant results — homepage.js owns this markup. White card on the
   paper panel; chips and result cards flip back to paper. */
.es-home-assistant { background:var(--es-card); border-radius:var(--es-r-m); padding:18px; }
.es-home-assistant[hidden] { display:none; }
.es-home-assistant-message { color:var(--es-ink); font-size:var(--es-fs-m); line-height:1.5; margin:0 0 10px; }
.es-home-assistant-question { font-weight:700; }
.es-home-assistant__conditions { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.es-home-assistant__condition { align-items:center; background:var(--es-paper); border-radius:var(--es-r-pill); display:inline-flex; font-size:var(--es-fs-xs); gap:6px; padding:4px 10px; }
.es-home-assistant__condition button { background:none; border:0; color:var(--es-muted); cursor:pointer; font-size:var(--es-fs-s); padding:0 2px; }
.es-home-assistant__grid { display:grid; gap:14px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.es-home-assistant__request-status { color:var(--es-muted); font-size:var(--es-fs-s); margin:0; }
.es-home-assistant__notice { border-radius:var(--es-r-s); margin-top:14px; padding:10px 12px; }
.es-home-assistant__notice p { margin:0 0 8px; }
.es-home-assistant__notice--error { background:#fff3f2; color:#8e221d; }
.es-home-assistant__result { background:var(--es-paper); border-radius:var(--es-r-s); overflow:hidden; padding-bottom:12px; }
.es-home-assistant__result--kept { box-shadow:0 0 0 2px var(--es-violet); }
.es-home-assistant__result-link { display:block; }
.es-home-assistant__result img { display:block; height:170px; margin:0 auto; object-fit:contain; width:100%; }
.es-home-assistant__result h3 { font-family:inherit; font-size:var(--es-fs-s); font-weight:600; letter-spacing:0; line-height:1.35; margin:0; padding:8px 10px 0; }
.es-home-assistant__price { font-weight:700; margin:2px 0 0; padding:0 10px; }
.es-home-assistant__result-destination { color:var(--es-violet-ink)!important; display:inline-block; font-size:var(--es-fs-xs); font-weight:650; margin:8px 10px 0; }
.es-home-assistant__result-reason { color:var(--es-muted); display:block; font-size:var(--es-fs-xs); line-height:1.4; margin:6px 0; padding:0 10px; }
.es-home-assistant__actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.es-home-assistant__actions button { background:var(--es-paper); border:0; border-radius:var(--es-r-pill); cursor:pointer; font-size:var(--es-fs-s); min-height:36px; padding:0 14px; }
.es-home-assistant__actions button:hover { background:var(--es-tint-lilac); color:var(--es-violet-ink); }
.es-home-assistant__actions button:disabled { cursor:not-allowed; opacity:.45; }
.es-home-assistant__result-actions { display:flex; flex-wrap:wrap; gap:6px; padding:10px 10px 0; }
.es-home-assistant__result-actions .es-home-assistant__action { background:var(--es-card); border:0; border-radius:var(--es-r-pill); cursor:pointer; font-size:var(--es-fs-xs); line-height:1.2; min-height:30px; padding:5px 9px; }
.es-home-assistant__result-actions .es-home-assistant__action[aria-pressed="true"] { background:var(--es-violet); color:var(--es-card); }
.es-home-assistant__budget-editor { align-items:end; display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.es-home-assistant__budget-editor label { color:var(--es-muted); display:grid; font-size:var(--es-fs-xs); gap:4px; }
.es-home-assistant__budget-editor input { border:1px solid var(--es-line); border-radius:var(--es-r-s); min-height:34px; padding:4px 8px; width:124px; }
.es-home-assistant__budget-editor .es-home-assistant__action { background:var(--es-paper); border:0; border-radius:var(--es-r-pill); cursor:pointer; min-height:34px; padding:0 12px; }
.es-home-assistant__comparison { border-top:1px solid var(--es-line); margin-top:18px; max-width:100%; overflow-x:auto; padding-top:16px; }
.es-home-assistant__comparison h2 { font-family:inherit; font-size:var(--es-fs-m); letter-spacing:0; margin:0 0 10px; }
.es-home-assistant__comparison-table { border-collapse:collapse; font-size:var(--es-fs-xs); width:100%; }
.es-home-assistant__comparison-table th,.es-home-assistant__comparison-table td { border-top:1px solid var(--es-line); padding:8px; text-align:left; vertical-align:top; }
.es-home-assistant__comparison-table th:first-child { min-width:7em; white-space:nowrap; }
.es-home-assistant__comparison-table thead th { background:var(--es-paper); border-top:0; }
.es-home-assistant__error { color:#b3261e; }
.es-home-browse { padding:4px 2px; }
.es-home-browse h2 { font-family:inherit; font-size:var(--es-fs-l); letter-spacing:0; margin:0 0 12px; }
.es-home-browse > button { background:var(--es-card); border:0; border-radius:var(--es-r-pill); cursor:pointer; font-size:var(--es-fs-s); margin-bottom:12px; min-height:34px; padding:0 14px; }
.es-home-browse .es-home-assistant__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.es-home-browse img { height:170px; object-fit:contain; width:100%; }

/* Console tiles: one narrow (Recent) + three wide, each with a circle
   arrow bottom-right. */
.es-console__tiles { display:grid; gap:12px; grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr) minmax(0,1.3fr) minmax(0,1fr); min-width:0; }
.es-console__tiles.is-hidden { display:none; }
.es-console__tile { background:rgba(255,255,255,.52); border:0; border-radius:20px; cursor:pointer; display:flex; flex-direction:column; justify-content:flex-end; min-height:114px; min-width:0; padding:16px 42px 16px 16px; position:relative; text-align:left; }
.es-console__tile:hover { background:var(--es-tint-lilac); }
.es-console__tile-kicker { color:var(--es-ink); display:block; font-size:var(--es-fs-m); font-weight:600; line-height:1.15; }
.es-console__tile-value { color:var(--es-muted); display:-webkit-box; font-size:var(--es-fs-xs); line-height:1.4; margin-top:7px; overflow:hidden; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.es-console__tile-arrow { align-items:center; background:var(--es-paper); border-radius:50%; bottom:14px; color:var(--es-ink); display:inline-flex; font-size:var(--es-fs-s); height:30px; justify-content:center; position:absolute; right:14px; width:30px; }
.es-home-candidate .es-console__tile--violet .es-console__tile-arrow { background:var(--es-card); color:var(--es-violet); }
.es-home-candidate .es-console__tile--violet { background:var(--es-violet); color:var(--es-card); }
.es-console__tile--violet .es-console__tile-kicker { color:var(--es-card); }
.es-console__tile--violet .es-console__tile-value { color:rgba(255,255,255,.82); }
.es-home-candidate .es-console__tile--violet:hover { background:var(--es-violet-ink); }
/* ============ Categories ============ */
.es-cats { margin:64px var(--es-space) 0; }
.es-cats__head { align-items:baseline; display:flex; justify-content:space-between; margin-bottom:24px; }
.es-cats__grid { display:grid; gap:20px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.es-cat { background:var(--es-paper); border-radius:var(--es-r-m); display:block; height:260px; min-width:0; overflow:hidden; position:relative; }
.es-cat:hover { box-shadow:0 0 0 2px var(--es-violet); }
.es-cat__meta { align-items:center; bottom:18px; display:flex; justify-content:space-between; gap:8px; left:16px; right:16px; padding:10px 14px; position:absolute; z-index:3; background:rgba(255,255,255,.94); border-radius:var(--es-r-pill); }
.es-cat__window { display:block; position:absolute; inset:0; overflow:hidden; }
.es-cat__window img { display:block; height:100%; object-fit:cover; object-position:center; width:100%; transition:transform .35s ease; }
.es-cat__window--tech { background:var(--es-cat-tech); }
.es-cat__window--everyday { background:var(--es-cat-everyday); }
.es-cat__window--apparel { background:var(--es-cat-apparel); }
.es-cat__window--home { background:var(--es-cat-home); }
.es-cat__label { font-size:var(--es-fs-m); font-weight:600; }
.es-cat__count { color:var(--es-muted); font-size:var(--es-fs-xs); }
.es-cat--soon .es-cat__meta { background:rgba(255,255,255,.88); }
.es-cat--soon .es-cat__label { color:var(--es-ink); }
.es-cat--soon .es-cat__count { color:var(--es-muted); }

.es-cat:hover .es-cat__window img { transform:scale(1.04); }
.es-cat--soon::after { content:""; position:absolute; inset:0; background:rgba(92,96,106,.48); backdrop-filter:grayscale(1); z-index:2; }
.es-cat__arrow { font-size:20px; }
/* ============ iPhone 18 ink block ============ */
.es-ink-block { background:var(--es-ink); border-radius:var(--es-r-xl); color:var(--es-card); margin:64px var(--es-space) 0; padding:38px clamp(24px,4vw,58px) 42px; }
.es-ink-block__head { align-items:baseline; display:flex; gap:18px; }
.es-ink-block__title { font-size:var(--es-fs-xl); margin:0; }
.es-ink-block__divider { align-self:center; background:rgba(255,255,255,.28); flex:0 0 auto; height:22px; width:1px; }
.es-home-candidate .es-ink-block__all { color:var(--es-card); flex:0 0 auto; font-size:var(--es-fs-s); font-weight:600; }
.es-home-candidate .es-ink-block__all:hover { color:var(--es-violet-wash); }
.es-ink-block__sub { color:rgba(255,255,255,.55); font-size:var(--es-fs-s); margin:10px 0 0; max-width:46ch; }
.es-ink-block__rail { display:flex; gap:14px; margin-top:24px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x proximity; -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 80px),transparent); mask-image:linear-gradient(to right,#000 calc(100% - 80px),transparent); }
.es-ink-card { border-radius:var(--es-r-m); display:flex; flex-direction:column; flex:0 0 calc((100% - 42px) / 3.15); min-width:260px; padding:22px; position:relative; scroll-snap-align:start; }
.es-home-candidate .es-ink-card__name { color:var(--es-ink); display:-webkit-box; font-size:var(--es-fs-l); font-weight:650; -webkit-line-clamp:2; -webkit-box-orient:vertical; line-height:1.25; overflow:hidden; padding-right:48px; }
.es-ink-card__sub { color:rgba(0,0,0,.55); display:block; font-size:var(--es-fs-s); margin-top:4px; }
.es-ink-card__media { display:block; height:192px; margin-top:12px; }
.es-ink-card__media img { height:100%; object-fit:contain; padding:10px; width:100%; }
.es-ink-card__price { align-self:flex-start; color:var(--es-ink); display:block; font-size:var(--es-fs-l); font-weight:650; margin-top:auto; padding-top:12px; }
.es-home-candidate .es-ink-card__add { align-items:center; background:var(--es-card); border:0; border-radius:50%; color:var(--es-ink); cursor:pointer; display:inline-flex; font-size:var(--es-fs-l); font-weight:600; height:40px; justify-content:center; position:absolute; right:14px; top:14px; width:40px; }
.es-home-candidate .es-ink-card__add:hover { background:var(--es-violet); color:var(--es-card); }
.es-home-candidate .es-ink-card__add:disabled { cursor:default; opacity:.6; }

/* ============ Editorial discovery: choice story + campaign ============ */
.es-scenes { margin:64px var(--es-space) 0; }
.es-scene-lab { background:#f5dfcd; border-radius:var(--es-r-xl); overflow:hidden; }
.es-scene-lab__choice { min-height:560px; overflow:hidden; position:relative; }
.es-moments-photo { height:100%; inset:0; object-fit:cover; position:absolute; width:100%; }
.es-moments-copy { padding:54px 48px; width:42%; }
.es-moments-copy h2 { font-size:clamp(38px,4vw,60px); line-height:1.02; margin:0; max-width:9ch; position:relative; z-index:2; }
.es-scene-lab__list { align-items:flex-end; display:flex; flex-direction:column; gap:11px; list-style:none; margin:0; padding:0; position:absolute; right:32px; top:42px; width:31%; z-index:3; }
.es-scene-lab__item { align-items:center; backdrop-filter:blur(14px); background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.6); border-radius:var(--es-r-pill); cursor:pointer; display:flex; font-size:14px; font-weight:500; gap:18px; justify-content:space-between; padding:12px 18px; text-align:left; width:auto; }
.es-scene-lab__item:hover { background:var(--es-card); }
.es-scene-lab__item[aria-current="true"] { background:var(--es-ink); color:var(--es-card); }
.es-scene-lab__main { bottom:44px; left:48px; position:absolute; width:34%; z-index:3; }
.es-scene-lab__panel { align-items:flex-start; display:flex; flex-direction:column; gap:14px; min-width:0; }
.es-scene-lab__details { width:100%; }
.es-scene-lab__details > summary { cursor:pointer; font-size:14px; padding:10px 0; }
.es-scene-lab__details[open] { background:rgba(255,255,255,.96); border-radius:18px; max-height:280px; overflow:auto; padding:12px; }
.es-scene-lab__cta { margin-top:0; }
.es-scene-lab__campaign { border-top:12px solid var(--es-card); color:var(--es-card); min-height:560px; overflow:hidden; position:relative; }
.es-scene-lab__campaign-bg { height:100%; inset:0; object-fit:cover; object-position:center; position:absolute; width:100%; }
.es-scene-lab__campaign-scrim { background:linear-gradient(90deg,rgba(15,12,26,.72),rgba(15,12,26,.15) 48%,transparent 70%); inset:0; position:absolute; }
.es-scene-lab__campaign-copy { bottom:52px; display:flex; flex-direction:column; gap:20px; left:48px; max-width:520px; position:absolute; z-index:2; }
.es-scene-lab__campaign-copy > span { font-size:var(--es-fs-xs); font-weight:700; letter-spacing:.14em; }
.es-scene-lab__campaign-copy h2 { color:var(--es-card); font-size:clamp(42px,5vw,72px); letter-spacing:-.04em; line-height:.98; margin:0; max-width:9ch; }
.es-scene-lab__campaign-copy a { align-items:center; background:var(--es-card); border-radius:50%; color:var(--es-ink); display:flex; font-size:var(--es-fs-l); height:58px; justify-content:center; width:58px; }
/* Shared QA rows — only the first is open by default; all stay in the DOM
   with their es-qa-* anchors. */
.es-scene-card__qa { display:grid; gap:10px; list-style:none; margin:0; padding:0; }
.es-scene-card__qa li { scroll-margin-top:20px; }
.es-scene-card__qa-item { background:var(--es-card); border-radius:var(--es-r-s); padding:10px 14px; }
.es-scene-card__qa-item summary { cursor:pointer; font-size:var(--es-fs-s); font-weight:600; line-height:1.35; list-style:none; }
.es-scene-card__qa-item summary::-webkit-details-marker { display:none; }
.es-scene-card__qa-item summary::after { color:var(--es-muted); content:"+"; float:right; font-weight:400; margin-left:8px; }
.es-scene-card__qa-item[open] summary::after { content:"–"; }
.es-scene-card__q { display:inline; }
.es-scene-card__q:hover { color:var(--es-violet-ink); }
.es-scene-card__a { color:var(--es-muted); font-size:var(--es-fs-s); line-height:1.55; margin:8px 0 0; }
.es-scene-card__foot { align-items:center; display:flex; flex-wrap:wrap; gap:6px 8px; margin-top:8px; }
.es-home-candidate .es-scene-card__ask { background:none; border:0; color:var(--es-violet-ink); cursor:pointer; font-size:var(--es-fs-xs); font-weight:650; min-height:24px; padding:0; }
.es-scene-card__prod { background:var(--es-paper); border-radius:var(--es-r-pill); font-size:var(--es-fs-xs); padding:3px 10px; }
.es-scene-card__prod:hover { background:var(--es-tint-lilac); }

/* ============ Kit ============ */
.es-kit-wrap { margin:64px calc(var(--es-space) + 3%) 0; scroll-margin-top:20px; }
.es-home-kit { background:#dceee6; border-radius:var(--es-r-xl); display:grid; gap:0; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); overflow:hidden; }
.es-home-kit__stage { grid-row:1/3; min-height:590px; overflow:hidden; position:relative; }
.es-kit-photo { height:100%; inset:0; object-fit:cover; object-position:22% center; position:absolute; width:100%; }
.es-kit-overlay { left:28px; position:absolute; top:28px; z-index:2; }
.es-kit-overlay h2 { backdrop-filter:blur(16px); background:rgba(255,255,255,.68); border:1px solid rgba(255,255,255,.72); border-radius:22px; font-size:clamp(26px,3vw,42px); line-height:1.04; margin:0; max-width:11ch; padding:18px 20px; }
.es-kit-objects { bottom:24px; display:flex; gap:12px; left:24px; position:absolute; right:24px; }
.es-home-kit__object { backdrop-filter:blur(15px); background:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.75); border-radius:20px; cursor:pointer; flex:1; min-width:0; padding:10px; position:relative; }
.es-home-kit__object img { height:104px; object-fit:contain; width:100%; }
.es-home-kit__object.is-selected { background:var(--es-tint-lemon); box-shadow:none; }
.es-home-kit__object:focus-visible { outline:2px solid var(--es-violet); }
.es-home-kit__object.is-selected::after { content:"✓"; font-size:14px; position:absolute; right:8px; top:6px; }
.es-home-kit__list { align-content:center; backdrop-filter:blur(20px); background:rgba(255,255,255,.72); border-radius:28px 28px 0 0; display:grid; gap:10px; list-style:none; margin:20px 20px 0; padding:16px; }
.es-home-kit__item { align-items:center; background:rgba(255,255,255,.66); border-radius:18px; display:grid; gap:6px 12px; grid-template-columns:auto 48px minmax(0,1fr) auto; padding:12px; }
.es-home-kit__item.is-selected { background:var(--es-card); box-shadow:0 0 0 2px var(--es-violet); }
.es-home-kit__check { accent-color:var(--es-violet); height:18px; width:18px; }
.es-home-kit__thumb { background:rgba(255,255,255,.72); border-radius:14px; display:block; height:48px; width:48px; }
.es-home-kit__thumb img { height:100%; object-fit:contain; padding:5px; width:100%; }
.es-home-kit__item-name { display:block; font-size:var(--es-fs-s); font-weight:600; line-height:1.3; }
.es-home-kit__variation { background:rgba(242,244,245,.9); border:0; border-radius:10px; font-size:12px; margin-top:6px; max-width:100%; min-height:34px; padding:4px 8px; width:100%; }
.es-home-kit__toggle { background:var(--es-paper); border-radius:var(--es-r-pill); color:var(--es-violet-ink); cursor:pointer; display:inline-block; font-size:11px; margin-top:6px; padding:5px 9px; }
.es-home-kit__item-price { font-size:var(--es-fs-s); font-weight:650; font-variant-numeric:tabular-nums; }
.es-home-kit__foot { align-content:end; align-items:center; backdrop-filter:blur(20px); background:rgba(255,255,255,.72); border-radius:0 0 28px 28px; display:flex; flex-wrap:wrap; gap:10px 16px; grid-column:2; margin:0 20px 20px; padding:10px 16px 16px; }
.es-home-kit__count { color:var(--es-muted); font-size:12px; }
.es-home-kit__total { font-size:var(--es-fs-m); }
.es-home-kit__total strong { font-size:var(--es-fs-l); font-variant-numeric:tabular-nums; }
.es-home-kit__status { color:var(--es-muted); font-size:12px; flex-basis:100%; }
.es-home-kit__submit { margin:8px 0 0; width:100%; }
.es-home-candidate .es-home-kit__submit:disabled { background:var(--es-line); color:var(--es-card); cursor:not-allowed; opacity:1; }

/* ============ Guides + FAQ ============ */
.es-decision-help { margin:64px calc(var(--es-space) + 3%) 0; }
.es-decision-help__list { display:grid; gap:24px; grid-template-columns:repeat(3,minmax(0,1fr)); list-style:none; margin:28px 0 0; padding:0; }
.es-decision-help__item a { background:var(--es-paper); border-radius:28px; box-shadow:0 8px 24px rgba(0,0,0,.04); display:grid; grid-template-rows:230px minmax(0,1fr); height:100%; overflow:hidden; }
.es-decision-help__item a:hover { box-shadow:0 0 0 2px var(--es-violet),0 10px 28px rgba(0,0,0,.06); }
.es-decision-help__media { display:block; height:230px; overflow:hidden; position:relative; }
.es-decision-help__media > img { display:block; height:100%; object-fit:cover; object-position:center; width:100%; }
.es-guide-product { align-items:center; backdrop-filter:blur(18px) saturate(1.1); background:rgba(255,255,255,.42); border:1px solid rgba(255,255,255,.72); border-radius:28px; box-shadow:0 12px 32px rgba(0,0,0,.08); display:flex; height:62%; justify-content:center; left:50%; padding:16px; position:absolute; top:50%; transform:translate(-50%,-50%); width:52%; }
.es-decision-help__media .es-guide-product img { height:100%; object-fit:contain; width:100%; }
.es-decision-help__body { display:flex; flex-direction:column; gap:12px; min-width:0; padding:20px; }
.es-decision-help__item strong { font-size:var(--es-fs-l); line-height:1.15; font-weight:600; }
.es-decision-help__more { color:var(--es-violet-ink); font-size:var(--es-fs-s); font-weight:650; margin-top:auto; }
.es-home-faq { background:var(--es-tint-lilac); border-radius:var(--es-r-xl); display:grid; gap:24px 48px; grid-template-columns:minmax(0,4fr) minmax(0,7fr); margin:44px var(--es-space) 56px; padding:40px 44px; }
.es-home-faq__list { min-width:0; }
.es-home-faq details { background:var(--es-card); border:0; border-radius:var(--es-r-s); margin-bottom:10px; padding:0 18px; }
.es-home-faq details:last-child { margin-bottom:0; }
.es-home-faq summary { cursor:pointer; font-size:var(--es-fs-m); font-weight:600; list-style:none; padding:15px 0; }
.es-home-faq summary::-webkit-details-marker { display:none; }
.es-home-faq summary::after { content:"+"; float:right; font-weight:400; }
.es-home-faq details[open] summary::after { content:"–"; }
.es-home-faq details p { color:var(--es-muted); font-size:var(--es-fs-s); line-height:1.6; margin:0; padding-bottom:15px; }
.es-home-faq details p a { color:var(--es-violet-ink); }

/* Responsive scene composition, with a separate mobile image/product rail. */
@media (min-width:768px) and (max-width:1199px) {
 .es-console__stage { height:700px; }
 .es-console__headline { left:61%; right:4%; top:4%; }
 .es-console__title { font-size:clamp(30px,3.5vw,42px); }
 .es-console__sub { font-size:14px; }

 .es-float { width:min(var(--card-w),128px); grid-template-columns:34px minmax(0,1fr); gap:6px; padding:8px; }
 .es-float__image { width:36px; height:46px; }
 .es-console__panel { margin-top:-220px; }
 .es-console__tile { padding:14px 34px 14px 12px; }
 .es-console__tile-kicker { font-size:14px; }
 .es-cat { height:220px; }
 .es-scene-lab__choice,.es-scene-lab__campaign { min-height:500px; }
 .es-moments-copy { width:43%; padding:44px 28px; }
 .es-moments-copy h2 { font-size:38px; }
 .es-scene-lab__list { right:3%; width:34%; }
 .es-scene-lab__main { bottom:30px; left:28px; width:38%; }
 .es-scene-lab__campaign-copy { bottom:36px; left:32px; }
 .es-scene-lab__item { font-size:13px; padding:10px 14px; }
 .es-home-kit { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .es-home-kit__stage { min-height:540px; }
 .es-home-kit__list { margin:14px 14px 0; padding:12px; }
 .es-home-kit__item { grid-template-columns:auto 42px minmax(0,1fr); }
 .es-home-kit__item-price { grid-column:3; }
 .es-home-kit__foot { margin:0 14px 14px; }
 .es-kit-overlay { left:20px; top:20px; }
 .es-kit-overlay h2 { font-size:30px; }
 .es-decision-help__item strong { font-size:16px; }
}
@media (min-width:768px) and (max-width:899px) {
 .es-float { width:min(var(--card-w),90px); grid-template-columns:22px minmax(0,1fr); gap:4px; padding:6px; }
 .es-float__image { height:36px; width:22px; }
 .es-float__name,.es-float__price { font-size:9.5px; }
 .es-discovery-scene--gift .es-float { width:78px; grid-template-columns:18px minmax(0,1fr); }
 .es-discovery-scene--gift .es-float__image { width:18px; }
}
@media (min-width:768px) and (max-width:900px) {
 .es-decision-help__list { grid-template-columns:1fr; }
 .es-decision-help__item a { grid-template-columns:220px minmax(0,1fr); grid-template-rows:none; min-height:220px; }
 .es-decision-help__media { height:220px; }
 .es-decision-help__body { justify-content:center; }
}
@media (max-width:767px) {
 .es-console { margin:6px 12px 0; border-radius:28px; display:flex; flex-direction:column; }
 .es-console__stage { display:contents; height:auto; padding:0; }
 .es-console__headline { position:relative; left:auto; right:auto; top:auto; margin:26px 24px 18px; order:0; }
 .es-console__title { font-size:32px; line-height:1.05; }
 .es-console__sub { font-size:13px; max-width:34ch; margin-top:10px; }
 .es-console__visual,.es-discovery-scene { display:contents; }
 .es-scene-photo { height:350px; width:100%; object-fit:cover; object-position:26% center!important; order:1; }
 .es-scene-products { position:static; display:flex; gap:10px; overflow-x:auto; padding:0 14px 18px; margin-top:4px; scroll-snap-type:x proximity; scrollbar-width:thin; order:3; }
 .es-float { position:relative; left:auto; top:auto; flex:0 0 138px; align-self:start; min-height:100px; grid-template-columns:40px minmax(0,1fr); box-shadow:none; scroll-snap-align:start; }
 .es-float__name,.es-float__price { font-size:11px; }
 .es-console__panel { margin:-104px 10px 14px; padding:16px 14px; border-radius:24px; gap:12px; order:2; }
 .es-home-conversation { min-height:58px; padding:0 6px 0 12px; }
 .es-home-conversation input[type="search"] { font-size:14px; min-height:54px; }
 .es-home-conversation__icon { margin-right:6px; }
 .es-home-conversation__icon svg { width:18px; height:18px; }
 .es-home-conversation button[type="submit"] { height:40px; width:40px; }
 .es-console__tiles { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
	.es-console__tile { min-height:92px; padding:12px 32px 12px 12px; }
	.es-console__tile-kicker { font-size:14px; }
	.es-console__tile-arrow { right:8px; bottom:10px; width:24px; height:24px; }
 .es-console__stage[data-es-has-result="true"] { display:contents; height:auto; padding:0; }
 .es-console:has([data-es-has-result="true"]) .es-console__panel { margin-top:0; }
 .es-console__stage[data-es-has-result="true"] .es-console__visual { display:none; }
 .es-console__stage[data-es-has-result="true"] .es-console__headline { left:auto; right:auto; top:auto; }
 .es-home-assistant { padding:12px; }
 .es-home-assistant__grid,.es-home-browse .es-home-assistant__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .es-home-assistant__result img { height:120px; }
 .es-home-assistant__comparison { overflow-x:auto; }
 .es-cats,.es-scenes,.es-kit-wrap,.es-decision-help { margin:40px 20px 0; }
 .es-section-title { font-size:26px; }
 .es-cats__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .es-cat { height:200px; border-radius:22px; }
 .es-cat__meta { left:8px; right:8px; bottom:10px; padding:9px 10px; gap:4px; }
 .es-cat__label { font-size:14px; }
 .es-cat__count { font-size:11px; }
 .es-ink-block { margin:40px 12px 0; padding:28px 20px; border-radius:28px; }
 .es-ink-card { flex-basis:80%; min-width:230px; padding:20px; }
 .es-ink-card__media { height:160px; }
 .es-scene-lab { border-radius:28px; }
 .es-scene-lab__choice { display:flex; flex-direction:column; min-height:0; }
 .es-moments-photo { height:430px; inset:auto; object-position:70% center; order:2; position:relative; width:100%; }
 .es-moments-copy { box-sizing:border-box; order:1; padding:28px; width:100%; }
 .es-moments-copy h2 { font-size:38px; max-width:10ch; }
 .es-scene-lab__list { align-items:center; bottom:18px; flex-direction:row; left:18px; overflow-x:auto; right:18px; top:auto; width:auto; }
 .es-scene-lab__item { font-size:13px; padding:10px 14px; }
 .es-scene-lab__item { flex:0 0 auto; }
 .es-scene-lab__main { bottom:auto; left:auto; margin-top:18px; position:static; width:100%; }
 .es-scene-lab__details[open] { background:rgba(255,255,255,.97); border-radius:18px; padding:12px; }
 .es-scene-lab__campaign { border-top-width:8px; min-height:500px; }
 .es-scene-lab__campaign-bg { object-position:62% center; }
 .es-scene-lab__campaign-copy { bottom:28px; left:28px; }
 .es-scene-lab__campaign-copy h2 { font-size:42px; }
 .es-home-kit { grid-template-columns:1fr; border-radius:28px; }
 .es-home-kit__stage { grid-row:auto; min-height:430px; }
 .es-kit-overlay { left:18px; top:18px; }
 .es-kit-overlay h2 { font-size:30px; }
 .es-home-kit__list { margin:14px 14px 0; padding:10px; }
 .es-home-kit__item { grid-template-columns:auto 44px minmax(0,1fr); padding:12px; }
 .es-home-kit__item-price { grid-column:3; }
 .es-home-kit__foot { grid-column:1; margin:0 14px 14px; padding:12px; }
 .es-kit-objects { left:14px; right:14px; bottom:14px; gap:8px; }
 .es-home-kit__object img { height:70px; }
 .es-decision-help__list { grid-template-columns:1fr; gap:20px; }
 .es-decision-help__item a { grid-template-rows:220px minmax(0,1fr); }
 .es-decision-help__media { height:220px; }
 .es-decision-help__item strong { font-size:20px; }
 .es-home-faq { grid-template-columns:1fr; margin:40px 12px 0; padding:28px 22px; border-radius:28px; }
}
@media (max-width:900px) { .home.everythingstore-theme { padding-bottom:calc(62px + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .es-float,.es-cat__window img { transition:none; } }

/* Keep discovery recommendations attached to their scene before the composer
   on phones/tablets, as the approved desktop overlay does. */
@media (max-width:900px) {
 .es-home-candidate .es-console { display:block; }
 .es-home-candidate .es-console__stage { display:block; height:auto; padding:0; }
 .es-home-candidate .es-console__headline { position:relative; left:auto; right:auto; top:auto; margin:24px 24px 18px; }
 .es-home-candidate .es-console__title { font-size:clamp(32px,5.2vw,42px); line-height:1.05; }
 .es-home-candidate .es-console__sub { font-size:14px; max-width:40ch; margin:12px 0 0; }
 .es-home-candidate .es-console__visual { display:block; position:relative; inset:auto; }
 .es-home-candidate .es-discovery-scene { display:block; position:relative; inset:auto; }
 .es-home-candidate .es-scene-photo { display:block; height:clamp(300px,48vw,420px); width:100%; }
 .es-home-candidate .es-scene-products { position:absolute; top:auto; bottom:20px; left:14px; right:14px; display:flex; gap:8px; margin:0; padding:0 0 4px; overflow-x:auto; pointer-events:auto; scroll-snap-type:x proximity; scrollbar-width:thin; }
 .es-home-candidate .es-float { position:relative; left:auto; top:auto; flex:0 0 clamp(158px,39vw,200px); width:auto; min-width:0; min-height:92px; padding:10px; grid-template-columns:36px minmax(0,1fr); gap:8px; align-self:stretch; box-shadow:0 4px 16px #0000000c; scroll-snap-align:start; }
 .es-home-candidate .es-float__image { width:36px; height:52px; }
 .es-home-candidate .es-float__name { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:12px; line-height:1.3; }
 .es-home-candidate .es-float__price { font-size:12px; line-height:1.35; }
 .es-home-candidate .es-console__panel { margin:-12px 10px 14px; padding:16px 14px; border-radius:24px; gap:12px; }
 .es-home-candidate .es-console__stage[data-es-has-result="true"] { display:contents; }
 .es-home-candidate .es-console__stage[data-es-has-result="true"] .es-console__visual { display:none; }
 .es-home-candidate .es-console:has([data-es-has-result="true"]) .es-console__panel { margin-top:0; }
}
