/* Tablet and phone layouts. Generated from components.css by scaling grids,
   spacing and type, plus the hand-written rules at the end. */

@media (max-width: 1024px) {
  #app .c-4 { padding:9px 32px; flex-wrap:wrap; }
  #app .c-5 { flex-wrap:wrap; }
  #app .c-7 { flex-wrap:wrap; }
  #app .c-23 { grid-template-columns:minmax(0,1fr); padding:128px 32px 0; }
  #app .c-24 { font-size:88px; }
  #app .c-38 { padding:105px 32px 90px; }
  #app .c-41 { padding:0 32px 83px; }
  #app .c-42 { grid-template-columns:minmax(0,1fr) auto; }
  #app .c-44 { font-size:33px; }
  #app .c-46 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-50 { flex-wrap:wrap; }
  #app .c-57 { font-size:46px; }
  #app .c-68 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-78 { grid-template-columns:minmax(0,1fr); }
  #app .c-80 { font-size:33px; }
  #app .c-83 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-85 { flex-wrap:wrap; }
  #app .c-89 { padding:60px 32px 48px; }
  #app .c-90 { flex-wrap:wrap; }
  #app .c-92 { font-size:37px; }
  #app .c-93 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-95 { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
  #app .c-96 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #app .c-102 { font-size:35px; }
  #app .c-105 { grid-template-columns:repeat(2,minmax(0,1fr)); padding:90px 32px; }
  #app .c-107 { font-size:42px; }
  #app .c-108 { padding:0 32px 75px; }
  #app .c-109 { grid-template-columns:minmax(0,1fr); }
  #app .c-112 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-116 { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
  #app .c-124 { padding:75px 32px; }
  #app .c-125 { flex-wrap:wrap; }
  #app .c-127 { font-size:33px; }
  #app .c-129 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-132 { font-size:37px; }
  #app .c-134 { flex-wrap:wrap; }
  #app .c-135 { padding:90px 32px; }
  #app .c-136 { flex-wrap:wrap; }
  #app .c-138 { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
  #app .c-148 { font-size:37px; }
  #app .c-150 { padding:0 32px 72px; }
  #app .c-151 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-159 { flex-wrap:wrap; }
  #app .c-161 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-170 { padding:48px 32px; flex-wrap:wrap; }
  #app .c-171 { font-size:42px; }
  #app .c-177 { padding:48px 32px 28px; }
  #app .c-183 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-200 { flex-wrap:wrap; }
  #app .c-202 { max-width:100%; }
  #app .c-203 { flex-wrap:wrap; }
  #app .c-213 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #app .c-222 { max-width:100%; }
  #app .c-226 { font-size:39px; }
  #app .c-234 { max-width:100%; }
  #app .c-235 { flex-wrap:wrap; }
  #app .c-238 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-246 { grid-template-columns:minmax(0,1fr); padding:128px 32px 48px; }
  #app .c-252 { font-size:49px; }
  #app .c-254 { padding:54px 32px 75px; }
  #app .c-262 { flex-wrap:wrap; }
  #app .c-263 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:0 32px 83px; }
  #app .c-264 { font-size:33px; }
  #app .c-266 { flex-wrap:wrap; }
  #app .c-273 { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); padding:0 32px 90px; }
  #app .c-280 { padding:40px 32px 0; }
  #app .c-285 { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); padding:40px 32px 0; }
  #app .c-287 { font-size:49px; }
  #app .c-293 { flex-wrap:wrap; }
  #app .c-294 { font-size:39px; }
  #app .c-296 { padding:24px 32px 0; }
  #app .c-300 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:66px 32px 0; }
  #app .c-303 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #app .c-307 { padding:66px 32px 0; }
  #app .c-308 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-312 { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); padding:66px 32px 0; }
  #app .c-316 { padding:66px 32px 75px; }
  #app .c-318 { flex-wrap:wrap; }
  #app .c-323 { grid-template-columns:minmax(0,1fr); padding:128px 32px 48px; }
  #app .c-324 { padding:54px 32px 0; }
  #app .c-325 { flex-wrap:wrap; }
  #app .c-326 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-328 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #app .c-330 { flex-wrap:wrap; }
  #app .c-334 { font-size:43px; }
  #app .c-338 { flex-wrap:wrap; }
  #app .c-340 { padding:75px 32px 0; }
  #app .c-341 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-343 { flex-wrap:wrap; }
  #app .c-346 { padding:90px 32px 0; }
  #app .c-347 { font-size:33px; }
  #app .c-348 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-357 { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
  #app .c-364 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-375 { grid-template-columns:minmax(0,1fr); padding:128px 32px 48px; }
  #app .c-377 { grid-template-columns:repeat(2,minmax(0,1fr)); padding:32px 32px 0; }
  #app .c-379 { padding:16px 32px 0; }
  #app .c-401 { font-size:35px; }
  #app .c-406 { flex-wrap:wrap; }
  #app .c-414 { padding:16px 32px 0; }
  #app .c-424 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-429 { flex-wrap:wrap; }
  #app .c-431 { padding:16px 32px 0; }
  #app .c-437 { flex-wrap:wrap; }
  #app .c-438 { grid-template-columns:repeat(2,minmax(0,1fr)); padding:40px 32px 0; }
  #app .c-441 { grid-template-columns:minmax(0,1fr); margin:32px 24px 0; }
  #app .c-442 { font-size:33px; }
  #app .c-449 { grid-template-columns:minmax(0,1fr); padding:128px 32px 48px; }
  #app .c-451 { grid-template-columns:minmax(0,1fr); padding:48px 32px 0; }
  #app .c-454 { font-size:39px; }
  #app .c-475 { padding:32px 32px 0; flex-wrap:wrap; }
  #app .c-481 { grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); padding:28px 32px 0; }
  #app .c-493 { grid-template-columns:repeat(2,minmax(0,1fr)); padding:16px 32px 0; }
  #app .c-498 { flex-wrap:wrap; }
  #app .c-499 { margin:16px 32px 0; }
  #app .c-500 { padding:32px 32px; margin:48px 24px 0; }
  #app .c-503 { font-size:42px; }
  #app .c-514 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-519 { grid-template-columns:minmax(0,1fr); padding:128px 32px 48px; }
  #app .c-520 { grid-template-columns:minmax(0,1fr); }
  #app .c-534 { flex-wrap:wrap; }
  #app .c-535 { font-size:33px; }
  #app .c-537 { grid-template-columns:minmax(0,1fr); }
  #app .c-538 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-545 { padding:16px 32px 0; }
  #app .c-550 { flex-wrap:wrap; }
  #app .c-555 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); padding:54px 32px 0; }
  #app .c-558 { flex-wrap:wrap; }
  #app .c-564 { padding:72px 32px 0; }
  #app .c-566 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-570 { padding:0 32px 90px; }
  #app .c-571 { grid-template-columns:minmax(0,1fr); }
  #app .c-576 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-579 { padding:54px 32px; }
  #app .c-580 { grid-template-columns:minmax(0,1fr); }
  #app .c-581 { grid-template-columns:repeat(3,minmax(0,1fr)); }
  #app .c-583 { grid-template-columns:minmax(0,1fr); padding:128px 32px 48px; }
  #app .c-584 { padding:60px 32px 32px; }
  #app .c-585 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  #app .c-587 { font-size:49px; }
  #app .c-590 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-602 { grid-template-columns:repeat(2,minmax(0,1fr)); padding:54px 32px 0; }
  #app .c-605 { padding:16px 32px 54px; }
  #app .c-46 > *,
  #app .c-93 > *,
  #app .c-326 > *,
  #app .c-514 > * { flex:none; white-space:nowrap; }
}

