/* Cafe photography and community refresh, September 2026. */
:root { --ink:#11110f; --cream:#f3eddf; --yellow:#f8cf2c; }
.ui-arrow { display:inline-block; flex-shrink:0; vertical-align:-2px; margin-left:3px; }
.skip-link { position:fixed; top:10px; left:12px; z-index:1000; padding:14px 18px; background:var(--yellow); border:2px solid var(--ink); font-weight:700; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.hero-image { display:block; width:100%; height:100%; object-fit:cover; object-position:center 46%; background:none; }
.hero .hero-copy { margin-bottom:18px; }
.hero-mission { max-width:510px; margin:0 0 27px; color:#fffaf0; font-size:15px; line-height:1.6; }
.hero-mission a { color:var(--yellow); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.hero-sticker small { font-weight:700; }
.site-header nav a[href="https://unlimited.awalkintheparkcafe.com/"] { border-bottom-color:var(--yellow); }
.brand-mark { padding:0; letter-spacing:0; color:transparent; background:#fff9ef url('favicon.svg?v=20260930owl') center/cover no-repeat; border:1px solid var(--ink); transform:none; flex-shrink:0; }
.paint-feature { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; background:var(--cream); border-bottom:1px solid var(--ink); }
.paint-feature figure { margin:0; min-height:490px; position:relative; background:#d8d1c3; overflow:hidden; }
.paint-feature figure img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.paint-feature figcaption { position:absolute; left:24px; bottom:24px; margin:0; padding:11px 14px; background:var(--yellow); border:1px solid var(--ink); font-size:11px; letter-spacing:1px; font-weight:800; text-transform:uppercase; }
.paint-feature-copy { padding:clamp(32px,5vw,76px); align-self:center; }
.paint-feature h2 { font:700 clamp(42px,5.2vw,74px)/1.02 Georgia,serif; letter-spacing:-2px; margin:20px 0 24px; }
.paint-feature h2 em { color:var(--ink); text-decoration:underline; text-decoration-color:var(--yellow); text-decoration-thickness:6px; text-underline-offset:5px; }
.paint-feature-copy>p:not(.eyebrow) { font-size:16px; line-height:1.7; }
.painting-mission { background:var(--yellow); border-left:4px solid var(--ink); padding:16px 18px; }
.painting-mission strong { display:block; margin-bottom:6px; }
.paint-feature .page-actions { margin-top:24px; gap:22px; }
.paint-feature .text-link { line-height:1.5; }
.food-feature { padding:70px max(7vw,28px); background:var(--cream); }
.food-feature-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:32px; }
.food-feature-heading h2 { font:700 clamp(40px,4.6vw,64px)/1.04 Georgia,serif; letter-spacing:-2px; margin:16px 0 0; }
.food-feature-heading h2 em { color:var(--ink); }
.food-feature-heading>.text-link { flex-shrink:0; }
.food-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.food-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--ink); background:var(--paper); }
.food-card-photo { display:block; overflow:hidden; aspect-ratio:4/3; background:#ded6c5; border-bottom:1px solid var(--ink); }
.food-card-photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.food-card:hover .food-card-photo img { transform:scale(1.025); }
.food-card-copy { display:flex; flex-direction:column; flex:1; padding:22px; }
.food-card-kicker { margin:0 0 12px; font-size:10px; line-height:1.4; letter-spacing:1.6px; text-transform:uppercase; font-weight:800; color:var(--muted); }
.food-card-title { display:flex; justify-content:space-between; align-items:baseline; gap:12px; }
.food-card h3 { margin:0; font:700 clamp(24px,2.3vw,31px)/1.12 Georgia,serif; letter-spacing:-.5px; }
.food-card-price { white-space:nowrap; font-size:17px; background:var(--yellow); padding:5px 8px; }
.food-card-description { font-size:14px; line-height:1.6; margin:16px 0 24px; color:var(--muted); }
.food-card .text-link { align-self:start; margin-top:auto; font-size:12px; }
.food-feature-foot { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-top:30px; }
.food-feature-foot p { color:var(--muted); font-size:13px; line-height:1.6; max-width:560px; margin:0; }
.menu-category-pills { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.menu-category-pills a { border:1px solid var(--ink); background:var(--paper); font-size:12px; font-weight:800; padding:12px 17px; }
.menu-category-pills a:hover { background:var(--yellow); }
.menu-paint-note { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 24px; padding:20px max(7vw,28px); background:var(--yellow); border-bottom:1px solid var(--ink); font-size:14px; line-height:1.6; }
.menu-paint-note p { margin:0; max-width:750px; }
.menu-paint-note a { text-decoration:underline; text-underline-offset:3px; font-weight:800; }
.menu-feature { padding-top:48px; padding-bottom:48px; border-bottom:1px solid #d2ccbe; }
.menu-feature .food-feature-heading h2 { font-size:clamp(36px,4vw,52px); }
.menu-jump-links { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0 0; }
.menu-jump-links a { padding:10px 13px; font-size:12px; font-weight:700; background:var(--paper); border:1px solid #9d978b; }
.menu-section { scroll-margin-top:24px; }
.page-hero .page-hero-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center; z-index:0; }
.page-hero.has-real-photo { background:var(--ink); color:white; }
.page-hero.has-real-photo:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.28)); z-index:0; }
.page-hero.has-real-photo>div { position:relative; z-index:1; }
.painting-real-photo { padding:0!important; overflow:hidden; position:relative; min-height:460px; }
.painting-real-photo img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; display:block; }
a:focus-visible,button:focus-visible { outline:3px solid #926800; outline-offset:5px; }
@media(max-width:900px) {
  .paint-feature { grid-template-columns:1fr; }
  .paint-feature figure { min-height:360px; }
  .paint-feature-copy { padding:38px max(7vw,28px) 46px; }
  .food-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .food-card-grid .food-card:last-child:nth-child(odd) { grid-column:1/-1; max-width:calc(50% - 12px); width:100%; justify-self:center; }
  .food-feature-heading { align-items:start; flex-direction:column; gap:12px; }
  .hero-mission { max-width:440px; }
}
@media(max-width:600px) {
  .hero-content { top:43%; width:calc(100% - 48px); left:24px; }
  .hero h1 { font-size:clamp(60px,16vw,83px); }
  .hero .hero-copy { font-size:18px; }
  .hero-mission { font-size:13px; line-height:1.5; max-width:340px; margin-bottom:20px; }
  .hero-sticker { width:112px; height:112px; bottom:24px; }
  .hero-sticker strong { font-size:36px; }
  .hero-sticker span { font-size:8px; }
  .hero-sticker small { font-size:9px; }
  .paint-feature figure { min-height:310px; }
  .paint-feature-copy { padding:32px 22px 40px; }
  .paint-feature h2 { font-size:44px; }
  .food-feature { padding:44px 20px; }
  .food-card-grid { grid-template-columns:1fr; gap:22px; }
  .food-card-grid .food-card:last-child:nth-child(odd) { grid-column:auto; max-width:none; }
  .food-card h3 { font-size:28px; }
  .food-feature-foot { align-items:start; flex-direction:column; }
  .menu-paint-note { padding:20px; }
  .menu-jump-links { gap:8px; }
  .menu-jump-links a { font-size:11px; padding:9px; }
  .painting-real-photo { min-height:320px; }
}
@media(prefers-reduced-motion:reduce) { .food-card-photo img { transition:none; } .food-card:hover .food-card-photo img { transform:none; } }
