.elementor-7809 .elementor-element.elementor-element-32f3cda{width:100%;max-width:100%;}.elementor-7809 .elementor-element.elementor-element-32f3cda > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-32f3cda *//* =========================================================
   SANNA STYLES — WEDDING SERVICES
   UNIFIED EDITORIAL REBUILD
   ---------------------------------------------------------
   Built specifically for the current .ssw-* HTML.

   Design direction:
   - bright + refined
   - editorial, not collage-heavy
   - full width
   - compact enough to see meaningful content per viewport
   - Passion Pink leads
   - Seafoam / Carnation / Creamsicle used intentionally
   - charcoal used as one strong contrast moment
   - cleaner visual rhythm between sections
   ========================================================= */


/* =========================================================
   00 — TOKENS
   ========================================================= */

.ssw-page{
  --ssw-pink:#FF2C56;
  --ssw-carnation:#F49CA3;
  --ssw-creamsicle:#F4BEA3;
  --ssw-chartreuse:#E2CF5D;
  --ssw-sky:#85BFD6;
  --ssw-seafoam:#BBEFE0;

  --ssw-white:#FFFFFF;
  --ssw-cream:#FFF9F7;

  --ssw-ink:#302D2F;
  --ssw-ink-soft:#4B4649;
  --ssw-muted:#716A6D;

  --ssw-line:rgba(48,45,47,.11);
  --ssw-line-strong:rgba(48,45,47,.18);

  --ssw-heading:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --ssw-body:"Gill Sans","Gill Sans MT",Calibri,Arial,sans-serif;
  --ssw-accent:"Playfair Display",Georgia,"Times New Roman",serif;

  --ssw-gutter:clamp(1.25rem,4vw,5rem);

  --ssw-section:clamp(3.8rem,5.4vw,6.4rem);
  --ssw-section-tight:clamp(2.8rem,4vw,4.5rem);

  --ssw-radius-sm:12px;
  --ssw-radius-md:20px;
  --ssw-radius-lg:30px;
  --ssw-pill:999px;

  position:relative;

  width:100vw;
  max-width:none !important;

  margin:0;
  margin-left:calc(50% - 50vw);

  padding:0;

  overflow:hidden;

  color:var(--ssw-ink);
  background:var(--ssw-white);

  font-family:var(--ssw-body);
  font-size:18px;
  line-height:1.55;

  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}


/* =========================================================
   01 — RESET / ELEMENTOR SAFETY
   ========================================================= */

.ssw-page,
.ssw-page *,
.ssw-page *::before,
.ssw-page *::after{
  box-sizing:border-box;
}

.ssw-page h1,
.ssw-page h2,
.ssw-page h3,
.ssw-page h4,
.ssw-page p,
.ssw-page figure,
.ssw-page blockquote{
  margin:0;
}

.ssw-page section,
.ssw-page article,
.ssw-page aside,
.ssw-page header,
.ssw-page figure,
.ssw-page div{
  min-width:0;
}

.ssw-page img{
  max-width:100%;
}

.ssw-photo{
  display:block;

  width:100%;
  height:100%;

  object-fit:cover;
}

.ssw-page :focus-visible{
  outline:3px solid rgba(255,44,86,.25);
  outline-offset:3px;
}


/* =========================================================
   02 — TYPOGRAPHY
   ========================================================= */

.ssw-page h1,
.ssw-page h2,
.ssw-page h3{
  color:var(--ssw-ink);
  font-family:var(--ssw-heading);
  font-weight:500;

  letter-spacing:-.035em;
}

.ssw-page h1{
  font-size:clamp(3.6rem,4.6vw,5.7rem);
  line-height:.94;
}

.ssw-page h2{
  font-size:clamp(2.65rem,3.45vw,4.15rem);
  line-height:.97;
}

.ssw-page h3{
  font-size:clamp(1.5rem,1.75vw,2rem);
  line-height:1.05;
}

.ssw-page p{
  font-size:clamp(1rem,.97rem + .12vw,1.12rem);
  line-height:1.56;
}

.ssw-accent{
  font-family:var(--ssw-accent);
  font-style:italic;
  font-weight:400;
}

.ssw-eyebrow{
  margin-bottom:.8rem !important;

  color:var(--ssw-pink);

  font-family:var(--ssw-body);
  font-size:.79rem !important;
  font-weight:700;

  letter-spacing:.145em;
  line-height:1.3;

  text-transform:uppercase;
}


/* =========================================================
   03 — BUTTONS
   ========================================================= */

.ssw-btn{
  display:inline-flex;

  min-height:48px;

  align-items:center;
  justify-content:center;

  gap:.55rem;

  padding:.72rem 1.4rem;

  border:1px solid transparent;
  border-radius:var(--ssw-pill);

  font-family:var(--ssw-body);
  font-size:.88rem;
  font-weight:700;

  letter-spacing:.045em;
  line-height:1;

  text-decoration:none !important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    border-color .18s ease;
}

.ssw-btn:hover{
  transform:translateY(-2px);
}

.ssw-btn--primary{
  color:#fff !important;

  background:
    linear-gradient(
      180deg,
      #FF2C56,
      #F5224E
    );

  box-shadow:
    0 12px 28px rgba(255,44,86,.16);
}

.ssw-btn--primary:hover{
  box-shadow:
    0 16px 34px rgba(255,44,86,.22);
}

.ssw-btn--secondary{
  color:var(--ssw-ink) !important;

  background:rgba(255,255,255,.94);

  border-color:var(--ssw-line-strong);
}

.ssw-btn--large{
  min-height:52px;

  padding-inline:1.65rem;
}


/* =========================================================
   04 — HERO
   ========================================================= */

.ssw-hero{
  position:relative;

  width:100%;

  min-height:620px;

  display:grid;

  grid-template-columns:
    minmax(0,42%)
    minmax(0,58%);

  align-items:stretch;

  background:
    radial-gradient(
      circle at 3% 95%,
      rgba(187,239,224,.56),
      transparent 19%
    ),
    linear-gradient(
      120deg,
      #fff 0 37%,
      rgba(244,190,163,.11) 51%,
      rgba(244,156,163,.07) 68%,
      #fff 100%
    );
}

.ssw-hero__copy{
  position:relative;
  z-index:5;

  align-self:center;

  padding:
    clamp(3.8rem,5vw,5.8rem)
    clamp(2rem,3vw,3.5rem)
    clamp(3.8rem,5vw,5.8rem)
    var(--ssw-gutter);
}

.ssw-hero__copy h1{
  max-width:10.5ch;
}

.ssw-hero__accent{
  max-width:17ch;

  margin-top:1.1rem !important;

  color:var(--ssw-pink);

  font-size:clamp(1.45rem,1.7vw,1.9rem) !important;
  line-height:1.18;
}

.ssw-hero__body{
  max-width:36rem;

  margin-top:1.3rem !important;

  color:var(--ssw-ink-soft);
}

.ssw-actions{
  display:flex;
  flex-wrap:wrap;

  gap:.75rem;

  margin-top:1.7rem;
}

.ssw-hero__media{
  position:relative;

  min-height:620px;

  overflow:hidden;
}

.ssw-hero__media .ssw-photo{
  object-position:center;
}

.ssw-hero__media::before{
  content:"";

  position:absolute;
  z-index:3;

  top:-3%;
  left:-25px;

  width:50px;
  height:106%;

  background:#fff;

  border-radius:
    0 90% 70% 0 /
    0 38% 62% 0;

  transform:rotate(2deg);

  pointer-events:none;
}

.ssw-hero__wave{
  position:absolute;

  pointer-events:none;
}

