:root{
  --mkww-sage:#8fa68e;
  --mkww-sage-dark:#526b55;
  --mkww-sage-deep:#314735;
  --mkww-sage-pale:#eef4ec;
  --mkww-cream:#fffaf2;
  --mkww-cream-deep:#f7efe1;
  --mkww-ink:#304033;
  --mkww-muted:#6d7f70;
  --mkww-gold:#c9a56a;
  --mkww-line:#dfe9dc;
  --mkww-white:#fff;
  --mkww-shadow:0 18px 45px rgba(48,64,51,.09);
}

html{scrollbar-gutter:stable;overflow-y:scroll;}
body.mkww-page{background:var(--mkww-cream)!important;color:var(--mkww-ink)!important;}
html,body{max-width:100%;overflow-x:hidden;}

/* Hide the default Twenty Twenty-Five/block theme header, footer and page title on the wedding pages only. */
body.mkww-page .wp-site-blocks > header,
body.mkww-page .wp-site-blocks > footer,
body.mkww-page header.wp-block-template-part,
body.mkww-page footer.wp-block-template-part,
body.mkww-page .wp-block-template-part:has(.wp-block-site-title),
body.mkww-page .wp-block-template-part:has(.wp-block-navigation),
body.mkww-page .wp-block-site-title,
body.mkww-page .wp-block-navigation,
body.mkww-page .wp-block-post-title,
body.mkww-page .entry-title,
body.mkww-page .site-info,
body.mkww-page .powered-by-wordpress{display:none!important;}
body.mkww-page .wp-site-blocks{padding-top:0!important;padding-bottom:0!important;}
body.mkww-page main,
body.mkww-page .wp-block-post-content,
body.mkww-page .entry-content{margin-top:0!important;padding-top:0!important;}

/* Master header and navigation. */
#mkww-master-header.mkww-master-header{
  box-sizing:border-box!important;
  width:100%!important;
  position:sticky!important;
  top:0!important;
  z-index:999999!important;
  padding:12px 18px!important;
  background:rgba(255,250,242,.96)!important;
  backdrop-filter:blur(10px)!important;
  border-bottom:1px solid rgba(143,166,142,.32)!important;
  box-shadow:0 10px 28px rgba(48,64,51,.08)!important;
  font-family:Georgia,'Times New Roman',serif!important;
}
#mkww-master-header .mkww-master-inner{
  width:min(1180px, calc(100vw - 32px))!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
}
#mkww-master-header .mkww-master-brand{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  text-decoration:none!important;
  color:var(--mkww-sage-deep)!important;
}
#mkww-master-header .mkww-master-logo,
#mkww-master-header .mkww-master-mark{
  flex:0 0 48px!important;
  width:48px!important;
  height:48px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(82,107,85,.42)!important;
  color:var(--mkww-sage-dark)!important;
  font-size:14px!important;
  letter-spacing:.08em!important;
  box-shadow:0 8px 18px rgba(48,64,51,.08)!important;
}
#mkww-master-header .mkww-master-logo img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important;}
#mkww-master-header .mkww-master-title{
  display:block!important;
  font-size:24px!important;
  line-height:1.05!important;
  white-space:nowrap!important;
  color:var(--mkww-sage-deep)!important;
}
#mkww-master-header .mkww-master-nav{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}
#mkww-master-header .mkww-master-nav a,
#mkww-master-header .mkww-mobile-dropdown summary,
#mkww-master-header .mkww-mobile-dropdown-nav a{
  -webkit-tap-highlight-color:transparent!important;
}
#mkww-master-header .mkww-master-nav a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:10px 17px!important;
  border-radius:999px!important;
  background:var(--mkww-sage)!important;
  border:1px solid #7f987e!important;
  color:#fff!important;
  text-decoration:none!important;
  font-size:14px!important;
  line-height:1!important;
  white-space:nowrap!important;
  box-shadow:0 8px 18px rgba(48,64,51,.12)!important;
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease!important;
}
#mkww-master-header .mkww-master-nav a:hover,
#mkww-master-header .mkww-master-nav a.is-active{
  background:var(--mkww-sage-dark)!important;
  border-color:var(--mkww-sage-dark)!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(48,64,51,.18)!important;
}
#mkww-master-header .mkww-mobile-dropdown{display:none!important;position:relative!important;margin-left:auto!important;}
#mkww-master-header .mkww-mobile-dropdown summary{
  list-style:none!important;
  cursor:pointer!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 18px!important;
  border-radius:999px!important;
  background:var(--mkww-sage)!important;
  border:1px solid #7f987e!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(48,64,51,.12)!important;
  user-select:none!important;
}
#mkww-master-header .mkww-mobile-dropdown summary::-webkit-details-marker{display:none!important;}
#mkww-master-header .mkww-mobile-dropdown summary:after{content:'▾';font-size:12px!important;margin-left:8px!important;}
#mkww-master-header .mkww-mobile-dropdown[open] summary:after{content:'▴';}
#mkww-master-header .mkww-mobile-dropdown-nav{
  position:absolute!important;
  right:0!important;
  top:calc(100% + 10px)!important;
  z-index:1000000!important;
  width:min(260px, calc(100vw - 28px))!important;
  display:grid!important;
  gap:8px!important;
  padding:12px!important;
  border-radius:18px!important;
  background:var(--mkww-cream)!important;
  border:1px solid rgba(143,166,142,.38)!important;
  box-shadow:0 20px 45px rgba(48,64,51,.18)!important;
}
#mkww-master-header .mkww-mobile-dropdown-nav a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:999px!important;
  background:var(--mkww-sage-pale)!important;
  border:1px solid rgba(143,166,142,.55)!important;
  color:var(--mkww-sage-deep)!important;
  text-decoration:none!important;
  font-size:14px!important;
  line-height:1!important;
}
#mkww-master-header .mkww-mobile-dropdown-nav a.is-active,
#mkww-master-header .mkww-mobile-dropdown-nav a:hover{background:var(--mkww-sage-dark)!important;border-color:var(--mkww-sage-dark)!important;color:#fff!important;}

