/* PORTLAND: owner review, image-led scenes and direct controls. */
.catalog-summary{display:flex;align-items:baseline;gap:28px;padding:0 0 25px}.catalog-summary strong{font:400 30px/1.2 var(--font-display)}.catalog-summary span{font-size:12px;color:#74675d}.catalog-controls{display:grid;grid-template-columns:auto 1fr auto;gap:24px 32px;align-items:end}.catalog-controls [data-ranges]{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;width:100%;padding-top:8px}.catalog-controls .sort-label{justify-self:end}.catalog-controls>[data-reset]{justify-self:end}.range-slider{border:0;padding:0;margin:0;min-width:0;display:block}.range-slider legend{font-size:12px;padding:0;margin-bottom:13px}.range-slider .range-values{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:16px;font-variant-numeric:tabular-nums}.range-values>span{color:#a79c91}.range-slider .range-track{height:40px;position:relative;margin-top:9px;display:block}.range-track:before,.range-fill{content:'';position:absolute;height:2px;left:0;right:0;top:19px;background:#d2c5b8}.range-fill{left:var(--lo);right:calc(100% - var(--hi));background:var(--ink)}.range-slider .range-track input{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:40px;background:none;padding:0;margin:0;border:0;pointer-events:none;outline:none}.range-track input::-webkit-slider-runnable-track{background:none;height:2px}.range-track input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:19px;height:19px;border:1px solid var(--ink);background:var(--paper);border-radius:50%;margin-top:-8.5px;pointer-events:auto;cursor:grab;box-shadow:0 0 0 6px transparent}.range-track input::-moz-range-track{background:none;height:2px}.range-track input::-moz-range-thumb{width:19px;height:19px;border:1px solid var(--ink);background:var(--paper);border-radius:50%;pointer-events:auto;cursor:grab}.range-track input:focus-visible::-webkit-slider-thumb{outline:2px solid #a17853;outline-offset:4px}.range-track input:active::-webkit-slider-thumb{cursor:grabbing;background:var(--ink)}.catalog-top p{font-size:14px}.brochure-scene{position:relative;display:flex;align-items:center;min-height:790px;isolation:isolate;background:var(--paper);overflow:hidden}.brochure-photo{position:absolute;inset:0;z-index:-1;display:block;mask-image:linear-gradient(to right,transparent 12%,#000 53%)}.brochure-photo img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block}.brochure-copy{max-width:43%;padding:25px 0}.brochure-copy h2{font-size:clamp(54px,5.3vw,82px)}.brochure-copy p{max-width:390px}.brochure-copy>small{display:block;margin-top:18px}.mortgage{position:relative;isolation:isolate;display:flex;align-items:center;min-height:820px;overflow:hidden;background:var(--paper)}.mortgage>div{max-width:42%;padding:30px 0;position:relative;z-index:1}.mortgage>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;mask-image:linear-gradient(to right,transparent 22%,#000 58%)}.mortgage h2{font-size:clamp(54px,5.2vw,82px)}.mortgage>div p{max-width:405px}.final-contact{grid-template-columns:1fr 1.08fr;gap:7vw;align-items:stretch;padding-top:100px;padding-bottom:100px}.final-contact h2{font-size:clamp(48px,4.6vw,72px);line-height:1.04;margin-bottom:23px}.final-contact>div>p{font-size:14px;line-height:1.6;max-width:480px;margin-bottom:25px}.final-image img{height:100%;min-height:920px;object-fit:cover;object-position:center}.final-form.request-dialog{color:var(--paper);background:none;padding:0;margin:0;width:100%;max-width:none;max-height:none;overflow:visible}.final-form form{margin-top:0;gap:15px}.final-form form>label{font-size:12px}.final-form form input:not([type=checkbox]):not([type=radio]),.final-form form textarea{color:var(--paper);border-color:#ffffff45;background:#ffffff03;min-height:46px}.final-form form textarea{height:65px}.final-form input::placeholder{color:#c4b6a7}.final-form .black-atlas-lead-contact__options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.final-form .black-atlas-lead-contact__options label{padding:11px 8px;border:1px solid #ffffff45;display:flex;align-items:center;gap:5px;justify-content:center;font-size:11px;cursor:pointer}.final-form .black-atlas-lead-contact__options label:has(:checked){background:var(--paper);color:var(--ink)}.final-form input[type=radio],.final-form input[type=checkbox]{accent-color:#ae886b}.final-form [data-lead-submit]{background:var(--paper);color:var(--ink);height:56px;margin-top:5px}.final-contact .contact-phone{font-size:30px;margin:23px 0 7px}.final-form .black-atlas-lead-success{color:var(--ink)}.footer-grid summary:after{display:none}.footer-grid summary{cursor:default}.site-footer .footer-legal{border-top:0}.site-footer .footer-head{border-bottom:0}.footer-grid{padding-top:25px}.hero-media{inset:-16px;transform:translate3d(var(--hero-x,0px),var(--hero-y,0px),0);will-change:transform}.hero-media img{animation:none;transform:none}.motion-ready [data-reveal]{transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1)}.motion-ready [data-reveal]:not(.is-revealed){opacity:0;transform:translateY(25px)}.motion-ready [data-reveal].is-revealed{opacity:1;transform:none}
@media(max-width:1100px){.brochure-scene{min-height:720px}.mortgage{min-height:730px}.brochure-copy{max-width:46%}.mortgage>div{max-width:45%}.catalog-controls [data-ranges]{gap:32px}.final-contact{gap:5vw}.final-image img{min-height:900px}.final-form .black-atlas-lead-contact__options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.catalog-summary{display:block;padding-bottom:20px}.catalog-summary strong{display:block;font-size:26px}.catalog-summary span{display:block;margin-top:8px;font-size:11px}.catalog-controls{grid-template-columns:1fr 1fr;gap:20px}.catalog-controls .room-options{grid-column:1/-1}.catalog-controls [data-ranges]{grid-row:2;grid-template-columns:1fr;gap:20px}.catalog-controls .sort-label{width:auto;justify-self:start;min-width:0}.catalog-top p{font-size:12px}.range-slider .range-values{font-size:15px}.range-slider legend{margin-bottom:8px}.range-slider .range-track{margin-top:3px;height:38px}.range-track input::-webkit-slider-thumb{width:23px;height:23px;margin-top:-10.5px}.brochure-scene{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:0}.brochure-photo{position:relative;inset:auto;z-index:0;margin:0 calc(-1*var(--gutter));height:360px;mask-image:linear-gradient(to bottom,#000 82%,transparent 100%);order:-1}.brochure-photo img{object-position:63% center}.brochure-copy{max-width:none;padding:5px 0 0}.brochure-copy h2{font-size:46px}.mortgage{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding-top:0}.mortgage>img{position:relative;inset:auto;z-index:0;margin:0 calc(-1*var(--gutter));width:calc(100% + 2*var(--gutter));height:500px;object-position:76% center;mask-image:linear-gradient(to bottom,#000 85%,transparent 100%);order:-1}.mortgage>div{max-width:none;padding:15px 0 0}.mortgage h2{font-size:46px}.final-contact{grid-template-columns:1fr;padding-top:0}.final-image{margin:0 calc(-1*var(--gutter));height:520px}.final-image img{height:100%;min-height:0;object-position:center 40%}.final-contact h2{font-size:46px}.final-form .black-atlas-lead-contact__options{grid-template-columns:repeat(2,1fr)}.footer-grid details{border:0}.hero-media{will-change:auto}}
@media(prefers-reduced-motion:reduce){.hero-media{transform:none!important;will-change:auto}.motion-ready [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}}
@media(min-width:721px){.brochure-photo{mask-image:linear-gradient(to right,transparent 12%,#000 53%),linear-gradient(to bottom,transparent 0,#000 100px);mask-composite:intersect}.mortgage>img{mask-image:linear-gradient(to right,transparent 22%,#000 58%),linear-gradient(to bottom,transparent 0,#000 100px);mask-composite:intersect}}
/* Graphite opening: CSS-only exit also works when JavaScript is unavailable. */
.opening{position:fixed;inset:0;z-index:10000;pointer-events:none;animation:opening-away 1ms 2s forwards}
.curtain{position:absolute;top:0;bottom:0;width:50.05%;background:#2c2e2e;will-change:transform;animation:curtain-left 1.2s .65s cubic-bezier(.76,0,.24,1) forwards}
.curtain-left{left:0}.curtain-right{right:0;animation-name:curtain-right}
.opening-word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#eee8de;font-family:Georgia,serif;font-size:clamp(36px,6vw,88px);letter-spacing:.16em;animation:opening-word .6s .55s ease forwards}
.opening-word small{font:10px Arial,sans-serif;letter-spacing:.32em;margin-top:24px}
@keyframes curtain-left{to{transform:translateX(-101%)}}@keyframes curtain-right{to{transform:translateX(101%)}}@keyframes opening-word{to{opacity:0;transform:translateY(-10px)}}@keyframes opening-away{to{visibility:hidden}}
.original-plan{display:grid;justify-items:center;gap:24px}.original-plan>img{width:100%;height:460px;object-fit:contain}
.final-image{display:flex;flex-direction:column}.final-image>img{flex:1;min-height:0}
.final-image .sources{background:transparent;color:#bdb3a5;padding:26px 0 0;font-size:12px;line-height:1.7;width:100%}.final-image .sources summary{color:#c9beaf;font-size:12px}.final-image .sources p{font-size:12px;max-width:none}.final-image .sources a{color:inherit}
@media(prefers-reduced-motion:reduce){.opening{display:none}}
@media(max-width:720px){.original-plan>img{height:320px}.final-image>img{flex:none}}
.plan-compare,.original-plan{position:relative}
.original-plan{background:#fff;padding-bottom:18px}
.plan-compare>.round-button,.original-plan>.round-button{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:58px;height:58px;border:1px solid #b7a795;border-radius:50%;background:#f3ede4;color:#302a26;font-size:27px;display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s}
.plan-compare>[data-prev],.original-plan>[data-prev]{left:-29px}
.plan-compare>[data-next],.original-plan>[data-next]{right:-29px}
.plan-compare>.round-button:hover:not(:disabled),.original-plan>.round-button:hover:not(:disabled){background:#302a26;color:#fff}
.plan-compare>.round-button:disabled,.original-plan>.round-button:disabled{opacity:.35;cursor:default}
.round-button:focus-visible{outline:2px solid #302a26;outline-offset:4px}
@media(max-width:720px){.plan-compare>.round-button,.original-plan>.round-button{width:44px;height:44px;font-size:23px}.plan-compare>[data-prev],.original-plan>[data-prev]{left:-12px}.plan-compare>[data-next],.original-plan>[data-next]{right:-12px}}