.ssw-hero__wave--one{
  z-index:4;

  right:5%;
  bottom:7%;

  width:17%;
  height:40px;

  border-bottom:2px solid rgba(255,44,86,.55);

  border-radius:50%;

  transform:rotate(-8deg);
}

.ssw-hero__wave--two{
  display:none;
}

.ssw-shape{
  position:absolute;

  pointer-events:none;
}

.ssw-shape--hero-seafoam{
  z-index:1;

  left:-6vw;
  bottom:-9vw;

  width:22vw;
  height:21vw;

  border-radius:
    58% 42% 70% 30% /
    46% 58% 42% 54%;

  background:rgba(187,239,224,.72);
}

.ssw-shape--hero-chartreuse{
  z-index:4;

  right:-4vw;
  bottom:-7vw;

  width:14vw;
  height:13vw;

  border-radius:60% 40% 38% 62%;

  background:rgba(226,207,93,.82);
}


/* =========================================================
   05 — VALUE STRIP
   ========================================================= */

.ssw-value-strip{
  width:100%;

  min-height:118px;

  display:grid;

  grid-template-columns:
    minmax(40px,7%)
    1fr
    minmax(110px,18%);

  align-items:center;

  gap:1rem;

  padding:
    1.4rem
    var(--ssw-gutter);

  color:#fff;

  background:
    linear-gradient(
      100deg,
      var(--ssw-carnation),
      #EE7186 37%,
      var(--ssw-pink)
    );
}

.ssw-value-strip &gt; div{
  text-align:center;
}

.ssw-value-strip h2{
  color:#fff;

  font-size:clamp(2rem,2.65vw,3rem);
}

.ssw-value-strip p{
  margin-top:.35rem !important;

  font-size:.81rem !important;
  font-weight:700;

  letter-spacing:.105em;

  text-transform:uppercase;
}

.ssw-value-strip__star{
  justify-self:center;

  font-size:1.45rem;
}

.ssw-value-strip__line{
  height:38px;

  border-bottom:2px solid rgba(255,255,255,.63);

  border-radius:50%;

  transform:rotate(-6deg);
}


/* =========================================================
   06 — WEDDING MOMENTS
   ========================================================= */

.ssw-moments{
  position:relative;

  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,31%)
    minmax(0,27%)
    minmax(0,42%);

  grid-template-rows:
    minmax(225px,auto)
    minmax(225px,auto)
    auto;

  gap:
    clamp(18px,1.55vw,26px);

  align-items:stretch;

  padding:
    var(--ssw-section)
    var(--ssw-gutter);

  background:
    radial-gradient(
      circle at 4% 12%,
      rgba(244,190,163,.15),
      transparent 27%
    ),
    radial-gradient(
      circle at 94% 89%,
      rgba(187,239,224,.17),
      transparent 29%
    ),
    #fff;
}


/* Intro */

.ssw-moments__intro{
  grid-column:1;
  grid-row:1 / 3;

  align-self:start;

  padding:
    .3rem
    clamp(1.8rem,3vw,3.5rem)
    1rem
    0;
}

.ssw-moments__intro h2{
  max-width:11.7ch;

  font-size:
    clamp(3rem,3.65vw,4.7rem);

  line-height:.94;

  text-transform:none;
}

.ssw-moments__intro .ssw-accent{
  max-width:18ch;

  margin-top:1.1rem !important;

  color:var(--ssw-pink);

  font-size:1.32rem !important;
}


/* Moment reset */

.ssw-moment{
  position:relative;

  display:grid;

  min-width:0;

  background:transparent;

  overflow:visible;
}

.ssw-moment .ssw-photo{
  width:100%;
  height:100%;

  object-fit:cover;

  border-radius:var(--ssw-radius-md);

  box-shadow:
    0 15px 38px rgba(48,45,47,.08);
}

.ssw-moment__copy{
  padding:
    .85rem
    .15rem
    0;
}

.ssw-moment__copy h3{
  margin-bottom:.42rem;

  color:var(--ssw-pink);

  font-family:var(--ssw-body);

  font-size:.78rem;
  font-weight:700;

  letter-spacing:.12em;

  text-transform:uppercase;
}

.ssw-moment__copy p{
  margin-top:.1rem !important;

  color:var(--ssw-ink-soft);

  font-size:.95rem !important;
  line-height:1.42;
}


/* Before */

.ssw-moment--before{
  grid-column:2;
  grid-row:1;

  grid-template-rows:
    minmax(195px,1fr)
    auto;
}

.ssw-moment--before img{
  grid-row:1;
}

.ssw-moment--before .ssw-moment__copy{
  grid-row:2;
}


/* Hosted */

.ssw-moment--hosted{
  grid-column:2;
  grid-row:2;

  grid-template-rows:
    minmax(195px,1fr)
    auto;
}

.ssw-moment--hosted img{
  grid-row:1;

  order:initial;
}

.ssw-moment--hosted .ssw-moment__copy{
  grid-row:2;
}


/* Weekend hero */

.ssw-moment--weekend{
  grid-column:3;
  grid-row:1 / 3;

  min-height:505px;

  grid-template-rows:
    1fr
    auto;
}

.ssw-moment--weekend img{
  grid-row:1;

  min-height:430px;

  border-radius:
    0
    var(--ssw-radius-md)
    var(--ssw-radius-md)
    var(--ssw-radius-md);
}

.ssw-moment--weekend .ssw-moment__copy{
  grid-row:2;

  width:88%;

  margin-left:auto;

  padding-left:1rem;

  border-left:
    2px solid rgba(244,156,163,.58);
}


/* After celebration */

.ssw-moment--after{
  grid-column:1 / 4;
  grid-row:3;

  display:grid;

  grid-template-columns:
    minmax(260px,31%)
    minmax(0,69%);

  min-height:220px;

  margin-top:.75rem;

  overflow:hidden;

  background:
    linear-gradient(
      110deg,
      rgba(187,239,224,.72),
      rgba(187,239,224,.44) 50%,
      rgba(133,191,214,.12)
    );

  border-radius:var(--ssw-radius-md);
}

.ssw-moment--after .ssw-moment__copy{
  grid-column:1;
  grid-row:1;

  align-self:center;

  padding:
    clamp(1.5rem,2.3vw,2.5rem);
}

.ssw-moment--after img{
  grid-column:2;
  grid-row:1;

  min-height:235px;

  border-radius:
    0
    var(--ssw-radius-md)
    var(--ssw-radius-md)
    0;

  box-shadow:none;
}

.ssw-moment--after::after{
  content:"";

  position:absolute;

  left:7%;
  bottom:17px;

  width:15%;
  height:30px;

  border-bottom:
    2px solid rgba(255,44,86,.42);

  border-radius:50%;

  transform:rotate(5deg);
}

.ssw-moments__swoop{
  display:none !important;
}


/* =========================================================
   07 — BRIDAL SUITE
   ========================================================= */

.ssw-suite{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,55%)
    minmax(0,45%);

  align-items:stretch;

  background:
    linear-gradient(
      110deg,
      rgba(244,190,163,.09),
      #fff 59%,
      rgba(244,156,163,.07)
    );
}

.ssw-suite__media{
  min-height:500px;
}

.ssw-suite__content{
  align-self:center;

  padding:
    var(--ssw-section)
    clamp(2.4rem,4vw,5rem);
}

.ssw-suite__content h2{
  max-width:11.5ch;
}

.ssw-suite__content &gt; .ssw-accent{
  margin-top:.85rem !important;

  color:var(--ssw-pink);

  font-size:1.3rem !important;
}

.ssw-suite__details{
  display:grid;

  grid-template-columns:
    1fr 1fr;

  gap:.25rem 2rem;

  margin-top:1.55rem;
}

