/* UI/UX Pro Max review + OpenDesign type, spacing and component principles.
   The established chef hero and photo collection remain the visual foundation. */
:root{
  --collection-bg:#171416;--collection-surface:#21191a;
  --text-warm:#f3e6cf;--text-secondary:#c4b5ad;--text-detail:#bda995;
  --detail-gold:#d5b286;--detail-line:#795d4b;--focus-color:#e5bc86;
  --header-height:92px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;
}
html{scroll-padding-top:calc(var(--header-height) + 24px);-webkit-text-size-adjust:100%}
button,a,summary{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--focus-color);outline-offset:5px}
button,summary,a{scroll-margin-top:calc(var(--header-height) + 100px)}
.header nav a{display:inline-flex;align-items:center;min-height:44px}
.about-copy p,.portfolio p,.contact p{text-wrap:pretty}
.about h2,.portfolio h2,.portfolio h3,.portfolio h4,.portfolio h5,.contact h2{text-wrap:balance}
.about-copy>p:not(.lead):not(.kicker){font-size:16px;line-height:1.9;max-width:34em}
.about-facts{gap:12px 24px;font-size:13px;line-height:1.7}
.about .text-link{min-height:48px;align-items:center;font-size:14px}
.portfolio .collection-intro{font-size:15px;max-width:28em}
.portfolio .category-card-copy{bottom:24px}
.portfolio .category-caption{font-size:13px;line-height:1.6}
.portfolio .category-card .category-label{font-size:clamp(25px,2.3vw,34px);line-height:1.35}
.portfolio .category-card .category-count{font-size:13px}
.portfolio .case-categories .category-card{border-width:1px;transition:border-color .18s ease}
.portfolio .case-categories .category-card[aria-pressed="true"]{border-width:1px;outline:1px solid var(--detail-gold);outline-offset:-2px}
.portfolio .category-card:active{filter:brightness(.9)}
.portfolio .category-card svg{transition:transform .18s ease}
@media(hover:hover){.portfolio .category-card:hover svg{transform:translate(3px,3px)}}
.portfolio .activity-heading .category-title{font-size:32px;color:var(--text-warm)}
.portfolio .activity-heading .category-intro{font-size:15px;line-height:1.8}
.search-control{width:100%;min-width:0}.search-label{display:block;font-size:12px;color:var(--text-detail);margin-bottom:4px}
.portfolio .collection-tools .search-field{gap:10px;min-height:48px;border-color:var(--detail-line)}
.portfolio .search-field input{font-size:15px;padding-block:10px}
.portfolio .search-field>.clear-search{padding:0;min-width:44px;min-height:44px;flex-basis:44px;color:var(--text-secondary)}
.clear-search svg{width:17px;height:17px}
.portfolio .search-field:focus-within{border-color:var(--focus-color)}
.portfolio .case-count{font-size:13px;color:var(--text-secondary)}
.portfolio .is-searching:not(.album-focused) .case-count{position:static;width:auto;height:auto;margin:0 0 24px;padding:0;overflow:visible;clip-path:none;white-space:normal}
.portfolio .case-item .case-meta{font-size:13px;color:var(--detail-gold);font-variant-numeric:tabular-nums}
.portfolio .case-item .case-highlight{font-size:13px;line-height:1.8;color:var(--text-secondary)}
.portfolio .activity-grid .case-item .case-labels{padding:24px 28px}
.portfolio .activity-grid .case-item .case-title{font-size:clamp(23px,2vw,29px);line-height:1.5}
.portfolio .case-item .case-body>.case-lead{font-size:16px;line-height:1.9;max-width:48em;color:var(--text-secondary)}
.portfolio .case-body>p{font-size:16px;line-height:1.9;max-width:48em}
.portfolio .case-body>.source-link{font-size:13px;min-height:44px;align-items:center}
.portfolio .case-gallery figcaption{font-size:13px;line-height:1.7;color:var(--text-detail)}
.portfolio .activity-grid .folio-unit{font-size:12px}
.portfolio .case-photo:active,.portfolio summary:active .case-toggle{opacity:.8}
.portfolio .case-photo{position:relative}
.portfolio .case-photo:after{content:"＋";position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--collection-bg);color:var(--text-warm);font-size:19px;opacity:.85;pointer-events:none}
.portfolio .album-focused .activity-heading{top:var(--header-height);background:var(--collection-bg)}
.portfolio .album-focused .activity-heading .category-title{font-size:19px;color:var(--text-detail)}
.portfolio .album-focused .activity-grid .case-item .case-labels{padding-bottom:0}
.icon-button{min-width:44px;min-height:44px}
.lightbox{background:var(--collection-bg);padding:16px 24px;max-height:calc(100dvh - 24px);border-color:var(--detail-line);overscroll-behavior:contain}
.lightbox-toolbar{position:sticky;top:-16px;z-index:2;background:var(--collection-bg);min-height:48px}
.lightbox-image{height:min(60dvh,680px)}
.lightbox-title{font-size:24px}.lightbox-description{font-size:14px;line-height:1.75;max-width:52em}
.lightbox-bottom{gap:16px}.lightbox-bottom>div{min-width:0}
.contact-details>div>span,.contact p:not(.kicker){font-size:15px}
.contact-details .email{font-size:clamp(17px,1.8vw,24px)}
.contact-details>div>div{gap:16px}.contact-details a{min-height:44px;display:flex;align-items:center}
.back-top{min-height:44px;font-size:13px}
@media(max-width:760px){
 :root{--header-height:78px}
 .portfolio .category-card-copy{left:16px;right:16px;bottom:20px}
 .portfolio .category-card .category-label{font-size:23px}
 .portfolio .category-caption{font-size:12px}.portfolio .category-card .category-count{font-size:12px}
 .portfolio .category-card-top{align-items:flex-end}
 .portfolio .case-item .case-highlight{font-size:13px}
 .portfolio .activity-grid .case-item .case-labels{padding:20px}
 .portfolio .activity-heading .category-title{font-size:28px}
 .portfolio .activity-heading .category-intro{font-size:14px}
 .portfolio .search-field input{font-size:16px}
 .portfolio .album-focused .activity-heading{display:flex;flex-wrap:wrap;gap:4px 16px}
 .portfolio .album-focused .activity-heading .category-title{font-size:17px}
 .portfolio .collapse-label,.return-title{font-size:14px}
 .lightbox{width:calc(100vw - 16px);padding:8px 12px}.lightbox-toolbar{top:-8px}
 .lightbox-title{font-size:20px}.lightbox-description{font-size:13px}
 .lightbox-bottom{align-items:flex-start;gap:8px}.lightbox-bottom .icon-button{flex:0 0 44px}
 .contact-details .email{font-size:18px}
}
@media(max-width:370px){.portfolio .category-card .category-label{font-size:21px}.portfolio .category-caption{font-size:11px}.portfolio .case-categories{gap:10px}.portfolio .category-card-copy{left:12px;right:12px}.contact-details .email{font-size:16px}}
@media(max-height:600px){.lightbox-image{height:42dvh}.lightbox-description{max-width:48em}.lightbox-bottom{padding-block:8px}.lightbox-title{font-size:19px}}
@media(prefers-reduced-motion:reduce){.portfolio .category-card svg,.portfolio .case-categories .category-card{transition:none}}