/* Hide old/failed navigation/header versions so only the master header is visible. */
.mkww-wrap .mkww-site-header,
.mkww-wrap .mkww-new-header,
.mkww-wrap .mkww-nav,
.mkww-wrap .mkww-nav-inline,
.mkww-floating-nav-wrap,
.mkww-nav-floating,
#mkww-global-nav,
.mkww-global-header,
.mkww-fallback-header{display:none!important;visibility:hidden!important;height:0!important;overflow:hidden!important;margin:0!important;padding:0!important;}

/* Shared page layout. */
.mkww-wrap{
  box-sizing:border-box!important;
  width:min(1180px, calc(100vw - 32px))!important;
  max-width:1180px!important;
  margin:28px auto 36px!important;
  padding:24px!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,var(--mkww-cream),#fff)!important;
  color:var(--mkww-ink)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  box-shadow:0 20px 60px rgba(48,64,51,.06)!important;
}
.mkww-wrap *{box-sizing:border-box;}
.mkww-wrap a{color:inherit;}
.mkww-hero,
.mkww-page-header{
  position:relative;
  overflow:hidden;
  text-align:center;
  border:1px solid #d8e5d4;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(238,244,236,.9));
  box-shadow:var(--mkww-shadow);
}
.mkww-hero{padding:76px 24px;}
.mkww-page-header{padding:44px 22px;margin:0 0 26px;}
.mkww-hero:before,.mkww-hero:after,.mkww-page-header:before{
  content:"";
  position:absolute;
  border-radius:999px;
  pointer-events:none;
  border:1px solid rgba(82,107,85,.13);
}
.mkww-hero:before{width:340px;height:340px;left:-150px;top:-160px;}
.mkww-hero:after{width:410px;height:410px;right:-180px;bottom:-220px;}
.mkww-page-header:before{width:230px;height:230px;right:-110px;top:-120px;background:rgba(143,166,142,.08);}
.mkww-hero-inner{position:relative;z-index:1;max-width:820px;margin:0 auto;}
.mkww-logo-area{
  width:256px;height:256px;border:2px solid var(--mkww-sage);border-radius:999px;margin:0 auto 24px;
  display:flex;align-items:center;justify-content:center;font-size:80px;letter-spacing:.08em;color:var(--mkww-sage-dark);background:rgba(255,255,255,.78);box-shadow:0 14px 35px rgba(48,64,51,.1);
}
.mkww-logo-image{overflow:hidden;padding:8px;}
.mkww-logo-image img{width:100%;height:100%;object-fit:contain;border-radius:999px;display:block;}
.mkww-kicker{text-transform:uppercase;letter-spacing:.22em;font-size:13px;color:var(--mkww-sage-dark);margin:0 0 8px;}
.mkww-hero h1,.mkww-page-header h1{
  font-size:clamp(42px,7vw,82px);
  line-height:.98;
  margin:12px 0 14px;
  color:var(--mkww-sage-deep);
  font-weight:400;
}
.mkww-page-header h1{font-size:clamp(38px,6vw,66px);}
.mkww-welcome,.mkww-page-header p{font-size:20px;line-height:1.55;margin:0 auto 26px;max-width:760px;color:var(--mkww-ink);}
.mkww-page-header p{margin-bottom:0;}
.mkww-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.mkww-button,
.mkww-wrap button:not(.mkww-remove-family-member),
.mkww-wrap input[type="submit"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border:0;
  border-radius:999px;
  padding:13px 22px;
  background:var(--mkww-sage-dark);
  color:#fff!important;
  text-decoration:none!important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 12px 24px rgba(82,107,85,.22);
  transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
}
.mkww-button:hover,
.mkww-wrap button:not(.mkww-remove-family-member):hover,
.mkww-wrap input[type="submit"]:hover{filter:brightness(.97);transform:translateY(-1px);box-shadow:0 16px 28px rgba(82,107,85,.25);}
.mkww-button-light{background:#fff!important;color:var(--mkww-sage-dark)!important;border:1px solid #d5e1d2!important;}
.mkww-event-intro{text-align:center;margin:40px auto 8px;}
.mkww-event-intro h2{margin:8px 0 0;font-size:clamp(30px,4vw,42px);font-weight:400;color:var(--mkww-sage-deep);}
.mkww-event-grid,.mkww-accom-grid,.mkww-menu-grid,.mkww-table-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:22px;
  margin-top:26px;
}
.mkww-card,.mkww-menu-card,.mkww-table-card,.mkww-accom-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--mkww-line);
  border-radius:26px;
  padding:26px;
  box-shadow:0 14px 30px rgba(48,64,51,.07);
}
.mkww-card:before,.mkww-accom-card:before,.mkww-menu-card:before{
  content:"";position:absolute;left:0;right:0;top:0;height:7px;background:linear-gradient(90deg,var(--mkww-sage),var(--mkww-gold));
}
.mkww-card h2,.mkww-table-card h2,.mkww-accom-card h2,.mkww-menu-card strong{
  font-weight:400;color:var(--mkww-sage-dark);font-size:clamp(26px,3vw,32px);line-height:1.1;margin:8px 0 12px;
}
.mkww-card p,.mkww-accom-card p,.mkww-menu-card p,.mkww-table-card p{font-size:17px;line-height:1.55;margin:0 0 14px;}
.mkww-date{color:var(--mkww-gold);font-weight:700;}
.mkww-menu-card img,.mkww-accom-card img{width:100%;height:210px;object-fit:cover;border-radius:18px;margin:8px 0 16px;display:block;}
.mkww-menu-category{display:inline-block;background:var(--mkww-sage-pale);color:var(--mkww-sage-dark);border-radius:999px;padding:6px 11px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:8px 0 10px;}
.mkww-success{background:#edf7e9;border:1px solid #bcd1b8;color:#38533d;border-radius:16px;padding:15px;margin:20px 0;text-align:center;}
.mkww-muted{opacity:.75;font-style:italic;}

/* Forms. */
.mkww-form{
  width:100%;
  max-width:820px;
  margin:24px auto 0;
  background:#fff;
  padding:24px;
  border-radius:24px;
  border:1px solid var(--mkww-line);
  box-shadow:0 12px 28px rgba(48,64,51,.06);
}
.mkww-compact{padding:18px;margin-top:18px;box-shadow:none;background:var(--mkww-cream);}
.mkww-form label{display:block;margin:0 0 18px;font-weight:700;color:var(--mkww-sage-deep);}
.mkww-form input,.mkww-form textarea,.mkww-form select{
  width:100%;
  min-height:46px;
  box-sizing:border-box;
  margin-top:8px;
  border:1px solid #ccd9c9;
  border-radius:14px;
  padding:12px;
  background:#fff;
  color:var(--mkww-ink);
  font:inherit;
}
.mkww-form textarea{min-height:92px;resize:vertical;}
.mkww-form input:focus,.mkww-form textarea:focus,.mkww-form select:focus{outline:3px solid rgba(143,166,142,.25);border-color:var(--mkww-sage);}

/* RSVP family member cards. */
.mkww-rsvp-guests{display:grid;gap:18px;margin-bottom:18px;}
.mkww-rsvp-guest-card{
  border:1px solid rgba(143,166,142,.35);
  border-radius:20px;
  padding:20px;
  background:rgba(255,255,255,.9);
  position:relative;
}
.mkww-rsvp-guest-card legend{font-weight:700;color:var(--mkww-sage-dark);padding:0 8px;font-size:18px;}
.mkww-remove-family-member{position:absolute;right:16px;top:14px;border:0;border-radius:999px;padding:8px 13px;background:#f5e7e4;color:#7a3b31;cursor:pointer;font:inherit;}
.mkww-rsvp-family-form .mkww-button{margin-right:10px;margin-top:8px;}

/* Accommodation and seating. */
.mkww-accom-grid{align-items:start;}
.mkww-accom-card{display:flex;flex-direction:column;}
.mkww-accom-card .mkww-form{max-width:100%;}
.mkww-table-card{border-top:8px solid var(--mkww-seating-accent,var(--mkww-sage));}
.mkww-table-card ul{margin:0;padding-left:20px;columns:2;column-gap:28px;}
.mkww-table-card li{margin:0 0 8px;line-height:1.4;}

/* Tablets. */
@media(max-width:900px){
  #mkww-master-header .mkww-master-inner{width:100%!important;}
  #mkww-master-header .mkww-master-title{font-size:21px!important;white-space:normal!important;}
  #mkww-master-header .mkww-master-nav a{padding:10px 14px!important;}
  .mkww-wrap{width:calc(100vw - 24px)!important;padding:18px!important;border-radius:26px!important;margin-top:20px!important;}
  .mkww-hero{padding:58px 18px;}
}

/* Mobile. */
@media(max-width:760px){
  #mkww-master-header.mkww-master-header{padding:10px 12px!important;}
  #mkww-master-header .mkww-master-inner{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
  #mkww-master-header .mkww-master-brand{max-width:calc(100% - 104px)!important;justify-content:flex-start!important;}
  #mkww-master-header .mkww-master-logo,
  #mkww-master-header .mkww-master-mark{width:42px!important;height:42px!important;flex:0 0 42px!important;}
  #mkww-master-header .mkww-master-title{font-size:18px!important;line-height:1.05!important;text-align:left!important;overflow-wrap:anywhere!important;}
  #mkww-master-header .mkww-master-nav{display:none!important;}
  #mkww-master-header .mkww-mobile-dropdown{display:block!important;flex:0 0 auto!important;}

  .mkww-wrap{
    width:calc(100vw - 18px)!important;
    max-width:620px!important;
    margin:14px auto 24px!important;
    padding:12px!important;
    border-radius:22px!important;
    text-align:center!important;
  }
  .mkww-hero,.mkww-page-header{border-radius:22px;padding:34px 14px;text-align:center;}
  .mkww-logo-area{width:102px;height:102px;font-size:31px;margin-left:auto;margin-right:auto;}
  .mkww-hero h1,.mkww-page-header h1{font-size:clamp(34px,12vw,52px);line-height:1.02;}
  .mkww-welcome,.mkww-page-header p{font-size:17px;line-height:1.5;}
  .mkww-event-intro{margin:30px auto 4px;}
  .mkww-event-grid,.mkww-accom-grid,.mkww-menu-grid,.mkww-table-grid{grid-template-columns:1fr!important;gap:16px!important;justify-items:center!important;}
  .mkww-card,.mkww-menu-card,.mkww-table-card,.mkww-accom-card,.mkww-form,.mkww-rsvp-guest-card{
    width:100%!important;
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:18px!important;
    border-radius:20px!important;
    text-align:center!important;
  }
  .mkww-card p,.mkww-accom-card p,.mkww-menu-card p,.mkww-table-card p{text-align:center;}
  .mkww-menu-card img,.mkww-accom-card img{height:auto;max-height:260px;object-fit:cover;}
  .mkww-hero-actions{display:flex!important;flex-direction:column!important;align-items:center!important;gap:10px!important;}
  .mkww-button,
  .mkww-wrap button:not(.mkww-remove-family-member),
  .mkww-wrap input[type="submit"]{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .mkww-form label,.mkww-rsvp-guest-card label{text-align:left!important;}
  .mkww-form input,.mkww-form select,.mkww-form textarea,.mkww-rsvp-guest-card input,.mkww-rsvp-guest-card select,.mkww-rsvp-guest-card textarea{text-align:left!important;}
  .mkww-remove-family-member{position:static;display:inline-flex;margin:0 auto 12px;}
  .mkww-rsvp-family-form .mkww-button{margin-right:0;}
  .mkww-table-card ul{columns:1;text-align:left;display:inline-block;}
}

/* Small phones. */
@media(max-width:420px){
  #mkww-master-header .mkww-master-brand{max-width:calc(100% - 92px)!important;gap:8px!important;}
  #mkww-master-header .mkww-master-logo,
  #mkww-master-header .mkww-master-mark{width:38px!important;height:38px!important;flex-basis:38px!important;}
  #mkww-master-header .mkww-master-title{font-size:16px!important;}
  #mkww-master-header .mkww-mobile-dropdown summary{padding:9px 14px!important;min-height:40px!important;}
  .mkww-wrap{width:calc(100vw - 12px)!important;padding:8px!important;}
  .mkww-hero,.mkww-page-header{padding:30px 12px;}
  .mkww-hero h1,.mkww-page-header h1{font-size:clamp(31px,13vw,44px);}
  .mkww-card,.mkww-menu-card,.mkww-table-card,.mkww-accom-card,.mkww-form,.mkww-rsvp-guest-card{padding:16px!important;}
}


/* 1.3.1 mobile centring and RSVP action visibility fix. */
.mkww-rsvp-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  margin:18px auto 0!important;
  text-align:center!important;
}
#mkww-add-family-member,
.mkww-add-family-member-button{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:5!important;
  background:#fff!important;
  color:var(--mkww-sage-dark)!important;
  border:1px solid #d5e1d2!important;
}
.mkww-submit-rsvp-button{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
}
@media(max-width:760px){
  body.mkww-page,
  body.mkww-page .wp-site-blocks,
  body.mkww-page main,
  body.mkww-page .entry-content,
  body.mkww-page .wp-block-post-content{
    text-align:center!important;
  }
  .mkww-wrap,
  .mkww-wrap > *,
  .mkww-hero-inner,
  .mkww-event-intro,
  .mkww-event-grid,
  .mkww-accom-grid,
  .mkww-menu-grid,
  .mkww-table-grid,
  .mkww-form,
  .mkww-rsvp-guests,
  .mkww-rsvp-guest-card{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .mkww-wrap{
    display:block!important;
    text-align:center!important;
  }
  .mkww-card,
  .mkww-menu-card,
  .mkww-table-card,
  .mkww-accom-card,
  .mkww-form,
  .mkww-rsvp-guest-card{
    text-align:center!important;
  }
  .mkww-form label,
  .mkww-rsvp-guest-card label{
    max-width:420px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
  }
  .mkww-rsvp-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    align-items:center!important;
    gap:10px!important;
    max-width:380px!important;
  }
  #mkww-add-family-member,
  .mkww-add-family-member-button,
  .mkww-submit-rsvp-button{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .mkww-table-card ul{
    width:fit-content!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:left!important;
  }
}

/* 1.3.3 mobile homepage layout repair and escaped apostrophe display support. */
.mkww-hero h1,
.mkww-page-header h1{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

@media(max-width:760px){
  body.mkww-page{
    min-width:0!important;
  }
  body.mkww-page .wp-site-blocks,
  body.mkww-page main,
  body.mkww-page .entry-content,
  body.mkww-page .wp-block-post-content{
    width:100%!important;
    max-width:100%!important;
    padding-left:0!important;
    padding-right:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow-x:hidden!important;
  }
  #mkww-master-header.mkww-master-header{
    position:sticky!important;
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    padding:8px 10px!important;
  }
  #mkww-master-header .mkww-master-inner{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #mkww-master-header .mkww-master-brand{
    min-width:0!important;
    flex:1 1 auto!important;
    max-width:calc(100% - 92px)!important;
  }
  #mkww-master-header .mkww-mobile-dropdown{
    flex:0 0 auto!important;
  }

  .mkww-wrap{
    width:100%!important;
    max-width:620px!important;
    margin:12px auto 24px!important;
    padding:12px!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
  }
  .mkww-home .mkww-hero{
    width:100%!important;
    max-width:430px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:28px 14px!important;
    border-radius:22px!important;
  }
  .mkww-hero-inner{
    width:100%!important;
    max-width:100%!important;
  }
  .mkww-logo-area{
    width:176px!important;
    height:176px!important;
    margin-bottom:18px!important;
  }
  .mkww-kicker{
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.35!important;
    letter-spacing:.16em!important;
    overflow-wrap:break-word!important;
  }
  .mkww-hero h1{
    max-width:330px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:clamp(34px, 10.5vw, 43px)!important;
    line-height:1.05!important;
    letter-spacing:0!important;
    overflow-wrap:break-word!important;
  }
  .mkww-welcome{
    max-width:330px!important;
    font-size:16px!important;
    line-height:1.48!important;
    margin-bottom:22px!important;
  }
  .mkww-hero-actions{
    width:100%!important;
    max-width:340px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .mkww-hero-actions .mkww-button{
    width:100%!important;
    max-width:340px!important;
    min-height:48px!important;
  }
  .mkww-event-grid,
  .mkww-accom-grid,
  .mkww-menu-grid,
  .mkww-table-grid,
  .mkww-form{
    width:100%!important;
    max-width:430px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

@media(max-width:420px){
  .mkww-wrap{
    padding:10px!important;
  }
  .mkww-home .mkww-hero{
    max-width:calc(100vw - 20px)!important;
    padding:26px 12px!important;
  }
  .mkww-hero h1{
    max-width:300px!important;
    font-size:clamp(31px, 10.2vw, 39px)!important;
  }
  .mkww-welcome{
    max-width:300px!important;
    font-size:15.5px!important;
  }
  .mkww-hero-actions{
    max-width:310px!important;
  }
}

/* RSVP family cards: collapse completed guests into a clear summary after adding another family member */
.mkww-rsvp-card-summary{
  display:none;
}
.mkww-rsvp-edit-guest{
  display:none!important;
}
.mkww-rsvp-guest-card.is-collapsed{
  padding:16px!important;
  display:block;
  border-color:rgba(143,166,142,.45)!important;
  background:#f8fbf7!important;
}
.mkww-rsvp-guest-card.is-collapsed legend,
.mkww-rsvp-guest-card.is-collapsed .mkww-rsvp-card-fields,
.mkww-rsvp-guest-card.is-collapsed .mkww-remove-family-member,
.mkww-rsvp-guest-card.is-collapsed .mkww-rsvp-edit-guest{
  display:none!important;
}
.mkww-rsvp-guest-card.is-collapsed .mkww-rsvp-card-summary{
  display:block;
  color:#2f4a36;
  line-height:1.35;
}
.mkww-summary-heading{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#dfeadd;
  color:#2f4a36;
  font-size:13px;
  font-weight:800;
  padding:6px 11px;
  margin-bottom:9px;
}
.mkww-summary-name{
  font-family:Georgia,'Times New Roman',serif;
  font-size:21px;
  font-weight:700;
  color:#2f4a36;
  margin-bottom:11px;
}
.mkww-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.mkww-summary-grid div,
.mkww-summary-notes{
  border:1px solid rgba(143,166,142,.28);
  border-radius:14px;
  background:#fff;
  padding:10px 12px;
}
.mkww-summary-grid span,
.mkww-summary-notes span{
  display:block;
  color:#657b66;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  margin-bottom:4px;
}
.mkww-summary-grid strong,
.mkww-summary-notes strong{
  display:block;
  color:#2f4a36;
  font-size:14.5px;
  font-weight:700;
}
.mkww-summary-notes{
  margin-top:10px;
}

.mkww-summary-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}
.mkww-summary-edit-button{
  border:0;
  border-radius:999px;
  background:#6f8f72;
  color:#fff;
  font-weight:800;
  padding:10px 16px;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(47,74,54,.13);
}
.mkww-summary-edit-button:hover,
.mkww-summary-edit-button:focus{
  background:#5f7d61;
}

/* Accommodation: hide request forms until selected */
.mkww-accom-select-button{
  margin-top:14px;
  width:100%;
  justify-content:center;
}
.mkww-accom-request-form[hidden]{
  display:none!important;
}
.mkww-accom-request-form{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid rgba(143,166,142,.25);
}

@media(max-width:640px){
  .mkww-rsvp-guest-card.is-collapsed{
    text-align:center;
  }
  .mkww-rsvp-guest-card.is-collapsed .mkww-rsvp-card-summary{
    max-width:100%;
  }
  .mkww-summary-grid{
    grid-template-columns:1fr;
  }
  .mkww-summary-name{
    font-size:20px;
  }
  .mkww-accom-select-button{
    width:100%;
    max-width:360px;
  }
}


@media(max-width:640px){
  .mkww-summary-actions{justify-content:center;}
  .mkww-summary-edit-button{width:100%;max-width:240px;}
}

.mkww-dessert-note{
  border:1px solid rgba(143,166,142,.32);
  background:#f8fbf7;
  border-radius:16px;
  padding:14px 16px;
  margin:10px 0 14px;
  color:#2f4a36;
}
.mkww-dessert-note span{
  display:block;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-size:12px;
  color:#657b66;
  margin-bottom:4px;
}
.mkww-dessert-note p{
  margin:0;
  font-weight:700;
}
@media (max-width:640px){
  .mkww-dessert-note{ text-align:center; }
}

/* RSVP attending/unable-to-attend flow */
.mkww-rsvp-choice-panel,
.mkww-rsvp-conditional-panel {
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(143,166,142,.28);
  border-radius: 22px;
  padding: clamp(18px, 3vw, 28px);
  box-shadow: 0 18px 45px rgba(47,74,54,.08);
  margin: 0 0 22px;
}
.mkww-rsvp-choice-panel h2,
.mkww-rsvp-conditional-panel h2 {
  margin: 0 0 12px;
  color: #334a36;
  text-align: center;
}
.mkww-rsvp-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.mkww-rsvp-choice-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border: 1px solid rgba(143,166,142,.45);
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.mkww-rsvp-choice-card:hover,
.mkww-rsvp-choice-card.is-selected {
  border-color: #789176;
  box-shadow: 0 12px 28px rgba(47,74,54,.12);
  transform: translateY(-1px);
}
.mkww-rsvp-choice-card input {
  margin-top: 5px;
  accent-color: #789176;
}
.mkww-rsvp-choice-card strong {
  display: block;
  color: #2f4a36;
  line-height: 1.25;
}
.mkww-rsvp-choice-card small {
  display: block;
  color: #6f7d70;
  margin-top: 5px;
  line-height: 1.35;
}
.mkww-rsvp-conditional-panel[hidden] {
  display: none !important;
}
.mkww-decline-guests {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}
.mkww-decline-guest-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: end;
}
.mkww-remove-decline-guest {
  border: 0;
  border-radius: 999px;
  padding: 11px 14px;
  background: #f5e7e4;
  color: #7a3b31;
  cursor: pointer;
  font-weight: 700;
}
@media (max-width: 720px) {
  .mkww-rsvp-choice-grid {
    grid-template-columns: 1fr;
  }
  .mkww-rsvp-choice-panel,
  .mkww-rsvp-conditional-panel {
    text-align: center;
    padding: 18px;
  }
  .mkww-rsvp-choice-card {
    text-align: left;
  }
  .mkww-decline-guest-row {
    grid-template-columns: 1fr;
  }
  .mkww-remove-decline-guest {
    width: 100%;
  }
}


/* Cleaner RSVP attendance tick boxes */
.mkww-rsvp-choice-panel {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.mkww-rsvp-choice-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch;
}
.mkww-rsvp-choice-card {
  position: relative;
  align-items: center !important;
  justify-content: center;
  min-height: 120px;
  padding: 18px 16px 18px 54px !important;
  text-align: left;
  border-radius: 20px !important;
}
.mkww-rsvp-choice-card input[type="checkbox"] {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  margin: 0 !important;
  accent-color: #789176;
}
.mkww-rsvp-choice-card span {
  display: block;
  width: 100%;
}
.mkww-rsvp-choice-card strong {
  font-size: clamp(15px, 2.5vw, 18px);
}
.mkww-rsvp-choice-card small {
  font-size: 13px;
}
@media (max-width: 720px) {
  .mkww-rsvp-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .mkww-rsvp-choice-card {
    min-height: 132px;
    padding: 14px 10px 14px 40px !important;
    border-radius: 16px !important;
  }
  .mkww-rsvp-choice-card input[type="checkbox"] {
    left: 12px;
    width: 18px;
    height: 18px;
  }
  .mkww-rsvp-choice-card strong {
    font-size: 14px;
    line-height: 1.2;
  }
  .mkww-rsvp-choice-card small {
    font-size: 12px;
    line-height: 1.25;
  }
}
@media (max-width: 360px) {
  .mkww-rsvp-choice-card {
    min-height: 145px;
    padding-left: 36px !important;
  }
  .mkww-rsvp-choice-card input[type="checkbox"] {
    left: 10px;
  }
}


/* RSVP attendance choice: force side-by-side option cards on all screens */
body .mkww-wrap .mkww-form .mkww-rsvp-choice-panel h2{
  font-size:clamp(24px,4vw,34px)!important;
  line-height:1.18!important;
  margin-bottom:10px!important;
}
body .mkww-wrap .mkww-form .mkww-rsvp-choice-grid{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
}
body .mkww-wrap .mkww-form .mkww-rsvp-choice-grid > .mkww-rsvp-choice-card{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
}
@media (max-width:720px){
  body .mkww-wrap .mkww-form .mkww-rsvp-choice-grid{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
  }
  body .mkww-wrap .mkww-form .mkww-rsvp-choice-grid > .mkww-rsvp-choice-card{
    min-height:116px!important;
    padding:12px 8px 12px 34px!important;
  }
  body .mkww-wrap .mkww-form .mkww-rsvp-choice-card input[type="checkbox"]{
    left:10px!important;
    width:17px!important;
    height:17px!important;
  }
  body .mkww-wrap .mkww-form .mkww-rsvp-choice-card strong{
    font-size:13px!important;
    line-height:1.2!important;
  }
  body .mkww-wrap .mkww-form .mkww-rsvp-choice-card small{
    font-size:11px!important;
    line-height:1.25!important;
  }
}
@media (max-width:340px){
  body .mkww-wrap .mkww-form .mkww-rsvp-choice-grid{ gap:6px!important; }
  body .mkww-wrap .mkww-form .mkww-rsvp-choice-grid > .mkww-rsvp-choice-card{
    padding-left:30px!important;
  }
}


/* 1.3.9 unable-to-attend add another family member button visibility fix */
#mkww-rsvp-decline-section .mkww-rsvp-actions{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  width:100%!important;
  margin:18px auto 0!important;
}
#mkww-add-decline-guest,
.mkww-add-decline-guest-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:20!important;
  min-height:46px!important;
  padding:12px 22px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--mkww-sage-dark)!important;
  border:1px solid #d5e1d2!important;
  font-weight:800!important;
  cursor:pointer!important;
  text-decoration:none!important;
}
#mkww-add-decline-guest:hover,
.mkww-add-decline-guest-button:hover{
  background:#f6faf4!important;
  border-color:#8fa68e!important;
}
#mkww-rsvp-decline-section .mkww-submit-rsvp-button{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:20!important;
}
@media(max-width:760px){
  #mkww-rsvp-decline-section .mkww-rsvp-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:center!important;
    max-width:380px!important;
  }
  #mkww-add-decline-guest,
  .mkww-add-decline-guest-button,
  #mkww-rsvp-decline-section .mkww-submit-rsvp-button{
    width:100%!important;
    max-width:360px!important;
  }
}


