*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f1ea;color:#201e1a;font-family:Inter,Arial,sans-serif;font-weight:300}.topbar{height:76px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 4vw;border-bottom:1px solid rgba(32,30,26,.25);position:sticky;top:0;background:rgba(244,241,234,.94);backdrop-filter:blur(10px);z-index:20}.nav{display:flex;gap:2.6vw}.nav.right{justify-content:flex-end}.nav a,.menu-toggle{font-size:10px;letter-spacing:.18em;color:inherit;text-decoration:none}.brand-mark{font-family:'Cormorant Garamond',serif;text-decoration:none;color:inherit;white-space:nowrap;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.brand-name{font-family:Inter,Arial,sans-serif;font-size:17px;font-weight:300;letter-spacing:.32em;padding-left:.32em}.brand-byline{font-family:'Cormorant Garamond',serif;font-size:7px;font-weight:400;letter-spacing:.12em;margin-top:4px}.menu-toggle{display:none;border:0;background:transparent}.hero{position:relative;padding:22px 4vw 6vw}.hero-grid{height:70vh;min-height:520px;display:grid;grid-template-columns:1fr 1.05fr 1fr;overflow:hidden}.hero figure{margin:0;overflow:hidden}.hero img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(.97)}.hero-grid figure:nth-child(2) img{filter:grayscale(1) contrast(.9)}.hero-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#f7f4ee;text-align:center;pointer-events:none;text-shadow:0 1px 20px rgba(0,0,0,.35)}.hero-copy h1{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,68px);font-weight:400;margin:0}.hero-copy em{font-weight:400}.hero-copy p{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:22px;margin-top:10px}.editorial-section{padding:10vw 8vw}.eyebrow{font-size:10px;letter-spacing:.22em}.intro{text-align:center}.intro h2,.gallery h2,.engagement h2,.inquire h2{font-family:'Cormorant Garamond',serif;font-size:clamp(46px,6vw,88px);font-weight:400;line-height:.95;margin:20px 0 50px}.intro-columns{max-width:850px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;text-align:left;line-height:1.8;font-size:13px}.weddings{position:relative;min-height:790px;text-align:center;overflow:hidden}.ghost-title{font-family:'Cormorant Garamond',serif;font-size:clamp(90px,15vw,240px);color:#d9d5cc;line-height:.75;white-space:nowrap;position:absolute;left:50%;top:10vw;transform:translateX(-50%);z-index:0}.feature-portrait{position:relative;z-index:1;width:min(310px,45vw);height:470px;object-fit:cover;margin-top:80px;box-shadow:0 0 0 6px #f4f1ea}.service-copy{max-width:620px;margin:48px auto 0;font-size:12px;line-height:1.8}.service-copy a{display:inline-block;margin-top:24px;color:inherit;font-size:10px;letter-spacing:.18em}.gallery-heading{text-align:center}.gallery-heading h2{margin-bottom:20px}.gallery-heading p{font-family:'Cormorant Garamond',serif;font-style:italic;color:#817c73;font-size:24px;line-height:1.2}.collage{max-width:1000px;height:720px;margin:70px auto 0;position:relative}.collage img{position:absolute;object-fit:cover}.c1{left:4%;top:120px;width:18%;height:310px}.c2{left:20%;top:300px;width:15%;height:220px}.c3{left:42%;top:80px;width:16%;height:260px}.c4{right:9%;top:220px;width:20%;height:300px}.c5{right:28%;top:360px;width:18%;height:230px}.c6{right:12%;top:30px;width:12%;height:150px}.vertical-note{position:absolute;right:5%;top:520px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.18em}.engagement{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}.engagement-image img{width:100%;height:720px;object-fit:cover}.engagement-copy h2{font-size:clamp(48px,5vw,78px)}.engagement-copy>p:last-child{max-width:480px;line-height:1.8;font-size:13px}.inquire{background:#171715;color:#f3efe8;text-align:center;padding:10vw 6vw}.footer-logo{width:min(520px,72vw);margin-bottom:35px}.inquire>p{font-size:10px;letter-spacing:.2em}.inquire h2{font-size:clamp(44px,6vw,86px);margin:28px 0 40px}.button{display:inline-block;border:1px solid #f3efe8;padding:16px 28px;color:#f3efe8;text-decoration:none;font-size:10px;letter-spacing:.18em}.inquire small{display:block;margin-top:90px;font-size:9px;letter-spacing:.15em;color:#aaa69e}
@media(max-width:760px){.topbar{height:64px;grid-template-columns:1fr auto 1fr}.nav{display:none}.menu-toggle{display:block;text-align:left}.brand-name{font-size:13px;letter-spacing:.28em;padding-left:.28em}.brand-byline{font-size:6px;margin-top:3px}.hero{padding:12px 12px 60px}.hero-grid{height:72vh;min-height:540px;grid-template-columns:1fr 1fr}.hero-grid figure:nth-child(1){display:none}.hero-copy{padding:0 28px}.hero-copy h1{font-size:39px}.hero-copy p{font-size:17px}.editorial-section{padding:24vw 7vw}.intro-columns{grid-template-columns:1fr;gap:18px}.intro h2{font-size:50px}.weddings{min-height:680px}.ghost-title{top:20vw;font-size:25vw}.feature-portrait{width:55vw;height:400px;margin-top:90px}.gallery-heading p{font-size:20px}.collage{height:650px;margin-top:45px}.c1{left:0;top:70px;width:35%;height:250px}.c2{left:23%;top:290px;width:29%;height:190px}.c3{left:44%;top:40px;width:27%;height:190px}.c4{right:0;top:270px;width:34%;height:230px}.c5{right:28%;top:460px;width:28%;height:165px}.c6{right:0;top:40px;width:22%;height:140px}.vertical-note{right:1%;top:525px}.engagement{grid-template-columns:1fr;padding-top:8vw}.engagement-image img{height:570px}.inquire{padding:26vw 7vw 12vw}.footer-logo{width:84vw}.inquire small{margin-top:70px}}
/* V7 footer refinements */
.inquire h2{
  font-size:22px;
  font-style:italic;
  line-height:1.2;
  margin:28px 0 34px;
}

