@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Libre+Baskerville:ital,wght@0,400;1,400&family=Lora:ital,wght@0,400;1,400&family=Montserrat:wght@300;400;500&family=Playfair+Display:ital,wght@0,400;1,400&family=Poppins:wght@300;400;500&display=swap');
:root{--ink:#153f40;--teal:#2b7875;--text:#526563;--aqua:#e4f1ef;--aqua2:#d7ebe8;--blush:#f7d6df;--lilac:#ddd5e8;--paper:#fffefa;--line:rgba(21,63,64,.17);--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;--sans:'Montserrat',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:var(--serif);font-size:18px;line-height:1.62}img{display:block;max-width:100%}a{color:inherit}.shell{width:min(1180px,calc(100% - 52px));margin:auto}
.header{background:#fff;position:relative;z-index:30;border-bottom:1px solid rgba(21,63,64,.07)}.header-inner{min-height:142px;display:grid;grid-template-columns:205px 1fr 205px;align-items:center}.logo img{width:184px}.nav{display:flex;justify-content:center;gap:38px}.nav a{font-family:var(--sans);text-transform:uppercase;text-decoration:none;letter-spacing:.15em;font-size:11px;color:#314b49;padding:8px 0}.nav a.active,.nav a:hover{color:var(--teal)}.social-top{font-family:var(--sans);text-align:right;font-size:10px;letter-spacing:.18em;color:#586c69}.menu{display:none;border:0;background:none;font-size:28px;color:var(--ink);cursor:pointer}
h1,h2,h3,.page-title{font-family:var(--serif);font-weight:400;color:var(--ink)}.page-head{text-align:center;padding:62px 20px 50px}.page-head .eyebrow,.eyebrow{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}.page-title{font-size:58px;line-height:1;margin:0}.page-subtitle{max-width:720px;margin:20px auto 0;font-size:19px;color:#667673}.accent{font-style:italic;color:var(--teal)}
.hero-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:270px 270px;overflow:hidden}.hero-grid figure{margin:0;overflow:hidden}.hero-grid figure:first-child{grid-row:1/3}.hero-grid img{width:100%;height:100%;object-fit:cover}.welcome{padding:100px 0 110px}.welcome-grid{display:grid;grid-template-columns:1.16fr .68fr;gap:95px;align-items:start}.welcome h1{font-size:56px;line-height:1;margin:0 0 28px}.welcome-copy{font-size:18px;line-height:1.78}.welcome-copy p{margin:0 0 21px}.portrait img{width:100%;aspect-ratio:3/4;object-fit:cover}
.instagram{background:#e4f0ee url('https://static.wixstatic.com/media/bd7b46_57bd483dca0f4c24a7fa11cf8cf9468f~mv2.png') center/cover no-repeat;padding:80px 0;text-align:center}.instagram h2{font-size:46px;margin:0 0 28px;text-transform:lowercase}.insta-card{max-width:940px;margin:auto;background:rgba(255,255,255,.93);padding:30px}.insta-head{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:24px}.insta-avatar{width:62px;height:62px;border-radius:50%;object-fit:cover}.insta-name{font-size:26px;color:var(--ink)}.insta-meta{font-family:var(--sans);font-size:10px;letter-spacing:.05em}.insta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.insta-grid img{width:100%;aspect-ratio:1;object-fit:cover}.insta-link,.text-link{display:inline-block;margin-top:22px;font-family:var(--sans);font-size:10px;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;border-bottom:1px solid var(--ink);padding-bottom:4px}
.services{padding:100px 0 94px}.service-row{display:grid;grid-template-columns:1fr 1fr}.service-tile{position:relative;min-height:560px;overflow:hidden}.service-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.service-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(10,45,45,.08)}.service-overlay a{font-size:54px;color:#fff;text-decoration:none;text-shadow:0 2px 20px rgba(0,0,0,.3)}.mini-services{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin-top:70px}.mini-card img{width:100%;aspect-ratio:1.42;object-fit:cover}.mini-card h3{font-size:40px;text-align:center;margin:18px 0 0;text-transform:lowercase}
.footer{background:#edf5f3;padding:50px 0 28px;margin-top:0}.footer-inner{display:grid;grid-template-columns:1.05fr 1fr 1fr;gap:48px;align-items:start}.footer-logo{width:155px}.footer h3{font-size:27px;margin:0 0 12px}.footer a{display:block;text-decoration:none;margin:7px 0;font-size:16px}.copyright{font-family:var(--sans);text-align:center;margin-top:38px;padding-top:20px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.05em}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-bottom:8px}.portfolio-grid img{display:block;width:100%;max-width:none;min-width:0;aspect-ratio:1/1;height:100%;object-fit:cover}.portfolio-intro{padding-bottom:38px;text-align:center}
.wix-strip{display:grid;grid-template-columns:repeat(3,1fr);height:430px}.wix-strip img{width:100%;height:100%;object-fit:cover}.editorial-two{display:grid;grid-template-columns:1fr 1fr;gap:84px;align-items:center;padding-top:34px;padding-bottom:100px}.editorial-two.reverse{direction:rtl}.editorial-two.reverse>*{direction:ltr}.editorial-image img{width:100%;max-height:720px;object-fit:cover}.editorial-copy h2{font-size:47px;line-height:1.08;margin:0 0 25px}.editorial-copy p{font-size:18px;line-height:1.72}.process{padding:86px 0 95px;background:#fbfdfc}.process h2{font-size:48px;text-align:center;margin:0 0 48px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.process-step{text-align:center}.process-num{font-size:29px;font-style:italic;color:var(--teal);margin-bottom:12px}.process-step h3{font-size:29px;margin:0 0 10px}.process-step p{font-size:16px;line-height:1.7;margin:0}.info-split{display:grid;grid-template-columns:1fr 1fr}.info-panel{padding:78px max(7vw,54px);min-height:420px}.info-panel:first-child{background:#e7f2f0}.info-panel:last-child{background:#f6edf3}.info-panel h2{font-size:44px;margin:0 0 20px}.info-panel p{font-size:18px;line-height:1.72}.button{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;padding:14px 24px;margin-top:16px;font-family:var(--sans);font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.enquiry{padding:88px 0 110px}.soft-section{background:#f3f8f7}.enquiry-inner{max-width:900px;margin:auto}.enquiry h2{text-align:center;font-size:48px;margin:0 0 10px}.enquiry .intro{text-align:center;max-width:650px;margin:0 auto 36px;font-size:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}.field label{display:block;font-family:var(--sans);text-transform:uppercase;letter-spacing:.13em;font-size:10px;margin-bottom:6px;color:#425b58}.field input,.field textarea,.field select{width:100%;padding:14px 15px;border:1px solid #afc6c1;background:#fff;color:#40534f;font-family:var(--sans);font-size:14px;border-radius:0}.field textarea{min-height:155px;resize:vertical}.send{background:var(--ink);border:0;color:#fff;padding:14px 27px;font-family:var(--sans);text-transform:uppercase;letter-spacing:.14em;font-size:10px;cursor:pointer}.direct-email{font-size:17px;margin-top:20px}.direct-email a{font-weight:500}
.remembrance-hero{background:var(--aqua) url('https://static.wixstatic.com/media/bd7b46_c840d43e31c840df899c35a86c5cc8e3~mv2.png') center/cover no-repeat;padding:85px 20px 78px;text-align:center}.remembrance-hero h1{font-size:58px;margin:0}.remembrance-intro{max-width:800px;margin:76px auto 78px;text-align:center}.remembrance-intro h2{font-size:45px;margin:0 0 20px}.remembrance-intro p{font-size:18px}.remembrance-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:58px 62px;margin-bottom:100px}.rem-card img{width:100%;height:445px;object-fit:cover;margin-bottom:24px}.rem-card h3{font-size:34px;margin:0 0 11px}.rem-card p{font-size:17px;line-height:1.75;margin:0}.gentle-note{max-width:760px;margin:-28px auto 86px;text-align:center;font-style:italic;color:#687975}
.contact-page{padding:50px 0 110px}.contact-page-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:85px;align-items:start}.contact-photo img{width:100%;height:690px;object-fit:cover}.contact-intro{font-size:18px;line-height:1.78;margin:0 0 32px}
.care-hero{background:#e5f2f1 url('https://static.wixstatic.com/media/bd7b46_c840d43e31c840df899c35a86c5cc8e3~mv2.png') center/cover no-repeat;padding:88px 24px;text-align:center}.care-hero h1{font-size:58px;margin:0}.care-wrap,.legal-wrap{max-width:920px;margin:0 auto;padding:62px 26px 105px}.care-lead,.legal-lead{max-width:720px;margin:0 auto 44px;text-align:center;font-size:19px;line-height:1.72}.care-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.care-card{background:#f7fbfa;padding:34px 36px;border:1px solid var(--line)}.care-card:nth-child(2n){background:#f9f4f8}.care-card h2{font-size:31px;margin:0 0 12px}.care-card p{font-size:17px;line-height:1.72;margin:0}.note-box{background:#eef6f4;padding:34px 38px;margin-top:34px}.note-box h2{font-size:32px;margin:0 0 12px}.note-box p{font-size:17px}
.legal-hero{background:#e5f2f1 url('https://static.wixstatic.com/media/bd7b46_57bd483dca0f4c24a7fa11cf8cf9468f~mv2.png') center/cover no-repeat;padding:82px 24px;text-align:center}.legal-hero h1{font-size:58px;margin:0}.legal-wrap h2{font-size:34px;margin:42px 0 12px}.legal-wrap p,.legal-wrap li{font-size:17px;line-height:1.75}.legal-wrap ul{padding-left:24px}.updated{font-family:var(--sans);font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:center;color:#73827f;margin-top:-25px;margin-bottom:42px}
.calc-page{background:#fff;padding:0 0 80px}.calc-frame{display:block;width:100%;border:0;min-height:1800px;background:#fff}.calc-note{max-width:760px;margin:35px auto 0;padding:0 24px;text-align:center;font-size:16px;color:#6c7b78}
@media(max-width:850px){body{font-size:17px}.shell{width:min(100% - 28px,1180px)}.header-inner{min-height:102px;grid-template-columns:145px 1fr}.logo img{width:132px}.menu{display:block;justify-self:end}.social-top{display:none}.nav{display:none;position:absolute;top:100%;left:14px;right:14px;background:#fff;padding:20px;box-shadow:0 15px 38px rgba(0,0,0,.12);flex-direction:column;gap:12px;text-align:center}.nav.open{display:flex}.hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px 180px}.hero-grid figure:first-child{grid-column:1/3;grid-row:auto}.welcome{padding:65px 0}.welcome-grid,.editorial-two,.editorial-two.reverse,.contact-page-grid{grid-template-columns:1fr;gap:38px;direction:ltr}.welcome h1{font-size:46px}.portrait{max-width:440px;margin:auto}.insta-grid{grid-template-columns:repeat(2,1fr)}.service-row,.mini-services,.info-split{grid-template-columns:1fr}.service-tile{min-height:430px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.wix-strip{height:auto;grid-template-columns:1fr}.wix-strip img{height:360px}.process-grid{grid-template-columns:1fr 1fr}.remembrance-cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-inner{grid-template-columns:1fr}.care-grid{grid-template-columns:1fr}.contact-photo img{height:auto;max-height:620px}}
@media(max-width:520px){.header-inner{min-height:88px}.logo img{width:116px}.hero-grid{grid-template-rows:235px 145px 145px}.page-title,.remembrance-hero h1,.care-hero h1,.legal-hero h1{font-size:43px}.welcome h1{font-size:43px}.welcome-copy,.editorial-copy p,.info-panel p,.remembrance-intro p{font-size:16px}.instagram{padding:55px 0}.insta-card{padding:15px}.service-tile{min-height:340px}.service-overlay a{font-size:43px}.portfolio-grid{grid-template-columns:1fr}.editorial-copy h2,.process h2,.enquiry h2{font-size:39px}.process-grid{grid-template-columns:1fr}.info-panel{padding:58px 26px;min-height:auto}.rem-card img{height:340px}.care-wrap,.legal-wrap{padding-left:20px;padding-right:20px}}

/* =========================================================
   HOME PAGE TOP — matched to supplied 01 Sep 2026 screenshot
   ========================================================= */
.home-page .header{
  height:193px;
  background:#fff;
  border:0;
  position:relative;
  z-index:50;
  overflow:visible;
}
.home-page .header-inner{
  width:100%;
  min-height:193px;
  height:193px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding-top:23px;
  position:relative;
}
.home-page .logo{
  display:block;
  line-height:0;
}
.home-page .logo img{
  width:145px;
  height:auto;
  margin:0 auto;
}
.home-page .social-top{display:none}
.home-page .nav{
  position:absolute;
  left:50%;
  bottom:-26px;
  transform:translateX(-50%);
  width:min(1425px,calc(100% - 475px));
  height:43px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  z-index:60;
}
.home-page .nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  height:43px;
  padding:0 10px;
  background:#9dc9c5;
  color:#fff;
  border:0;
  font-family:var(--sans);
  font-size:14px;
  font-weight:300;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
  transition:background .2s ease;
}
.home-page .nav a.active,
.home-page .nav a:hover{
  color:#fff;
  background:#95c1bd;
}
.home-page .home-gallery-band{
  background:#eee9f2;
  padding:22px 54px 13px;
  position:relative;
  z-index:1;
}
.home-page .hero-grid{
  width:100%;
  height:532px;
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:0;
  overflow:hidden;
}
.home-page .hero-grid figure{
  margin:0;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.home-page .hero-grid figure:first-child{
  grid-column:1;
  grid-row:1 / 3;
}
.home-page .hero-grid img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

@media (max-width:1200px){
  .home-page .nav{width:calc(100% - 120px)}
  .home-page .home-gallery-band{padding-left:32px;padding-right:32px}
}

@media (max-width:850px){
  .home-page .header{height:112px}
  .home-page .header-inner{
    min-height:112px;
    height:112px;
    padding:9px 14px 0;
    align-items:flex-start;
  }
  .home-page .logo img{width:98px}
  .home-page .menu{
    display:block;
    position:absolute;
    right:16px;
    top:37px;
    z-index:80;
  }
  .home-page .nav{
    display:none;
    position:absolute;
    left:14px;
    right:14px;
    bottom:auto;
    top:100px;
    width:auto;
    height:auto;
    transform:none;
    grid-template-columns:1fr;
    gap:3px;
    padding:4px;
    background:#fff;
    box-shadow:0 15px 38px rgba(0,0,0,.12);
  }
  .home-page .nav.open{display:grid}
  .home-page .nav a{height:44px}
  .home-page .home-gallery-band{padding:0 14px 14px}
  .home-page .hero-grid{
    height:auto;
    grid-template-columns:1fr 1fr;
    grid-template-rows:300px 180px 180px;
  }
  .home-page .hero-grid figure:first-child{
    grid-column:1 / 3;
    grid-row:1;
  }
}

@media (max-width:520px){
  .home-page .header{height:96px}
  .home-page .header-inner{height:96px;min-height:96px;padding-top:7px}
  .home-page .logo img{width:84px}
  .home-page .menu{top:29px}
  .home-page .nav{top:88px}
  .home-page .home-gallery-band{padding:0 10px 10px}
  .home-page .hero-grid{grid-template-rows:235px 145px 145px}
}


/* =========================================================
   GLOBAL SITE HEADER — identical to approved homepage header
   ========================================================= */
.header{
  height:193px;
  background:#fff;
  border:0;
  position:relative;
  z-index:50;
  overflow:visible;
}
.header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-26px;
  height:26px;
  background:#eee9f2;
  z-index:1;
  pointer-events:none;
}
.header-inner{
  width:100%;
  min-height:193px;
  height:193px;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding-top:23px;
  position:relative;
}
.logo{display:block;line-height:0;position:relative;z-index:3}
.logo img{
  width:145px;
  height:auto;
  margin:0 auto;
}
.social-top{display:none!important}
.nav{
  position:absolute;
  left:50%;
  bottom:-26px;
  transform:translateX(-50%);
  width:min(1425px,calc(100% - 475px));
  height:43px;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:4px;
  z-index:60;
}
.nav a{
  display:flex;
  align-items:center;
  justify-content:center;
  height:43px;
  padding:0 10px;
  background:#9dc9c5;
  color:#fff;
  border:0;
  font-family:var(--sans);
  font-size:14px;
  font-weight:300;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
  transition:background .2s ease;
}
.nav a.active,
.nav a:hover{
  color:#fff;
  background:#9dc9c5;
}
.menu{display:none;border:0;background:none;font-size:28px;color:var(--ink);cursor:pointer}

/* Keeps page content clear of the navigation overlap. */
body:not(.home-page) main{padding-top:26px}
body:not(.home-page) main.calc-page{padding-top:26px}

@media (max-width:1200px){
  .nav{width:calc(100% - 120px)}
}

@media (max-width:850px){
  .header{height:112px}
  .header::after{bottom:0;height:0}
  .header-inner{
    min-height:112px;
    height:112px;
    padding:9px 14px 0;
    align-items:flex-start;
  }
  .logo img{width:98px}
  .menu{
    display:block;
    position:absolute;
    right:16px;
    top:37px;
    z-index:80;
  }
  .nav{
    display:none;
    position:absolute;
    left:14px;
    right:14px;
    bottom:auto;
    top:100px;
    width:auto;
    height:auto;
    transform:none;
    grid-template-columns:1fr;
    gap:3px;
    padding:4px;
    background:#fff;
    box-shadow:0 15px 38px rgba(0,0,0,.12);
  }
  .nav.open{display:grid}
  .nav a{height:44px}
  body:not(.home-page) main,
  body:not(.home-page) main.calc-page{padding-top:0}
}

@media (max-width:520px){
  .header{height:96px}
  .header-inner{height:96px;min-height:96px;padding-top:7px}
  .logo img{width:84px}
  .menu{top:29px}
  .nav{top:88px}
}

/* =========================================================
   HOME WELCOME — matched to supplied 01 Sep 2026 screenshot
   ========================================================= */
.home-page .welcome{
  width:calc(100% - 96px);
  max-width:none;
  margin:0 48px;
  padding:0;
  background:#cae1df;
  color:#fff;
  min-height:800px;
  overflow:hidden;
}
.home-page .welcome .welcome-grid{
  width:100%;
  max-width:none;
  min-height:800px;
  margin:0;
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:0;
  align-items:stretch;
}
.home-page .welcome .welcome-grid > div:first-child{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:62px 80px 58px;
}
.home-page .welcome h1{
  width:100%;
  max-width:690px;
  margin:0 0 42px;
  color:#fff;
  text-align:center;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.2;
  font-weight:400;
  letter-spacing:.42em;
  text-transform:uppercase;
}
.home-page .welcome h1::after{
  content:"";
  display:block;
  width:28px;
  height:4px;
  margin:26px auto 0;
  background:#fff;
}
.home-page .welcome-copy{
  width:100%;
  max-width:690px;
  color:#fff;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.43;
  font-weight:400;
}
.home-page .welcome-copy p{
  margin:0 0 25px;
}
.home-page .welcome-copy p:last-child{margin-bottom:0}
.home-page .welcome .portrait{
  width:100%;
  height:100%;
  min-height:800px;
  max-width:none;
  margin:0;
  overflow:hidden;
}
.home-page .welcome .portrait img{
  width:100%;
  height:100%;
  min-height:800px;
  aspect-ratio:auto;
  object-fit:cover;
  object-position:center center;
}
.home-page .instagram{
  margin-top:0;
  padding-top:48px;
  background-color:#fdf9fb;
  background-image:url('https://static.wixstatic.com/media/bd7b46_57bd483dca0f4c24a7fa11cf8cf9468f~mv2.png');
  background-position:center top;
  background-size:cover;
}
.home-page .instagram h2{
  color:#fff;
  font-family:var(--sans);
  font-size:34px;
  font-weight:300;
  letter-spacing:.18em;
  text-transform:uppercase;
  margin-top:0;
}

@media (max-width:1100px){
  .home-page .welcome{width:calc(100% - 56px);margin:0 28px;min-height:680px}
  .home-page .welcome .welcome-grid{min-height:680px;grid-template-columns:1.65fr 1fr}
  .home-page .welcome .welcome-grid > div:first-child{padding:48px 52px}
  .home-page .welcome .portrait,
  .home-page .welcome .portrait img{min-height:680px}
  .home-page .welcome-copy{font-size:14px;line-height:1.48}
  .home-page .welcome-copy p{margin-bottom:18px}
}

@media (max-width:850px){
  .home-page .welcome{width:calc(100% - 28px);margin:0 14px;min-height:0}
  .home-page .welcome .welcome-grid{display:grid;grid-template-columns:1fr;min-height:0}
  .home-page .welcome .welcome-grid > div:first-child{padding:58px 34px 64px}
  .home-page .welcome h1{font-size:14px;margin-bottom:36px}
  .home-page .welcome-copy{max-width:620px;font-size:15px;line-height:1.55}
  .home-page .welcome .portrait{min-height:0;height:auto;max-width:none}
  .home-page .welcome .portrait img{min-height:0;height:auto;aspect-ratio:4/5;object-position:center 38%}
}

@media (max-width:520px){
  .home-page .welcome{width:calc(100% - 20px);margin:0 10px}
  .home-page .welcome .welcome-grid > div:first-child{padding:48px 24px 52px}
  .home-page .welcome h1{font-size:13px;letter-spacing:.34em}
  .home-page .welcome-copy{font-size:14px;line-height:1.55}
  .home-page .welcome-copy p{margin-bottom:18px}
}

/* Instagram strip widget - homepage */
.home-page .instagram-strip{
  padding:0 0 34px;
  margin:0;
  background:#fff;
  text-align:center;
  overflow:hidden;
}
.home-page .instagram-strip .instagram-title{
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff url('https://static.wixstatic.com/media/bd7b46_57bd483dca0f4c24a7fa11cf8cf9468f~mv2.png') center/cover no-repeat;
}
.home-page .instagram-strip .instagram-title h2{
  margin:0;
  color:rgba(255,255,255,.9);
  font-family:var(--sans);
  font-size:42px;
  line-height:1;
  font-weight:300;
  letter-spacing:.08em;
}
.instagram-track-wrap{position:relative;width:100%;background:#fff;padding:34px 0 0}
.instagram-track{
  display:flex;
  gap:7px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:0 0 2px;
  scroll-snap-type:x proximity;
}
.instagram-track::-webkit-scrollbar{display:none}
.insta-post{
  flex:0 0 clamp(190px,11.2vw,250px);
  height:260px;
  border:0;
  padding:0;
  margin:0;
  background:#f3f3f3;
  cursor:pointer;
  overflow:hidden;
  scroll-snap-align:start;
}
.insta-post img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease,opacity .35s ease}
.insta-post:hover img{transform:scale(1.025);opacity:.94}
.insta-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-35%);
  z-index:3;
  width:48px;
  height:48px;
  border-radius:50%;
  border:1px solid rgba(11,64,68,.12);
  background:rgba(255,255,255,.86);
  color:#365b5b;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 20px rgba(0,0,0,.08)
}
.insta-prev{left:16px}.insta-next{right:16px}
.instagram-profile-link{padding-top:22px}
.instagram-profile-link a{font-family:var(--sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px}
.insta-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(8,25,26,.76);
  backdrop-filter:blur(6px);
}
.insta-lightbox.open{display:flex}
.insta-lightbox-card{max-width:min(760px,92vw);max-height:90vh;background:#fff;padding:12px 12px 20px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.28)}
.insta-lightbox-card img{display:block;max-width:100%;max-height:76vh;width:auto;height:auto;margin:auto;object-fit:contain}
.insta-lightbox-link{display:inline-block;margin-top:16px;font-family:var(--sans);font-size:12px;letter-spacing:.13em;text-transform:uppercase;text-decoration:none;color:var(--ink);border-bottom:1px solid currentColor;padding-bottom:4px}
.insta-lightbox-close{position:fixed;top:18px;right:22px;border:0;background:transparent;color:#fff;font-size:46px;line-height:1;cursor:pointer}
body.insta-modal-open{overflow:hidden}
@media(max-width:850px){
  .home-page .instagram-strip .instagram-title{height:74px}
  .home-page .instagram-strip .instagram-title h2{font-size:30px}
  .instagram-track-wrap{padding-top:24px}
  .insta-post{flex-basis:42vw;height:220px}
  .insta-arrow{width:42px;height:42px;font-size:22px}
}
@media(max-width:520px){
  .insta-post{flex-basis:66vw;height:235px}
  .insta-prev{left:8px}.insta-next{right:8px}
}


/* =========================================================
   HOME SERVICES — three linked image panels
   ========================================================= */
.home-services{padding:92px 0 96px;background:#fff}
.services-three{width:min(1500px,calc(100% - 108px))}
.service-row-main{gap:5px}
.service-card-link{display:block;text-decoration:none;color:#fff;cursor:pointer}
.service-card-link .service-overlay{transition:background .25s ease}
.service-card-link .service-overlay span{
  font-family:var(--serif);
  font-size:54px;
  line-height:1.05;
  color:#fff;
  text-align:center;
  text-shadow:0 2px 20px rgba(0,0,0,.34);
  padding:24px;
}
.service-card-link:hover .service-overlay{background:rgba(10,45,45,.18)}
.service-card-link img{transition:transform .55s ease}
.service-card-link:hover img{transform:scale(1.018)}
.service-wide{margin-top:5px;min-height:500px}
.service-wide .service-overlay span{font-size:58px}

/* Bouquets & Arrangements page */
.bouquets-hero{display:grid;grid-template-columns:1.12fr .88fr;min-height:590px;background:#e4f1ef}
.bouquets-hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:70px 9vw;color:#fff;background:#bddbd7}
.bouquets-hero-copy .eyebrow{color:#fff}
.bouquets-hero-copy h1{font-size:62px;line-height:.98;color:#fff;margin:8px 0 22px}
.bouquets-hero-copy p{max-width:600px;font-family:var(--sans);font-size:15px;line-height:1.75;color:#fff;margin:0}
.bouquets-hero-image img{width:100%;height:100%;min-height:590px;object-fit:cover}
.bouquet-options{padding:92px 0 104px}
.bouquet-options-intro{max-width:790px;text-align:center;margin:0 auto 54px}
.bouquet-options-intro h2{font-size:48px;line-height:1.08;margin:0 0 18px}
.bouquet-options-intro p{font-size:18px;line-height:1.75}
.bouquet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bouquet-card img{width:100%;height:410px;object-fit:cover}
.bouquet-card-copy{padding:28px 22px 12px;text-align:center}
.bouquet-card h3{font-size:34px;margin:0 0 10px}
.bouquet-card p{font-size:16px;line-height:1.7;margin:0}
.bouquet-cta{background:#f4eeee;padding:84px 24px;text-align:center}
.bouquet-cta h2{font-size:46px;margin:0 0 16px}
.bouquet-cta p{max-width:660px;margin:0 auto 24px;font-size:18px}

@media(max-width:850px){
  .services-three{width:min(100% - 28px,1180px)}
  .service-row-main{grid-template-columns:1fr;gap:5px}
  .service-wide{min-height:430px}
  .service-card-link .service-overlay span,.service-wide .service-overlay span{font-size:44px}
  .bouquets-hero{grid-template-columns:1fr}
  .bouquets-hero-copy{padding:70px 28px}
  .bouquets-hero-image img{min-height:460px;height:460px}
  .bouquet-grid{grid-template-columns:1fr}
  .bouquet-card img{height:min(520px,75vw)}
}
@media(max-width:520px){
  .home-services{padding:55px 0 62px}
  .services-three{width:calc(100% - 20px)}
  .service-card-link,.service-wide{min-height:340px}
  .service-card-link .service-overlay span,.service-wide .service-overlay span{font-size:38px}
  .bouquets-hero-copy h1{font-size:45px}
  .bouquets-hero-image img{height:370px;min-height:370px}
  .bouquet-options{padding:62px 0 70px}
  .bouquet-options-intro h2,.bouquet-cta h2{font-size:39px}
}

/* =========================================================
   HOMEPAGE BOTTOM IMAGE TRIPTYCH + CONTACT FOOTER
   Matched to supplied 01 Sep 2026 screenshots
   ========================================================= */
html{scroll-behavior:smooth}
.home-bottom-gallery{width:100%;margin:0;padding:0;background:#fff}
.home-bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;width:100%;padding:8px 0 0}
.home-bottom-grid img{display:block;width:100%;height:clamp(390px,33vw,680px);object-fit:cover;object-position:center}

.footer.footer-contact{
  margin:0;
  padding:0;
  background:#f1d4d6;
  color:#fff;
  border-radius:0 0 26px 26px;
  overflow:hidden;
}
.footer-contact-shell{
  width:min(1035px,calc(100% - 64px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr);
  gap:132px;
  padding:54px 0 30px;
  align-items:start;
}
.footer-enquiry h2{
  margin:0 0 8px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:30px;
  line-height:1.05;
  font-weight:600;
  color:#fff;
}
.footer-enquiry h2 em{font-weight:400;color:#9fe7e5;font-style:italic}
.footer-intro{margin:0 0 24px;font-family:Arial,sans-serif;font-size:15px;font-weight:600;color:#fff}
.footer-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 12px}
.footer-form label{display:block;margin:0}
.footer-form label>span{display:block;margin:0 0 6px;font-family:Arial,sans-serif;font-size:12px;line-height:1;font-weight:700;letter-spacing:.035em;color:#fff}
.footer-form .footer-full{grid-column:1/-1}
.footer-form input,.footer-form select,.footer-form textarea{
  width:100%;border:0;outline:0;background:#fff;color:#315f5d;border-radius:11px;
  font:16px/1.25 Arial,sans-serif;padding:0 15px;box-shadow:none
}
.footer-form input,.footer-form select{height:45px}
.footer-form textarea{height:78px;min-height:78px;resize:vertical;padding-top:14px}
.footer-form input::placeholder,.footer-form textarea::placeholder{color:#7c9997;opacity:1}
.footer-form select{appearance:auto;color:#315f5d}
.footer-submit{
  width:100%;height:46px;margin-top:15px;border:0;border-radius:25px;background:#abe1e5;color:#315d60;
  font:700 14px/1 Arial,sans-serif;letter-spacing:.14em;cursor:pointer;transition:filter .2s ease,transform .2s ease
}
.footer-submit:hover{filter:brightness(.97);transform:translateY(-1px)}
.footer-help,.footer-direct{font-family:Arial,sans-serif;color:#fff;margin:12px 0 0;font-size:12px;line-height:1.35}
.footer-direct{margin-top:10px;font-size:14px}
.footer-direct a{display:inline;color:#9fe7e5;text-decoration:underline;font-weight:700;margin:0}
.footer-brand{text-align:center;padding-top:1px}
.footer-brand-logo{display:block;width:152px;max-width:48%;height:auto;margin:0 auto 10px}
.footer-socials{display:flex;justify-content:center;gap:12px;margin:0 auto 58px}
.footer-socials a,.footer-socials span{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#f1d4d6;text-decoration:none;margin:0
}
.footer-socials svg{width:27px;height:27px}
.footer-socials strong{font:700 27px/1 Georgia,serif;color:#f1d4d6}
.footer-socials span:last-child strong{font-family:Arial,sans-serif;font-size:30px}
.footer-service{text-align:center}
.footer-service h3{margin:0 0 8px;font:400 28px/1.1 Arial,sans-serif;color:#75dedf;text-decoration:underline;text-underline-offset:4px}
.footer-service a{display:block;margin:5px 0;color:#fff;text-decoration:none;font:400 18px/1.18 Arial,sans-serif}
.footer-service a:hover{text-decoration:underline}
.footer-copyright{margin-top:50px;font:400 18px/1.2 Arial,sans-serif;color:#fff}

@media(max-width:850px){
  .home-bottom-grid{grid-template-columns:1fr;gap:6px;padding-top:6px}
  .home-bottom-grid img{height:min(82vw,620px)}
  .footer-contact-shell{width:min(100% - 38px,680px);grid-template-columns:1fr;gap:58px;padding:48px 0 32px}
  .footer-brand{padding-top:0}
  .footer-socials{margin-bottom:42px}
  .footer-copyright{margin-top:38px}
}
@media(max-width:520px){
  .home-bottom-grid img{height:105vw;max-height:520px}
  .footer-contact-shell{width:calc(100% - 28px);padding:42px 0 26px}
  .footer-enquiry h2{font-size:27px}
  .footer-intro{font-size:14px;line-height:1.45}
  .footer-form-grid{grid-template-columns:1fr;gap:11px}
  .footer-form .footer-full{grid-column:auto}
  .footer-brand-logo{width:138px}
  .footer-service h3{font-size:26px}
  .footer-service a{font-size:17px}
  .footer-copyright{font-size:16px}
}


/* =========================================================
   GLOBAL CUSTOMISABLE THEME — controlled by editor.html
   ========================================================= */
:root{
  --site-bg:#ffffff;
  --header-bg:#ffffff;
  --footer-bg:#f3d5d9;
  --heading-color:var(--ink);
  --body-color:var(--text);
  --nav-bg:#9dc9c5;
  --nav-text:#ffffff;
  --button-bg:var(--ink);
  --button-text:#ffffff;
  --accent-color:#64cbc8;
  --aqua-section:#d3e9e7;
  --blush-section:#f3d5d9;
}
body{background:var(--site-bg)!important;color:var(--body-color)!important}
h1,h2,h3,h4,h5,h6,.page-title{color:var(--heading-color)!important}
.header,.home-page .header{background:var(--header-bg)!important}
.nav a,.home-page .nav a{background:var(--nav-bg)!important;color:var(--nav-text)!important}
.button,.send,.footer-submit{background:var(--button-bg)!important;color:var(--button-text)!important}
.accent,.eyebrow,.page-head .eyebrow,.footer-service h3,.footer-direct a,.instagram-profile-link a{color:var(--accent-color)!important}
.footer,.footer-contact{background:var(--footer-bg)!important}
.welcome,.info-panel:first-child,.soft-section,.care-card:nth-child(odd),.note-box{background-color:var(--aqua-section)!important}
.info-panel:last-child,.care-card:nth-child(even){background-color:var(--blush-section)!important}
[data-edit-type="background-image"]{background-position:center;background-size:cover;background-repeat:no-repeat}


/* =========================================================
   SERVICES HEADING + SITE-WIDE PHOTO HOVER
   ========================================================= */
.home-services .services-heading-wrap{
  text-align:center;
  padding:0 20px 44px;
}
.home-services .services-heading{
  margin:0;
  color:var(--ink);
  font-family:var(--serif);
  font-size:52px;
  font-weight:400;
  line-height:1.05;
}

/*
   Use the individual CSS `scale` property rather than `transform` so the
   hover effect works alongside the editor's saved crop/zoom transform.
*/
main img:not(.insta-lightbox-card img),
.home-bottom-gallery img,
.footer-contact img:not(.footer-brand-logo),
.contact-photo img{
  scale:1;
  transition:scale .55s cubic-bezier(.2,.7,.2,1), filter .45s ease;
  will-change:scale;
}

/* Keep every zooming photograph clipped neatly inside its existing frame. */
.hero-grid figure,
.portrait,
.insta-feed-item,
.service-tile,
.portfolio-grid > *,
.wix-strip > *,
.editorial-image,
.rem-card,
.contact-photo,
.home-bottom-grid > *,
.mini-card{
  overflow:hidden;
}

@media (hover:hover) and (pointer:fine){
  body:not(.ml-edit-mode) main img:not(.insta-lightbox-card img):hover,
  body:not(.ml-edit-mode) .home-bottom-gallery img:hover,
  body:not(.ml-edit-mode) .contact-photo img:hover{
    scale:1.045;
  }

  /* Linked/service/gallery photos also zoom when hovering anywhere on tile. */
  body:not(.ml-edit-mode) .service-tile:hover > img,
  body:not(.ml-edit-mode) .portfolio-grid > *:hover img,
  body:not(.ml-edit-mode) .wix-strip > *:hover img,
  body:not(.ml-edit-mode) .mini-card:hover img{
    scale:1.045;
  }
}

/* Never animate while a photo is being positioned in the visual editor. */
.ml-edit-mode img[data-edit-key],
.ml-edit-mode [data-edit-type="background-image"]{
  transition:none!important;
  scale:1!important;
}

@media(max-width:850px){
  .home-services .services-heading-wrap{padding-bottom:30px}
  .home-services .services-heading{font-size:44px}
}
@media(max-width:520px){
  .home-services .services-heading{font-size:38px}
}

/* =========================================================
   EDITOR ZOOM FIX — keep zoom inside the image frame
   ========================================================= */
.ml-image-frame{
  display:block;
  position:relative;
  overflow:hidden;
  min-width:0;
  min-height:0;
}
.portfolio-grid > .ml-image-frame{
  width:100%;
  aspect-ratio:1;
}
.portfolio-grid > .ml-image-frame > img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:cover;
  display:block;
}
.wix-strip > .ml-image-frame{
  width:100%;
  height:100%;
}
.wix-strip > .ml-image-frame > img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-bottom-grid > .ml-image-frame{
  width:100%;
  height:clamp(390px,33vw,680px);
}
.home-bottom-grid > .ml-image-frame > img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* Edit mode must never trigger public hover/lightbox-style enlargement. */
body.ml-edit-mode img[data-edit-key],
body.ml-edit-mode [data-edit-type="background-image"]{
  scale:1!important;
  transition:none!important;
}
body.ml-edit-mode .service-card-link:hover img{
  scale:1!important;
}

@media(max-width:850px){
  .wix-strip > .ml-image-frame{height:360px}
  .home-bottom-grid > .ml-image-frame{height:min(82vw,620px)}
}
@media(max-width:520px){
  .home-bottom-grid > .ml-image-frame{height:105vw;max-height:520px}
}


/* =========================================================
   EDITOR CROP ENGINE V5 — hard locked photo frames
   ========================================================= */
body.ml-edit-mode .ml-image-frame,
body.ml-edit-mode .hero-grid figure,
body.ml-edit-mode .portrait,
body.ml-edit-mode .insta-feed-item,
body.ml-edit-mode .service-tile,
body.ml-edit-mode .editorial-image,
body.ml-edit-mode .rem-card,
body.ml-edit-mode .contact-photo,
body.ml-edit-mode .mini-card,
body.ml-edit-mode .bouquet-card,
body.ml-edit-mode .bouquets-hero-image,
body.ml-edit-mode .home-bottom-grid > * {
  overflow:hidden !important;
  clip-path:inset(0) !important;
  contain:paint;
  isolation:isolate;
}
body.ml-edit-mode img[data-edit-key] {
  transition:none !important;
  animation:none !important;
  scale:1 !important;
  will-change:transform,object-position;
}
body.ml-edit-mode a:has(img[data-edit-key]) {
  cursor:default !important;
}
body.ml-edit-mode a:has(img[data-edit-key])::after {
  pointer-events:none !important;
}


/* =========================================================
   PORTFOLIO — Meadowlark soft blue / pink / lilac wash
   Inspired by the colour treatment of the live Meadowlark site.
   ========================================================= */
.portfolio-page main{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(ellipse at 8% 8%, rgba(204,232,241,.96) 0%, rgba(204,232,241,.58) 24%, transparent 50%),
    radial-gradient(ellipse at 90% 12%, rgba(238,216,243,.92) 0%, rgba(238,216,243,.55) 25%, transparent 52%),
    radial-gradient(ellipse at 22% 52%, rgba(248,218,230,.86) 0%, rgba(248,218,230,.48) 27%, transparent 55%),
    radial-gradient(ellipse at 82% 61%, rgba(207,229,240,.90) 0%, rgba(207,229,240,.48) 28%, transparent 56%),
    radial-gradient(ellipse at 48% 90%, rgba(226,213,242,.92) 0%, rgba(226,213,242,.52) 30%, transparent 58%),
    linear-gradient(135deg,#e8f4f6 0%,#f7e4ec 49%,#e9e2f5 100%);
  background-attachment:scroll;
  padding-bottom:34px;
}
.portfolio-page .page-head{
  background:transparent;
  padding-top:72px;
  padding-bottom:54px;
}
.portfolio-page .portfolio-grid{
  width:min(1420px,calc(100% - 30px));
  margin:0 auto;
  gap:8px;
  padding-bottom:14px;
  background:rgba(255,255,255,.10);
}
.portfolio-page .portfolio-grid > *{
  box-shadow:0 2px 14px rgba(56,79,83,.045);
}
@media(max-width:850px){
  .portfolio-page main{
    background:
      radial-gradient(ellipse at 10% 5%, rgba(204,232,241,.94) 0%, transparent 46%),
      radial-gradient(ellipse at 88% 30%, rgba(242,218,235,.88) 0%, transparent 48%),
      radial-gradient(ellipse at 15% 68%, rgba(225,214,243,.88) 0%, transparent 50%),
      linear-gradient(145deg,#e8f4f6 0%,#f8e5ed 52%,#ebe4f6 100%);
  }
  .portfolio-page .portfolio-grid{width:calc(100% - 18px);gap:6px;}
}

/* ===== MEADOWLARK MAIN MENU HOVER =====
   Visitor-facing navigation tabs softly highlight blush pink on hover/focus.
   Uses the existing site palette and keeps the menu dimensions unchanged.
*/
.site-nav a,
.main-nav a,
nav a {
  transition: background-color .28s ease, color .28s ease, transform .28s ease;
}

.site-nav a:hover,
.site-nav a:focus-visible,
.main-nav a:hover,
.main-nav a:focus-visible,
nav a:hover,
nav a:focus-visible {
  background-color: #f1d1d5 !important;
  color: #ffffff !important;
}

/* Keep the tab itself still: only the colour changes. */
.site-nav a:hover,
.main-nav a:hover,
nav a:hover {
  transform: none !important;
}

/* On touch/mobile devices there is no persistent hover state. */
@media (hover: none) {
  .site-nav a:hover,
  .main-nav a:hover,
  nav a:hover {
    background-color: inherit !important;
    color: inherit !important;
  }
}


/* ===== REMEMBRANCE FULL-PAGE REDESIGN ===== */
.remembrance-page .remembrance-main{
  width:100%;
  max-width:none;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 18%,rgba(211,233,231,.55),transparent 30%),
    radial-gradient(circle at 91% 60%,rgba(243,213,217,.48),transparent 30%),
    #fff;
}
.remembrance-page .rem-live-gallery{
  width:100%;
  display:grid;
  grid-template-columns:1.18fr .91fr .91fr;
  gap:7px;
  padding:7px 7px 0;
  min-height:clamp(430px,46vw,720px);
  background:#fff;
}
.remembrance-page .rem-live-image{
  margin:0;
  min-width:0;
  height:clamp(430px,46vw,720px);
  overflow:hidden;
  position:relative;
  background:#dce9e8;
}
.remembrance-page .rem-live-image img,
.remembrance-page .rem-feature-image img{
  width:100%;height:100%;display:block;object-fit:cover;
}
.remembrance-page .rem-live-image-wide img{object-position:center 44%;}
.remembrance-page .rem-title-band{
  width:100%;
  min-height:285px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:
    radial-gradient(circle at 18% 20%,rgba(199,226,232,.9),transparent 34%),
    radial-gradient(circle at 82% 18%,rgba(231,215,242,.86),transparent 36%),
    radial-gradient(circle at 50% 94%,rgba(246,215,226,.82),transparent 38%),
    linear-gradient(135deg,#e6f2f2,#f7e4eb 52%,#ece4f5);
  padding:56px 24px 48px;
}
.remembrance-page .rem-title-inner{max-width:920px;margin:auto;}
.remembrance-page .rem-title-band .eyebrow{
  font-size:13px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:18px;
}
.remembrance-page .rem-title-band h1{
  margin:0;font-size:clamp(62px,8vw,118px);line-height:.9;font-weight:300;letter-spacing:-.035em;
}
.remembrance-page .rem-feature{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  min-height:clamp(650px,62vw,930px);
}
.remembrance-page .rem-feature-reverse{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);}
.remembrance-page .rem-feature-image{overflow:hidden;min-height:100%;background:#e8efee;}
.remembrance-page .rem-feature-copy{display:flex;align-items:center;justify-content:center;padding:clamp(55px,7vw,115px);}
.remembrance-page .rem-aqua-panel{background:linear-gradient(145deg,#d4e9e7 0%,#e8f2f1 100%);}
.remembrance-page .rem-blush-panel{background:linear-gradient(145deg,#f3d5d9 0%,#f8e8ed 100%);}
.remembrance-page .rem-copy-inner{width:min(100%,610px);}
.remembrance-page .rem-copy-inner .eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:23px;}
.remembrance-page .rem-copy-inner h2{
  font-size:clamp(40px,4.5vw,68px);line-height:1.03;font-weight:400;margin:0 0 30px;letter-spacing:-.025em;
}
.remembrance-page .rem-copy-inner p{font-size:clamp(17px,1.45vw,21px);line-height:1.82;margin:0 0 20px;}
.remembrance-page .rem-details-band{
  width:100%;padding:clamp(72px,8vw,130px) clamp(26px,7vw,118px);
  background:#fff;
}
.remembrance-page .rem-details-grid{
  width:min(1500px,100%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(34px,5vw,90px);
}
.remembrance-page .rem-details-grid article{border-top:1px solid rgba(21,63,64,.22);padding-top:27px;}
.remembrance-page .rem-number{display:block;font-size:12px;letter-spacing:.16em;color:#7caeaa;margin-bottom:24px;}
.remembrance-page .rem-details-grid h3{font-size:clamp(30px,3vw,46px);font-weight:400;margin:0 0 18px;}
.remembrance-page .rem-details-grid p{font-size:17px;line-height:1.75;margin:0;}
.remembrance-page .rem-gentle-note{
  width:100%;padding:clamp(64px,7vw,112px) 28px;text-align:center;
  background:
    radial-gradient(circle at 18% 55%,rgba(210,232,239,.82),transparent 32%),
    radial-gradient(circle at 84% 48%,rgba(229,213,242,.78),transparent 32%),
    linear-gradient(100deg,#f7e3ea,#e7f2f3 52%,#eee5f5);
}
.remembrance-page .rem-gentle-note p{max-width:930px;margin:0 auto;font-size:clamp(24px,2.3vw,36px);line-height:1.45;font-style:italic;color:var(--heading-color);}
.remembrance-page .rem-enquiry{width:100%;padding:clamp(72px,8vw,120px) 24px;background:#f8fbfb;}
.remembrance-page .rem-enquiry-inner{width:min(1180px,100%);margin:auto;}
.remembrance-page .rem-enquiry-heading{text-align:center;max-width:800px;margin:0 auto 50px;}
.remembrance-page .rem-enquiry-heading h2{font-size:clamp(42px,5vw,66px);margin:8px 0 18px;font-weight:400;}
.remembrance-page .rem-enquiry-heading p{font-size:18px;}
.remembrance-page .rem-enquiry form{background:rgba(255,255,255,.76);padding:clamp(24px,4vw,56px);border:1px solid rgba(21,63,64,.09);}
.remembrance-page .rem-enquiry .direct-email{text-align:center;margin-top:28px;font-size:17px;}

/* Editing: keep all new Remembrance photos locked neatly in their frames. */
body.ml-edit-mode.remembrance-page .rem-live-image,
body.ml-edit-mode.remembrance-page .rem-feature-image{overflow:hidden!important;clip-path:inset(0)!important;contain:paint;}
body.ml-edit-mode.remembrance-page .rem-live-image img,
body.ml-edit-mode.remembrance-page .rem-feature-image img{width:100%!important;height:100%!important;object-fit:cover;}

@media(max-width:850px){
  .remembrance-page .rem-live-gallery{grid-template-columns:1.25fr .75fr;grid-template-rows:360px 260px;min-height:0;padding:5px;gap:5px;}
  .remembrance-page .rem-live-image{height:auto;min-height:0;}
  .remembrance-page .rem-live-image:first-child{grid-row:1/3;}
  .remembrance-page .rem-title-band{min-height:230px;padding:48px 20px 42px;}
  .remembrance-page .rem-feature,.remembrance-page .rem-feature-reverse{grid-template-columns:1fr;min-height:0;}
  .remembrance-page .rem-feature-reverse .rem-feature-copy{order:2;}
  .remembrance-page .rem-feature-reverse .rem-feature-image{order:1;}
  .remembrance-page .rem-feature-image{height:min(92vw,650px);min-height:0;}
  .remembrance-page .rem-feature-copy{padding:68px 34px;}
  .remembrance-page .rem-details-grid{grid-template-columns:1fr;gap:50px;}
  .remembrance-page .rem-details-band{padding:72px 30px;}
}
@media(max-width:520px){
  .remembrance-page .rem-live-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 190px;}
  .remembrance-page .rem-live-image:first-child{grid-column:1/3;grid-row:1;}
  .remembrance-page .rem-live-image:nth-child(2){grid-column:1;grid-row:2;}
  .remembrance-page .rem-live-image:nth-child(3){grid-column:2;grid-row:2;}
  .remembrance-page .rem-title-band{min-height:205px;padding:42px 18px 38px;}
  .remembrance-page .rem-title-band h1{font-size:54px;}
  .remembrance-page .rem-title-band .eyebrow{font-size:11px;margin-bottom:14px;}
  .remembrance-page .rem-feature-image{height:105vw;max-height:520px;}
  .remembrance-page .rem-feature-copy{padding:54px 25px;}
  .remembrance-page .rem-copy-inner h2{font-size:39px;margin-bottom:24px;}
  .remembrance-page .rem-copy-inner p{font-size:16px;line-height:1.72;}
  .remembrance-page .rem-details-band{padding:60px 24px;}
  .remembrance-page .rem-details-grid h3{font-size:34px;}
  .remembrance-page .rem-details-grid p{font-size:16px;}
  .remembrance-page .rem-gentle-note{padding:58px 24px;}
  .remembrance-page .rem-gentle-note p{font-size:25px;}
  .remembrance-page .rem-enquiry{padding:60px 14px;}
  .remembrance-page .rem-enquiry form{padding:24px 16px;}
}


/* =========================================================
   REMEMBRANCE V2 — balanced Wix-style proportions
   Keeps ALL remembrance copy, but reduces oversized imagery.
   Full-width colour/background, contained editorial content.
   ========================================================= */

.remembrance-page .remembrance-main{
  width:100%;
  max-width:none;
  background:
    radial-gradient(circle at 10% 18%, rgba(210,232,238,.66), transparent 28%),
    radial-gradient(circle at 88% 28%, rgba(238,216,241,.58), transparent 30%),
    radial-gradient(circle at 48% 70%, rgba(246,216,226,.54), transparent 32%),
    linear-gradient(135deg,#edf6f6 0%,#f7eef3 56%,#eee8f7 100%);
}

/* Smaller opening gallery */
.remembrance-page .rem-live-gallery{
  width:min(1180px,calc(100% - 48px));
  margin:48px auto 0;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:14px;
  padding:0;
  min-height:0;
  background:transparent;
}
.remembrance-page .rem-live-image{
  height:clamp(260px,27vw,410px);
  border-radius:2px;
}

/* Softer, shorter heading band */
.remembrance-page .rem-title-band{
  min-height:190px;
  margin-top:42px;
  padding:42px 24px 38px;
  background:transparent;
}
.remembrance-page .rem-title-band h1{
  font-size:clamp(48px,6vw,78px);
  line-height:1;
  letter-spacing:-.02em;
}
.remembrance-page .rem-title-band .eyebrow{
  margin-bottom:14px;
}

/* Main image + writing sections now sit in a contained editorial grid */
.remembrance-page .rem-feature,
.remembrance-page .rem-feature-reverse{
  width:min(1240px,calc(100% - 48px));
  margin:0 auto 54px;
  min-height:0;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:34px;
  align-items:stretch;
  background:transparent;
}
.remembrance-page .rem-feature-reverse{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
}

.remembrance-page .rem-feature-image{
  min-height:0;
  height:clamp(390px,43vw,590px);
  border-radius:2px;
}
.remembrance-page .rem-feature-copy{
  min-height:clamp(390px,43vw,590px);
  padding:clamp(38px,4vw,68px);
}
.remembrance-page .rem-copy-inner{
  width:min(100%,560px);
}
.remembrance-page .rem-copy-inner h2{
  font-size:clamp(34px,3.7vw,52px);
  line-height:1.08;
  margin-bottom:24px;
}
.remembrance-page .rem-copy-inner p{
  font-size:clamp(16px,1.2vw,18px);
  line-height:1.72;
}

/* Keep the information sections spacious, but not oversized */
.remembrance-page .rem-details-band{
  width:100%;
  padding:72px 32px;
  background:rgba(255,255,255,.66);
}
.remembrance-page .rem-details-grid{
  width:min(1180px,100%);
  gap:clamp(28px,4vw,58px);
}
.remembrance-page .rem-details-grid h3{
  font-size:clamp(27px,2.5vw,38px);
}
.remembrance-page .rem-details-grid p{
  font-size:16px;
}

.remembrance-page .rem-gentle-note{
  padding:58px 28px;
}
.remembrance-page .rem-gentle-note p{
  max-width:820px;
  font-size:clamp(22px,2vw,30px);
}

.remembrance-page .rem-enquiry{
  padding:72px 24px;
}

/* Tablet */
@media(max-width:850px){
  .remembrance-page .rem-live-gallery{
    width:calc(100% - 30px);
    margin-top:28px;
    grid-template-columns:1.25fr .75fr;
    grid-template-rows:300px 215px;
    gap:8px;
  }
  .remembrance-page .rem-live-image{
    height:auto;
  }

  .remembrance-page .rem-title-band{
    margin-top:18px;
    min-height:165px;
    padding:34px 20px;
  }

  .remembrance-page .rem-feature,
  .remembrance-page .rem-feature-reverse{
    width:calc(100% - 30px);
    grid-template-columns:1fr;
    gap:0;
    margin-bottom:30px;
  }
  .remembrance-page .rem-feature-image{
    height:min(72vw,500px);
  }
  .remembrance-page .rem-feature-copy{
    min-height:0;
    padding:48px 34px;
  }
}

/* Mobile */
@media(max-width:520px){
  .remembrance-page .rem-live-gallery{
    width:calc(100% - 20px);
    margin-top:18px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:235px 145px;
    gap:6px;
  }

  .remembrance-page .rem-title-band{
    min-height:145px;
    padding:30px 16px 28px;
  }
  .remembrance-page .rem-title-band h1{
    font-size:46px;
  }

  .remembrance-page .rem-feature,
  .remembrance-page .rem-feature-reverse{
    width:calc(100% - 20px);
    margin-bottom:22px;
  }
  .remembrance-page .rem-feature-image{
    height:78vw;
    max-height:390px;
  }
  .remembrance-page .rem-feature-copy{
    padding:38px 24px;
  }
  .remembrance-page .rem-copy-inner h2{
    font-size:32px;
  }
  .remembrance-page .rem-copy-inner p{
    font-size:15.5px;
    line-height:1.68;
  }

  .remembrance-page .rem-details-band{
    padding:52px 22px;
  }
  .remembrance-page .rem-details-grid{
    gap:38px;
  }
  .remembrance-page .rem-gentle-note{
    padding:46px 22px;
  }
  .remembrance-page .rem-gentle-note p{
    font-size:22px;
  }
  .remembrance-page .rem-enquiry{
    padding:54px 14px;
  }
}


/* Remembrance top: intentionally uses the exact Weddings-page opening gallery markup.
   Remove Remembrance-specific opening-gallery sizing so Weddings styles win. */
.remembrance-page .wedding-strip,
.remembrance-page .wedding-hero,
.remembrance-page .weddings-hero,
.remembrance-page .wedding-gallery{
  margin-top:0;
}


/* =========================================================
   ORIGINAL REMEMBRANCE DESIGN — WIDER VERSION
   Based directly on Laura's supplied HTML.
   ========================================================= */
.remembrance-original-wide{width:100%;max-width:none;margin:0;padding:0}
.remembrance-original-wide .remembrance-page{position:relative;width:100%;overflow:hidden;padding:72px 32px 82px;color:#5f726d;font-family:Arial,Helvetica,sans-serif;line-height:1.8;background:radial-gradient(circle at 4% 9%,rgba(243,188,210,.48) 0%,rgba(243,188,210,0) 23%),radial-gradient(circle at 95% 22%,rgba(181,215,238,.56) 0%,rgba(181,215,238,0) 25%),radial-gradient(circle at 6% 56%,rgba(183,228,212,.53) 0%,rgba(183,228,212,0) 23%),radial-gradient(circle at 94% 78%,rgba(214,191,232,.48) 0%,rgba(214,191,232,0) 23%),radial-gradient(circle at 16% 96%,rgba(247,206,193,.43) 0%,rgba(247,206,193,0) 22%),#e8f5f2}
.remembrance-original-wide .bloom{position:absolute;border-radius:50%;filter:blur(28px);pointer-events:none;z-index:0}
.remembrance-original-wide .bloom-one{width:240px;height:240px;top:25px;left:-110px;background:rgba(239,171,201,.35)}
.remembrance-original-wide .bloom-two{width:270px;height:270px;top:850px;right:-140px;background:rgba(160,208,231,.36)}
.remembrance-original-wide .bloom-three{width:250px;height:250px;top:1750px;left:-120px;background:rgba(196,173,226,.29)}
.remembrance-original-wide .bloom-four{width:260px;height:260px;bottom:270px;right:-110px;background:rgba(159,217,196,.34)}
.remembrance-original-wide .remembrance-container{position:relative;z-index:2;width:min(100%,1320px);margin:0 auto}
.remembrance-original-wide .page-header{max-width:900px;margin:0 auto 50px;text-align:center}
.remembrance-original-wide .eyebrow{margin:0 0 15px;color:#638f87;font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.remembrance-original-wide h1{margin:0;color:#28554f;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,7vw,69px);line-height:1.02;font-weight:400;letter-spacing:-.03em}
.remembrance-original-wide .script-line{display:block;margin-top:10px;color:#5e948b;font-family:Georgia,"Times New Roman",serif;font-size:clamp(22px,3vw,30px);font-style:italic;font-weight:400}
.remembrance-original-wide .header-copy{max-width:760px;margin:24px auto 0;color:#61756f;font-size:15px;line-height:1.9}
.remembrance-original-wide .hero-panel{display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;gap:42px;padding:40px;margin-bottom:27px;border:1px solid rgba(54,102,94,.10);border-radius:32px;background:rgba(255,255,255,.76);box-shadow:0 24px 62px rgba(42,84,77,.065);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
.remembrance-original-wide .image-space{height:560px;min-height:0;overflow:hidden;border-radius:25px;background:#fafcfb}
.remembrance-original-wide .image-space img,.remembrance-original-wide .small-image-space img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
.remembrance-original-wide .hero-copy{display:flex;flex-direction:column;justify-content:center;padding:30px 30px 30px 10px}
.remembrance-original-wide .hero-small,.remembrance-original-wide .story-small,.remembrance-original-wide .contact-small{margin:0 0 9px;color:#cc829d;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}
.remembrance-original-wide .hero-copy h2{margin:0 0 18px;color:#2b5751;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,43px);font-weight:400;line-height:1.14}
.remembrance-original-wide .hero-copy h2 em{color:#619289;font-weight:400}
.remembrance-original-wide .hero-copy p,.remembrance-original-wide .story-copy p{margin:0 0 14px;color:#61746f;font-size:14px;line-height:1.9}
.remembrance-original-wide .service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:27px}
.remembrance-original-wide .service-card{min-height:180px;padding:32px 28px;border-radius:23px;text-align:center;border:1px solid rgba(48,100,91,.07)}
.remembrance-original-wide .service-card:nth-child(1){background:rgba(247,214,226,.79)}
.remembrance-original-wide .service-card:nth-child(2){background:rgba(203,229,242,.79)}
.remembrance-original-wide .service-card:nth-child(3){background:rgba(202,234,220,.80)}
.remembrance-original-wide .service-small{margin:0 0 8px;color:#667f79;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.remembrance-original-wide .service-card h3{margin:0 0 9px;color:#325d57;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}
.remembrance-original-wide .service-card p{margin:0;color:#60736e;font-size:12.5px;line-height:1.7}
.remembrance-original-wide .content-panel{padding:64px 76px;border:1px solid rgba(52,99,91,.10);border-radius:32px;background:rgba(255,255,255,.79);box-shadow:0 25px 65px rgba(41,83,76,.065);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}
.remembrance-original-wide .content-section{display:grid;grid-template-columns:76px 1fr;gap:30px;padding-bottom:41px;margin-bottom:41px;border-bottom:1px solid rgba(61,105,98,.11)}
.remembrance-original-wide .content-section:last-of-type{padding-bottom:0;margin-bottom:0;border-bottom:none}
.remembrance-original-wide .section-number{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#3e6a62;font-family:Georgia,"Times New Roman",serif;font-size:18px;font-style:italic}
.remembrance-original-wide .content-section:nth-child(1) .section-number{background:#f3cddc}.remembrance-original-wide .content-section:nth-child(2) .section-number{background:#c9e2ef}.remembrance-original-wide .content-section:nth-child(3) .section-number{background:#c9e8db}.remembrance-original-wide .content-section:nth-child(4) .section-number{background:#ddceea}
.remembrance-original-wide .section-copy h2{margin:0 0 14px;color:#2b5751;font-family:Georgia,"Times New Roman",serif;font-size:28px;line-height:1.3;font-weight:400}
.remembrance-original-wide .section-copy p{margin:0 0 14px;color:#61736e;font-size:14px;line-height:1.85}
.remembrance-original-wide .soft-list{margin:16px 0 5px;padding:0;list-style:none}.remembrance-original-wide .soft-list li{position:relative;margin-bottom:9px;padding-left:24px;color:#60736e;font-size:14px;line-height:1.72}.remembrance-original-wide .soft-list li:before{content:"✦";position:absolute;left:2px;color:#c9859f;font-size:10px}
.remembrance-original-wide .gentle-note{margin-top:19px;padding:20px 23px;border-radius:18px;border:1px solid rgba(59,107,98,.09);background:linear-gradient(125deg,rgba(240,215,226,.62),rgba(213,233,239,.62))}.remembrance-original-wide .gentle-note p{margin:0;color:#557169;font-family:Georgia,"Times New Roman",serif;font-size:15px;line-height:1.75;font-style:italic}
.remembrance-original-wide .image-story{display:grid;grid-template-columns:.92fr 1.08fr;gap:30px;align-items:stretch;margin-top:27px}.remembrance-original-wide .small-image-space{height:430px;min-height:0;overflow:hidden;border-radius:27px;background:#f8fbfa}.remembrance-original-wide .story-copy{display:flex;flex-direction:column;justify-content:center;padding:46px 50px;border-radius:27px;border:1px solid rgba(54,101,94,.09);background:rgba(255,255,255,.73)}.remembrance-original-wide .story-copy h2{margin:0 0 15px;color:#2c5852;font-family:Georgia,"Times New Roman",serif;font-size:31px;line-height:1.25;font-weight:400}
.remembrance-original-wide .contact-panel{margin-top:27px;padding:50px 40px;text-align:center;border-radius:28px;border:1px solid rgba(54,100,93,.09);background:radial-gradient(circle at 9% 15%,rgba(241,185,208,.44),transparent 31%),radial-gradient(circle at 91% 30%,rgba(174,212,236,.49),transparent 34%),radial-gradient(circle at 50% 100%,rgba(180,226,208,.43),transparent 40%),linear-gradient(135deg,rgba(239,224,236,.85),rgba(216,239,232,.89))}
.remembrance-original-wide .contact-panel h2{margin:0;color:#295850;font-family:Georgia,"Times New Roman",serif;font-size:31px;line-height:1.25;font-weight:400}.remembrance-original-wide .contact-panel p{max-width:650px;margin:14px auto 0;color:#5e746e;font-size:14px;line-height:1.8}.remembrance-original-wide .email-button{display:inline-block;margin-top:22px;padding:14px 26px;border:1px solid #4d796f;border-radius:999px;background:#4d796f;color:#fff;text-decoration:none;font-size:11px;font-weight:600;letter-spacing:.07em;transition:transform .2s ease,background .2s ease,color .2s ease}.remembrance-original-wide .email-button:hover{background:transparent;color:#4d796f;transform:translateY(-1px)}

@media(max-width:900px){
.remembrance-original-wide .remembrance-page{padding:58px 18px 68px}.remembrance-original-wide .hero-panel{grid-template-columns:1fr;gap:24px;padding:28px}.remembrance-original-wide .image-space{height:500px}.remembrance-original-wide .hero-copy{padding:8px 12px 18px}.remembrance-original-wide .service-cards{grid-template-columns:1fr}.remembrance-original-wide .content-panel{padding:46px 39px}.remembrance-original-wide .image-story{grid-template-columns:1fr}.remembrance-original-wide .small-image-space{height:440px}
}
@media(max-width:560px){
.remembrance-original-wide .remembrance-page{padding:42px 12px 55px}.remembrance-original-wide .page-header{padding:0 9px;margin-bottom:29px}.remembrance-original-wide .eyebrow{margin-bottom:10px;font-size:9px;letter-spacing:.21em}.remembrance-original-wide h1{font-size:clamp(40px,12vw,50px)}.remembrance-original-wide .script-line{margin-top:7px;font-size:20px}.remembrance-original-wide .header-copy{margin-top:18px;font-size:13px;line-height:1.75}.remembrance-original-wide .hero-panel{gap:20px;padding:16px;margin-bottom:14px;border-radius:23px}.remembrance-original-wide .image-space{height:350px;border-radius:19px}.remembrance-original-wide .hero-copy{padding:8px 8px 12px}.remembrance-original-wide .hero-copy h2{margin-bottom:12px;font-size:27px}.remembrance-original-wide .hero-copy p{margin-bottom:11px;font-size:13px;line-height:1.75}.remembrance-original-wide .service-cards{gap:9px;margin-bottom:14px}.remembrance-original-wide .service-card{min-height:0;padding:22px 18px;border-radius:18px}.remembrance-original-wide .content-panel{padding:29px 20px;border-radius:23px}.remembrance-original-wide .content-section{grid-template-columns:1fr;gap:13px;padding-bottom:29px;margin-bottom:29px}.remembrance-original-wide .section-number{width:51px;height:51px;font-size:16px}.remembrance-original-wide .section-copy h2{margin-bottom:10px;font-size:22px}.remembrance-original-wide .section-copy p,.remembrance-original-wide .soft-list li{font-size:13px}.remembrance-original-wide .image-story{gap:13px;margin-top:14px}.remembrance-original-wide .small-image-space{height:320px;border-radius:21px}.remembrance-original-wide .story-copy{padding:28px 21px;border-radius:21px}.remembrance-original-wide .story-copy h2{font-size:24px}.remembrance-original-wide .contact-panel{margin-top:14px;padding:31px 20px;border-radius:21px}.remembrance-original-wide .contact-panel h2{font-size:25px}.remembrance-original-wide .email-button{width:100%;max-width:280px;padding:14px 18px}
}


/* =========================================================
   REMEMBRANCE ENQUIRY FORM — WIDE INTEGRATED VERSION
   Based directly on the supplied Meadowlark form HTML.
   Scoped to Remembrance so it cannot alter other pages.
   ========================================================= */

.remembrance-page + .remembrance-form-section,
.remembrance-original-wide .remembrance-form-section,
.remembrance-form-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 72px 32px 86px;
  background:
    radial-gradient(circle at 5% 12%, rgba(243,188,210,.48) 0%, rgba(243,188,210,0) 24%),
    radial-gradient(circle at 95% 25%, rgba(181,215,238,.52) 0%, rgba(181,215,238,0) 25%),
    radial-gradient(circle at 8% 85%, rgba(183,228,212,.50) 0%, rgba(183,228,212,0) 25%),
    radial-gradient(circle at 94% 78%, rgba(214,191,232,.44) 0%, rgba(214,191,232,0) 24%),
    #e8f5f2;
  color: #60736e;
  font-family: Arial, Helvetica, sans-serif;
}

.remembrance-form-section .form-container {
  width: min(100%, 1180px);
  margin: 0 auto;
}

.remembrance-form-section .form-intro {
  max-width: 820px;
  margin: 0 auto 42px;
  text-align: center;
}

.remembrance-form-section .form-eyebrow {
  margin: 0 0 12px;
  color: #628f87;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.remembrance-form-section .form-intro h2 {
  margin: 0;
  color: #28554f;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 5vw, 56px);
  line-height: 1.08;
  font-weight: 400;
}

.remembrance-form-section .form-intro h2 em {
  display: block;
  margin-top: 8px;
  color: #65958d;
  font-size: .58em;
  font-weight: 400;
}

.remembrance-form-section .form-intro > p:last-child {
  max-width: 690px;
  margin: 20px auto 0;
  color: #60756f;
  font-size: 14px;
  line-height: 1.8;
}

.remembrance-form-section .form-card {
  padding: 56px 62px;
  border: 1px solid rgba(54,102,94,.10);
  border-radius: 32px;
  background: rgba(255,255,255,.79);
  box-shadow: 0 24px 60px rgba(42,84,77,.065);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.remembrance-form-section .form-section {
  margin-bottom: 42px;
  padding-bottom: 42px;
  border-bottom: 1px solid rgba(60,104,97,.10);
}

.remembrance-form-section .form-section:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.remembrance-form-section .form-section-heading {
  margin-bottom: 24px;
}

.remembrance-form-section .section-small {
  margin: 0 0 5px;
  color: #ca809b;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.remembrance-form-section .form-section-heading h3 {
  margin: 0;
  color: #315b55;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  line-height: 1.3;
  font-weight: 400;
}

.remembrance-form-section .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px 20px;
}

.remembrance-form-section .full-width {
  grid-column: 1 / -1;
}

.remembrance-form-section .field {
  display: flex;
  flex-direction: column;
}

.remembrance-form-section label {
  margin-bottom: 7px;
  color: #506c65;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .025em;
}

.remembrance-form-section input,
.remembrance-form-section select,
.remembrance-form-section textarea {
  width: 100%;
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid rgba(64,107,100,.17);
  border-radius: 14px;
  outline: none;
  background: rgba(255,255,255,.93);
  color: #4d655f;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.45;
  transition: border .2s ease, box-shadow .2s ease, background .2s ease;
}

.remembrance-form-section textarea {
  min-height: 135px;
  resize: vertical;
}

.remembrance-form-section input:focus,
.remembrance-form-section select:focus,
.remembrance-form-section textarea:focus {
  border-color: rgba(77,121,111,.56);
  box-shadow: 0 0 0 3px rgba(174,220,209,.22);
  background: #fff;
}

.remembrance-form-section input::placeholder,
.remembrance-form-section textarea::placeholder {
  color: #9aaca7;
  opacity: 1;
}

.remembrance-form-section .checkbox-group {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 11px;
}

.remembrance-form-section .checkbox-option {
  position: relative;
}

.remembrance-form-section .checkbox-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.remembrance-form-section .checkbox-option label {
  display: block;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid rgba(65,108,100,.13);
  border-radius: 14px;
  background: rgba(238,247,244,.68);
  color: #59716b;
  font-size: 12px;
  font-weight: 400;
  cursor: pointer;
  transition: .2s ease;
}

.remembrance-form-section .checkbox-option label:hover {
  background: rgba(228,241,237,.92);
  border-color: rgba(93,143,132,.30);
}

.remembrance-form-section .checkbox-option input:checked + label {
  border-color: #7ba69d;
  background: #dceee8;
  color: #3f645c;
}

.remembrance-form-section .optional-note {
  margin-top: 20px;
  padding: 18px 20px;
  border-radius: 16px;
  background: linear-gradient(125deg, rgba(240,215,226,.56), rgba(213,233,239,.56));
  color: #577169;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 13px;
  line-height: 1.7;
  font-style: italic;
}

.remembrance-form-section .submit-area {
  margin-top: 42px;
  text-align: center;
}

.remembrance-form-section .submit-button {
  width: auto;
  min-width: 300px;
  padding: 15px 30px;
  border: 1px solid #4d796f;
  border-radius: 999px;
  background: #4d796f;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.remembrance-form-section .submit-button:hover {
  background: transparent;
  color: #4d796f;
  transform: translateY(-1px);
}

.remembrance-form-section .submit-note {
  max-width: 560px;
  margin: 14px auto 0;
  color: #80938e;
  font-size: 11px;
  line-height: 1.65;
}

.remembrance-form-section .direct-email {
  margin-top: 18px;
  text-align: center;
}

.remembrance-form-section .direct-email a {
  color: #4f7e75;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Tablet */
@media (max-width: 800px) {
  .remembrance-form-section {
    padding: 58px 18px 68px;
  }
  .remembrance-form-section .form-container {
    width: min(100%, 720px);
  }
  .remembrance-form-section .form-card {
    padding: 46px 39px;
  }
}

/* Mobile */
@media (max-width: 650px) {
  .remembrance-form-section {
    padding: 42px 11px 54px;
  }

  .remembrance-form-section .form-intro {
    padding: 0 8px;
    margin-bottom: 27px;
  }

  .remembrance-form-section .form-eyebrow {
    font-size: 8.5px;
  }

  .remembrance-form-section .form-intro h2 {
    font-size: 36px;
  }

  .remembrance-form-section .form-intro > p:last-child {
    margin-top: 15px;
    font-size: 13px;
    line-height: 1.75;
  }

  .remembrance-form-section .form-card {
    padding: 29px 19px;
    border-radius: 22px;
  }

  .remembrance-form-section .form-section {
    margin-bottom: 28px;
    padding-bottom: 28px;
  }

  .remembrance-form-section .form-section-heading {
    margin-bottom: 17px;
  }

  .remembrance-form-section .form-section-heading h3 {
    font-size: 21px;
  }

  .remembrance-form-section .form-grid,
  .remembrance-form-section .checkbox-group {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .remembrance-form-section .full-width {
    grid-column: auto;
  }

  .remembrance-form-section input,
  .remembrance-form-section select,
  .remembrance-form-section textarea {
    font-size: 16px; /* prevents iPhone focus zoom */
    padding: 14px 13px;
    border-radius: 13px;
  }

  .remembrance-form-section textarea {
    min-height: 120px;
  }

  .remembrance-form-section .checkbox-option label {
    padding: 13px 14px;
    font-size: 12px;
  }

  .remembrance-form-section .optional-note {
    padding: 15px 16px;
    font-size: 12.5px;
  }

  .remembrance-form-section .submit-area {
    margin-top: 30px;
  }

  .remembrance-form-section .submit-button {
    width: 100%;
    min-width: 0;
    padding: 15px;
  }

  .remembrance-form-section .submit-note {
    font-size: 10.5px;
  }
}

@media (max-width: 360px) {
  .remembrance-form-section {
    padding-left: 7px;
    padding-right: 7px;
  }
  .remembrance-form-section .form-card {
    padding: 25px 16px;
  }
}


/* =========================================================
   REMEMBRANCE — ALL WRITING EDITABLE
   Makes every visible content element easy to identify in edit mode.
   ========================================================= */
body.ml-edit-mode .remembrance-original-wide [data-edit-type="text"],
body.ml-edit-mode .remembrance-form-section [data-edit-type="text"] {
  outline: 1px dashed rgba(77,121,111,.28);
  outline-offset: 3px;
  cursor: text;
  transition: outline-color .18s ease, background-color .18s ease;
}

body.ml-edit-mode .remembrance-original-wide [data-edit-type="text"]:hover,
body.ml-edit-mode .remembrance-form-section [data-edit-type="text"]:hover {
  outline-color: rgba(201,133,159,.72);
  background-color: rgba(255,255,255,.22);
}

body:not(.ml-edit-mode) .remembrance-original-wide [data-edit-type="text"],
body:not(.ml-edit-mode) .remembrance-form-section [data-edit-type="text"] {
  outline: none;
}


/* =========================================================
   WEDDING CALCULATOR — HIGH-VISIBILITY STATEMENT CTA
   ========================================================= */
.wedding-calculator-statement{
  position:relative;
  width:100%;
  padding:clamp(70px,8vw,112px) 24px;
  overflow:hidden;
  text-align:center;
  background:
    radial-gradient(circle at 10% 15%,rgba(244,190,211,.56),transparent 28%),
    radial-gradient(circle at 91% 22%,rgba(179,216,238,.60),transparent 29%),
    radial-gradient(circle at 20% 92%,rgba(184,228,211,.55),transparent 30%),
    radial-gradient(circle at 86% 88%,rgba(213,190,233,.52),transparent 29%),
    linear-gradient(135deg,#e4f3f1 0%,#f7e8ee 50%,#e8e2f3 100%);
}
.wedding-calculator-statement::before{
  content:"";
  position:absolute;
  inset:18px;
  border:1px solid rgba(40,85,79,.11);
  border-radius:34px;
  pointer-events:none;
}
.calculator-statement-inner{
  position:relative;
  z-index:1;
  width:min(900px,100%);
  margin:0 auto;
  padding:clamp(44px,6vw,72px);
  border:1px solid rgba(255,255,255,.72);
  border-radius:32px;
  background:rgba(255,255,255,.70);
  box-shadow:0 24px 60px rgba(42,84,77,.07);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.calculator-kicker{
  margin:0 0 14px;
  color:#c77f9a;
  font-size:11px;
  font-weight:700;
  letter-spacing:.20em;
  text-transform:uppercase;
}
.calculator-statement-inner h2{
  max-width:760px;
  margin:0 auto;
  color:#28554f;
  font-family:var(--heading-font,Georgia,"Times New Roman",serif);
  font-size:clamp(38px,5.4vw,64px);
  line-height:1.06;
  font-weight:400;
  letter-spacing:-.025em;
}
.calculator-lead{
  max-width:720px;
  margin:24px auto 0;
  color:#5f726d;
  font-size:clamp(15px,1.5vw,18px);
  line-height:1.75;
}
.calculator-statement-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:15px;
  margin-top:31px;
  padding:17px 29px;
  border:1px solid #28554f;
  border-radius:999px;
  background:#28554f;
  color:#fff!important;
  text-decoration:none!important;
  font-size:12px;
  font-weight:700;
  letter-spacing:.055em;
  transition:transform .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease;
  box-shadow:0 10px 24px rgba(40,85,79,.15);
}
.calculator-statement-button:hover{
  transform:translateY(-2px);
  background:#f0ced8;
  border-color:#f0ced8;
  color:#28554f!important;
  box-shadow:0 14px 28px rgba(40,85,79,.12);
}
.calculator-arrow{
  font-size:20px;
  line-height:1;
  transition:transform .22s ease;
}
.calculator-statement-button:hover .calculator-arrow{
  transform:translateX(4px);
}
.calculator-note{
  margin:16px 0 0;
  color:#748984;
  font-size:12px;
  line-height:1.6;
  font-style:italic;
}
@media(max-width:600px){
  .wedding-calculator-statement{
    padding:48px 12px;
  }
  .wedding-calculator-statement::before{
    inset:8px;
    border-radius:24px;
  }
  .calculator-statement-inner{
    padding:38px 21px;
    border-radius:23px;
  }
  .calculator-statement-inner h2{
    font-size:36px;
  }
  .calculator-lead{
    margin-top:19px;
    font-size:14px;
  }
  .calculator-statement-button{
    width:100%;
    margin-top:25px;
    padding:16px 18px;
    font-size:11px;
  }
}


/* =========================================================
   WEDDING CALCULATOR — MEADOWLARK SITE REFRESH
   Fixes frozen/sticky title and visually aligns calculator
   with the wider website.
   ========================================================= */

/* Critical fix: calculator headings / intro must scroll normally */
.calculator-page .sticky,
.calculator-page .sticky-header,
.calculator-page .calculator-header,
.calculator-page .calculator-title,
.calculator-page .title-wrap,
.calculator-page .estimate-header,
.calculator-page [style*="position: sticky"],
.calculator-page [style*="position:sticky"],
.calculator-page [style*="position: fixed"],
.calculator-page [style*="position:fixed"]{
  position:static!important;
  top:auto!important;
  bottom:auto!important;
  left:auto!important;
  right:auto!important;
  z-index:auto!important;
  transform:none!important;
}

/* Allow calculator page to scroll without clipped content */
.calculator-page,
.calculator-page main,
.calculator-page .calculator,
.calculator-page .calculator-wrap,
.calculator-page .calculator-container{
  overflow:visible!important;
}

/* New site-matched introduction */
.calculator-refresh-intro{
  width:100%;
  padding:72px 24px 46px;
  text-align:center;
  background:
    radial-gradient(circle at 10% 18%,rgba(244,190,211,.48),transparent 27%),
    radial-gradient(circle at 90% 20%,rgba(180,216,238,.52),transparent 29%),
    radial-gradient(circle at 50% 100%,rgba(185,228,212,.42),transparent 36%),
    linear-gradient(135deg,#e7f4f2 0%,#f7edf1 52%,#ebe6f4 100%);
}
.calculator-refresh-intro .calculator-refresh-kicker{
  margin:0 0 13px;
  color:#c77f9a;
  font-size:10px;
  font-weight:700;
  letter-spacing:.21em;
  text-transform:uppercase;
}
.calculator-refresh-intro h1{
  max-width:900px;
  margin:0 auto;
  color:#28554f;
  font-family:var(--heading-font,Georgia,"Times New Roman",serif);
  font-size:clamp(42px,5.5vw,68px);
  line-height:1.04;
  font-weight:400;
  letter-spacing:-.025em;
}
.calculator-refresh-intro > p:last-child{
  max-width:760px;
  margin:22px auto 0;
  color:#60736e;
  font-size:16px;
  line-height:1.8;
}

/* Main calculator surface */
.calculator-page .calculator,
.calculator-page .calculator-wrap,
.calculator-page .calculator-container,
.calculator-page .calc-shell{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-radius:30px!important;
  border:1px solid rgba(54,102,94,.10)!important;
  background:rgba(255,255,255,.80)!important;
  box-shadow:0 24px 60px rgba(42,84,77,.065)!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

/* Give the calculator page the same pastel field as Remembrance */
.calculator-page main{
  background:
    radial-gradient(circle at 4% 10%,rgba(243,188,210,.34),transparent 22%),
    radial-gradient(circle at 96% 25%,rgba(181,215,238,.38),transparent 24%),
    radial-gradient(circle at 8% 86%,rgba(183,228,212,.34),transparent 24%),
    radial-gradient(circle at 94% 78%,rgba(214,191,232,.32),transparent 23%),
    #e8f5f2!important;
  padding-bottom:76px!important;
}

/* Headings */
.calculator-page h2,
.calculator-page h3{
  color:#2b5751!important;
  font-family:var(--heading-font,Georgia,"Times New Roman",serif)!important;
  font-weight:400!important;
}
.calculator-page p,
.calculator-page label,
.calculator-page .description,
.calculator-page .item-description{
  color:#60736e!important;
}

/* Cards / product rows */
.calculator-page .card,
.calculator-page .option-card,
.calculator-page .item-card,
.calculator-page .category,
.calculator-page .category-card,
.calculator-page .calculator-section{
  border-radius:22px!important;
  border:1px solid rgba(54,102,94,.09)!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:none!important;
}

/* Inputs and selects */
.calculator-page input,
.calculator-page select,
.calculator-page textarea{
  border:1px solid rgba(64,107,100,.17)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#4d655f!important;
  box-shadow:none!important;
}
.calculator-page input:focus,
.calculator-page select:focus,
.calculator-page textarea:focus{
  border-color:rgba(77,121,111,.56)!important;
  box-shadow:0 0 0 3px rgba(174,220,209,.22)!important;
  outline:none!important;
}

/* Primary buttons */
.calculator-page button,
.calculator-page .button,
.calculator-page .btn,
.calculator-page .cta-button{
  border-radius:999px!important;
}
.calculator-page .primary,
.calculator-page .btn-primary,
.calculator-page .cta-button,
.calculator-page button[type="submit"]{
  background:#4d796f!important;
  color:#fff!important;
  border:1px solid #4d796f!important;
  transition:background .2s ease,color .2s ease,transform .2s ease!important;
}
.calculator-page .primary:hover,
.calculator-page .btn-primary:hover,
.calculator-page .cta-button:hover,
.calculator-page button[type="submit"]:hover{
  background:#f0ced8!important;
  color:#28554f!important;
  border-color:#f0ced8!important;
  transform:translateY(-1px);
}

/* Totals area: prominent but not blocking content */
.calculator-page .total,
.calculator-page .total-box,
.calculator-page .estimate-total,
.calculator-page .summary-total{
  position:static!important;
  top:auto!important;
  bottom:auto!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(240,215,226,.72),rgba(213,233,239,.72))!important;
  color:#28554f!important;
}

/* Mobile sticky total is okay only if it is explicitly the mobile total bar */
@media(max-width:700px){
  .calculator-refresh-intro{
    padding:48px 16px 34px;
  }
  .calculator-refresh-intro h1{
    font-size:38px;
  }
  .calculator-refresh-intro > p:last-child{
    font-size:14px;
    line-height:1.72;
  }

  .calculator-page main{
    padding-bottom:64px!important;
  }

  .calculator-page .calculator,
  .calculator-page .calculator-wrap,
  .calculator-page .calculator-container,
  .calculator-page .calc-shell{
    width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
    border-radius:22px!important;
  }

  .calculator-page .mobile-total-bar,
  .calculator-page .sticky-total-mobile{
    position:sticky!important;
    bottom:8px!important;
    top:auto!important;
    z-index:20!important;
  }

  .calculator-page input,
  .calculator-page select,
  .calculator-page textarea{
    font-size:16px!important;
  }
}


/* Calculator outer-page cleanup: one title only, no blocking header */
.calculator-page .calculator-refresh-intro,
.calculator-page .page-head{display:none!important}
.calculator-page .calc-page-clean{
  padding-top:26px!important;
  background:#edf7f5!important;
  overflow:visible!important;
}
.calculator-page .calc-frame{
  display:block;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}
@media(max-width:850px){
  .calculator-page .calc-page-clean{padding-top:0!important}
}


/* =========================================================
   WEDDINGS + WEDDING CALCULATOR — ALL WRITING EDITABLE
   ========================================================= */
body.ml-edit-mode .weddings-page [data-edit-type="text"],
body.ml-edit-mode .wedding-page [data-edit-type="text"],
body.ml-edit-mode main [data-edit-key][data-edit-type="text"]{
  outline:1px dashed rgba(77,121,111,.28);
  outline-offset:3px;
  cursor:text;
}
body.ml-edit-mode .weddings-page [data-edit-type="text"]:hover,
body.ml-edit-mode .wedding-page [data-edit-type="text"]:hover,
body.ml-edit-mode main [data-edit-key][data-edit-type="text"]:hover{
  outline-color:rgba(201,133,159,.72);
  background-color:rgba(255,255,255,.18);
}


/* =========================================================
   MAIN MENU — WEDDINGS DROPDOWN
   ========================================================= */
.nav-dropdown{
  position:relative;
  display:flex;
  width:100%;
  height:100%;
}

.nav-dropdown-main{
  width:100%;
}

.nav-dropdown-menu{
  position:absolute;
  top:100%;
  left:0;
  z-index:9999;
  width:100%;
  min-width:245px;
  padding-top:0;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
  box-shadow:0 14px 30px rgba(21,63,64,.10);
}

.nav-dropdown-menu a{
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:58px;
  padding:12px 18px!important;
  background:#f3d5d9!important;
  color:#153f40!important;
  border-top:1px solid rgba(255,255,255,.55);
  font-family:var(--nav-font,Montserrat,Arial,sans-serif);
  font-size:13px!important;
  line-height:1.25;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
}

.nav-dropdown-menu a:hover,
.nav-dropdown-menu a:focus-visible{
  background:#d3e9e7!important;
  color:#153f40!important;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* Keep dropdown open while moving pointer from Weddings to submenu */
.nav-dropdown::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:10px;
}

/* Mobile: submenu becomes a clear indented item rather than hover-only */
@media(max-width:850px){
  .nav-dropdown{
    display:block;
    height:auto;
  }

  .nav-dropdown-menu{
    position:static;
    width:100%;
    min-width:0;
    padding:0;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
    box-shadow:none;
  }

  .nav-dropdown-menu a{
    min-height:44px;
    padding:10px 18px!important;
    background:rgba(243,213,217,.72)!important;
    color:#153f40!important;
    font-size:12px!important;
  }

  .nav-dropdown::after{
    display:none;
  }
}


/* Wedding calculator full-height fix */
.calculator-page .calc-frame{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-height:1200px;
  height:auto;
  max-height:none!important;
  overflow:hidden!important;
  border:0!important;
}

/* Secure live editor */

#ml-login-gate{position:fixed;inset:0;z-index:2147483646;background:rgba(238,247,245,.97);display:grid;place-items:center;padding:24px}
.ml-login-card{width:min(520px,100%);background:#fff;border:1px solid #d7e6e3;border-radius:26px;padding:38px;text-align:center;box-shadow:0 24px 70px rgba(21,63,64,.14)}
.ml-login-card h1{margin:0 0 14px;color:#153f40;font:400 38px/1.1 Georgia,serif}
.ml-login-card p{color:#60716f;line-height:1.6}.ml-login-card .small{font-size:12px;margin-top:16px}
.ml-login-card button,.ml-publish-live{border:0;border-radius:999px;background:#153f40!important;color:#fff!important;padding:13px 20px;font-weight:700;cursor:pointer}
.ml-publish-live:hover{background:#f1d1d5!important;color:#153f40!important}


/* Direct secure editor login v32 */
.ml-login-card form{display:grid;gap:14px;margin:22px auto 0;max-width:360px;text-align:left}
.ml-login-label{display:grid;gap:6px;color:#315f5d;font:700 12px Arial,sans-serif}
.ml-login-label input{width:100%;height:48px;border:1px solid #c8d9d6;border-radius:12px;padding:10px 13px;background:#fff;color:#153f40;font:15px Arial,sans-serif}
.ml-login-label input:focus{outline:2px solid #9dc9c5;outline-offset:2px}
.ml-login-card #ml-login-button{justify-self:center;min-width:118px;margin-top:4px}
.ml-login-card #ml-login-button:disabled{opacity:.6;cursor:wait}
.ml-login-status{min-height:18px;text-align:center;color:#9a4f5c;font:700 12px/1.4 Arial,sans-serif}

/* Password recovery v33 */
.ml-reset-form{gap:14px;margin:0 auto;max-width:380px;text-align:left}
.ml-reset-form h1,.ml-reset-form>p{text-align:center}
.ml-reset-form #ml-set-password-button{justify-self:center;min-width:150px;margin-top:4px}
.ml-reset-step{text-align:center}

/* Safe publish guide v35 */
.ml-publish-guide{max-width:900px;margin:20px auto 28px;padding:18px 22px;border:1px solid #bfd9d5;border-radius:16px;background:#f7fbfa;color:#526563;display:grid;gap:7px;font:14px/1.5 Arial,sans-serif}
.ml-publish-guide strong{color:#153f40;font-size:16px}
.ml-publish-guide b{color:#315f5d}


/* Meadowlark v48 — Portfolio header / gallery gap fix */
.portfolio-page .page-head{
  padding:26px 20px 22px !important;
  margin:0 !important;
  min-height:0 !important;
  height:auto !important;
}
.portfolio-page .portfolio-grid{
  margin-top:0 !important;
  padding-top:0 !important;
}
@media (max-width:700px){
  .portfolio-page .page-head{
    padding:20px 16px 16px !important;
  }
}


/* Meadowlark v50 — remove blank space above Portfolio gallery completely */
.portfolio-page main{
  margin-top:0 !important;
  padding-top:0 !important;
}
.portfolio-page .page-head{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
.portfolio-page .portfolio-grid{
  margin-top:0 !important;
  padding-top:0 !important;
}
.portfolio-page .site-header + main,
.portfolio-page header + main,
.portfolio-page nav + main{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* Meadowlark v53 — HARD Portfolio top-gap removal.
   The old page-head has also been removed from portfolio.html entirely. */
body.portfolio-page .portfolio-main{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}
body.portfolio-page .portfolio-main > .portfolio-grid{
  margin:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
body.portfolio-page .portfolio-main::before,
body.portfolio-page .portfolio-main::after{
  display:none !important;
  content:none !important;
}
body.portfolio-page .site-header,
body.portfolio-page header{
  margin-bottom:0 !important;
}
body.portfolio-page .site-header + .portfolio-main,
body.portfolio-page header + .portfolio-main{
  margin-top:0 !important;
  padding-top:0 !important;
}


/* Meadowlark v54 — optional scroll-in animations */
.ml-anim-ready{
  opacity:0;
  transition-property:opacity,transform;
  transition-duration:var(--ml-anim-duration,700ms);
  transition-delay:var(--ml-anim-delay,0ms);
  transition-timing-function:cubic-bezier(.22,.61,.36,1);
  will-change:opacity,transform;
}
.ml-anim-ready.ml-anim-fade{transform:none}
.ml-anim-ready.ml-anim-slide-up{transform:translateY(34px)}
.ml-anim-ready.ml-anim-slide-left{transform:translateX(42px)}
.ml-anim-ready.ml-anim-slide-right{transform:translateX(-42px)}
.ml-anim-ready.ml-anim-zoom{transform:scale(.94)}
.ml-anim-ready.ml-anim-in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){
  .ml-anim-ready{opacity:1!important;transform:none!important;transition:none!important}
}


/* ==========================================================
   Meadowlark v55 — Professional Florist Suite
   ========================================================== */
.ml-pro-section{padding:76px 28px;margin:0 auto}
.ml-pro-intro{max-width:720px;margin:0 auto 34px;text-align:center}
.ml-pro-intro h2{margin:5px 0 12px;font-size:clamp(32px,4.2vw,54px);line-height:1.05;color:#153f40}
.ml-pro-intro p{max-width:650px;margin:0 auto;color:#526563;line-height:1.7}
.ml-pro-button{border:0;border-radius:999px;background:#153f40;color:#fff;padding:14px 24px;font:600 14px Montserrat,Arial,sans-serif;cursor:pointer;transition:transform .2s ease,opacity .2s ease}
.ml-pro-button:hover{transform:translateY(-1px);opacity:.92}
.ml-form-note{font-size:12px;line-height:1.55;color:#70817f}

/* wedding availability */
.ml-availability{margin-top:40px;margin-bottom:40px;background:linear-gradient(135deg,#dff0ee 0%,#f5e1e5 100%);border-radius:30px;max-width:1160px}
.ml-availability-form{max-width:850px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ml-availability-form .full{grid-column:1/-1}
.ml-availability-form .field{display:flex;flex-direction:column;gap:7px}
.ml-availability-form label{font-size:12px;font-weight:600;color:#315f5d}
.ml-availability-form input,.ml-availability-form textarea{width:100%;border:1px solid rgba(21,63,64,.16);background:#fff;border-radius:14px;padding:13px 14px;font:14px Montserrat,Arial,sans-serif;color:#315f5d}
.ml-availability .ml-form-note{text-align:center;margin:13px auto 0;max-width:650px}

/* journey */
.ml-journey-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1160px;margin:0 auto}
.ml-journey-step{position:relative;background:#fff;border:1px solid #dce9e7;border-radius:22px;padding:26px 20px;min-height:220px;box-shadow:0 8px 30px rgba(21,63,64,.045)}
.ml-journey-step>span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:#d3e9e7;color:#315f5d;font:700 11px Montserrat,Arial,sans-serif}
.ml-journey-step h3{margin:18px 0 8px;color:#153f40;font-size:20px}
.ml-journey-step p{margin:0;color:#526563;font-size:13px;line-height:1.65}

/* testimonials */
.ml-testimonials{background:#f8f5f1;max-width:none}
.ml-testimonial-shell{max-width:900px;margin:0 auto;display:grid;grid-template-columns:46px 1fr 46px;align-items:center;gap:14px}
.ml-testimonial-track{position:relative;min-height:285px}
.ml-testimonial{display:none;text-align:center;background:rgba(255,255,255,.74);border:1px solid rgba(21,63,64,.08);border-radius:28px;padding:42px 8%;box-shadow:0 12px 38px rgba(21,63,64,.05)}
.ml-testimonial.active{display:block}
.ml-stars{letter-spacing:.18em;color:#799b93;font-size:13px;margin-bottom:20px}
.ml-testimonial blockquote{margin:0 auto 24px;max-width:680px;color:#153f40;font-family:Georgia,'Times New Roman',serif;font-size:clamp(20px,2.3vw,29px);line-height:1.5}
.ml-testimonial-name{font-weight:700;margin:0;color:#315f5d}
.ml-testimonial-venue{font-size:12px;margin:4px 0 0;color:#7a8987}
.ml-testimonial-nav{border:1px solid #cfe0dd;background:#fff;width:44px;height:44px;border-radius:50%;font-size:28px;color:#315f5d;cursor:pointer}
.ml-testimonial-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
.ml-testimonial-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#bdd1ce;padding:0;cursor:pointer}
.ml-testimonial-dots button.active{background:#315f5d}

/* portfolio filter + case-study lightbox */
.ml-portfolio-tools{padding:18px 18px 22px;position:relative;z-index:2}
.ml-portfolio-filter-scroll{display:flex;justify-content:center;gap:8px;overflow-x:auto;padding:3px 0;scrollbar-width:none}
.ml-portfolio-filter-scroll::-webkit-scrollbar{display:none}
.ml-filter{white-space:nowrap;border:1px solid #c7dcd9;background:#fff;color:#315f5d;border-radius:999px;padding:9px 16px;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer}
.ml-filter.active{background:#315f5d;color:#fff;border-color:#315f5d}
.portfolio-grid img.ml-filter-hidden{display:none!important}
.ml-portfolio-lightbox{position:fixed;inset:0;z-index:99990;background:rgba(14,34,34,.93);display:none;align-items:center;justify-content:center;padding:28px}
.ml-portfolio-lightbox.open{display:flex}
.ml-pl-card{width:min(1120px,88vw);max-height:90vh;display:grid;grid-template-columns:minmax(0,1fr) 310px;background:#fff;border-radius:24px;overflow:hidden;margin:0}
.ml-pl-card img{width:100%;height:min(78vh,800px);object-fit:contain;background:#eef3f2}
.ml-pl-card figcaption{padding:34px 28px;display:flex;flex-direction:column;justify-content:center}
.ml-pl-category{text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700;color:#6e9691}
.ml-pl-card h2{font:400 30px/1.15 Georgia,serif;color:#153f40;margin:12px 0 8px}
.ml-pl-card p{color:#687c79;line-height:1.6}
.ml-pl-close{position:absolute;right:24px;top:20px;border:0;background:transparent;color:#fff;font-size:38px;cursor:pointer}
.ml-pl-nav{border:0;background:rgba(255,255,255,.15);color:#fff;width:48px;height:48px;border-radius:50%;font-size:30px;cursor:pointer;margin:10px}

/* multistep enquiry */
.ml-multistep-form{background:#f7fbfa;border:1px solid #d8e8e5;border-radius:26px;padding:28px;box-shadow:0 12px 36px rgba(21,63,64,.055)}
.ml-form-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:28px}
.ml-form-progress span{height:4px;border-radius:4px;background:#d8e6e4}
.ml-form-progress span.active{background:#64aaa4}
.ml-form-step{display:none}
.ml-form-step.active{display:block}
.ml-form-step h2{margin:6px 0 22px;color:#153f40;font-size:28px}
.ml-step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px}
.ml-step-actions .ml-back{border:0;background:transparent;color:#567270;text-decoration:underline;cursor:pointer;padding:12px}
.ml-multistep-form .field input,.ml-multistep-form .field textarea,.ml-multistep-form .field select{border-radius:13px}

/* editor portfolio category hint */
.ml-edit-mode .portfolio-grid img{cursor:pointer}

@media(max-width:900px){
  .ml-journey-grid{grid-template-columns:repeat(2,1fr)}
  .ml-pl-card{grid-template-columns:1fr}
  .ml-pl-card img{height:58vh}
  .ml-pl-card figcaption{padding:20px 24px}
}
@media(max-width:700px){
  .ml-pro-section{padding:54px 16px}
  .ml-availability{margin-left:12px;margin-right:12px;border-radius:22px}
  .ml-availability-form{grid-template-columns:1fr}
  .ml-availability-form .full{grid-column:auto}
  .ml-journey-grid{grid-template-columns:1fr}
  .ml-journey-step{min-height:0}
  .ml-testimonial-shell{grid-template-columns:1fr}
  .ml-testimonial-nav{display:none}
  .ml-testimonial-track{min-height:350px}
  .ml-testimonial{padding:34px 22px}
  .ml-portfolio-tools{padding-top:12px}
  .ml-portfolio-filter-scroll{justify-content:flex-start}
  .ml-portfolio-lightbox{padding:12px}
  .ml-pl-card{width:96vw;max-height:86vh;overflow:auto}
  .ml-pl-card img{height:auto;max-height:62vh}
  .ml-pl-nav{display:none}
  .ml-pl-close{right:14px;top:8px}
  .ml-multistep-form{padding:20px 16px}
}


/* Meadowlark v56 — FINAL Portfolio top-gap fix.
   v55 added filter controls above the gallery; their wrapper reintroduced top
   spacing. Keep the filters, but make the Portfolio content start flush below
   the navigation. */
body.portfolio-page .portfolio-main{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.portfolio-page .portfolio-main > .ml-portfolio-tools{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.portfolio-page .ml-portfolio-tools{
  margin-top:0 !important;
  padding:0 18px 12px !important;
}
body.portfolio-page .ml-portfolio-filter-scroll{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.portfolio-page .portfolio-main > .portfolio-grid{
  margin-top:0 !important;
  padding-top:0 !important;
}
body.portfolio-page header,
body.portfolio-page .site-header,
body.portfolio-page .nav-wrap,
body.portfolio-page .nav{
  margin-bottom:0 !important;
}
body.portfolio-page header + .portfolio-main,
body.portfolio-page .site-header + .portfolio-main{
  margin-top:0 !important;
  padding-top:0 !important;
}
@media(max-width:700px){
  body.portfolio-page .ml-portfolio-tools{
    padding:0 12px 10px !important;
  }
}


/* Meadowlark v59 — Portfolio gap zero.
   The large blank area was caused by saved bottom spacing, not only top spacing. */
body.portfolio-page .portfolio-main{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
  height:auto !important;
}
body.portfolio-page .portfolio-main > .ml-portfolio-tools{
  box-sizing:border-box !important;
  width:100% !important;
  height:52px !important;
  min-height:52px !important;
  max-height:52px !important;
  margin:0 !important;
  padding:0 18px !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
}
body.portfolio-page .ml-portfolio-filter-scroll{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  min-height:0 !important;
}
body.portfolio-page .portfolio-main > .portfolio-grid{
  margin:0 auto !important;
  padding-top:0 !important;
}
body.portfolio-page .portfolio-main > .ml-portfolio-tools + .portfolio-grid{
  margin-top:0 !important;
}
@media(max-width:700px){
  body.portfolio-page .portfolio-main > .ml-portfolio-tools{
    height:48px !important;
    min-height:48px !important;
    max-height:48px !important;
    margin:0 !important;
    padding:0 10px !important;
  }
}


/* Meadowlark v60 — Portfolio visibility safety.
   The filter strip and whole gallery are structural containers and must always
   remain visible. Individual images/text may still use animations. */
body.portfolio-page .ml-portfolio-tools,
body.portfolio-page .portfolio-grid{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}
body.portfolio-page .ml-portfolio-tools.ml-anim-ready,
body.portfolio-page .portfolio-grid.ml-anim-ready{
  opacity:1 !important;
  transform:none !important;
}


/* Meadowlark v61 — individual Portfolio crop controls.
   Each gallery tile remains an equal square. The image inside can be moved
   left/right, up/down and zoomed without changing the grid layout. */
.portfolio-grid > .ml-image-frame{
  width:100%;
  aspect-ratio:1 / 1;
  overflow:hidden !important;
  position:relative;
  display:block;
}
.portfolio-grid > .ml-image-frame > img{
  width:100% !important;
  height:100% !important;
  aspect-ratio:1 / 1 !important;
  display:block;
  object-fit:cover !important;
  max-width:none !important;
  will-change:transform,object-position;
}
.portfolio-grid > .ml-image-frame.ml-filter-hidden{
  display:none !important;
}
body.ml-edit-mode .portfolio-grid > .ml-image-frame > img{
  cursor:grab;
  touch-action:none;
}
body.ml-edit-mode .portfolio-grid > .ml-image-frame > img:active{
  cursor:grabbing;
}


/* Meadowlark v63 — Portfolio lightbox always above header/navigation.
   The lightbox is also moved directly under <body> by site.js so it uses the
   viewport rather than any gallery/main stacking context. */
body.portfolio-page #mlPortfolioLightbox{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100vh !important;
  z-index:2147483000 !important;
  margin:0 !important;
  box-sizing:border-box !important;
  isolation:isolate;
}
body.portfolio-page #mlPortfolioLightbox.open{
  display:flex !important;
}
body.portfolio-page #mlPortfolioLightbox .ml-pl-close{
  z-index:2;
}


/* LIVE INSTAGRAM FEED — v66 */
.insta-live-post img{background:#f4f4f2}
.insta-lightbox{z-index:2147483000 !important}
.insta-lightbox-card{width:min(940px,94vw);max-width:940px;max-height:92vh;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);padding:0;overflow:hidden;border-radius:18px;text-align:left}
.insta-lightbox-media{min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;background:#f7f5f0}
.insta-lightbox-card .insta-lightbox-media img,.insta-lightbox-card .insta-lightbox-media video{display:block;width:100%;height:auto;max-width:100%;max-height:84vh;margin:0;object-fit:contain;background:#f7f5f0}
.insta-lightbox-card .insta-lightbox-media video[hidden],.insta-lightbox-card .insta-lightbox-media img[hidden]{display:none !important}
.insta-lightbox-details{display:flex;flex-direction:column;justify-content:center;padding:34px 30px 30px;min-width:0;background:#fff}
.insta-lightbox-caption{margin:0 0 24px;max-height:46vh;overflow:auto;white-space:pre-wrap;font-family:var(--sans);font-size:14px;line-height:1.65;color:#48605d}
.insta-lightbox-caption[hidden]{display:none}.insta-lightbox-link{align-self:flex-start;margin-top:0}
@media(max-width:760px){.insta-lightbox{padding:14px}.insta-lightbox-card{width:min(96vw,620px);max-height:92vh;grid-template-columns:1fr;overflow:auto;border-radius:14px}.insta-lightbox-card .insta-lightbox-media img,.insta-lightbox-card .insta-lightbox-media video{max-height:62vh}.insta-lightbox-details{padding:22px 22px 24px}.insta-lightbox-caption{max-height:none;font-size:13px}.insta-lightbox-close{top:10px;right:12px;font-size:40px}}

/* v69 accessibility + SEO helper */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* Meadowlark v71 — mobile back-to-top button */
.ml-back-to-top{
  display:none;
  position:fixed;
  right:18px;
  bottom:max(18px,env(safe-area-inset-bottom));
  width:48px;
  height:48px;
  border:1px solid rgba(21,63,64,.18);
  border-radius:50%;
  background:rgba(255,254,250,.94);
  color:var(--ink);
  box-shadow:0 8px 28px rgba(21,63,64,.16);
  align-items:center;
  justify-content:center;
  font-family:Arial,sans-serif;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  z-index:2147482000;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,background .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.ml-back-to-top span{display:block;transform:translateY(-1px)}
.ml-back-to-top:focus-visible{outline:3px solid rgba(43,120,117,.3);outline-offset:3px}
@media(max-width:850px){
  .ml-back-to-top{display:flex}
  .ml-back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
}
@media(prefers-reduced-motion:reduce){
  .ml-back-to-top{transition:none}
}