/* 2.5.3: make the unable-to-attend buttons work and match the attending RSVP button style */
body .mkww-wrap #mkww-rsvp-decline-section .mkww-rsvp-actions {
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:18px!important;
}
body .mkww-wrap #mkww-add-decline-guest,
body .mkww-wrap #mkww-rsvp-decline-section .mkww-submit-rsvp-button {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  border-radius:999px!important;
  padding:13px 22px!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  text-decoration:none!important;
}
body .mkww-wrap #mkww-add-decline-guest {
  background:#fff!important;
  color:var(--mkww-sage-dark)!important;
  border:1px solid #d5e1d2!important;
  box-shadow:0 12px 24px rgba(82,107,85,.12)!important;
}
body .mkww-wrap #mkww-rsvp-decline-section .mkww-submit-rsvp-button {
  background:var(--mkww-sage-dark)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 12px 24px rgba(82,107,85,.22)!important;
}
body .mkww-wrap #mkww-add-decline-guest:disabled,
body .mkww-wrap #mkww-rsvp-decline-section .mkww-submit-rsvp-button:disabled {
  opacity:1!important;
  filter:none!important;
}
@media(max-width:760px){
  body .mkww-wrap #mkww-rsvp-decline-section .mkww-rsvp-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    max-width:380px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body .mkww-wrap #mkww-add-decline-guest,
  body .mkww-wrap #mkww-rsvp-decline-section .mkww-submit-rsvp-button{
    width:100%!important;
  }
}


