/* Catalog styles own their layout without changing legacy property workflows. */
.models-portal{--mp-ink:#173443;--mp-muted:#526772;--mp-line:#d5e1e2;--mp-accent:#176655;max-width:1240px;margin:0 auto;padding:calc(var(--mp-header-height,120px) + 22px) 24px 64px;color:var(--mp-ink);font-family:inherit;font-size:16px;line-height:1.8;text-align:right}
.models-portal *{box-sizing:border-box}
.models-portal h1,.models-portal h2,.models-portal h3,.models-portal h4{line-height:1.5;color:var(--mp-ink);margin:0 0 12px;float:none;height:auto;width:auto}
.models-portal h1{font-size:clamp(26px,3vw,36px)}
.models-portal h2{font-size:23px}.models-portal h3{font-size:20px}
.models-portal p{margin:0 0 14px}
.models-portal a{color:var(--mp-accent);text-decoration:none}
.models-portal a:hover{text-decoration:underline}
.models-portal button,.models-portal input,.models-portal select{font:inherit}
.models-portal button,.models-portal summary{cursor:pointer}
.models-portal :is(button,a,input,select,summary):focus-visible{outline:3px solid #a86d16;outline-offset:3px}
.models-portal [hidden]{display:none!important}
.mp-breadcrumbs,.mp-actions,.mp-pills{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.mp-breadcrumbs{font-size:14px;color:var(--mp-muted);margin-bottom:18px}
.mp-breadcrumbs a+a:before{content:' / ';color:#687b82;margin-left:10px}
.mp-intro{position:static!important;display:block!important;background:#edf5f2;border:1px solid var(--mp-line);border-radius:18px;padding:24px;margin:0 0 26px;box-shadow:none!important;height:auto!important;width:auto!important}
.mp-intro>p{max-width:850px;color:var(--mp-muted)}
.mp-eyebrow{font-size:15px;color:var(--mp-accent)}
.mp-actions{margin-top:16px}
.mp-button,.mp-pills a{display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:10px;border:1px solid var(--mp-line);padding:10px 16px;min-height:46px;background:white;line-height:1.6}
.models-portal .mp-button{background:var(--mp-accent);color:white;border:1px solid var(--mp-accent);font-weight:600}
.models-portal .mp-secondary{background:white;color:var(--mp-accent);border-color:#a8c5bc}
.models-portal .mp-button:hover{background:#104c3f;color:white;text-decoration:none}
.models-portal .mp-secondary:hover{background:#e4f0eb;color:#104c3f}
.mp-pills{margin:0 0 22px}.mp-pills a{font-size:15px}
.mp-pills a[aria-current]{background:var(--mp-accent);color:white;border-color:var(--mp-accent)}
.mp-pills a:hover{border-color:var(--mp-accent);text-decoration:none}
.mp-pills small{padding:0 5px;border-radius:5px;background:#edf5f2;color:#173443}
.mp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:20px;margin:18px 0 30px}
.mp-card{border:1px solid var(--mp-line);border-radius:16px;overflow:hidden;background:white;min-width:0}
.mp-card:not(.mp-unit)>a{display:block;height:100%;color:inherit}
.mp-card:not(.mp-unit)>a:hover{text-decoration:none;background:#f7faf8}
.mp-card img{display:block;width:100%;height:190px;object-fit:contain;background:#f5f8f6}
.mp-card-body,.mp-unit{padding:20px}
.mp-card-body>span,.mp-counts{font-size:14px;color:var(--mp-muted)}
.mp-card-body>p{font-size:15px}.mp-card-action{display:flex;justify-content:space-between;gap:10px;color:var(--mp-accent);font-size:15px;margin-top:18px}
.mp-note{padding:22px;border:1px solid var(--mp-line);border-radius:16px;background:#f5f8f6;margin:24px 0}
.mp-model-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;margin:10px 0}
.mp-model-summary strong{font-size:clamp(22px,2.6vw,30px)}
.mp-catalog-context{font-size:14px}
.mp-floor,.mp-extra-plans{border:1px solid var(--mp-line);border-radius:16px;margin:16px 0;background:white;scroll-margin-top:calc(var(--mp-header-height,120px) + 16px)}
.mp-floor>summary,.mp-extra-plans>summary{display:flex;align-items:center;gap:12px;padding:18px 20px;list-style:none;border-radius:16px;font-weight:600;background:#f5f8f6}
.mp-floor>summary h2{font-size:21px;margin:0;flex:1}
.mp-floor>summary>span:not(.mp-chevron){font-size:14px;font-weight:400;color:var(--mp-muted)}
.mp-chevron{display:inline-block;width:9px;height:9px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 4px 4px;transition:transform .15s}
:is(.mp-floor,.mp-spaces,.mp-extra-plans,.mp-finder-advanced)[open]>summary>.mp-chevron{transform:rotate(225deg);margin-bottom:-3px}
.models-portal summary::-webkit-details-marker{display:none}
.models-portal summary::marker{content:''}
.mp-floor-plan{display:flex;flex-direction:column;align-items:center;text-align:center;margin:20px;background:#fafbf9;border:1px solid var(--mp-line);border-radius:12px;overflow:hidden}
.mp-floor-plan img{display:block;width:auto;max-width:100%;height:auto;max-height:500px;object-fit:contain;margin:14px auto}
.mp-floor-plan:hover{text-decoration:none!important;border-color:var(--mp-accent)}
.mp-plan-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 18px;background:var(--mp-accent);color:white;width:100%;font-weight:700;font-size:17px}
.mp-zoom-icon{font-size:24px;line-height:1}
.mp-plan-hint{font-weight:400;font-size:14px;margin-inline-start:10px}
.mp-floor-plan:hover .mp-plan-toolbar{background:#104c3f}
.mp-units{align-items:start;margin:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))}
.mp-unit{scroll-margin-top:calc(var(--mp-header-height,120px) + 18px)}
.mp-unit:target{outline:3px solid #a86d16;outline-offset:3px}
.mp-unit .mp-area{font-size:25px;font-weight:700;color:var(--mp-accent);margin-bottom:10px}
.mp-unit>p{font-size:15px}
.mp-features{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.mp-features:empty{display:none}
.mp-feature{display:inline-block;padding:3px 10px;background:#edf5f2;color:#234a3e;border-radius:7px;font-size:14px}
.mp-spaces>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:12px;background:#eaf3ef;color:#145340;border:1px solid #bed3c9;border-radius:9px;font-weight:600;font-size:15px;line-height:1.6;list-style:none}
.mp-spaces>summary:hover{background:#deece5}
.mp-spaces .mp-when-open,.mp-spaces[open] .mp-when-closed{display:none}
.mp-spaces[open] .mp-when-open{display:inline}
.mp-spaces table{border-collapse:collapse;width:100%;font-size:14px;margin-top:12px}
.mp-spaces th,.mp-spaces td{padding:10px 4px;border-bottom:1px solid var(--mp-line);text-align:right}
.mp-spaces thead th{background:#f5f8f6;font-weight:700;color:var(--mp-muted)}
.mp-spaces tbody th{font-weight:400}
.mp-spaces td,.mp-spaces thead th:last-child{text-align:left}
.mp-spaces bdi{display:inline-block;max-width:100%;overflow-wrap:anywhere}
.mp-empty-spaces{color:var(--mp-muted);font-size:14px}
.mp-extra-plans>summary{justify-content:space-between}
.mp-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;padding:18px}
.mp-plan{display:flex;flex-direction:column;gap:8px;text-align:center;border:1px solid var(--mp-line);border-radius:12px;padding:14px;background:white}
.mp-plan img{width:100%;height:180px;object-fit:contain}
.mp-plan span{font-size:15px}.mp-plan b{font-size:15px}
.mp-offers,#mp-results{scroll-margin-top:calc(var(--mp-header-height,120px) + 18px);margin-top:32px}
.mp-faq summary{min-height:44px;font-weight:600;padding:10px 0}
.mp-finder{padding:22px;background:#f0f5f2;border:1px solid var(--mp-line);border-radius:16px}
.mp-finder-basic,.mp-finder-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px}
.mp-finder label,.mp-search label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:15px}
.mp-finder input,.mp-finder select,.mp-search input{display:block;width:100%;min-width:0;min-height:48px;padding:10px;background:white;border:1px solid #a8bdb7;border-radius:9px;color:var(--mp-ink)}
.mp-finder input[type=hidden]{display:none}
.mp-finder-advanced{margin:20px 0}
.mp-finder-advanced>summary{display:flex;align-items:center;gap:16px;min-height:46px;font-weight:600;color:var(--mp-accent);list-style:none}
.mp-finder-fields{padding:14px 0}
.mp-finder-actions{display:flex;flex-wrap:wrap;gap:12px}
.mp-results-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.mp-results-head p{color:var(--mp-muted);font-size:14px;margin:0}
.mp-export{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.mp-result-location{color:var(--mp-muted)}
.mp-dialog{padding:22px;border:1px solid var(--mp-line);border-radius:18px;color:var(--mp-ink);background:white;max-width:calc(100vw - 24px);max-height:92dvh}
.mp-dialog::backdrop{background:#10212ee6}
.mp-dialog:not([open]){display:none}
.mp-dialog button{border:1px solid #a8bdb7;background:#edf5f2;color:#173443;border-radius:9px;padding:8px 12px;min-height:44px}
.mp-dialog button:hover{background:#dcebe4}
.mp-search{width:640px}
.mp-search a{display:block;padding:12px;border-bottom:1px solid var(--mp-line)}
.mp-search .mp-close{margin-bottom:16px}
.mp-search-fallback{font-weight:600}
.mp-lightbox[open]{display:flex;flex-direction:column;width:min(1200px,96vw);height:92dvh;overflow:hidden}
.mp-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;flex:none}
.mp-tools .mp-viewer-close{background:#173443;color:white;margin-inline-end:auto}
.mp-image-stage{flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;touch-action:none;margin-top:14px;background:#f5f8f6}
.mp-image-stage img{max-width:100%;max-height:100%;object-fit:contain;user-select:none;transform-origin:center}
.mp-viewer-info{flex:none;padding-top:10px}
.mp-lightbox .mp-viewer-info p{font-size:14px;margin:0 0 4px;line-height:1.6}
.mp-viewer-help{color:var(--mp-muted)}
.mp-property-link{padding:14px 20px;margin:12px 0;background:#edf5f2;border-radius:10px;display:inline-block;color:#176655!important}
@media(max-width:600px){
    .models-portal{padding-inline:12px;padding-bottom:40px;padding-top:calc(var(--mp-header-height,120px) + 16px)}
    .mp-intro{padding:18px;margin-bottom:22px}
    .mp-intro .mp-actions{gap:8px}
    .mp-intro kbd{display:none}
    .mp-page-model .mp-intro h1{font-size:29px;margin-bottom:6px}
    .mp-page-model .mp-intro .mp-actions{flex-direction:column;align-items:stretch}
    .mp-page-model .mp-intro .mp-button{font-size:14px}
    .mp-model-summary{gap:6px 14px}.mp-model-summary strong{font-size:23px}
    .mp-grid{gap:14px}
    .mp-pills{gap:8px}.mp-pills a{padding:8px 12px;font-size:14px}
    .mp-floor-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:4px 3px 10px;scrollbar-width:thin}
    .mp-floor-nav a{flex:none}
    .mp-floor>summary{padding:14px 12px;flex-wrap:wrap;gap:6px 10px}
    .mp-floor>summary h2{font-size:20px;min-width:130px}
    .mp-floor>summary>span:not(.mp-chevron){font-size:13px}
    .mp-floor-plan{margin:12px}.mp-floor-plan img{margin:8px auto}
    .mp-plan-toolbar{font-size:16px;min-height:50px;padding:10px}
    .mp-plan-hint{display:none}
    .mp-units{margin:14px 12px;gap:12px}
    .mp-unit{padding:18px}
    .mp-spaces>summary{font-size:15px}
    .mp-gallery{grid-template-columns:1fr;padding:12px}
    .mp-finder{padding:16px}.mp-finder-basic{grid-template-columns:1fr}
    .mp-finder-actions>*{flex:1}
    .mp-dialog{padding:14px}
    .mp-lightbox[open]{inset:0;margin:0;border:0;border-radius:0;width:100vw;height:100dvh;max-width:none;max-height:none;padding:12px 10px max(12px,env(safe-area-inset-bottom))}
    .mp-tools{gap:6px}.mp-tools button{font-size:14px;padding:8px}
    .mp-tools [data-mp-scale]{font-size:14px}
    .mp-viewer-info [data-mp-caption]{font-weight:600}
}
@media(prefers-reduced-motion:reduce){.mp-chevron{transition:none}}
