/* Unified site palette: white, charcoal, green. Gray is reserved for borders and secondary text. */
:root{--paper:#fff;--white:#fff;--ink:#202522;--muted:#606662;--line:#dedfdf;--accent:#348368;--blue:#348368;--navy:#202522;--ice:#f7f8f7;--lime:#f7f8f7;--orange:#348368;--pink:#f7f8f7}
body,.header,.magazine-hero,.business-story{background:#fff;color:var(--ink)}
.header .brand .wordmark-artesia,.brand .wordmark-artesia,.magazine-intro h1 em{color:var(--accent)}
.brand .wordmark-business{color:var(--ink)}
.utility{background:#fff;color:var(--muted);border-bottom:1px solid var(--line)}
.script-note,.weekly-intro h2 em,.wander-section h2 em,.hot-heading h2 em,.opening-copy h3 em,.hot-heading h2>span{color:var(--accent)}
.magazine-intro .editor-note{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:none;transform:none}
.btn,.btn:hover,.btn:focus-visible{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:none}
.btn:hover,.btn:focus-visible{filter:brightness(.93)}
.btn.secondary,.btn.outline,.btn.light,.weekly-feature .btn.light,.btn.lime{background:#fff;border:1px solid var(--accent);color:var(--accent);box-shadow:none}
.surprise-button,.surprise-button:hover{background:#fff;border:1px solid var(--line);color:var(--ink);transform:none}
.surprise-button:hover{border-color:var(--accent)}
.search-and-play .business-home-search{border-color:var(--line)}
.mood-nav a,.flavor-links a,.opening-date{border-color:var(--line)}
.weekly-feature,.weekly-copy,.opening-feature,.opening-copy,.flavor-trip,.flavor-copy{background:#fff;color:var(--ink)}
.weekly-feature,.opening-feature{border:1px solid var(--line)}
.weekly-tags,.weekly-copy .eyebrow,.weekly-copy .weekly-note{color:var(--muted)}
.weekly-seal,.opening-stamp,.photo-sticker{background:#fff;color:var(--accent);border:1px solid var(--line);box-shadow:none}
.flavor-trip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flavor-photo>a{background:#fff;color:var(--ink)}
.flavor-links a:hover,.category-chips a:hover,.view-button.active,.chip.active,.chip:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.business-card,.profile-links{background:#fff}
.business-letterpress{background:var(--ice);background-image:none;color:var(--muted)}
.business-filters,.profile-details,.business-empty,.business-guide-banner,.business-picks,.cuisine-board,.pale,.empty,.profile-status{background:var(--ice);color:var(--ink)}
.business-filters input,.business-filters select{border-color:var(--line)}
.directory-mast,.page-hero{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.directory-mast .eyebrow,.page-hero .eyebrow{color:var(--accent)}
.directory-mast h1>span{-webkit-text-stroke:0;color:var(--accent)}
.neighborhood-image{border-color:#fff;box-shadow:0 0 0 1px var(--line)}
.footer,.trip-cta{background:#fff;color:var(--ink);border-top:1px solid var(--line)}
.footer .brand{background:#fff}
.footer a:hover{color:var(--accent)}
.footer-bottom{border-color:var(--line);color:var(--muted)}
.trip-cta .btn{background:var(--accent);border-color:var(--accent);color:#fff}
.trip-cta:after{display:none}
.header .trip-nav,.header .trip-nav:hover,.header .trip-nav:focus-visible{background:transparent;border:1px solid var(--ink);color:var(--ink)}
.header .trip-nav svg{color:var(--accent);stroke:var(--accent);fill:none}
.header .trip-nav .trip-count{background:var(--ink);color:#fff}
.save-btn{color:var(--accent);background:#fff;box-shadow:none}
.save-btn[aria-pressed=true]{background:var(--accent);color:#fff}
.tag{background:var(--ice);color:var(--ink)}
.dialog-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.dialog{border-color:var(--line)}
.toast{background:var(--ink);color:#fff}
.local-photo,.opening-photo{background:var(--ice)}
.photo-caption{background:linear-gradient(transparent 30%,#000b);color:#fff}
.category-photo-head:after{background:linear-gradient(90deg,#000b,#0003)}
.photo-collection>div{background:linear-gradient(transparent 25%,#000c)}
.feature-credit,.opening-photo>small{background:#000b;color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Photo-first motion: brief entrances, tactile controls and restrained depth. */
@media(prefers-reduced-motion:no-preference){
 .motion-ready{opacity:0;translate:0 22px;transition:opacity .65s ease var(--reveal-delay,0ms),translate .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)}
 .motion-ready.motion-visible{opacity:1;translate:0 0}
 .business-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
 .business-card:hover,.business-card:focus-within{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 12px 26px #0000000c}
 .business-visual img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
 .business-card:hover .business-visual img{transform:scale(1.035)}
 .btn svg,.text-link svg,.mood-nav svg,.photo-caption svg{transition:transform .25s ease}
 .btn:hover svg,.text-link:hover svg,.mood-nav a:hover svg,.local-photo:hover .photo-caption svg{transform:translateX(4px)}
 .nav a{position:relative}
 .nav a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
 .nav a:hover:after,.nav a[aria-current=page]:after{transform:scaleX(1)}
 .surprise-button strong{transition:transform .25s ease}
 .surprise-button:hover strong{transform:translateX(4px)}
}
@media(min-width:900px) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .hero-photowall .photo-main img{transform:scale(1.06) translateY(var(--photo-drift,0px));transition:transform .3s ease-out}
 .hero-photowall .photo-main:hover img{transform:scale(1.09) translateY(var(--photo-drift,0px))}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .motion-ready{opacity:1;translate:none}
 .local-photo:hover img,.business-card:hover,.business-card:focus-within{transform:none}
}
.home-category-section{padding-top:24px;padding-bottom:32px}.home-category-section .section-heading{margin-bottom:24px}.home-category-section h2{font-family:Georgia,serif;font-size:clamp(35px,4vw,52px);font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:12px 0 0;text-transform:none}.home-category-section h2 em{color:var(--accent)}.home-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-category-grid a{display:flex;align-items:center;gap:12px;padding:22px 16px;border:1px solid var(--line);background:#fff;min-height:100px;font-size:14px;font-weight:600;line-height:1.4}.home-category-grid a>svg:first-child{width:30px;height:30px;flex-shrink:0;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.home-category-grid a>svg:last-child{width:17px;height:17px;flex-shrink:0;margin-left:auto}.home-category-grid a:hover{border-color:var(--accent);background:var(--ice)}@media(prefers-reduced-motion:no-preference){.home-category-grid a{transition:transform .2s ease,border-color .2s ease}.home-category-grid a:hover{transform:translateY(-3px)}}@media(max-width:850px){.home-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.home-category-section .section-heading{display:block}.home-category-section .text-link{margin-top:16px;display:inline-flex}.home-category-grid a{padding:17px 12px;font-size:12px;gap:8px}.home-category-grid a>svg:first-child{width:25px;height:25px}}