.ssw-suite__details p{
  position:relative;

  padding-left:1.25rem;

  margin-top:.4rem !important;

  color:var(--ssw-ink-soft);

  font-size:.95rem !important;
}

.ssw-suite__details p::before{
  content:"✓";

  position:absolute;

  left:0;

  color:var(--ssw-pink);

  font-weight:700;
}


/* =========================================================
   08 — PRICING
   ========================================================= */

.ssw-pricing{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,32%)
    minmax(0,26%)
    minmax(0,42%);

  gap:
    clamp(18px,1.7vw,28px);

  align-items:start;

  padding:
    var(--ssw-section)
    var(--ssw-gutter);

  background:
    linear-gradient(
      130deg,
      rgba(244,190,163,.18),
      #fff 34%,
      rgba(244,156,163,.08) 70%,
      rgba(187,239,224,.11)
    );
}


/* Intro */

.ssw-pricing__intro{
  grid-column:1;
  grid-row:1 / 3;

  padding-right:
    clamp(1.4rem,2.3vw,3rem);
}

.ssw-pricing__intro h2{
  max-width:10.4ch;
}

.ssw-pricing__intro &gt; p:last-child{
  max-width:30rem;

  margin-top:1rem !important;

  color:var(--ssw-muted);
}


/* Classic */

.ssw-price-classic{
  grid-column:2;
  grid-row:1;

  position:relative;

  min-height:315px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:
    1.8rem
    clamp(1.35rem,2vw,2.1rem);

  background:rgba(255,255,255,.92);

  border:1px solid var(--ssw-line);

  border-radius:var(--ssw-radius-md);

  box-shadow:
    0 12px 32px rgba(48,45,47,.045);
}

.ssw-price-classic::before{
  content:"";

  position:absolute;

  top:0;
  left:22px;

  width:36%;
  height:4px;

  background:var(--ssw-creamsicle);

  border-radius:0 0 999px 999px;
}


/* Luxe */

.ssw-price-luxe{
  grid-column:3;
  grid-row:1 / 3;

  position:relative;

  min-height:455px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:
    clamp(2.3rem,3vw,3.6rem);

  color:#fff;

  background:
    linear-gradient(
      145deg,
      var(--ssw-carnation),
      #EF7186 38%,
      var(--ssw-pink)
    );

  border-radius:
    var(--ssw-radius-lg);

  box-shadow:
    0 20px 48px rgba(255,44,86,.13);
}


/* Price typography */

.ssw-price-label{
  margin-bottom:.55rem !important;

  font-size:.84rem !important;
  font-weight:700;

  letter-spacing:.115em;

  text-transform:uppercase;
}

.ssw-price-from{
  color:var(--ssw-muted);

  font-family:var(--ssw-accent);
  font-size:1rem !important;
  font-style:italic;
}

.ssw-price{
  margin:
    .05rem
    0
    .7rem !important;

  font-family:var(--ssw-heading);

  font-size:
    clamp(3.5rem,4.1vw,5rem) !important;

  letter-spacing:-.04em;
  line-height:.87;
}

.ssw-price-classic h3{
  max-width:13ch;

  margin-bottom:.65rem;

  font-size:1.55rem;
}

.ssw-price-classic &gt; p:last-child{
  color:var(--ssw-muted);

  font-size:.95rem !important;
}

.ssw-price-luxe .ssw-price-label,
.ssw-price-luxe .ssw-price-from,
.ssw-price-luxe .ssw-price,
.ssw-price-luxe h3,
.ssw-price-luxe p{
  color:#fff;
}

.ssw-price-luxe .ssw-price{
  font-size:
    clamp(4rem,5vw,6rem) !important;
}

.ssw-price-luxe h3{
  max-width:14ch;

  margin-bottom:.75rem;

  font-size:
    clamp(1.8rem,2.1vw,2.45rem);
}

.ssw-price-luxe &gt; p:last-child{
  max-width:28rem;

  font-size:.93rem !important;
}

.ssw-price-luxe__badge{
  position:absolute;

  top:0;
  left:50%;

  min-width:140px;

  padding:.42rem .8rem;

  transform:translate(-50%,-50%);

  color:var(--ssw-pink);

  background:#fff;

  border:1px solid rgba(255,44,86,.14);
  border-radius:var(--ssw-pill);

  font-size:.77rem;
  font-weight:700;

  letter-spacing:.1em;

  text-align:center;
}


/* Pricing detail image */

.ssw-pricing__detail{
  grid-column:2;
  grid-row:2;

  width:80%;

  aspect-ratio:1 / 1;

  justify-self:center;

  overflow:hidden;

  margin-top:1.1rem;

  border-radius:
    54% 46% 50% 50% /
    44% 58% 42% 56%;

  box-shadow:
    0 15px 36px rgba(48,45,47,.07);
}


/* Payment note */

.ssw-pricing__payment-note{
  grid-column:2 / 4;
  grid-row:3;

  margin-top:.8rem;

  padding:
    1rem
    1.2rem;

  color:var(--ssw-ink-soft);

  background:rgba(255,255,255,.72);

  border-top:1px solid var(--ssw-line);

  font-size:.95rem;
}

.ssw-pricing__payment-note strong{
  color:var(--ssw-pink);
}


/* =========================================================
   09 — PAYMENT FLEXIBILITY
   ========================================================= */

.ssw-payment{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(180px,23%)
    minmax(0,47%)
    minmax(220px,30%);

  align-items:center;

  gap:
    clamp(1rem,2vw,2rem);

  padding:
    var(--ssw-section-tight)
    var(--ssw-gutter);

  background:
    linear-gradient(
      108deg,
      rgba(187,239,224,.82),
      rgba(255,255,255,.97) 58%,
      rgba(133,191,214,.13)
    );
}

.ssw-payment__image{
  width:76%;

  aspect-ratio:1;

  justify-self:center;

  overflow:hidden;

  border-radius:
    43% 57% 48% 52% /
    51% 39% 61% 49%;
}

.ssw-payment__content{
  padding-inline:1rem;
}

.ssw-payment__content h2{
  max-width:12.5ch;
}

.ssw-payment__content &gt; p:last-child{
  max-width:44rem;

  margin-top:1rem !important;

  color:var(--ssw-ink-soft);
}

.ssw-payment__callout{
  padding-left:
    clamp(1.4rem,2.3vw,2.4rem);

  border-left:
    1px solid rgba(48,45,47,.14);

  text-align:center;
}

.ssw-payment__icon{
  display:block;

  margin-bottom:.5rem;

  color:var(--ssw-pink);

  font-size:2.1rem;
}

.ssw-payment__callout h3{
  max-width:19ch;

  margin:
    0 auto
    1rem;

  font-family:var(--ssw-body);

  font-size:1.02rem;
  font-weight:700;

  letter-spacing:0;
  line-height:1.3;
}

.ssw-payment__callout .ssw-accent{
  margin-top:1rem !important;

  color:var(--ssw-muted);

  font-size:.94rem !important;
}


/* =========================================================
   10 — FAQ
   ========================================================= */

.ssw-faq{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(12,minmax(0,1fr));

  gap:
    clamp(1.1rem,1.8vw,2rem);

  padding:
    var(--ssw-section)
    var(--ssw-gutter);

  background:
    linear-gradient(
      180deg,
      #fff 0 20%,
      rgba(244,190,163,.06) 57%,
      rgba(187,239,224,.08)
    );
}

.ssw-faq__header{
  grid-column:2 / 8;

  margin-bottom:.7rem;
}

.ssw-faq__header h2{
  max-width:13ch;
}

.ssw-faq__header &gt; p:last-child{
  max-width:38rem;

  margin-top:.7rem !important;

  color:var(--ssw-muted);
}

