/* Wedding packages page (ramos-studio.com/packages/) — soft, light and clean.
   Everything is scoped to #wedding-packages so the rest of the site is untouched. */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600&display=swap');
@font-face { font-family: 'PK Calibre'; src: url('/blog/wp-content/themes/modularity/fonts/calibre-light.ttf') format('truetype'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'PK Calibre'; src: url('/blog/wp-content/themes/modularity/fonts/calibre-regular.ttf') format('truetype'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'PK Futura'; src: url('/blog/wp-content/themes/modularity/fonts/Futura_LT_Light.ttf') format('truetype'); font-weight: 300; font-display: swap; }

#wedding-packages {
  --pk-white: #ffffff;
  --pk-blush: #fbf7f2;
  --pk-cream: #f7f1e8;
  --pk-line: #eee5d8;
  --pk-line-2: #e3d6c2;
  --pk-text: #2f2820;
  --pk-body: #5a5046;
  --pk-muted: #8f8474;
  --pk-gold: #8f6f2c;
  --pk-gold-2: #b8955a;
  --pk-gold-soft: #d9c39a;
  --pk-gold-ink: linear-gradient(100deg, #7a5a1f 0%, #b08d45 30%, #8a6a2a 50%, #bf9b55 72%, #7a5a1f 100%);
  --pk-gold-pale: linear-gradient(100deg, #d4c19c 0%, #efe5cf 30%, #dccaa8 50%, #f6efe2 68%, #d0bc94 100%);
  --pk-shadow: 0 1px 2px rgba(80,60,30,.04), 0 18px 40px -26px rgba(80,60,30,.35);
  --pk-radius: 14px;
  --pk-serif: 'Cinzel', 'Trajan Pro', Georgia, serif;
  --pk-futura: 'PK Futura', 'Futura LT Light', 'Futura_LT_Light', Futura, 'Century Gothic', sans-serif;
  --pk-sans: 'PK Calibre', 'Calibre', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  font-family: var(--pk-sans);
  font-weight: 300;
  font-size: 18px;
  line-height: 1.65;
  color: var(--pk-body);
  text-align: left;
  margin: 8px 0 0;
}
#wedding-packages *, #wedding-packages *::before, #wedding-packages *::after { box-sizing: border-box; }

/* undo the old site's global heading / paragraph / list rules */
#wedding-packages h2, #wedding-packages h3 { position: static; top: auto; left: auto; width: auto; overflow: visible; margin: 0; padding: 0; font-weight: 400; text-transform: none; letter-spacing: normal; background: none; -webkit-text-fill-color: currentColor; }
#wedding-packages h3::before, #wedding-packages h3::after { content: none; display: none; }
#wedding-packages p { padding: 0; margin: 0; }
#wedding-packages ul, #wedding-packages ol { margin: 0; padding: 0; list-style: none; }
#wedding-packages blockquote, #wedding-packages cite { margin: 0; padding: 0; border: 0; font-style: normal; }
#wedding-packages a { color: var(--pk-gold); text-decoration: none; transition: color .2s, background-color .2s, border-color .2s, filter .2s, box-shadow .2s; }
#wedding-packages a:hover { color: #634a17; }
#wedding-packages strong { font-weight: 400; color: var(--pk-text); }
#wedding-packages svg { fill: none; stroke: var(--pk-gold-2); stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; }

/* English / Español and the film viewer are switched by these hidden inputs */
#wedding-packages .pk-lang-input { position: absolute; opacity: 0; pointer-events: none; width: 1px; height: 1px; }
#wedding-packages .pk-es { display: none; }
#pk-lang-es:checked ~ * .pk-es { display: inline; }
#pk-lang-es:checked ~ * .pk-en { display: none; }
#wedding-packages .pk-lang { display: inline-flex; padding: 3px; border: 1px solid var(--pk-line-2); border-radius: 999px; background: rgba(255,255,255,.8); }
#wedding-packages .pk-lang-btn { font: 12px/1 var(--pk-futura); letter-spacing: .16em; text-transform: uppercase; color: var(--pk-muted); padding: 8px 15px; border-radius: 999px; cursor: pointer; user-select: none; transition: background .25s, color .25s; }
#pk-lang-en:checked ~ * .pk-lb-en, #pk-lang-es:checked ~ * .pk-lb-es { background: var(--pk-gold-pale); color: #54432a; }

/* layout */
#wedding-packages .pk-wrap { max-width: 1140px; margin: 0 auto; padding: 0 32px; }
#wedding-packages .pk-band { padding: 96px 0; background: var(--pk-white); }
#wedding-packages .pk-band.pk-cream { background: var(--pk-blush); }
#wedding-packages .pk-eyebrow { text-align: center; font: 12px/1.4 var(--pk-futura); letter-spacing: .32em; text-transform: uppercase; color: var(--pk-gold-2); margin-bottom: 14px; }
#wedding-packages .pk-h2 { text-align: center; font: 500 40px/1.2 var(--pk-serif); letter-spacing: .02em; color: var(--pk-text); margin: 0 auto 56px; max-width: 780px; }
#wedding-packages .pk-h2::after { content: ''; display: block; width: 44px; height: 1px; margin: 26px auto 0; background: var(--pk-gold-soft); }

/* buttons */
#wedding-packages .pk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 30px; border-radius: 999px; cursor: pointer;
  font: 13px/1 var(--pk-futura); letter-spacing: .18em; text-transform: uppercase; color: #54432a;
  background: var(--pk-gold-pale); box-shadow: 0 6px 18px -10px rgba(120,90,30,.55), inset 0 1px 0 rgba(255,255,255,.7); }
#wedding-packages .pk-btn:hover { color: #3f3119; filter: brightness(1.04); box-shadow: 0 10px 24px -12px rgba(120,90,30,.6), inset 0 1px 0 rgba(255,255,255,.7); }
#wedding-packages .pk-btn-ghost { background: rgba(255,255,255,.85); box-shadow: none; border: 1px solid var(--pk-gold-soft); color: var(--pk-gold); }
#wedding-packages .pk-btn-ghost:hover { background: #fff; border-color: var(--pk-gold-2); color: var(--pk-gold); }
#wedding-packages .pk-btn-lg { min-height: 58px; padding: 0 42px; font-size: 14px; }

/* opening */
#wedding-packages .pk-hero { padding: 36px 0 84px; text-align: center; background: radial-gradient(120% 70% at 50% 0%, #fff 0%, var(--pk-blush) 70%, var(--pk-cream) 100%); }
#wedding-packages .pk-hero .pk-lang { margin-bottom: 34px; }
#wedding-packages .pk-kicker { font: 12px/1.4 var(--pk-futura); letter-spacing: .32em; text-transform: uppercase; color: var(--pk-muted); margin-bottom: 18px; }
#wedding-packages .pk-display { font: 500 52px/1.15 var(--pk-serif); letter-spacing: .02em; color: var(--pk-text); max-width: 900px; margin: 0 auto 18px; }
#wedding-packages .pk-tagline { font: 300 23px/1.45 var(--pk-sans); color: var(--pk-gold); margin-bottom: 16px; }
#wedding-packages .pk-lead { font-size: 18px; line-height: 1.75; max-width: 740px; margin: 0 auto; }
#wedding-packages .pk-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 34px; }
#wedding-packages .pk-hero-media { position: relative; max-width: 1000px; margin: 56px auto 0; aspect-ratio: 16 / 9; border-radius: 18px; overflow: hidden; background: #efe6d8;
  box-shadow: 0 2px 4px rgba(80,60,30,.05), 0 40px 70px -40px rgba(80,60,30,.55); }
#wedding-packages .pk-hero-media::after { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(255,255,255,.55); border-radius: 10px; pointer-events: none; }
#wedding-packages .pk-hero-media iframe { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; border: 0; pointer-events: none; aspect-ratio: auto !important; transform: scale(1.02); }
#wedding-packages .pk-hero-play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; }
#wedding-packages .pk-play-dot { width: 82px; height: 82px; border-radius: 50%; background: rgba(255,255,255,.88); box-shadow: 0 10px 30px -10px rgba(0,0,0,.4); position: relative; transition: transform .3s; }
#wedding-packages .pk-play-dot::after { content: ''; position: absolute; left: 34px; top: 27px; border-left: 20px solid var(--pk-gold-2); border-top: 14px solid transparent; border-bottom: 14px solid transparent; }
#wedding-packages .pk-hero-play:hover .pk-play-dot { transform: scale(1.06); }
#wedding-packages .pk-stats { display: grid; grid-template-columns: repeat(4, 1fr); max-width: 940px; margin: 52px auto 0; }
#wedding-packages .pk-stat { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 6px 10px; }
#wedding-packages .pk-stat + .pk-stat { border-left: 1px solid var(--pk-line-2); }
#wedding-packages .pk-num { font: 500 34px/1 var(--pk-serif); background: var(--pk-gold-ink); -webkit-background-clip: text; background-clip: text; color: transparent; }
#wedding-packages .pk-num-icon svg { width: 34px; height: 34px; }
#wedding-packages .pk-label { font: 12px/1.45 var(--pk-futura); letter-spacing: .14em; text-transform: uppercase; color: var(--pk-muted); text-align: center; }

/* film viewer */
#wedding-packages .pk-lightbox { display: none; position: fixed; inset: 0; z-index: 9999; align-items: center; justify-content: center; padding: 64px 24px 24px; }
#pk-watch:checked ~ .pk-lightbox { display: flex; }
#wedding-packages .pk-lightbox-shade { position: absolute; inset: 0; background: rgba(250,246,240,.94); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); cursor: pointer; }
#wedding-packages .pk-player { position: relative; width: min(1100px, 100%); aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #000; box-shadow: 0 40px 80px -30px rgba(60,45,20,.6); }
#wedding-packages .pk-player iframe { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; border: 0; aspect-ratio: auto !important; }
#wedding-packages .pk-close { position: absolute; top: 18px; right: 22px; z-index: 2; cursor: pointer; padding: 10px 18px; border-radius: 999px; background: #fff; border: 1px solid var(--pk-line-2);
  font: 12px/1 var(--pk-futura); letter-spacing: .16em; text-transform: uppercase; color: var(--pk-text); }

