/* =========================================================
   HORIZON & COMPANY
   SHARED REAL WEDDING PAGE
   Editorial story system
   ========================================================= */

.wedding-page{
  --wedding-ink:var(--home-ink,#242321);
  --wedding-cream:var(--home-cream,#f4f2ed);
  --wedding-stone:#e9e5de;
  --wedding-gold:var(--home-gold,#b89562);
  --wedding-copy:#625e59;

  background:var(--wedding-cream);
  color:var(--wedding-ink);
  overflow:hidden;
}

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


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

.wedding-hero{
  position:relative;
  width:100vw;
  min-height:0;

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

  padding:96px 5vw 84px;

  overflow:hidden;

  background:var(--wedding-ink);
  color:#fff;
}

.wedding-hero::before{
  content:"STORY";

  position:absolute;
  left:-2vw;
  bottom:-4vw;

  font-family:'Baskervville',serif;
  font-size:clamp(10rem,24vw,23rem);
  line-height:.75;
  font-style:italic;

  color:rgba(255,255,255,.018);

  pointer-events:none;
}

.wedding-hero::after{
  content:"";

  position:absolute;
  inset:0;

  background:
    radial-gradient(
      circle at 72% 42%,
      rgba(255,255,255,.035),
      transparent 34%
    );

  pointer-events:none;
}

.wedding-hero-inner{
  position:relative;
  z-index:2;

  width:min(1360px,90vw);
  min-height:0;

  margin:0 auto;

  display:grid;

  grid-template-columns:
    minmax(0,.88fr)
    minmax(0,1.12fr);

  gap:76px;

  align-items:center;
}


/* HERO COPY */

.wedding-hero-copy{
  position:relative;
  z-index:3;
  max-width:560px;
}

.wedding-hero .eyebrow{
  margin-bottom:24px;
  color:#c9a876;
}

.wedding-hero h1{
  margin:0;

  font-family:'Baskervville',serif;
  font-size:clamp(4.6rem,7vw,7.5rem);
  line-height:.84;
  font-weight:400;

  letter-spacing:-.055em;

  color:#fff;
}

.wedding-hero h1 span{
  display:block;
}

.wedding-hero-venue{
  margin:26px 0 0;

  color:#c9a876;

  font-size:.64rem;
  font-weight:600;

  letter-spacing:2.7px;
  line-height:1.6;

  text-transform:uppercase;
}

.wedding-hero-tone{
  margin:28px 0 0;

  font-family:'Baskervville',serif;

  font-size:clamp(1.55rem,2vw,2rem);

  line-height:1.35;

  font-style:italic;

  color:rgba(255,255,255,.9);
}

.wedding-hero-intro{
  max-width:530px;

  margin:24px 0 0;

  color:rgba(255,255,255,.68);

  font-size:.94rem;

  line-height:1.8;
}

.wedding-hero-actions{
  margin-top:32px;

  display:flex;

  flex-wrap:wrap;

  gap:12px;
}

.wedding-hero .home-hero-button{
  min-width:205px;
}


/* HERO VISUAL */

.wedding-hero-visual{
  position:relative;
  height:clamp(520px,45vw,650px);
  min-height:0;
}

.wedding-hero-image-main{
  position:absolute;

  top:0;
  left:0;

  width:74%;
  height:84%;

  margin:0;

  overflow:hidden;

  background:#393633;

  box-shadow:
    0 28px 75px
    rgba(0,0,0,.24);
}

.wedding-hero-image-main::after,
.wedding-hero-image-secondary::after{
  content:"";

  position:absolute;
  inset:14px;

  border:
    1px solid
    rgba(255,255,255,.18);

  pointer-events:none;
}

.wedding-hero-image-main img,
.wedding-hero-image-secondary img{
  width:100%;
  height:100%;

  display:block;

  object-fit:cover;

  transition:
    transform 1.1s
    cubic-bezier(.2,.7,.2,1);
}

.wedding-hero-image-main:hover img,
.wedding-hero-image-secondary:hover img{
  transform:scale(1.018);
}

.wedding-hero-image-secondary{
  position:absolute;

  right:0;
  bottom:0;

  z-index:2;

  width:49%;
  height:48%;

  margin:0;

  overflow:hidden;

  background:#393633;

  box-shadow:
    0 25px 65px
    rgba(0,0,0,.28);
}


/* HERO IMAGE CAPTION */

.wedding-hero-image-caption{
  position:absolute;

  left:24px;
  right:24px;
  bottom:23px;

  z-index:2;

  color:#fff;
}

.wedding-hero-image-caption small{
  display:block;

  margin-bottom:7px;

  color:#d7b985;

  font-size:.55rem;
  font-weight:600;

  letter-spacing:2.3px;

  text-transform:uppercase;
}

.wedding-hero-image-caption strong{
  display:block;

  font-family:'Baskervville',serif;

  font-size:1.6rem;

  line-height:1.05;

  font-weight:400;
}

.wedding-hero-image-caption em{
  display:block;

  margin-top:5px;

  font-family:'Baskervville',serif;

  font-size:.9rem;

  font-style:italic;

  color:rgba(255,255,255,.78);
}


/* HERO SIDE NOTE */

.wedding-hero-visual-note{
  position:absolute;

  top:44px;
  right:-10px;

  z-index:4;

  max-width:230px;

  text-align:right;

  pointer-events:none;
}

.wedding-hero-visual-note span{
  display:block;

  color:rgba(255,255,255,.38);

  font-size:.52rem;
  font-weight:600;

  letter-spacing:2.5px;

  text-transform:uppercase;
}

.wedding-hero-visual-note strong{
  display:block;

  margin-top:7px;

  font-family:'Baskervville',serif;

  font-size:1rem;

  line-height:1.35;

  font-weight:400;

  font-style:italic;

  color:rgba(255,255,255,.74);
}


/* HERO SCROLL */

.wedding-hero-scroll{
  position:absolute;

  z-index:4;

  left:50%;
  bottom:25px;

  transform:translateX(-50%);

  display:flex;

  align-items:center;

  gap:12px;

  color:rgba(255,255,255,.42);

  text-decoration:none;

  font-size:.5rem;
  font-weight:600;

  letter-spacing:2.3px;

  text-transform:uppercase;
}

.wedding-hero-scroll span{
  width:34px;
  height:1px;

  background:
    rgba(255,255,255,.28);
}


/* =========================================================
   STORY
   Compact editorial introduction
   ========================================================= */

.wedding-story{
  position:relative;

  width:100vw;

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

  padding:110px 5vw 115px;

  overflow:hidden;

  background:#fff;
}

.wedding-story-word{
  position:absolute;

  right:-1vw;
  top:10px;

  font-family:'Baskervville',serif;

  font-size:clamp(8rem,16vw,15rem);

  line-height:1;

  font-style:italic;

  color:rgba(36,35,33,.018);

  pointer-events:none;
}

.wedding-story-inner{
  position:relative;

  z-index:1;

  width:min(1180px,88vw);

  margin:0 auto;

  display:grid;

  grid-template-columns:
    minmax(0,.8fr)
    minmax(0,1.2fr);

  gap:90px;

  align-items:start;
}

.wedding-story-heading{
  position:static;
}

.wedding-story-heading .eyebrow{
  margin-bottom:18px;
}

.wedding-story-heading h2{
  margin:0;

  max-width:470px;

  font-family:'Baskervville',serif;

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

  line-height:.96;

  font-weight:400;

  letter-spacing:-.045em;
}

.wedding-story-heading h2 em{
  display:block;

  margin-top:18px;

  font-size:.52em;

  line-height:1.2;

  font-weight:400;

  font-style:italic;

  letter-spacing:-.02em;

  color:#756f68;
}

.wedding-story-body{
  min-width:0;
}

.wedding-story-copy{
  max-width:650px;
  margin:0;
}

.wedding-story-lead{
  margin:0 0 25px;

  font-family:'Baskervville',serif;

  font-size:1.55rem;

  line-height:1.45;

  font-style:italic;

  color:#35322f;
}

.wedding-story-copy p:not(.wedding-story-lead){
  margin:0 0 17px;

  color:#5f5a55;

  font-size:.94rem;

  line-height:1.82;
}


/* Hide redundant story image */

.wedding-story-image{
  display:none;
}

.wedding-story-image-index{
  display:none;
}


/* =========================================================
   VENUE
   ========================================================= */

.wedding-venue{
  position:relative;

  width:100vw;

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

  padding:115px 5vw;

  overflow:hidden;

  background:var(--wedding-cream);
}

.wedding-venue-inner{
  width:min(1260px,92vw);

  margin:0 auto;

  display:grid;

  grid-template-columns:
    minmax(0,1.25fr)
    minmax(380px,.75fr);

  align-items:center;

  gap:0;
}

.wedding-venue-image{
  position:relative;

  min-height:540px;

  overflow:hidden;

  background:#d8d3cb;
}

.wedding-venue-image::after{
  content:"";

  position:absolute;

  inset:16px;

  border:
    1px solid
    rgba(255,255,255,.32);

  pointer-events:none;
}

.wedding-venue-image img{
  width:100%;
  height:100%;

  min-height:540px;

  display:block;

  object-fit:cover;
}

.wedding-venue-image-label{
  position:absolute;

  left:30px;
  bottom:28px;

  z-index:2;

  color:#fff;

  text-shadow:
    0 2px 12px
    rgba(0,0,0,.35);
}

.wedding-venue-image-label span{
  display:block;

  margin-bottom:6px;

  color:#e4c995;

  font-size:.55rem;
  font-weight:600;

  letter-spacing:2.3px;

  text-transform:uppercase;
}

.wedding-venue-image-label strong{
  display:block;

  font-family:'Baskervville',serif;

  font-size:1.45rem;

  font-weight:400;
}

.wedding-venue-copy{
  position:relative;

  z-index:3;

  width:calc(100% + 55px);

  margin-left:-55px;

  padding:56px 50px;

  background:#fff;

  box-shadow:
    0 24px 65px
    rgba(35,31,28,.09);
}

.wedding-venue-copy::before{
  content:none;
}

.wedding-venue-copy .eyebrow{
  margin-bottom:18px;
}

.wedding-venue-copy h2{
  margin:0 0 25px;

  font-family:'Baskervville',serif;

  font-size:
    clamp(2.6rem,3.3vw,3.45rem);

  line-height:1;

  font-weight:400;

  letter-spacing:-.035em;
}

.wedding-venue-copy p{
  margin:0 0 17px;

  color:#605c57;

  font-size:.92rem;

  line-height:1.8;
}

.wedding-inline-link{
  display:inline-flex;

  gap:10px;

  align-items:center;

  margin-top:12px;

  padding-bottom:6px;

  border-bottom:
    1px solid
    var(--wedding-gold);

  color:var(--wedding-ink);

  text-decoration:none;

  font-size:.6rem;
  font-weight:600;

  letter-spacing:1.8px;

  text-transform:uppercase;

  transition:
    gap .25s ease,
    color .25s ease;
}

.wedding-inline-link:hover{
  gap:16px;

  color:#967344;
}


/* =========================================================
   CINEMATIC IMAGE CHAPTER
   TRUE FULL WIDTH
   ========================================================= */

.wedding-image-break{
  position:relative;

  width:100vw;

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

  padding:0;

  background:#111;
}

.wedding-image-break-inner{
  position:relative;

  width:100vw;

  height:clamp(620px,72vh,900px);

  min-height:0;

  margin:0;

  overflow:hidden;

  background:#111;
}

.wedding-image-break img{
  position:absolute;

  inset:0;

  width:100%;
  height:100%;

  display:block;

  object-fit:cover;
  object-position:center;
}

.wedding-image-break-overlay{
  position:absolute;

  inset:0;

  z-index:1;

  background:
    linear-gradient(
      90deg,
      rgba(0,0,0,.58) 0%,
      rgba(0,0,0,.28) 38%,
      rgba(0,0,0,.08) 70%,
      rgba(0,0,0,.02) 100%
    ),
    linear-gradient(
      0deg,
      rgba(0,0,0,.38) 0%,
      transparent 58%
    );
}

.wedding-image-break-frame{
  position:absolute;

  z-index:2;

  inset:28px;

  border:
    1px solid
    rgba(255,255,255,.2);

  pointer-events:none;
}

.wedding-image-break-copy{
  position:absolute;

  z-index:3;

  left:max(7vw,70px);
  bottom:max(8vh,70px);

  width:min(760px,72vw);

  color:#fff;
}

.wedding-image-break-copy span{
  display:block;

  margin:0 0 18px;

  color:#dfc18c;

  font-size:.6rem;
  font-weight:600;

  letter-spacing:2.8px;

  text-transform:uppercase;
}

.wedding-image-break-copy p{
  margin:0;

  font-family:'Baskervville',serif;

  font-size:
    clamp(2.7rem,4.7vw,5rem);

  line-height:1.04;

  font-style:italic;

  letter-spacing:-.035em;

  color:#fff;
}

.wedding-image-break-number{
  display:none;
}


/* =========================================================
   FILM
   ========================================================= */

.wedding-film{
  position:relative;

  width:100vw;

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

  padding:130px 5vw 140px;

  background:#efece6;
}

.wedding-film-inner{
  width:min(1280px,92vw);

  margin:0 auto;
}

.wedding-film-heading{
  max-width:850px;

  margin:0 auto 50px;

  text-align:center;
}

.wedding-film-heading .eyebrow{
  margin-bottom:18px;
}

.wedding-film-heading h2{
  margin:0;

  font-family:'Baskervville',serif;

  font-size:
    clamp(3.2rem,5vw,5rem);

  line-height:.95;

  font-weight:400;

  letter-spacing:-.045em;
}

.wedding-film-heading p{
  max-width:680px;

  margin:24px auto 0;

  color:#625e59;

  font-size:.94rem;

  line-height:1.82;
}

.wedding-film-stage{
  position:relative;
}

.wedding-film .films-player-wrap{
  width:100%;

  max-width:none;

  margin:0;

  box-shadow:
    0 32px 85px
    rgba(43,38,34,.14);
}

.wedding-film .films-player{
  width:100%;
}


/* =========================================================
   EDIT
   ========================================================= */

.wedding-edit{
  position:relative;

  width:100vw;

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

  padding:130px 5vw 140px;

  overflow:hidden;

  background:#fff;
}

.wedding-edit-word{
  position:absolute;

  left:50%;
  top:45%;

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

  font-family:'Baskervville',serif;

  font-size:
    clamp(11rem,25vw,24rem);

  line-height:1;

  font-style:italic;

  color:rgba(36,35,33,.018);

  pointer-events:none;
}

.wedding-edit-inner{
  position:relative;

  z-index:1;

  width:min(1120px,90vw);

  margin:0 auto;
}

.wedding-edit-heading{
  max-width:800px;

  margin:0 auto 75px;

  text-align:center;
}

.wedding-edit-heading .eyebrow{
  margin-bottom:18px;
}

.wedding-edit-heading h2{
  margin:0;

  font-family:'Baskervville',serif;

  font-size:
    clamp(3.2rem,4.8vw,4.7rem);

  line-height:.98;

  font-weight:400;

  letter-spacing:-.04em;
}

.wedding-edit-heading p{
  max-width:650px;

  margin:25px auto 0;

  color:#625e59;

  font-size:.95rem;

  line-height:1.84;
}


/* EDIT QUOTES */

.wedding-quotes{
  display:grid;

  grid-template-columns:
    minmax(0,1.12fr)
    minmax(0,.88fr);

  gap:28px;

  align-items:start;
}

.wedding-quote{
  position:relative;

  overflow:hidden;
}

.wedding-quote-primary{
  min-height:370px;

  padding:68px 58px;

  background:var(--wedding-ink);

  color:#fff;
}

.wedding-quote-secondary{
  margin-top:82px;

  padding:48px 44px;

  background:var(--wedding-cream);

  border:
    1px solid
    rgba(36,35,33,.10);
}

.wedding-quote-number{
  position:absolute;

  right:24px;
  top:12px;

  font-family:'Baskervville',serif;

  font-size:5.5rem;

  line-height:1;

  color:rgba(184,149,98,.14);

  pointer-events:none;
}

.wedding-quote small{
  display:block;

  margin-bottom:24px;

  color:#a88756;

  font-size:.58rem;
  font-weight:600;

  letter-spacing:2.3px;

  text-transform:uppercase;
}

.wedding-quote-primary small{
  color:#d4b27c;
}

.wedding-quote blockquote{
  margin:0;

  font-family:'Baskervville',serif;

  font-size:
    clamp(1.6rem,2.5vw,2.35rem);

  line-height:1.42;

  font-style:italic;
}

.wedding-quote-primary blockquote{
  color:#fff;
}

.wedding-quote-secondary blockquote{
  color:#37332f;
}

.wedding-edit-reflection{
  max-width:850px;

  margin:75px auto 0;

  text-align:center;
}

.wedding-edit-reflection-rule{
  display:block;

  width:42px;
  height:1px;

  margin:0 auto 24px;

  background:var(--wedding-gold);
}

.wedding-edit-reflection p{
  margin:0;

  font-family:'Baskervville',serif;

  font-size:
    clamp(1.55rem,2.3vw,2rem);

  line-height:1.5;

  font-style:italic;

  color:#514c47;
}


/* =========================================================
   REVIEW
   ========================================================= */

.wedding-review{
  position:relative;

  width:100vw;

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

  padding:115px 5vw;

  overflow:hidden;

  background:#f3f0ea;

  text-align:center;
}

.wedding-review::before{
  content:"“";

  position:absolute;

  left:4vw;
  top:-95px;

  font-family:'Baskervville',serif;

  font-size:24rem;

  line-height:1;

  color:rgba(36,35,33,.025);

  pointer-events:none;
}

.wedding-review-inner{
  position:relative;

  z-index:1;

  max-width:920px;

  margin:0 auto;
}

.wedding-review .eyebrow{
  margin-bottom:20px;
}

.wedding-review-stars{
  margin-bottom:26px;

  color:#b89562;

  font-size:.85rem;

  letter-spacing:5px;
}

.wedding-review blockquote{
  margin:0 auto 27px;

  font-family:'Baskervville',serif;

  font-size:
    clamp(1.6rem,2.7vw,2.25rem);

  line-height:1.48;

  font-style:italic;

  color:#35322f;
}

.wedding-review-name{
  margin:0;

  color:#837d76;

  font-size:.61rem;
  font-weight:600;

  letter-spacing:2.2px;

  text-transform:uppercase;
}


/* =========================================================
   CTA
   ========================================================= */

.wedding-cta{
  position:relative;

  width:100vw;

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

  padding:120px 5vw;

  overflow:hidden;

  background:var(--wedding-ink);

  color:#fff;

  text-align:center;
}

.wedding-cta::before{
  content:"YOURS";

  position:absolute;

  left:50%;
  top:50%;

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

  font-family:'Baskervville',serif;

  font-size:
    clamp(10rem,22vw,21rem);

  line-height:1;

  font-style:italic;

  color:rgba(255,255,255,.021);

  pointer-events:none;
}

.wedding-cta-inner{
  position:relative;

  z-index:1;

  max-width:820px;

  margin:0 auto;
}

.wedding-cta .eyebrow{
  margin-bottom:20px;

  color:#c9a876;
}

.wedding-cta h2{
  margin:0;

  font-family:'Baskervville',serif;

  font-size:
    clamp(3.1rem,5vw,4.9rem);

  line-height:.98;

  font-weight:400;

  letter-spacing:-.04em;

  color:#fff;
}

.wedding-cta h2 em{
  display:block;

  margin-top:14px;

  font-size:.61em;

  line-height:1.15;

  font-style:italic;

  font-weight:400;

  color:rgba(255,255,255,.72);
}

.wedding-cta p{
  max-width:640px;

  margin:28px auto 35px;

  color:rgba(255,255,255,.68);

  font-size:.94rem;

  line-height:1.82;
}

.wedding-cta-actions{
  display:flex;

  justify-content:center;

  flex-wrap:wrap;

  gap:12px;
}


/* =========================================================
   LARGE DESKTOP
   ========================================================= */

@media(min-width:1500px){

  .wedding-hero-inner{
    width:min(1400px,88vw);
  }

  .wedding-story-inner{
    width:min(1240px,88vw);
  }

  .wedding-venue-inner{
    width:min(1320px,90vw);
  }

  .wedding-film-inner{
    width:min(1320px,90vw);
  }

}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:950px){

  .wedding-hero{
    padding-top:90px;
  }

  .wedding-hero-inner{
    width:min(720px,88vw);

    grid-template-columns:1fr;

    gap:55px;
  }

  .wedding-hero-visual{
    height:600px;

    min-height:0;
  }

  .wedding-hero-visual-note{
    right:0;
  }


  /* STORY */

  .wedding-story{
    padding:90px 0 95px;
  }

  .wedding-story-inner{
    width:min(720px,88vw);

    grid-template-columns:1fr;

    gap:40px;
  }

  .wedding-story-heading{
    position:static;
  }

  .wedding-story-heading h2{
    max-width:620px;
  }


  /* VENUE */

  .wedding-venue{
    padding:95px 0 105px;
  }

  .wedding-venue-inner{
    width:min(720px,88vw);

    display:block;
  }

  .wedding-venue-image{
    width:90%;

    min-height:500px;
  }

  .wedding-venue-image img{
    min-height:500px;
  }

  .wedding-venue-copy{
    width:72%;

    margin:-75px 0 0 auto;

    padding:52px 46px;
  }


  /* IMAGE BREAK */

  .wedding-image-break-inner{
    width:100vw;

    height:72vh;

    min-height:620px;
  }


  /* FILM */

  .wedding-film{
    padding:105px 0 115px;
  }

  .wedding-film-inner{
    width:min(900px,92vw);
  }


  /* EDIT */

  .wedding-edit{
    padding:105px 0 115px;
  }

  .wedding-edit-inner{
    width:min(720px,88vw);
  }

  .wedding-quotes{
    grid-template-columns:1fr;
  }

  .wedding-quote-secondary{
    margin-top:0;

    margin-left:11%;
  }

}


/* =========================================================
   PHONE
   ========================================================= */

@media(max-width:600px){

  /* HERO */

  .wedding-hero{
    min-height:auto;

    padding:82px 0 65px;
  }

  .wedding-hero-inner{
    width:88vw;

    min-height:0;

    gap:45px;
  }

  .wedding-hero h1{
    font-size:4rem;
  }

  .wedding-hero-tone{
    font-size:1.45rem;
  }

  .wedding-hero-actions{
    display:grid;

    grid-template-columns:1fr;
  }

  .wedding-hero .home-hero-button{
    width:100%;

    min-width:0;
  }

  .wedding-hero-visual{
    height:440px;

    min-height:0;
  }

  .wedding-hero-image-main{
    width:82%;
    height:78%;
  }

  .wedding-hero-image-secondary{
    width:52%;
    height:45%;
  }

  .wedding-hero-visual-note{
    display:none;
  }

  .wedding-hero-scroll{
    display:none;
  }


  /* STORY */

  .wedding-story{
    padding:72px 0 78px;
  }

  .wedding-story-inner{
    gap:30px;
  }

  .wedding-story-heading h2{
    font-size:2.8rem;
  }

  .wedding-story-lead{
    font-size:1.35rem;
  }


  /* VENUE */

  .wedding-venue{
    padding:72px 0 82px;
  }

  .wedding-venue-inner{
    width:90vw;
  }

  .wedding-venue-image{
    width:100%;

    min-height:360px;
  }

  .wedding-venue-image img{
    min-height:360px;
  }

  .wedding-venue-copy{
    width:92%;

    margin:-34px auto 0;

    padding:40px 28px;
  }

  .wedding-venue-copy h2{
    font-size:2.55rem;
  }


  /* CINEMATIC IMAGE */

  .wedding-image-break{
    padding:0;
  }

  .wedding-image-break-inner{
    width:100vw;

    height:78vh;

    min-height:570px;
  }

  .wedding-image-break-frame{
    inset:12px;
  }

  .wedding-image-break-copy{
    left:28px;
    right:28px;

    bottom:42px;

    width:auto;
  }

  .wedding-image-break-copy p{
    font-size:2.35rem;
  }


  /* FILM */

  .wedding-film{
    padding:78px 0 88px;
  }

  .wedding-film-inner{
    width:92vw;
  }

  .wedding-film-heading{
    margin-bottom:34px;
  }

  .wedding-film-heading h2{
    font-size:2.9rem;
  }


  /* EDIT */

  .wedding-edit{
    padding:80px 0 90px;
  }

  .wedding-edit-heading{
    margin-bottom:52px;
  }

  .wedding-edit-heading h2{
    font-size:2.9rem;
  }

  .wedding-quote-primary{
    min-height:0;

    padding:45px 30px;
  }

  .wedding-quote-secondary{
    margin-left:0;

    padding:38px 30px;
  }

  .wedding-quote-number{
    font-size:4.4rem;
  }

  .wedding-quote blockquote{
    font-size:1.55rem;
  }

  .wedding-edit-reflection{
    margin-top:55px;
  }


  /* REVIEW */

  .wedding-review{
    padding:82px 6vw;
  }

  .wedding-review blockquote{
    font-size:1.5rem;
  }


  /* CTA */

  .wedding-cta{
    padding:88px 6vw;
  }

  .wedding-cta-actions{
    display:grid;

    grid-template-columns:1fr;

    max-width:340px;

    margin-left:auto;
    margin-right:auto;
  }

  .wedding-cta .home-hero-button{
    width:100%;
  }

}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

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

  .wedding-page *{
    scroll-behavior:auto !important;
  }

  .wedding-hero-image-main img,
  .wedding-hero-image-secondary img,
  .wedding-inline-link{
    transition:none !important;
  }

}
