/* ==========================================================================
   Quintamare — components. Tokens live in tokens.css (from the approved design system).
   Square, quiet, editorial. Everything is a fade; nothing bounces.
   ========================================================================== */

/* ——— Base additions ——— */
html{scroll-behavior:smooth;scroll-padding-top:100px}
body.qm-lock{overflow:hidden}
.screen-reader-text,.qm-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.qm-skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--cal);padding:8px 16px;border:1px solid var(--areia)}
.qm-skip:focus{left:8px}
.qm-icon{display:inline-flex;flex:none;width:18px;height:18px}
.qm-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.qm-muted{color:var(--text-muted)}
[hidden]{display:none!important}
main{display:block}
.qm-bg-linho{background:var(--linho)}
.qm-bg-cal{background:var(--cal)}

/* ——— Layout primitives ——— */
.qm-cols{display:grid;gap:var(--sp-9);align-items:start}
.qm-cols--intro{grid-template-columns:minmax(280px,.9fr) 1.1fr}
.qm-cols--half{grid-template-columns:1fr 1fr}
.qm-cols--form{grid-template-columns:minmax(280px,.85fr) 1.15fr}
.qm-cols--end{align-items:end}
.qm-stack{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:var(--sp-6)}
.qm-stack--7{gap:var(--sp-7)}
.qm-stack--8{gap:var(--sp-8)}
.qm-stack--4{gap:var(--sp-4)}
.qm-grid{display:grid;gap:var(--sp-7)}
.qm-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.qm-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.qm-grid--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-6)}
.qm-headrow{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-7);margin-bottom:var(--sp-7)}
.qm-btnrow{display:flex;gap:var(--sp-4);flex-wrap:wrap;align-items:center}
.qm-section--tall{padding-block:var(--section-y-tall) var(--section-y)}
.qm-center{display:grid;justify-items:center;text-align:center}

/* ——— Buttons ——— */
.qm-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:var(--control-h);padding:0 28px;font:var(--type-label);letter-spacing:var(--tk-label);text-transform:uppercase;border:1px solid transparent;border-radius:var(--radius-hair);cursor:pointer;text-decoration:none;white-space:nowrap;background:var(--bronze);color:var(--cal);transition:var(--transition-hover),opacity var(--dur-press) var(--ease-quiet)}
.qm-btn:hover{background:var(--terra);color:var(--cal);border-color:transparent}
.qm-btn:active{opacity:.9}
.qm-btn[disabled],.qm-btn.is-disabled{opacity:.38;cursor:not-allowed}
.qm-btn--secondary{background:transparent;color:var(--text-body);border-color:var(--border-card)}
.qm-btn--secondary:hover{background:transparent;color:var(--terra);border-color:var(--bronze)}
.qm-btn--light{background:transparent;color:var(--cal);border-color:var(--cal-32)}
.qm-btn--light:hover{background:transparent;color:var(--cal);border-color:var(--areia)}
.qm-btn--lg{height:var(--control-h-lg);padding:0 40px}
.qm-btn--sm{height:var(--control-h-sm);padding:0 18px;font-size:var(--ts-micro)}
.qm-btn--block{width:100%}
.qm-btn .qm-icon{width:15px;height:15px}
.qm-link{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:0;cursor:pointer;font:var(--type-label);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--accent);white-space:nowrap;border-bottom:0}
.qm-link>span:first-child{border-bottom:1px solid var(--bronze-32);padding-bottom:3px;transition:border-color var(--dur-hover) var(--ease-quiet)}
.qm-link:hover{color:var(--accent-hover);border-bottom:0}
.qm-link:hover>span:first-child{border-color:currentColor}
.qm-link .qm-icon{width:15px;height:15px}
a.qm-btn,a.qm-link,a.qm-card__link{border-bottom-width:1px}
a.qm-link{border-bottom:0}

/* ——— Eyebrow / headings ——— */
.qm-eyebrow--areia{color:var(--areia)}
.qm-eyebrow--muted{color:var(--text-muted)}
.qm-heading{display:grid;gap:var(--sp-5);justify-items:start;text-align:left}
.qm-heading--center{justify-items:center;text-align:center}
.qm-heading h1,.qm-heading h2{font:var(--type-display-2);letter-spacing:var(--tk-display);margin:0;color:var(--text-display);max-width:18ch}
.qm-heading--center h1,.qm-heading--center h2{margin-inline:auto}
.qm-heading .qm-lead{margin:0}
.qm-body p{font:var(--type-body);color:var(--text-muted)}
.qm-body{display:grid;gap:var(--sp-6)}
.qm-body>*{margin:0}
.qm-label{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted)}

