/* ELEVO refinements for the existing native-block design. */

/* Logo, navigation and CTA share a vertical center; native WordPress controls remain intact. */
.elevo-header-inner { display: flex; align-items: center; gap: 32px; }
.elevo-header-inner > .wp-block-site-logo,
.elevo-header-inner > .elevo-nav { margin-block: 0; }
.elevo-header .wp-block-site-logo,
.elevo-header .wp-block-site-logo a { display: inline-flex; align-items: center; }
.elevo-nav { min-width: 0; align-items: center; }
.elevo-nav > .wp-block-navigation__container,
.elevo-nav .wp-block-navigation__responsive-container-content > .wp-block-navigation__container { flex-wrap: nowrap; align-items: center; gap: clamp(16px, 1.65vw, 26px); }
.elevo-nav .wp-block-navigation-item { align-items: center; }
.elevo-nav .wp-block-navigation-item__content { min-height: 44px; display: inline-flex; align-items: center; }
.elevo-nav .wp-block-navigation-submenu__toggle { display: inline-flex; align-items: center; min-width: 32px; min-height: 44px; margin-left: 0; justify-content: center; }
.elevo-nav .wp-block-navigation__responsive-container-open { align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
.elevo-nav .wp-block-navigation__submenu-container { padding: 10px; border: 1px solid var(--elevo-line); border-radius: 2px; background: #fff; color: var(--elevo-ink); box-shadow: 0 12px 28px #051d3d12; }
.elevo-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 12px; font-size: .875rem; line-height: 1.45; white-space: normal; }
.elevo-nav .wp-block-navigation__submenu-container { min-width: 220px; }

/* Manual photography sequence: no autoplay, animation library, or offscreen width. */
.elevo-photo-carousel { width: 100%; max-width: 100%; min-width: 0; position: relative; margin: 0; padding-bottom: 56px; }
.elevo-photo-slide { width: 100%; max-width: 100%; min-width: 0; margin: 0 !important; }
.elevo-photo-carousel:not([data-ready]) .elevo-photo-slide:not(:first-child) { display: none; }
.elevo-photo-slide[hidden], .elevo-photo-carousel [hidden] { display: none !important; }
.elevo-photo-slide figure { width: 100%; max-width: 100%; min-width: 0; margin: 0; }
.elevo-photo-slide > figure img,
.elevo-photo-slide .elevo-photo img { display: block; width: 100%; aspect-ratio: 2.9/1; object-fit: cover; border-radius: 2px; }
.elevo-photo-controls { position: absolute; inset: auto 0 0; display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin: 0; padding-top: 12px; }
.elevo-photo-controls button { min-width: 80px; min-height: 44px; padding: 9px 14px; border: 1px solid var(--elevo-line); border-radius: 2px; background: #fff; color: var(--elevo-ink); font-size: .8125rem; font-weight: 600; line-height: 1.4; cursor: pointer; }
.elevo-photo-controls button:hover { background: var(--elevo-soft); border-color: #a5b2bf; }
.elevo-photo-controls span { min-width: 40px; text-align: center; font-size: .8125rem; font-variant-numeric: tabular-nums; color: var(--elevo-muted); }

/* Fully expanded service copy needs a wider reading surface than a stacked side column. */
.elevo-service-split.wp-block-columns { display: block; margin-top: 0; }
.elevo-service-split > .wp-block-column { width: 100%; min-width: 0; margin: 0; }
.elevo-service-split > .wp-block-column:first-child { max-width: 900px; }
.elevo-service-split > .wp-block-column:first-child h2 { max-width: 900px; }
.elevo-service-split > .wp-block-column:first-child .elevo-lead { max-width: 800px; }
.elevo-service-split > .wp-block-column + .wp-block-column { margin-top: 38px; }
.elevo-service-split .elevo-service-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 64px); align-items: start; margin: 0; }
.elevo-service-panels .elevo-service { min-width: 0; min-height: 0; padding-block: 24px; margin: 0; }
.elevo-service-panels .elevo-service:last-child { border-bottom: 0; }
.elevo-service-panels .elevo-service summary { min-height: 44px; margin-left: 20px; padding-right: 8px; font-size: clamp(1.25rem, 1.7vw, 1.5rem); }
.elevo-service-panels .elevo-service-summary { margin-top: 9px; font-size: 1rem; line-height: 1.6; }
.elevo-service-panels .elevo-service > p { margin-top: 18px; font-size: .9375rem; line-height: 1.75; color: var(--elevo-muted); }
.elevo-service-panels .elevo-service > .elevo-text-link { margin-top: 18px; margin-bottom: 0; }
.elevo-service-panels .elevo-text-link a { min-height: 44px; align-items: center; font-size: .875rem; color: var(--elevo-ink); }

/* Conference callouts and editorial case summaries use the same ruled, open layout. */
.elevo-conference-callout .elevo-split { align-items: center !important; margin-top: 0; }
.elevo-conference-callout h2 { margin-top: 0; }
.elevo-visual-section .wp-block-buttons { margin-bottom: 32px; }
.elevo-project-story { border-top: 1px solid #bdc9d2; padding-top: 26px; margin: 0; }
.elevo-project-story .elevo-eyebrow { line-height: 1.6; }
.elevo-project-story p:not(.elevo-eyebrow) { font-size: 1rem; line-height: 1.75; color: var(--elevo-muted); }
.elevo-experience-grid { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 56px) !important; }
.elevo-experience-grid > .wp-block-column { min-width: 0; }
.elevo-local-price { max-width: 700px; }
.elevo-local-price > h2 { font-size: clamp(3.6rem, 7vw, 6rem); line-height: 1.08; letter-spacing: -.055em; }
.elevo-local-price-unit { font-size: clamp(1rem, 1.8vw, 1.4rem); letter-spacing: -.025em; white-space: nowrap; }
.elevo-local-disclosure { max-width: 850px; font-size: .875rem; line-height: 1.7; }
.elevo-local-features { align-items: stretch !important; }
.elevo-event-proposal { background: #f4f6f6; border-top: 1px solid var(--elevo-line); }
.elevo-event-proposal .elevo-inquiry-form { max-width: 1020px; margin-top: 36px; }
.elevo-event-proposal .elevo-form-help,
.elevo-event-proposal .elevo-form-privacy { max-width: 900px; }
.elevo-role-group .elevo-job-card:only-child { grid-column: 1 / -1; }
.elevo-role-group .elevo-job-description { max-width: 850px; }

/* Focused service navigation and municipal topics retain the open, ruled design. */
.elevo-audience-services,
.elevo-city-topics { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(28px, 4vw, 64px) !important; align-items: start; }
.elevo-audience-services > *,
.elevo-city-topics > * { min-width: 0; margin: 0; padding-block: 28px; border-top: 1px solid var(--elevo-line); }
.elevo-audience-services h3,
.elevo-city-topics h3 { font-size: clamp(1.35rem, 1.9vw, 1.75rem); line-height: 1.3; }
.elevo-audience-services p,
.elevo-city-topics p { font-size: 1rem; line-height: 1.7; color: var(--elevo-muted); }
.elevo-audience-services .elevo-text-link { margin-top: 20px; margin-bottom: 0; }
.elevo-audience-services .elevo-text-link a { min-height: 44px; align-items: center; color: var(--elevo-ink); }
.elevo-approved-service { display: block !important; max-width: 950px; }

/* App imagery has a bounded portrait surface until an approved screen is supplied. */
.elevo-local-hero-layout { margin-top: 0; }
.elevo-local-hero-layout > .wp-block-column { min-width: 0; }
.elevo-local-hero-layout > .wp-block-column:last-child { display: flex; justify-content: center; }
.elevo-local-phone { width: min(100%, 310px); min-width: 0; margin: 0 auto !important; padding: 10px; border: 1px solid #173858; border-radius: 38px; background: #0a2642; box-shadow: 0 22px 50px #051d3d12; }
.elevo-local-phone-screen { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; width: 100%; aspect-ratio: 9 / 17; min-width: 0; margin: 0 !important; padding: clamp(20px, 3vw, 30px); border-radius: 28px; background: #edf2f4; text-align: center; }
.elevo-local-phone-screen > * { max-width: 100%; margin: 0 !important; }
.elevo-local-phone-screen h2 { font-size: clamp(1.5rem, 2.5vw, 1.85rem); line-height: 1.25; letter-spacing: -.035em; }
.elevo-local-phone-screen p { color: #536476; font-size: 1rem; line-height: 1.7; }
.elevo-local-phone-screen .elevo-eyebrow { color: #294d6a; }
.elevo-local-offer { align-items: start !important; }
.elevo-local-offer > .wp-block-column { min-width: 0; }
.elevo-local-price .elevo-local-minimum { margin-top: 14px; font-size: .875rem; line-height: 1.65; color: var(--elevo-muted); }
.elevo-local-price .elevo-media-slot { margin-top: 30px; max-width: 100%; }
.elevo-local-benefits > h2 { margin-top: 0; }
.elevo-local-benefit { margin-top: 26px; padding-top: 23px; border-top: 1px solid var(--elevo-line); }
.elevo-local-benefit h3 { margin-bottom: 10px; font-size: 1.2rem; line-height: 1.4; }
.elevo-local-benefit p { margin: 0; font-size: 1rem; line-height: 1.75; color: var(--elevo-muted); }
.elevo-local-launch-status { max-width: 680px !important; margin-top: 16px; font-size: .875rem; line-height: 1.7; color: var(--elevo-muted); }

/* A concise invitation, with real driver photography to follow. */
.elevo-recruitment-layout { margin-top: 0; }
.elevo-recruitment-copy h2 { margin-top: 12px; }
.elevo-recruitment-copy .elevo-lead { max-width: 540px; }
.elevo-home-recruitment .elevo-media-slot { width: 100%; max-width: 100%; }
#driver-openings { scroll-margin-top: 32px; }
.elevo-recruiting-status { max-width: 820px !important; padding: 16px 20px; border-left: 3px solid #cc611f; background: #f4f6f6; font-size: 1rem; line-height: 1.7; }
.elevo-recruiting-status a { overflow-wrap: anywhere; }

/* Brand photographs open in an uncluttered, keyboard-operable native dialog. */
.elevo-project-photo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; width: 100%; min-width: 0; min-height: 132px; padding: 8px 0; color: var(--elevo-ink); border: 0; border-radius: 2px; background: transparent; text-align: center; cursor: pointer; }
.elevo-project-photo:disabled { color: inherit; opacity: 1; cursor: default; }
.elevo-project-photo .elevo-brand-caption { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.elevo-project-photo:not(:disabled):hover .elevo-brand-caption { color: #a74212; text-decoration: underline; }
[data-elevo-projects] dialog { width: min(960px, calc(100% - 40px)); max-width: 960px; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); padding: clamp(20px, 3vw, 36px); margin: auto; overflow: auto; overscroll-behavior: contain; border: 0; border-radius: 3px; background: #fff; color: var(--elevo-ink); box-shadow: 0 24px 96px #0005; }
[data-elevo-projects] dialog:not([open]) { display: none; }
[data-elevo-projects] dialog::backdrop { background: #051d3dd9; }
[data-elevo-projects] [data-photo-close] { display: block; min-width: 72px; min-height: 44px; margin: 0 0 20px auto; padding: 8px 14px; border: 1px solid #a9b7c4; border-radius: 2px; background: #fff; color: var(--elevo-ink); font-size: .875rem; font-weight: 600; cursor: pointer; }
[data-elevo-projects] [data-photo-close]:hover { background: var(--elevo-soft); }
[data-elevo-projects] [data-photo-heading] { margin: 0 0 22px; font-size: clamp(1.5rem, 3vw, 2.25rem); letter-spacing: -.04em; line-height: 1.2; }
[data-elevo-projects] dialog img { display: block; width: 100%; max-height: 62vh; max-height: 62dvh; object-fit: contain; margin-inline: auto; }
[data-elevo-projects] dialog [hidden] { display: none !important; }
[data-elevo-projects] [data-photo-placeholder] { display: grid; place-items: center; min-height: clamp(220px, 45vh, 440px); padding: 32px; border: 1px solid var(--elevo-line); background: #f1f5f6; color: var(--elevo-muted); text-align: center; font-size: 1rem; line-height: 1.65; }
[data-elevo-projects] [data-photo-caption] { max-width: 760px; margin: 18px 0 0; font-size: .9375rem; line-height: 1.7; color: var(--elevo-muted); }
[data-elevo-projects] [data-photo-caption]:empty { display: none; }

/* Dark footer: readable contact details, a quiet legal bar, and no fixed tagline. */
.elevo-footer.elevo-footer-v17 { border-top: 0; background: #05192f; color: #fff; padding-block: clamp(48px, 5vw, 72px) 28px; }
.elevo-footer-v17 .elevo-footer-brand { padding-bottom: 34px; margin: 0; }
.elevo-footer.elevo-footer-v17 .elevo-footer-logo-link { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; }
.elevo-footer.elevo-footer-v17 .elevo-footer-logo { display: block; width: 150px; max-width: 100%; height: auto; filter: none; }
.elevo-footer-v17 .elevo-footer-v17-columns { display: grid; grid-template-columns: 1.2fr 1.1fr .85fr 1fr 1.5fr; gap: clamp(20px, 2.5vw, 40px) !important; align-items: start; margin: 0 !important; }
.elevo-footer-v17 .elevo-footer-v17-columns > .wp-block-column { width: auto; min-width: 0; flex-basis: auto !important; }
.elevo-footer-v17 .elevo-footer-disclosure { margin: 0; }
.elevo-footer-v17 .elevo-footer-disclosure > summary,
.elevo-footer-v17 .elevo-footer-label { min-height: 32px; margin: 0 0 12px; color: #fff; font-size: 1rem; font-weight: 650; line-height: 1.4; letter-spacing: -.015em; }
.elevo-footer-v17 .elevo-footer-disclosure > summary { list-style-position: inside; cursor: pointer; }
.elevo-footer-v17 .elevo-footer-disclosure > summary::marker { color: #ffab76; font-size: .625rem; }
.elevo-footer-v17 .elevo-footer-link { margin: 0 !important; }
.elevo-footer-v17 .elevo-footer-links { list-style: none; margin: 0; padding: 0; }
.elevo-footer-v17 .elevo-footer-links li { margin: 0; padding: 0; }
.elevo-footer.elevo-footer-v17 a { color: #d2dde7; font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
.elevo-footer-v17 .elevo-footer-link a,
.elevo-footer-v17 .elevo-footer-links a { display: inline-flex; align-items: center; min-height: 40px; padding-block: 7px; }
.elevo-footer.elevo-footer-v17 a:hover { color: #ffad76; text-decoration: underline; text-underline-offset: 4px; }
.elevo-footer-v17 a:focus-visible,
.elevo-footer-v17 summary:focus-visible { outline-color: #ffad76; }
.elevo-footer-v17 .elevo-footer-contact { margin: 0; color: #d2dde7; font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; }
.elevo-footer-v17 .elevo-footer-contact p { margin: 0 0 14px; }
.elevo-footer-v17 .elevo-footer-contact p a { display: inline-flex; min-height: 36px; align-items: center; }
.elevo-footer-v17 .elevo-footer-contact address { font-style: normal; }
.elevo-footer-v17 .elevo-footer-address-note { margin-top: 12px !important; color: #b3c3d3; font-size: .8125rem; line-height: 1.65; }
.elevo-footer-v17 .elevo-footer-contact > a { display: inline-flex; min-height: 44px; align-items: center; color: #fff; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.elevo-footer-v17 .elevo-footer-connect { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 28px 48px; margin-top: 36px; padding-top: 28px; border-top: 1px solid #324863; }
.elevo-footer-v17 .elevo-social-links { display: flex; flex-wrap: wrap; gap: 4px 26px; }
.elevo-footer-v17 .elevo-social-links a { display: inline-flex; align-items: center; min-height: 44px; }
.elevo-footer-v17 .elevo-social-links .elevo-social-mark { width: 48px; min-height: 48px; justify-content: center; }
.elevo-footer-v17 .elevo-social-mark img { display: block; width: 32px; height: 32px; }
.elevo-footer-v17 .elevo-store-links { gap: 12px; }
.elevo-footer-v17 .elevo-store-link { display: inline-flex; flex-direction: column; justify-content: center; min-width: 130px; min-height: 56px; padding: 10px 16px; border: 1px solid #698096; border-radius: 2px; color: #fff; font-size: .875rem; font-weight: 600; line-height: 1.45; text-decoration: none; }
.elevo-footer-v17 .elevo-store-link small { display: block; color: #c3d1de; font-size: .75rem; font-weight: 400; margin-top: 3px; }
.elevo-footer-v17 .elevo-store-link.is-coming-soon { cursor: default; }
.elevo-footer-v17 .elevo-store-links.has-live-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.elevo-footer-v17 .elevo-store-link.is-live { min-width: 0; min-height: 66px; max-width: 100%; padding: 11px; border: 0; }
.elevo-footer-v17 .elevo-store-link.is-live img { display: block; height: 44px; width: auto; max-width: none; }
.elevo-footer-v17 .elevo-store-link.is-google { padding: 0; }
.elevo-footer-v17 .elevo-store-link.is-google img { height: 66px; }
.elevo-footer-v17 .elevo-store-attribution { max-width: 355px; margin-top: 12px; color: #b3c3d3; font-size: .6875rem; line-height: 1.65; }
.elevo-footer-v17 .elevo-affiliations { padding-bottom: 0; }
.elevo-footer-v17 .elevo-affiliations .elevo-eyebrow,
.elevo-footer-v17 .elevo-affiliations .elevo-program-note { color: #c3d1de; }
.elevo-footer-v17 .elevo-affiliations .elevo-proof-logo { padding: 8px; border-radius: 2px; background: #fff; }
.elevo-footer.elevo-footer-v17 .elevo-footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; margin-top: 32px; padding-top: 20px; border-top: 1px solid #324863; }
.elevo-footer-v17 .elevo-policy-links { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0; }
.elevo-footer-v17 .elevo-policy-links a { display: inline-flex; align-items: center; min-height: 40px; }
.elevo-footer.elevo-footer-v17 .elevo-copyright { color: #b3c3d3; font-size: .875rem; line-height: 1.6; margin: 0; }
.elevo-back-top { position: fixed; z-index: 50; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 1px solid #93a9bd; border-radius: 50%; background: #051d3d; color: #fff; box-shadow: 0 4px 18px #051d3d24; font: inherit; font-size: 1.45rem; line-height: 1; cursor: pointer; }
.elevo-back-top:hover { background: #21415f; }
.elevo-back-top:focus-visible { outline-color: #f36f21; }
.elevo-back-top[hidden] { display: none; }

/* Policy pages retain document wording in a comfortable, navigable reading column. */
.elevo-legal-page .elevo-legal-copy { max-width: 1060px; }
.elevo-legal-copy h1 { max-width: 100%; font-size: clamp(2.6rem, 5vw, 4.75rem); line-height: 1.08; overflow-wrap: anywhere; }
.elevo-legal-copy h2 { max-width: 100%; margin-top: 44px; margin-bottom: 18px; font-size: clamp(1.45rem, 2.6vw, 2rem); line-height: 1.3; letter-spacing: -.03em; scroll-margin-top: 32px; }
.elevo-legal-copy h3 { font-size: 1.2rem; line-height: 1.45; letter-spacing: -.015em; }
.elevo-legal-copy p, .elevo-legal-copy li { max-width: 100%; font-size: 1rem; line-height: 1.85; overflow-wrap: anywhere; }
.elevo-legal-copy p { margin-block: 16px; }
.elevo-legal-copy li { padding-left: 4px; margin-block: 10px; }
.elevo-legal-copy ol, .elevo-legal-copy ul { padding-left: 24px; }
.elevo-legal-copy .elevo-legal-date { color: var(--elevo-muted); font-size: .875rem; }
.elevo-legal-toc { margin-block: 30px 44px; padding: clamp(20px, 3vw, 32px); border-block: 1px solid var(--elevo-line); background: var(--elevo-soft); }
.elevo-legal-toc > p:first-child { margin-top: 0; font-weight: 650; }
.elevo-legal-toc ul { list-style: none; margin: 0; padding: 0; }
.elevo-legal-toc li { margin: 0; padding: 0; }
.elevo-legal-toc a { display: block; min-height: 44px; padding-block: 9px; font-size: .9375rem; line-height: 1.6; }
.elevo-policy-directory { max-width: 900px; margin: 32px 0; padding: 0; list-style: none; border-top: 1px solid var(--elevo-line); }
.elevo-policy-directory li { margin: 0; border-bottom: 1px solid var(--elevo-line); }
.elevo-policy-directory a { display: block; padding: 18px 0; min-height: 56px; line-height: 1.5; text-decoration: none; }
.elevo-policy-directory a:hover { text-decoration: underline; }

@media (max-width: 1200px) {
  .elevo-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
  .elevo-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex !important; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; align-items: stretch; padding-top: 60px; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 8px; width: 100%; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; align-items: flex-start; font-size: 1.25rem; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { min-height: 48px; padding-block: 9px; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { position: static; min-width: 0; max-width: 100%; margin: 0; padding: 0 0 8px 20px; border: 0; box-shadow: none; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 0; font-size: 1rem; color: #536476; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .elevo-nav-cta { width: auto; align-self: flex-start; margin-top: 18px; }
  .elevo-nav .wp-block-navigation__responsive-container.is-menu-open .elevo-nav-cta a { padding: 12px 22px; }
}
@media (max-width: 1050px) and (min-width: 701px) {
  .elevo-footer-v17 .elevo-footer-v17-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px !important; }
  .elevo-footer-v17 .elevo-footer-v17-columns > .wp-block-column:last-child { grid-column: 1/-1; }
  .elevo-footer-v17 .elevo-footer-contact { display: grid; grid-template-columns: 1.2fr 1.5fr 1.2fr auto; gap: 24px; align-items: start; }
  .elevo-footer-v17 .elevo-footer-contact p, .elevo-footer-v17 .elevo-footer-contact .elevo-footer-address-note { margin: 0 !important; }
}
@media (max-width: 781px) {
  .elevo-audience-services,
  .elevo-city-topics { grid-template-columns: minmax(0, 1fr); }
  .elevo-local-phone { width: min(100%, 270px); }
  .elevo-local-hero-layout,
  .elevo-local-offer,
  .elevo-recruitment-layout { flex-direction: column; align-items: stretch !important; }
  .elevo-local-hero-layout > .wp-block-column,
  .elevo-local-offer > .wp-block-column,
  .elevo-recruitment-layout > .wp-block-column { width: 100%; flex-basis: auto !important; }
  .elevo-local-offer .elevo-local-price > h2 { font-size: clamp(3.3rem, 13vw, 5.4rem); }
  .elevo-local-price .elevo-media-slot { margin-top: 24px; }
  .elevo-local-benefit { margin-top: 22px; padding-top: 20px; }
  .elevo-experience-grid { grid-template-columns: minmax(0, 1fr); gap: 28px !important; }
  .elevo-photo-slide > figure img, .elevo-photo-slide .elevo-photo img { aspect-ratio: 1.75/1; }
  .elevo-service-split > .wp-block-column + .wp-block-column { margin-top: 30px; }
  .elevo-service-split .elevo-service-panels { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .elevo-service-panels .elevo-service { padding-block: 24px; }
  .elevo-service-panels .elevo-service:last-child { border-bottom: 1px solid var(--elevo-line); }
  .elevo-service-panels .elevo-service summary { font-size: 1.25rem; }
  .elevo-conference-callout .elevo-split { gap: 12px !important; }
  .elevo-conference-callout .elevo-lead { margin-top: 0; }
  .elevo-project-story { padding-top: 22px; }
  .elevo-event-proposal .elevo-inquiry-form { margin-top: 28px; }
}
@media (max-width: 700px) {
  .elevo-footer-v17 .elevo-footer-brand { padding-bottom: 24px; }
  .elevo-footer-v17 .elevo-footer-v17-columns { grid-template-columns: minmax(0, 1fr); gap: 0 !important; }
  .elevo-footer-v17 .elevo-footer-disclosure { border-top: 1px solid #324863; }
  .elevo-footer-v17 .elevo-footer-disclosure > summary { min-height: 58px; margin: 0; padding-block: 18px; line-height: 1.4; }
  .elevo-footer-v17 .elevo-footer-disclosure[open] { padding-bottom: 15px; }
  .elevo-footer-v17 .elevo-footer-link a, .elevo-footer-v17 .elevo-footer-links a { min-height: 44px; }
  .elevo-footer-v17 .elevo-footer-v17-columns > .wp-block-column:last-child { padding-top: 26px; border-top: 1px solid #324863; }
  .elevo-footer-v17 .elevo-footer-contact p a { min-height: 44px; }
  .elevo-footer-v17 .elevo-footer-contact p { margin-bottom: 16px; }
  .elevo-footer-v17 .elevo-footer-connect { flex-direction: column; gap: 26px; margin-top: 26px; padding-top: 26px; }
  .elevo-footer-v17 .elevo-footer-connect > div { width: 100%; min-width: 0; }
  .elevo-footer.elevo-footer-v17 .elevo-footer-bottom { padding-bottom: 56px; margin-top: 26px; }
  .elevo-footer-v17 .elevo-policy-links { gap: 0 22px; }
  .elevo-footer-v17 .elevo-policy-links a { min-height: 44px; }
  .elevo-footer-v17 .elevo-copyright { width: 100%; }
  [data-elevo-projects] dialog { width: calc(100% - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); padding: 18px; }
  [data-elevo-projects] [data-photo-placeholder] { min-height: 260px; padding: 24px; }
}
@media (max-width: 400px) {
  .elevo-photo-controls { justify-content: space-between; gap: 8px; }
  .elevo-photo-controls button { min-width: 76px; padding-inline: 10px; }
  .elevo-footer-v17 .elevo-store-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .elevo-footer-v17 .elevo-store-link { min-width: 0; padding-inline: 12px; }
  .elevo-legal-toc { padding-inline: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .elevo-photo-carousel *, .elevo-project-photo, .elevo-back-top { animation: none !important; transition: none !important; }
}
@media print {
  .elevo-photo-controls, .elevo-back-top, [data-elevo-projects] dialog { display: none !important; }
  .elevo-legal-copy { max-width: none; }
  .elevo-legal-toc { break-inside: avoid; }
  .elevo-legal-copy h2, .elevo-legal-copy h3 { break-after: avoid; }
}
