@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');
:root{--ivory:#f2ede3;--sand:#d8c9b4;--taupe:#a89a82;--olive:#6c705a;--ink:#282824;--line:rgba(40,40,36,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:'DM Sans',sans-serif;font-weight:300}a{color:inherit;text-decoration:none}.nav{position:fixed;z-index:20;top:0;left:0;width:100%;padding:22px 4vw;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(var(--ivory),transparent);}.brand{font:400 20px 'Playfair Display';letter-spacing:.07em}.brand small{display:block;font:500 8px 'DM Sans';letter-spacing:.22em;margin-top:4px}.links{display:flex;gap:28px;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.menu{display:none;font-size:9px;letter-spacing:.2em}.wrap{padding:140px 7vw 9vw}.eyebrow{font-size:9px;letter-spacing:.23em;text-transform:uppercase}.title{font:400 clamp(50px,7vw,100px)/.95 'Playfair Display';margin:25px 0 35px}.intro{max-width:650px;font-size:14px;line-height:1.85}.rule{height:1px;background:var(--line);margin:35px 0}.grid{display:grid;gap:4vw}.two{grid-template-columns:1.2fr .8fr}.image{width:100%;display:block;object-fit:cover;filter:saturate(.82)}.heroimg{height:75vh}.medium{height:58vh}.small{height:42vh}.caption{margin-top:15px;display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.1em;text-transform:uppercase}.caption strong{font:400 27px 'Playfair Display';letter-spacing:0;text-transform:none}.case{padding-top:100px}.case h2{font:400 44px 'Playfair Display';margin:0 0 15px}.case p{font-size:13px;line-height:1.8;max-width:620px}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:45px}.gallery img{height:55vh}.quote{font:400 clamp(35px,5vw,70px)/1.05 'Playfair Display';max-width:850px;margin:70px 0}.dark{background:#292a25;color:var(--ivory)}.dark .rule{background:rgba(242,237,227,.25)}.steps{display:grid;grid-template-columns:repeat(7,1fr);gap:18px;margin-top:55px}.step{border-top:1px solid currentColor;padding-top:14px}.step b{font:400 24px 'Playfair Display';display:block;margin-bottom:12px}.step small{font-size:8px;letter-spacing:.15em;text-transform:uppercase}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.contact h1{font:400 clamp(55px,7vw,95px)/.95 'Playfair Display';margin:25px 0}.form{display:grid;gap:18px}.form input,.form select,.form textarea{border:0;border-bottom:1px solid var(--line);background:none;padding:13px 0;font:300 12px 'DM Sans';outline:none}.form textarea{min-height:130px}.submit{background:var(--ink);color:var(--ivory);border:0;padding:16px 20px;font:500 9px 'DM Sans';letter-spacing:.18em;text-transform:uppercase}.footer{padding:28px 4vw;background:#292a25;color:var(--ivory);display:flex;justify-content:space-between;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.back{font-size:9px;letter-spacing:.16em;text-transform:uppercase}.sectionline{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:45px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:5vw}.card img{height:55vh}.card:nth-child(2){margin-top:12vw}.card:nth-child(4){margin-top:12vw}@media(max-width:800px){.links{display:none}.menu{display:block}.nav{padding:18px 5vw}.wrap{padding:115px 5vw 18vw}.two,.contact,.cards{grid-template-columns:1fr}.heroimg{height:58vh}.gallery{grid-template-columns:1fr}.gallery img{height:52vh}.cards .card:nth-child(2),.cards .card:nth-child(4){margin-top:0}.steps{grid-template-columns:1fr 1fr}.footer{display:block;line-height:2.2}}

/* Project cards are links */
.project { text-decoration: none; color: inherit; display: block; }
.project:focus-visible { outline: 1px solid currentColor; outline-offset: 6px; }

/* Sanjeev Residence: use the client's supplied portfolio pages exactly as provided.
   No cropping, object-fit, generated imagery or replacement imagery. */
.sanjeev-project{padding-bottom:10vw}
.sanjeev-intro{padding-top:90px;padding-bottom:5vw}
.sanjeev-gallery{display:grid;gap:5vw}
.sanjeev-slide{margin:0}
.sanjeev-slide img{display:block;width:100%;height:auto;object-fit:contain;filter:none}
.sanjeev-slide figcaption{padding-top:10px;text-align:right;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe)}
@media(max-width:800px){.sanjeev-intro{padding-top:60px}.sanjeev-gallery{gap:12vw}.sanjeev-slide figcaption{font-size:7px}}
.mobile-nav{display:none}
@media(max-width:800px){.mobile-nav{position:fixed;inset:0;z-index:100;background:var(--ivory);padding:28px 5vw;flex-direction:column;gap:24px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.mobile-nav.open{display:flex}.mobile-nav .close{align-self:flex-end;cursor:pointer;margin-bottom:24px}}