/* ——— Header ——— */
.qm-header{position:sticky;top:0;z-index:45;background:var(--veil-light);backdrop-filter:var(--blur-veil);-webkit-backdrop-filter:var(--blur-veil);border-bottom:1px solid var(--rule-hair);color:var(--text-body)}
.qm-header__in{max-width:var(--page-max);margin:0 auto;padding:0 var(--gutter);height:86px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-7)}
.qm-header__logo{border:0;display:flex;align-items:center}
.qm-header__logo img{width:150px;height:auto}
.qm-header__logo .qm-logo--light{display:none}
.qm-nav{display:flex;align-items:center;gap:var(--sp-7)}
.qm-nav ul{display:flex;gap:var(--sp-7);list-style:none;margin:0;padding:0}
.qm-nav a,.qm-menu a{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);padding-bottom:4px;white-space:nowrap;border-bottom:1px solid transparent}
.qm-nav a:hover{color:var(--terra)}
.qm-nav .current-menu-item>a,.qm-nav .current-page-ancestor>a,.qm-nav .current_page_item>a{color:var(--text-body);border-bottom-color:var(--areia)}
.qm-header__tools{display:flex;align-items:center;gap:var(--sp-5)}
.qm-fav-link{display:inline-flex;align-items:center;gap:6px;border:0;color:inherit;font:var(--type-eyebrow);letter-spacing:var(--tk-label)}
.qm-fav-link .qm-icon{width:16px;height:16px}
.qm-fav-link[data-count="0"] .qm-fav-count{display:none}
.qm-burger{display:none;background:none;border:0;padding:var(--sp-2);cursor:pointer;color:inherit;min-width:44px;min-height:44px;place-items:center}
.qm-burger .qm-icon{width:22px;height:22px}
/* Over a hero: dark veil, light type. */
.qm-over-hero .qm-header{background:var(--veil-dark);border-bottom-color:var(--cal-16);color:var(--cal)}
.qm-over-hero .qm-header .qm-logo--dark{display:none}
.qm-over-hero .qm-header .qm-logo--light{display:block}
.qm-over-hero .qm-nav a{color:var(--cal-72)}
.qm-over-hero .qm-nav a:hover{color:var(--cal)}
.qm-over-hero .qm-nav .current-menu-item>a,.qm-over-hero .qm-nav .current_page_item>a{color:var(--cal)}
.qm-over-hero .qm-hero{margin-top:-87px}
.qm-menu{position:fixed;inset:86px 0 0;z-index:40;background:var(--sombra);overflow-y:auto;display:none}
.qm-menu.is-open{display:block}
.qm-menu__in{min-height:100%;display:grid;align-content:start;gap:var(--sp-7);padding:var(--sp-7) var(--sp-6) var(--sp-9)}
.qm-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-5)}
.qm-menu a{font:var(--type-display-3);letter-spacing:0;text-transform:none;color:var(--cal)}
.qm-header.is-solid{background:var(--sombra);color:var(--cal)}
.qm-header.is-solid .qm-logo--dark{display:none}
.qm-header.is-solid .qm-logo--light{display:block}
.qm-lang-slot{display:flex;align-items:center}
.qm-lang-slot a{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:inherit;opacity:.55;border:0;margin-left:var(--sp-3)}
.qm-lang-slot a:hover,.qm-lang-slot a.gt-current-lang,.qm-lang-slot a.glink.gt-current-lang{opacity:1;border-bottom:1px solid var(--areia)}
.qm-lang-slot img{display:none}
.qm-lang-slot a[data-gt-lang]{margin-left:var(--sp-3)}
.qm-lang-slot a.is-on{opacity:1;border-bottom:1px solid var(--areia)}
/* GTranslate's own widget (free mode): quiet it down to the header's scale. */
.qm-lang-slot--widget .gt_float_switcher{box-shadow:none!important;background:transparent!important;font:var(--type-eyebrow)!important;letter-spacing:var(--tk-label)!important;color:inherit!important}
.qm-lang-slot--widget .gt_float_switcher .gt-selected{background:transparent!important}
.qm-lang-slot--widget .gt_float_switcher .gt-selected .gt-current-lang{color:inherit!important;padding:6px 0!important;font-weight:400!important}
.qm-lang-slot--widget .gt_float_switcher .gt_options{background:var(--cal)!important;box-shadow:var(--shadow-raise)!important}
.qm-lang-slot--widget .gt_float_switcher .gt_options a{color:var(--text-body)!important;font:var(--type-small)!important}
.qm-lang-slot--widget .gt_float_switcher img{display:none!important}
.qm-over-hero .qm-lang-slot--widget .gt_float_switcher .gt-selected .gt-current-lang{color:var(--cal)!important}

/* ——— Hero ——— */
.qm-hero{position:relative;height:88vh;min-height:620px;overflow:hidden;color:var(--cal)}
.qm-hero--unit{height:72vh;min-height:520px}
.qm-hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s var(--ease-quiet)}
.qm-hero__img.is-on{opacity:1}
.qm-hero__img.is-on.qm-ken{animation:qmKen 26s var(--ease-quiet) forwards}
.qm-hero__scrim{position:absolute;inset:0;background:var(--scrim-bottom)}
.qm-hero__scrim--top{background:var(--scrim-top)}
.qm-hero__in{position:relative;height:100%;max-width:var(--page-max);margin:0 auto;padding:0 var(--gutter) var(--sp-9);display:grid;align-content:end;gap:var(--sp-6)}
.qm-hero__logo{width:210px;height:auto}
.qm-hero__row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-8);flex-wrap:wrap}
.qm-hero__lead{font:var(--type-lead);color:var(--cal);max-width:32ch;margin:0}
.qm-hero h1{font:var(--type-hero);color:var(--cal);margin:0;letter-spacing:var(--tk-display)}
.qm-hero__facts{display:flex;gap:var(--sp-6);align-items:center;flex-wrap:wrap}
.qm-hero__facts .qm-price{font:var(--type-lead)}
.qm-hero__facts .qm-small{font:var(--type-small)}
.qm-hero .qm-badge{color:var(--cal)}

/* ——— Facts row & stats ——— */
.qm-facts{display:flex;gap:var(--sp-6);align-items:center;justify-content:space-between;flex-wrap:nowrap;margin-top:var(--sp-9);padding-top:var(--sp-7);border-top:1px solid var(--rule-hair)}
.qm-facts__sep{width:1px;height:46px;background:var(--rule-quiet);flex:none}
.qm-stat{display:grid;gap:var(--sp-3);justify-items:start;text-align:left;flex:0 0 auto}
.qm-stat__v{font:var(--type-display-3);letter-spacing:var(--tk-display);color:var(--text-display);display:flex;align-items:baseline;gap:6px}
.qm-stat__v small{font:var(--type-small);letter-spacing:var(--tk-body);color:var(--text-muted)}
.qm-stat__l{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
.qm-counts{display:flex;gap:var(--sp-6);align-items:center}
.qm-counts span{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);padding-left:var(--sp-6);border-left:1px solid var(--rule-quiet)}
.qm-counts span:first-child{border-left:0;padding-left:0;color:var(--text-body)}