/* 2.5.4: exact-match unable-to-attend add-family button styling */
body .mkww-wrap #mkww-rsvp-decline-section #mkww-add-decline-guest,
body .mkww-wrap #mkww-rsvp-decline-section .mkww-add-decline-guest-button {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  border-radius:999px!important;
  padding:13px 22px!important;
  background:#fff!important;
  color:var(--mkww-sage-dark)!important;
  border:1px solid #d5e1d2!important;
  box-shadow:0 12px 24px rgba(82,107,85,.12)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none;
}
body .mkww-wrap #mkww-rsvp-decline-section #mkww-add-decline-guest:hover,
body .mkww-wrap #mkww-rsvp-decline-section .mkww-add-decline-guest-button:hover {
  filter:brightness(.97)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 16px 28px rgba(82,107,85,.18)!important;
}
@media(max-width:760px){
  body .mkww-wrap #mkww-rsvp-decline-section #mkww-add-decline-guest,
  body .mkww-wrap #mkww-rsvp-decline-section .mkww-add-decline-guest-button{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* 2.5.5: force unable-to-attend add-family button to match attending add-family button exactly */
body .mkww-wrap #mkww-rsvp-decline-section #mkww-add-decline-guest{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  border:1px solid #d5e1d2!important;
  border-radius:999px!important;
  padding:13px 22px!important;
  background:#fff!important;
  color:var(--mkww-sage-dark)!important;
  font-family:Georgia,'Times New Roman',serif!important;
  font-size:16px!important;
  font-weight:400!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 12px 24px rgba(82,107,85,.22)!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body .mkww-wrap #mkww-rsvp-decline-section #mkww-add-decline-guest:hover{
  filter:brightness(.97)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 16px 28px rgba(82,107,85,.25)!important;
}
@media(max-width:640px){
  body .mkww-wrap #mkww-rsvp-decline-section #mkww-add-decline-guest{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
