:root{
  --cream:#F1EDE3;
  --ivory:#FBF8F0;
  --taupe:#9B876A;
  --latte:#C4AE8B;
  --mocha:#5A4130;
  --coffee:#3E2C22;
  --espresso:#20150F;
  --line:rgba(90,65,48,.16);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--mocha);font-family:var(--sans);line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:20;padding:16px 0;background:rgba(241,237,227,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand img{width:min(250px,44vw);height:auto}
.nav-actions{display:flex;align-items:center;gap:12px}
.link{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--mocha);border-radius:999px;background:var(--mocha);color:var(--ivory);font-size:.7rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.hero{padding:88px 0 54px;text-align:center;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;width:430px;aspect-ratio:1;border:1px solid rgba(90,65,48,.08);border-radius:50%;right:-180px;top:-220px}
.eyebrow{color:var(--taupe);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
h1{font-family:var(--serif);font-size:clamp(3.5rem,8vw,7.8rem);line-height:.9;letter-spacing:-.045em;margin:18px 0 24px;font-weight:600}
.intro{max-width:680px;margin-inline:auto;color:rgba(90,65,48,.72);font-size:1.05rem}
.gallery{padding:24px 0 96px}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.gallery-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.gallery-grid.single{grid-template-columns:minmax(0,760px);justify-content:center}
.photo{margin:0;border-radius:34px;overflow:hidden;background:var(--espresso);box-shadow:0 22px 70px rgba(62,44,34,.15)}
.photo img{width:100%;height:auto;object-fit:contain;background:var(--espresso)}
.footer-cta{background:var(--mocha);color:var(--ivory);padding:64px 20px;text-align:center}
.footer-cta h2{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4.8rem);line-height:.95;margin:0 0 24px;font-weight:600}
.footer-cta .btn{background:var(--ivory);color:var(--mocha);border-color:var(--ivory)}
@media(max-width:720px){
  .container{width:min(100% - 28px,1120px)}
  .site-header{padding:12px 0}.link{display:none}.btn{min-height:44px;padding:0 16px}
  .hero{padding:66px 0 40px}.gallery{padding-bottom:72px}.gallery-grid,.gallery-grid.three{grid-template-columns:1fr;gap:16px}.photo{border-radius:24px}
}