/* why couples book */
#wedding-packages .pk-why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
#wedding-packages .pk-why-item { background: var(--pk-blush); border-radius: var(--pk-radius); padding: 34px 30px; }
#wedding-packages .pk-why-item svg { width: 34px; height: 34px; display: block; margin-bottom: 18px; }
#wedding-packages .pk-why-item h3 { font: 500 19px/1.3 var(--pk-serif); color: var(--pk-text); margin-bottom: 10px; letter-spacing: .02em; }
#wedding-packages .pk-why-item p { font-size: 17px; }

/* after "I do" */
#wedding-packages .pk-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; position: relative; counter-reset: pk; }
#wedding-packages .pk-timeline::before { content: ''; position: absolute; left: 12%; right: 12%; top: 9px; height: 1px; background: var(--pk-gold-soft); }
#wedding-packages .pk-timeline li { position: relative; text-align: center; padding-top: 40px; }
#wedding-packages .pk-timeline li::before { content: ''; position: absolute; top: 2px; left: 50%; width: 15px; height: 15px; margin-left: -7.5px; border-radius: 50%; background: #fff; border: 1px solid var(--pk-gold-2); box-shadow: 0 0 0 5px var(--pk-blush); }
#wedding-packages .pk-when { display: block; font: 12px/1.4 var(--pk-futura); letter-spacing: .2em; text-transform: uppercase; color: var(--pk-gold-2); margin-bottom: 10px; }
#wedding-packages .pk-timeline h3 { font: 500 20px/1.3 var(--pk-serif); color: var(--pk-text); margin-bottom: 10px; }
#wedding-packages .pk-timeline p { font-size: 16.5px; }