@media (max-width: 640px) {
  #app .c-4 { padding:9px 20px; flex-wrap:wrap; }
  #app .c-5 { flex-wrap:wrap; }
  #app .c-7 { flex-wrap:wrap; }
  #app .c-23 { grid-template-columns:minmax(0,1fr); padding:112px 20px 0; gap:24px 24px; min-height:478px; }
  #app .c-24 { font-size:64px; }
  #app .c-35 { min-height:180px; }
  #app .c-38 { padding:77px 20px 66px; }
  #app .c-39 { font-size:25px; max-width:100%; }
  #app .c-41 { padding:0 20px 61px; }
  #app .c-42 { grid-template-columns:minmax(0,1fr); gap:24px; }
  #app .c-44 { font-size:28px; }
  #app .c-46 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-49 { padding:20px; }
  #app .c-50 { flex-wrap:wrap; }
  #app .c-57 { font-size:34px; }
  #app .c-68 { grid-template-columns:minmax(0,1fr); padding:18px; }
  #app .c-71 { font-size:28px; }
  #app .c-78 { grid-template-columns:minmax(0,1fr); padding:22px; }
  #app .c-80 { font-size:28px; }
  #app .c-83 { grid-template-columns:minmax(0,1fr); }
  #app .c-85 { flex-wrap:wrap; }
  #app .c-89 { padding:44px 20px 35px; margin:0 12px; }
  #app .c-90 { gap:24px; flex-wrap:wrap; }
  #app .c-92 { font-size:30px; }
  #app .c-93 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-95 { grid-template-columns:minmax(0,1fr); gap:24px; }
  #app .c-96 { grid-template-columns:minmax(0,1fr); }
  #app .c-100 { padding:18px; }
  #app .c-102 { font-size:30px; }
  #app .c-105 { grid-template-columns:minmax(0,1fr); padding:66px 20px; }
  #app .c-107 { font-size:34px; }
  #app .c-108 { padding:0 20px 55px; }
  #app .c-109 { grid-template-columns:minmax(0,1fr); gap:24px; }
  #app .c-111 { text-align:left; }
  #app .c-112 { grid-template-columns:minmax(0,1fr); }
  #app .c-116 { grid-template-columns:minmax(0,1fr); }
  #app .c-117 { padding:20px; }
  #app .c-118 { font-size:25px; }
  #app .c-120 { padding:20px; }
  #app .c-124 { padding:55px 20px; }
  #app .c-125 { gap:24px; flex-wrap:wrap; }
  #app .c-127 { font-size:28px; }
  #app .c-128 { text-align:left; max-width:100%; }
  #app .c-129 { grid-template-columns:minmax(0,1fr); }
  #app .c-130 { padding:18px; min-height:228px; }
  #app .c-132 { font-size:30px; }
  #app .c-134 { flex-wrap:wrap; }
  #app .c-135 { padding:66px 20px; }
  #app .c-136 { flex-wrap:wrap; }
  #app .c-138 { grid-template-columns:minmax(0,1fr); }
  #app .c-139 { padding:24px; min-height:204px; }
  #app .c-146 { padding:20px; }
  #app .c-148 { font-size:30px; }
  #app .c-150 { padding:0 20px 53px; }
  #app .c-151 { grid-template-columns:minmax(0,1fr); padding:18px 20px; }
  #app .c-159 { gap:24px; flex-wrap:wrap; }
  #app .c-161 { grid-template-columns:minmax(0,1fr); }
  #app .c-170 { padding:35px 20px; margin:0 12px 12px; gap:24px; flex-wrap:wrap; }
  #app .c-171 { font-size:34px; }
  #app .c-177 { padding:35px 20px 18px; }
  #app .c-178 { grid-template-columns:minmax(0,1fr); }
  #app .c-181 { width:100%; }
  #app .c-183 { grid-template-columns:minmax(0,1fr); }
  #app .c-190 { max-width:100%; }
  #app .c-200 { flex-wrap:wrap; }
  #app .c-201 { padding:24px; }
  #app .c-202 { padding:22px; }
  #app .c-203 { flex-wrap:wrap; }
  #app .c-204 { font-size:22px; }
  #app .c-213 { grid-template-columns:minmax(0,1fr); }
  #app .c-216 { grid-column:1 / -1; }
  #app .c-221 { padding:24px; }
  #app .c-222 { grid-template-columns:minmax(0,1fr); }
  #app .c-223 { min-height:264px; }
  #app .c-225 { padding:24px 24px 22px; }
  #app .c-226 { font-size:30px; }
  #app .c-233 { padding:24px; }
  #app .c-234 { padding:24px; }
  #app .c-235 { flex-wrap:wrap; }
  #app .c-236 { font-size:22px; }
  #app .c-238 { grid-template-columns:minmax(0,1fr); }
  #app .c-246 { grid-template-columns:minmax(0,1fr); padding:112px 20px 35px; gap:24px; }
  #app .c-252 { font-size:38px; }
  #app .c-254 { padding:40px 20px 55px; }
  #app .c-262 { flex-wrap:wrap; }
  #app .c-263 { grid-template-columns:minmax(0,1fr); padding:0 20px 61px; gap:24px; }
  #app .c-264 { font-size:28px; }
  #app .c-266 { flex-wrap:wrap; }
  #app .c-269 { min-height:264px; }
  #app .c-273 { grid-template-columns:minmax(0,1fr); padding:0 20px 66px; gap:24px; }
  #app .c-274 { margin:12px 0 0; }
  #app .c-280 { padding:24px 20px 0; }
  #app .c-285 { grid-template-columns:minmax(0,1fr); padding:24px 20px 0; }
  #app .c-286 { padding:24px; gap:24px; min-height:252px; }
  #app .c-287 { font-size:38px; }
  #app .c-293 { flex-wrap:wrap; }
  #app .c-294 { font-size:30px; }
  #app .c-295 { text-align:left; }
  #app .c-296 { padding:24px 20px 0; }
  #app .c-300 { grid-template-columns:minmax(0,1fr); padding:48px 20px 0; gap:24px; }
  #app .c-303 { grid-template-columns:minmax(0,1fr); }
  #app .c-307 { padding:48px 20px 0; }
  #app .c-308 { grid-template-columns:minmax(0,1fr); }
  #app .c-312 { grid-template-columns:minmax(0,1fr); padding:48px 20px 0; gap:24px; }
  #app .c-316 { padding:48px 20px 55px; }
  #app .c-318 { padding:30px 20px; flex-wrap:wrap; }
  #app .c-320 { font-size:22px; }
  #app .c-323 { grid-template-columns:minmax(0,1fr); padding:112px 20px 35px; gap:24px; }
  #app .c-324 { padding:40px 20px 0; }
  #app .c-325 { gap:24px; flex-wrap:wrap; }
  #app .c-326 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-328 { grid-template-columns:minmax(0,1fr); }
  #app .c-329 { padding:20px; }
  #app .c-330 { flex-wrap:wrap; }
  #app .c-333 { padding:20px; }
  #app .c-334 { font-size:34px; }
  #app .c-338 { flex-wrap:wrap; }
  #app .c-340 { padding:55px 20px 0; }
  #app .c-341 { grid-template-columns:minmax(0,1fr); }
  #app .c-343 { flex-wrap:wrap; }
  #app .c-346 { padding:66px 20px 0; }
  #app .c-347 { font-size:28px; }
  #app .c-348 { grid-template-columns:minmax(0,1fr); }
  #app .c-353 { font-size:22px; }
  #app .c-357 { grid-template-columns:minmax(0,1fr); }
  #app .c-360 { padding:18px; }
  #app .c-364 { grid-template-columns:minmax(0,1fr); }
  #app .c-375 { grid-template-columns:minmax(0,1fr); padding:112px 20px 35px; gap:24px; }
  #app .c-377 { grid-template-columns:minmax(0,1fr); padding:20px 20px 0; }
  #app .c-379 { grid-template-columns:minmax(0,1fr); padding:16px 20px 0; }
  #app .c-401 { font-size:30px; }
  #app .c-406 { flex-wrap:wrap; }
  #app .c-414 { grid-template-columns:minmax(0,1fr); padding:16px 20px 0; }
  #app .c-415 { padding:18px; }
  #app .c-419 { padding:18px; }
  #app .c-420 { font-size:25px; }
  #app .c-424 { grid-template-columns:minmax(0,1fr) auto auto; }
  #app .c-428 { text-align:left; }
  #app .c-429 { flex-wrap:wrap; }
  #app .c-431 { grid-template-columns:minmax(0,1fr); padding:16px 20px 0; }
  #app .c-432 { padding:18px; }
  #app .c-437 { flex-wrap:wrap; }
  #app .c-438 { grid-template-columns:minmax(0,1fr); padding:24px 20px 0; }
  #app .c-441 { grid-template-columns:minmax(0,1fr); padding:24px 20px; margin:20px 12px 0; gap:24px; }
  #app .c-442 { font-size:28px; }
  #app .c-449 { grid-template-columns:minmax(0,1fr); padding:112px 20px 35px; gap:24px; }
  #app .c-451 { grid-template-columns:minmax(0,1fr); padding:24px 20px 0; gap:24px; }
  #app .c-454 { font-size:30px; }
  #app .c-465 { margin:12px 0 0; }
  #app .c-475 { padding:20px 20px 0; flex-wrap:wrap; }
  #app .c-478 { min-width:0; width:100%; }
  #app .c-481 { grid-template-columns:minmax(0,1fr); padding:18px 20px 0; }
  #app .c-484 { padding:18px; }
  #app .c-486 { font-size:25px; }
  #app .c-493 { grid-template-columns:minmax(0,1fr); padding:16px 20px 0; }
  #app .c-498 { flex-wrap:wrap; }
  #app .c-499 { padding:24px; margin:16px 20px 0; }
  #app .c-500 { grid-template-columns:minmax(0,1fr); padding:20px 20px; margin:40px 12px 0; gap:24px; }
  #app .c-503 { font-size:34px; }
  #app .c-510 { padding:18px; }
  #app .c-511 { min-height:216px; }
  #app .c-514 { max-width:100%; overflow-x:auto; scrollbar-width:none; }
  #app .c-519 { grid-template-columns:minmax(0,1fr); padding:112px 20px 35px; gap:24px; }
  #app .c-520 { grid-template-columns:minmax(0,1fr); padding:24px; gap:24px; }
  #app .c-532 { font-size:25px; }
  #app .c-534 { flex-wrap:wrap; }
  #app .c-535 { font-size:28px; }
  #app .c-537 { grid-template-columns:minmax(0,1fr); gap:24px; }
  #app .c-538 { grid-template-columns:minmax(0,1fr); }
  #app .c-539 { min-height:180px; }
  #app .c-545 { padding:16px 20px 0; }
  #app .c-546 { grid-template-columns:minmax(0,1fr); }
  #app .c-547 { padding:24px; }
  #app .c-548 { font-size:25px; }
  #app .c-550 { flex-wrap:wrap; }
  #app .c-551 { font-size:25px; }
  #app .c-554 { min-height:204px; }
  #app .c-555 { grid-template-columns:minmax(0,1fr); padding:40px 20px 0; gap:24px; }
  #app .c-558 { gap:24px; flex-wrap:wrap; }
  #app .c-560 { grid-column:1 / -1; }
  #app .c-564 { padding:53px 20px 0; }
  #app .c-566 { grid-template-columns:minmax(0,1fr); }
  #app .c-570 { padding:0 20px 66px; }
  #app .c-571 { grid-template-columns:minmax(0,1fr); gap:24px; }
  #app .c-576 { grid-template-columns:minmax(0,1fr); }
  #app .c-579 { padding:40px 20px; }
  #app .c-580 { grid-template-columns:minmax(0,1fr); gap:24px; }
  #app .c-581 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #app .c-583 { grid-template-columns:minmax(0,1fr); padding:112px 20px 35px; gap:24px; }
  #app .c-584 { padding:44px 20px 20px; margin:0 12px; }
  #app .c-585 { grid-template-columns:minmax(0,1fr); gap:24px; }
  #app .c-586 { gap:24px; }
  #app .c-587 { font-size:38px; }
  #app .c-590 { grid-template-columns:minmax(0,1fr); }
  #app .c-594 { padding:20px; }
  #app .c-595 { min-height:252px; }
  #app .c-602 { grid-template-columns:minmax(0,1fr); padding:40px 20px 0; }
  #app .c-605 { padding:16px 20px 40px; }
  #app .c-46 > *,
  #app .c-93 > *,
  #app .c-326 > *,
  #app .c-514 > * { flex:none; white-space:nowrap; }
}

