/* Original layout + Opus paper palette and business-detail cards only. */
:root{
--paper:#FAFAF8;--paper-raised:#F4F2ED;--paper-sunk:#ECE8E0;
--ink:#1C1B1A;--ink-soft:#34312D;--ink-muted:#6B655C;--line:#E6E1D8;--line-strong:#D4CCBF;
--ivory-on-photo:#F7F3EC;--ink-rgb:28,27,26;--ivory-rgb:247,243,236;
--fs-eyebrow:11px;--fs-meta:13px;--fs-h2:clamp(28px,2.6vw,38px);
--ease-quiet:cubic-bezier(.22,.61,.36,1);--dur-2:.42s;--r-modal:14px;
--scrim-card:linear-gradient(180deg,rgba(var(--ink-rgb),0) 0%,rgba(var(--ink-rgb),0) 40%,rgba(var(--ink-rgb),.78) 48%,rgba(var(--ink-rgb),.86) 100%);
--shadow-md:0 2px 6px rgba(var(--ink-rgb),.05),0 22px 44px -18px rgba(var(--ink-rgb),.22);
--shadow-lg:0 12px 24px -10px rgba(var(--ink-rgb),.14),0 48px 96px -28px rgba(var(--ink-rgb),.34);
background:var(--paper)
}
/* Surfaces only: original geometry, type, spacing and foreground colors retained. */
body,.page-root,.site-nav,.skip-link,.focus-control:focus,.nav-dropdown{background:var(--paper)}
@media(min-width:1024px){.nav-dropdown{background:transparent}}
.site-footer{background:transparent}
.curve-mask path{fill:var(--paper)}
/* Modal shell changes are strictly scoped to business details; contact stays original. */
.business-mode .modal-backdrop{background:rgba(var(--ink-rgb),.46)}
.business-mode .modal-backdrop.has-photo{background:var(--ink)}
.business-mode .modal-white-mask{background:rgba(var(--ink-rgb),.38)}
.business-mode .card-face{border-radius:var(--r-modal);background:var(--paper);box-shadow:var(--shadow-lg)}
.business-mode .card-back{border:0}
.business-mode .modal-close{width:44px;height:44px;border:1px solid rgba(var(--ivory-rgb),.4);background:rgba(var(--ink-rgb),.28);color:var(--ivory-on-photo);backdrop-filter:blur(8px);transition:background .24s}
.business-mode .modal-close:hover{background:rgba(var(--ink-rgb),.5);transform:none}
.business-mode .action-button{gap:12px;min-height:48px;padding:12px 25px;border:1px solid var(--paper);background:var(--paper);color:var(--ink);font-size:13px;font-weight:500;letter-spacing:.14em;box-shadow:var(--shadow-md);transition:background var(--dur-2) var(--ease-quiet),color var(--dur-2) var(--ease-quiet),border-color var(--dur-2) var(--ease-quiet)}
.business-mode .action-button:before{content:none}
.business-mode .action-button:hover{background:#fff}
.business-mode .action-button:active{transform:none;opacity:.88}
.business-mode .action-arrow{width:16px;height:16px;transition:transform var(--dur-2) var(--ease-quiet)}
.business-mode .action-button:hover .action-arrow{transform:translateX(3px)}
.card-photo-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.card-background-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;filter:saturate(1.06) contrast(1.03)}
.card-white-mask{position:absolute;inset:0;background:var(--scrim-card)}
/* Content-led detail layout: all original copy is visible without an inner scroll area. */
.photo-inside-card .modal-content{
position:absolute;z-index:1;top:auto;bottom:0;left:0;right:0;transform:none;
display:grid;grid-template-columns:minmax(0,1fr);align-content:end;
height:auto;max-height:none;overflow:visible;padding:26px 32px 28px;
background:none;border-radius:0;color:var(--ivory-on-photo)
}
.photo-inside-card .business-category{margin:0 0 8px;color:var(--ivory-on-photo);font-size:10px;font-weight:500;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}
.photo-inside-card h2{margin:0 0 14px;color:var(--ivory-on-photo);font-size:34px;font-weight:500;letter-spacing:.03em;line-height:1.25}
.photo-inside-card .business-description{margin:0;max-width:none;color:var(--ivory-on-photo);font-size:15px;line-height:1.7;letter-spacing:.01em;text-wrap:balance;text-shadow:0 1px 12px rgba(var(--ink-rgb),.35)}
.photo-inside-card .business-points{display:grid;grid-template-columns:minmax(0,1fr);gap:4px;list-style:none;margin:16px 0 0;padding:12px 0 0;border-top:1px solid rgba(var(--ivory-rgb),.24);color:var(--ivory-on-photo);font-size:12.5px;line-height:1.55;letter-spacing:.01em}
.photo-inside-card .business-points li{margin:0;min-width:0}
@media(max-width:639px){
.photo-inside-card .modal-content{left:0;right:0;padding:20px 22px 22px;max-height:none}
.photo-inside-card h2{font-size:28px;margin-bottom:12px}
.photo-inside-card .business-category{font-size:10px;margin-bottom:6px;letter-spacing:.12em}
.photo-inside-card .business-description{font-size:14px;line-height:1.65}
.photo-inside-card .business-points{display:grid;font-size:12px;line-height:1.5;gap:4px;margin-top:12px;padding-top:10px}
.card-white-mask{background:linear-gradient(180deg,rgba(var(--ink-rgb),0) 0%,rgba(var(--ink-rgb),.12) 20%,rgba(var(--ink-rgb),.82) 32%,rgba(var(--ink-rgb),.92) 100%)}
}
@media(max-width:359px){
.photo-inside-card .modal-content{left:0;right:0;padding:18px}
.photo-inside-card h2{font-size:26px;margin-bottom:10px}
.photo-inside-card .business-points{display:grid;gap:3px}
.card-white-mask{background:linear-gradient(180deg,rgba(var(--ink-rgb),0) 0%,rgba(var(--ink-rgb),.25) 16%,rgba(var(--ink-rgb),.85) 26%,rgba(var(--ink-rgb),.94) 100%)}
}
/* Short, wide screens read the description and supporting points side by side. */
@media(max-height:600px) and (min-width:640px){
.photo-inside-card .modal-content{padding:14px 22px 16px;max-height:none;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:18px;row-gap:0}
.photo-inside-card .business-category{grid-column:1/-1;font-size:9px;margin-bottom:4px}
.photo-inside-card h2{grid-column:1/-1;font-size:25px;margin-bottom:10px}
.photo-inside-card .business-description{font-size:14px;line-height:1.6}
.photo-inside-card .business-points{display:grid;align-content:start;margin:0;padding:0 0 0 14px;border-top:0;border-left:1px solid rgba(var(--ivory-rgb),.24);font-size:12px;line-height:1.5;gap:6px}
.card-white-mask{background:linear-gradient(180deg,rgba(var(--ink-rgb),.12) 0%,rgba(var(--ink-rgb),.78) 20%,rgba(var(--ink-rgb),.94) 100%)}
}
