/* Phone QA · all layout changes stop before the approved desktop. */
@media (max-width:1099px){
  /* Keep the original buttons, progress and film clock in one connected unit. */
  html:root .hero{display:flex;flex-direction:column}
  html:root .hero>.photo{order:0;flex:none}
  html:root .hero>.phases{order:1;margin:0 var(--m);min-height:76px;border-top:1px solid var(--hair)}
  html:root .hero>.lede{order:2}
  html:root .hero>.facts{order:3}
  html:root .hero .phase{min-height:76px;padding:12px 8px;justify-content:center;gap:6px}
  html:root .hero .phase .w{font-size:clamp(19px,3.8vw,28px);margin:0}
  html:root .hero .phase .d{display:none}
  html:root .hero .phase.on{background:rgba(232,196,138,.12);color:var(--window)}
  html:root .hero .phase.on .w{color:var(--window)}
  html:root :is(.p-hero,.v-hero){display:flex;flex-direction:column}
  html:root :is(.p-hero,.v-hero)>.photo{order:0;flex:none}
  html:root :is(.p-hero,.v-hero)>.band{order:1;grid-template-columns:repeat(3,minmax(0,1fr))}
  html:root :is(.p-hero,.v-hero)>.facts{order:2}
  html:root :is(.p-hero,.v-hero) .band .ph{padding:12px 8px;min-height:76px}
  html:root :is(.p-hero,.v-hero) .band .ph .w{font-size:clamp(19px,3.8vw,28px);margin-top:6px}
  html:root :is(.p-hero,.v-hero) .band .ph .d{display:none}
  html:root :is(.p-hero,.v-hero) .band .ph.on{background:rgba(232,196,138,.12)}
  html:root .menu-btn i{display:none}
  html:root .menu-btn{min-width:64px;min-height:44px;padding:0 12px}
  html:root .phone-menu{position:fixed;inset:0;width:100%;max-width:none;height:var(--phone-panel-height,100dvh);max-height:none;margin:0;border:0;padding:20px var(--m);background:#1F2A24;color:#F1ECE2;overflow-y:auto;overscroll-behavior:contain;font:400 20px/1.4 Manrope,system-ui,sans-serif}
  html:root .phone-menu::backdrop{background:#1F2A24}
  html:root .phone-menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}
  html:root .phone-menu .wordmark{position:static;min-height:44px;margin:0;color:#F1ECE2;font-size:24px;text-decoration:none}
  html:root .phone-menu .wordmark svg{width:24px;height:20px}
  html:root .phone-menu button{min-width:80px;min-height:44px;padding:10px 12px;border:1px solid #B8B1A4;background:transparent;color:inherit;font:600 14px/1.4 Manrope,system-ui,sans-serif;cursor:pointer}
  html:root .phone-menu-links{display:flex;flex-direction:column}
  html:root .phone-menu a{background:none;text-decoration:none}
  html:root .phone-menu-links>a{display:flex;align-items:center;min-height:56px;padding:12px 0;border-bottom:1px solid rgba(241,236,226,.28);color:inherit;font:400 24px/1.3 Fraunces,Georgia,serif}
  html:root .phone-menu-links>a[aria-current]{color:#E8C48A}
  html:root .phone-menu .phone-menu-cta{display:flex;align-items:center;justify-content:center;min-height:50px;margin-top:28px;padding:14px;background:#E8C48A;color:#1F2A24;font:600 14px/1.4 Manrope,system-ui,sans-serif;text-align:center}
  html:root .phone-menu a::before,html:root .phone-menu a::after{display:none}
  html:root .phone-menu :is(a,button):focus-visible{outline:2px solid #E8C48A;outline-offset:3px}
  html:root .phone-villa-details{padding:0 var(--m) 28px;background:var(--pine);color:var(--linen)}
  html:root .phone-villa-details .price{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}
  html:root .phone-villa-details .price b{font:300 28px/1.2 Fraunces,Georgia,serif}
  html:root .phone-villa-details .actions{margin-top:24px}
  html:root :is(.fine,.form .submit .muted,.docs .btn){font-size:14px}
  html:root .olympeion-concept{min-height:44px;min-width:44px;display:inline-flex;align-items:center;white-space:normal;max-width:calc(100vw - 24px);font-size:14px}
  html:root .site-foot .col a{min-height:44px}
  html:root .cap.note,html:root[data-page="heidezoom"] :is(.f-availability,.f-table-hint){font-size:14px;line-height:1.5}
  html:root[data-page="villa"] .v-hero{display:flex;flex-direction:column;padding:0 var(--m) 28px}
  html:root[data-page="villa"] .v-hero .photo{width:100%;height:clamp(200px,52vw,440px);aspect-ratio:auto}
  html:root[data-page="villa"] .v-hero .band{width:100%;margin:0;padding:0}
  html:root[data-page="villa"] .v-hero .facts{grid-template-columns:repeat(3,minmax(0,1fr));align-self:stretch;gap:12px;padding:24px 0 0}
  html:root .legal-text a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
}
/* Round 2: readable labels, footer attribution and inspectable drawings. */
@media (max-width:1099px){
  html:root :is(.cap,dt.cap,.cap.k,.award-index .cap,figcaption,.e-plan-caption,.e-visit-plot){font-size:12px!important;line-height:1.5}
  html:root .field>.cap{font-size:14px!important}
  html:root :is(.fine,.cap.note,.form .submit .muted,.form-disclosure,.e-plan-note,.f-visit-links){font-size:14px!important}
  html:root .f-plot-choice small{font-size:13px}
  html:root .field{display:flex;flex-direction:column;align-items:stretch;gap:8px}
  html:root .chip{font-size:14px;line-height:1.3;letter-spacing:.06em}
  html:root .award-index .phone-repeated-number{display:none}
  html:root :is(.hero .phase,.band .ph)>.cap:first-child{font-size:12px;letter-spacing:0;white-space:normal}
  html:root a.olympeion-concept{position:static;inset:auto;z-index:auto;opacity:1;visibility:visible;transition:none;margin-top:28px;max-width:100%;font-size:14px}
  html:root .site-foot{padding-bottom:64px}
  html:root .phone-credit-footer{padding:24px var(--m);background:#1F2A24}
  html:root .phone-hours{display:block;white-space:nowrap}
  html:root .site-foot .col:has(.phone-hours){grid-column:1/-1}
  html:root .site-foot .col a{overflow-wrap:normal;text-wrap:pretty}
  html:root .phone-drawing-scroll{width:100%;max-width:100%;min-width:0;overflow:auto;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}
  html:root :is(.plan-box,.plot)>div{min-width:0;max-width:100%}
  html:root .phone-drawing-scroll:focus-visible{outline:2px solid #A87B35;outline-offset:3px}
  html:root .phone-drawing-scroll>svg{display:block;width:1032px;min-width:1032px;max-width:none;height:auto;margin:0}
  html:root .phone-drawing-scroll>svg:is(.plan,.kavelplan){width:960px;min-width:960px}
  html:root .phone-drawing-hint{margin:12px 0;color:inherit;font:400 14px/1.5 Manrope,system-ui,sans-serif}
  html:root .phone-drawing-enlarge,html:root .phone-plan-head button{min-width:80px;min-height:44px;padding:10px 14px;border:1px solid currentColor;background:transparent;color:inherit;font:600 14px/1.4 Manrope,system-ui,sans-serif;cursor:pointer}
  html:root .phone-drawing-enlarge{margin:0 0 12px}
  html:root .plan-box .note{position:static;margin-top:16px}
  html:root .phone-plan-viewer{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:20px;background:#F1ECE2;color:#1F2A24;overflow:auto;overscroll-behavior:contain}
  html:root .phone-plan-viewer::backdrop{background:#F1ECE2}
  html:root .phone-plan-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#F1ECE2;font:500 16px/1.5 Manrope,system-ui,sans-serif}
  html:root .phone-plan-head button{flex:none}
  html:root .phone-plan-viewer .phone-drawing-scroll>svg{width:1200px;min-width:1200px}
  html:root .phone-plan-viewer .phone-drawing-scroll .lot{stroke-dasharray:none;stroke-dashoffset:0;fill-opacity:1}
  html:root .phone-plan-viewer .phone-drawing-scroll :is(.fp,.sp-n,.pn){opacity:1}
}
@media (max-width:600px){
  html:root .hero-shell{min-height:0}
  html:root .hero .phase>.cap:first-child{font-size:12px;letter-spacing:0;white-space:normal}
  html:root :is(.p-hero,.v-hero) .band .ph>.cap:first-child{font-size:12px;letter-spacing:0;white-space:normal}
  html:root[data-page="heidezoom"] .page-head,html:root[data-page="villa"] .page-head{padding-block:8px 16px;row-gap:12px}
  html:root[data-page="heidezoom"] .page-head .lead,html:root[data-page="villa"] .page-head .lead{font-size:16px;line-height:1.4}
  html:root :is(.p-hero,.v-hero)>.photo{height:clamp(170px,52vw,240px)}
  html:root .phone-villa-details .actions{align-items:stretch}
  html:root[data-page="villa"] .v-hero .photo{height:clamp(170px,52vw,240px)}
}