/* ——— Figure / pull quote ——— */
.qm-figure{margin:0;display:grid;gap:var(--sp-4)}
.qm-figure__img{overflow:hidden;aspect-ratio:3/2;background:var(--linho)}
.qm-figure__img img{width:100%;height:100%;object-fit:cover;transform:scale(var(--zoom-rest));transition:transform var(--dur-image) var(--ease-quiet)}
.qm-figure:hover .qm-figure__img img,.qm-card:hover .qm-figure__img img{transform:scale(var(--zoom-hover))}
.qm-figure figcaption{display:grid;gap:6px;border-top:1px solid var(--rule-hair);padding-top:var(--sp-3)}
.qm-figure figcaption span:first-child{font:var(--type-small);color:var(--text-body)}
.qm-figure figcaption .qm-meta{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted)}
.qm-quote{display:grid;gap:var(--sp-5);max-width:22ch;margin:0}
.qm-quote__rule{width:var(--rule-eyebrow-w);height:1px;background:var(--bronze)}
.qm-quote blockquote{margin:0;font:italic var(--w-display-light) var(--ds-3)/var(--lh-display-loose) var(--font-display);letter-spacing:var(--tk-display-air);color:var(--text-display)}
.qm-quote figcaption{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted)}

/* ——— Amenities / list items ——— */
.qm-items{display:grid;gap:var(--sp-5)}
.qm-item{padding-top:var(--sp-4);border-top:1px solid var(--rule-hair);display:grid;gap:var(--sp-2)}
.qm-item h3{font:var(--type-display-4)}
.qm-item p{font:var(--type-small);color:var(--text-muted);margin:0}
.qm-note{border-top:1px solid var(--bronze);padding:var(--sp-4) 0 0;display:grid;gap:var(--sp-2);max-width:var(--measure-prose)}
.qm-note__t{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--bronze)}
.qm-note__b{font:var(--type-small);color:var(--text-muted)}
.qm-note--panel{background:var(--linho);padding:var(--sp-4)}

/* ——— Badge ——— */
.qm-badge{display:inline-flex;align-items:center;gap:var(--sp-2);font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;white-space:nowrap;color:var(--text-body)}
.qm-badge::before{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:var(--state-available);flex:none}
.qm-badge--reserved{color:var(--text-muted)}.qm-badge--reserved::before{background:var(--state-reserved)}
.qm-badge--sold{color:var(--text-quiet)}.qm-badge--sold::before{background:var(--state-sold)}
.qm-flag{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--cal);background:var(--bronze);padding:4px 8px}

/* ——— Unit card ——— */
.qm-card{display:grid;gap:var(--sp-2);position:relative;align-content:start}
.qm-card__link{display:grid;gap:var(--sp-4);text-decoration:none;border:0;color:inherit}
.qm-card__link:hover{color:inherit}
.qm-card .qm-figure__img{aspect-ratio:4/3}
.qm-card--sold .qm-figure__img img{filter:grayscale(.35);opacity:.86}
.qm-card__body{border-top:1px solid var(--rule-hair);padding-top:var(--sp-4);display:grid;gap:var(--sp-3)}
.qm-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4)}
.qm-card__title{font:var(--type-display-4);color:var(--text-display)}
.qm-card__line{font:var(--type-small);color:var(--text-muted)}
.qm-card__price{font:var(--type-label);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-body)}
.qm-card__flags{position:absolute;top:var(--sp-3);left:var(--sp-3);display:flex;gap:6px;z-index:2}
.qm-fav{position:absolute;top:var(--sp-3);right:var(--sp-3);z-index:2;width:40px;height:40px;display:grid;place-items:center;background:var(--cal-90);border:0;border-radius:var(--radius-pill);cursor:pointer;color:var(--terra);transition:var(--transition-hover)}
.qm-fav .qm-icon{width:18px;height:18px}
.qm-fav:hover{background:var(--cal)}
.qm-fav.is-on svg{fill:var(--terra)}
.qm-fav--inline{position:static;background:none;width:auto;height:auto;display:inline-flex;gap:8px;font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--accent)}
.qm-grid--4 .qm-card__line{font-size:var(--ts-fine)}

/* ——— Inverse band / CTA ——— */
.qm-band{position:relative;overflow:hidden}
.qm-band__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}
.qm-band__veil{position:absolute;inset:0;background:var(--sombra);opacity:.62}
.qm-band__in{position:relative;padding-block:var(--section-y-tall);display:grid;justify-items:center;gap:var(--sp-6);text-align:center}
.qm-band h2{font:var(--type-display-1);color:var(--cal);margin:0;max-width:18ch}
.qm-cta{padding-block:var(--section-y);display:grid;justify-items:center;gap:var(--sp-6);text-align:center}
.qm-cta h2{font:var(--type-display-2);max-width:20ch;margin:0}
.qm-imageband{position:relative;height:62vh;min-height:420px;overflow:hidden;color:var(--cal)}
.qm-imageband img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.qm-imageband__cap{position:absolute;left:0;right:0;bottom:0;padding:var(--sp-7) var(--gutter);background:var(--scrim-bottom)}
.qm-imageband__cap div{max-width:var(--page-max);margin:0 auto;display:grid;gap:var(--sp-2)}
.qm-imageband__cap p{font:var(--type-small);color:var(--cal);max-width:48ch;margin:0}

/* ——— Spec table ——— */
.qm-spec{display:grid;gap:var(--sp-4)}
.qm-spec__cap{font:var(--type-eyebrow);letter-spacing:var(--tk-eyebrow);text-transform:uppercase;color:var(--text-eyebrow)}
.qm-spec dl{margin:0;border-top:1px solid var(--rule-hair)}
.qm-spec dl>div{display:grid;grid-template-columns:minmax(96px,30%) minmax(0,1fr);gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--rule-quiet)}
.qm-spec--dense dl>div{padding:var(--sp-3) 0}
.qm-spec--zebra dl{margin-inline:calc(var(--sp-4) * -1)}
.qm-spec--zebra dl>div{padding-inline:var(--sp-4)}
.qm-spec--zebra dl>div:nth-child(even){background:var(--linho)}
.qm-bg-linho .qm-spec--zebra dl>div:nth-child(even){background:var(--cal)}
.qm-spec dt{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);align-self:center;min-width:0}
.qm-spec dd{margin:0;font:var(--type-small);color:var(--text-body);align-self:center;min-width:0}

