/* A distinct portfolio layout, using the existing Portal imagery and copy. */
.portfolio-section{padding:60px 0 78px}
.portfolio-heading{display:grid;grid-template-columns:1.25fr .8fr;gap:70px;align-items:end;margin-bottom:42px}
.portfolio-heading .eyebrow{font-size:12px;letter-spacing:.15em;margin-bottom:20px;color:#60744f;display:flex;align-items:center;gap:15px}
.portfolio-heading .eyebrow:before{content:'';display:block;width:28px;height:1px;background:currentColor;flex:none}
.portfolio-heading h1{font-size:clamp(46px,4.6vw,64px);line-height:1.08;max-width:21ch;letter-spacing:-.025em;word-spacing:.06em}
.portfolio-lead>p{font-size:17px;line-height:1.85;margin:0;max-width:43ch}
.portfolio-categories{display:flex;align-items:center;gap:30px;margin-top:25px;border-bottom:1px solid #ccd4c5}
.portfolio-categories a{display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px;padding:12px 0 15px;min-height:48px;position:relative}
.portfolio-categories a:after{content:'';height:2px;position:absolute;left:0;right:0;bottom:-1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.portfolio-categories a:first-child:after,.portfolio-categories a:hover:after{transform:scaleX(1)}
.portfolio-categories a span{color:#60744f;font-size:18px}
.portfolio-card{display:grid;grid-template-columns:1.2fr 1fr;min-height:490px;background:var(--ink);color:var(--paper);overflow:hidden}
.portfolio-visual{display:block;position:relative;overflow:hidden;min-height:490px;background:#d8ded5}
.portfolio-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .65s}
a.portfolio-visual:hover img{transform:scale(1.035)}
.portfolio-image-link{position:absolute;left:25px;bottom:25px;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffffaa;border-radius:50%;background:#faf9f5f2;color:var(--ink);font-size:24px;transition:background .2s,transform .2s}
a.portfolio-visual:hover .portfolio-image-link{background:var(--green);transform:translate(2px,-2px)}
.portfolio-copy{min-width:0;padding:48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.portfolio-category{display:flex;gap:13px;align-items:center;color:var(--green);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin-bottom:28px}
.portfolio-category:before{content:'';display:block;width:23px;height:1px;background:currentColor}
.portfolio-copy h2,.portfolio-copy h3{font:300 clamp(36px,3.7vw,54px)/1.08 var(--serif);letter-spacing:-.025em;word-spacing:.07em;text-wrap:balance;max-width:13ch}
.portfolio-copy p{font-size:17px;line-height:1.8;color:#dbe4df;max-width:33ch;margin-top:22px}
.portfolio-action{border-top:1px solid #ffffff30;padding-top:27px;margin-top:34px;align-self:stretch}
.portfolio-action .button{font-size:12px;letter-spacing:.06em;min-height:53px;padding:16px 20px;gap:26px;background:var(--green);border-color:var(--green);color:var(--ink);max-width:100%;white-space:normal;text-align:left}
.portfolio-action .button:hover{background:#d0eaba;border-color:#d0eaba}
.portfolio-preview{margin-top:26px;grid-template-columns:1fr 1.2fr;min-height:310px;background:#efefe8;color:var(--ink)}
.portfolio-preview .portfolio-visual{order:2;min-height:310px}
.portfolio-preview .portfolio-copy{order:1;padding:37px 42px}
.portfolio-preview .portfolio-category{color:#60744f;margin-bottom:18px}
.portfolio-preview .portfolio-copy h2,.portfolio-preview .portfolio-copy h3{font-size:39px;max-width:20ch}
.portfolio-preview .portfolio-copy p{font-size:16px;line-height:1.7;color:var(--muted);margin-top:15px}
.portfolio-preview .portfolio-action{border-top-color:#c8d0c2;margin-top:23px;padding-top:20px}
.portfolio-preview .portfolio-action .button{background:transparent;border-color:#8a9b90;color:var(--ink);font-size:12px;min-height:49px}
.portfolio-preview .portfolio-action .button:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.portfolio-preview .portfolio-visual img{object-position:center 62%}
.portfolio-lots{background:#e9ede3;padding:72px 0 85px}
.portfolio-lot-heading{margin-bottom:36px}
.portfolio-lot-heading h2{font-size:clamp(40px,4.5vw,60px);line-height:1.12;max-width:15ch}
.portfolio-land{background:#fcfbf7;color:var(--ink);grid-template-columns:1.2fr 1fr;min-height:460px}
.portfolio-land .portfolio-visual{min-height:460px}
.portfolio-land .portfolio-category{color:#60744f}
.portfolio-land .portfolio-copy p{color:var(--muted)}
.portfolio-land .portfolio-action{border-top-color:#ced5c8}
.portfolio-land .portfolio-action .button{background:var(--ink);border-color:var(--ink);color:#fff}
.portfolio-land .portfolio-action .button:hover{background:#38566a;border-color:#38566a}
.portfolio-expansion{background:#dce3d4}
.portfolio-expansion .portfolio-copy h3{font-size:36px;max-width:16ch}
.portfolio-coming{display:inline-flex;gap:12px;align-items:center;font-size:12px;letter-spacing:.07em;line-height:1.6;padding:7px 0;color:#51634b}
.portfolio-coming:before{content:'';width:6px;height:6px;flex:none;border-radius:50%;background:#71845e}
@media(max-width:1080px){
 .portfolio-heading{grid-template-columns:1.2fr .85fr;gap:40px}.portfolio-heading h1{font-size:50px}.portfolio-lead>p{font-size:16px}.portfolio-categories{gap:24px}.portfolio-categories a{gap:22px}.portfolio-card{grid-template-columns:1.1fr 1fr;min-height:460px}.portfolio-visual{min-height:460px}.portfolio-copy{padding:37px 32px}.portfolio-copy h2,.portfolio-copy h3{font-size:43px}.portfolio-copy p{font-size:16px}.portfolio-action .button{padding:15px 17px;gap:19px;font-size:11px}.portfolio-preview{grid-template-columns:1fr 1.1fr;min-height:310px}.portfolio-preview .portfolio-visual{min-height:310px}.portfolio-preview .portfolio-copy{padding:32px}.portfolio-preview .portfolio-copy h2,.portfolio-preview .portfolio-copy h3{font-size:35px}.portfolio-land .portfolio-visual{min-height:430px}
}
@media(max-width:760px){
 .portfolio-section{padding:40px 0 50px}.portfolio-heading{grid-template-columns:1fr;gap:23px;margin-bottom:30px}.portfolio-heading h1{font-size:48px;max-width:20ch}.portfolio-heading .eyebrow{margin-bottom:17px}.portfolio-lead>p{max-width:57ch}.portfolio-categories{gap:32px;margin-top:16px;width:fit-content}.portfolio-categories a{gap:40px;padding-bottom:12px}.portfolio-card{grid-template-columns:1fr;min-height:0}.portfolio-visual{min-height:0;height:390px}.portfolio-copy{padding:34px}.portfolio-copy h2,.portfolio-copy h3{font-size:43px;max-width:20ch}.portfolio-category{margin-bottom:19px}.portfolio-copy p{max-width:48ch;margin-top:17px}.portfolio-action{margin-top:25px;padding-top:23px}.portfolio-action .button{font-size:12px;min-height:52px;padding:16px 20px;gap:26px}.portfolio-preview{grid-template-columns:.95fr 1fr;min-height:290px;margin-top:24px}.portfolio-preview .portfolio-visual{height:auto;min-height:290px;order:2}.portfolio-preview .portfolio-copy{padding:28px;order:1}.portfolio-preview .portfolio-copy h2,.portfolio-preview .portfolio-copy h3{font-size:34px}.portfolio-preview .portfolio-category{font-size:10px}.portfolio-preview .portfolio-action .button{font-size:10px;padding:12px 13px;gap:14px}.portfolio-lots{padding:48px 0 55px}.portfolio-lot-heading h2{font-size:44px}.portfolio-land .portfolio-visual{height:360px;min-height:0}.portfolio-preview .portfolio-copy p{font-size:15px}.portfolio-expansion .portfolio-copy h3{font-size:31px}
}
@media(max-width:520px){
 .portfolio-section{padding:31px 0 40px}.portfolio-heading{gap:20px;margin-bottom:27px}.portfolio-heading h1{font-size:43px;line-height:1.12;max-width:18ch}.portfolio-heading .eyebrow{font-size:11px;letter-spacing:.12em}.portfolio-lead>p{font-size:16px;line-height:1.8}.portfolio-categories{width:100%;gap:32px}.portfolio-categories a{font-size:14px;gap:36px}.portfolio-visual{height:320px}.portfolio-copy{padding:29px 25px 32px}.portfolio-copy h2,.portfolio-copy h3{font-size:39px;max-width:13ch}.portfolio-copy p{font-size:16px;line-height:1.75}.portfolio-category{font-size:11px;margin-bottom:19px}.portfolio-action .button{font-size:11px;justify-content:space-between;width:100%;gap:14px;padding:16px 18px}.portfolio-image-link{width:44px;height:44px;left:18px;bottom:18px;font-size:22px}.portfolio-preview{grid-template-columns:1fr;margin-top:22px}.portfolio-preview .portfolio-visual{order:0;min-height:0;height:235px}.portfolio-preview .portfolio-copy{order:1;padding:27px 25px}.portfolio-preview .portfolio-copy h2,.portfolio-preview .portfolio-copy h3{font-size:34px}.portfolio-preview .portfolio-category{font-size:11px}.portfolio-preview .portfolio-copy p{font-size:16px}.portfolio-preview .portfolio-action .button{font-size:11px;min-height:50px;padding:14px 17px;gap:18px}.portfolio-lots{padding:40px 0 45px}.portfolio-lot-heading h2{font-size:41px}.portfolio-lot-heading{margin-bottom:28px}.portfolio-land .portfolio-visual{height:300px}.portfolio-coming{font-size:11px}.portfolio-expansion .portfolio-copy h3{font-size:33px}
}
@media(max-width:360px){.portfolio-heading h1{font-size:38px}.portfolio-categories{gap:22px}.portfolio-categories a{gap:24px;font-size:13px}.portfolio-visual{height:290px}.portfolio-copy{padding:27px 22px}.portfolio-copy h2,.portfolio-copy h3{font-size:35px}.portfolio-preview .portfolio-copy{padding:27px 22px}.portfolio-action .button{font-size:10px;padding:15px 13px}.portfolio-lot-heading h2{font-size:37px}}
@media(prefers-reduced-motion:reduce){.portfolio-visual img,.portfolio-image-link,.portfolio-categories a:after{transition:none}}
