.portfolio{position:relative;overflow:hidden;background:#0b0706;color:#f7f2eb}
.portfolio-intro{max-width:1100px;margin:auto;padding:150px 24px 88px;text-align:center}.portfolio-eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 24px;color:#e6be78;font-size:12px;font-weight:650;letter-spacing:.18em;text-transform:uppercase}.portfolio-eyebrow span{width:24px;height:1px;background:#c9964d}.portfolio-intro h2{margin:0;font-family:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;font-size:clamp(4rem,5.5vw,6rem);font-weight:400;line-height:.95;letter-spacing:-.045em}.portfolio-intro h2 em{font-style:italic;color:#e6be78}.portfolio-intro>p:last-child{max-width:620px;margin:24px auto 0;color:#b8aca3;font-size:17px;line-height:1.6}
.portfolio-list{max-width:1500px;margin:auto;padding:0 42px}.portfolio-project{position:relative;display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);grid-template-rows:auto auto;grid-template-areas:"heading image" "body image";align-content:center;column-gap:clamp(34px,4vw,70px);min-height:75svh;padding:70px 16px;border-top:1px solid rgba(230,190,120,.08)}.portfolio-project:nth-child(even){background:linear-gradient(90deg,transparent,rgba(40,19,12,.16),transparent)}.portfolio-project.is-reversed{grid-template-columns:minmax(0,62fr) minmax(0,38fr);grid-template-areas:"image heading" "image body"}.project-heading{grid-area:heading;position:relative;align-self:end;z-index:1;padding-top:58px}.project-number{position:absolute;z-index:-1;left:-10px;top:-30px;font-family:"Iowan Old Style",Baskerville,Georgia,serif;font-size:clamp(10rem,18vw,20rem);font-weight:400;line-height:.7;letter-spacing:-.08em;color:rgba(247,242,235,.045);pointer-events:none}.project-category{margin:0 0 11px;color:#e6be78;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.project-heading h3{margin:0;font-family:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;font-size:clamp(2.7rem,4vw,4.8rem);font-weight:400;line-height:1.02;letter-spacing:-.045em}.project-location{margin:10px 0 0;color:#b8aca3;font-size:15px}.project-body{grid-area:body;align-self:start;z-index:1;padding-bottom:46px}.project-body>p{max-width:430px;margin:20px 0 0;color:#b8aca3;font-size:16px;line-height:1.6}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 24px;padding:0;list-style:none}.project-tags li{padding:7px 11px;border:1px solid rgba(230,190,120,.25);border-radius:999px;color:#d8c9bc;font-size:11px;white-space:nowrap}.project-link{display:inline-flex;align-items:center;gap:15px;padding:13px 21px;border:1px solid rgba(230,190,120,.6);border-radius:999px;color:#e6be78;font-size:12px;font-weight:750;letter-spacing:.06em;text-transform:uppercase;transition:background .25s,color .25s,transform .25s}.project-link:hover{background:#e6be78;color:#110907;transform:translateY(-2px)}
.project-shot{grid-area:image;position:relative;display:block;align-self:center;width:100%;aspect-ratio:16/10;overflow:hidden;border:1px solid rgba(230,190,120,.14);border-radius:24px;background:linear-gradient(135deg,#1b0e0b,#0b0706);box-shadow:0 30px 100px rgba(0,0,0,.6),0 0 60px rgba(201,150,77,.04);transition:transform .7s ease,border-color .7s ease,filter .7s ease}.project-shot:hover{transform:scale(1.015);border-color:rgba(230,190,120,.3);filter:brightness(1.04)}.project-shot img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover;object-position:top;opacity:0;transition:opacity .5s,transform .7s}.project-shot.is-loaded img{opacity:1}.project-shot.is-loaded:hover img{transform:scale(1.02)}.shot-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#b8aca3;font-size:14px;text-align:center;line-height:1.5}.shot-fallback:before{content:"▧";color:#e6be78;font-size:30px;line-height:1}.shot-fallback small{color:#8e7e73;font-size:11px;overflow-wrap:anywhere}.project-shot.is-loaded .shot-fallback{display:none}
.project-shot.is-wide{aspect-ratio:1600/756}
.portfolio-closing{display:grid;grid-template-columns:1fr auto;align-items:center;gap:42px;max-width:1380px;margin:70px auto 120px;padding:44px 55px;border:1px solid rgba(230,190,120,.18);border-radius:24px;background:linear-gradient(135deg,rgba(64,28,18,.35),rgba(15,9,7,.7))}.closing-eyebrow{margin:0 0 9px;color:#e6be78;font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.portfolio-closing h3{margin:0;font-family:"Iowan Old Style",Baskerville,"Palatino Linotype",Georgia,serif;font-size:clamp(2.7rem,3.4vw,4rem);font-weight:400;line-height:.98;letter-spacing:-.04em}.portfolio-closing h3 em{color:#e6be78;font-style:italic}.closing-description{max-width:500px;margin:16px 0 0;color:#b8aca3;font-size:14px;line-height:1.55}.closing-action{display:flex;flex-direction:column;align-items:center;gap:10px}.closing-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:60px;padding:0 24px;border-radius:15px;background:#e6be78;color:#120b08;font-size:12px;font-weight:750;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:transform .25s,box-shadow .25s}.closing-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(230,190,120,.15)}.closing-cta svg{width:20px;height:20px}.closing-cta span{font-size:21px;font-weight:400}.closing-action p{margin:0;color:#a99e96;font-size:11px;text-align:center}
.portfolio.js-ready .portfolio-reveal{opacity:0;translate:0 30px;transition:opacity .9s ease,translate .9s cubic-bezier(.2,.8,.2,1)}.portfolio.js-ready .portfolio-reveal.is-visible{opacity:1;translate:0 0}.portfolio.js-ready .project-shot{scale:.96;transition:opacity .9s ease,translate .9s cubic-bezier(.2,.8,.2,1),scale .9s cubic-bezier(.2,.8,.2,1),transform .7s,filter .7s}.portfolio.js-ready .project-shot.is-visible{scale:1}
@media(max-width:1100px){.portfolio-list{padding:0 30px}.portfolio-project,.portfolio-project.is-reversed{grid-template-columns:minmax(0,40fr) minmax(0,60fr);grid-template-areas:"heading image" "body image";column-gap:28px;min-height:65svh}.project-heading h3{font-size:clamp(2.5rem,4vw,3.7rem)}.project-tags li{font-size:10px}.portfolio-closing{margin-left:30px;margin-right:30px}}
@media(max-width:767px){.portfolio-intro{padding:95px 20px 55px}.portfolio-eyebrow{font-size:10px;letter-spacing:.15em}.portfolio-eyebrow span{width:18px}.portfolio-intro h2{font-size:clamp(2.9rem,10.5vw,3.5rem)}.portfolio-intro>p:last-child{font-size:15px}.portfolio-list{padding:0 20px}.portfolio-project,.portfolio-project.is-reversed{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"heading" "image" "body";min-height:0;gap:0;padding:68px 0}.project-heading{padding-top:35px}.project-number{left:-3px;top:-15px;font-size:clamp(8rem,31vw,12rem);color:rgba(247,242,235,.025)}.project-category{font-size:10px}.project-heading h3{font-size:clamp(2.55rem,8vw,3.4rem)}.project-location{font-size:14px;margin:7px 0 0}.project-shot{margin-top:27px;border-radius:16px}.project-body{padding-bottom:0}.project-body>p{margin-top:23px;font-size:15px}.project-tags{margin:18px 0 22px}.portfolio-closing{display:block;margin:30px 20px 90px;padding:30px 24px}.portfolio-closing h3{font-size:clamp(2.5rem,9vw,3.1rem)}.closing-action{align-items:stretch;margin-top:25px}.closing-cta{width:100%;justify-content:space-between;padding:0 15px;font-size:11px}.closing-action p{text-align:left}}
@media(prefers-reduced-motion:reduce){.portfolio.js-ready .portfolio-reveal,.portfolio.js-ready .project-shot{opacity:1;translate:0 0;scale:1;transition:none}.project-shot:hover,.project-shot.is-loaded:hover img,.project-link:hover,.closing-cta:hover{transform:none}}