/* ——— Accordion ——— */
.qm-acc{border-top:1px solid var(--rule-hair)}
.qm-acc details{border-bottom:1px solid var(--rule-quiet)}
.qm-acc summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);padding:var(--sp-5) 0;cursor:pointer;font:var(--type-display-4);color:var(--text-display);list-style:none;transition:color var(--dur-hover) var(--ease-quiet)}
.qm-acc summary::-webkit-details-marker{display:none}
.qm-acc summary .qm-icon{color:var(--bronze)}
.qm-acc summary .qm-i-minus{display:none}
.qm-acc details[open] summary{color:var(--terra)}
.qm-acc details[open] summary .qm-i-plus{display:none}
.qm-acc details[open] summary .qm-i-minus{display:inline-flex}
.qm-acc__b{padding-bottom:var(--sp-5);font:var(--type-body);color:var(--text-muted);max-width:var(--measure-prose)}

/* ——— Timeline ——— */
.qm-timeline{border-top:1px solid var(--rule-hair)}
.qm-timeline>div{display:grid;grid-template-columns:auto minmax(120px,auto) 1fr;gap:var(--sp-5);align-items:baseline;padding:var(--sp-4) 0;border-bottom:1px solid var(--rule-hair)}
.qm-timeline .qm-icon{width:13px;height:13px;color:var(--bronze);align-self:center}
.qm-timeline__when{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted)}
.qm-timeline__what{font:var(--type-small);color:var(--text-muted)}
.qm-timeline .is-current .qm-timeline__when{color:var(--text-body)}

/* ——— Systems ——— */
.qm-systems{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6) var(--sp-5)}
.qm-systems>div{border-top:1px solid var(--rule-hair);padding-top:var(--sp-4);display:grid;gap:var(--sp-3)}
.qm-systems__t{display:flex;gap:var(--sp-3);align-items:center;font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--bronze)}
.qm-systems__t .qm-icon{width:14px;height:14px}
.qm-systems__v{font:var(--type-small);color:var(--text-muted)}

/* ——— Stats row (unit, location) ——— */
.qm-statrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.qm-statrow>div{min-width:0;padding:0 var(--sp-4);border-left:1px solid var(--sombra-16)}
.qm-statrow>div:first-child{padding-left:0;border-left:0}

/* ——— Floor plans ——— */
.qm-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-6)}
.qm-plancard{display:grid;gap:var(--sp-4);align-content:start}
.qm-plancard__img{background:var(--cal);border:1px solid var(--areia);aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;cursor:zoom-in;padding:var(--sp-5)}
.qm-plancard__img img{max-height:100%;width:auto;object-fit:contain;transition:transform var(--dur-image) var(--ease-quiet)}
.qm-plancard:hover .qm-plancard__img img{transform:scale(1.035)}
.qm-plancard__head{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--rule-hair);padding-top:var(--sp-3)}
.qm-plancard__head h3{font:var(--type-display-4)}
.qm-rooms{width:100%;border-collapse:collapse}
.qm-rooms th{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);text-align:left;padding:var(--sp-3) 0;border-bottom:1px solid var(--rule-hair);font-weight:var(--w-text)}
.qm-rooms td{font:var(--type-small);font-size:var(--ts-fine);color:var(--text-body);padding:var(--sp-3) 0;border-bottom:1px solid var(--rule-quiet)}
.qm-rooms td:first-child{width:28px;color:var(--text-muted)}
.qm-rooms td:last-child,.qm-rooms th:last-child{text-align:right;color:var(--text-muted)}
.qm-rooms tfoot td{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);border-bottom:0}
.qm-rooms tfoot td:last-child{font:var(--type-small);letter-spacing:var(--tk-body);text-transform:none;color:var(--text-body)}

/* ——— Dialog ——— */
.qm-dialog{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;background:var(--surface-scrim);padding:var(--sp-6)}
.qm-dialog.is-open{display:flex}
.qm-dialog__box{background:var(--cal);width:min(1180px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:var(--sp-7);position:relative;box-shadow:var(--shadow-raise)}
.qm-dialog__close{position:absolute;top:var(--sp-4);right:var(--sp-4);background:none;border:0;cursor:pointer;color:var(--text-body);width:44px;height:44px;display:grid;place-items:center}
.qm-dialog__tabs{display:flex;gap:var(--sp-6);border-bottom:1px solid var(--rule-hair);margin:var(--sp-5) 0}
.qm-tab{background:none;border:0;border-bottom:1px solid transparent;padding:0 0 var(--sp-3);margin-bottom:-1px;cursor:pointer;font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);transition:color var(--dur-hover) var(--ease-quiet)}
.qm-tab:hover{color:var(--terra)}
.qm-tab[aria-selected="true"]{color:var(--terra);border-bottom-color:var(--areia)}
.qm-dialog__pane{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--sp-7);align-items:start}
.qm-dialog__pane img{width:100%;height:auto;background:var(--cal)}

