/* Friendly public surfaces. Data, access gates, content, logos and navigation
   remain owned by their existing page controllers. No document/print rules. */
@media screen {
  body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"]) {
    background:var(--friendly-bg,#f5f7f3);
    color:var(--friendly-ink,#283d30);
  }
  body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) :is(main,section,article,header,footer) {min-width:0;}
  body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) :is(.eyebrow,.landing-eyebrow) {font-size:12px;letter-spacing:.1em;color:var(--friendly-muted,#65746d);}
  body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) :is(.site-header,.landing-header,.account-header,.access-header) {border-color:var(--friendly-border,#e1e7dc);}
  body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) .locale-header-actions {gap:18px;min-width:0;}
  body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) .language-control select {border-color:var(--friendly-border,#e1e7dc);border-radius:8px;background:#fff;color:var(--friendly-ink,#283d30);}

  /* Zimmis keeps its own wordmark and project artwork. */
  body[data-design="zimmis"] {--lime:#dceacb;}
  body[data-design="zimmis"] .site-header {min-height:100px;gap:24px;}
  body[data-design="zimmis"] .site-header nav {font-size:14px;gap:25px;}
  body[data-design="zimmis"] .hero {padding-block:70px 76px;gap:7%;}
  body[data-design="zimmis"] .hero h1 {font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,6vw,86px);font-weight:400;line-height:1.1;letter-spacing:-.055em;}
  body[data-design="zimmis"] .hero h1 span {color:#657d5d;}
  body[data-design="zimmis"] .hero-description {font-size:16px;line-height:1.85;color:var(--friendly-muted,#65746d);max-width:440px;}
  body[data-design="zimmis"] :is(.hero-note,.art-top,.art-bottom,.project-art-label,.play-caption,.project-number,.project-domain,.tag,.about-signoff,.site-footer) {font-size:12px;line-height:1.6;}
  body[data-design="zimmis"] .hero-art {border:1px solid var(--friendly-border,#e1e7dc);border-radius:13px;background:#f0f4ec;box-shadow:none;}
  body[data-design="zimmis"] .art-orbit {background:#dce8cf;}
  body[data-design="zimmis"] .button-dark {min-height:42px;border-radius:999px;font-size:13px;gap:18px;box-shadow:none;}
  body[data-design="zimmis"] .project {border:1px solid var(--friendly-border,#e1e7dc);border-radius:13px;box-shadow:none;}
  body[data-design="zimmis"] .project-copy {background:#fff;padding:34px 36px;}
  body[data-design="zimmis"] .project-art {background:#293d32;}
  body[data-design="zimmis"] .project-art-label {color:#cad8c4;}
  body[data-design="zimmis"] .play-caption {color:#dce7d5;max-width:calc(100% - 36px);text-align:center;}
  body[data-design="zimmis"] .project-copy h3 {color:var(--friendly-ink,#283d30);font-size:38px;letter-spacing:-.045em;}
  body[data-design="zimmis"] .project-copy p {font-size:15px;color:var(--friendly-muted,#65746d);}
  body[data-design="zimmis"] .project-cta {font-size:14px;min-height:44px;}
  body[data-design="zimmis"] .tag {background:var(--friendly-surface-subtle,#f0f4ec);border-color:var(--friendly-border,#e1e7dc);border-radius:20px;letter-spacing:.04em;}
  body[data-design="zimmis"] .section-heading h2 {font-size:25px;line-height:1.35;}
  body[data-design="zimmis"] .about h2 {font-family:Georgia,"Times New Roman",serif;font-size:37px;font-weight:400;line-height:1.2;}
  body[data-design="zimmis"] .about-copy p {color:var(--friendly-muted,#65746d);}

  /* Visitors and restaurant operators share the friendly editorial rhythm. */
  body[data-design="dine-landing"] .landing-shell {max-width:1280px;padding-inline:clamp(24px,4vw,48px);}
  body[data-design="dine-landing"] .landing-header {min-height:98px;}
  body[data-design="dine-landing"] .landing-header nav {font-size:14px;gap:23px;}
  body[data-design="dine-landing"] :is(.landing-hero,.operator-hero) {padding-block:58px 64px;gap:clamp(30px,5vw,65px);}
  body[data-design="dine-landing"] .landing-hero h1 {font-family:var(--serif,Georgia,serif);font-size:clamp(42px,5.4vw,68px);font-weight:400;line-height:1.16;letter-spacing:-.045em;}
  body[data-design="dine-landing"] .operator-hero h1 {font-size:clamp(38px,4.7vw,59px);line-height:1.2;}
  body[data-design="dine-landing"] :is(h1 em,h2 em,.operator-promise) {color:#627f58;}
  body[data-design="dine-landing"] .operator-promise {color:var(--friendly-accent,#365b43);}
  body[data-design="dine-landing"] .landing-intro {font-size:16px;line-height:1.85;color:var(--friendly-muted,#65746d);}
  body:is([data-design="dine-landing"],[data-design="invite"]) .landing-button {min-height:40px;padding:9px 17px;border-radius:999px;font-size:13px;gap:18px;box-shadow:none;background:var(--friendly-accent,#365b43);border-color:var(--friendly-accent,#365b43);color:#fff;transition:background 160ms var(--friendly-ease,ease),box-shadow 160ms var(--friendly-ease,ease);}
  body:is([data-design="dine-landing"],[data-design="invite"]) .landing-button-outline {background:#fff;border-color:var(--friendly-border,#e1e7dc);color:var(--friendly-accent,#365b43);}
  body:is([data-design="dine-landing"],[data-design="invite"]) .landing-text-link {font-size:14px;line-height:1.6;min-height:44px;}
  body[data-design="dine-landing"] :is(.landing-note,.landing-word-strip,.illustration-kicker,.illustration-caption,.visitor-paper-footer,.visitor-host-note>p,.landing-footer,.operator-board-top,.operator-board-footer,.board-row p,.board-pill,.workflow-list span,.operator-closing>p:last-child) {font-size:12px;line-height:1.65;color:var(--friendly-muted,#65746d);}
  body[data-design="dine-landing"] .landing-word-strip {letter-spacing:.09em;gap:18px;flex-wrap:wrap;}
  body[data-design="dine-landing"] :is(.visitor-illustration,.operator-board) {border:1px solid var(--friendly-border,#e1e7dc);border-radius:13px;box-shadow:none;}
  body[data-design="dine-landing"] .visitor-illustration {background:#f0f4ec;padding:24px;}
  body[data-design="dine-landing"] .visitor-menu-paper {background:#fff;border-radius:12px;border-color:var(--friendly-border,#e1e7dc);box-shadow:none;}
  body[data-design="dine-landing"] .visitor-menu-paper .landing-eyebrow {font-size:12px;}
  body[data-design="dine-landing"] .visitor-paper-footer {gap:9px 14px;}
  body[data-design="dine-landing"] .landing-section {padding-block:58px;border-color:var(--friendly-border,#e1e7dc);}
  body[data-design="dine-landing"] .landing-section-heading>p {font-size:15px;line-height:1.8;color:var(--friendly-muted,#65746d);}
  body[data-design="dine-landing"] .landing-features {gap:18px;}
  body[data-design="dine-landing"] .landing-features article {border:1px solid var(--friendly-border,#e1e7dc);padding:24px;background:#fff;border-radius:13px;box-shadow:none;}
  body[data-design="dine-landing"] .feature-number {color:var(--friendly-muted,#65746d);}
  body[data-design="dine-landing"] .landing-features p {font-size:14px;line-height:1.8;color:var(--friendly-muted,#65746d);}
  body[data-design="dine-landing"] :is(.landing-beta-note,.visitor-host-note,.operator-closing) {background:var(--friendly-surface-subtle,#f0f4ec);border:1px solid var(--friendly-border,#e1e7dc);border-radius:13px;box-shadow:none;}
  body[data-design="dine-landing"] .landing-beta-note {padding:18px 20px;}
  body[data-design="dine-landing"] .landing-beta-note :is(strong,p) {font-size:13px;line-height:1.8;}
  body[data-design="dine-landing"] .visit-steps li {padding-block:20px;gap:16px;border-color:var(--friendly-border,#e1e7dc);}
  body[data-design="dine-landing"] .visit-steps li>span {font-size:13px;color:var(--friendly-accent,#365b43);border-color:#b9c9af;}
  body[data-design="dine-landing"] .visit-steps :is(h3,p) {font-size:14px;line-height:1.7;}
  body[data-design="dine-landing"] .operator-board {background:#fff;}
  body[data-design="dine-landing"] .operator-board-top {background:#f7f9f5;color:var(--friendly-muted,#65746d);border-bottom:1px solid var(--friendly-border,#e1e7dc);flex-wrap:wrap;gap:10px;padding:18px 22px;}
  body[data-design="dine-landing"] .board-row {padding-block:18px;align-items:flex-start;}
  body[data-design="dine-landing"] .board-icon {font-size:13px;color:#607c51;}
  body[data-design="dine-landing"] .board-row strong {font-size:14px;line-height:1.6;}
  body[data-design="dine-landing"] .board-pill {background:#f0f4ec;border-color:var(--friendly-border,#e1e7dc);color:#536e49;border-radius:999px;white-space:normal;max-width:95px;}
  body[data-design="dine-landing"] .operator-board-footer {background:var(--friendly-surface-subtle,#f0f4ec);border-color:var(--friendly-border,#e1e7dc);}
  body[data-design="dine-landing"] .workflow-list strong {font-size:16px;line-height:1.6;}
  body[data-design="dine-landing"] .landing-faq summary {font-size:15px;padding-block:20px;min-height:48px;}
  body[data-design="dine-landing"] .landing-faq details p {font-size:14px;line-height:1.8;color:var(--friendly-muted,#65746d);}
  body[data-design="dine-landing"] .landing-faq details[open] {background:#eef3e9;border-radius:10px;padding-inline:15px;}
  body[data-design="dine-landing"] .operator-gate {max-width:720px;padding-block:58px 78px;}
  body[data-design="dine-landing"] .operator-gate>p:not(.landing-eyebrow) {font-size:15px;line-height:1.8;}

  body[data-design="dine-landing"] .landing-mini-brand {color:var(--friendly-ink,#283d30);}

  /* Central account, sign-up, settings and the script-free action handler. */
  body[data-design="account"] .account-header {padding:25px 5%;min-height:96px;}
  body[data-design="account"] main:not(.action-main) {max-width:1140px;gap:clamp(36px,7vw,86px);padding-block:60px;align-items:center;}
  body[data-design="account"] .account-intro h1 {font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(42px,5vw,66px);letter-spacing:-.055em;line-height:1.12;}
  body[data-design="account"] .account-intro h1>span {color:#6f8962;}
  body[data-design="account"] .account-intro>p:not(.eyebrow) {font-size:16px;line-height:1.8;max-width:390px;color:var(--friendly-muted,#65746d);}
  body[data-design="account"] .account-intro>a {font-size:14px;min-height:44px;line-height:1.6;}
  body[data-design="account"] .account-panel {border:1px solid var(--friendly-border,#e1e7dc);border-radius:13px;background:#fff;box-shadow:none;padding:32px;}
  body[data-design="account"] .account-panel>.eyebrow {padding:0;border-radius:0;background:transparent;margin-bottom:18px;}
  body[data-design="account"] .account-panel h2 {font-family:var(--sans,"Segoe UI",Arial,sans-serif);font-size:21px;font-weight:600;line-height:1.35;letter-spacing:-.025em;margin-bottom:26px;}
  body[data-design="account"] :is(label,.field-hint,.account-note,.account-switch,.signed-in-label,#verification-state,#dine-access-note,.account-language p,footer) {font-size:13px;line-height:1.75;color:var(--friendly-muted,#65746d);}
  body[data-design="account"] label {color:var(--friendly-ink,#283d30);}
  body[data-design="account"] :is(button[type=submit],.primary-link,.secondary) {min-height:42px;padding:10px 16px;border-radius:999px;font-size:13px;box-shadow:none;line-height:1.55;}
  body[data-design="account"] :is(.profile-name-row,#signup-form) {min-width:0;}
  body[data-design="account"] :is(#account-message,.action-message,.account-language.is-setup) {border-radius:10px;line-height:1.75;font-size:14px;}
  body[data-design="account"] #account-message {background:var(--friendly-surface-subtle,#f0f4ec);border-color:var(--friendly-border,#e1e7dc);}
  body[data-design="account"] :is(#account-message.error,.action-message.error) {color:var(--friendly-danger,#a94343);background:#fff5f2;border-color:#e6cbc4;}
  body[data-design="account"] .account-language.is-setup {background:var(--friendly-surface-subtle,#f0f4ec);border:1px solid var(--friendly-border,#e1e7dc);padding:20px;}
  body[data-design="account"] #account-name {font-size:24px;line-height:1.35;}
  body[data-design="account"] #account-email {font-size:14px;line-height:1.65;color:var(--friendly-muted,#65746d);}
  body[data-design="account"] .text-button {min-height:44px;font-size:14px;line-height:1.5;}
  body[data-design="account"] .action-main {max-width:680px;padding:54px 24px;}
  body[data-design="account"] .action-panel h1 {font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(29px,4.5vw,38px);letter-spacing:-.035em;line-height:1.2;}
  body[data-design="account"] :is(.action-intro,.action-email,.action-login) {font-size:14px;line-height:1.8;}
  body[data-design="account"] .action-language a {min-height:44px;display:inline-flex;align-items:center;border-radius:8px;font-size:13px;}
  body[data-design="account"] .action-language a[aria-current] {background:#e8efdf;color:var(--friendly-accent,#365b43);}

  body[data-design="account"] .secondary {background:#fff;border-color:var(--friendly-border,#e1e7dc);}
  body[data-design="account"] .account-language:not(.is-setup)+.profile-name-form {border-top:0;margin-top:18px;padding-top:0;}

  /* Invitation identity and decisions remain real, visible and account-bound. */
  body[data-design="invite"] .invite-main {padding:40px 0;}
  body[data-design="invite"] .invite-card {max-width:650px;padding:36px;border-radius:13px;border-color:var(--friendly-border,#e1e7dc);box-shadow:none;animation-duration:180ms;}
  body[data-design="invite"] .invite-symbol {background:#edf3e8;color:var(--friendly-accent,#365b43);border-radius:12px;}
  body[data-design="invite"] .invite-card h1 {font-size:clamp(29px,4vw,40px);line-height:1.2;font-weight:400;}
  body[data-design="invite"] :is(.invite-description,.invite-session) {font-size:14px;line-height:1.85;color:var(--friendly-muted,#65746d);}
  body[data-design="invite"] .invite-restaurant {border:1px solid var(--friendly-border,#e1e7dc);border-radius:12px;background:var(--friendly-surface-subtle,#f0f4ec);padding:21px;}
  body[data-design="invite"] .invite-restaurant>span {font-size:12px;color:var(--friendly-muted,#65746d);}
  body[data-design="invite"] .invite-restaurant strong {font-size:22px;line-height:1.35;margin-block:8px 10px;}
  body[data-design="invite"] .invite-restaurant :is(p,small) {font-size:13px;line-height:1.7;color:var(--friendly-muted,#65746d);}
  body[data-design="invite"] :is(.invite-boundary,.invite-footer,.invite-message,.invite-loading) {font-size:13px;line-height:1.8;color:var(--friendly-muted,#65746d);}
  body[data-design="invite"] .invite-boundary p {color:var(--friendly-muted,#65746d);}
  body[data-design="invite"] .invite-message {background:var(--friendly-surface-subtle,#f0f4ec);border-color:var(--friendly-border,#e1e7dc);border-radius:10px;}
  body[data-design="invite"] .invite-message.is-error {color:var(--friendly-danger,#a94343);background:#fff5f2;border-color:#e6cbc4;}
  body[data-design="invite"] .invite-decline {color:var(--friendly-accent,#365b43);background:#fff;border-color:var(--friendly-border,#e1e7dc);}

  /* Restaurant pages deliberately keep a white canvas and Google attribution. */
  body[data-design="restaurant"] {--paper:#fff;background:#fff;color:var(--friendly-ink,#283d30);}
  body[data-design="restaurant"] :is(.site-header,main,.site-footer) {max-width:1240px;padding-inline:clamp(24px,4vw,48px);}
  body[data-design="restaurant"] .site-header {padding-block:24px;gap:22px;}
  body[data-design="restaurant"] .site-header nav {font-size:14px;gap:21px;}
  body[data-design="restaurant"] .restaurant-wordmark {font-size:24px;line-height:1.3;}
  body[data-design="restaurant"] .access-strip {background:#f0f4ec;color:var(--friendly-ink,#283d30);border-bottom:1px solid var(--friendly-border,#e1e7dc);font-size:12px;line-height:1.6;letter-spacing:.02em;padding-block:9px;}
  body[data-design="restaurant"] .hero {gap:clamp(28px,5vw,64px);padding-block:52px 56px;}
  body[data-design="restaurant"] .hero h1 {font-weight:400;font-size:clamp(38px,5vw,60px);line-height:1.15;}
  body[data-design="restaurant"] .intro {font-size:16px;line-height:1.85;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] :is(.location,.opening-detail,.restaurant-rating,.hero-note .summary-address,.hero-note>a,.reviews-hint,.review-card time,.review-original,.site-footer) {font-size:13px;line-height:1.75;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] .opening-status {font-size:12px;border-radius:999px;padding:8px 12px;background:#edf4e9;color:#355e3c;}
  body[data-design="restaurant"] .opening-status.is-closed {background:#fff3f1;color:#9f4842;}
  body[data-design="restaurant"] .opening-status.is-unknown {background:#f1f4f0;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] .primary {min-height:40px;padding:9px 17px;border:1px solid var(--friendly-accent,#365b43);border-radius:999px;background:var(--friendly-accent,#365b43);color:#fff;font-size:13px;box-shadow:none;line-height:1.6;transition:background 160ms var(--friendly-ease,ease),box-shadow 160ms var(--friendly-ease,ease);}
  body[data-design="restaurant"] :is(.hero-note,.menu-group,.opening-card,.review-source) {border:1px solid var(--friendly-border,#e1e7dc);border-radius:13px;background:#fff;box-shadow:none;}
  body[data-design="restaurant"] .hero-note {padding:28px;}
  body[data-design="restaurant"] .hero-note h2 {font-size:25px;line-height:1.3;}
  body[data-design="restaurant"] :is(.summary-hours-row,.summary-hours) {font-size:15px;line-height:1.6;}
  body[data-design="restaurant"] .map-stage {border-color:var(--friendly-border,#e1e7dc);border-radius:12px;background:#f3f6f0;}
  body[data-design="restaurant"] .menu-group {padding:28px;margin-bottom:20px;}
  body[data-design="restaurant"] .group-heading h3 {font-size:28px;font-weight:400;line-height:1.3;}
  body[data-design="restaurant"] :is(.group-heading>span,.group-description,.date-form,.menu-group h4,.opening-card>p,.review-source-heading>div>span:not(.review-stars)) {font-size:13px;line-height:1.7;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] .menu-group h4 {letter-spacing:.07em;margin-top:25px;}
  body[data-design="restaurant"] .menu-item {gap:18px;padding-block:20px;border-color:#e8eee4;}
  body[data-design="restaurant"] .menu-item h5 {font-size:15px;line-height:1.6;}
  body[data-design="restaurant"] .menu-item p {font-size:14px;line-height:1.7;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] .menu-item p.declaration {font-size:12px;line-height:1.65;}
  body[data-design="restaurant"] .price {font-size:15px;line-height:1.6;}
  body[data-design="restaurant"] .is-variant {padding-left:15px;}
  body[data-design="restaurant"] .date-form {max-width:100%;}
  body[data-design="restaurant"] .date-form>div {gap:8px;flex-wrap:wrap;}
  body[data-design="restaurant"] .date-form :is(input,button) {min-height:42px;border-radius:8px;font-size:14px;max-width:100%;}
  body[data-design="restaurant"] .date-form button {background:#e8efdf;color:var(--friendly-accent,#365b43);border-color:var(--friendly-border,#e1e7dc);}
  body[data-design="restaurant"] .visit-section {gap:clamp(28px,5vw,62px);}
  body[data-design="restaurant"] :is(.visit-intro>p:not(.eyebrow),.contact-links,.opening-card dl>div) {font-size:14px;line-height:1.75;}
  body[data-design="restaurant"] .opening-card {padding:28px;}
  body[data-design="restaurant"] .opening-card dl>div {flex-wrap:wrap;gap:4px 16px;}
  body[data-design="restaurant"] .review-source {padding:25px;}
  body[data-design="restaurant"] .review-source-heading h3:not(.google-attribution) {font-size:26px;font-weight:400;}
  body[data-design="restaurant"] .review-card>p {font-size:14px;line-height:1.8;}
  body[data-design="restaurant"] :is(.review-author,.review-editor summary,.review-editor label[for=review-text],.review-rating-picker legend) {font-size:14px;line-height:1.6;}
  body[data-design="restaurant"] .rating-choice {border-radius:8px;border-color:var(--friendly-border,#e1e7dc);min-height:44px;}
  body[data-design="restaurant"] .rating-choice:has(input:checked) {background:#e8efdf;border-color:#8da17c;}
  body[data-design="restaurant"] .review-form-actions button {min-height:44px;font-size:14px;}
  body[data-design="restaurant"] .empty-state {background:var(--friendly-surface-subtle,#f0f4ec);border-color:var(--friendly-border,#e1e7dc);border-radius:12px;color:var(--friendly-muted,#65746d);}

  /* The signed-out/denied restaurant screen stays generic, without restaurant data. */
  body[data-design="restaurant"] .access-shell {max-width:1240px;padding-inline:clamp(24px,4vw,48px);}
  body[data-design="restaurant"] .access-header {min-height:98px;}
  body[data-design="restaurant"] .access-main {padding:0;}
  body[data-design="restaurant"] .access-hero {padding-block:56px;gap:clamp(28px,5vw,62px);}
  body[data-design="restaurant"] .access-copy h1 {font-size:clamp(34px,4vw,48px);font-weight:400;line-height:1.2;}
  body[data-design="restaurant"] :is(.access-intro,.access-explanation) {font-size:15px;line-height:1.85;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] :is(.access-notice,.access-owners) {border:1px solid var(--friendly-border,#e1e7dc);border-radius:13px;background:var(--friendly-surface-subtle,#f0f4ec);}
  body[data-design="restaurant"] :is(.access-notice strong,.access-notice p,.access-account-note,.access-preview-caption,.access-preview-top,.access-preview-bottom,.access-footer,.access-header-link,.access-secondary) {font-size:13px;line-height:1.75;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] .access-notice strong {color:var(--friendly-ink,#283d30);}
  body[data-design="restaurant"] .access-preview {border-color:var(--friendly-border,#e1e7dc);border-radius:13px;background:#f0f4ec;padding:24px;}
  body[data-design="restaurant"] .access-preview-paper {background:#fff;border-color:var(--friendly-border,#e1e7dc);border-radius:12px;}
  body[data-design="restaurant"] .access-preview-paper .eyebrow {font-size:12px;}
  body[data-design="restaurant"] .access-preview-menu>div {font-size:14px;}
  body[data-design="restaurant"] .access-features {gap:24px;}
  body[data-design="restaurant"] .access-feature-icon {width:40px;height:40px;border-radius:10px;background:#e8efdf;}
  body[data-design="restaurant"] .access-features h2 {font-size:15px;line-height:1.6;}
  body[data-design="restaurant"] .access-features p {font-size:14px;line-height:1.8;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] .access-owners {padding:28px;}
  body[data-design="restaurant"] .access-owners h2 {font-size:27px;line-height:1.3;}
  body[data-design="restaurant"] .access-owners p:not(.eyebrow) {font-size:14px;line-height:1.8;color:var(--friendly-muted,#65746d);}
  body[data-design="restaurant"] .access-owners .primary {font-size:14px;white-space:normal;}

  @media (hover:hover) {
    body[data-design="zimmis"] .project {transition:border-color 160ms var(--friendly-ease,ease),box-shadow 160ms var(--friendly-ease,ease);}
    body[data-design="zimmis"] .project:hover {border-color:#b9c9af;box-shadow:none;}
    body:is([data-design="dine-landing"],[data-design="invite"]) .landing-button:hover:not(:disabled),body[data-design="restaurant"] .primary:hover:not(:disabled) {background:var(--friendly-accent-hover,#2b4b35);border-color:var(--friendly-accent-hover,#2b4b35);box-shadow:none;transform:none;}
    body:is([data-design="dine-landing"],[data-design="invite"]) :is(.landing-button-outline,.invite-decline):hover:not(:disabled) {background:#e8efdf;color:var(--friendly-accent,#365b43);border-color:#b9c7b3;box-shadow:none;}
    body[data-design="restaurant"] .date-form button:hover:not(:disabled) {background:#dfe9d5;}
  }

  @media (max-width:1000px) {
    body[data-design="zimmis"] .hero {padding-block:52px 60px;}
    body[data-design="dine-landing"] .landing-header nav {gap:15px;}
    body[data-design="restaurant"] .hero {gap:28px;}
    body[data-design="restaurant"] .site-header {flex-wrap:wrap;gap:18px;}
    body[data-design="restaurant"] .site-header .locale-header-actions {flex-wrap:wrap;justify-content:flex-end;gap:12px;}
  }

  @media (max-width:760px) {
    body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) .locale-header-actions {gap:12px;flex-wrap:wrap;}
    body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) .language-control select {min-height:44px;font-size:16px;}
    body[data-design="zimmis"] .button-dark,
    body:is([data-design="dine-landing"],[data-design="invite"]) .landing-button,
    body[data-design="account"] :is(button[type=submit],.primary-link,.secondary) {min-height:44px;}
    body[data-design="zimmis"] .site-header {padding-block:20px;min-height:96px;flex-wrap:wrap;gap:18px;}
    body[data-design="zimmis"] .site-header nav {font-size:14px;gap:20px;}
    body[data-design="zimmis"] .site-header nav a {min-height:44px;display:inline-flex;align-items:center;}
    body[data-design="zimmis"] .hero h1 {font-size:clamp(44px,11vw,68px);}
    body[data-design="zimmis"] .hero-art {border-radius:13px;}
    body[data-design="zimmis"] .project-copy {padding:27px 24px;}
    body[data-design="zimmis"] .project-copy h3 {font-size:34px;}
    body[data-design="zimmis"] .about h2 {font-size:32px;}
    body[data-design="dine-landing"] .landing-shell {padding-inline:22px;}
    body[data-design="dine-landing"] :is(.landing-hero,.operator-hero) {padding-block:38px 42px;gap:30px;}
    body[data-design="dine-landing"] .landing-hero h1 {font-size:clamp(40px,10vw,56px);}
    body[data-design="dine-landing"] .operator-hero h1 {font-size:clamp(36px,9.4vw,45px);}
    body[data-design="dine-landing"] .landing-section {padding-block:40px;}
    body[data-design="dine-landing"] .landing-section-heading>p {font-size:15px;line-height:1.8;}
    body[data-design="dine-landing"] .landing-features article {padding:22px 20px 22px 60px;}
    body[data-design="dine-landing"] .feature-number {left:20px;top:20px;}
    body[data-design="dine-landing"] .visitor-host-note {padding:24px;}
    body[data-design="dine-landing"] .visitor-illustration {padding:18px;}
    body[data-design="dine-landing"] .visitor-menu-paper {padding:23px 21px 0;}
    body[data-design="dine-landing"] .visitor-paper-footer {padding-block:14px;}
    body[data-design="dine-landing"] .operator-board-body {padding-inline:20px;}
    body[data-design="dine-landing"] .board-row {gap:9px;}
    body[data-design="dine-landing"] .board-icon {width:23px;}
    body[data-design="dine-landing"] .board-pill {max-width:82px;font-size:12px;}
    body[data-design="dine-landing"] .operator-gate {padding-block:40px 58px;}
    body[data-design="dine-landing"] .operator-gate h1 {font-size:clamp(32px,8vw,42px);}
    body[data-design="account"] .account-header {padding:20px;min-height:88px;gap:14px;flex-wrap:wrap;}
    body[data-design="account"] main:not(.action-main) {grid-template-columns:1fr;padding:34px 20px;gap:28px;min-height:0;}
    body[data-design="account"] .account-intro h1 {font-size:clamp(38px,10vw,52px);}
    body[data-design="account"] .account-intro>p:not(.eyebrow) {font-size:15px;}
    body[data-design="account"] .account-panel {padding:25px 21px;}
    body[data-design="account"] :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea) {font-size:16px;min-height:46px;}
    body[data-design="account"] .action-main {padding:30px 18px;min-height:calc(100dvh - 165px);}
    body[data-design="account"] .action-panel h1 {font-size:31px;}
    body[data-design="account"] .profile-name-row {flex-wrap:wrap;}
    body[data-design="account"] .profile-name-row button[type=submit] {width:100%;}
    body[data-design="invite"] .landing-shell {padding-inline:18px;}
    body[data-design="invite"] .landing-header {min-height:88px;padding-block:17px;flex-wrap:wrap;gap:15px;}
    body[data-design="invite"] .invite-main {padding-block:26px;min-height:calc(100dvh - 165px);}
    body[data-design="invite"] .invite-card {padding:26px 22px;}
    body[data-design="invite"] .invite-actions {align-items:stretch;gap:10px;}
    body[data-design="invite"] .invite-actions :is(.landing-button,.landing-text-link) {min-height:44px;white-space:normal;}
    body[data-design="restaurant"] :is(.site-header,main,.site-footer,.access-shell) {padding-inline:22px;}
    body[data-design="restaurant"] .site-header {padding-block:21px;}
    body[data-design="restaurant"] .site-header nav {font-size:13px;gap:14px;}
    body[data-design="restaurant"] .site-header nav a {min-height:44px;display:inline-flex;align-items:center;}
    body[data-design="restaurant"] .primary {min-height:44px;}
    body[data-design="restaurant"] .hero {grid-template-columns:1fr;padding-block:36px 40px;gap:28px;}
    body[data-design="restaurant"] .hero h1 {font-size:clamp(36px,9vw,47px);}
    body[data-design="restaurant"] :is(.hero-note,.menu-group,.opening-card,.review-source) {padding:23px;}
    body[data-design="restaurant"] .section-heading {align-items:flex-start;}
    body[data-design="restaurant"] .review-sources {grid-template-columns:1fr;}
    body[data-design="restaurant"] .visit-section {grid-template-columns:1fr;gap:28px;}
    body[data-design="restaurant"] .menu-items {grid-template-columns:1fr;}
    body[data-design="restaurant"] .date-form :is(input,button) {min-height:44px;font-size:16px;}
    body[data-design="restaurant"] .date-form label {font-size:13px;}
    body[data-design="restaurant"] .access-header {min-height:94px;padding-block:18px;flex-wrap:wrap;gap:16px;}
    body[data-design="restaurant"] .access-header .locale-header-actions {flex-wrap:wrap;gap:12px;}
    body[data-design="restaurant"] .access-hero {grid-template-columns:1fr;padding-block:36px;gap:30px;}
    body[data-design="restaurant"] .access-copy h1 {font-size:clamp(32px,9vw,40px);}
    body[data-design="restaurant"] .access-preview {padding:21px;}
    body[data-design="restaurant"] .access-preview-paper {padding:23px 21px 0;}
    body[data-design="restaurant"] .access-preview-title {font-size:35px;}
    body[data-design="restaurant"] .access-features {grid-template-columns:1fr;gap:23px;}
    body[data-design="restaurant"] .access-features article {display:flex;gap:13px;}
    body[data-design="restaurant"] .access-feature-icon {margin:0;}
    body[data-design="restaurant"] .access-owners {padding:24px;}
    body[data-design="restaurant"] .access-owners .primary {justify-self:start;}
  }

  @media (max-width:420px) {
    body:is([data-design="zimmis"],[data-design="dine-landing"],[data-design="account"],[data-design="invite"],[data-design="restaurant"]) .locale-header-actions {width:100%;justify-content:space-between;margin-left:0;gap:10px;}
    body[data-design="zimmis"] .site-header {gap:14px;}
    body[data-design="zimmis"] .hero {padding-block:36px 42px;gap:30px;}
    body[data-design="zimmis"] .hero-art {aspect-ratio:1;}
    body[data-design="zimmis"] .art-top {left:18px;right:18px;top:19px;gap:12px;flex-wrap:wrap;}
    body[data-design="zimmis"] .art-bottom {left:18px;right:18px;bottom:18px;gap:12px;}
    body[data-design="zimmis"] .project-art-label {left:20px;right:20px;top:20px;}
    body[data-design="zimmis"] .project-copy {padding:24px 20px;}
    body[data-design="zimmis"] .project-meta {flex-wrap:wrap;}
    body[data-design="dine-landing"] .landing-shell {padding-inline:18px;}
    body[data-design="dine-landing"] .landing-header {padding-block:18px;gap:16px;}
    body[data-design="dine-landing"] .landing-actions {gap:14px;align-items:flex-start;}
    body[data-design="dine-landing"] .landing-button {max-width:100%;white-space:normal;gap:14px;}
    body[data-design="dine-landing"] .board-row {flex-wrap:wrap;}
    body[data-design="dine-landing"] .board-row>div {flex-basis:calc(100% - 36px);}
    body[data-design="dine-landing"] .board-pill {margin-left:32px;max-width:none;}
    body[data-design="dine-landing"] .operator-board-top {padding:16px 19px;}
    body[data-design="dine-landing"] .operator-board-body {padding-inline:18px;}
    body[data-design="account"] :is(.account-header,main:not(.action-main)) {padding-inline:18px;}
    body[data-design="account"] .account-panel {padding:23px 19px;}
    body[data-design="account"] .account-language.is-setup {padding:16px;}
    body[data-design="restaurant"] :is(.site-header,main,.site-footer,.access-shell) {padding-inline:18px;}
    body[data-design="restaurant"] .site-header {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;}
    body[data-design="restaurant"] .restaurant-wordmark {grid-column:1;grid-row:1;overflow-wrap:anywhere;}
    body[data-design="restaurant"] .site-header .locale-header-actions {display:contents;}
    body[data-design="restaurant"] .site-header .language-control {grid-column:2;grid-row:1;align-self:center;}
    body[data-design="restaurant"] .site-header .locale-header-actions>nav {grid-column:1/-1;grid-row:2;width:100%;max-width:100%;min-width:0;}
    body[data-design="restaurant"] .site-header nav {flex-direction:row;flex-wrap:wrap;gap:4px 15px;text-align:left;}
    body[data-design="restaurant"] :is(.hero-note,.menu-group,.opening-card,.review-source) {padding:21px 18px;}
    body[data-design="restaurant"] .restaurant-meta {align-items:flex-start;gap:9px;}
    body[data-design="restaurant"] .menu-item {gap:14px;}
    body[data-design="restaurant"] .opening-card dl>div {display:grid;grid-template-columns:1fr;gap:5px;}
    body[data-design="restaurant"] .opening-card dd {text-align:left;}
    body[data-design="restaurant"] .access-preview {padding:17px;}
    body[data-design="restaurant"] .access-preview-paper {padding-inline:18px;}
    body[data-design="restaurant"] .access-owners {padding:23px 20px;}
    body[data-design="restaurant"] .access-owners h2 {font-size:25px;}
    body[data-design="restaurant"] .access-preview-bottom {gap:10px 14px;}
  }

  @media (prefers-reduced-motion:reduce) {
    body[data-design="zimmis"] :is(.project,.game-tile,.project h3 span),
    body:is([data-design="dine-landing"],[data-design="invite"]) .landing-button,
    body[data-design="restaurant"] .primary {transition:none;}
  }
}
