:root{ --blush:#ecddd0; }

.gv-intro{padding:clamp(118px,16vh,168px) 0 clamp(34px,5vw,56px);text-align:center}
.gv-intro h1{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:300;line-height:1.1;max-width:22ch;margin:0 auto 24px}
.gv-intro p{max-width:64ch;margin:0 auto 12px;color:var(--ink-soft)}
.gv-intro .sub{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.3rem;color:var(--gold);margin-bottom:18px}
.gvhero{height:clamp(360px,64vh,640px);overflow:hidden}
.gvhero img{width:100%;height:100%;object-fit:cover;object-position:center 38%}

.block{padding:clamp(64px,9vw,120px) 0;text-align:center}
.block.blush{background:var(--blush)}
.block.alt{background:var(--paper-2)}
.block h2{font-size:clamp(1.8rem,3.8vw,2.9rem);font-weight:300;max-width:24ch;margin:0 auto 24px;line-height:1.12}
.block p{max-width:64ch;margin:0 auto 14px;color:var(--ink-soft)}
.block .btn{margin-top:24px}
.pullq{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:clamp(1.5rem,3vw,2.2rem);color:var(--gold);max-width:26ch;margin:clamp(30px,5vw,48px) auto;line-height:1.3}
.blist{list-style:none;max-width:46ch;margin:14px auto;text-align:center}
.blist li{padding:6px 0;color:var(--ink-soft)}
.blist li::before{content:"— ";color:var(--gold)}

.tiles{display:grid;gap:14px;margin-top:clamp(30px,5vw,52px)}
.grid2{grid-template-columns:repeat(2,1fr)}
.grid3{grid-template-columns:repeat(3,1fr)}
.grid4{grid-template-columns:repeat(4,1fr)}
.grid6{grid-template-columns:repeat(3,1fr)}
.tiles .tile{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:2px;display:block}
.tiles .tile img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.tiles .tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,12,.05) 35%,rgba(20,15,12,.6));transition:.4s var(--ease)}
.tiles .tile:hover img{transform:scale(1.06)}
.tiles .tile span{position:absolute;left:0;right:0;bottom:18px;z-index:2;text-align:center;color:#fff;font-family:'Cormorant Garamond',serif;font-size:1.6rem;letter-spacing:.04em}

.band{height:clamp(320px,52vh,560px);overflow:hidden}
.band img{width:100%;height:100%;object-fit:cover;object-position:center 30%}

.row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,80px);align-items:center;padding:clamp(60px,9vw,120px) 0}
.row .media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px}
.row.flip .copy{order:2}.row.flip .media{order:1}
.row.wide .media img{aspect-ratio:3/2}
.row h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:300;margin-bottom:18px;line-height:1.08}
.row .eyebrow{display:block;margin-bottom:12px}
.row p{color:var(--ink-soft);margin-bottom:14px;max-width:50ch}
.row .actions{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}

.lead{padding:clamp(70px,10vw,120px) 0;text-align:center}
.lead h2{font-size:clamp(1.8rem,3.8vw,2.8rem);font-weight:300;margin-bottom:8px}
.lead .guide{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.5rem;color:var(--gold);margin-bottom:14px}
.lead p.sub{max-width:54ch;margin:0 auto;color:var(--ink-soft)}
.lead-form{max-width:560px;margin:34px auto 0;text-align:left}
.lead-form label{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin:16px 0 6px;color:var(--ink-soft)}
.lead-form input[type=text],.lead-form input[type=email]{width:100%;padding:14px 16px;border:1px solid var(--line);background:#fff;font-family:inherit;font-size:1rem;color:var(--ink)}
.lead-form input:focus{outline:none;border-color:var(--gold)}
.lead-form .consent{display:flex;gap:10px;margin-top:18px;font-size:.82rem;color:var(--ink-soft);line-height:1.5}
.lead-form button{margin-top:24px;width:100%}

.gv-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(30px,5vw,52px)}
.gv-gallery img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:2px}
.gv-gallery.portrait img{aspect-ratio:2/3}

.masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:clamp(30px,5vw,52px)}
.masonry a{display:block;overflow:hidden;border-radius:2px}
.masonry img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform 1s var(--ease)}
.masonry a:hover img{transform:scale(1.05)}

.options{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,40px);margin-top:clamp(34px,5vw,56px);text-align:left}
.opt{background:#fff;padding:clamp(30px,4vw,44px);border:1px solid var(--line)}
.opt h3{font-size:1.5rem;font-weight:400;margin-bottom:14px}
.opt p{color:var(--ink-soft);margin-bottom:12px}
.opt .blist{margin-left:0;text-align:left;max-width:none}

@media(max-width:900px){
  .options{grid-template-columns:1fr}
  .grid6,.grid3,.grid4{grid-template-columns:1fr 1fr}
  .row{grid-template-columns:1fr;gap:26px}
  .row.flip .copy{order:1}.row.flip .media{order:2}
  .masonry{grid-template-columns:1fr 1fr}
}