/* ——— Site plan ——— */
.qm-siteplan__legend{display:grid;gap:var(--sp-3);justify-items:start}
.qm-siteplan__legend span{display:inline-flex;gap:var(--sp-3);align-items:center;font:var(--type-small);font-size:var(--ts-fine);color:var(--text-muted)}
.qm-siteplan__legend .qm-icon{width:16px;height:16px;color:var(--bronze)}
.qm-siteplan__tabs{display:flex;gap:var(--sp-6);margin-bottom:var(--sp-5)}
.qm-siteplan__stage{position:relative;background:var(--cal);border:1px solid var(--areia);overflow:hidden}
.qm-siteplan__stage img{width:100%;height:auto}
.qm-siteplan__stage svg.qm-marks{position:absolute;inset:0;width:100%;height:100%}
.qm-mark{cursor:pointer;outline:none}
.qm-mark .qm-mark__ring{fill:none;opacity:0;transition:opacity var(--dur-ui) var(--ease-quiet),r var(--dur-ui) var(--ease-quiet)}
.qm-mark .qm-mark__dot{transition:opacity var(--dur-ui) var(--ease-quiet)}
.qm-mark--available .qm-mark__dot{fill:var(--bronze);stroke:var(--bronze)}
.qm-mark--available .qm-mark__ring{stroke:var(--bronze)}
.qm-mark--reserved .qm-mark__dot{fill:var(--areia);stroke:var(--areia)}
.qm-mark--reserved .qm-mark__ring{stroke:var(--areia)}
.qm-mark--sold .qm-mark__dot{fill:var(--cal);stroke:var(--sombra-32)}
.qm-mark--sold .qm-mark__ring{stroke:var(--sombra-32)}
.qm-mark text{font-family:var(--font-display);font-weight:var(--w-display-light);pointer-events:none;fill:var(--cal)}
.qm-mark--sold text{fill:var(--sombra)}
.qm-mark.is-on .qm-mark__ring,.qm-mark:focus .qm-mark__ring{opacity:1}
.qm-marks.is-hot .qm-mark:not(.is-on) .qm-mark__dot,.qm-marks.is-hot .qm-mark:not(.is-on) text{opacity:.42}
.qm-massing-wrap [data-unit]{transition:opacity var(--dur-ui) var(--ease-quiet),transform var(--dur-ui) var(--ease-quiet)}
.qm-massing-wrap.is-hot [data-unit]:not(.is-on){opacity:.45}
.qm-massing-wrap [data-status="sold"]{opacity:.55}
.qm-siteplan__foot{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-7);align-items:start;margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--rule-hair)}
.qm-siteplan__keys{display:grid;gap:var(--sp-2)}
.qm-siteplan__card{min-height:64px;font:var(--type-small);font-size:var(--ts-fine);color:var(--text-muted)}
.qm-siteplan__card strong{font:var(--type-display-4);color:var(--text-display);font-weight:var(--w-display);margin-right:var(--sp-4)}

/* ——— Schedule table ——— */
.qm-schedule{width:100%;border-collapse:collapse;border-top:1px solid var(--rule-strong)}
.qm-schedule th{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);text-align:left;padding:var(--sp-4) var(--sp-3) var(--sp-4) 0;border-bottom:1px solid var(--rule-hair);font-weight:var(--w-text)}
.qm-schedule td{padding:var(--sp-4) var(--sp-3) var(--sp-4) 0;border-bottom:1px solid var(--rule-hair);font:var(--type-small);color:var(--text-body);vertical-align:middle}
.qm-schedule td.qm-muted{color:var(--text-muted)}
.qm-schedule td:first-child a{font:var(--type-display-4);color:var(--text-display);border:0}
.qm-schedule tr{transition:background var(--dur-hover) var(--ease-quiet)}
.qm-schedule tbody tr:hover{background:var(--linho)}
.qm-schedule .qm-planlink{background:none;border:0;padding:0;cursor:pointer;color:var(--bronze);font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;display:inline-flex;gap:var(--sp-2);align-items:center}
.qm-schedule .qm-planlink .qm-icon{width:13px;height:13px}
.qm-schedule-wrap{overflow-x:auto}
.qm-schedule-foot{display:flex;justify-content:flex-end;margin-top:var(--sp-6)}

/* ——— Forms ——— */
.qm-form{display:grid;gap:var(--sp-6)}
.qm-form__panel{background:var(--cal);border:1px solid var(--areia);padding:var(--sp-7);display:grid;gap:var(--sp-6)}
.qm-form__tabs{display:flex;gap:var(--sp-6);border-bottom:1px solid var(--rule-hair)}
.qm-form__tabs .qm-tab{padding-bottom:var(--sp-4)}
.qm-field{display:grid;gap:var(--sp-3)}
.qm-field>span,.qm-field legend{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted);padding:0}
.qm-field fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--sp-3)}
.qm-field input,.qm-field select,.qm-field textarea{width:100%;min-height:var(--field-h);padding:0 var(--sp-4);background:var(--cal);border:1px solid var(--border-field);border-radius:var(--radius-hair);font:var(--type-small);color:var(--text-body);transition:border-color var(--dur-hover) var(--ease-quiet)}
.qm-field textarea{padding:var(--sp-4);min-height:120px;resize:vertical}
.qm-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239E815C' stroke-width='1'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.qm-field input:hover,.qm-field select:hover,.qm-field textarea:hover{border-color:var(--bronze-56)}
.qm-field input:focus,.qm-field select:focus,.qm-field textarea:focus{border-color:var(--bronze);outline:none}
.qm-field ::placeholder{color:var(--text-quiet)}
.qm-field small{font:var(--type-small);font-size:var(--ts-fine);color:var(--text-quiet)}
.qm-field.is-error input,.qm-field.is-error textarea{border-color:var(--terra)}
.qm-row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-5)}
.qm-check{display:grid;grid-template-columns:18px 1fr;gap:var(--sp-3);align-items:start;font:var(--type-small);font-size:var(--ts-fine);color:var(--text-muted);cursor:pointer}
.qm-check input{appearance:none;width:16px;height:16px;margin:3px 0 0;border:1px solid var(--border-field);border-radius:var(--radius-hair);background:var(--cal);display:grid;place-items:center;cursor:pointer}
.qm-check input:checked{background:var(--bronze);border-color:var(--bronze)}
.qm-check input:checked::after{content:"";width:8px;height:4px;border:1px solid var(--cal);border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.qm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.qm-form__msg{font:var(--type-small);color:var(--terra)}
.qm-form__done{display:grid;gap:var(--sp-5);justify-items:start}
.qm-form__done h3{font:var(--type-display-3);margin:0}
.qm-form__done p{font:var(--type-body);color:var(--text-muted);margin:0}
.qm-chip{min-height:44px;padding:0 var(--sp-5);background:var(--cal);border:1px solid var(--areia);cursor:pointer;font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-body);display:inline-flex;gap:var(--sp-3);align-items:center;transition:var(--transition-hover)}
.qm-chip:hover{border-color:var(--bronze);color:var(--terra)}
.qm-chip.is-on,.qm-chip[aria-pressed="true"]{background:var(--bronze);border-color:var(--bronze);color:var(--cal)}
.qm-chip[disabled]{opacity:.35;cursor:default}
.qm-chip .qm-icon{width:14px;height:14px}
.qm-chips{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.qm-contactlist{display:grid;gap:var(--sp-3);font:var(--type-small);color:var(--text-muted)}

/* ——— Calendar ——— */
.qm-cal{display:grid;gap:var(--sp-4)}
.qm-cal__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}
.qm-cal__nav{background:none;border:1px solid var(--areia);padding:6px 10px;cursor:pointer;color:var(--bronze);display:grid;place-items:center;transition:var(--transition-hover)}
.qm-cal__nav:hover:not(:disabled){border-color:var(--bronze);color:var(--terra)}
.qm-cal__nav:disabled{opacity:.35;cursor:default}
.qm-cal__nav .qm-icon{width:16px;height:16px}
.qm-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.qm-cal__dow{font:var(--type-eyebrow);letter-spacing:var(--tk-eyebrow);text-transform:uppercase;color:var(--text-quiet);text-align:center;padding-bottom:var(--sp-2)}
.qm-cal__day{min-height:44px;background:var(--cal);border:1px solid var(--areia);cursor:pointer;font:var(--type-small);color:var(--text-body);transition:var(--transition-hover)}
.qm-cal__day:hover{border-color:var(--bronze);color:var(--terra)}
.qm-cal__day.is-on{background:var(--bronze);border-color:var(--bronze);color:var(--cal)}
.qm-cal__day:disabled{background:none;border-color:transparent;color:var(--text-quiet);opacity:.5;cursor:default}
.qm-cal__hint{font:var(--type-small);font-size:var(--ts-fine);color:var(--text-quiet)}