.ssw-question-number{
  color:var(--ssw-pink);

  font-family:var(--ssw-heading);

  font-size:1.6rem !important;
  line-height:1;
}


/* Q1 */

.ssw-feature-answer{
  grid-column:1 / 8;

  display:grid;

  grid-template-columns:auto 1fr;

  gap:1rem;

  padding:
    clamp(1.5rem,2vw,2.25rem);

  background:
    linear-gradient(
      120deg,
      rgba(244,156,163,.21),
      rgba(244,190,163,.14)
    );

  border-radius:
    0
    var(--ssw-radius-lg)
    var(--ssw-radius-lg)
    0;
}

.ssw-feature-answer h3{
  max-width:20ch;

  margin-bottom:.65rem;
}


/* Q2 */

.ssw-floating-answer{
  grid-column:9 / 13;

  align-self:start;

  padding:
    .3rem
    0
    .8rem
    1.25rem;

  border-left:3px solid var(--ssw-sky);
}

.ssw-floating-answer h3{
  margin:
    .4rem
    0
    .6rem;
}


/* Statement */

.ssw-dark-statement{
  grid-column:2 / 7;

  min-height:180px;

  display:flex;

  align-items:center;

  padding:
    1.6rem
    2rem;

  color:#fff;

  background:var(--ssw-ink);

  border-radius:
    0
    var(--ssw-radius-lg)
    0
    0;
}

.ssw-dark-statement p{
  max-width:17ch;

  color:var(--ssw-carnation);

  font-size:
    clamp(1.5rem,1.9vw,2.25rem) !important;

  line-height:1.18;
}


/* Q3 */

.ssw-rule-answer{
  grid-column:7 / 12;

  align-self:center;

  padding:
    .5rem
    0
    .5rem
    1.6rem;

  border-left:1px solid var(--ssw-pink);
}

.ssw-rule-answer h3{
  max-width:19ch;

  margin-bottom:.6rem;
}


/* Q4 */

.ssw-money-answer{
  grid-column:1 / 7;

  padding:
    clamp(1.5rem,2.1vw,2.35rem);

  background:
    linear-gradient(
      135deg,
      var(--ssw-creamsicle),
      #F7CBB3
    );

  border-radius:
    var(--ssw-radius-lg)
    0
    var(--ssw-radius-lg)
    0;
}

.ssw-money-answer h3{
  max-width:20ch;

  margin-bottom:.65rem;
}

.ssw-money-answer__note{
  margin-top:.8rem !important;

  padding-top:.7rem;

  border-top:
    1px solid rgba(48,45,47,.15);

  font-weight:700;
}


/* Q5 */

.ssw-fun-answer{
  position:relative;

  grid-column:8 / 13;

  padding:
    clamp(1.5rem,2.1vw,2.35rem)
    clamp(1.4rem,2vw,2rem)
    2.55rem;

  background:
    linear-gradient(
      140deg,
      rgba(133,191,214,.26),
      rgba(187,239,224,.64)
    );

  border-radius:
    0
    var(--ssw-radius-lg)
    0
    var(--ssw-radius-lg);
}

.ssw-fun-answer h3{
  max-width:19ch;

  margin-bottom:.65rem;
}

.ssw-fun-answer__mark{
  position:absolute;

  right:8%;
  bottom:14px;

  width:27%;
  height:24px;

  border-bottom:
    2px solid rgba(255,44,86,.54);

  border-radius:50%;

  transform:rotate(-8deg);
}


/* Q6 */

.ssw-suite-answer{
  grid-column:2 / 7;

  padding:
    .5rem
    1rem
    .5rem
    0;
}

.ssw-suite-answer h3{
  max-width:20ch;

  margin-bottom:.6rem;
}


/* Q7 */

.ssw-location-answer{
  grid-column:8 / 12;

  position:relative;

  padding:
    clamp(1.4rem,2vw,2.2rem);

  background:
    rgba(187,239,224,.61);

  border-radius:
    0
    var(--ssw-radius-lg)
    var(--ssw-radius-lg)
    0;
}

.ssw-location-answer h3{
  margin-bottom:.6rem;
}

.ssw-location-answer__line{
  position:absolute;

  left:-17%;
  bottom:-16px;

  width:54%;
  height:38px;

  border-top:
    2px solid rgba(133,191,214,.67);

  border-radius:50%;

  transform:rotate(6deg);
}


/* Q8 */

.ssw-planner-answer{
  grid-column:4 / 11;

  margin-top:.5rem;

  padding:
    1.6rem
    clamp(1.5rem,3vw,3.2rem);

  border-top:1px solid var(--ssw-line);
  border-bottom:1px solid var(--ssw-line);
}

.ssw-planner-answer h3{
  max-width:21ch;

  margin-bottom:.65rem;
}

.ssw-planner-answer .ssw-accent{
  margin-top:.75rem !important;

  color:var(--ssw-pink);

  font-size:1.08rem !important;
}


/* =========================================================
   11 — INSPIRATION
   ========================================================= */

.ssw-inspo{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(0,46%)
    minmax(0,54%);

  align-items:stretch;

  background:
    linear-gradient(
      106deg,
      rgba(133,191,214,.16),
      rgba(187,239,224,.43) 51%,
      rgba(255,255,255,.97)
    );
}

.ssw-inspo__media{
  min-height:440px;
}

.ssw-inspo__copy{
  position:relative;

  align-self:center;

  padding:
    var(--ssw-section)
    clamp(2.5rem,4vw,5rem);
}

.ssw-inspo__copy h2{
  max-width:13ch;
}

.ssw-inspo__copy &gt; .ssw-accent{
  margin-top:.65rem !important;

  color:var(--ssw-pink);

  font-size:1.34rem !important;
}

.ssw-inspo__copy &gt;
p:not(.ssw-eyebrow):not(.ssw-accent){
  max-width:42rem;

  margin-top:1rem !important;

  color:var(--ssw-ink-soft);
}

.ssw-inspo__copy strong{
  display:block;

  margin-top:1rem;
}

.ssw-inspo__loop{
  position:absolute;

  right:3%;
  bottom:9%;

  width:17%;
  height:40px;

  border-top:
    2px solid rgba(255,44,86,.5);

  border-radius:50%;

  transform:rotate(-11deg);
}


/* =========================================================
   12 — SAMPLE WEEKEND
   ========================================================= */

.ssw-weekend{
  width:100%;

  display:grid;

  grid-template-columns:
    minmax(230px,1.4fr)
    1fr
    auto
    1fr
    auto
    1fr
    minmax(180px,.9fr);

  align-items:center;

  gap:
    clamp(.7rem,1.45vw,1.6rem);

  padding:
    var(--ssw-section-tight)
    var(--ssw-gutter);

  background:
    linear-gradient(
      100deg,
      rgba(244,190,163,.07),
      #fff 43%,
      rgba(187,239,224,.11)
    );
}

.ssw-weekend__intro h2{
  max-width:11ch;

  font-size:
    clamp(2.2rem,2.75vw,3.25rem);
}

.ssw-day{
  text-align:center;
}

.ssw-day__name{
  font-size:1.12rem !important;
}

.ssw-day__symbol{
  display:block;

  margin:.2rem 0 .35rem;

  color:var(--ssw-pink);

  font-size:1.55rem;
}

.ssw-day h3{
  font-family:var(--ssw-body);

  font-size:.94rem;
  font-weight:700;

  letter-spacing:0;
}

.ssw-day p:last-child{
  margin-top:.18rem !important;

  color:var(--ssw-muted);

  font-size:.9rem !important;
}

.ssw-weekend__arrow{
  color:var(--ssw-pink);

  font-size:1.2rem;
}

.ssw-weekend__note{
  padding-left:1rem;

  border-left:1px solid var(--ssw-line);

  color:var(--ssw-muted);

  font-size:.9rem;
}


