/* Separate responsive presentation. The desktop design is untouched at >=1200px. */
@media (max-width:1199px) {
  :root { --header:72px; }
  html { scroll-padding-top:88px; }
  body { padding-bottom:calc(86px + env(safe-area-inset-bottom)); overflow-x:clip; }
  .container,.narrow { width:calc(100% - 40px)!important; max-width:1000px; }
  main,main section,main article,main aside,main fieldset,main .grid>*,main .split>* { min-width:0; }
  main { overflow-wrap:break-word; }
  main h1 { font-size:clamp(2rem,5.5vw,3.7rem)!important; line-height:1.12!important; letter-spacing:-.035em; text-wrap:balance; }
  main h2 { font-size:clamp(1.6rem,3.8vw,2.6rem)!important; line-height:1.2!important; letter-spacing:-.025em; text-wrap:balance; }
  main h3 { font-size:clamp(1.15rem,2.5vw,1.45rem)!important; line-height:1.3!important; }
  main :is(h1,h2,h3) :is(span,strong,em,b) { font-size:inherit!important; line-height:inherit!important; }
  main .lead { font-size:1.05rem!important; line-height:1.7!important; }
  main .eyebrow { font-size:.7rem!important; line-height:1.6; letter-spacing:.15em; overflow-wrap:normal; }
  main .eyebrow::before,main .eyebrow::after { display:none!important; }
  .csb-design-backdrop { opacity:.16!important; }
  .csb-design-backdrop *,.csb-ambient-scene * { animation:none!important; }
  body::before,body::after { opacity:.2!important; }
  .csb-edge-flow::before,.csb-edge-flow::after,.hero-lines { display:none!important; }
  main .reveal { opacity:1!important; transform:none!important; transition:none!important; }
  .csb-motion-card { animation:none!important; }
  .site-header.csb-navigation { height:72px!important; min-height:72px; background:#080e15f7!important; border-bottom:1px solid #22303d; backdrop-filter:blur(16px); z-index:1100; }
  .csb-navigation .header-inner { width:calc(100% - 32px)!important; height:72px; padding:0!important; display:flex!important; align-items:center; flex-wrap:nowrap!important; gap:10px; }
  .csb-navigation .brand { min-width:0!important; width:auto!important; margin:0 auto 0 0!important; gap:0; flex:1; }
  .csb-navigation .brand img { width:210px!important; max-width:100%; height:auto!important; }
  .csb-navigation .brand-mark { display:none!important; }
  .csb-navigation .header-quick-cta { display:inline-flex!important; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; margin:0!important; font-size:.82rem; border-radius:12px; white-space:nowrap; }
  .csb-navigation .nav-toggle { display:flex!important; flex:0 0 44px; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid #34434f; border-radius:12px; }
  .csb-navigation .site-nav { display:none!important; position:fixed!important; inset:80px 12px auto!important; width:auto!important; max-height:calc(100dvh - 96px)!important; padding:12px!important; margin:0!important; overflow-y:auto; overscroll-behavior:contain; border:1px solid #34434f!important; border-radius:18px; background:#0b131c!important; box-shadow:0 18px 50px #000a; }
  .csb-navigation .site-nav.open { display:flex!important; flex-direction:column!important; align-items:stretch!important; gap:4px; }
  .csb-navigation .site-nav>a,.csb-navigation .csb-nav-group>summary,.csb-navigation .csb-nav-sub>a { min-height:44px; padding:11px 14px; font-size:.95rem; line-height:1.5; border-radius:10px; }
  .csb-navigation .csb-nav-group { width:100%; }
  .csb-navigation .csb-nav-sub { position:static!important; width:auto!important; max-height:none!important; margin:4px 0 8px 12px; border:0; border-left:2px solid #27b9b4; border-radius:0 10px 10px 0; padding:4px; }
  .csb-navigation .csb-social-nav { position:static!important; display:flex!important; order:unset; width:100%!important; flex-wrap:wrap; justify-content:flex-start; gap:6px; margin:8px 0 0!important; padding:12px 0 0; border-top:1px solid #293744; }
  .csb-navigation .csb-social-nav a { width:44px!important; height:44px!important; }
  .csb-breadcrumb { padding-top:14px; padding-bottom:12px; line-height:1.5; }
  .csb-breadcrumb a { padding:4px 0; }
  body.csb-compact main>.section,main>.section { padding:40px 0!important; }
  body.csb-compact main>.page-hero,main>.page-hero { padding:40px 0 32px!important; min-height:0!important; }
  main .page-hero>.container { margin-inline:auto; }
  main .hero { min-height:0!important; padding:30px 0 40px!important; }
  main .hero-grid { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:24px!important; }
  main .hero-copy { width:100%!important; max-width:760px!important; padding:24px!important; margin-inline:auto!important; text-align:left!important; }
  main .hero-kicker { display:flex; flex-wrap:wrap; justify-content:flex-start; gap:8px; margin-bottom:24px; }
  main .hero-kicker .chip { min-height:40px; display:inline-flex; align-items:center; padding:8px 12px; font-size:.78rem; }
  main .hero-copy h1 { margin:14px 0 20px; }
  main .hero-copy .lead { max-width:62ch; }
  main .hero-media { display:block!important; position:relative; min-height:0!important; height:280px!important; width:100%!important; max-width:760px; margin:auto; border-radius:18px; overflow:hidden; }
  main .hero-media>img { position:static!important; width:100%!important; height:100%!important; object-fit:cover; object-position:center 57%; transform:none!important; }
  main .hero-media .floating-card { position:absolute!important; inset:auto 12px 12px!important; width:auto!important; padding:14px!important; background:#071018ed; border-radius:12px; }
  main .hero-media .floating-card p { margin:4px 0 0; font-size:.84rem; }
  .grid,.split,.contact-grid,.configurator-layout,.dc-layout,.config-hero-grid,.csb-profile-grid { gap:20px!important; }
  .grid-3,.grid-4,.csb-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .split,.contact-grid,.configurator-layout,.dc-layout,.config-hero-grid { grid-template-columns:minmax(0,1fr)!important; }
  .config-summary-card,.dc-summary { position:static!important; }
  .card,.notice,.map-consent,.config-stage,.config-mode-picker { padding:22px; }
  .service-card,.project-card,.csb-gallery-card { padding:0!important; overflow:hidden; }
  .service-card-body,.project-card-body { padding:20px!important; }
  .section-heading { margin-bottom:24px!important; }
  .actions { flex-wrap:wrap; gap:10px!important; }
  .btn,button.config-reset,.review-control,.csb-review-controls button,.filter-btn { min-height:44px; white-space:normal; line-height:1.45; }
  .btn { padding:12px 18px; text-align:center; }
  .cta-band { display:flex!important; flex-direction:column; align-items:stretch!important; gap:20px; padding:24px!important; }
  .cta-band .actions { margin-top:0; }
  .split-media img { max-height:360px!important; width:100%; object-fit:cover; }
  .map-card { min-height:0; }
  .map-card iframe { width:100%; height:320px!important; }
  .review-summary { display:block; }
  .review-controls { margin-top:18px; }
  .review-track { scroll-padding:0; gap:14px!important; }
  .review-track .review-card { flex:0 0 min(320px,85vw)!important; min-width:0!important; padding:20px!important; }
  .csb-review-grid { gap:14px!important; }
  .csb-review-card { padding:20px!important; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea { min-width:0; max-width:100%; font-size:16px!important; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select { min-height:48px; }
  input[type=checkbox],input[type=radio] { flex-shrink:0; width:20px; height:20px; }
  .field,.file-drop { min-width:0; }
  main form { grid-template-columns:minmax(0,1fr)!important; min-width:0; max-width:100%; }
  main form>* { min-width:0; max-width:100%; }
  main form[data-wp-form]>label { display:block!important; line-height:1.7; }
  main form[data-wp-form]>label>input[type=checkbox] { margin-right:8px; vertical-align:middle; }
  .service-choice { min-height:48px; }
  .contact-item a,.footer-grid a,main pre { overflow-wrap:anywhere; }
  .site-footer { padding-top:36px; padding-bottom:24px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:28px!important; }
  .footer-grid a { padding-block:8px; }
  .footer-bottom { gap:16px; line-height:2; }
  .footer-social a { min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
  .csb-mobile-music { margin-bottom:28px; padding-bottom:22px; border-bottom:1px solid #27333f; }
  .csb-mobile-music .csb-music-open,.csb-mobile-music .csb-music { position:static!important; inset:auto!important; display:block; width:100%!important; max-width:500px; margin:8px 0; }
  .csb-mobile-music button { min-height:44px; padding:8px 14px; margin:4px 6px 0 0; color:#f5f7fb; background:#182735; border:1px solid #587080; border-radius:8px; font:inherit; }
  .csb-project-draft { left:16px!important; right:auto!important; bottom:calc(12px + env(safe-area-inset-bottom))!important; max-width:420px!important; width:calc(100% - 100px)!important; min-height:50px; border-radius:14px; background:#0b1823fa; box-shadow:0 8px 30px #0009; }
  .csb-project-draft>summary { min-height:24px; font-size:.82rem; }
  .csb-project-draft[open] { left:12px!important; right:12px!important; bottom:calc(82px + env(safe-area-inset-bottom))!important; width:auto!important; max-width:520px!important; max-height:calc(100dvh - 180px)!important; padding:18px; }
  .csb-project-draft button,.csb-project-draft [data-project-items] a { min-height:44px; padding:8px 10px; }
  .chat-launcher { width:54px!important; height:54px!important; right:16px!important; bottom:calc(12px + env(safe-area-inset-bottom))!important; font-size:0!important; border-radius:16px!important; z-index:1000; }
  .chat-launcher::after { content:'Chat'!important; position:static!important; display:inline!important; border:0!important; background:none!important; animation:none!important; font:700 12px Manrope,Arial,sans-serif!important; color:#071018!important; -webkit-text-fill-color:#071018!important; }
  .chat-window { right:12px!important; left:auto!important; bottom:calc(82px + env(safe-area-inset-bottom))!important; width:min(420px,calc(100% - 24px))!important; max-height:calc(100dvh - 172px)!important; overflow-y:auto; overscroll-behavior:contain; }
  .chat-window.open { display:flex; flex-direction:column; }
  .chat-head { flex-shrink:0; padding:14px; }
  .chat-close { min-width:44px; min-height:44px; }
  .chat-messages { flex:1 1 150px; min-height:80px; }
  .chat-form { flex-shrink:0; }
  .chat-identify { grid-template-columns:1fr!important; }
  .chat-actions { flex-wrap:wrap; gap:8px; }
  .chat-file { width:100%; }
  .consent-banner { inset:auto 12px 12px!important; width:auto!important; max-width:760px!important; max-height:calc(100dvh - 24px)!important; overflow-y:auto; overscroll-behavior:contain; padding:22px!important; border-radius:18px!important; z-index:2000!important; }
  .consent-banner h2 { font-size:1.35rem!important; line-height:1.3; }
  .consent-actions { display:flex; flex-wrap:wrap; gap:10px; }
  .consent-actions .btn { flex:1 1 150px; }
  .consent-category { gap:14px; }
  .consent-switch { min-height:44px; }
}
@media (max-width:767px) {
  .container,.narrow { width:calc(100% - 32px)!important; }
  main h1 { font-size:clamp(1.95rem,8.2vw,2.85rem)!important; }
  main h2 { font-size:clamp(1.5rem,6.4vw,2rem)!important; }
  main .hero h1 { font-size:clamp(2.05rem,9vw,3rem)!important; }
  main .hero-copy { padding:18px!important; }
  main .hero-kicker { gap:6px; margin-bottom:20px; }
  main .hero-kicker .chip { font-size:.71rem; padding:7px 10px; }
  main .hero { padding:20px 0 28px!important; }
  main .hero-media { height:230px!important; }
  body.csb-compact main>.page-hero,main>.page-hero { padding:28px 0!important; }
  body.csb-compact main>.section,main>.section { padding:30px 0!important; }
  .grid-2,.grid-3,.grid-4,.stats,.form-grid,.service-choice-grid,.csb-gallery-grid,.csb-review-grid,.csb-profile-grid,.config-package-list,.config-mode-grid,.dc-models,.dc-fields,.config-trust-grid,.seo-link-grid { grid-template-columns:minmax(0,1fr)!important; }
  .hero-copy .actions,.cta-band .actions,.map-consent .actions { display:flex; flex-direction:column; align-items:stretch; }
  .hero-copy .actions .btn,.cta-band .actions .btn { width:100%; }
  .card,.notice,.map-consent,.config-stage,.config-mode-picker,.config-summary-card,.dc-summary { padding:18px!important; }
  .service-card,.project-card { padding:0!important; }
  .config-tabs { gap:8px!important; }
  .config-tabs button { min-height:68px; padding:12px 10px!important; font-size:.8rem!important; }
  .config-option { grid-template-columns:26px minmax(0,1fr)!important; gap:8px!important; }
  .config-stage-head { gap:12px; }
  .config-step { flex:0 0 36px; width:36px; height:36px; }
  .config-hero-facts { flex-wrap:wrap; }
  .csb-profile-photos { gap:10px; }
  .csb-profile-photos img:first-child { height:220px; }
  .footer-grid { grid-template-columns:minmax(0,1fr)!important; gap:24px!important; }
  .footer-grid>div { padding-bottom:20px; border-bottom:1px solid #24313c; }
  .footer-grid>div:not(.footer-brand) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 14px; }
  .footer-grid h3,.footer-grid p,.footer-grid>div:last-child a { grid-column:1/-1; }
  .footer-grid a { font-size:.86rem; line-height:1.6; }
  .footer-bottom { display:block; }
  .footer-bottom>span { display:block; }
  .consent-category { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) and (max-width:1199px) {
  *,*::before,*::after { scroll-behavior:auto!important; }
}
