:root{--bg:#0b0b0b;--paper:#f3efe7;--ink:#111;--muted:#bcb7ae;--accent:#c79a52;--accent2:#e2bf81;--line:rgba(255,255,255,.14);--shadow:0 20px 60px rgba(0,0,0,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#fff;font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%}.shell{width:min(1180px,calc(100% - 40px));margin:0 auto}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,10,10,.88);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.nav-wrap{min-height:76px;width:min(1180px,calc(100% - 32px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand-name{font-weight:700;letter-spacing:.18em;font-size:.95rem}.nav-actions{display:flex;gap:10px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;font-weight:700;font-size:.92rem;transition:.2s ease;border:1px solid transparent;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--accent);color:#111}.btn-primary:hover{background:var(--accent2)}.btn-secondary{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.04);color:#fff}.btn-secondary:hover{background:rgba(255,255,255,.1)}.btn-large{min-height:52px;padding:0 24px}
.hero{min-height:86vh;position:relative;display:flex;align-items:flex-end;overflow:hidden;padding-top:76px}.hero-photo{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center 30%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 38%,rgba(0,0,0,.20) 72%,rgba(0,0,0,.20) 100%),linear-gradient(0deg,rgba(0,0,0,.58),transparent 52%);z-index:1}.hero-content{position:relative;z-index:2;padding:90px 0 72px}.hero-card{max-width:690px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--accent2);margin:0 0 14px}h1,h2{font-family:"Playfair Display",Georgia,serif;line-height:1.04;margin:0}h1{font-size:clamp(3.4rem,8vw,7rem);max-width:820px}h2{font-size:clamp(2.2rem,4.6vw,4rem)}.quote{font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(1.6rem,3vw,2.7rem);line-height:1.2;margin:28px 0 8px;max-width:760px}.subquote{font-size:clamp(1.08rem,2vw,1.35rem);color:#e8e2d8;margin:0 0 28px}.hero-buttons{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.text-link{font-weight:700;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px}
.section{padding:96px 0}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:start}.lead{font-size:1.25rem;color:var(--muted);margin-top:18px}.copy{font-size:1.12rem;color:#d8d4cc}.copy p:first-child{margin-top:0}.gallery{background:var(--paper);color:var(--ink)}.section-heading{margin-bottom:32px}.gallery .eyebrow{color:#8a6530}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:360px 300px;gap:14px}.gallery-item{margin:0;overflow:hidden;background:#ddd}.gallery-item img{height:100%;object-fit:cover;transition:transform .45s ease}.gallery-item:hover img{transform:scale(1.025)}.gallery-item.tall{grid-row:span 2}.gallery-item.wide{grid-column:span 2}
.experience{background:#0f0f0f}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.experience-card,.product-card{min-height:390px;padding:42px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;box-shadow:var(--shadow)}.experience-card{background:linear-gradient(160deg,#181818,#0e0e0e)}.product-card{background:linear-gradient(160deg,#19150e,#0e0e0e)}.experience-card p,.product-card p{max-width:520px;color:#d0ccc4}.experience-card .btn,.product-card .btn{margin-top:18px}
.location{background:#070707}.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}address{font-style:normal;font-size:1.2rem;color:#d2cec6;margin-top:24px}.contact-card{border:1px solid var(--line);padding:34px;background:#111}.contact-label{font-weight:700;font-size:1.18rem;margin:0}.contact-card>p:nth-child(2){color:var(--muted);margin-top:2px}.phone{display:inline-block;font-family:"Playfair Display",Georgia,serif;font-size:2rem;margin:16px 0 22px;color:var(--accent2)}.contact-actions{display:flex;gap:10px;flex-wrap:wrap}footer{border-top:1px solid var(--line);padding:42px 0;color:#c8c4bd}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.footer-grid p{margin:8px 0 0;color:#8f8b84}.footer-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end;font-size:.92rem}
@media(max-width:780px){.nav-wrap{min-height:70px;width:min(100% - 20px,1180px)}.brand-name{font-size:.76rem;letter-spacing:.12em}.nav-actions{gap:6px}.nav-actions .btn{padding:0 11px;font-size:.76rem;min-height:38px}.hero{padding-top:70px;min-height:82vh}.hero-photo{object-position:60% center}.hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.52) 62%,rgba(0,0,0,.28) 100%)}.hero-content{padding:170px 0 42px}h1{font-size:clamp(3rem,16vw,4.8rem)}.two-col,.experience-grid,.location-grid{grid-template-columns:1fr;gap:30px}.section{padding:70px 0}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 260px 260px}.gallery-item.tall{grid-row:span 1}.gallery-item.wide{grid-column:span 2}.experience-card,.product-card{min-height:300px;padding:28px}.footer-grid{display:block}.footer-links{justify-content:flex-start;margin-top:24px}}
@media(max-width:520px){.shell{width:min(100% - 28px,1180px)}.nav-actions .btn-secondary{display:none}.nav-actions .btn-primary{font-size:.78rem;padding:0 13px}.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,270px)}.gallery-item.wide{grid-column:span 1}}