/* =========================================================
   13 — REAL WEDDING GALLERY
   ========================================================= */

.ssw-gallery{
  position:relative;

  width:100%;

  min-height:450px;

  display:grid;

  grid-template-columns:
    minmax(250px,30%)
    minmax(0,70%);

  align-items:center;

  padding:
    var(--ssw-section-tight)
    var(--ssw-gutter);

  color:#fff;

  background:var(--ssw-ink);
}

.ssw-gallery__copy{
  position:relative;
  z-index:4;

  padding-right:
    clamp(1.8rem,3vw,3rem);
}

.ssw-gallery__copy .ssw-eyebrow{
  color:var(--ssw-carnation);
}

.ssw-gallery__copy h2{
  max-width:12.5ch;

  color:#fff;

  font-size:
    clamp(2.4rem,3vw,3.6rem);
}

.ssw-gallery__copy .ssw-accent{
  margin-top:.75rem !important;

  color:var(--ssw-carnation);

  font-size:1.08rem !important;
}

.ssw-gallery__images{
  display:grid;

  grid-template-columns:
    .95fr
    1.12fr
    .86fr
    1.05fr;

  align-items:end;

  gap:.55rem;
}

.ssw-gallery__image{
  overflow:hidden;

  border-radius:
    var(--ssw-radius-sm);
}

.ssw-gallery__image--one{
  height:240px;

  transform:translateY(9px);
}

.ssw-gallery__image--two{
  height:310px;
}

.ssw-gallery__image--three{
  height:225px;

  transform:translateY(-9px);
}

.ssw-gallery__image--four{
  height:280px;

  transform:translateY(6px);
}

.ssw-gallery__pink-line,
.ssw-gallery__mint-line{
  position:absolute;

  width:10vw;
  height:38px;

  border-top:2px solid;
  border-radius:50%;
}

.ssw-gallery__pink-line{
  left:-2vw;
  bottom:10%;

  border-color:var(--ssw-pink);

  transform:rotate(16deg);
}

.ssw-gallery__mint-line{
  right:-2vw;
  top:11%;

  border-color:var(--ssw-seafoam);

  transform:rotate(-11deg);
}


/* =========================================================
   14 — WEDDING PLANNERS
   ========================================================= */

/*
 * Major change:
 *
 * Desktop becomes:
 *
 * COPY        IMAGE
 * ----------------
 *  POINT | POINT | POINT
 *
 * This removes the giant empty middle area visible in the
 * current design.
 */

.ssw-planners{
  width:100%;

  display:grid;

  grid-template-columns:
    repeat(12,minmax(0,1fr));

  align-items:stretch;

  background:
    linear-gradient(
      112deg,
      rgba(187,239,224,.74),
      rgba(255,255,255,.98) 52%,
      rgba(133,191,214,.15)
    );
}


/* Copy */

.ssw-planners__copy{
  grid-column:1 / 6;
  grid-row:1;

  align-self:center;

  padding:
    var(--ssw-section)
    clamp(2rem,3.5vw,4.5rem)
    clamp(3rem,4vw,4.5rem)
    var(--ssw-gutter);
}

.ssw-planners__copy h2{
  max-width:13.5ch;

  font-size:
    clamp(2.8rem,3.4vw,4.05rem);

  line-height:.96;
}

.ssw-planners__copy &gt;
p:not(.ssw-eyebrow):not(.ssw-accent){
  max-width:37rem;

  margin-top:1rem !important;

  color:var(--ssw-ink-soft);
}

.ssw-planners__copy .ssw-accent{
  margin:
    .85rem
    0
    1.25rem !important;

  color:var(--ssw-pink);

  font-size:1.1rem !important;
}


/* Main image */

.ssw-planners__image{
  grid-column:6 / 13;
  grid-row:1;

  min-height:465px;
}

.ssw-planners__image .ssw-photo{
  object-position:center;
}


/* Three proof points */

.ssw-planners__points{
  grid-column:1 / 13;
  grid-row:2;

  display:grid;

  grid-template-columns:
    repeat(3,minmax(0,1fr));

  gap:0;

  padding:
    0
    var(--ssw-gutter)
    var(--ssw-section-tight);
}

.ssw-planners__points article{
  position:relative;

  min-height:135px;

  padding:
    1.4rem
    clamp(1.2rem,2vw,2rem);

  border-top:
    1px solid rgba(48,45,47,.12);

  border-right:
    1px solid rgba(48,45,47,.10);
}

.ssw-planners__points article:last-child{
  border-right:0;
}

.ssw-planners__points span{
  color:var(--ssw-pink);

  font-size:1.25rem;
}

.ssw-planners__points h3{
  margin:.25rem 0;

  font-family:var(--ssw-body);

  font-size:.98rem;
  font-weight:700;

  letter-spacing:0;
}

.ssw-planners__points p{
  color:var(--ssw-muted);

  font-size:.91rem !important;
}


/* =========================================================
   15 — FINAL CTA
   ========================================================= */

.ssw-final{
  position:relative;

  width:100%;

  min-height:500px;

  display:grid;

  grid-template-columns:
    minmax(0,52%)
    minmax(0,48%);

  align-items:stretch;

  overflow:hidden;

  background:
    linear-gradient(
      125deg,
      rgba(244,190,163,.92),
      rgba(244,156,163,.82) 40%,
      rgba(187,239,224,.77)
    );
}

.ssw-final__copy{
  position:relative;
  z-index:5;

  align-self:center;

  padding:
    clamp(3.7rem,5vw,5.6rem)
    clamp(2.5rem,4vw,5rem)
    clamp(3.7rem,5vw,5.6rem)
    var(--ssw-gutter);
}

.ssw-final__copy h2{
  max-width:12.5ch;

  font-size:
    clamp(3rem,3.8vw,4.6rem);

  line-height:.95;
}

.ssw-final__copy &gt; .ssw-accent{
  max-width:19ch;

  margin-top:.8rem !important;

  color:var(--ssw-pink);

  font-size:
    clamp(1.3rem,1.55vw,1.7rem) !important;
}

.ssw-final__copy &gt;
p:not(.ssw-accent){
  max-width:40rem;

  margin-top:1rem !important;

  color:var(--ssw-ink-soft);
}

.ssw-final__copy .ssw-btn{
  margin-top:1.4rem;
}

.ssw-final__image{
  position:relative;
  z-index:3;

  min-height:500px;

  clip-path:
    polygon(
      8% 0,
      100% 0,
      100% 100%,
      0 100%,
      5% 76%,
      1% 42%
    );
}


/*
 * This is the SAME image URL currently used in the
 * wedding planner section.
 *
 * CSS can't change that source, but we can crop it differently
 * until you replace one image.
 */
.ssw-final__image .ssw-photo{
  object-position:
    68% center;
}

.ssw-final__blob{
  position:absolute;

  pointer-events:none;
}

.ssw-final__blob--cream{
  left:-8vw;
  bottom:-9vw;

  width:28vw;
  height:26vw;

  border-radius:
    46% 54% 66% 34%;

  background:
    rgba(244,190,163,.88);
}

.ssw-final__blob--mint{
  left:42%;
  top:-8vw;

  width:19vw;
  height:18vw;

  border-radius:
    60% 40% 38% 62%;

  background:
    rgba(187,239,224,.76);
}

.ssw-final__star{
  position:absolute;
  z-index:6;

  left:48%;
  top:16%;

  color:var(--ssw-pink);

  font-size:1.4rem;
}


/* =========================================================
   16 — DESKTOP / TABLET
   ========================================================= */

