@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ink:#151411;--paper:#f5f2ec;--gold:#d9ac69;--muted:#99948b;--font:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}::selection{background:var(--gold);color:#171411}.progress{position:fixed;top:0;left:0;height:3px;background:var(--gold);width:0;z-index:100}.header{position:fixed;z-index:60;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:17px clamp(20px,5vw,80px);background:linear-gradient(#111e,#1119);border-bottom:1px solid #ffffff22;backdrop-filter:blur(18px);transition:background .3s}.header.scrolled{background:#171613ed}.brand img{width:225px;max-width:43vw}.header nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,38px)}.header nav a{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;transition:color .2s}.header nav a:hover{color:var(--gold)}.header nav .nav-cta{border:1px solid var(--gold);color:var(--gold);padding:14px 18px;border-radius:2px}.nav-cta span{padding-left:12px}.menu-toggle{display:none}.hero{height:min(900px,100svh);min-height:640px;background:#191713;position:relative;color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('/assets/staircase-hero.webp') center 45%/cover no-repeat;transform:scale(1.08);animation:heroZoom 16s ease-out forwards}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#0d0c0be8 0%,#11100ec9 28%,#14110c4d 64%,#11111120 100%),linear-gradient(0deg,#100e0ca8,transparent 35%)}.hero-content{position:absolute;top:50%;transform:translateY(-43%);left:clamp(24px,7vw,120px);max-width:790px;z-index:2}.eyebrow{font-size:11px;letter-spacing:.29em;font-weight:700;color:#b18a56;text-transform:uppercase}.hero .eyebrow{color:#efc88e}.hero .eyebrow span{margin:0 10px}.hero-title,.display,.statement-inner p{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.055em}.hero-title{font-size:clamp(62px,8.6vw,138px);line-height:.99;margin:27px 0 27px}.hero-title em,.display em,.statement-inner em{color:var(--gold);font-weight:400}.period{color:var(--gold)}.hero-sub{font-size:clamp(16px,1.4vw,21px);max-width:500px;line-height:1.7;color:#e7e1d6}.hero-actions{display:flex;gap:14px;margin-top:33px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 25px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;border-radius:2px;transition:transform .25s,background .25s}.btn:hover{transform:translateY(-4px)}.btn-gold{background:var(--gold);color:#17120e;border:1px solid var(--gold)}.btn-outline{background:transparent;color:#fff;border:1px solid #ffffff9e}.btn-outline:hover{background:#ffffff24}.hero-side{position:absolute;right:25px;top:45%;writing-mode:vertical-rl;letter-spacing:.24em;font-size:10px;color:#e3d8c5}.scroll-prompt{position:absolute;left:clamp(24px,7vw,120px);bottom:42px;font-size:10px;letter-spacing:.22em;display:flex;align-items:center;gap:15px}.scroll-line{width:45px;height:1px;background:var(--gold)}.hero-index{position:absolute;bottom:42px;right:6vw;font-size:10px;letter-spacing:.2em;color:#ded2c2}.hero-index span{color:var(--gold)}.section{padding:clamp(78px,10vw,160px) clamp(24px,7vw,120px)}.intro{display:grid;grid-template-columns:1fr 2.7fr .7fr;gap:6vw;align-items:start;background:#f6f3ed}.intro-label{font-size:11px;letter-spacing:.2em;color:#a58a64}.display{font-size:clamp(45px,6vw,94px);line-height:1.13;margin:15px 0 27px}.intro .display em,.portfolio .display em,.process .display em{color:#b28b56}.body-large{font-size:clamp(17px,1.7vw,24px);line-height:1.7;color:#5c5750;max-width:700px}.text-link{display:inline-block;margin-top:25px;padding-bottom:12px;border-bottom:1px solid #b28b56;text-transform:uppercase;font-size:11px;letter-spacing:.17em;font-weight:700}.text-link span{margin-left:24px}.intro-accent{display:flex;flex-direction:column;gap:16px;align-items:flex-start;font-size:10px;letter-spacing:.17em;color:#ad9c85;padding-top:90px}.services{background:#1a1917;color:white}.section-head{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:55px}.section-head .display{margin-bottom:0}.section-head>p{max-width:325px;color:#a6a19b;line-height:1.7;font-size:15px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.service-card{height:clamp(380px,40vw,580px);position:relative;overflow:hidden}.service-card img{height:100%;width:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.service-card:hover img{transform:scale(1.09)}.service-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0d0d0de6,transparent 62%)}.service-number{position:absolute;top:25px;left:25px;color:#fff9;font-size:12px}.service-bottom{position:absolute;bottom:28px;left:25px;right:25px}.service-bottom>span:first-child{color:var(--gold);font-size:11px;letter-spacing:.2em}.service-bottom h3{font:400 clamp(26px,3vw,45px)/1.13 'Playfair Display',serif;margin:12px 0}.service-arrow{position:absolute;right:0;bottom:0;border:1px solid #ffffff80;border-radius:50%;width:43px;height:43px;display:grid;place-items:center}.statement{height:570px;position:relative;color:#fff;background:#121212;overflow:hidden}.statement-photo{position:absolute;inset:0;background:url('/assets/staircase-overhead.webp') center 54%/cover no-repeat;background-attachment:fixed}.statement-shade{position:absolute;inset:0;background:#090807a8}.statement-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px}.statement-inner p{font-size:clamp(46px,7vw,100px);line-height:1.12;margin:25px 0}.statement-inner>span{font-size:10px;letter-spacing:.22em;color:#e2d4bf}.portfolio{background:#f6f3ed}.portfolio .section-head>p{color:#68625b}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}.filter{padding:12px 18px;border:1px solid #d8d0c4;background:transparent;color:#5c564d;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.filter:hover,.filter.active{background:#191815;color:#fff;border-color:#191815}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row dense;gap:17px}.project-card{min-height:340px;position:relative;overflow:hidden}.project-card.wide{grid-column:span 2}.project-card[hidden]{display:none}.project-open{display:block;position:absolute;inset:0;border:0;padding:0;width:100%;height:100%;background:#171717;color:#fff;text-align:left;overflow:hidden}.project-open>img{height:100%;width:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.project-open:hover>img{transform:scale(1.08)}.project-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#000c,transparent 60%);display:flex;flex-direction:column;justify-content:end;align-items:start;padding:25px}.project-overlay>span:first-child{font-size:10px;letter-spacing:.2em;color:#e2b980}.project-overlay h3{font:400 clamp(25px,2.5vw,39px) 'Playfair Display',serif;margin:10px 0 0}.round-arrow{position:absolute;right:25px;bottom:25px;width:42px;height:42px;border-radius:50%;border:1px solid #fff8;display:grid;place-items:center}.process{background:#eae5dc}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step{border-top:1px solid #a99a86;padding-top:25px}.step>span{color:#a47c49;font-size:12px}.step h3{font:400 29px 'Playfair Display',serif;margin:35px 0 12px}.step p{color:#625e57;line-height:1.7;max-width:300px}.contact{background:#1a1917;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact .display{font-size:clamp(46px,5vw,75px)}.contact-left>p{color:#b8b1a7;line-height:1.8;font-size:17px;max-width:440px}.contact-note{border-left:2px solid var(--gold);padding-left:15px;color:#a79b89;max-width:420px;font-size:10px;line-height:1.8;letter-spacing:.08em;margin-top:45px}.contact-form{display:flex;flex-direction:column;gap:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form label{display:flex;flex-direction:column;gap:12px;color:#d8b786;font-size:10px;letter-spacing:.15em;font-weight:700}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:0;border-bottom:1px solid #6a6256;border-radius:0;padding:14px 0;background:transparent;color:#fff;outline:none;letter-spacing:0;font-size:14px}.contact-form select option{color:#111}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#aaa49c}.contact-form .btn{align-self:start}.form-status{color:#dfc3a0;line-height:1.5}footer{background:#100f0e;color:#fff;padding:70px clamp(24px,7vw,120px) 25px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:35px;flex-wrap:wrap}.footer-main img{width:235px}.footer-main p{max-width:250px;line-height:1.6;color:#aaa39a;font-size:13px}.footer-links{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.footer-links a:hover{color:var(--gold)}.footer-bottom{border-top:1px solid #ffffff24;margin-top:65px;padding-top:25px;display:flex;justify-content:space-between;gap:15px;color:#8f877c;font-size:10px;letter-spacing:.1em}.lightbox{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;padding:60px 24px 85px;border:0;background:#090909ef;color:#fff;overflow:hidden}.lightbox::backdrop{background:#000e}.lightbox img{height:100%;width:100%;object-fit:contain}.lightbox-close{position:absolute;right:24px;top:16px;color:#fff;background:transparent;border:0;font-size:40px}.lightbox-caption{position:absolute;bottom:18px;left:5vw}.lightbox-caption h3{font:400 26px 'Playfair Display',serif;margin:0 0 5px}.lightbox-caption span{font-size:11px;color:var(--gold)}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes heroZoom{from{transform:scale(1.08)}to{transform:scale(1)}}@media(max-width:1000px){.header nav{gap:15px}.brand img{width:190px}.intro{grid-template-columns:1fr 3fr}.intro-accent{display:none}.project-card{min-height:290px}}@media(max-width:760px){.header{padding:15px 20px}.brand img{width:190px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:45px;height:42px;border:0;background:transparent}.menu-toggle span{height:2px;background:#fff;width:28px}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#171613;padding:22px;flex-direction:column;align-items:stretch;gap:0}.header nav.open{display:flex}.header nav a{padding:15px;border-bottom:1px solid #ffffff1b}.header nav .nav-cta{margin-top:15px;text-align:center}.hero{min-height:680px;height:100svh}.hero-photo{background-position:62% center}.hero-vignette{background:linear-gradient(90deg,#090909d9,#1119 75%),linear-gradient(0deg,#0008,transparent 40%)}.hero-content{left:24px;right:24px;transform:translateY(-37%)}.hero-title{font-size:clamp(52px,13vw,85px)}.hero-side,.hero-index{display:none}.section{padding:85px 22px}.intro{display:block}.intro-label{margin-bottom:40px}.section-head{display:block}.section-head>p{margin-top:22px}.service-grid{grid-template-columns:1fr}.service-card{height:410px}.statement{height:430px}.statement-photo{background-attachment:scroll}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.project-card{min-height:270px}.project-card.wide{grid-column:span 2}.project-overlay{padding:15px}.project-overlay h3{font-size:25px}.round-arrow{display:none}.steps{grid-template-columns:1fr}.contact{grid-template-columns:1fr;gap:50px}.footer-bottom{flex-direction:column}.footer-main{align-items:start;flex-direction:column}}@media(max-width:480px){.hero-actions{gap:10px}.hero-actions .btn{padding:15px;gap:12px}.project-grid{grid-template-columns:1fr}.project-card,.project-card.wide{grid-column:span 1;min-height:330px}.form-row{grid-template-columns:1fr}.hero .eyebrow{font-size:9px;letter-spacing:.12em}.hero .eyebrow span{margin:0 4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.statement-photo{background-attachment:scroll}}
