
:root{--black:#050505;--paper:#fbfaf7;--green:#20342a;--beige:#d8cbb8;--charcoal:#161616}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:#111;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}
a{text-decoration:none;color:inherit}
.hero{height:100vh;min-height:100vh;background:#000;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,#030303,#10140f 55%,#050505)}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(216,203,184,.08),transparent 34%)}
.nav{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:34px 5.5vw}
.nav-logo .hero-logo{width:74px;height:auto;display:block}
.nav-logo .text-logo{font-size:12px;color:white;letter-spacing:.2em}
.nav-links{display:flex;gap:42px}
.nav-links a{color:white;text-transform:uppercase;letter-spacing:.24em;font-size:12px}
.hero-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:4;animation:fade 2.2s ease forwards;opacity:0;pointer-events:none}
.hero-center .hero-logo{width:min(390px,46vw);height:auto;display:block}
.text-logo{color:white;text-align:center;font-size:clamp(34px,5vw,70px);letter-spacing:.2em;font-weight:300;line-height:1.05}
.text-logo span{display:block;font-size:.27em;letter-spacing:.55em;margin-top:18px}
.scroll-cue{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);z-index:5;color:rgba(255,255,255,.72);text-transform:uppercase;letter-spacing:.28em;font-size:11px}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:12px;color:var(--green);margin:0 0 18px}.light{color:var(--beige)}
.intro{padding:125px 6vw;max-width:1100px;margin:auto}.intro h1,.projects h2,.services h2,.contact h2{font-family:Georgia,serif;font-weight:500;line-height:1.03;margin:0}.intro h1{font-size:clamp(44px,7vw,92px)}.intro p:last-child,.contact p{font-size:18px;line-height:1.85;color:#47443f;max-width:720px}
.projects{padding:110px 6vw 130px;background:white}.section-heading{max-width:1180px;margin:0 auto 48px}.section-heading h2{font-size:clamp(36px,5vw,70px)}
.project-grid{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.project-card{background:var(--paper);border:1px solid rgba(0,0,0,.08);cursor:pointer;transition:.35s}.project-card:hover{transform:translateY(-4px);box-shadow:0 24px 70px rgba(0,0,0,.08)}.project-thumb{aspect-ratio:4/3;overflow:hidden}.project-thumb img{width:100%;height:100%;object-fit:cover;display:block}.project-meta{padding:22px}.project-meta span{text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:#9b978e}.project-meta h3{font-family:Georgia,serif;font-size:27px;font-weight:500;margin:12px 0 10px}.project-meta p{font-size:14px;line-height:1.65;color:#5a554d}
.services{padding:105px 6vw;background:var(--charcoal);color:white;display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12)}.service-list p{margin:0;padding:26px;background:var(--charcoal);color:rgba(255,255,255,.82)}
.contact{padding:115px 6vw;background:var(--paper);display:grid;grid-template-columns:1fr 1.1fr;gap:70px}.contact h2{font-size:clamp(36px,5vw,70px)}.contact-form{display:grid;gap:15px}.contact-form input,.contact-form textarea{width:100%;padding:18px;border:1px solid rgba(0,0,0,.15);background:white;color:#111}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#111;opacity:1}.contact-form textarea{min-height:170px}.contact-form button{background:var(--green);color:white;border:0;padding:18px;text-transform:uppercase;letter-spacing:.18em}
.lightbox{position:fixed;inset:0;z-index:99;background:rgba(7,7,7,.94);display:none;align-items:center;justify-content:center;color:white;padding:42px}.lightbox.open{display:flex}.lightbox-inner{width:min(1120px,86vw);display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:center}.lightbox-copy h3{font-family:Georgia,serif;font-size:34px;font-weight:500;margin:0 0 12px}.lightbox-copy p{color:rgba(255,255,255,.7);line-height:1.75}#gallery-image{width:100%;max-height:74vh;object-fit:contain;background:#111}.thumb-row{grid-column:2;display:flex;gap:10px;overflow:auto}.thumb-row img{width:76px;height:58px;object-fit:cover;opacity:.55;cursor:pointer}.thumb-row img.active{opacity:1;border:1px solid var(--beige)}.close,.prev,.next{position:absolute;background:transparent;color:white;border:1px solid rgba(255,255,255,.3);width:46px;height:46px;font-size:30px}.close{top:24px;right:24px}.prev{left:24px;top:50%}.next{right:24px;top:50%}
@media(max-width:950px){.project-grid{grid-template-columns:1fr 1fr}.services,.contact,.lightbox-inner{grid-template-columns:1fr}.thumb-row{grid-column:1}}
@media(max-width:650px){.nav-links{display:none}.project-grid{grid-template-columns:1fr}.intro,.projects,.services,.contact{padding:78px 6vw}.service-list{grid-template-columns:1fr}.hero-center .hero-logo{width:min(300px,70vw)}}


/* Preferred title page styling override */
.hero {
  background: #000 !important;
  position: relative !important;
  height: 100vh !important;
  min-height: 100vh !important;
}
.hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background:
    linear-gradient(135deg, #020202 0%, #0c110d 55%, #020202 100%) !important;
}
.hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.28) !important;
}
.hero-center {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 4 !important;
}
.hero-center .hero-logo {
  width: min(420px, 48vw) !important;
  height: auto !important;
}
.nav-logo .hero-logo {
  width: 72px !important;
  height: auto !important;
}