/* ── Hand-written ─────────────────────────────────────────────────────── */

/* Menu button and the in-menu "Book a call": hidden on desktop */
#app .nav-cta { display:none; }
#app .nav-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; border:0; border-radius:12px; background:rgba(18,18,16,.06); color:#121210; cursor:pointer; }

/* Form fields may shrink with their column (the browser default width can overflow narrow cards) */
#app input:not([type=range]), #app textarea { min-width:0; max-width:100%; }

/* Phone browsers: use the visible viewport height (excludes the URL bar) */
@supports (height: 100dvh) {
  #app .c-1, #app .c-3 { height:100dvh; }
}

@media (max-width: 1024px) {
  /* Header: nav collapses behind the Menu button and drops down below the bar */
  #app .c-11 { position:relative; }
  #app .nav-toggle { display:flex; }
  #app .c-16 { display:none; position:absolute; left:0; right:0; top:calc(100% + 8px); flex-direction:column; gap:2px; padding:8px; border-radius:16px; background:#fbfaf6; box-shadow:0 18px 40px rgba(18,18,16,.18); }
  #app [data-nav="open"] .c-16 { display:flex; }
  #app .c-17 { text-align:left; font-size:16px; padding:12px 14px; }
  #app .c-15 { gap:10px; }
  /* "Book a call" moves from the header bar into the menu */
  #app .c-18 { display:none; }
  #app .nav-cta { display:block; margin-top:6px; padding:14px; border:0; border-radius:12px; background:#121210; color:#fff; font:500 16px Geist,sans-serif; text-align:center; cursor:pointer; }

  /* Home: service tiles in two columns */
  #app .c-48 { grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:none; grid-auto-rows:auto; grid-template-areas:'eq eq' 'mf st' 'in in' 'ln ln'; }
  #app .c-49 { min-height:420px; }
  #app .c-59, #app .c-65, #app .c-66 { min-height:220px; }

  /* Contact: heading above the form */
  #app .c-585 { grid-template-columns:minmax(0,1fr); }

  /* Ticker: tighter */
  #app .c-4 { padding:9px 24px; }
  #app .c-5 { gap:18px; }
}

@media (max-width: 640px) {
  /* Ticker bar is too wide for a phone */
  #app .c-4 { display:none; }

  /* Header bar */
  #app .c-10 { padding:10px; }
  #app .c-11 { padding:6px 6px 6px 12px; gap:8px; }
  #app .c-12 { font-size:15px; }

  /* Home: service tiles in one column */
  #app .c-48 { grid-template-columns:minmax(0,1fr); grid-template-areas:'eq' 'mf' 'st' 'in' 'ln'; }
  #app .c-49 { min-height:400px; }

  /* Contact map: panel sits under the map instead of covering it */
  #app .map-box { height:auto; display:flex; flex-direction:column; }
  #app .map-frame { position:relative; height:300px; }
  #app .map-panel { position:static; width:auto; box-shadow:none; border-radius:0; }

  /* Long words (emails, URLs) never push the page sideways */
  #app { overflow-wrap:anywhere; }
}