@media (max-width:1100px){

  .ssw-page{
    font-size:17px;
  }


  /* Hero */

  .ssw-hero{
    grid-template-columns:
      45% 55%;

    min-height:560px;
  }

  .ssw-hero__media{
    min-height:560px;
  }


  /* Moments */

  .ssw-moments{
    grid-template-columns:
      33% 28% 39%;
  }

  .ssw-moments__intro{
    padding-right:1.4rem;
  }

  .ssw-moment--weekend{
    min-height:480px;
  }


  /* Suite */

  .ssw-suite{
    grid-template-columns:
      51% 49%;
  }

  .ssw-suite__details{
    grid-template-columns:1fr;
  }


  /* Pricing */

  .ssw-pricing{
    grid-template-columns:
      34% 28% 38%;
  }


  /* Planner */

  .ssw-planners__copy{
    grid-column:1 / 7;
  }

  .ssw-planners__image{
    grid-column:7 / 13;
  }

}


/* =========================================================
   17 — TABLET PORTRAIT
   ========================================================= */

@media (max-width:900px){


  /* Hero */

  .ssw-hero{
    grid-template-columns:
      47% 53%;
  }


  /* Moments */

  .ssw-moments{
    grid-template-columns:
      1fr 1fr;

    grid-template-rows:auto;

    gap:20px;
  }

  .ssw-moments__intro{
    grid-column:1 / 3;
    grid-row:auto;

    width:min(660px,88%);

    padding:
      0
      0
      1rem;
  }

  .ssw-moment--before{
    grid-column:1;
    grid-row:auto;
  }

  .ssw-moment--hosted{
    grid-column:1;
    grid-row:auto;
  }

  .ssw-moment--weekend{
    grid-column:2;
    grid-row:2 / 4;

    min-height:555px;
  }

  .ssw-moment--after{
    grid-column:1 / 3;
    grid-row:auto;

    grid-template-columns:
      38% 62%;
  }


  /* Suite */

  .ssw-suite{
    grid-template-columns:
      48% 52%;
  }


  /* Pricing */

  .ssw-pricing{
    grid-template-columns:
      1fr 1fr;
  }

  .ssw-pricing__intro{
    grid-column:1 / 3;
    grid-row:auto;

    width:70%;

    margin-bottom:1.3rem;
  }

  .ssw-price-classic{
    grid-column:1;
    grid-row:auto;
  }

  .ssw-price-luxe{
    grid-column:2;
    grid-row:auto;
  }

  .ssw-pricing__detail{
    grid-column:1;
    grid-row:auto;

    width:65%;
  }

  .ssw-pricing__payment-note{
    grid-column:2;
    grid-row:auto;
  }


  /* Payment */

  .ssw-payment{
    grid-template-columns:
      32% 68%;
  }

  .ssw-payment__image{
    grid-column:1;
  }

  .ssw-payment__content{
    grid-column:2;
  }

  .ssw-payment__callout{
    grid-column:1 / 3;

    width:70%;

    justify-self:end;

    margin-top:1rem;

    padding:
      1.5rem
      0
      0;

    border-left:0;

    border-top:
      1px solid rgba(48,45,47,.14);
  }


  /* Weekend */

  .ssw-weekend{
    grid-template-columns:
      repeat(3,1fr);
  }

  .ssw-weekend__intro{
    grid-column:1 / 4;

    width:65%;

    margin-bottom:.5rem;
  }

  .ssw-weekend__arrow{
    display:none;
  }

  .ssw-weekend__note{
    grid-column:1 / 4;

    width:65%;

    justify-self:end;

    margin-top:.5rem;
  }


  /* Gallery */

  .ssw-gallery{
    grid-template-columns:
      34% 66%;
  }

  .ssw-gallery__images{
    grid-template-columns:
      1fr 1fr;
  }

  .ssw-gallery__image--one,
  .ssw-gallery__image--two,
  .ssw-gallery__image--three,
  .ssw-gallery__image--four{
    transform:none;
  }


  /* Planner */

  .ssw-planners__copy{
    grid-column:1 / 7;
  }

  .ssw-planners__image{
    grid-column:7 / 13;
  }


  /* Final */

  .ssw-final{
    grid-template-columns:
      56% 44%;
  }

}


/* =========================================================
   18 — MOBILE
   ========================================================= */

