@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#0a0a0a;color:#fff;font-family:Inter,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.wrap{width:min(calc(100% - 32px),1440px);margin:auto}.display{font-family:'Cormorant Garamond',serif;font-weight:500;letter-spacing:-.035em}.eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:600}.faded{color:#ffffff73}.dark{color:#0008}.muted{color:#0009;line-height:1.7}.mutedLight{color:#ffffff88;max-width:430px}.header{position:fixed;inset:0 0 auto;z-index:40;background:#0008;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff1a}.nav{height:80px;display:flex;align-items:center;justify-content:space-between}.logo{font-size:24px;font-weight:900;letter-spacing:-.08em}.nav nav{display:flex;align-items:center;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.16em}.desktopLink{font-size:12px;text-transform:uppercase;letter-spacing:.16em}.menuBtn,.mobileBook{display:none}.primary,.secondary{min-height:46px;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;border:0}.primary{background:#fff;color:#0a0a0a}.secondary{background:transparent;border:1px solid currentColor;color:inherit}.black{background:#0a0a0a!important;color:#fff!important}.hero{min-height:94vh;position:relative;display:flex;align-items:flex-end}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.heroShade,.cardShade{position:absolute;inset:0;background:linear-gradient(to top,#000 0%,#0005 55%,#0004 100%)}.heroContent{position:relative;z-index:2;padding:150px 0 70px}.hero h1{font-size:clamp(64px,9vw,140px);line-height:.78;margin:20px 0 0}.heroBottom{margin-top:34px;display:flex;align-items:flex-end;justify-content:space-between;gap:50px}.heroBottom>p{max-width:590px;color:#ffffffb3;line-height:1.7}.actions{display:flex;gap:10px;flex-wrap:wrap}.branchPills{display:flex;gap:8px;margin-top:38px}.branchPills button{padding:10px 16px;background:transparent;color:inherit;border:1px solid #ffffff66;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.branchPills button.active{background:#fff;color:#000;border-color:#fff}.section{padding:110px 0}.light{background:#f7f5f2;color:#0a0a0a}.two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.sectionTitle{font-size:clamp(50px,6vw,88px);line-height:.92;margin:18px 0 30px}.editorial{width:100%;aspect-ratio:4/5;object-fit:cover}.titleRow{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff1c}.serviceCard{min-height:520px;position:relative;overflow:hidden}.serviceCard>img,.branchCard>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s}.serviceCard:hover>img,.branchCard:hover>img{transform:scale(1.04)}.serviceInfo{position:absolute;inset:auto 0 0;padding:28px;z-index:2}.serviceInfo h3{font-size:38px;margin:5px 0 15px}.serviceInfo span,.serviceInfo small{color:#ffffffaa}.serviceItems{display:grid;grid-template-columns:1fr 1fr;gap:5px}.serviceInfo button{position:absolute;right:25px;top:30px;width:46px;height:46px;border:1px solid #ffffff66;background:transparent;color:#fff}.offerList{border-top:1px solid #ffffff2b}.offerRow{display:grid;grid-template-columns:70px 1fr 1fr 150px;gap:20px;align-items:center;padding:30px 0;border-bottom:1px solid #ffffff2b}.offerRow h3{font-size:34px;margin:0}.offerRow b{font-size:22px}.offerRow p{color:#ffffff80;margin:8px 0 0}.packagesSection{background:#f3f0eb;color:#0a0a0a;font-family:'Poppins',sans-serif}.packagesSection .display{font-family:'Poppins',sans-serif;font-weight:500;letter-spacing:-.035em}.packageIntro{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:end}.packageIntro .sectionTitle{margin-bottom:0}.packageIntro>.muted{max-width:560px;margin:0 0 8px}.packageBlock{margin-top:72px}.packageBlockHead{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:24px;border-bottom:1px solid #0002}.packageBlockHead h3{font-size:clamp(38px,4vw,62px);line-height:1.05;margin:12px 0 0}.packageBlockHead>p{max-width:520px;color:#0008;line-height:1.7;margin:0;font-size:14px}.packageKicker{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;font-weight:700}.valuePackageGrid{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid #0002;border-top:1px solid #0002;margin-top:28px}.valuePackageCard{min-height:390px;padding:28px 24px;border-right:1px solid #0002;border-bottom:1px solid #0002;display:flex;flex-direction:column;position:relative;background:#f8f6f2;transition:.3s}.valuePackageCard:hover{transform:translateY(-4px);box-shadow:0 18px 45px #0000000f;z-index:2}.packageNumber{font-size:11px;letter-spacing:.18em;color:#0006;margin-bottom:34px}.packageValueGroup{margin-bottom:24px}.packageLabel{font-size:11px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#0009}.valuePackageCard h4{font-family:'Poppins',sans-serif;font-size:38px;font-weight:500;letter-spacing:-.04em;line-height:1;margin:10px 0 0}.freeValue{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 20px;padding-top:20px;border-top:1px solid #0002}.freeValueLabel{margin:0;font-size:10px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#0008}.freeValue b{font-family:'Poppins',sans-serif;font-size:27px;font-weight:700;letter-spacing:-.025em}.packageValidity{display:flex;flex-direction:column;gap:4px;margin-bottom:24px}.packageValidity span{font-size:11px;font-weight:600;color:#111;text-transform:uppercase;letter-spacing:.08em}.packageValidity small{font-size:10px;color:#0008;text-transform:uppercase;letter-spacing:.12em}.valuePackageCard button{margin-top:auto;width:100%}.comboBlock{margin-top:100px}.comboPackageGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.comboPackageCard{background:#fff;border:1px solid #0002;padding:28px;display:flex;flex-direction:column;min-height:520px}.comboTop{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #0002;padding-bottom:20px}.comboTop>span{font-size:11px;letter-spacing:.16em;color:#0006}.comboPrice{font-family:'Poppins',sans-serif;font-size:42px;line-height:1;font-weight:600;letter-spacing:-.04em}.comboPackageCard>.packageLabel{margin:24px 0 16px;color:#000}.comboPackageCard ul{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:11px}.comboPackageCard li{display:flex;gap:10px;align-items:flex-start;color:#000b;font-size:14px;line-height:1.4}.comboPackageCard li svg{flex:0 0 auto;margin-top:2px}.comboPackageCard button{margin-top:auto;width:100%}.packageNote{margin:24px 0 0;color:#0007;font-size:12px;line-height:1.7}.packagesSection .secondary:hover{background:#0a0a0a;color:#fff}.packagesSection .primary:hover{opacity:.86}
.branchGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.branchCard{min-height:620px;position:relative;overflow:hidden;cursor:pointer}.branchCard.selected{outline:1px solid #111}.branchInfo{position:absolute;z-index:2;inset:auto 0 0;padding:38px;color:#fff}.branchInfo h3{font-size:58px;margin:8px 0}.branchInfo p{color:#ffffffa0}.whyList{border-top:1px solid #ffffff2b}.whyList>div{display:grid;grid-template-columns:70px 1fr 1fr;gap:20px;padding:28px 0;border-bottom:1px solid #ffffff2b}.whyList p{color:#ffffff88;margin:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:10px}.gallery img{width:100%;height:100%;object-fit:cover}.gallery .big{grid-column:span 2;grid-row:span 2}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.reviews blockquote{margin:0;padding-top:25px;border-top:1px solid #0003}.reviews blockquote p{font-size:30px}.reviews small{color:#0008;text-transform:uppercase;letter-spacing:.1em}.note{display:block;margin-top:30px;color:#0007}.darkPills button{color:#111;border-color:#0004}.darkPills button.active{background:#111;color:#fff}.contactName{font-size:46px;margin:35px 0 10px}.contactActions{margin-top:28px}.darkBorder{color:#111}.map{width:100%;height:440px;border:0;filter:grayscale(1)}footer{padding:65px 0;border-top:1px solid #ffffff1f}.footerGrid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}.footerGrid>div{display:flex;flex-direction:column;gap:10px}.footerGrid p,.footerGrid a,.footerGrid span{color:#ffffff80;font-size:14px}.footerCredit{margin-top:48px;padding-top:22px;border-top:1px solid #ffffff1f;display:flex;align-items:center;justify-content:center;gap:6px;color:#ffffff70;font-size:12px;letter-spacing:.04em}.footerCredit a{color:#fff;font-weight:600;text-decoration:none;transition:opacity .2s ease}.footerCredit a:hover{opacity:.7}.floating{position:fixed;right:24px;bottom:24px;z-index:30;display:flex;align-items:center}.floating .floatingBookButton{height:54px;background:#c6a15b;color:#080808;border:1px solid #c6a15b;padding:0 28px;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:600;cursor:pointer;transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease}.floating .floatingBookButton:hover{background:#fff;border-color:#fff;color:#080808;transform:translateY(-2px)}.mobileBar{display:none}.mobileMenu{position:fixed;inset:0;z-index:60;background:#000;padding:25px;display:flex;flex-direction:column;gap:20px}.mobileMenu>div{display:flex;justify-content:space-between}.mobileMenu>div button{background:none;border:0;color:#fff}.mobileMenu>a{font-family:'Cormorant Garamond';font-size:48px}.overlay{position:fixed;inset:0;z-index:70;background:#000c;display:grid;place-items:center;padding:20px}.picker{width:min(100%,520px);background:#f7f5f2;color:#111;padding:28px}.picker>div{display:flex;justify-content:space-between}.picker h3{font-size:40px;margin:0 0 15px}.picker button{background:none;border:0}.picker>a{display:flex;flex-direction:column;border:1px solid #0003;padding:18px;margin-top:10px}.picker span{color:#0008;margin-top:4px}.booking{width:min(100%,950px);background:#f7f5f2;color:#111;display:grid;grid-template-columns:.85fr 1.15fr}.booking aside{background:#000;color:#fff;padding:38px;position:relative}.booking aside h3{font-size:54px;margin:15px 0 25px}.booking aside label{display:flex;flex-direction:column;border:1px solid #ffffff38;padding:16px;margin-top:10px}.booking aside label.activeChoice{border-color:#c6a15b}.booking aside input{display:none}.booking aside span{color:#ffffff80;font-size:12px;margin-top:4px}.modalClose{position:absolute;right:25px;top:25px;background:none;border:0;color:#fff}.booking form{padding:38px;display:grid;grid-template-columns:1fr 1fr;gap:22px}.booking form label{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.booking input,.booking select,.booking textarea{width:100%;border:0;border-bottom:1px solid #555;background:transparent;padding:12px 0;outline:0}.booking .full{grid-column:1/-1}.modalOverlay{overflow:auto}.menuBtn,.mobileBook{background:transparent;color:#fff;border:0}
@media(max-width:1100px){.valuePackageGrid{grid-template-columns:repeat(3,1fr)}.comboPackageGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.nav nav,.desktopLink{display:none}.menuBtn,.mobileBook{display:block}.mobileBook{border:1px solid #ffffff70;padding:8px 12px;text-transform:uppercase;font-size:11px}.two,.branchGrid{grid-template-columns:1fr}.serviceGrid{grid-template-columns:1fr 1fr}.offerRow{grid-template-columns:45px 1fr}.offerRow>div,.offerRow>button{grid-column:2}.whyList>div{grid-template-columns:45px 1fr}.whyList p{grid-column:2}.footerGrid{grid-template-columns:1fr 1fr}.floating{display:none}.mobileBar{display:grid;position:fixed;inset:auto 0 0;z-index:40;grid-template-columns:repeat(3,1fr);background:#000;border-top:1px solid #ffffff22}.mobileBar button{height:64px;background:#000;color:#fff;border:0;display:grid;place-items:center;font-size:11px}.mobileBar button:nth-child(2){border-left:1px solid #ffffff22;border-right:1px solid #ffffff22}.mobileBar button:last-child{background:#fff;color:#000}.booking{grid-template-columns:1fr}.booking form{grid-template-columns:1fr}.booking .full{grid-column:auto}.heroBottom{display:block}.actions{margin-top:25px}.titleRow{display:block}.packageIntro{grid-template-columns:1fr;gap:20px}.packageBlockHead{display:block}.packageBlockHead>p{margin-top:15px}.valuePackageGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.section{padding:80px 0}.serviceGrid{grid-template-columns:1fr}.serviceCard{min-height:500px}.heroContent{padding-top:130px}.hero h1{font-size:62px}.heroBottom>p{font-size:14px}.primary,.secondary{font-size:10px;padding:11px 13px}.sectionTitle{font-size:50px}.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.reviews{grid-template-columns:1fr}.footerGrid{grid-template-columns:1fr}.footerCredit{margin-top:36px;padding-top:18px;flex-wrap:wrap;text-align:center}.booking aside,.booking form{padding:25px}.booking aside h3{font-size:44px}.overlay{padding:0;align-items:end}.picker{max-height:80vh}.modalOverlay{align-items:start;padding:0}.booking{min-height:100vh}.branchInfo{padding:24px}.branchInfo h3{font-size:48px}.comboPackageGrid,.valuePackageGrid{grid-template-columns:1fr}.comboPackageCard{min-height:auto}.valuePackageCard{min-height:310px}.packageBlock{margin-top:55px}.comboBlock{margin-top:75px}.comboPrice{font-size:44px}}

.packagesSection button,.packagesSection select,.packagesSection input{font-family:'Poppins',sans-serif}

/* =========================================================
   SERVICE / PACKAGE CUSTOM PICKER
   ========================================================= */
.servicePackageFormField{
  position:relative;
  z-index:12;
}
.formFieldLabel{
  display:block;
  margin-bottom:0;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
.servicePackageField{
  position:relative;
  width:100%;
  font-family:'Poppins',sans-serif;
  text-transform:none;
  letter-spacing:normal;
}
.servicePackageTrigger{
  width:100%;
  min-height:48px;
  padding:12px 4px 12px 0;
  border:0;
  border-bottom:1px solid #555;
  background:transparent;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  text-align:left;
  font-family:'Poppins',sans-serif;
  font-size:14px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}
.servicePackageTrigger .placeholder{
  font-weight:400;
  color:#111;
}
.servicePackageTrigger svg{
  flex:0 0 auto;
  transition:transform .2s ease;
}
.servicePackageTrigger.open svg{
  transform:rotate(180deg);
}
.servicePackageDropdown{
  position:absolute;
  z-index:180;
  top:calc(100% + 10px);
  left:0;
  width:min(780px,calc(100vw - 48px));
  max-height:520px;
  overflow-y:auto;
  overscroll-behavior:contain;
  background:#fff;
  color:#111;
  border:1px solid #d9d3cb;
  box-shadow:0 24px 70px rgba(0,0,0,.24);
  font-family:'Poppins',sans-serif;
}
.pickerSection{
  padding:18px;
  border-bottom:1px solid #eee9e2;
}
.pickerSection:last-child{
  border-bottom:0;
}
.pickerSectionTitle{
  margin-bottom:14px;
  color:#77716a;
  font-size:10px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.serviceOptionGroup{
  margin-bottom:14px;
}
.serviceOptionGroup:last-child{
  margin-bottom:0;
}
.serviceGroupButton{
  width:100%;
  padding:10px 12px;
  border:1px solid transparent;
  background:#f4f1ed;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  text-align:left;
  font-family:'Poppins',sans-serif;
  font-size:12px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}
.serviceGroupButton small{
  color:#8b857e;
  font-size:8px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.serviceGroupButton:hover,
.serviceGroupButton.selected{
  border-color:#111;
}
.serviceOptionList{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  padding-top:8px;
}
.serviceOptionList button{
  padding:8px 10px;
  border:1px solid #ddd7d0;
  background:#fff;
  color:#222;
  font-family:'Poppins',sans-serif;
  font-size:10px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}
.serviceOptionList button:hover,
.serviceOptionList button.selected{
  background:#111;
  border-color:#111;
  color:#fff;
}
.offerPickerList{
  display:grid;
  gap:8px;
}
.offerPickerCard{
  width:100%;
  padding:12px;
  border:1px solid #ddd7d0;
  background:#fff;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  text-align:left;
  font-family:'Poppins',sans-serif;
  text-transform:none;
  letter-spacing:0;
}
.offerPickerCard>span{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.offerPickerCard b{
  font-size:11px;
}
.offerPickerCard small{
  color:#777;
  font-size:9px;
  line-height:1.45;
}
.offerPickerCard strong{
  white-space:nowrap;
  font-size:11px;
}
.offerPickerCard:hover,
.offerPickerCard.selected{
  border-color:#111;
  background:#f7f4f0;
}
.valuePickerGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.valuePickerCard{
  min-height:270px;
  padding:16px;
  border:1px solid #ddd7d0;
  background:#faf8f5;
  color:#111;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  font-family:'Poppins',sans-serif;
  text-transform:none;
  letter-spacing:0;
  transition:.2s ease;
}
.valuePickerCard:hover,
.valuePickerCard.selected{
  border-color:#111;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
  transform:translateY(-1px);
}
.pickerPackageNumber{
  margin-bottom:14px;
  color:#aaa39b;
  font-size:9px;
  letter-spacing:.16em;
}
.pickerPackageLabel{
  color:#6c665f;
  font-size:8px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.pickerPackageAmount{
  margin-top:5px;
  font-size:24px;
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.035em;
}
.pickerPackageDivider{
  width:100%;
  height:1px;
  margin:14px 0;
  background:#e4dfd8;
}
.pickerFreeAmount{
  margin-top:5px;
  font-size:19px;
  line-height:1.1;
  font-weight:700;
}
.pickerValidity{
  margin-top:14px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.pickerTerms{
  margin-top:3px;
  color:#7a746d;
  font-size:8px;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.pickerChooseText{
  width:100%;
  margin-top:auto;
  padding-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid #e4dfd8;
  color:#111;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.comboPickerList{
  display:grid;
  gap:10px;
}
.comboPickerCard{
  width:100%;
  padding:15px;
  border:1px solid #ddd7d0;
  background:#fff;
  color:#111;
  text-align:left;
  font-family:'Poppins',sans-serif;
  text-transform:none;
  letter-spacing:0;
  transition:.2s ease;
}
.comboPickerCard:hover,
.comboPickerCard.selected{
  border-color:#111;
  background:#faf8f5;
}
.comboPickerHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding-bottom:11px;
  border-bottom:1px solid #ece8e2;
}
.comboPickerHead>span{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.comboPickerHead b{
  font-size:12px;
}
.comboPickerHead small{
  color:#888;
  font-size:8px;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.comboPickerHead strong{
  white-space:nowrap;
  font-size:15px;
}
.comboPickerCard ul{
  list-style:none;
  margin:12px 0 0;
  padding:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px 12px;
}
.comboPickerCard li{
  display:flex;
  align-items:flex-start;
  gap:6px;
  color:#555;
  font-size:9px;
  line-height:1.4;
}
.comboPickerCard li svg{
  flex:0 0 auto;
  margin-top:1px;
}
.comboChooseText{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid #ece8e2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#111;
  font-size:9px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
}

@media(max-width:900px){
  .servicePackageDropdown{
    width:100%;
    max-height:58vh;
  }
}

@media(max-width:600px){
  .servicePackageDropdown{
    position:fixed;
    left:12px;
    right:12px;
    top:auto;
    bottom:76px;
    width:auto;
    max-height:64vh;
  }

  .valuePickerGrid{
    grid-template-columns:1fr;
  }

  .comboPickerCard ul{
    grid-template-columns:1fr;
  }
}

/* =========================================================
   BLOGS / TONI&GUY JOURNAL
   ========================================================= */
.nav nav{
  gap:24px;
}

.blogsSection{
  background:#efede8;
  color:#0a0a0a;
}

.blogSectionHead{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:70px;
  align-items:end;
  margin-bottom:48px;
}

.blogSectionHead .sectionTitle{
  margin-bottom:0;
}

.blogSectionHead>.muted{
  max-width:560px;
  margin:0 0 8px;
}

.blogGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.blogCard{
  background:#f8f6f2;
  border:1px solid #0000001c;
  display:flex;
  flex-direction:column;
  min-width:0;
}

.blogImageButton{
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  padding:0;
  border:0;
  background:#ddd;
}

.blogImageButton img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .6s ease;
}

.blogCard:hover .blogImageButton img{
  transform:scale(1.04);
}

.blogIndex{
  position:absolute;
  top:16px;
  left:16px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#111;
  font-size:10px;
  letter-spacing:.12em;
  font-weight:700;
}

.blogCardBody{
  padding:25px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.blogMeta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:#77716b;
  font-family:'Poppins',sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.blogCard h3{
  margin:18px 0 14px;
  font-size:34px;
  line-height:1.02;
}

.blogCardBody>p{
  margin:0 0 24px;
  color:#0000009c;
  font-size:13px;
  line-height:1.7;
}

.blogReadButton{
  margin-top:auto;
  padding:14px 0 4px;
  border:0;
  border-top:1px solid #00000025;
  background:transparent;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-family:'Poppins',sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.blogReadButton svg{
  transition:transform .2s ease;
}

.blogReadButton:hover svg{
  transform:translateX(4px);
}

.blogModalOverlay{
  z-index:220;
  overflow:auto;
  padding:28px;
  align-items:start;
}

.blogModal{
  position:relative;
  width:min(100%,980px);
  margin:auto;
  background:#f7f5f2;
  color:#111;
  box-shadow:0 30px 90px rgba(0,0,0,.38);
}

.blogModalClose{
  position:absolute;
  top:18px;
  right:18px;
  z-index:5;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid #ffffff88;
  background:#0000009c;
  color:#fff;
}

.blogModalHero{
  width:100%;
  height:min(44vw,420px);
  min-height:280px;
}

.blogModalHero img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.blogModalContent{
  padding:48px;
}

.blogModalContent h2{
  max-width:820px;
  margin:18px 0 20px;
  font-size:clamp(48px,6vw,76px);
  line-height:.92;
}

.blogLead{
  max-width:790px;
  margin:0;
  color:#000000a0;
  font-size:16px;
  line-height:1.8;
}

.blogArticleSections{
  margin-top:42px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-top:1px solid #00000024;
  border-left:1px solid #00000024;
}

.blogArticleSections section{
  padding:28px;
  border-right:1px solid #00000024;
  border-bottom:1px solid #00000024;
}

.blogArticleSections h3{
  margin:0 0 10px;
  font-family:'Poppins',sans-serif;
  font-size:15px;
}

.blogArticleSections p{
  margin:0;
  color:#0000009b;
  font-size:13px;
  line-height:1.75;
}

.blogClosing{
  margin-top:38px;
  padding-top:30px;
  border-top:1px solid #00000024;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}

.blogClosing p{
  max-width:650px;
  margin:0;
  color:#000000a0;
  font-size:14px;
  line-height:1.75;
}

@media(max-width:1100px){
  .nav nav{
    gap:18px;
  }

  .nav nav>a{
    font-size:11px;
  }

  .blogCard h3{
    font-size:30px;
  }
}

@media(max-width:900px){
  .blogSectionHead{
    grid-template-columns:1fr;
    gap:18px;
  }

  .blogGrid{
    grid-template-columns:1fr 1fr;
  }

  .blogModalContent{
    padding:35px;
  }
}

@media(max-width:600px){
  .blogGrid{
    grid-template-columns:1fr;
  }

  .blogCard h3{
    font-size:32px;
  }

  .blogModalOverlay{
    padding:0;
  }

  .blogModal{
    min-height:100vh;
  }

  .blogModalHero{
    height:310px;
    min-height:0;
  }

  .blogModalContent{
    padding:28px 22px 90px;
  }

  .blogModalContent h2{
    font-size:48px;
  }

  .blogArticleSections{
    grid-template-columns:1fr;
  }

  .blogClosing{
    align-items:stretch;
    flex-direction:column;
  }

  .blogClosing .primary{
    width:100%;
  }
}


/* Header alignment update */
@media(min-width:901px){
  .nav{
    justify-content:flex-start;
  }

  .nav>.logo{
    flex:0 0 auto;
    margin-right:auto;
  }

  .nav nav{
    margin-left:auto;
  }
}

/* Bridal & Groom Makeup — featured 7th service card */
.serviceGrid .serviceCard:nth-child(7){
  grid-column:1 / -1;
  min-height:440px;
}

.serviceGrid .serviceCard:nth-child(7) .serviceInfo{
  padding:34px;
}

.serviceGrid .serviceCard:nth-child(7) .serviceInfo h3{
  font-size:48px;
  max-width:620px;
}

.serviceGrid .serviceCard:nth-child(7) .serviceItems{
  grid-template-columns:repeat(2,minmax(120px,220px));
  max-width:460px;
}

@media(max-width:900px){
  .serviceGrid .serviceCard:nth-child(7){
    grid-column:1 / -1;
    min-height:420px;
  }
}

@media(max-width:600px){
  .serviceGrid .serviceCard:nth-child(7){
    grid-column:auto;
    min-height:500px;
  }

  .serviceGrid .serviceCard:nth-child(7) .serviceInfo{
    padding:28px;
  }

  .serviceGrid .serviceCard:nth-child(7) .serviceInfo h3{
    font-size:38px;
  }

  .serviceGrid .serviceCard:nth-child(7) .serviceItems{
    grid-template-columns:1fr 1fr;
  }
}
