/* A restrained architectural collection, with uncropped imagery. */
.portfolio-scroll-story,.portfolio-stage{background:#eeede7}
.portfolio-stage{padding-top:25px;padding-bottom:24px;justify-content:center}
.portfolio-stage .portfolio-luxury-heading{position:relative;align-items:center;gap:6%;padding-bottom:26px;margin-bottom:22px;border-bottom:1px solid #bab6a33b;margin-inline:7%;padding-inline:0}
.portfolio-luxury-heading .eyebrow{font-size:9px!important;color:#95815a;letter-spacing:2.4px}
.portfolio-stage .portfolio-luxury-heading h2{font-size:clamp(40px,4.4vw,66px);letter-spacing:-.045em;line-height:.98;font-weight:300;margin-top:18px}
.portfolio-stage .portfolio-luxury-heading h2 br{display:block}
.portfolio-luxury-heading h2 em{color:#9b8965;font-style:normal;font-weight:300}
.portfolio-editorial-note{max-width:360px;align-self:end;padding-bottom:7px}
.portfolio-gold-rule{display:block;width:45px;height:1px;background:#a18a5b;margin-bottom:18px}
.portfolio-stage .portfolio-editorial-note p{max-width:none;font-size:12px;line-height:1.9;color:#777b6c;margin:0}
.portfolio-scroll-note{display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:1.5px;color:#96937f;margin-top:22px}
.portfolio-scroll-note>span{font-size:18px;color:#99845b}
.portfolio-signature{position:absolute;inset-inline-end:0;top:0;font-size:8px;letter-spacing:2px;color:#aba58e}
.portfolio-stage .portfolio-track{gap:36px}
.portfolio-stage .portfolio-entry{background:#f6f5f0;border:1px solid #c9c5b64d;box-shadow:none;padding-bottom:66px;transition:border-color .6s,box-shadow .6s}
.portfolio-stage .portfolio-entry.is-active{border-color:#ae9977;box-shadow:0 15px 22px -20px #34382b66}
.portfolio-stage .portfolio-visual{inset:8px 8px 66px;background:#f6f5f0}
.portfolio-stage .portfolio-caption{bottom:18px;inset-inline:22px;align-items:center;gap:17px}
.portfolio-stage .portfolio-caption>div{flex:1}
.portfolio-card-index{font-size:10px;color:#a09172;border-inline-end:1px solid #cdc7b8;padding-inline-end:17px;letter-spacing:1px}
.portfolio-stage .portfolio-caption h3{font-size:clamp(23px,2vw,30px);font-weight:300;letter-spacing:-.025em}
.portfolio-stage .portfolio-open{border-color:#b3a89180;color:#88764f;font-size:17px;width:32px;height:32px}
.portfolio-stage .portfolio-controls{margin-top:4px}
.portfolio-stage .portfolio-count{font-size:10px;color:#9b9684}.portfolio-stage .portfolio-count strong{color:#736449}
.portfolio-stage .portfolio-count:after{width:110px;height:1px}
.portfolio-stage .portfolio-nav button{height:35px;width:35px;color:#80765f;border-color:#bcb6a580;font-size:16px}.portfolio-stage .portfolio-nav button:hover{background:#80765f;color:#fff}
.portfolio-stage .portfolio-controls>a{font-size:10px;letter-spacing:.4px;border-color:#a8997b;color:#776f5c}
@media(max-height:760px) and (min-width:751px){.portfolio-stage .portfolio-luxury-heading h2{font-size:43px}.portfolio-stage .portfolio-luxury-heading{padding-bottom:18px;margin-bottom:16px}.portfolio-scroll-note{margin-top:12px}.portfolio-gold-rule{margin-bottom:12px}}
@media(max-width:750px){.portfolio-stage{padding-top:18px;padding-bottom:18px}.portfolio-stage .portfolio-luxury-heading{display:flex;align-items:end;gap:20px;margin-bottom:18px;padding-bottom:20px}.portfolio-stage .portfolio-luxury-heading h2{font-size:39px;line-height:1.02;margin-top:14px}.portfolio-luxury-heading .eyebrow{font-size:8px!important;letter-spacing:1.5px}.portfolio-editorial-note{max-width:130px;padding:0}.portfolio-gold-rule{width:28px;margin-bottom:14px}.portfolio-stage .portfolio-editorial-note p{display:none}.portfolio-scroll-note{font-size:7px;letter-spacing:.5px;line-height:1.8;gap:8px;margin-top:0}.portfolio-signature{display:none}.portfolio-stage .portfolio-track{gap:20px}.portfolio-stage .portfolio-caption{inset-inline:15px;gap:12px}.portfolio-card-index{padding-inline-end:12px}.portfolio-stage .portfolio-caption h3{font-size:25px}.portfolio-stage .portfolio-count:after{width:45px}}
@media(prefers-reduced-motion:reduce){.portfolio-stage .portfolio-entry{transition:none}}
/* Open image plates and an editorial caption replace the boxed cards. */
.portfolio-stage .portfolio-entry,.portfolio-stage .portfolio-entry.is-active{border:0;background:transparent;box-shadow:none;overflow:visible;padding-bottom:72px}
.portfolio-stage .portfolio-visual{inset:0 0 72px;background:transparent;overflow:hidden}
.portfolio-stage .portfolio-entry .portfolio-visual img{background:transparent;object-fit:contain}
.portfolio-stage .portfolio-caption{inset-inline:0;bottom:8px;padding-top:17px;border-top:1px solid #aaa58f55;gap:20px;align-items:center;transition:border-color .5s}
.portfolio-stage .portfolio-entry.is-active .portfolio-caption{border-color:#9a8254}
.portfolio-card-index{border:0;padding:0;font-size:10px;align-self:center;color:#9e9787;min-width:22px}
.portfolio-stage .portfolio-caption h3{font-size:clamp(25px,2.3vw,35px);letter-spacing:-.035em;color:#344035;line-height:1.15}
.portfolio-stage .portfolio-open{border:0;border-radius:0;background:transparent!important;width:36px;height:36px;color:#8c7b58!important;font-size:25px;transform:none;transition:translate .4s}
.portfolio-stage .portfolio-entry:hover .portfolio-open{transform:none;translate:4px -4px}
.portfolio-stage .portfolio-entry:focus-visible{outline:1px solid #9a8254;outline-offset:8px}
@media(max-width:750px){.portfolio-stage .portfolio-caption{gap:14px;padding-top:14px}.portfolio-stage .portfolio-caption h3{font-size:27px}.portfolio-stage .portfolio-open{font-size:23px}}
@media(prefers-reduced-motion:reduce){.portfolio-stage .portfolio-caption,.portfolio-stage .portfolio-open{transition:none}}
/* Asymmetric pairs, with each project's name beside its image. */
.portfolio-paired{height:330vh}
.portfolio-paired .portfolio-track{gap:7vw;padding-inline-end:7vw}
.portfolio-pair{flex:0 0 86vw;display:grid;grid-template-columns:1.44fr 1fr;gap:35px;align-items:start;height:var(--pair-height,350px)}
.portfolio-stage .portfolio-pair .portfolio-entry{width:auto;min-width:0;height:var(--pair-height,350px);padding:0;display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:17px;overflow:hidden;align-items:center;background:transparent;border:0;box-shadow:none}
.portfolio-stage .portfolio-pair .portfolio-entry:nth-child(2){height:calc(var(--pair-height,350px)*.74);margin-top:calc(var(--pair-height,350px)*.18)}
.portfolio-pair:first-child .portfolio-entry:nth-child(2){opacity:calc(1 - var(--pair-intro,0));transition:none}
.portfolio-stage .portfolio-pair .portfolio-visual{position:relative;inset:auto;width:100%;height:100%;background:transparent}
.portfolio-stage .portfolio-pair .portfolio-caption{position:relative;inset:auto;border:0;border-inline-start:1px solid #afa48a60;padding:0;padding-inline-start:16px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:17px;height:auto;opacity:1;transform:none}
.portfolio-stage .portfolio-pair .portfolio-caption>div{flex:0}
.portfolio-stage .portfolio-pair .portfolio-card-index{font-size:10px;align-self:flex-start;padding:0}
.portfolio-stage .portfolio-pair .portfolio-caption h3{font-size:clamp(23px,2vw,31px);line-height:1.2;max-width:90px}
.portfolio-stage .portfolio-pair .portfolio-open{font-size:25px;width:28px;height:28px;place-items:start}
.portfolio-stage .portfolio-pair .portfolio-entry.is-active .portfolio-caption{border-color:#9a8254}
@media(max-width:750px){.portfolio-paired{height:320vh}.portfolio-pair{gap:18px;grid-template-columns:1.2fr 1fr}.portfolio-stage .portfolio-pair .portfolio-entry{display:flex;flex-direction:column;align-items:stretch;gap:12px;height:var(--pair-height,310px)}.portfolio-stage .portfolio-pair .portfolio-visual{height:calc(100% - 90px);min-height:0}.portfolio-stage .portfolio-pair .portfolio-caption{border-inline-start:0;border-top:1px solid #afa48a60;padding:10px 0 0;display:grid;grid-template-columns:1fr 22px;gap:5px;height:78px}.portfolio-stage .portfolio-pair .portfolio-card-index{display:none}.portfolio-stage .portfolio-pair .portfolio-caption h3{font-size:21px;max-width:none}.portfolio-stage .portfolio-pair .portfolio-open{font-size:22px;width:22px}.portfolio-stage .portfolio-pair .portfolio-entry:nth-child(2){height:calc(var(--pair-height,310px)*.85);margin-top:calc(var(--pair-height,310px)*.13)}.portfolio-pair:first-child .portfolio-entry:nth-child(2){opacity:1}}
@media(prefers-reduced-motion:reduce){.portfolio-paired{height:330vh}}@media(max-width:750px) and (prefers-reduced-motion:reduce){.portfolio-paired{height:320vh}}
/* A cinematic architectural gallery with a clear large/small hierarchy. */
.portfolio-paired,.portfolio-paired .portfolio-stage{background:#252c28;color:#f1eee4}
.portfolio-paired .portfolio-stage{padding-top:28px;padding-bottom:28px}
.portfolio-paired .portfolio-luxury-heading{border-bottom-color:#d3c9aa22;margin-bottom:20px;padding-bottom:22px}
.portfolio-paired .portfolio-luxury-heading h2{font-size:clamp(40px,4.1vw,62px);color:#f2eee4;line-height:1.03}
.portfolio-paired .portfolio-luxury-heading h2 em{color:#b8a67f}
.portfolio-paired .portfolio-luxury-heading .eyebrow{color:#b8a67f}
.portfolio-paired .portfolio-editorial-note p{color:#c1c3b7}
.portfolio-paired .portfolio-signature,.portfolio-paired .portfolio-scroll-note{color:#9b9e8e}
.portfolio-paired .portfolio-scroll-note>span{color:#bdab85}
.portfolio-paired .portfolio-pair{grid-template-columns:1.78fr 1fr;position:relative;isolation:isolate;gap:35px}
.portfolio-paired .portfolio-pair:before{content:attr(data-scene);position:absolute;inset-inline-end:0;bottom:0;font-size:clamp(120px,16vw,230px);font-weight:300;color:#ede6d40a;line-height:.85;letter-spacing:-.07em;z-index:-1;pointer-events:none}
.portfolio-paired .portfolio-pair .portfolio-entry{grid-template-columns:minmax(0,1fr) 112px;gap:24px;align-items:center}
.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){grid-template-columns:minmax(0,1fr) 85px;gap:17px;height:calc(var(--pair-height,350px)*.8);margin-top:calc(var(--pair-height,350px)*.16)}
.portfolio-paired .portfolio-pair .portfolio-visual{display:flex;align-items:center;justify-content:center;height:100%;overflow:visible}
.portfolio-paired .portfolio-pair .portfolio-visual img{width:100%;height:auto!important;max-height:100%;object-fit:contain!important;box-shadow:0 15px 32px #00000020}
.portfolio-paired .portfolio-pair .portfolio-caption{border-color:#b4a37c45;gap:20px;padding-inline-start:18px}
.portfolio-paired .portfolio-pair .portfolio-caption h3{color:#f0ece1;font-size:clamp(25px,2.4vw,35px);font-weight:300;letter-spacing:-.025em;max-width:none}
.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2) .portfolio-caption h3{font-size:clamp(23px,1.8vw,29px)}
.portfolio-paired .portfolio-card-index{color:#b6a57f;font-size:9px;letter-spacing:2px}
.portfolio-paired .portfolio-pair .portfolio-open{color:#c3b28b!important;font-size:27px}
.portfolio-paired .portfolio-controls{padding-top:10px;border-top:1px solid #d3c9aa22}
.portfolio-paired .portfolio-count,.portfolio-paired .portfolio-count strong{color:#c4b28d}
.portfolio-paired .portfolio-count:after{background:linear-gradient(to right,#baa77f calc(var(--portfolio-progress,0)*100%),#ffffff20 0)}
.portfolio-paired .portfolio-nav button{color:#d7cfb9;border-color:#b5a78645}
.portfolio-paired .portfolio-nav button:hover{background:#b5a786;color:#252c28}
.portfolio-paired .portfolio-controls>a{color:#d0c6ad;border-color:#b5a78660}
@media(max-width:1000px) and (min-width:751px){.portfolio-paired .portfolio-pair .portfolio-entry{grid-template-columns:minmax(0,1fr) 85px;gap:15px}.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){grid-template-columns:minmax(0,1fr) 65px;gap:12px}.portfolio-paired .portfolio-pair .portfolio-caption{padding-inline-start:12px}.portfolio-paired .portfolio-pair .portfolio-caption h3{font-size:25px}.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2) .portfolio-caption h3{font-size:22px}}
@media(max-width:750px){.portfolio-paired .portfolio-luxury-heading{margin-bottom:18px}.portfolio-paired .portfolio-luxury-heading h2{font-size:38px}.portfolio-paired .portfolio-pair{grid-template-columns:1.3fr 1fr;gap:18px}.portfolio-paired .portfolio-pair .portfolio-entry{display:flex;gap:12px;justify-content:center}.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){height:calc(var(--pair-height,350px)*.88);margin-top:calc(var(--pair-height,350px)*.1);gap:12px}.portfolio-paired .portfolio-pair .portfolio-visual{height:auto;max-height:calc(100% - 75px)}.portfolio-paired .portfolio-pair .portfolio-caption{display:grid;height:65px;padding:12px 0 0;gap:6px;align-items:start;border-top-color:#b4a37c45}.portfolio-paired .portfolio-pair .portfolio-caption h3{font-size:24px}.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2) .portfolio-caption h3{font-size:22px}.portfolio-paired .portfolio-pair:before{font-size:120px}.portfolio-paired .portfolio-controls{padding-top:13px}}
/* Allow the full project name to wrap inside the desktop label column. */
@media(min-width:751px){.portfolio-paired .portfolio-pair .portfolio-entry{grid-template-columns:minmax(0,1fr) 140px;gap:20px;overflow:visible}.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){grid-template-columns:minmax(0,1fr) 125px;gap:16px}.portfolio-paired .portfolio-pair .portfolio-caption{min-width:0;width:100%;box-sizing:border-box;padding-inline-start:14px;overflow:visible}.portfolio-paired .portfolio-pair .portfolio-caption>div{width:100%;min-width:0}.portfolio-paired .portfolio-pair .portfolio-caption h3,.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2) .portfolio-caption h3{font-size:clamp(23px,2vw,31px);line-height:1.3;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;overflow:visible}.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){overflow:hidden}.portfolio-paired .portfolio-pair:first-child .portfolio-entry:nth-child(2){overflow:hidden}}

/* Consistent project imagery and equal dimensions throughout the collection. */
.portfolio-paired .portfolio-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.portfolio-paired .portfolio-pair .portfolio-entry,.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){grid-template-columns:minmax(0,1fr) 140px;gap:20px;height:var(--pair-height,350px);margin-top:0;opacity:1;overflow:visible}
.portfolio-paired .portfolio-pair .portfolio-visual{height:auto;aspect-ratio:3/2;width:100%;overflow:hidden;align-self:center}
.portfolio-paired .portfolio-pair .portfolio-visual img{width:100%;height:100%!important;max-height:none;object-fit:cover!important;object-position:center}
.portfolio-paired .portfolio-pair .portfolio-caption h3,.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2) .portfolio-caption h3{font-size:clamp(23px,2vw,31px)}
@media(max-width:1000px) and (min-width:751px){.portfolio-paired .portfolio-pair .portfolio-entry,.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){grid-template-columns:minmax(0,1fr) 115px;gap:15px}}
@media(max-width:750px){.portfolio-paired .portfolio-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.portfolio-paired .portfolio-pair .portfolio-entry,.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2){display:flex;height:var(--pair-height,350px);margin-top:0;gap:12px}.portfolio-paired .portfolio-pair .portfolio-visual{height:auto;max-height:none;aspect-ratio:3/2}.portfolio-paired .portfolio-pair .portfolio-caption h3,.portfolio-paired .portfolio-pair .portfolio-entry:nth-child(2) .portfolio-caption h3{font-size:23px}}
/* One consistent card format for every development. */
.portfolio-equal{height:440vh}
.portfolio-equal .portfolio-track{display:flex;gap:30px;padding-inline-end:calc(100vw - var(--equal-card-width,40vw) - 7vw);height:auto}
.portfolio-stage.portfolio-stage .portfolio-entry{flex:0 0 var(--equal-card-width,40vw);width:var(--equal-card-width,40vw);height:calc(var(--equal-card-width,40vw)*2/3 + 80px);min-height:0;max-width:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0;overflow:hidden;opacity:1;background:transparent;border:0;box-shadow:none}
.portfolio-equal .portfolio-entry .portfolio-visual{position:relative;inset:auto;width:100%;height:calc(var(--equal-card-width,40vw)*2/3);aspect-ratio:3/2;display:block;overflow:hidden;flex-shrink:0;background:#252c28}
.portfolio-equal .portfolio-entry .portfolio-visual img{display:block;width:100%;height:100%!important;max-height:none;object-fit:cover!important;object-position:center;transform:none!important;filter:none}
.portfolio-equal .portfolio-entry .portfolio-caption{position:relative;inset:auto;width:100%;height:80px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;opacity:1;transform:none;border:0;border-bottom:1px solid #b8a57d45}
.portfolio-equal .portfolio-entry.is-active .portfolio-caption{border-bottom-color:#c9b484}
.portfolio-equal .portfolio-caption>div{flex:1;min-width:0}
.portfolio-equal .portfolio-card-index{font-size:10px;color:#baaa87;min-width:22px;border:0;padding:0}
.portfolio-equal .portfolio-caption h3{font-size:clamp(24px,2.2vw,32px);color:#f0ece1;line-height:1.2;white-space:normal;overflow-wrap:anywhere;margin:0}
.portfolio-equal .portfolio-open{color:#c9b484!important;font-size:24px}
@media(max-width:750px){.portfolio-equal{height:420vh}.portfolio-equal .portfolio-track{gap:20px}.portfolio-equal .portfolio-caption h3{font-size:25px}.portfolio-equal .portfolio-entry .portfolio-caption{height:80px}.portfolio-equal .portfolio-card-index{display:block}}
@media(prefers-reduced-motion:reduce){.portfolio-equal{height:440vh}}@media(max-width:750px) and (prefers-reduced-motion:reduce){.portfolio-equal{height:420vh}}

/* The first image opens large, then joins the equal-sized collection. */
.portfolio-equal .portfolio-luxury-heading{box-sizing:border-box;overflow:hidden;flex-shrink:0;min-height:0;transition:none}
.portfolio-equal .portfolio-luxury-heading>*{flex-shrink:0}
.portfolio-equal .portfolio-entry:not(:first-child){opacity:var(--gallery-entry,0)}
.portfolio-equal .portfolio-track{transition:none}