@media (max-width:767px){

  .ssw-page{
    font-size:16.5px;
  }

  .ssw-page h1{
    font-size:
      clamp(3rem,12vw,4rem);
  }

  .ssw-page h2{
    font-size:
      clamp(2.45rem,9.5vw,3.45rem);
  }


  /* =======================================================
     HERO
     ======================================================= */

  .ssw-hero{
    display:flex;
    flex-direction:column;

    min-height:0;

    padding-bottom:1.7rem;
  }

  .ssw-hero__copy{
    width:95%;

    padding:
      3rem
      1.15rem
      2rem;
  }

  .ssw-hero__media{
    width:94%;

    min-height:390px;

    margin-left:auto;
  }

  .ssw-hero__media::before,
  .ssw-hero__wave{
    display:none;
  }


  /* =======================================================
     VALUE STRIP
     ======================================================= */

  .ssw-value-strip{
    width:96%;

    grid-template-columns:1fr;

    min-height:0;

    padding:
      1.45rem
      1.15rem;
  }

  .ssw-value-strip__star,
  .ssw-value-strip__line{
    display:none;
  }


  /* =======================================================
     MOMENTS
     ======================================================= */

  .ssw-moments{
    display:flex;
    flex-direction:column;

    gap:0;

    padding:
      3.5rem
      0
      4rem;
  }

  .ssw-moments__intro{
    width:92%;

    padding:
      0
      1.15rem
      2.1rem;
  }

  .ssw-moments__intro h2{
    max-width:11.5ch;
  }

  .ssw-moment--before{
    width:90%;

    margin:
      0
      auto
      2.4rem
      0;

    display:flex;
    flex-direction:column;
  }

  .ssw-moment--before img{
    order:1;

    min-height:275px;

    border-radius:
      0
      22px
      22px
      0;
  }

  .ssw-moment--before .ssw-moment__copy{
    order:2;

    width:88%;

    padding:
      .9rem
      1.15rem
      0;
  }

  .ssw-moment--weekend{
    width:92%;

    min-height:0;

    margin:
      0
      0
      2.7rem
      auto;

    display:flex;
    flex-direction:column;
  }

  .ssw-moment--weekend img{
    order:1;

    min-height:425px;

    border-radius:
      22px
      0
      0
      22px;
  }

  .ssw-moment--weekend .ssw-moment__copy{
    order:2;

    width:88%;

    margin:
      .9rem
      1.15rem
      0
      auto;

    padding:
      .15rem
      0
      .15rem
      1rem;
  }

  .ssw-moment--hosted{
    width:85%;

    margin:
      0
      auto
      2.7rem
      5%;

    display:flex;
    flex-direction:column;
  }

  .ssw-moment--hosted img{
    order:1;

    min-height:245px;
  }

  .ssw-moment--hosted .ssw-moment__copy{
    order:2;
  }

  .ssw-moment--after{
    width:94%;

    min-height:0;

    margin:
      .2rem
      0
      0
      auto;

    display:flex;
    flex-direction:column;

    border-radius:
      25px
      0
      0
      25px;
  }

  .ssw-moment--after .ssw-moment__copy{
    order:1;

    padding:
      1.8rem
      1.35rem
      1.5rem;
  }

  .ssw-moment--after img{
    order:2;

    min-height:265px;

    border-radius:
      0
      0
      0
      25px;
  }

  .ssw-moment--after::after{
    display:none;
  }


  /* =======================================================
     SUITE
     ======================================================= */

  .ssw-suite{
    display:flex;
    flex-direction:column;
  }

  .ssw-suite__media{
    width:95%;

    min-height:355px;
  }

  .ssw-suite__content{
    width:91%;

    margin-left:auto;

    padding:
      2.6rem
      1.15rem
      2.4rem;
  }


  /* =======================================================
     PRICING
     ======================================================= */

  .ssw-pricing{
    display:flex;
    flex-direction:column;

    gap:0;

    padding:
      3.3rem
      0
      2.7rem;
  }

  .ssw-pricing__intro{
    width:92%;

    padding:
      0
      1.15rem
      1.7rem;
  }

  .ssw-price-classic{
    width:86%;

    min-height:290px;

    margin:
      0
      auto
      1.35rem
      5%;
  }

  .ssw-price-luxe{
    width:92%;

    min-height:375px;

    margin-left:auto;

    padding:
      2.2rem
      1.6rem;

    border-radius:
      32px
      0
      0
      32px;
  }

  .ssw-pricing__detail{
    width:61%;

    margin:
      -1.8rem
      auto
      0
      7%;
  }

  .ssw-pricing__payment-note{
    width:83%;

    margin:
      1.4rem
      4%
      0
      auto;
  }


  /* =======================================================
     PAYMENT
     ======================================================= */

  .ssw-payment{
    display:flex;
    flex-direction:column;

    align-items:flex-start;

    gap:0;

    padding:
      3.3rem
      0;
  }

  .ssw-payment__image{
    width:58%;

    margin-left:6%;
  }

  .ssw-payment__content{
    width:92%;

    margin:
      1.8rem
      0
      0
      auto;

    padding:
      0
      1.15rem;
  }

  .ssw-payment__callout{
    width:88%;

    margin:
      1.9rem
      auto
      0
      6%;

    padding:
      1.5rem
      .7rem
      0;

    border-left:0;

    border-top:
      1px solid rgba(48,45,47,.14);
  }


  /* =======================================================
     FAQ
     ======================================================= */

  .ssw-faq{
    display:flex;
    flex-direction:column;

    gap:1.4rem;

    padding:
      3.6rem
      0;
  }

  .ssw-faq__header{
    width:92%;

    padding:
      0
      1.15rem
      .6rem;
  }

  .ssw-feature-answer{
    width:95%;

    display:block;

    padding:
      1.55rem
      1.2rem;

    border-radius:
      0
      32px
      32px
      0;
  }

  .ssw-feature-answer .ssw-question-number{
    margin-bottom:.5rem !important;
  }

  .ssw-floating-answer{
    width:88%;

    margin-left:auto;

    padding:
      .4rem
      1.15rem
      .4rem
      1.25rem;
  }

  .ssw-dark-statement{
    width:84%;

    min-height:165px;

    margin-left:4%;

    padding:1.35rem;
  }

  .ssw-rule-answer{
    width:88%;

    margin-left:auto;

    padding:
      .65rem
      1.15rem
      .65rem
      1.35rem;
  }

  .ssw-money-answer{
    width:92%;

    padding:
      1.65rem
      1.2rem;

    border-radius:
      0
      32px
      32px
      0;
  }

  .ssw-fun-answer{
    width:88%;

    margin-left:auto;

    padding:
      1.6rem
      1.2rem
      2.35rem;

    border-radius:
      30px
      0
      0
      30px;
  }

  .ssw-suite-answer{
    width:84%;

    margin-left:6%;

    padding:.65rem 1.15rem;
  }

  .ssw-location-answer{
    width:88%;

    margin-left:auto;

    padding:
      1.6rem
      1.2rem;

    border-radius:
      30px
      0
      0
      30px;
  }

  .ssw-location-answer__line{
    display:none;
  }

  .ssw-planner-answer{
    width:92%;

    margin:
      .4rem
      auto
      0
      0;

    padding:
      1.5rem
      1.15rem;
  }


  /* =======================================================
     INSPIRATION
     ======================================================= */

  .ssw-inspo{
    display:flex;
    flex-direction:column;

    padding-bottom:1.8rem;
  }

  .ssw-inspo__media{
    width:90%;

    min-height:325px;
  }

  .ssw-inspo__copy{
    width:89%;

    margin-left:auto;

    padding:
      2.4rem
      1.15rem
      .7rem;
  }


  /* =======================================================
     WEEKEND
     ======================================================= */

  .ssw-weekend{
    display:flex;
    flex-direction:column;

    align-items:flex-start;

    gap:.75rem;

    padding:
      3rem
      0;
  }

  .ssw-weekend__intro{
    width:92%;

    padding:
      0
      1.15rem
      .65rem;
  }

  .ssw-day{
    padding:
      .9rem
      1.2rem;
  }

  .ssw-day--friday{
    width:84%;

    margin-left:5%;

    text-align:left;
  }

  .ssw-day--saturday{
    width:88%;

    margin-left:auto;

    text-align:right;
  }

  .ssw-day--sunday{
    width:84%;

    margin-left:10%;

    text-align:left;
  }

  .ssw-weekend__note{
    width:84%;

    margin-left:auto;

    padding:
      .9rem
      1.15rem;
  }


  /* =======================================================
     GALLERY
     ======================================================= */

  .ssw-gallery{
    display:flex;
    flex-direction:column;

    min-height:0;

    padding:
      3.2rem
      0;
  }

  .ssw-gallery__copy{
    width:91%;

    padding:
      0
      1.15rem
      1.6rem;
  }

  .ssw-gallery__images{
    width:97%;

    margin-left:auto;

    grid-template-columns:
      1fr
      1fr;

    gap:.45rem;
  }

  .ssw-gallery__image--one{
    height:205px;
  }

  .ssw-gallery__image--two{
    height:260px;
  }

  .ssw-gallery__image--three{
    height:225px;
  }

  .ssw-gallery__image--four{
    height:205px;
  }


  /* =======================================================
     PLANNERS
     ======================================================= */

  .ssw-planners{
    display:flex;
    flex-direction:column;

    padding:
      3.35rem
      0
      0;
  }

  .ssw-planners__copy{
    width:92%;

    padding:
      0
      1.15rem
      2rem;
  }

  .ssw-planners__copy h2{
    max-width:12.5ch;
  }

  .ssw-planners__image{
    order:2;

    width:95%;

    min-height:350px;

    margin-left:auto;
  }

  .ssw-planners__points{
    order:3;

    width:90%;

    display:flex;
    flex-direction:column;

    margin-left:auto;

    padding:
      1.6rem
      1.15rem
      2.7rem;
  }

  .ssw-planners__points article{
    min-height:0;

    padding:
      1rem
      0;

    border-right:0;

    border-top:
      1px solid rgba(48,45,47,.11);
  }


  /* =======================================================
     FINAL
     ======================================================= */

  .ssw-final{
    display:flex;
    flex-direction:column;

    min-height:0;

    padding-top:3.2rem;
  }

  .ssw-final__copy{
    width:93%;

    padding:
      0
      1.15rem
      2.3rem;
  }

  .ssw-final__copy h2{
    max-width:12ch;
  }

  .ssw-final__image{
    width:93%;

    min-height:375px;

    margin-left:auto;

    clip-path:
      polygon(
        8% 0,
        100% 0,
        100% 100%,
        0 100%,
        0 15%
      );
  }

  .ssw-final__star{
    display:none;
  }

}


/* =========================================================
   19 — VERY SMALL MOBILE
   ========================================================= */

@media (max-width:430px){

  .ssw-actions{
    flex-direction:column;

    align-items:flex-start;
  }

  .ssw-actions .ssw-btn:first-child{
    width:92%;
  }

  .ssw-actions .ssw-btn:last-child{
    width:78%;
  }

  .ssw-hero__media{
    min-height:345px;
  }

  .ssw-suite__media{
    min-height:320px;
  }

  .ssw-price-classic{
    width:83%;
  }

  .ssw-price-luxe{
    width:94%;
  }

  .ssw-pricing__detail{
    width:67%;
  }

  .ssw-payment__image{
    width:65%;
  }

  .ssw-planners__image,
  .ssw-final__image{
    min-height:325px;
  }

}