/* --- v2 updates --- */
.brand{
  display:flex;
  align-items:center;
  gap:12px;
}
.brand-logo{
  width:42px;
  height:42px;
  object-fit:contain;
  flex:0 0 auto;
}
.hero-logo{
  width:108px;
  max-width:28vw;
  margin:0 0 18px;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.35));
}
.footer-logo{
  width:72px;
  margin-bottom:12px;
}
.gallery-item.wide img{
  object-position:center 18%;
}

@media(max-width:780px){
  .brand-logo{width:34px;height:34px}
  .hero-logo{width:86px;margin:0 0 14px}
  .footer-logo{width:58px}
  .gallery-item.wide img{object-position:center 12%}
}


/* --- v3 gallery layout + Instagram --- */
.gallery-grid{
  display:grid;
  grid-template-columns:1fr .78fr 1fr;
  grid-template-rows:620px;
  gap:14px;
}
.gallery-left,
.gallery-right{
  height:620px;
}
.gallery-middle{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:14px;
  min-height:0;
}
.gallery-middle .gallery-item{
  min-height:0;
}
.gallery-item{
  height:100%;
}
.gallery-item img{
  height:100%;
  width:100%;
  object-fit:cover;
}
.gallery-left img{
  object-position:center center;
}
.gallery-right img{
  /* Keep the full head/face visible instead of cropping at the eyes. */
  object-position:center top;
}
.instagram-cta{
  display:flex;
  justify-content:center;
  padding-top:28px;
}
.instagram-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 22px;
  border:1px solid rgba(17,17,17,.28);
  border-radius:999px;
  font-weight:700;
  color:var(--ink);
  background:rgba(255,255,255,.35);
}
.instagram-link:hover{
  background:#fff;
}

@media(max-width:780px){
  .gallery-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
  .gallery-left,
  .gallery-right{
    height:420px;
  }
  .gallery-middle{
    height:420px;
  }
  .gallery-right{
    grid-column:1 / -1;
    height:520px;
  }
  .gallery-right img{
    object-position:center top;
  }
}

@media(max-width:520px){
  .gallery-grid{
    display:flex;
    flex-direction:column;
  }
  .gallery-left,
  .gallery-right{
    height:420px;
  }
  .gallery-middle{
    display:grid;
    grid-template-rows:280px 280px;
    height:auto;
  }
  .gallery-right{
    height:500px;
  }
}


/* --- v4 logo sizing --- */
.brand-logo{
  width:64px;
  height:64px;
}
.hero-logo{
  width:190px;
  max-width:42vw;
  margin-bottom:22px;
}
.footer-logo{
  width:110px;
}

@media(max-width:780px){
  .brand-logo{
    width:50px;
    height:50px;
  }
  .hero-logo{
    width:150px;
    max-width:48vw;
  }
  .footer-logo{
    width:90px;
  }
}

@media(max-width:520px){
  .brand-logo{
    width:46px;
    height:46px;
  }
  .hero-logo{
    width:138px;
    max-width:54vw;
  }
}
