.advisor{max-width:760px;margin:0 auto;overflow-wrap:anywhere}
.advisor-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.advisor-topbar .eyebrow{margin:0;text-align:center}.advisor-topbar button{font-size:12px;min-height:44px;white-space:nowrap}
.advisor button:focus-visible,.advisor input:focus-visible,.advisor summary:focus-visible{outline:3px solid #596e37;outline-offset:3px}
.advisor button:disabled{opacity:.45;cursor:default}.advisor .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.advisor-progress{max-width:560px;margin:0 auto 28px;display:flex;align-items:center;gap:20px}
.advisor-progress>span{font-size:11px;color:var(--muted);white-space:nowrap}.advisor-progress>[role=progressbar]{height:4px;flex:1;background:var(--line);border-radius:8px;overflow:hidden}
.advisor-progress i{height:100%;display:block;background:#71854b;border-radius:8px;transition:width .2s ease}
.advisor-form{max-width:560px;margin:0 auto;background:#fff9;border:1px solid var(--line);border-radius:20px;padding:32px}
.advisor-form>.eyebrow{font-size:10px;letter-spacing:1px;margin-bottom:14px;color:var(--muted)}
.advisor-form h1,.advisor-results-head h1{font-size:clamp(30px,4vw,42px);letter-spacing:-1.3px;line-height:1.1;margin:0 0 16px}
.advisor-question-help{font-size:14px;line-height:1.65;color:var(--muted);margin-bottom:24px;max-width:460px}
.advisor-choices{display:grid;gap:10px}.advisor-choices button{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:18px 20px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left;color:var(--ink)}
.advisor-choices button:hover,.advisor-options button:hover{background:#eef4df;border-color:#9aad78}
.advisor-choices button[aria-pressed=true]{background:#e9f2d5;border-color:#71854b}
.advisor-choices strong{font:inherit;font-weight:600;font-size:15px;display:block}.advisor-choices small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:5px}
.advisor-form[data-advisor-question=category] .advisor-choices{grid-template-columns:1fr 1fr}.advisor-form[data-advisor-question=category] .advisor-choices button{padding:14px;min-height:80px}.advisor-form[data-advisor-question=category] .advisor-choices strong{font-size:13px}.advisor-form[data-advisor-question=category] .advisor-choices small{font-size:10px}
.advisor-form[data-advisor-question=category] [data-value=any]{grid-column:1/-1}
.advisor-form input[type=search],.advisor-form input[type=number]{width:100%;min-width:0;padding:15px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:16px;min-height:50px;outline-offset:2px}
.advisor-form .note{font-size:11px;line-height:1.6;margin:12px 0 0}
.advisor-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;border:1px solid #bacb99;background:#ecf3db;padding:4px 10px;border-radius:10px;margin-bottom:10px}
.advisor-selected>span{min-width:0;line-height:1.6}.advisor-selected button{border:0;background:none;font-size:22px;min-width:44px;min-height:44px;color:var(--ink)}
.advisor-context{padding:10px 12px;background:#f2f0e8;border-radius:10px;font-size:11px;line-height:1.5;margin-bottom:18px}.advisor-context small{display:block;color:var(--muted);margin-top:3px}
.advisor-options:empty{display:none}.advisor-options{display:grid;gap:7px;margin:10px 0;max-height:270px;overflow:auto;overscroll-behavior:contain}
.advisor-options button{position:relative;width:100%;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 36px 12px 14px;font-size:12px;min-height:56px;color:var(--ink)}
.advisor-options button span,.advisor-options button small{display:block;font-size:10px;color:var(--muted);line-height:1.6}.advisor-options button strong{display:block;font-size:13px;font-weight:500;line-height:1.5}
.advisor-options [data-advisor-ingredient]>span{position:absolute;right:14px;top:16px;font-size:20px}
.advisor-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.advisor-chip{padding:10px 12px;background:#edf3db;border:1px solid #c2cfaa;border-radius:10px;font-size:12px;min-height:44px;max-width:100%;overflow-wrap:anywhere;color:var(--ink)}
.advisor-chip span{margin-left:8px}.advisor-budget{display:flex;align-items:center;gap:12px}.advisor-budget>span{font-size:24px;color:var(--muted)}
.advisor-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:24px}.advisor-actions button{min-height:48px;white-space:normal}.advisor-actions .primary{flex:1;text-align:center}
.advisor-form-message:empty{display:none}.advisor-form-message:not(:empty){padding:12px;color:#793e31;font-size:12px;line-height:1.6;background:#faeee1;border-radius:8px;margin-top:16px}
.advisor-live-count{border-top:1px solid var(--line);padding-top:16px;margin-top:22px;font-size:11px;color:#53633d;line-height:1.6}.advisor-live-count span{color:var(--muted)}
.advisor-results-head>p:last-child{font-size:13px;line-height:1.6;color:var(--muted)}
.advisor-answer-summary{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.advisor-answer-summary button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:9px 12px;font-size:11px;min-height:44px;text-align:left;max-width:100%;overflow-wrap:anywhere;color:var(--ink)}.advisor-answer-summary button span{margin-left:6px;color:var(--muted)}
.advisor-candidates{display:grid;gap:14px}.advisor-candidate{padding:22px;background:#fff9;border:1px solid var(--line);border-radius:16px;min-width:0}
.advisor-product-head{display:flex;align-items:center;gap:16px}.advisor-product-head>div{min-width:0}.advisor-product-head .eyebrow{margin-bottom:7px;font-size:10px}.advisor-product-head h3{font-family:Georgia,'Times New Roman',serif;font-size:23px;line-height:1.2;margin-bottom:8px}.advisor-product-head .note{font-size:10px;line-height:1.6}
.advisor-match-label{font-size:11px;color:#53633d;margin-top:16px}.advisor-candidate h4{font-size:12px;margin:16px 0 8px}
.advisor-purpose{background:#f0f4e6;border-radius:10px;padding:13px 15px;margin:14px 0}.advisor-purpose .eyebrow{font-size:9px;margin:0 0 8px}.advisor-purpose p:not(.eyebrow){font-size:13px;line-height:1.6;margin:0}.advisor-purpose small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:9px}
.advisor-use-preview{font-size:11px;line-height:1.65;margin:12px 0;color:var(--muted)}.advisor-use-preview strong{color:var(--ink);font-weight:500}.advisor-purpose-gap{font-size:11px;line-height:1.6;margin:12px 0}
.advisor-purpose-context{padding:18px;background:#f0f4e6;border:1px solid #c5d1b2;border-radius:12px;margin-bottom:20px}.advisor-purpose-context .eyebrow{font-size:9px;margin-bottom:10px}.advisor-purpose-context h2{font-size:20px;line-height:1.4;margin:0 0 10px}.advisor-purpose-context p:not(.eyebrow){font-size:12px;line-height:1.65;margin:0 0 10px}.advisor-purpose-context small{display:block;font-size:10px;line-height:1.65;color:var(--muted)}
.advisor-purpose-coverage{margin:14px 0 0;font-size:11px;line-height:1.65;color:var(--muted)}.advisor-purpose-coverage summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--ink)}.advisor-purpose-coverage p{margin:10px 0}.advisor-purpose-coverage ul{padding-left:18px;margin:10px 0}.advisor-purpose-context .advisor-purpose-coverage p{font-size:11px;margin:10px 0}
.advisor-reasons{padding-left:18px;margin:8px 0;font-size:12px;line-height:1.7}.advisor-reasons li{margin:8px 0}
.advisor-price{font-size:14px;font-weight:500;margin:12px 0 16px}.advisor-price small{font-size:10px;font-weight:400;color:var(--muted);display:block;margin-top:6px;line-height:1.6}
.advisor-routine-note{padding:12px;background:#f3f0e7;border-radius:10px;margin-top:16px}.advisor-routine-note h4{margin:0 0 8px}.advisor-routine-note p{font-size:12px;line-height:1.6;margin-top:8px}
.advisor-candidate details{border-top:1px solid var(--line);font-size:12px;line-height:1.7}.advisor-candidate details summary{min-height:44px;font-weight:500;padding:12px 0;cursor:pointer}.advisor-candidate details p{margin:12px 0}.advisor-candidate ol{padding-left:20px}.advisor-candidate .note{font-size:10px}
.advisor-receipts{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:14px 0 0;font-size:12px}
.advisor-no-buy{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #afbf89;background:#edf4dc;border-radius:14px;padding:20px;margin:20px 0}.advisor-no-buy h2{font-size:22px;margin-bottom:10px}.advisor-no-buy p:not(.eyebrow){font-size:12px;line-height:1.7}.advisor-no-buy button{min-height:44px;white-space:normal}.advisor-no-buy [role=status]:empty{display:none}.advisor-no-buy [role=status]:not(:empty){grid-column:1/-1;font-weight:500}
.advisor-method{padding:18px 0;font-size:12px;border-top:1px solid var(--line)}.advisor-method summary{min-height:44px;cursor:pointer}.advisor-method p{margin-top:14px;line-height:1.7}
.advisor-empty,.advisor-warning{padding:16px;background:#faeee1;border:1px solid #ddc8b6;border-radius:10px;font-size:12px;margin:18px 0;line-height:1.6}.advisor-empty button{min-height:44px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:10px;margin:10px 8px 0 0}.advisor-reference-note{font-size:11px;margin:16px 0;line-height:1.6}
.advisor-entry{margin-top:28px;padding:20px;border:1px solid #bacb99;border-radius:14px;background:#edf4dc;max-width:53%}.advisor-entry h2{font-size:25px;margin:8px 0 12px}.advisor-entry p{font-size:12px;line-height:1.6;margin-bottom:14px}.advisor-entry .primary{display:inline-block;text-decoration:none;white-space:normal}
.page-advisor .hero-copy{display:none}.page-advisor .landing{padding-top:28px}.page-advisor nav a[href='/?advisor=1']{text-decoration:underline;text-underline-offset:6px}
@media(max-width:600px){
  .advisor-topbar{gap:8px;margin-bottom:18px}.advisor-topbar .eyebrow{font-size:9px;letter-spacing:.8px}.advisor-topbar button{font-size:11px}.advisor-progress{margin-bottom:20px;gap:14px}
  .advisor-form{padding:22px 18px;border-radius:16px}.advisor-form h1,.advisor-results-head h1{font-size:32px}.advisor-question-help{font-size:13px;margin-bottom:20px}.advisor-choices button{padding:15px;min-height:76px}
  .advisor-form[data-advisor-question=category] .advisor-choices{gap:8px}.advisor-form[data-advisor-question=category] .advisor-choices button{padding:11px;gap:8px}
  .advisor-actions{gap:12px}.advisor-actions .link-button{font-size:11px}.advisor-live-count span{display:block}
  .advisor-candidate{padding:18px}.advisor-product-head{gap:12px}.advisor-product-head h3{font-size:21px}.advisor-no-buy{grid-template-columns:1fr}.advisor-no-buy button{justify-self:start}
  .advisor-entry{max-width:100%;margin-top:22px}.advisor-entry h2{font-size:24px}.site-header{height:auto;min-height:80px;gap:12px;padding-top:12px;padding-bottom:12px}.site-header nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.site-header nav a[href='/?advisor=1']{display:inline}.page-advisor .landing{padding-top:18px}
}
@media(prefers-reduced-motion:reduce){.advisor-progress i{transition:none}}

/* UX pass 2026-10-03 */
.advisor-answer-summary button .advisor-edit{margin-left:6px;color:var(--muted);font-size:12px;white-space:nowrap}
.advisor-receipts .primary{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}
.advisor-compare{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:18px 0}
.advisor-compare .secondary{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}

/* Server-rendered screens (docs/advisor-server-2026-10-03.md): pending states keep the current screen in place. */
.advisor-form,.advisor-results{position:relative}
.advisor [aria-busy=true]{cursor:progress}
.advisor-pending .advisor-form::before,.advisor-pending .advisor-results::before{content:'';position:absolute;left:20px;right:20px;top:-1px;height:2px;border-radius:2px;background:linear-gradient(90deg,#dfe6cf 0,#dfe6cf 35%,#71854b 50%,#dfe6cf 65%,#dfe6cf 100%) 0 0/300% 100%;animation:advisor-progress 1.2s linear infinite}
.advisor-pending .advisor-results::before{left:0;right:0;top:-12px}
@keyframes advisor-progress{from{background-position:100% 0}to{background-position:0 0}}
.advisor-options[aria-busy=true]{position:relative;min-height:56px}.advisor-options[aria-busy=true]>:not(.advisor-searching){opacity:.5;transition:opacity .15s}
.advisor-form .advisor-searching{margin:0;color:var(--muted)}.advisor-options>.advisor-searching:only-child{padding:17px 2px}
.advisor-options>.advisor-searching:not(:only-child){position:absolute;top:8px;right:10px;z-index:1;padding:2px 10px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 1px 4px #0000000f}
.advisor-live-count[aria-busy=true]{opacity:.55}
.advisor-error{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin:16px 0;padding:10px 12px;background:#faeee1;border:1px solid #ddc8b6;border-radius:8px;color:#793e31;font-size:12px;line-height:1.6}
.advisor-error p{margin:0}.advisor-error button{min-height:44px;font-size:12px;white-space:nowrap}
.advisor-skeleton-line,.advisor-skeleton-block,.advisor-skeleton-chip{display:block;background:linear-gradient(90deg,#ece9e0 0,#ece9e0 40%,#f7f5f0 50%,#ece9e0 60%,#ece9e0 100%) 0 0/300% 100%;border-radius:6px;animation:advisor-shimmer 1.6s linear infinite}
.advisor-skeleton-line{display:inline-block;height:.8em;max-width:100%;vertical-align:middle}.advisor-skeleton .advisor-product-head>div{flex:1}.advisor-skeleton .advisor-product-head h3 .advisor-skeleton-line{height:.75em}
.advisor-skeleton-purpose{height:101px;margin:14px 0;border-radius:10px}.advisor-skeleton-price{height:46px;width:48%;margin:12px 0 16px}
.advisor-skeleton-rule{display:block;height:45px;border-top:1px solid var(--line)}.advisor-skeleton .advisor-receipts{display:block}
.advisor-skeleton-chip{height:44px;max-width:45%;border-radius:20px}.advisor-skeleton-context{height:182px;margin-bottom:20px;border-radius:12px}
@media(max-width:600px){
 .advisor-skeleton .advisor-product-head{min-height:120px}.advisor-skeleton-purpose{height:140px}.advisor-skeleton .advisor-use-preview{min-height:59px}
 .advisor-skeleton-price{height:85px;width:70%}.advisor-skeleton .advisor-receipts{min-height:46px}.advisor-skeleton-context{height:248px}
}
@keyframes advisor-shimmer{from{background-position:100% 0}to{background-position:0 0}}
@media(prefers-reduced-motion:reduce){
 .advisor-pending .advisor-form::before,.advisor-pending .advisor-results::before{animation:none;background:#9aad78}
 .advisor-skeleton-line,.advisor-skeleton-block,.advisor-skeleton-chip{animation:none}.advisor-options[aria-busy=true]>*{transition:none}
}

/* Focus moves to the new question or shortlist heading for screen readers; a heading is not a control, so no ring. */
.advisor [tabindex="-1"]:focus,.advisor [tabindex="-1"]:focus-visible{outline:none}
.advisor-product-head .product-photo{width:120px;height:150px;flex:none}
.advisor-product-head .product-photo img{transform:none}
@media(max-width:600px){.advisor-product-head .product-photo{width:100%;height:160px;margin:0 0 12px}.advisor-product-head{display:block}}

/* Desktop usability pass (2026-10-03). D-A1: desktop typography floor. */
@media (min-width:601px){
 .advisor-progress>span,.advisor-context,.advisor-form .note,.advisor-options button span,.advisor-options button small,.advisor-answer-summary button,.advisor-product-head .note,.advisor-match-label,.advisor-purpose small,.advisor-use-preview,.advisor-purpose-gap,.advisor-purpose-context small,.advisor-price small,.advisor-candidate .note,.advisor-reference-note,.advisor-topbar button,.advisor-actions .link-button,.advisor-form[data-advisor-question=category] .advisor-choices small,.advisor-context small,.advisor-live-count{font-size:12px}
 .advisor-form>.eyebrow,.advisor-purpose .eyebrow,.advisor-purpose-context .eyebrow,.advisor-topbar .eyebrow,.advisor-product-head .eyebrow{font-size:12px;letter-spacing:1.2px}
}