/* =========================================================
   20 — READABILITY / LAYER SAFETY
   ========================================================= */

.ssw-hero__copy,
.ssw-moments__intro,
.ssw-moment__copy,
.ssw-suite__content,
.ssw-pricing__intro,
.ssw-price-classic,
.ssw-price-luxe,
.ssw-pricing__payment-note,
.ssw-payment__content,
.ssw-payment__callout,
.ssw-faq__header,
.ssw-feature-answer,
.ssw-floating-answer,
.ssw-dark-statement,
.ssw-rule-answer,
.ssw-money-answer,
.ssw-fun-answer,
.ssw-suite-answer,
.ssw-location-answer,
.ssw-planner-answer,
.ssw-inspo__copy,
.ssw-weekend__intro,
.ssw-day,
.ssw-weekend__note,
.ssw-gallery__copy,
.ssw-planners__copy,
.ssw-planners__points,
.ssw-final__copy{
  position:relative;
  z-index:3;
}

.ssw-hero__media,
.ssw-suite__media,
.ssw-pricing__detail,
.ssw-payment__image,
.ssw-inspo__media,
.ssw-gallery__images,
.ssw-planners__image,
.ssw-final__image{
  position:relative;
  z-index:1;
}

.ssw-moment__copy,
.ssw-price-classic,
.ssw-price-luxe,
.ssw-payment__content,
.ssw-payment__callout,
.ssw-faq article,
.ssw-inspo__copy,
.ssw-planners__copy,
.ssw-planners__points,
.ssw-final__copy{
  overflow:visible;
}


/* =========================================================
   21 — MOTION
   ========================================================= */

@media
  (hover:hover)
  and (pointer:fine)
  and (prefers-reduced-motion:no-preference){

  .ssw-gallery__image .ssw-photo,
  .ssw-moment .ssw-photo{
    transition:
      transform .42s ease;
  }

  .ssw-gallery__image:hover .ssw-photo{
    transform:scale(1.022);
  }

  .ssw-moment:hover .ssw-photo{
    transform:scale(1.01);
  }

  .ssw-btn span[aria-hidden="true"]{
    display:inline-block;

    transition:
      transform .18s ease;
  }

  .ssw-btn:hover span[aria-hidden="true"]{
    transform:translateX(3px);
  }

}


/* =========================================================
   22 — REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion:reduce){

  .ssw-page *,
  .ssw-page *::before,
  .ssw-page *::after{
    transition:none !important;
    scroll-behavior:auto !important;
  }

  .ssw-btn:hover,
  .ssw-gallery__image:hover .ssw-photo,
  .ssw-moment:hover .ssw-photo{
    transform:none !important;
  }

}


/* =========================================================
   23 — TEMPORARY REVIEWS SAFEGUARD
   ========================================================= */

.ssw-reviews{
  display:none !important;
}/* =========================================================
   SANNA STYLES — READABILITY BOOST
   Planner Proof Strip + Wedding Weekend Timeline
   ========================================================= */


/* =========================================================
   01 — PLANNER PROOF STRIP
   ========================================================= */

.ssw-planners__points{
  padding-top:1rem;
  padding-bottom:clamp(3rem,4vw,4.5rem);
}

.ssw-planners__points article{
  min-height:175px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:
    clamp(1.6rem,2.2vw,2.3rem)
    clamp(1.5rem,2.4vw,2.6rem);
}


/* Icons */
.ssw-planners__points span{
  margin-bottom:.45rem;

  font-size:1.55rem;
  line-height:1;
}


/* Small bold heading */
.ssw-planners__points h3{
  margin:.2rem 0 .55rem;

  font-size:
    clamp(1.08rem,1rem + .18vw,1.22rem);

  font-weight:700;

  line-height:1.25;
}


/* Supporting sentence */
.ssw-planners__points p{
  max-width:34rem;

  color:var(--ssw-ink-soft);

  font-size:
    clamp(1rem,.96rem + .16vw,1.12rem) !important;

  line-height:1.55;
}



/* =========================================================
   02 — WEDDING WEEKEND TIMELINE
   ========================================================= */

.ssw-weekend{
  min-height:340px;

  gap:
    clamp(1rem,1.8vw,2.2rem);

  padding-top:
    clamp(3.5rem,4.5vw,5rem);

  padding-bottom:
    clamp(3.5rem,4.5vw,5rem);
}


/* Keep main section title strong without making it absurd */
.ssw-weekend__intro h2{
  max-width:11ch;

  font-size:
    clamp(2.6rem,3.1vw,3.75rem);

  line-height:.96;
}


/* Friday / Saturday / Sunday */
.ssw-day__name{
  margin-bottom:.4rem !important;

  font-size:
    clamp(1.25rem,1.15rem + .2vw,1.45rem) !important;

  line-height:1.2;
}


/* Diamond / heart / star */
.ssw-day__symbol{
  margin:.35rem 0 .55rem;

  font-size:1.9rem;
}


/* Welcome gathering / The big day / Farewell brunch */
.ssw-day h3{
  margin-bottom:.4rem;

  font-size:
    clamp(1.08rem,1rem + .18vw,1.22rem);

  font-weight:700;

  line-height:1.25;
}


/* Description under each day */
.ssw-day p:last-child{
  max-width:18rem;

  margin:
    .25rem
    auto
    0 !important;

  color:var(--ssw-ink-soft);

  font-size:
    clamp(1rem,.96rem + .12vw,1.08rem) !important;

  line-height:1.5;
}


/* Arrows between days */
.ssw-weekend__arrow{
  font-size:1.55rem;
}


/* Right-side explanatory note */
.ssw-weekend__note{
  padding-left:1.4rem;

  color:var(--ssw-ink-soft);

  font-size:
    clamp(1rem,.96rem + .14vw,1.1rem);

  line-height:1.55;
}



/* =========================================================
   03 — GENERAL SMALL-COPY FLOOR
   Prevent important service copy from becoming tiny
   ========================================================= */

.ssw-moment__copy p,
.ssw-suite__details p,
.ssw-pricing__payment-note,
.ssw-payment__callout p,
.ssw-weekend__note,
.ssw-planners__points p{
  font-size:
    clamp(1rem,.96rem + .12vw,1.1rem) !important;
}



/* =========================================================
   04 — TABLET
   ========================================================= */

@media (max-width:900px){

  .ssw-planners__points article{
    min-height:150px;
  }

  .ssw-weekend{
    min-height:0;
  }

  .ssw-day{
    padding:
      1.25rem
      1rem;
  }

}



/* =========================================================
   05 — MOBILE
   ========================================================= */

@media (max-width:767px){

  .ssw-planners__points{
    padding-top:1rem;
  }

  .ssw-planners__points article{
    min-height:0;

    padding:
      1.3rem
      0;
  }

  .ssw-planners__points h3{
    font-size:1.12rem;
  }

  .ssw-planners__points p{
    font-size:1rem !important;
  }


  .ssw-weekend{
    padding-top:3.4rem;
    padding-bottom:3.4rem;
  }

  .ssw-day{
    padding:
      1.2rem
      1.25rem;
  }

  .ssw-day__name{
    font-size:1.3rem !important;
  }

  .ssw-day h3{
    font-size:1.1rem;
  }

  .ssw-day p:last-child,
  .ssw-weekend__note{
    font-size:1rem !important;
  }

}/* End custom CSS */