/* collections */
#wedding-packages .pk-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; padding: 48px 52px; border-radius: 20px; margin-bottom: 26px;
  background: linear-gradient(135deg, #fffdf9 0%, #f6eddd 100%); border: 1px solid var(--pk-gold-soft); box-shadow: var(--pk-shadow); }
#wedding-packages .pk-ribbon, #wedding-packages .pk-tag { display: inline-block; padding: 6px 14px; border-radius: 999px; font: 11px/1.4 var(--pk-futura); letter-spacing: .16em; text-transform: uppercase; color: var(--pk-gold); background: #fff; border: 1px solid var(--pk-line-2); margin-bottom: 16px; }
#wedding-packages .pk-ribbon, #wedding-packages .pk-tag-gold { background: var(--pk-gold-pale); border-color: transparent; color: #54432a; }
#wedding-packages .pk-card-title { font: 500 28px/1.2 var(--pk-serif); color: var(--pk-text); margin-bottom: 10px; letter-spacing: .02em; }
#wedding-packages .pk-featured .pk-card-title { font-size: 36px; }
#wedding-packages .pk-card-sub { font-size: 19px; color: var(--pk-body); margin-bottom: 26px; }
#wedding-packages .pk-checks li, #wedding-packages .pk-list li { position: relative; padding: 10px 0 10px 32px; border-bottom: 1px solid var(--pk-line); font-size: 17px; line-height: 1.5; }
#wedding-packages .pk-checks li:last-child { border-bottom: 0; }
#wedding-packages .pk-checks li::before, #wedding-packages .pk-list li::before { content: ''; position: absolute; left: 0; top: 13px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 1px solid var(--pk-gold-soft);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.3l2.6 2.5 5.4-5.6' fill='none' stroke='%23b8955a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-size: 16px; background-position: center; background-repeat: no-repeat; }
#wedding-packages .pk-featured .pk-checks { background: rgba(255,255,255,.7); border-radius: 12px; padding: 14px 24px; }
#wedding-packages .pk-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
#wedding-packages .pk-card { background: #fff; border: 1px solid var(--pk-line); border-radius: 18px; padding: 36px 38px; box-shadow: var(--pk-shadow); display: flex; flex-direction: column; transition: transform .3s, box-shadow .3s; }
#wedding-packages .pk-card:hover { transform: translateY(-3px); box-shadow: 0 1px 2px rgba(80,60,30,.04), 0 28px 50px -30px rgba(80,60,30,.45); }
#wedding-packages .pk-card .pk-checks { margin-top: 8px; }
#wedding-packages .pk-card > .pk-tag { align-self: flex-start; }
#wedding-packages .pk-featured-head, #wedding-packages .pk-card, #wedding-packages .pk-card-title, #wedding-packages .pk-addon-title, #wedding-packages .pk-product-title, #wedding-packages .pk-why-item h3, #wedding-packages .pk-album-text { text-align: left; }
#wedding-packages .pk-muted { color: var(--pk-muted); font-size: 16px; margin-top: 10px; }
#wedding-packages .pk-links { margin-top: auto; padding-top: 20px; font: 12px/1.6 var(--pk-futura); letter-spacing: .14em; text-transform: uppercase; color: var(--pk-line-2); }
#wedding-packages .pk-links a, #wedding-packages .pk-link { font: 12px/1.6 var(--pk-futura); letter-spacing: .16em; text-transform: uppercase; color: var(--pk-gold); border-bottom: 1px solid var(--pk-gold-soft); padding-bottom: 2px; }
#wedding-packages .pk-extras { margin-top: 26px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; padding: 22px 30px; border-radius: 16px; background: var(--pk-blush); }
#wedding-packages .pk-extras .pk-tag { margin: 0; }
#wedding-packages .pk-extras p { font-size: 16.5px; }
#wedding-packages .pk-note { text-align: center; margin-top: 18px; font-size: 15.5px; color: var(--pk-muted); }
#wedding-packages .pk-includes { margin-top: 48px; padding: 44px 50px; border-radius: 20px; background: #fff; border: 1px solid var(--pk-line); }
#wedding-packages .pk-h3 { text-align: center; font: 500 24px/1.3 var(--pk-serif); color: var(--pk-text); margin-bottom: 24px; }
#wedding-packages .pk-list { columns: 2; column-gap: 56px; }
#wedding-packages .pk-list li { break-inside: avoid; }

/* add-ons */
#wedding-packages .pk-addons { display: grid; grid-template-columns: repeat(2, 1fr); gap: 26px; }
#wedding-packages .pk-addon { background: #fff; border: 1px solid var(--pk-line); border-radius: 18px; overflow: hidden; box-shadow: var(--pk-shadow); padding: 0 0 32px; display: flex; flex-direction: column; }
#wedding-packages .pk-clip { position: relative; aspect-ratio: 16 / 9; background: #efe6d8; margin-bottom: 26px; overflow: hidden; }
#wedding-packages .pk-clip iframe { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; border: 0; pointer-events: none; aspect-ratio: auto !important; transform: scale(1.02); }
#wedding-packages .pk-addon > .pk-tag, #wedding-packages .pk-addon > h3, #wedding-packages .pk-addon > p, #wedding-packages .pk-addon > .pk-link { margin-left: 34px; margin-right: 34px; }
#wedding-packages .pk-addon > .pk-tag { align-self: flex-start; }
#wedding-packages .pk-addon-title { font: 500 24px/1.25 var(--pk-serif); color: var(--pk-text); margin-bottom: 10px; }
#wedding-packages .pk-addon > p { font-size: 17px; margin-bottom: 20px; }
#wedding-packages .pk-addon > .pk-link { margin-top: auto; align-self: flex-start; }

/* products */
#wedding-packages .pk-album { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0; align-items: stretch; border-radius: 20px; overflow: hidden; background: var(--pk-blush); margin-bottom: 30px; }
#wedding-packages .pk-photo { display: block; position: relative; overflow: hidden; background: #efe6d8; }
#wedding-packages .pk-photo img { display: block; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; transition: transform .7s ease; }
#wedding-packages .pk-album .pk-photo { min-height: 360px; }
#wedding-packages .pk-album .pk-photo img { position: absolute; inset: 0; }
#wedding-packages .pk-album:hover .pk-photo img { transform: scale(1.03); }
#wedding-packages .pk-album-text { padding: 48px 50px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
#wedding-packages .pk-album-text > p { font-size: 17.5px; }
#wedding-packages .pk-mini-quote { margin-top: 22px; padding-left: 18px; border-left: 2px solid var(--pk-gold-soft); font-style: italic; color: var(--pk-text); }
#wedding-packages .pk-mini-quote cite { display: block; margin-top: 6px; font: 12px/1.4 var(--pk-futura); font-style: normal; letter-spacing: .16em; text-transform: uppercase; color: var(--pk-muted); }
#wedding-packages .pk-products { display: flex; flex-wrap: wrap; justify-content: center; gap: 24px; }
#wedding-packages .pk-product { flex: 0 1 calc((100% - 48px) / 3); }
#wedding-packages .pk-product { background: #fff; border: 1px solid var(--pk-line); border-radius: 16px; overflow: hidden; padding-bottom: 22px; display: flex; flex-direction: column; }
#wedding-packages .pk-product .pk-photo { aspect-ratio: 950 / 523; margin-bottom: 18px; }
#wedding-packages .pk-product .pk-photo img { position: absolute; inset: 0; }
#wedding-packages .pk-product:hover .pk-photo img { transform: scale(1.04); }
#wedding-packages .pk-product > .pk-tag, #wedding-packages .pk-product > h3, #wedding-packages .pk-product > p { margin-left: 20px; margin-right: 20px; }
#wedding-packages .pk-product > .pk-tag { align-self: flex-start; margin-bottom: 10px; padding: 4px 10px; font-size: 10px; }
#wedding-packages .pk-product-title { font: 500 20px/1.3 var(--pk-serif); color: var(--pk-text); margin-bottom: 8px; }
#wedding-packages .pk-product > p { font-size: 16.5px; line-height: 1.55; }

/* reviews */
#wedding-packages .pk-bigquote { text-align: center; max-width: 880px; margin: 0 auto 50px; }
#wedding-packages .pk-stars { color: var(--pk-gold-2); letter-spacing: .3em; font-size: 14px; margin-bottom: 14px; }
#wedding-packages .pk-bigquote p { font: 400 26px/1.55 var(--pk-sans); color: var(--pk-text); }
#wedding-packages .pk-bigquote cite { display: block; margin-top: 18px; font: 12px/1.4 var(--pk-futura); letter-spacing: .2em; text-transform: uppercase; color: var(--pk-muted); }
#wedding-packages .pk-reviews { columns: 3; column-gap: 22px; }
#wedding-packages .pk-rev { break-inside: avoid; background: #fff; border-radius: 16px; padding: 28px 28px 24px; margin-bottom: 22px; box-shadow: var(--pk-shadow); display: inline-block; width: 100%; }
#wedding-packages .pk-rev p { font-size: 17px; line-height: 1.6; color: var(--pk-body); }
#wedding-packages .pk-rev cite { display: block; margin-top: 14px; font: 12px/1.4 var(--pk-futura); letter-spacing: .16em; text-transform: uppercase; color: var(--pk-gold); }
#wedding-packages .pk-note a { border-bottom: 1px solid var(--pk-gold-soft); }

/* holding your date */
#wedding-packages .pk-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
#wedding-packages .pk-step { text-align: center; padding: 38px 30px; border-radius: var(--pk-radius); background: var(--pk-blush); }
#wedding-packages .pk-step-num { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--pk-gold-soft); background: #fff; font: 500 20px/1 var(--pk-serif); color: var(--pk-gold); margin-bottom: 18px; }
#wedding-packages .pk-step h3 { font: 500 20px/1.3 var(--pk-serif); color: var(--pk-text); margin-bottom: 8px; }
#wedding-packages .pk-step p { font-size: 17px; }

/* hold my date */
#wedding-packages .pk-cta { text-align: center; padding: 104px 0 112px; background: radial-gradient(90% 80% at 50% 100%, var(--pk-cream) 0%, var(--pk-blush) 60%, #fff 100%); }
#wedding-packages .pk-cta-title { font: 500 48px/1.15 var(--pk-serif); letter-spacing: .02em; color: var(--pk-text); margin: 6px 0 16px; }
#wedding-packages .pk-cta-sub { font-size: 19px; max-width: 600px; margin: 0 auto; }
#wedding-packages .pk-sign { font: 300 22px/1.4 var(--pk-sans); color: var(--pk-gold); margin: 14px 0 32px; }
#wedding-packages .pk-contact { margin-top: 26px; font: 15px/1.6 var(--pk-futura); letter-spacing: .1em; color: var(--pk-muted); }
#wedding-packages .pk-contact a { color: var(--pk-text); }

#wedding-packages a:focus-visible, #wedding-packages label:focus-visible { outline: 2px solid var(--pk-gold-2); outline-offset: 3px; }

/* tablets */
@media (max-width: 1000px) {
  #wedding-packages .pk-display { font-size: 42px; }
  #wedding-packages .pk-why { grid-template-columns: repeat(2, 1fr); }
  #wedding-packages .pk-product { flex-basis: calc((100% - 24px) / 2); }
  #wedding-packages .pk-reviews { columns: 2; }
  #wedding-packages .pk-featured { grid-template-columns: 1fr; padding: 40px; }
}
/* phones */
@media (max-width: 767px) {
  #wedding-packages { font-size: 17px; margin-left: -14px; margin-right: -14px; }
  #wedding-packages .pk-wrap { padding: 0 18px; }
  #wedding-packages .pk-band { padding: 64px 0; }
  #wedding-packages .pk-hero { padding: 24px 0 56px; }
  #main #wedding-packages .pk-display { font-size: 32px !important; line-height: 1.2 !important; }
  #main #wedding-packages .pk-tagline { font-size: 20px !important; }
  #main #wedding-packages .pk-lead { font-size: 17px !important; }
  #main #wedding-packages .pk-kicker, #main #wedding-packages .pk-eyebrow { font-size: 11px !important; letter-spacing: .22em; line-height: 1.5 !important; }
  #wedding-packages .pk-btns { flex-direction: column; align-items: stretch; }
  #wedding-packages .pk-hero-media { margin-top: 36px; border-radius: 12px; }
  #wedding-packages .pk-play-dot { width: 64px; height: 64px; }
  #wedding-packages .pk-play-dot::after { left: 26px; top: 20px; border-left-width: 17px; border-top-width: 12px; border-bottom-width: 12px; }
  #wedding-packages .pk-stats { grid-template-columns: repeat(2, 1fr); row-gap: 24px; }
  #wedding-packages .pk-stat:nth-child(3) { border-left: 0; }
  #main #wedding-packages .pk-h2 { font-size: 28px !important; line-height: 1.25 !important; margin-bottom: 38px; }
  #wedding-packages .pk-why, #wedding-packages .pk-cards, #wedding-packages .pk-addons, #wedding-packages .pk-steps { grid-template-columns: 1fr; gap: 18px; }
  #wedding-packages .pk-why-item { padding: 28px 24px; }
  #wedding-packages .pk-timeline { grid-template-columns: 1fr; gap: 0; }
  #wedding-packages .pk-timeline::before { left: 7px; right: auto; top: 8px; bottom: 30px; width: 1px; height: auto; }
  #wedding-packages .pk-timeline li { text-align: left; padding: 0 0 30px 40px; }
  #wedding-packages .pk-timeline li::before { left: 0; margin-left: 0; top: 4px; }
  #wedding-packages .pk-featured { padding: 30px 22px; gap: 22px; }
  #main #wedding-packages .pk-featured .pk-card-title { font-size: 28px !important; }
  #wedding-packages .pk-featured .pk-checks { padding: 8px 16px; }
  #wedding-packages .pk-card { padding: 28px 24px; }
  #main #wedding-packages .pk-checks li, #main #wedding-packages .pk-list li { font-size: 16.5px !important; line-height: 1.5 !important; }
  #wedding-packages .pk-extras { padding: 20px; }
  #wedding-packages .pk-includes { padding: 28px 20px; }
  #wedding-packages .pk-list { columns: 1; }
  #wedding-packages .pk-addon > .pk-tag, #wedding-packages .pk-addon > h3, #wedding-packages .pk-addon > p, #wedding-packages .pk-addon > .pk-link { margin-left: 22px; margin-right: 22px; }
  #wedding-packages .pk-album { grid-template-columns: 1fr; }
  #wedding-packages .pk-album .pk-photo { min-height: 0; aspect-ratio: 4 / 3; }
  #wedding-packages .pk-album-text { padding: 28px 22px; }
  #wedding-packages .pk-products { gap: 14px; }
  #wedding-packages .pk-product { flex-basis: calc((100% - 14px) / 2); }
  #wedding-packages .pk-product > .pk-tag, #wedding-packages .pk-product > h3, #wedding-packages .pk-product > p { margin-left: 14px; margin-right: 14px; }
  #main #wedding-packages .pk-product > p { font-size: 15px !important; }
  #main #wedding-packages .pk-bigquote p { font-size: 21px !important; }
  #wedding-packages .pk-reviews { columns: 1; }
  #main #wedding-packages .pk-cta-title { font-size: 34px !important; }
  #wedding-packages .pk-cta { padding: 70px 0 78px; }
  #wedding-packages .pk-lightbox { padding: 60px 10px 10px; }
}
@media (prefers-reduced-motion: reduce) {
  #wedding-packages .pk-card, #wedding-packages .pk-photo img { transition: none; }
  #wedding-packages .pk-card:hover, #wedding-packages .pk-album:hover .pk-photo img, #wedding-packages .pk-product:hover .pk-photo img { transform: none; }
}
