/* D22 screen composition. Utility workbenches retain their isolated tool styles.
   Brand tokens/fonts/icons remain byte-identical to the approved package. */
:root {
  --screen-display: clamp(2.5rem, 3.1vw, 2.75rem);
  --screen-title: clamp(1.625rem, 2.5vw, 2rem);
  --screen-ease-out: cubic-bezier(.16,1,.3,1);
  --screen-ease-in: cubic-bezier(.4,0,1,1);
  --screen-motion-close: 200ms;
}
html {scroll-padding-top:100px}
/* Reserve fixed chrome when keyboard focus triggers native document scrolling.
   Dialog scrolling is independent; the dock is hidden above the mobile breakpoint. */
@media (max-width:760px) {
  html {scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  :where(main,.site-footer) :is(button,a[href],input,select,[tabindex]) {scroll-margin-block:var(--space-2)}
}
.container {width:calc(100% - 64px)}
.masthead {height:72px;top:12px;padding:0 var(--space-3);margin-block:12px;border-radius:var(--radius-4);gap:var(--space-3)}
.brand {gap:var(--space-detail)}
.wordmark {font-size:var(--type-brand-wordmark);letter-spacing:var(--tracking-wordmark)}
.brand-place {padding-left:var(--space-detail);font-size:var(--type-xs)}
.desktop-nav {gap:var(--space-3)}
.desktop-nav a {font-size:var(--type-ui);border-bottom:2px solid transparent;min-width:44px;justify-content:center}
.desktop-nav a[aria-current=page] {border-color:var(--accent)}
.header-actions {gap:var(--space-1)}
.header-actions .icon-button {border:0;background:transparent;border-radius:var(--radius-2)}
.header-actions .account-entry {min-height:44px;padding:10px 16px;font-size:var(--type-xs)}
/* Board 03: keep search usable in the capsule, not just in the hero.
   A compact icon replaces the form only when the four journey links need space. */
.masthead {gap:var(--space-2)}
.desktop-nav {flex:none}
.header-search-form {display:flex;align-items:center;flex:1 1 220px;min-width:180px;max-width:300px;gap:var(--space-1);padding:3px 3px 3px var(--space-detail);border:1px solid var(--ink-muted);border-radius:var(--radius-2);background:var(--surface-soft);color:var(--ink);transition:background var(--motion-fast),border-color var(--motion-fast)}
.header-search-form:focus-within {border-color:var(--primary);background:var(--surface)}
.header-search-form input {min-height:44px;padding:var(--space-1) 0;border:0;border-radius:0;background:transparent;font-size:var(--type-ui)}
.header-search-form .header-submit {width:44px;height:44px;border:0;border-radius:var(--radius-2);background:var(--primary);color:var(--primary-foreground)}
.header-submit .icon {width:20px;height:20px}
.header-submit:hover {background:var(--primary);box-shadow:var(--shadow-button-hover)}
.header-search {display:none}
.account-symbol {display:none}
.hero {display:block;min-height:340px;border-radius:var(--radius-4);overflow:hidden}
.hero-media {background:var(--jt-forest)}
.hero-photo-light {object-position:50% 68%}
.hero-photo-dark {object-position:var(--hero-dark-focus)}
.hero-photo {transition:opacity var(--motion-route) var(--screen-ease-out),visibility 0s linear var(--motion-route)}
[data-theme=light] .hero-photo-light,[data-theme=dark] .hero-photo-dark {transition-delay:0s}
.hero-shade {background:linear-gradient(90deg,rgba(15,24,18,.8) 0%,rgba(15,24,18,.64) 36%,rgba(15,24,18,.05) 74%)}
.hero-copy {padding:32px 40px 118px;max-width:630px;min-height:340px}
.hero .eyebrow {font-size:var(--type-overline);letter-spacing:var(--tracking-label);margin-bottom:var(--space-2);color:var(--hero-copy)}
.hero h1 {font-size:var(--screen-display);line-height:var(--line-tight);letter-spacing:var(--tracking-hero);font-weight:var(--weight-medium)}
.hero-description {margin-top:var(--space-2);font-size:var(--type-lead);line-height:var(--line-body)}
.hero-search {position:absolute;z-index:3;bottom:44px;left:40px;width:calc(100% - 80px);max-width:820px;display:flex;align-items:center;gap:var(--space-detail);padding:5px 5px 5px var(--space-3);background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--radius-pill);box-shadow:var(--shadow-soft)}
.hero-search>.icon {width:20px;height:20px;color:var(--ink-secondary)}
.hero-search input {border:0;background:transparent;color:var(--ink);padding:10px 0;min-width:0;caret-color:var(--primary)}
.hero-search input::placeholder {color:var(--ink-secondary);opacity:1}
.hero-search .button {margin:0;border-radius:var(--radius-pill);min-height:44px;padding:10px 24px;white-space:nowrap}
.hero-location {display:flex;align-items:center;gap:var(--space-1);padding:0 var(--space-2);min-height:44px;white-space:nowrap;font-size:var(--type-ui);border-left:1px solid var(--line)}
.hero-location .icon {width:18px;height:18px}
.hero-caption {bottom:22px;right:24px;left:auto;flex-direction:row;align-items:center;gap:var(--space-detail);background:none;padding:0;font-size:var(--type-xs)}
.photo-credit {min-height:44px}
[data-theme=dark] .hero-copy {padding:32px 40px 118px;max-width:630px;text-align:left}
[data-theme=dark] .hero-shade {background:linear-gradient(90deg,rgba(9,20,15,.88) 0%,rgba(9,20,15,.72) 36%,rgba(9,20,15,.08) 74%,rgba(9,20,15,0) 100%)}
.utility-shortcuts {gap:0;width:calc(100% - 112px);max-width:1152px;margin-top:-18px;padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-4);box-shadow:var(--shadow-soft)}
.shortcut {min-height:78px;border:0;box-shadow:none;background:none;padding:16px 20px;border-right:1px solid var(--line);border-radius:0;gap:var(--space-detail)}
.shortcut:last-child {border:0}
.shortcut-icon {width:48px;height:48px;background:var(--warning-soft);color:var(--gold-ink)}
.shortcut strong {font-size:var(--type-emphasis)}
.shortcut small {font-size:var(--type-xs)}
.shortcut .chevron {width:16px;height:16px}
.shortcut:hover {box-shadow:none;background:var(--surface-soft);transform:none;border-radius:var(--radius-3)}
.section {padding-top:var(--space-5)}
.daily-section {padding-top:var(--space-4)}
.daily-section .label-narrow {display:none}
.section-heading {margin-bottom:var(--space-3);gap:var(--space-3)}
.section-heading h2 {font-size:var(--screen-title);font-weight:var(--weight-medium)}
.section-heading .eyebrow {font-size:var(--type-overline);margin-bottom:var(--space-1)}
.section-description {font-size:var(--type-sm)}
.freshness-note {padding:var(--space-detail) var(--space-2);font-size:var(--type-xs);gap:var(--space-detail);border:0;background:var(--surface-soft)}
.freshness-note .icon {margin:0}
.daily-grid {grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--grid-gutter);margin-top:var(--space-3);align-items:stretch}
.daily-grid .deal-card,.daily-grid .deal-card:nth-child(3) {grid-column:span 3;display:flex;flex-direction:column}
.daily-grid .deal-action-row {margin-top:auto;padding-top:var(--space-1)}
.card-price-row {display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-1)}
.deal-card .card-price-row .pill {margin:0;flex:none}
.daily-grid .observation {margin:var(--space-1) 0}
.deal-card {border-radius:var(--radius-3);box-shadow:none;transition:transform var(--motion-card) var(--screen-ease-out),box-shadow var(--motion-card) var(--screen-ease-out)}
.card-media {position:relative;width:100%;flex:none;overflow:hidden}
.product-art.editorial-art {height:auto!important;aspect-ratio:16/9;width:100%!important;min-height:0!important;border:0;background:#EFEDE5;border-radius:0}
.product-art.editorial-art:before {display:none}
.category-art {width:100%;height:auto;display:block;aspect-ratio:16/9}
.art-caption {left:var(--space-detail);bottom:6px;right:auto;font-size:var(--type-xs);color:#4E514B;background:rgb(255 254 250 / 85%);padding:2px 6px;border-radius:var(--radius-1)}
.save-button {position:absolute;top:8px;right:8px;width:44px;height:44px;background:rgb(255 254 250 / 94%);color:var(--jt-forest);border-color:#D8D3C8}
.save-button[aria-pressed=true] {background:var(--jt-forest);color:var(--jt-ivory)}
.save-button[aria-pressed=true] .icon {fill:currentColor}
.deal-body,.catalog-grid .deal-body,.daily-grid .deal-card .deal-body,.daily-grid .deal-card:nth-child(3) .deal-body {padding:var(--space-2);width:auto}
.deal-card h3,.catalog-grid .deal-card h3,.daily-grid .deal-card h3 {font-family:var(--font-ui);font-size:var(--type-md);line-height:var(--line-copy);font-weight:var(--weight-semibold);margin:0 0 8px;min-height:2.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.deal-card .pill {font-size:var(--type-xs);margin-top:var(--space-1);margin-bottom:var(--space-1);padding:5px 8px}
.product-context {font-size:var(--type-xs)!important;margin-bottom:var(--space-detail)!important}
.daily-grid .product-context {display:none}
.product-price-label {font-size:var(--type-xs)}
.product-price,.catalog-grid .product-price,.daily-grid .product-price {font-size:var(--type-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-heading);overflow-wrap:anywhere}
.observation {font-size:var(--type-xs);margin:8px 0 16px;line-height:var(--line-body)}
.deal-action-row .button {min-height:44px;font-size:var(--type-xs);padding:10px}
.deal-action-row .icon-button {height:44px}
.route-disclosure {font-size:var(--type-xs);line-height:var(--line-body);margin-top:var(--space-1)}
.comparison-entry {grid-column:span 3;display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:var(--space-3);background:var(--info-soft);border:1px solid var(--line);border-radius:var(--radius-3)}
.comparison-entry-icon {margin-bottom:var(--space-2);color:var(--info)}
.comparison-entry-icon .icon {width:36px;height:36px}
.comparison-entry h3 {font-size:var(--type-lg);margin-bottom:var(--space-1)}
.comparison-entry>p {font-size:var(--type-sm);color:var(--ink-secondary)}
.comparison-platforms {width:100%;margin:var(--space-3) 0}
.comparison-platforms>span {display:flex;flex-direction:column;gap:4px;padding:12px 0;border-bottom:1px solid var(--line);font-size:var(--type-sm);font-weight:var(--weight-medium)}
.comparison-platforms small {font-size:var(--type-xs);color:var(--ink-secondary);font-weight:var(--weight-regular)}
.comparison-entry .button {width:100%;font-size:var(--type-xs);padding:10px;margin-top:auto}
.comparison-entry>.pill {margin-top:var(--space-detail);font-size:var(--type-xs);align-self:center}
.city-guide {padding:var(--space-5) 0}
.guide-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gutter)}
.guide-card {position:relative;border:1px solid var(--line);padding:var(--space-3);border-radius:var(--radius-3);background:var(--surface);min-width:0}
.guide-card>.icon {color:var(--gold-ink);margin-bottom:var(--space-2)}
.guide-number {position:absolute;right:var(--space-3);top:var(--space-3);color:var(--ink-muted);font-size:var(--type-xs);letter-spacing:var(--tracking-meta)}
.guide-card h3 {font-size:var(--type-lg);margin-bottom:var(--space-detail)}
.guide-card p {font-size:var(--type-sm);color:var(--ink-secondary);max-width:29em}
.guide-card .text-link {margin-top:var(--space-2);font-size:var(--type-xs)}
.journey-screen {padding-top:var(--space-4);padding-bottom:var(--space-5);min-height:65vh;animation:screen-enter var(--motion-route) var(--screen-ease-out)}
.split-section {margin-top:0;padding-bottom:var(--space-5)}
.split-section .section {padding-top:var(--space-4)}
.voucher-section {margin-top:var(--space-4);margin-bottom:var(--space-5);min-height:0}
.site-footer {padding:var(--space-4) 0;background:var(--jt-forest)}
.footer-content {gap:var(--space-4)}
.footer-brand .wordmark {font-size:var(--type-brand-wordmark)}
.footer-brand p {font-size:var(--type-sm);margin-top:var(--space-1)}
.footer-content>div>p,.footer-content strong {font-size:var(--type-xs)}
.button,.icon-button,.filter-chip {transition:background var(--motion-fast) var(--screen-ease-out),box-shadow var(--motion-fast) var(--screen-ease-out),transform var(--motion-fast) var(--screen-ease-out)}
.button:active,.icon-button:active {transform:translateY(1px);transition-duration:var(--motion-press)}
[data-theme=dark] .button-primary:hover {box-shadow:0 0 0 1px var(--success),0 0 16px rgb(113 201 148 / 14%)}
dialog[open] {animation:sheet-enter var(--motion-sheet) var(--screen-ease-out)}
dialog[open]::backdrop {animation:backdrop-enter var(--motion-sheet) var(--screen-ease-out)}
dialog[open][data-closing=true] {animation:sheet-exit var(--screen-motion-close) var(--screen-ease-in) forwards}
dialog[open][data-closing=true]::backdrop {animation:backdrop-exit var(--screen-motion-close) var(--screen-ease-in) forwards}
.toast:not([hidden]) {animation:toast-enter var(--motion-card) var(--screen-ease-out)}
.panel-intro {font-size:var(--type-sm);color:var(--ink-secondary);margin-bottom:var(--space-3)}
.search-intent {display:flex;align-items:center;gap:var(--space-detail);padding:6px 16px;border:1px solid var(--candidate-control-boundary);border-radius:var(--radius-3)}
.search-intent input {border:0;padding-inline:0;background:transparent}
.search-suggestions {display:flex;gap:var(--space-1);flex-wrap:wrap;margin:var(--space-2) 0}
.search-results {display:flex;flex-direction:column;gap:var(--space-1)}
.search-scope,.search-summary {font-size:var(--type-xs);color:var(--ink-muted);line-height:var(--line-body)}
.search-scope {margin-top:var(--space-detail)}
.search-summary {margin-bottom:var(--space-detail)}
.search-result-row {display:grid;grid-template-columns:80px 1fr auto;text-align:left;gap:var(--space-2);align-items:center;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-3);padding:var(--space-detail);width:100%;min-width:0}
.search-result-row:hover {background:var(--surface-soft)}
.search-result-row>span {min-width:0}
.search-result-row strong {font-size:var(--type-sm);display:block}
.search-result-row small {display:block;font-size:var(--type-xs);color:var(--ink-muted);margin-top:4px}
.search-row-art {width:80px;border-radius:var(--radius-2);overflow:hidden}
.search-row-art .art-caption {display:none}
.search-row-price {font-size:var(--type-sm);max-width:170px;overflow-wrap:anywhere}
.search-row-price .icon {width:16px;height:16px;margin-left:8px;vertical-align:middle}
.place-result-icon {display:flex;align-items:center;justify-content:center;width:80px;height:52px;background:var(--warning-soft);color:var(--gold-ink);border-radius:var(--radius-2)}
.saved-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}
.empty-state {display:flex;align-items:center;flex-direction:column;text-align:center;gap:var(--space-2);padding:var(--space-5) var(--space-2)}
.empty-state>.icon {width:40px;height:40px;color:var(--gold-ink)}
.empty-state h3 {font-size:var(--type-lg)}
.empty-state p {font-size:var(--type-sm);color:var(--ink-secondary);max-width:34em}
.notice-item {display:flex;gap:var(--space-2);border-top:1px solid var(--line);padding:var(--space-3) 0;margin-top:var(--space-2);font-size:var(--type-sm);color:var(--ink-secondary)}
.notice-item>.icon {color:var(--gold-ink)}
.notice-item h3 {font-size:var(--type-lg);color:var(--ink);margin-bottom:var(--space-1)}
.workspace-dialog {width:min(780px,calc(100% - 32px))}
.detail-tabs {display:flex;border-bottom:1px solid var(--line);margin-bottom:var(--space-3);gap:var(--space-2)}
.detail-tabs button {font-size:var(--type-sm);padding:10px 12px;min-height:44px;background:transparent;color:var(--ink-secondary);border-bottom:2px solid transparent}
.detail-tabs button[aria-selected=true] {color:var(--ink);border-color:var(--accent);font-weight:var(--weight-semibold)}
.hash-value {overflow-wrap:anywhere;font-family:var(--font-ui);font-size:var(--type-xs)}
.voucher-proof h3 {font-size:var(--type-lg);margin:var(--space-2) 0}
.voucher-proof p {font-size:var(--type-sm);color:var(--ink-secondary)}
.voucher-proof dl {margin:0 0 var(--space-3)}
.voucher-proof dl>div {display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-detail) 0;border-bottom:1px solid var(--line);font-size:var(--type-sm)}
.voucher-proof dd {margin:0;color:var(--ink-secondary);text-align:right}
.compare-dialog {width:min(1040px,calc(100% - 32px))}
.comparison-decision {margin-bottom:var(--space-3);padding:var(--space-2)}
.comparison-decision h3 {margin:var(--space-1) 0;font-size:var(--type-sm)}
.comparison-decision p {font-size:var(--type-xs)}
.comparison-table {margin-bottom:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-3);overflow:hidden}
.comparison-table-head,.comparison-table .market-row {display:grid;grid-template-columns:1fr 1.4fr 1.2fr 1fr 1fr;gap:var(--space-2);padding:var(--space-2);align-items:start}
.comparison-table-head {background:var(--surface-soft);font-size:var(--type-xs);color:var(--ink-secondary)}
.comparison-table .market-row {border:0;border-top:1px solid var(--line);border-radius:0;margin:0;font-size:var(--type-sm)}
.comparison-table .market-row h3 {font-family:var(--font-ui);font-size:var(--type-sm);padding-top:2px}
.comparison-table .market-row small {display:none}
.comparison-table .market-row strong {display:block;font-size:var(--type-sm);overflow-wrap:anywhere}
.comparison-table .market-row [role=cell]>span {display:block;font-size:var(--type-xs);color:var(--ink-muted);margin-top:4px}
.market-route {grid-column:1/-1}
.market-route .text-link,.market-route .observation {font-size:var(--type-xs);margin:0;min-height:44px;display:flex;align-items:center}
.mobile-dock button {color:var(--ink-muted);background:none}
@keyframes screen-enter {from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes sheet-enter {from{transform:translateY(12px)}to{transform:none}}
@keyframes backdrop-enter {from{opacity:0}to{opacity:1}}
@keyframes sheet-exit {from{transform:none}to{transform:translateY(12px)}}
@keyframes backdrop-exit {from{opacity:1}to{opacity:0}}
@keyframes toast-enter {from{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}
@media(min-width:1101px) {
  .hero-photo-dark {left:0;width:100%;object-position:var(--hero-dark-focus)}
  [data-theme=dark] .hero-copy {max-width:630px;padding:36px 48px 120px 40px}
  [data-theme=dark] .hero-shade {background:linear-gradient(90deg,rgba(9,20,15,.88) 0%,rgba(9,20,15,.72) 36%,rgba(9,20,15,.08) 74%,rgba(9,20,15,0) 100%)}
}
@media(max-width:1100px) {
  .header-search-form {display:none}
  .header-search {display:inline-flex}
  .header-actions .account-entry {width:44px;padding:0}
  .account-symbol {display:block}
  .account-label {display:none}
  .desktop-nav {gap:var(--space-2)}
  .masthead {gap:var(--space-2);padding-inline:var(--space-2)}
  .utility-shortcuts {width:calc(100% - 96px)}
  .shortcut {padding:var(--space-2);gap:var(--space-1)}
  .shortcut .chevron {display:none}
  .shortcut small {max-width:12em}
  .daily-grid {gap:var(--space-2)}
  .comparison-entry {padding:var(--space-2)}
  .comparison-entry>.pill {text-align:center}
  .hero-search {bottom:74px}
  .hero-copy,[data-theme=dark] .hero-copy {padding-bottom:148px}
}
@media(max-width:900px) and (min-width:761px) {
  .desktop-nav {gap:var(--space-1)}
  .brand-place {display:block;padding-left:var(--space-1);white-space:nowrap}
  .header-actions .account-entry {display:inline-flex;padding-inline:0}
  .daily-grid .deal-card,.daily-grid .deal-card:nth-child(3),.comparison-entry {grid-column:span 6}
  .comparison-entry {justify-content:center}
  .comparison-platforms {margin-block:var(--space-2)}
  .hero-copy {padding-left:var(--space-4);padding-right:var(--space-4)}
  [data-theme=dark] .hero-copy {max-width:560px;padding:32px var(--space-4) 148px}
  .utility-shortcuts {width:calc(100% - 80px)}
  .shortcut {flex-direction:column;align-items:center;text-align:center;border-right:1px solid var(--line)}
  .shortcut-icon {width:44px;height:44px}
  .guide-card {padding:var(--space-2)}
}
@media(max-width:760px) {
  .container {width:calc(100% - 32px)}
  .masthead {height:64px;top:8px;margin-block:8px;border-radius:var(--radius-3);padding-inline:var(--space-2);gap:var(--space-1)}
  .brand {gap:var(--space-1)}
  .wordmark {font-size:var(--type-phone-brand)}
  .desktop-save,.desktop-notifications,.account-entry {display:none}
  .brand-place {display:block;padding-left:var(--space-1);white-space:nowrap}
  .header-actions {gap:4px}
  .masthead .icon-button {width:44px;height:44px}
  .header-actions .icon {width:20px;height:20px}
  /* D22 boards 02/03: a photographic hero, not a separate forest copy band. */
  .hero {height:240px;min-height:0;border-radius:var(--radius-3);background:var(--jt-forest)}
  .hero-media {height:100%;bottom:0}
  .hero-photo-light {object-position:50% 70%}
  .hero-shade,[data-theme=dark] .hero-shade {background:linear-gradient(180deg,rgba(9,20,15,.75) 0%,rgba(9,20,15,.5) 27%,rgba(9,20,15,.03) 50%,rgba(9,20,15,.03) 68%,rgba(9,20,15,.45) 100%)}
  .hero-copy,[data-theme=dark] .hero-copy {position:absolute;top:16px;bottom:auto;left:16px;right:16px;padding:0;min-height:0;margin:0;max-width:none}
  .hero .eyebrow {display:none}
  .hero h1 {font-size:1.4375rem;line-height:var(--line-tight);letter-spacing:var(--tracking-hero)}
  .hero h1 span {display:block}
  .hero-description {display:none}
  .hero-photo-dark {object-position:var(--hero-dark-focus-mobile)}
  .hero-search {left:16px;bottom:64px;width:calc(100% - 32px);max-width:none;padding:4px 4px 4px 14px;gap:8px;border-radius:var(--radius-pill)}
  .hero-search input {font-size:var(--type-sm)}
  .hero-search .button {min-width:44px;width:44px;padding:0;font-size:0;gap:0}
  .hero-search .button .icon {width:20px;height:20px}
  .hero-location {display:none}
  .hero-caption {bottom:16px;left:auto;right:var(--space-2);gap:0;max-width:calc(100% - 32px)}
  .hero-caption>span {display:none}
  .photo-credit {height:44px;min-height:44px;font-size:var(--type-xs);padding:0 8px;transform:none;background:rgba(9,20,15,.82);border-radius:var(--radius-1)}
  .utility-shortcuts {width:calc(100% - 64px);padding:var(--space-1);gap:0;margin-top:-12px;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--radius-3)}
  .shortcut {min-height:72px;padding:4px;gap:var(--space-1);flex-direction:column;text-align:center;border-right:1px solid var(--line);border-radius:0;align-items:center}
  .shortcut strong {font-size:var(--type-xs);font-family:var(--font-ui);font-weight:var(--weight-medium);white-space:nowrap}
  .shortcut small {display:none}
  .shortcut-icon {width:36px;height:36px}
  .shortcut-icon .icon {width:22px;height:22px}
  .section {padding-top:var(--space-3)}
  .daily-section {padding-top:var(--space-1)}
  .section-heading {flex-direction:row;align-items:flex-end;gap:var(--space-2);margin-bottom:var(--space-2)}
  .section-heading .eyebrow {font-size:var(--type-overline);letter-spacing:var(--tracking-meta)}
  .section-heading h2 {font-size:var(--type-phone-title)}
  .section-heading>.text-link {max-width:116px;flex:none;font-size:var(--type-xs);text-align:right;justify-content:flex-end}
  .section-heading>.text-link .icon {width:16px;height:16px}
  .daily-section .section-heading .eyebrow {display:none}
  .daily-section .section-heading {margin-bottom:0}
  .freshness-note {font-size:var(--type-xs);padding:var(--space-detail);gap:var(--space-1)}
  .daily-section .freshness-note {padding:0;min-height:24px;background:none;align-items:center}
  .daily-section .freshness-note .icon {width:16px;height:16px}
  .daily-grid {grid-template-columns:1fr;gap:var(--space-2);margin-top:var(--space-1)}
  /* Daily recommendations remain the canonical Card, not a portrait List Row. */
  .daily-grid .deal-card,.daily-grid .deal-card:nth-child(3) {grid-column:auto;display:flex;flex-direction:column}
  .daily-grid .card-media {height:auto;align-self:stretch;background:var(--surface-soft)}
  .daily-grid .product-art.editorial-art {height:auto!important;aspect-ratio:16/9}
  .daily-grid .category-art {width:100%;max-width:100%;flex:none}
  .daily-grid .art-caption {font-size:var(--type-xs);right:auto;left:var(--space-detail);text-align:left;bottom:6px}
  .art-caption-detail {display:none}
  .daily-grid .save-button {right:6px;top:6px}
  .daily-grid .deal-card .deal-body,.daily-grid .deal-card:nth-child(3) .deal-body {padding:var(--space-1) var(--space-detail) var(--space-detail)}
  .daily-grid .deal-card h3 {font-size:var(--type-sm);min-height:0;margin-bottom:8px}
  .daily-grid .product-context {display:none}
  .daily-grid .product-price {font-size:var(--type-price)}
  .daily-grid .deal-card .pill {margin-bottom:var(--space-1);font-size:var(--type-xs)}
  .daily-grid .observation {margin:var(--space-1) 0;font-size:var(--type-xs)}
  .daily-grid .deal-action-row {gap:var(--space-1)}
  .daily-grid .deal-action-row .button {padding:8px;font-size:var(--type-xs)}
  .daily-grid .route-disclosure {font-size:var(--type-xs);margin-top:var(--space-1)}
  .comparison-entry {grid-column:auto;padding:var(--space-3);display:grid;grid-template-columns:1fr auto;column-gap:var(--space-2)}
  .comparison-entry-icon {display:none}
  .comparison-entry h3,.comparison-entry>p,.comparison-platforms {grid-column:1/-1}
  .comparison-platforms {display:flex;gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap}
  .comparison-platforms>span {flex:1;min-width:100px;font-size:var(--type-xs)}
  .comparison-entry .button {font-size:var(--type-xs)}
  .comparison-entry>.pill {margin-top:0;font-size:var(--type-xs);max-width:150px;text-align:center}
  .city-guide {padding:var(--space-4) 0}
  .guide-grid {grid-template-columns:1fr;gap:var(--space-detail)}
  .guide-card {padding:var(--space-2) var(--space-3)}
  .guide-card>.icon {margin-bottom:var(--space-1)}
  .guide-card h3 {font-size:var(--type-emphasis)}
  .guide-card p {font-size:var(--type-xs)}
  .guide-card .text-link {margin-top:var(--space-1)}
  .journey-screen .section-heading {flex-direction:column;align-items:flex-start}
  .journey-screen {padding-top:var(--space-3)}
  .catalog-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-detail)}
  .catalog-grid .deal-card {display:flex;flex-direction:column}
  .catalog-grid .deal-body {padding:var(--space-detail)}
  .catalog-grid .deal-card h3 {font-size:var(--type-sm)}
  .catalog-grid .deal-card .pill {font-size:var(--type-xs)}
  .catalog-grid .deal-action-row {display:flex;flex-wrap:wrap;gap:var(--space-1)}
  .catalog-grid .deal-action-row .button {flex:1;min-width:70px}
  .catalog-grid .product-price {font-size:var(--type-price)}
  .catalog-grid .art-caption {font-size:var(--type-xs);padding:2px 4px;left:4px;bottom:4px}
  .site-footer {padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  .footer-content {grid-template-columns:1fr;gap:var(--space-3)}
  .footer-content>div:nth-child(2) {grid-row:auto;grid-column:auto}
  .mobile-dock {padding:6px 8px calc(6px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px rgb(0 0 0 / 6%)}
  .mobile-dock a,.mobile-dock button {display:flex;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:4px;min-width:44px;min-height:52px;font-size:var(--type-xs);border-radius:var(--radius-2);padding:4px 0;color:var(--ink-muted)}
  .mobile-dock a[aria-current=page] {color:var(--ink);background:var(--surface-soft)}
  .mobile-dock .icon {width:22px;height:22px}
  .workspace-dialog {width:100%;max-height:92dvh}
  .compare-dialog {width:100%;max-height:92dvh}
  dialog:before {content:'';display:block;width:40px;height:4px;border-radius:var(--radius-pill);background:var(--ink-muted);margin:-8px auto var(--space-2)}
  .comparison-table {border:0;overflow:visible}
  .comparison-table-head {display:none}
  .comparison-table .market-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-detail);padding:var(--space-detail);border:1px solid var(--line);border-radius:var(--radius-3);margin-bottom:var(--space-detail)}
  .comparison-table .market-row h3 {grid-column:1/-1;font-family:var(--font-ui);font-size:var(--type-sm)}
  .comparison-table .market-row small {display:block;font-size:var(--type-xs);color:var(--ink-muted);margin-bottom:6px}
  .comparison-table .market-row strong {font-size:var(--type-sm)}
  .search-result-row {grid-template-columns:64px 1fr;gap:var(--space-detail);padding:var(--space-detail)}
  .search-row-art {width:64px;grid-row:span 2}
  .search-row-price {grid-column:2;font-size:var(--type-xs);max-width:none}
  .search-result-row strong {font-size:var(--type-sm)}
  .search-result-row small {font-size:var(--type-xs)}
  .place-result-icon {width:64px}
  .search-result-row>.icon {display:none}
  .saved-grid {grid-template-columns:1fr}
  dialog[open] {animation:mobile-sheet-enter var(--motion-sheet) var(--screen-ease-out)}
  dialog[open][data-closing=true] {animation:mobile-sheet-exit var(--screen-motion-close) var(--screen-ease-in) forwards}
  @keyframes mobile-sheet-enter {from{transform:translateY(100%)}to{transform:none}}
  @keyframes mobile-sheet-exit {from{transform:none}to{transform:translateY(100%)}}
}
@media(max-width:360px) {
  .masthead {padding-inline:var(--space-detail);gap:4px}
  .wordmark {font-size:1.625rem}
  .header-search {display:none!important}
  .hero {height:216px;min-height:0}
  .hero-media {height:100%}
  .hero-copy,[data-theme=dark] .hero-copy {top:16px;padding:0;left:16px;right:16px;min-height:0}
  .hero h1 {font-size:1.25rem}
  .hero-description {display:none}
  .hero-search {left:12px;width:calc(100% - 24px);padding:3px 3px 3px 10px;gap:6px}
  .hero-search input {font-size:var(--type-ui)}
  .utility-shortcuts {width:calc(100% - 48px)}
  .section-heading {flex-direction:column;align-items:flex-start}
  .section-heading>.text-link {max-width:none}
  .daily-section .section-heading {flex-direction:row;align-items:center}
  .daily-section .section-heading {margin-bottom:var(--space-1)}
  .daily-section .section-heading>.text-link {max-width:88px}
  .daily-section .label-wide {display:none}
  .daily-section .label-narrow {display:inline}
  .daily-grid .deal-card,.daily-grid .deal-card:nth-child(3) {grid-template-columns:92px 1fr}
  .comparison-entry {display:flex;gap:var(--space-detail)}
  .comparison-entry>.pill {max-width:none;align-self:flex-start}
  .catalog-grid {grid-template-columns:1fr}
  .catalog-grid .deal-card {display:grid;grid-template-columns:100px 1fr}
  .catalog-grid .card-media {background:#EFEDE5;height:100%}
  .catalog-grid .product-art.editorial-art {height:100%!important;aspect-ratio:auto}
  .catalog-grid .category-art {width:145%;max-width:none;flex:none}
}
.feed-health {display:flex;align-items:flex-start;gap:var(--space-2);margin-block:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--warning-soft)}
.feed-health[hidden] {display:none}
.feed-health>.icon {flex:none;color:var(--warning)}
.feed-health>div {flex:1;min-width:0}
.feed-health h2,.feed-state h3 {font-family:var(--font-ui);font-size:var(--type-ui);line-height:var(--line-body);margin:0 0 var(--space-1)}
.feed-health p,.feed-state p {font-size:var(--type-sm);line-height:var(--line-body);color:var(--ink-secondary)}
.feed-state {grid-column:1/-1;display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface-soft);min-width:0}
.feed-state>.icon {flex:none;color:var(--ink-muted)}
.feed-state>div {min-width:0;flex:1}
.feed-state .button {margin-top:var(--space-2)}
.feed-loading-line {display:block;height:8px;max-width:360px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--line);animation:feed-loading 1.2s ease-in-out infinite}
@keyframes feed-loading {50%{opacity:.45}}
@media(max-width:600px) {.feed-health {flex-wrap:wrap;padding:var(--space-2)}.feed-health>div {flex-basis:calc(100% - 40px)}.feed-health>.button {margin-left:40px}.feed-state {padding:var(--space-2)}}
[data-reduce-motion=true],[data-reduce-motion=true] *,[data-reduce-motion=true] *::before,[data-reduce-motion=true] *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* D22-hosted local Feature 2. The child document keeps its own components and catalog. */
.concierge-screen {padding-bottom:var(--space-5);min-width:0}
.concierge-heading {align-items:flex-start;flex-direction:column;gap:var(--space-2)}
.concierge-heading>div {max-width:56rem}
.concierge-subnav {position:sticky;top:96px;z-index:18;display:flex;gap:8px;flex-wrap:wrap;margin:var(--space-3) 0;padding:8px;border:1px solid var(--line);border-radius:var(--radius-3);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(12px)}
.concierge-subnav .button {min-height:44px;padding:8px 12px;white-space:nowrap}
.concierge-status,.concierge-error {display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-2);background:var(--surface-soft);color:var(--ink-secondary)}
.concierge-error {justify-content:space-between;background:var(--warning-soft);color:var(--ink)}
.concierge-error[hidden],.concierge-status[hidden] {display:none}
.concierge-host {width:100%;min-width:0;overflow:clip;border:1px solid var(--line);border-radius:var(--radius-3);background:var(--surface)}
.jayt-f2-utility-mount,.jayt-f2-utility-frame {display:block;width:100%;min-width:0}
.jayt-f2-utility-frame {min-height:520px;border:0;background:var(--canvas)}
@media(max-width:760px) {
  .concierge-screen {padding-bottom:var(--space-4)}
  .concierge-subnav {top:80px;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;margin:var(--space-2) -4px;padding:6px;scroll-padding-inline:6px;scroll-behavior:auto}
  .concierge-subnav .button {flex:0 0 auto;min-width:44px;padding-inline:10px;font-size:var(--type-xs)}
  .concierge-error {align-items:flex-start;flex-direction:column}
  .mobile-dock {height:calc(56px + env(safe-area-inset-bottom));min-height:calc(56px + env(safe-area-inset-bottom));box-sizing:border-box;padding:4px 8px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px rgb(0 0 0 / 6%)}
  .mobile-dock a,.mobile-dock button {flex:1 1 0;min-width:0;min-height:48px;height:48px;gap:2px;padding:2px 0;font-size:10px;line-height:1.15;white-space:nowrap}
  .mobile-dock .icon {width:20px;height:20px}
}
@media(max-width:360px) {
  .mobile-dock a,.mobile-dock button {font-size:9px}
}
@media(max-width:900px) and (min-width:761px) {
  .header-actions {gap:2px}
  .desktop-nav {gap:var(--space-1)}
  .masthead {gap:4px}
  .masthead .wordmark-logo {width:84px;height:auto}
}
