:root{--black:#000;--panel:#0a0a0a;--panel-2:#111;--gold:#d4a353;--gold-dim:#9b763a;--bordeaux:#7a1f2b;--ivory:#fff;--stone:#a3a3a3;--stone-dim:#666;--hairline:#d4a3532e}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--black);color:var(--ivory);font-family:Inter,sans-serif;font-weight:300;overflow-x:hidden}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}h1,h2,h3,h4{letter-spacing:-.01em;color:var(--ivory);font-family:Fraunces,serif;font-weight:500}a{color:inherit;text-decoration:none}.eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-family:Inter,sans-serif;font-size:.72rem;font-weight:500}.container{max-width:1280px;margin:0 auto;padding:0 6vw}img,.ph-img{display:block}.grain{pointer-events:none;z-index:2;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.ph-img{background:linear-gradient(155deg,#161616,#030303 70%);position:relative;overflow:hidden}.ph-img:after{content:"";background:repeating-linear-gradient(100deg,#0000 0 34px,#d4a3530f 34px 35px);position:absolute;inset:0}.btn{letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:1px;align-items:center;gap:.6rem;padding:.9rem 2rem;font-size:.82rem;transition:all .3s;display:inline-flex}.btn-primary{background:var(--gold);color:var(--black);font-weight:500}.btn-primary:hover{background:var(--ivory);transform:translateY(-1px)}.btn-ghost{border-color:var(--stone-dim);color:var(--ivory)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(26px)}.reveal.in{opacity:1;transform:translateY(0)}header{z-index:100;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:1.6rem 6vw;transition:background .4s,padding .4s,border-color .4s;display:flex;position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);background:#000000e0;padding:1rem 6vw}.logo{letter-spacing:.02em;color:var(--ivory);z-index:5;align-items:baseline;gap:.5rem;font-family:Fraunces,serif;font-size:1.25rem;display:flex;position:relative}.logo span{color:var(--gold);font-style:italic;font-weight:400}nav.links{align-items:center;gap:2.4rem;display:flex}nav.links a{letter-spacing:.05em;text-transform:uppercase;color:var(--stone);padding-bottom:4px;font-size:.82rem;transition:color .3s;position:relative}nav.links a:hover,nav.links a.active{color:var(--ivory)}nav.links a:after{content:"";background:var(--gold);width:0;height:1px;transition:width .3s;position:absolute;bottom:0;left:0}nav.links a:hover:after,nav.links a.active:after{width:100%}.nav-cta{border:1px solid var(--gold-dim);border-radius:1px;color:var(--gold)!important;padding:.6rem 1.4rem!important;font-size:.78rem!important}.nav-cta:hover{background:var(--gold);color:var(--black)!important}.nav-cta:after{display:none}.menu-btn{color:var(--ivory);cursor:pointer;z-index:5;background:0 0;border:none;font-size:1.6rem;display:none;position:relative}.mobile-menu{background:var(--black);z-index:200;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:transform .45s;display:flex;position:fixed;inset:0;transform:translateY(-100%)}.mobile-menu.open{transform:translateY(0)}.mobile-menu a{color:var(--ivory);font-family:Fraunces,serif;font-size:1.6rem}.mobile-menu .close-btn{color:var(--ivory);cursor:pointer;background:0 0;border:none;font-size:1.8rem;position:absolute;top:1.8rem;right:6vw}.portfolio-hero{flex-direction:column;justify-content:flex-end;height:100vh;min-height:680px;display:flex;position:relative;overflow:hidden}.project-img{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.16,.84,.44,1);display:block;position:absolute;inset:0}.portfolio-hero-img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.portfolio-hero .scrim{z-index:1;background:linear-gradient(#00000080 0%,#00000026 38%,#00000059 60%,#000000f5 100%);position:absolute;inset:0}.hero-top-label{z-index:2;align-items:center;gap:.9rem;display:flex;position:absolute;top:7.5rem;left:6vw}.hero-top-label .eyebrow{margin:0}.hero-top-label .line{background:var(--gold-dim);width:40px;height:1px}.portfolio-hero .hero-content{z-index:2;max-width:50rem;padding:0 6vw 4.5rem;position:relative}.portfolio-hero .num{color:var(--gold);margin-bottom:1rem;font-family:Fraunces,serif;font-size:1.1rem;font-style:italic;display:block}.portfolio-hero h1{margin-bottom:1.2rem;font-size:clamp(2.6rem,6vw,5rem);line-height:1.05}.portfolio-hero p{color:var(--stone);max-width:38rem;margin-bottom:1.8rem;font-size:1.05rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.hero-meta{flex-wrap:wrap;gap:2rem;margin-top:2.2rem;display:flex}.hero-meta span{letter-spacing:.06em;text-transform:uppercase;color:var(--stone-dim);font-size:.74rem}.hero-meta span b{color:var(--ivory);letter-spacing:0;margin-top:.3rem;font-family:Fraunces,serif;font-size:1rem;font-weight:400;display:block}.scroll-cue{z-index:2;color:var(--stone-dim);letter-spacing:.16em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.5rem;font-size:.65rem;display:flex;position:absolute;bottom:2rem;right:6vw}.scroll-cue .line2{background:var(--stone-dim);width:1px;height:30px;position:relative;overflow:hidden}.scroll-cue .line2:after{content:"";background:var(--gold);width:100%;height:100%;animation:2s ease-in-out infinite scrollAnim;position:absolute;top:-100%;left:0}@keyframes scrollAnim{0%{top:-100%}50%,to{top:100%}}@keyframes heroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-top-label{opacity:0;animation:.9s 50ms forwards heroRise}.hero-content>*{opacity:0;animation:1s cubic-bezier(.16,.84,.44,1) forwards heroRise}.hero-content>:first-child{animation-delay:.15s}.hero-content>:nth-child(2){animation-delay:.32s}.hero-content>:nth-child(3){animation-delay:.52s}.hero-content>:nth-child(4){animation-delay:.7s}.hero-content>:nth-child(5){animation-delay:.86s}.scroll-cue{opacity:0;animation:.9s 1.05s forwards heroRise}.intro-strip{text-align:center;padding:5.5rem 0 4rem}.intro-strip .eyebrow{margin-bottom:1.1rem;display:block}.intro-strip h2{max-width:44rem;margin:0 auto;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.35}.intro-stats{flex-wrap:wrap;justify-content:center;gap:3rem;margin-top:2.6rem;display:flex}.intro-stats div{text-align:center}.intro-stats .v{color:var(--gold);font-family:Fraunces,serif;font-size:1.8rem}.intro-stats .k{color:var(--stone-dim);letter-spacing:.05em;text-transform:uppercase;margin-top:.3rem;font-size:.74rem}.featured-section{padding:2rem 0 5rem}.section-head{max-width:44rem;margin-bottom:3.2rem}.section-head .eyebrow{margin-bottom:.9rem;display:block}.section-head h2{margin-bottom:.7rem;font-size:clamp(1.6rem,2.8vw,2.1rem)}.section-head p{color:var(--stone);font-size:.96rem;line-height:1.7}.feat-row{grid-template-columns:1.3fr .9fr;align-items:stretch;gap:0;min-height:580px;margin-bottom:5rem;display:grid;position:relative}.feat-row.reverse{grid-template-columns:.9fr 1.3fr}.feat-row.reverse .feat-photo{order:2}.feat-row.reverse .feat-copy{order:1}.feat-photo{min-height:580px;position:relative;overflow:hidden}.feat-photo:hover .project-img{transform:scale(1.06)}.feat-copy{background:var(--panel);border:1px solid var(--hairline);flex-direction:column;justify-content:center;padding:3.5rem 3.2rem;display:flex}.feat-copy .num-big{color:var(--gold-dim);margin-bottom:1.3rem;font-family:Fraunces,serif;font-size:1.3rem;font-style:italic}.feat-copy .eyebrow{margin-bottom:1rem;display:block}.feat-copy h3{margin-bottom:1.2rem;font-size:clamp(1.7rem,2.8vw,2.3rem);line-height:1.2}.feat-copy p{color:var(--stone);margin-bottom:1.6rem;font-size:1rem;line-height:1.85}.feat-specs{border-top:1px solid var(--hairline);flex-wrap:wrap;gap:1.8rem;margin-bottom:1.8rem;padding-top:1.6rem;display:flex}.feat-specs span{letter-spacing:.05em;text-transform:uppercase;color:var(--stone-dim);font-size:.7rem}.feat-specs span b{color:var(--ivory);margin-top:.3rem;font-family:Fraunces,serif;font-size:.95rem;font-weight:400;display:block}.feat-link{letter-spacing:.07em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-dim);align-items:center;gap:.6rem;width:fit-content;padding-bottom:4px;font-size:.8rem;transition:gap .3s;display:inline-flex}.feat-link:hover{gap:.9rem}.feat-links{flex-wrap:wrap;gap:2rem;display:flex}.feat-link-alt{color:var(--stone);border-bottom-color:var(--hairline)}.feat-link-alt:hover{color:var(--ivory)}.grid-section{padding:1rem 0 6rem}.grid-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.2rem;margin-bottom:2.8rem;display:flex}.grid-head h2{font-size:clamp(1.6rem,2.8vw,2.1rem)}.grid-head-text p{color:var(--stone);max-width:32rem;margin-top:.6rem;font-size:.92rem;line-height:1.6}.filter-row{flex-wrap:wrap;gap:.6rem;display:flex}.filter-btn{border:1px solid var(--stone-dim);color:var(--stone);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.5rem 1.1rem;font-size:.74rem;transition:all .3s}.filter-btn:hover{color:var(--ivory);border-color:var(--gold-dim)}.filter-btn.active{background:var(--gold);color:var(--black);border-color:var(--gold)}.masonry{grid-template-columns:repeat(6,1fr);grid-auto-flow:dense;grid-auto-rows:210px;gap:1.3rem;display:grid}.m-card{cursor:pointer;opacity:0;background:#0a0a0a;transition:opacity .6s,transform .4s;position:relative;overflow:hidden}.m-card.hidden{display:none}.m-card:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000000d 0%,#00000026 30%,#000000b3 60%,#000000f5 100%);transition:opacity .3s;position:absolute;inset:0}.m-card:hover{transform:translateY(-4px)}.m-card:hover .project-img{transform:scale(1.08)}.m-card:hover:before{background:linear-gradient(#0000001a 0%,#00000040 30%,#000c 60%,#000000fa 100%)}.masonry.in .m-card{opacity:1}.masonry.in .m-card:nth-child(6n+1){transition-delay:40ms}.masonry.in .m-card:nth-child(6n+2){transition-delay:90ms}.masonry.in .m-card:nth-child(6n+3){transition-delay:.14s}.masonry.in .m-card:nth-child(6n+4){transition-delay:.19s}.masonry.in .m-card:nth-child(6n+5){transition-delay:.24s}.masonry.in .m-card:nth-child(6n){transition-delay:.29s}.m-card .info{z-index:2;pointer-events:none;background:linear-gradient(#0000 0%,#000000a6 40%,#000000f2 100%);padding:2.5rem 1.4rem 1.3rem;position:absolute;bottom:0;left:0;right:0}.m-card .num{color:#f5cb7e;text-shadow:0 2px 6px #000000f2,0 1px 2px #000000f2;margin-bottom:.25rem;font-family:Fraunces,serif;font-size:.9rem;font-style:italic;font-weight:600;display:block}.m-card .tag{letter-spacing:.1em;text-transform:uppercase;color:#f0ece8;text-shadow:0 2px 6px #000000f2,0 1px 2px #000000f2;margin-bottom:.35rem;font-size:.7rem;font-weight:600;display:block}.m-card h4{color:#fff;text-shadow:0 2px 8px #000000f2,0 1px 3px #000000f2;font-size:1.08rem;font-weight:600;line-height:1.35}.m-card .badge{z-index:2;letter-spacing:.08em;text-transform:uppercase;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-shadow:0 1px 3px #000000e6;background:#000000bf;border:1px solid #fff3;padding:.35rem .7rem;font-size:.65rem;font-weight:600;position:absolute;top:1rem;right:1rem}.m-card.sz-wide{grid-area:span 2/span 4}.m-card.sz-tall{grid-area:span 2/span 2}.m-card.sz-sq{grid-area:span 2/span 3}.empty-state{text-align:center;color:var(--stone);padding:4rem 0;display:none}.empty-state.show{display:block}.final-cta{text-align:center;border-top:1px solid var(--hairline);background:var(--panel);padding:6rem 0}.final-cta h2{margin-bottom:1.1rem;max-width:30rem;margin-inline:auto;font-size:clamp(1.8rem,3.2vw,2.6rem)}.final-cta p{color:var(--stone);max-width:32rem;margin:0 auto 1.8rem;font-size:.98rem;line-height:1.7}footer{border-top:1px solid var(--hairline);border-top:1px solid var(--hairline);padding:4.5rem 0 2.5rem}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem;display:grid}.footer-brand .logo{margin-bottom:1.2rem}.footer-brand p{color:var(--stone);max-width:26ch;font-size:.88rem;line-height:1.7}.footer-col h5{letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;font-size:.74rem}.footer-col a{color:var(--stone);margin-bottom:.85rem;font-size:.9rem;transition:color .3s;display:block}.footer-col a:hover{color:var(--ivory)}.footer-bottom{border-top:1px solid var(--hairline);color:var(--stone-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:2rem;font-size:.78rem;display:flex}@media (max-width:1080px){.masonry{grid-template-columns:repeat(4,1fr);grid-auto-rows:190px}.m-card.sz-wide,.m-card.sz-tall,.m-card.sz-sq{grid-area:span 2/span 2}}@media (max-width:980px){nav.links{display:none}.menu-btn{display:block}.feat-row,.feat-row.reverse{grid-template-columns:1fr}.feat-row.reverse .feat-photo{order:1}.feat-row.reverse .feat-copy{order:2}.feat-photo{min-height:320px}.feat-copy{min-height:auto;padding:2.4rem 1.8rem}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.hero-top-label{top:6rem}.hero-meta{gap:1.4rem}}@media (max-width:680px){.masonry{grid-template-columns:1fr;grid-auto-rows:280px;gap:1.25rem}.m-card.sz-wide,.m-card.sz-tall,.m-card.sz-sq{grid-area:span 1/span 1;min-height:260px}.m-card .info{padding:2rem 1.25rem 1.2rem}.m-card h4{font-size:1.15rem}.footer-grid{grid-template-columns:1fr}.intro-stats{gap:1.6rem}}@media (max-width:420px){.hero-top-label{top:5.4rem}.hero-meta{gap:1.1rem}.btn{padding:.8rem 1.5rem;font-size:.76rem}.feat-copy{padding:2rem 1.3rem}.final-cta{padding:4rem 0}.masonry{grid-auto-rows:250px}.m-card.sz-wide,.m-card.sz-tall,.m-card.sz-sq{min-height:240px}}a:focus-visible,button:focus-visible,.m-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:1px}.logo img{object-fit:contain;width:auto;height:40px;display:block}.footer-brand .logo img{height:56px}