@media(max-width:760px){
  .inquire h2{font-size:20px;}
}

/* V9 — wedding package editorial layout */
.investment{
  padding:110px 6vw 130px;
}
.investment-heading{
  max-width:1180px;
  margin:0 auto 90px;
  text-align:center;
}
.investment-heading .eyebrow{
  font-size:10px;
  letter-spacing:.28em;
  margin-bottom:22px;
}
.investment-heading h2{
  max-width:1100px;
  margin:0 auto 34px;
}
.investment-intro{
  max-width:760px;
  margin:0 auto;
}

.package-grid{
  display:block !important;
  max-width:1180px !important;
  margin:0 auto !important;
  border-top:1px solid rgba(32,30,26,.25) !important;
  border-left:0 !important;
}

.package-card{
  text-align:left !important;
  padding:78px 58px 82px !important;
  min-height:0 !important;
  border-right:0 !important;
  border-bottom:1px solid rgba(32,30,26,.25) !important;
}

.package-number{
  margin:0 0 60px !important;
  font-size:18px !important;
  color:#aaa49a;
}

.package-card h3{
  margin:0 0 18px !important;
  font-size:34px !important;
}

.package-price{
  margin:0 0 38px !important;
}

.package-description{
  max-width:650px !important;
  margin:0 0 38px !important;
  text-align:left !important;
}

.package-card ul{
  max-width:none !important;
  width:100% !important;
  margin:0 0 34px !important;
  text-align:left !important;
}

.package-card li{
  padding:11px 0 !important;
}

.package-tagline{
  text-align:left !important;
  margin:36px 0 0 !important;
}

.package-note{
  text-align:left !important;
}

@media(max-width:760px){
  .investment{padding:75px 22px 90px}
  .investment-heading{margin-bottom:60px}
  .package-card{padding:55px 10px 60px !important}
  .package-number{margin-bottom:42px !important}
  .package-card h3{font-size:27px !important}
  .package-description{max-width:100% !important}
}

/* V12 — centered package headings with tidy centered inclusion list */
.package-card{
  text-align:center !important;
}

.package-number,
.package-card h3,
.package-price,
.package-tagline,
.package-note{
  text-align:center !important;
}

.package-description{
  max-width:650px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
}

/* Keep the inclusions as a neat editorial list, centered as a block */
.package-card ul{
  list-style:none !important;
  max-width:760px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  text-align:left !important;
}

.package-card li{
  position:relative !important;
  text-align:left !important;
  padding:11px 12px 11px 30px !important;
}

.package-card li::before{
  content:"—" !important;
  position:absolute !important;
  left:0 !important;
  top:11px !important;
  margin:0 !important;
  color:#8c877e !important;
}

/* Prevent browser bullets from appearing */
.package-card li::marker{
  content:"" !important;
}

/* V13 — elegant serif package titles */
.package-card h3{
  font-family:'Cormorant Garamond',serif !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
}

/* V14 — centre package inclusion bullets only */
.package-card ul{
  text-align:center !important;
}

.package-card li{
  display:flex !important;
  justify-content:center !important;
  align-items:baseline !important;
  gap:12px !important;
  padding-left:0 !important;
  text-align:center !important;
}

.package-card li::before{
  content:"—" !important;
  position:static !important;
  flex:0 0 auto !important;
}

/* V15 — wedding packages intro typography ONLY */
.investment-heading h2{
  font-family:'Cormorant Garamond',serif !important;
  font-size:clamp(52px,6vw,86px) !important;
  font-weight:400 !important;
  line-height:.98 !important;
  letter-spacing:0 !important;
}

.investment-heading h2 em{
  font-family:'Cormorant Garamond',serif !important;
  font-weight:400 !important;
  font-style:italic !important;
}

.investment-intro{
  font-size:13px !important;
  line-height:1.8 !important;
  max-width:650px !important;
  font-weight:400 !important;
}

@media(max-width:760px){
  .investment-heading h2{
    font-size:clamp(42px,12vw,60px) !important;
  }
  .investment-intro{
    font-size:12px !important;
  }
}

/* V16 — mobile navigation fix ONLY */
.mobile-menu{
  display:none;
}

@media(max-width:760px){
  .topbar{
    position:sticky;
  }

  .mobile-menu{
    position:absolute;
    top:64px;
    left:0;
    right:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
    padding:28px 24px 34px;
    background:#f4f1ea;
    border-bottom:1px solid rgba(32,30,26,.25);
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    pointer-events:none;
    transition:opacity .2s ease, transform .2s ease, visibility .2s ease;
    z-index:30;
  }

  .mobile-menu.is-open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }

  .mobile-menu a{
    width:100%;
    padding:16px 0;
    border-bottom:1px solid rgba(32,30,26,.12);
    color:#201e1a;
    text-align:center;
    text-decoration:none;
    font-size:11px;
    letter-spacing:.18em;
  }

  .mobile-menu a:last-child{
    border-bottom:0;
  }

  .menu-toggle{
    cursor:pointer;
  }
}

/* V17 — mobile WEDDING background title fit ONLY */
@media(max-width:760px){
  .ghost-title{
    font-size:20vw !important;
    width:100% !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    text-align:center !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }
}