/* ——— Distances / location ——— */
.qm-distance-cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-9);align-items:start}

/* ——— Gallery ——— */
.qm-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-7) var(--sp-6);align-items:start}

/* ——— Team ——— */
.qm-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-7) var(--sp-6)}
.qm-person{display:grid;gap:var(--sp-3);align-content:start}
.qm-person__img{aspect-ratio:4/5;overflow:hidden;background:var(--linho)}
.qm-person__img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.qm-person h3{font:var(--type-display-4);border-top:1px solid var(--rule-hair);padding-top:var(--sp-3)}
.qm-person__role{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted)}
.qm-person__links{display:flex;gap:var(--sp-4);flex-wrap:wrap;font:var(--type-small);font-size:var(--ts-fine)}
.qm-person__units{font:var(--type-small);font-size:var(--ts-fine);color:var(--text-muted)}
.qm-agent{display:grid;grid-template-columns:64px 1fr;gap:var(--sp-4);align-items:center;padding-top:var(--sp-4);border-top:1px solid var(--rule-hair)}
.qm-agent img{width:64px;height:64px;object-fit:cover;border-radius:var(--radius-pill)}
.qm-agent strong{font:var(--type-display-4);font-weight:var(--w-display);color:var(--text-display);display:block}
.qm-agent span{font:var(--type-small);font-size:var(--ts-fine);color:var(--text-muted)}

/* ——— Search / filters / map ——— */
.qm-search{display:grid;gap:var(--sp-7)}
.qm-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-5);align-items:end;padding:var(--sp-6);background:var(--linho);border:1px solid var(--areia-56)}
.qm-filters .qm-field input,.qm-filters .qm-field select{min-height:46px}
.qm-filters__actions{display:flex;gap:var(--sp-4);align-items:center}
.qm-filters__more{grid-column:1/-1;display:none;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-5)}
.qm-filters.is-expanded .qm-filters__more{display:grid}
.qm-results__bar{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;margin-bottom:var(--sp-6)}
.qm-results__count{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-muted)}
.qm-results__views{display:flex;gap:var(--sp-5)}
.qm-results.is-loading{opacity:.45;transition:opacity var(--dur-ui) var(--ease-quiet);pointer-events:none}
.qm-results--split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:var(--sp-6);align-items:start}
.qm-results--split .qm-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
.qm-results--units{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.qm-map__base{position:absolute;top:12px;right:12px;z-index:500;display:flex;background:var(--cal);border:1px solid var(--areia);border-radius:var(--radius-pill);padding:3px;box-shadow:var(--shadow-raise)}
.qm-map__base button{font:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:0;background:none;color:var(--sombra);padding:7px 14px;border-radius:var(--radius-pill);cursor:pointer}
.qm-map__base button.is-on{background:var(--terra);color:var(--cal)}
.qm-map.is-aerial .leaflet-tile-pane{filter:saturate(.72) sepia(.12) brightness(1.04) contrast(.96)}
.qm-price-pin--group{background:var(--terra);border-color:var(--terra);color:var(--cal);white-space:nowrap}
.qm-results--units .qm-grid--2{gap:var(--sp-6)}
.qm-results--units .qm-map{top:96px;height:calc(100vh - 128px);min-height:520px}
.qm-map{position:relative;background:var(--linho);border:1px solid var(--areia);min-height:420px}
.qm-results--split .qm-map{position:sticky;top:110px;height:calc(100vh - 140px)}
.qm-map__canvas{position:absolute;inset:0}
.qm-map__area .qm-btn{background:var(--cal);color:var(--text-body);border-color:var(--areia);height:40px;box-shadow:var(--shadow-lift)}
.qm-pin{width:14px;height:14px;border-radius:var(--radius-pill);background:var(--bronze);border:2px solid var(--cal);box-shadow:0 0 0 1px var(--bronze)}
.qm-pin--reserved{background:var(--areia);box-shadow:0 0 0 1px var(--areia)}
.qm-pin--sold{background:var(--cal);box-shadow:0 0 0 1px var(--sombra-32)}
.qm-cluster{width:40px;height:40px;border-radius:var(--radius-pill);background:var(--terra);color:var(--cal);display:grid;place-items:center;font:var(--type-label);border:2px solid var(--cal);box-shadow:var(--shadow-lift)}
.leaflet-popup-content-wrapper{border-radius:0;box-shadow:var(--shadow-raise);padding:0}
.leaflet-popup-content{margin:0;width:240px!important}
.leaflet-popup-content .qm-card{padding:var(--sp-3)}
.leaflet-popup-content .qm-fav{display:none}
.leaflet-container{font:var(--type-small);background:var(--linho)}
.leaflet-container a{border:0}
.qm-pagination{display:flex;gap:var(--sp-3);justify-content:center;margin-top:var(--sp-8)}
.qm-pagination a,.qm-pagination span{min-width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--areia);font:var(--type-label);color:var(--text-body)}
.qm-pagination .is-on{background:var(--bronze);border-color:var(--bronze);color:var(--cal)}
.qm-empty{padding:var(--sp-8) 0;display:grid;gap:var(--sp-4);justify-items:start}
.qm-empty h3{font:var(--type-display-3)}
.qm-empty p{color:var(--text-muted)}

