/* Mobile layout (≤760px). Desktop is untouched: everything except the two hidden helpers below sits inside the media query.
   Type scale, four sizes only: 32/36 headings · 20/26 card titles · 16/24 body, buttons, inputs · 14/20 secondary. */
.footer-wa-icon,.benefit-icon,.benefit-short,.apartment-swipe-hint,.review-dots,.review-leave,.nav-contacts,.footer-back-icon,.stage-panel{display:none}

@media (max-width:760px){
  :root{--m-pad:20px}
  body{font-size:16px;line-height:24px}

  /* ---------- Type scale ---------- */
  .hero h1,main h2,#process h2,.lead h2,.apartment-header h2,#contacts h2,.faq-aside h2,.review-heading h2,#benefits h2,.services-intro h2{font-size:32px!important;line-height:36px!important;letter-spacing:-.03em!important;max-width:none}
  .benefit h3,.service h3,.step-question,#contacts .contact-form-title,.apartment-detail h3,.review-card blockquote{font-size:20px!important;line-height:26px!important;letter-spacing:-.015em!important}
  .hero-copy>p,.services-intro>p,.lead-copy>p,.contact-copy>p,.faq-aside>p,.benefit-short,.stage-inline-details p,.faq-item p,.btn,.field input,.field textarea,.option strong,.chip span,.faq-item summary,.header-nav a{font-size:16px!important;line-height:24px!important}
  .section-index,.eyebrow,.field-label,.field-label small,.field-hint,.service p,.option small,.channel-label,.channel-hint,.review-content-note,.review-date,.review-service-line,.review-author p,.rating p,.placeholder-note,.fact,.form-steps,.apartment-service,.apartment-detail p,.process-instruction,.contact-form-sub,.privacy-note,.form-demo-note,.cookie-banner p,.cookie-head .cookie-more,.toast,.footer,.footer *,.stage-tab,.stage-tab>span,.stage-note,.chip span,.action-bar button,.success-summary div,.form-success p{font-size:14px!important;line-height:20px!important}
  .section-index,.eyebrow{letter-spacing:.08em!important}
  .chip span,.option strong,.btn,.faq-item summary{font-weight:500}

  /* Section labels: smaller caps so they read as labels, not text */
  .section-index,.hero-copy .eyebrow,.apartment-header .section-index{font-size:12px!important;line-height:16px!important;letter-spacing:.1em!important}

  /* Burger: 44px tap target, three drawn lines, turns into a cross when open */
  .menu-toggle{display:grid!important;place-items:center;width:44px;height:44px;padding:0;margin-right:-10px;font-size:0!important;color:var(--ink)}
  .menu-toggle{position:relative}
  .menu-toggle::before{content:'';position:absolute;top:50%;left:50%;margin:-8px 0 0 -11px;width:22px;height:16px;background:linear-gradient(currentColor,currentColor) 0 0/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 50%/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 0 100%/100% 2px no-repeat;transition:transform .2s}
  .menu-toggle[aria-expanded=true]::before{width:20px;height:20px;margin:-10px 0 0 -10px;background:linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 100% no-repeat;transform:rotate(45deg)}

  /* ---------- Rhythm ---------- */
  .section,#benefits,#services,#process,#faq,#contacts,.lead,#reviews{padding-top:40px!important;padding-bottom:40px!important}
  .container{padding-left:var(--m-pad);padding-right:var(--m-pad)}
  .section-head{margin-bottom:20px!important}
  .section-index{margin-bottom:8px!important}
  .btn{min-height:48px}

  /* ---------- Hero: height follows content ---------- */
  .hero-inner{min-height:calc(100vh - 59px)!important;min-height:calc(100svh - 59px)!important;padding-top:32px!important;padding-bottom:24px!important;gap:24px!important;justify-content:space-between!important}
  .hero-copy .eyebrow{display:none!important}
  .hero-copy>p{margin:14px 0 20px!important}
  .hero-copy .btn-row{display:grid;grid-template-columns:1fr;gap:8px}
  .hero-copy .btn{padding:12px 10px!important;width:100%}
  .hero-background-label{position:static!important;align-self:center!important;flex-direction:column;text-align:center;gap:8px!important;margin:auto 0!important;max-width:none!important;font-size:14px!important;line-height:20px!important;color:#9aa192!important}
  .hero-background-label svg{width:40px!important;height:30px!important}
  .hero-facts{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;padding-top:16px!important}

  /* Hero order on phones: text at the top, photo area in the middle, advantages and buttons at the bottom edge */
  .hero-inner{justify-content:flex-start!important;gap:0!important}
  .hero-copy{display:contents!important}
  .hero-copy>.eyebrow{order:1}
  .hero h1{order:2}
  .hero-copy>p{order:3;margin:14px 0 18px!important}
  .hero-background-label{order:4}
  .hero-bottom{order:5;margin-top:auto;margin-bottom:16px}
  .hero-facts{padding-top:0!important;border-top:0!important;margin:0!important}
  .hero-copy .btn-row{order:6}

  /* ---------- Benefits: short list with icons ---------- */
  #benefits .section-head{text-align:left!important;justify-content:flex-start!important;margin-bottom:16px!important}
  .benefits{display:grid!important;grid-template-columns:1fr!important;gap:0!important;overflow:visible!important;padding:0!important;border-top:0!important}
  .benefit{display:grid!important;grid-template-columns:40px 1fr;gap:14px!important;align-items:start;padding:14px 0!important;border:0!important;border-top:1px solid var(--line)!important}
  .benefit:first-child{border-top:0!important}
  .benefit-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--soft);color:var(--accent)}
  .benefit-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
  .benefit h3{min-height:0!important;margin:0 0 2px!important;max-width:none!important}
  .benefit-long{display:none}
  .benefit-short{display:block;color:var(--muted);margin:0}

  /* ---------- Services: full-bleed photo cards that stack on top of each other while scrolling ---------- */
  #services .services-layout{gap:0!important}
  .services{display:block!important;padding-bottom:0}
  #services .services .service.has-photo{--pad:20px;position:sticky!important;top:calc(59px + var(--svc-head,64px) + 24px);display:flex!important;flex-direction:column;min-height:var(--svc-card,384px)!important;height:auto!important;margin:0 0 12px!important;padding:var(--pad)!important;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 -2px 10px #1f261b0a,0 0 0 1px var(--line);transform-origin:50% 0;will-change:transform}
  .service.has-photo .service-photo{order:-1;width:auto!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;height:var(--svc-photo,190px)!important;flex:0 0 var(--svc-photo,190px);margin:calc(-1*var(--pad)) calc(-1*var(--pad)) 16px!important;border-radius:0!important;grid-column:auto!important;grid-row:auto!important}
  .service.has-photo .service-photo svg{width:44px;height:33px}
  .service.has-photo .service-photo span{display:block}
  .service.has-photo .service-top{display:none!important}
  .service.has-photo h3{margin:0 0 6px!important;min-height:0!important;grid-column:auto!important}
  .service.has-photo p{margin:0 0 14px!important;color:var(--muted);display:block!important;-webkit-line-clamp:unset;overflow:visible;grid-column:auto!important}
  .service.has-photo>.btn{position:relative!important;margin-top:auto!important;width:100%!important;height:auto!important;min-height:48px!important;padding:12px 16px!important;border:1px solid #c7ccc2!important;background:transparent!important;font-size:16px!important;line-height:24px!important;justify-content:center!important;grid-column:auto!important;grid-row:auto!important;align-self:stretch!important}
  .service.has-photo>.btn::before,.service.has-photo>.btn::after{content:none!important}
  .service.has-photo .service-dim{position:absolute;inset:0;background:#1f261b;opacity:var(--dim,0);pointer-events:none;border-radius:inherit}

  /* Sticky section title: label + heading stay pinned under the site header while the cards stack */
  #services .services-layout{display:flex!important;flex-direction:column;align-items:stretch!important}
  #services .services-intro{display:contents!important}
  .services-sticky-head{position:sticky;top:59px;z-index:3;order:1;margin:0 calc(-1*var(--m-pad)) 24px;padding:12px var(--m-pad) 0;background:var(--paper);box-shadow:0 24px 0 var(--paper)}
  .services-sticky-head .section-index{margin-bottom:4px!important}
  .services-sticky-head h2{margin:0!important}
  #services .services{order:2}
  .services-sticky-head>p{margin:4px 0 0!important;font-size:14px!important;line-height:20px!important;color:var(--muted)}
  .services-sticky-head>.services-other{display:inline-block;margin:6px 0 0;font-size:14px!important;line-height:20px!important}

  /* ---------- Estimate: short intro, compact options ---------- */
  .lead-grid{gap:20px!important}
  .lead-copy>p{margin-top:8px!important}
  .lead-callout{display:none!important}
  #estimate .form-shell{padding:18px!important;border-radius:10px}
  .form-steps{margin-bottom:12px!important}
  .step-question{margin-bottom:12px!important}
  /* Step 1 options: a plain list of five rows with a radio mark, no tiles */
  .field{margin-bottom:12px!important}
  .field input,.field textarea{min-height:48px;padding:11px 12px!important}
  .lead-form.is-stepped .field textarea{min-height:96px!important}
  .choice-group{margin-bottom:12px!important}
  .form-extras{grid-template-columns:1fr!important}
  .photo-field{margin-bottom:12px!important}

  /* Estimate fits one screen: tighter padding, short intro, step 3 header is enough on its own */
  #estimate.lead{padding-top:28px!important;padding-bottom:28px!important}
  #estimate .lead-grid{gap:16px!important}
  #estimate .lead-copy>p{font-size:14px!important;line-height:20px!important;margin-top:6px!important}
  #estimate .form-shell{padding:16px!important}
  .lead-form [data-form-step="3"]>.step-question{display:none}
  .lead-form .field-label{margin-bottom:4px!important}

  /* ---------- Apartment plan: larger plan, swipe sideways ---------- */
  .apartment-header{position:static!important;width:auto!important;max-width:none!important;padding:0!important;background:none!important;border:0!important;color:var(--ink)!important}
  .apartment-header .section-index{color:#858b80!important}
  .apartment-header>p{color:var(--muted)!important;margin-top:8px!important;font-size:16px!important;line-height:24px!important}
  .apartment-map-caption{display:none}
  .apartment-section>.apartment-detail{position:static!important;width:auto!important;box-shadow:none!important}
  .apartment-section>.apartment-detail:before{display:none}
  .apartment-section>.container{padding-top:40px!important;padding-bottom:16px!important}
  .apartment-pan{overflow-x:auto!important;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}
  .apartment-pan::-webkit-scrollbar{display:none}
  .apartment-surface{min-width:620px!important;width:620px!important}
  .apartment-pin{width:34px!important;height:34px!important}
  .apartment-swipe-hint{display:flex;align-items:center;gap:8px;margin:10px var(--m-pad) 0;font-size:14px;line-height:20px;color:var(--muted)}
  .apartment-swipe-hint svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;animation:m-nudge 1.6s ease-in-out infinite}
  .apartment-section>.apartment-detail{margin:12px var(--m-pad) 40px!important;padding:16px!important}
  .apartment-detail h3{margin-bottom:4px!important}
  .apartment-detail>.btn{margin-top:12px!important}

  /* Apartment block fits one screen: compact head, slightly smaller plan, hint sits on the plan */
  .apartment-section>.container{padding-top:28px!important;padding-bottom:12px!important}
  .apartment-header>p{font-size:14px!important;line-height:20px!important;margin-top:6px!important}
  .apartment-surface{min-width:560px!important;width:560px!important}
  .apartment-swipe-hint{position:relative;z-index:2;width:max-content;margin:-36px 0 0 var(--m-pad)!important;padding:4px 10px;border-radius:999px;background:#fafbf8e6;box-shadow:0 1px 4px #1f261b1f;transition:opacity .3s}
  .apartment-section>.apartment-detail{margin:16px var(--m-pad) 28px!important;padding:14px 16px!important}
  .apartment-detail .apartment-service{margin-bottom:4px!important}
  .apartment-detail>.btn{margin-top:10px!important}

  /* ---------- Reviews: one card per swipe, dots ---------- */
  .review-heading{display:flex!important;flex-direction:row!important;align-items:flex-end!important;justify-content:space-between;gap:12px!important}
  .review-heading>div:first-child{flex:0 0 auto;min-width:0}
  .review-heading .rating{flex:1 1 auto;min-width:0;margin:0!important;padding:0!important;border:0!important;display:flex!important;flex-direction:column;align-items:flex-end;text-align:right;gap:2px}
  .review-heading .rating>div{display:flex;flex-direction:column;align-items:flex-end}
  .review-heading .rating p{max-width:132px}
  /* Rating in two lines within the kit: 20 for the score row, 14 for the source */
  .review-heading .rating{display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:flex-end;align-items:baseline!important;column-gap:6px!important;row-gap:2px!important}
  .review-heading .rating>div{display:contents!important}
  .review-heading .rating strong{font-size:20px!important;line-height:26px!important;letter-spacing:-.015em!important}
  .review-heading .rating .stars{font-size:14px!important;line-height:20px!important;letter-spacing:.06em}
  .review-heading .rating p{flex:1 1 100%;max-width:none!important;text-align:right;color:var(--muted)}
  .review-heading h2{flex:0 0 auto}
  #reviews .section-head{display:block!important}
  #reviews .section-head>.btn{display:none!important}
  .review-toolbar{display:none!important}
  .review-carousel.is-mobile{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 calc(-1*var(--m-pad));padding:0 var(--m-pad);scroll-padding:0 var(--m-pad)}
  .review-carousel.is-mobile::-webkit-scrollbar{display:none}
  .review-carousel.is-mobile .review-slide{display:contents!important}
  .review-carousel.is-mobile .review-card{flex:0 0 86%;scroll-snap-align:start;min-height:0!important;padding:18px!important}
  .review-card-top{display:flex!important;justify-content:space-between;align-items:flex-start;margin-bottom:12px!important}
  .review-card blockquote{margin:0 0 14px!important}
  .review-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
  .review-dots button{width:8px;height:8px;padding:0;border:0;border-radius:4px;background:#c7ccc2;transition:width .3s ease,background .3s}
  .review-dots button[aria-current="true"]{width:22px;background:var(--ink)}
  .review-bottom{margin-top:12px!important}
  .review-leave{display:block;width:100%;margin-top:14px}

  /* ---------- Process: vertical timeline, one step open ---------- */
  #process .section-head{margin-bottom:16px!important}
  .process-scroll{overflow:visible!important;margin:0!important;padding:0!important}
  .process-chart{min-width:0!important;padding:0!important;background:none!important;border:0!important;overflow:visible!important}
  .chart-labels,.stage-active-line{display:none!important}
  .chart-tracks{height:auto!important;display:block!important;background:none!important;padding:0 0 0 22px!important;position:relative}
  .chart-tracks::before{content:'';position:absolute;left:6px;top:24px;height:var(--rail,0px);width:2px;background:#ffffff1f}
  .stage-track{position:relative!important;height:auto!important;margin:0 0 8px}
  .stage-track::before{content:'';position:absolute;left:-23px;top:16px;width:16px;height:16px;box-sizing:border-box;z-index:1;border-radius:50%;background:#252624;border:2px solid #77786e;transition:background .3s,border-color .3s,transform .3s}
  .stage-track.is-active::before{background:#e87b4e;border-color:#e87b4e;transform:scale(1.2)}
  .stage-track.is-done::before{background:#e87b4e;border-color:#e87b4e}
  .stage-track[data-stage-row="4"].is-active::before{background:#5e9e5b;border-color:#5e9e5b}
  .stage-tab{position:static!important;width:100%!important;height:auto!important;min-height:48px;left:auto!important;padding:12px 14px!important}
  .stage-inline-details{position:static!important;width:auto!important;padding:12px 4px 6px 14px!important;border-left:0!important;animation:m-open .35s ease}
  .stage-note{margin-top:10px!important}
  .chart-tracks .stage-inline-details{display:none!important}
  .stage-panel{display:block;position:relative;margin:4px 0 0;padding:14px 0 0 36px;border-top:1px solid #ffffff1a}
  .stage-panel-inner{animation:m-open .35s ease}
  .stage-panel p{margin:0;font-size:16px!important;line-height:24px!important;color:#e9eae4}
  .stage-panel .stage-note{margin-top:10px!important;font-size:14px!important;line-height:20px!important;color:#c9cbc2}

  /* Scroll-driven process: section is taller than the screen, its content stays pinned; the line fills with progress */
  #process{padding:0!important}
  #process>.container{position:sticky;top:59px;padding-top:28px!important;padding-bottom:28px!important}
  .chart-tracks::after{content:'';position:absolute;left:6px;top:24px;width:2px;height:var(--fill,0px);background:#e87b4e;border-radius:1px;transition:height .3s cubic-bezier(.2,.7,.2,1)}

  /* ---------- FAQ: questions first, actions after ---------- */
  .faq-layout{display:flex!important;flex-direction:column;gap:0!important}
  .faq-aside{display:contents!important}
  .faq-aside>.section-index{order:1}
  .faq-aside>h2{order:2;margin-bottom:0!important}
  .faq-aside>p{order:3;margin:8px 0 24px!important}
  .faq-list{order:4}
  .faq-aside>.btn-row{order:5;display:flex!important;flex-direction:row!important;align-items:center!important;align-self:stretch;flex-wrap:wrap;gap:8px!important;max-width:none!important;margin-top:20px}
  #faq .faq-aside .btn{flex:1 1 100%!important;width:100%!important;min-height:48px!important;padding:12px 16px!important;justify-content:center!important;border-radius:var(--radius)!important;font-size:16px!important;line-height:24px!important}
  #faq .faq-aside .btn.secondary{display:inline-flex;align-items:center;gap:8px}
  .faq-wa-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
  .faq-item summary{padding:14px 0!important;gap:16px!important}
  .faq-item summary:after{content:''!important;flex:0 0 16px;height:16px;background:linear-gradient(#77846b,#77846b) center/14px 1.5px no-repeat,linear-gradient(#77846b,#77846b) center/1.5px 14px no-repeat;transition:transform .3s ease}
  .faq-item[open] summary:after{transform:rotate(45deg)}
  .faq-item p{padding:0 44px 16px 0!important;color:var(--muted)}

  /* ---------- Contact: three round actions + short form ---------- */
  .contact-layout{gap:24px!important;grid-template-columns:minmax(0,1fr)!important}
  .contact-layout>*,.lead-grid>*,.services-layout>*{min-width:0}
  .contact-copy>p{margin:8px 0 18px!important}
  .contact-channels{display:grid!important;grid-template-columns:repeat(3,1fr)!important;grid-auto-rows:auto!important;gap:8px!important;max-width:none!important}
  .contact-channels>.channel,.contact-channels>.channel-mail{display:block!important;padding:0!important;border:0!important;background:none!important;color:var(--ink)!important;min-height:0!important;height:auto!important}
  .contact-channels .channel,.channel-mail .channel-link{display:flex!important;flex-direction:column;align-items:center;gap:8px;padding:0!important;text-align:center;text-decoration:none;color:var(--ink)!important;background:none!important}
  .contact-channels .channel-icon{width:56px!important;height:56px!important;background:#fff!important;box-shadow:inset 0 0 0 1px var(--line);color:var(--accent)!important;transition:transform .15s}
  .contact-channels .channel-primary .channel-icon{background:var(--ink)!important;color:#fff!important;box-shadow:none}
  .contact-channels .channel:active .channel-icon,.channel-mail .channel-link:active .channel-icon{transform:scale(.92)}
  .contact-channels .channel-icon svg{width:22px!important;height:22px!important}
  .contact-channels .channel-value,.contact-channels .channel-hint,.contact-channels .channel-go,.channel-actions{display:none!important}
  .contact-channels .channel-label{color:var(--ink)!important}
  #contacts .form-shell{padding:18px!important;border-radius:10px}
  #contacts .contact-form-sub{margin:4px 0 14px!important}
  #contacts .choice-group .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-18px;padding-right:18px}
  #contacts .choice-group .chips::-webkit-scrollbar{display:none}
  #contacts .choice-group .chips{--fl:0px;--fr:64px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%)}
  #contacts .chip{flex:0 0 auto}

  /* ---------- Dialogs: bottom sheet sized to fit one phone screen ---------- */
  .dialog{width:100%!important;max-width:none!important;margin:auto 0 0!important;padding:18px 20px calc(20px + env(safe-area-inset-bottom,0px))!important;border-radius:16px 16px 0 0!important;border-bottom:0!important;max-height:94vh!important;max-height:94svh!important}
  .dialog[open]{animation:m-sheet .28s cubic-bezier(.2,.7,.2,1)}
  .dialog-close{top:12px!important;right:12px!important;width:36px!important;height:36px!important}
  #dialog-content>.eyebrow{display:none}
  #dialog-content>h2{font-size:20px!important;line-height:26px!important;letter-spacing:-.015em!important;margin:2px 44px 4px 0!important}
  #dialog-content>p{font-size:14px!important;line-height:20px!important;color:var(--muted);margin:0!important}
  #dialog-content:has(.is-stepped)>p{display:none}
  .dialog .form-shell{margin-top:12px!important}
  .dialog .form-steps{margin-bottom:10px!important}
  .dialog .step-question{margin-bottom:10px!important}
  .dialog .lead-form.is-stepped .field textarea{min-height:88px!important}
  .dialog .field{margin-bottom:10px!important}
  .dialog .choice-group{margin-bottom:10px!important}
  .dialog .photo-field{margin-bottom:10px!important}

  /* ---------- Floating bar: icon buttons for call and WhatsApp, one clear main action ---------- */
  .action-bar{grid-template-columns:48px 48px 1fr!important;gap:8px!important}
  .action-bar .icon-only{padding:0!important;width:48px;min-height:48px!important}
  .action-bar .icon-only span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .action-bar .icon-only svg{width:20px!important;height:20px!important}
  .action-bar button.primary{font-size:16px!important;line-height:24px!important}

  /* Footer WhatsApp as an icon */
  .footer-wa{display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #59634f!important;border-radius:var(--radius);text-decoration:none!important}
  .footer-wa-icon{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
  .footer-wa-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .footer-compact .footer-actions{align-items:center}

  /* ---------- Footer: compact ---------- */
  .footer.footer-compact{padding:24px 0 20px!important}
  .footer-compact .footer-main{display:flex!important;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 16px!important;padding-bottom:16px!important}
  .footer-compact .footer-brand>p{display:none!important}
  .footer-compact .footer-brand .brand small{font-size:10px!important;line-height:14px!important}
  .footer-compact .footer-actions{display:flex!important;gap:14px!important;margin:0!important}
  .footer-nav{order:3;flex:1 1 100%;display:flex!important;flex-wrap:wrap;gap:6px 16px!important}
  .footer-records{display:flex!important;flex-wrap:wrap;gap:2px 12px!important;padding:12px 0!important;margin:0!important}
  .nav-contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
  .nav-contacts .btn{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:48px!important;padding:12px 14px!important;width:100%}
  .nav-contacts .btn.secondary{border:1px solid var(--line)!important}
  .nav-contacts svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;flex-shrink:0}
  .footer-records-head{flex:1 1 100%;display:flex;align-items:center;justify-content:space-between;gap:12px}
  .footer-records-head .footer-back{order:0!important;margin:0!important;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
  .footer-back-icon{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
  .footer-bottom{display:flex!important;flex-wrap:wrap;justify-content:space-between;gap:4px 12px!important;padding-top:12px!important;margin:0!important}
  .footer-bottom .credit{order:2}
  .footer-bottom .footer-back{order:3;margin-left:auto}

  /* ---------- Motion: one entrance on load, gentle reveals on scroll ---------- */
  .hero-copy>*{animation:m-rise .6s cubic-bezier(.2,.7,.2,1) both}
  .hero-copy>*:nth-child(2){animation-delay:.08s}
  .hero-copy>*:nth-child(3){animation-delay:.16s}
  .hero-copy>*:nth-child(4){animation-delay:.24s}
  .m-reveal{opacity:0;transform:translateY(18px)}
  .m-reveal.is-in{opacity:1;transform:none;transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--m-i,0)*70ms)}
  .apartment-pins:not(.is-touched) .apartment-pin:not([aria-pressed=true])::after{border:2px solid #49544599!important;inset:-4px!important;animation:m-ping 2.2s ease-out infinite}
  .apartment-pins:not(.is-touched) .apartment-pin:nth-child(3)::after{animation-delay:.4s}
  .apartment-pins:not(.is-touched) .apartment-pin:nth-child(4)::after{animation-delay:.8s}
  .apartment-pins:not(.is-touched) .apartment-pin:nth-child(5)::after{animation-delay:1.2s}
  .apartment-pins:not(.is-touched) .apartment-pin:nth-child(6)::after{animation-delay:1.6s}
  #services .service.has-photo:active{transform:none}
}

@keyframes m-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes m-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes m-ping{0%{transform:scale(1);opacity:.9}80%,100%{transform:scale(1.7);opacity:0}}
@keyframes m-sheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@keyframes m-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}

@media (max-width:760px) and (prefers-reduced-motion:reduce){
  .hero-copy>*,.stage-inline-details,.stage-panel-inner,.apartment-swipe-hint svg,.apartment-pin::after,.dialog[open]{animation:none!important}
  .m-reveal{opacity:1;transform:none}
  .m-reveal.is-in{transition:none}
}

@media (max-width:760px) and (max-height:760px){
  #process>.container{padding-top:16px!important;padding-bottom:12px!important}
  #process .section-head{margin-bottom:10px!important}
  #process .stage-tab{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important}
  .apartment-header>p{display:none}
  .apartment-surface{min-width:520px!important;width:520px!important}
  #estimate .lead-copy>p{display:none}
  #estimate .lead-copy h2{font-size:28px!important;line-height:32px!important}
}