/* Map pins with labels, popups, legend */
.qm-pin--project{width:18px;height:18px;border-width:3px;box-shadow:0 0 0 1px var(--terra),var(--shadow-lift)}
.qm-pin--project.qm-pin--available{background:var(--terra)}
.qm-pin--poi{width:10px;height:10px;background:var(--cal);border:2px solid var(--bronze);box-shadow:none}
.qm-pinlabel{position:relative;width:100%;height:100%}
.qm-pinlabel .qm-pin{position:absolute;inset:0}
.qm-pinlabel b{position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);white-space:nowrap;font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;font-weight:var(--w-text);color:var(--text-muted);text-shadow:0 0 3px var(--cal),0 0 3px var(--cal),0 0 3px var(--cal)}
.qm-pinlabel--project b{font:var(--w-display) 20px/1 var(--font-display);letter-spacing:0;text-transform:none;color:var(--terra)}
.qm-popup .leaflet-popup-content{width:auto!important}
.qm-mapcard{display:grid;min-width:260px}
.qm-mapcard__img{aspect-ratio:16/9;overflow:hidden;background:var(--linho)}
.qm-mapcard__img img{width:100%;height:100%;object-fit:cover}
.qm-mapcard__b{display:grid;gap:6px;padding:var(--sp-4)}
.qm-mapcard__b strong{font:var(--type-display-4);font-weight:var(--w-display);color:var(--text-display)}
.qm-mapcard__b span{font:var(--type-small);font-size:var(--ts-fine);color:var(--text-muted)}
.qm-mapcard__count{font:var(--type-eyebrow)!important;letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--text-body)!important}
.qm-mapcard ul{list-style:none;margin:var(--sp-2) 0;padding:0;border-top:1px solid var(--rule-hair)}
.qm-mapcard li{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4);padding:6px 0;border-bottom:1px solid var(--rule-quiet);font:var(--type-small);font-size:var(--ts-fine)}
.qm-mapcard li a{color:var(--text-body);border:0}
.qm-popup--poi .qm-mapcard__b{padding:var(--sp-3) var(--sp-4)}
.qm-popup--poi .qm-mapcard__b strong{font-size:18px}
.qm-map__legend{display:flex;gap:var(--sp-6);flex-wrap:wrap;margin-top:var(--sp-4)}
.qm-badge--poi::before{background:var(--cal);box-shadow:0 0 0 1.5px var(--bronze)}
.qm-mapblock .qm-map{border-color:var(--areia)}
/* Warm the neutral base map toward the brand's sand. */
.qm-map .leaflet-tile-pane{filter:sepia(.28) saturate(.75) brightness(1.03)}

/* Booking-style price pins */
.qm-price-icon{width:auto!important;height:auto!important;margin:0!important;transform-origin:center}
.qm-price-pin{display:inline-block;transform:translate(-50%,-50%);padding:6px 10px;background:var(--cal);color:var(--text-body);border:1px solid var(--areia);border-radius:var(--radius-pill);font:var(--type-label);letter-spacing:.06em;white-space:nowrap;box-shadow:var(--shadow-lift);cursor:pointer;transition:background var(--dur-hover) var(--ease-quiet),color var(--dur-hover) var(--ease-quiet),transform var(--dur-hover) var(--ease-quiet)}
.qm-price-pin--available{border-color:var(--bronze)}
.qm-price-pin--reserved{color:var(--text-muted)}
.qm-price-pin--sold{color:var(--text-quiet);background:var(--linho);border-color:transparent;box-shadow:none}
.qm-price-pin.is-hot,.qm-price-pin:hover{background:var(--terra);border-color:var(--terra);color:var(--cal);transform:translate(-50%,-50%) scale(1.08)}
.qm-card.is-hot .qm-card__title{color:var(--terra)}
.qm-card.is-hot .qm-figure__img img{transform:scale(var(--zoom-hover))}
.qm-map__area{position:absolute;top:var(--sp-4);left:50%;transform:translateX(-50%);z-index:500;display:flex;gap:var(--sp-3);align-items:center}
.qm-map__move{display:inline-flex;gap:var(--sp-3);align-items:center;background:var(--cal);border:1px solid var(--areia);padding:8px 14px;font:var(--type-small);font-size:var(--ts-fine);color:var(--text-body);box-shadow:var(--shadow-lift);cursor:pointer;white-space:nowrap}
.qm-map__move input{accent-color:var(--bronze);margin:0}
.qm-maptoggle{display:none}
@media (max-width:1100px){
.qm-search--split .qm-map{display:none}
.qm-search--split.show-map .qm-map{display:block;position:relative;top:0;height:70vh}
.qm-search--split.show-map [data-list]{display:none}
.qm-maptoggle{display:inline-flex;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:60;box-shadow:var(--shadow-raise);border-radius:var(--radius-pill)}
}

/* ——— Projects index ——— */
.qm-project-card .qm-figure__img{aspect-ratio:16/10}
.qm-project-card .qm-card__title{font:var(--type-display-3)}

/* ——— Account ——— */
.qm-account{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-9);align-items:start}
.qm-saved{border-top:1px solid var(--rule-hair)}
.qm-saved li{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--rule-quiet);list-style:none}
.qm-saved{margin:0;padding:0}

/* ——— Footer ——— */
.qm-footer{background:var(--sombra);color:var(--cal)}
.qm-footer__in{max-width:var(--page-max);margin:0 auto;padding:var(--sp-9) var(--gutter) var(--sp-7)}
.qm-footer__top{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:var(--sp-9);align-items:start}
.qm-footer__logo img{width:168px;height:auto}
.qm-footer__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-7)}
.qm-footer__col{display:grid;gap:var(--sp-4);align-content:start}
.qm-footer__col>span{font:var(--type-eyebrow);letter-spacing:var(--tk-eyebrow);text-transform:uppercase;color:var(--areia)}
.qm-footer__col div{display:grid;gap:var(--sp-3)}
.qm-footer__col div span,.qm-footer__col div a{font:var(--type-small);color:var(--cal-72)}
.qm-footer__col a{color:var(--areia);border-bottom-color:var(--bronze-56)}
.qm-footer__bottom{margin-top:var(--sp-9);padding-top:var(--sp-5);border-top:1px solid var(--bronze-32);display:flex;justify-content:space-between;gap:var(--sp-5);flex-wrap:wrap}
.qm-footer__bottom span,.qm-footer__bottom a{font:var(--type-eyebrow);letter-spacing:var(--tk-label);text-transform:uppercase;color:var(--cal-32);border:0}
.qm-footer__bottom a:hover{color:var(--areia)}
.qm-footer__legal{display:flex;gap:var(--sp-5);flex-wrap:wrap}
.qm-newsletter{display:flex;gap:var(--sp-3);flex-wrap:wrap}
.qm-newsletter input[type=email]{flex:1;min-width:180px;min-height:44px;background:transparent;border:1px solid var(--cal-32);color:var(--cal);padding:0 var(--sp-4);font:var(--type-small)}
.qm-newsletter .qm-check{grid-column:1/-1;color:var(--cal-56);flex-basis:100%}

/* ——— Page content (core blocks) ——— */
.qm-content>*{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--gutter)}
.qm-content>.alignfull,.qm-content>[class*="wp-block-qm-"],.qm-content>.qm-block{max-width:none;padding-inline:0}
.qm-content>p,.qm-content>ul,.qm-content>ol,.qm-content>h2,.qm-content>h3{max-width:calc(var(--measure-prose) + var(--gutter) * 2);margin-bottom:var(--sp-5)}
.qm-content>h2{margin-top:var(--sp-8)}
.qm-content>:first-child:not(.qm-block){margin-top:var(--sp-9)}
.qm-content>:last-child:not(.qm-block){margin-bottom:var(--sp-9)}
.qm-prose-page{max-width:var(--page-max);margin:0 auto;padding:var(--section-y) var(--gutter)}
.qm-prose-page .qm-body{max-width:var(--measure-prose)}

/* ——— Leaflet sizing ——— */
.leaflet-control-attribution{font-size:10px}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1320px){.qm-nav,.qm-nav ul{gap:var(--sp-6)}}
@media (max-width:1100px){
.qm-nav ul{gap:18px}
.qm-grid--4,.qm-gallery,.qm-team{grid-template-columns:repeat(2,minmax(0,1fr))}
.qm-results--split{grid-template-columns:1fr}
.qm-results--split .qm-map{position:relative;top:0;height:60vh}
.qm-results--units .qm-map{order:-1;height:48vh;min-height:320px}
}
@media (max-width:900px){
:root{--gutter:var(--sp-6)}
.qm-section{padding-block:var(--sp-9)}
.qm-cols--intro,.qm-cols--half,.qm-cols--form,.qm-account,.qm-distance-cols,.qm-dialog__pane,.qm-footer__top,.qm-footer__cols,.qm-grid--2,.qm-grid--3,.qm-plans,.qm-siteplan__foot{grid-template-columns:minmax(0,1fr)}
.qm-cols{gap:var(--sp-7)}
.qm-headrow{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;gap:var(--sp-6)}
.qm-hero__row{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
.qm-hero,.qm-hero--unit{height:100vh;height:100svh;min-height:0}
.qm-imageband{height:46vh}
.qm-facts{flex-wrap:wrap;justify-content:flex-start;column-gap:var(--sp-7);row-gap:var(--sp-5)}
.qm-facts__sep{display:none}
.qm-statrow{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6) 0}
.qm-statrow>div:nth-child(3){padding-left:0;border-left:0}
.qm-btnrow{display:grid;grid-template-columns:minmax(0,1fr)}
.qm-btnrow>*{width:100%}
.qm-nav ul,.qm-nav .qm-lang-slot,.qm-header .qm-fav-link span:not(.qm-icon){display:none}
.qm-burger{display:grid}
.qm-header__logo img{width:184px}
.qm-row2{grid-template-columns:1fr}
.qm-form__panel{padding:var(--sp-5)}
.qm-dialog{padding:0}
.qm-dialog__box{max-height:100vh;height:100%;padding:var(--sp-6)}
.qm-counts{flex-wrap:wrap}
.qm-schedule{min-width:720px}
.qm-timeline>div{grid-template-columns:auto 1fr}
.qm-timeline__what{grid-column:2}
}
@media (max-width:600px){
.qm-grid--4,.qm-gallery,.qm-team,.qm-systems{grid-template-columns:minmax(0,1fr)}
.qm-filters{grid-template-columns:minmax(0,1fr);padding:var(--sp-5)}
}
@media print{.qm-header,.qm-footer,.qm-menu,.qm-dialog,.qm-fav{display:none!important}}
