:root {
  --ink: #3b2534;
  --berry: #70244e;
  --plum: #5f2147;
  --pink: #ed4b98;
  --pink-hot: #f73791;
  --pink-pale: #fff0f5;
  --blush: #fde3eb;
  --blush-medium: #f7bfd2;
  --cyan: #10afce;
  --cream: #fffbf9;
  --white: #ffffff;
  --line: #ead6df;
  --body: 'DM Sans', Arial, sans-serif;
  --display: 'Fraunces', Georgia, serif;
  --script: 'Caveat', 'Brush Script MT', cursive;
  --round: 22px;
}
* {box-sizing: border-box}
html {scroll-behavior:smooth;scroll-padding-top:98px}
body {margin:0;background:var(--cream);font-family:var(--body);color:var(--ink);-webkit-font-smoothing:antialiased}
img {max-width:100%;display:block}
a {color:inherit;text-decoration:none}
button,textarea,input,select {font:inherit}
button {cursor:pointer}
::selection {background:#f9b4d7;color:#532b43}
.container {max-width:1210px;margin:0 auto;padding:0 26px}
.skip-link {position:absolute;top:-100px;left:16px;z-index:1000;background:white;padding:14px 18px;box-shadow:0 5px 25px #0002}
.skip-link:focus {top:12px}
:focus-visible {outline:3px solid var(--cyan);outline-offset:4px}
.announcement {background:#f6d1df;min-height:37px;text-align:center;display:flex;align-items:center;justify-content:center;gap:13px;font-size:10px;font-weight:800;letter-spacing:2.1px;color:var(--berry)}
.announcement-star {color:var(--pink-hot);font-size:15px;line-height:1}
.announcement-divider {color:var(--pink-hot);font-size:15px}
.site-header {position:sticky;top:0;z-index:50;background:rgba(255,251,249,.96);border-bottom:1px solid rgba(109,55,81,.09);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav-wrap {min-height:83px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand {display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.brand-mark {color:var(--pink);font-size:36px;line-height:1;transform:rotate(-12deg)}
.brand-name {font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-2px;color:var(--ink);line-height:1}
.brand-name>span:first-child {color:var(--pink)}
.brand-dot {color:var(--cyan)}
.site-nav {display:flex;align-items:center;gap:34px}
.site-nav>a:not(.nav-cta) {font-weight:700;font-size:12.5px;transition:color .15s}
.site-nav>a:not(.nav-cta):hover {color:var(--pink)}
.nav-cta {display:inline-flex;gap:19px;align-items:center;justify-content:center;background:var(--ink);color:white;font-size:13px;font-weight:800;padding:13px 19px;border-radius:100px;transition:background .2s,transform .2s}
.nav-cta:hover,.button-dark:hover {background:var(--berry);transform:translateY(-2px)}
.menu-button {display:none;appearance:none;border:0;background:none;padding:12px}
.menu-button span {display:block;background:var(--ink);height:2px;width:25px;margin:5px 0}
.button {display:inline-flex;align-items:center;justify-content:center;gap:24px;border-radius:100px;min-height:57px;padding:0 26px;font-size:13px;font-weight:800;letter-spacing:.1px;border:0;transition:background .2s,transform .2s,box-shadow .2s;white-space:nowrap}
.button span:last-child,.text-link span {font-size:20px;line-height:1;font-weight:400}
.button-dark {background:var(--ink);color:white;box-shadow:0 9px 19px rgba(80,29,55,.12)}
.button-white {background:#fff;color:var(--berry)}
.button-white:hover {transform:translateY(-2px);box-shadow:0 7px 19px #0002}
.eyebrow {display:flex;align-items:center;gap:11px;font-size:11px;letter-spacing:2.4px;font-weight:800;color:var(--berry);text-transform:uppercase}
.eyebrow-line {width:29px;height:1.5px;background:var(--pink)}
.eyebrow-light {color:#ffe5f0}
.section {padding:112px 0}
h1,h2,h3,p {margin-top:0}
h1,h2,h3 {text-wrap:balance}
h1,h2 {font-family:var(--display);font-weight:600;letter-spacing:-2.8px}
h2 {font-size:clamp(39px,4.5vw,63px);line-height:1.13}
h2 em {font-style:italic;color:var(--pink)}
.hero {min-height:665px;display:flex;align-items:center;background:radial-gradient(ellipse at 100% 1%,#fbcce0 0%,transparent 44%),radial-gradient(ellipse at 0% 100%,#fffdf8 2%,transparent 59%),linear-gradient(115deg,#fff8f8 0%,#ffe7f0 100%);position:relative;overflow:hidden}
.hero-backdrop {pointer-events:none;position:absolute;inset:0;max-width:1550px;margin:auto}
.hero-sparkle {position:absolute;color:var(--pink);opacity:.7}
.sparkle-one {font-size:50px;top:14%;left:2%}
.sparkle-two {font-size:26px;top:20%;right:1.5%;color:var(--cyan)}
.sparkle-three {font-size:31px;bottom:9%;left:48%}
.hero-grid {width:100%;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:35px;padding-top:38px;padding-bottom:42px}
.hero-copy {z-index:2;padding:15px 0 0 19px}
.hero h1 {font-size:clamp(60px,6.45vw,91px);line-height:1.065;margin:25px 0 23px;color:var(--ink);letter-spacing:-4.5px}
.hero h1 em {font-style:italic;color:var(--pink)}
.heading-period {color:var(--cyan)}
.hero-subtitle {font-size:16px;line-height:1.85;max-width:430px;color:#685261;margin-bottom:29px}
.hero-cta-row {display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.text-link {color:var(--berry);font-size:13px;font-weight:800;padding:8px 0;border-bottom:1.5px solid var(--berry);display:inline-flex;align-items:center;gap:15px}
.text-link:hover {color:var(--pink);border-color:var(--pink)}
.hero-footnote {display:flex;align-items:center;gap:12px;margin-top:54px;font-size:11.5px;line-height:1.6;color:#79616f}
.hero-footnote strong {color:var(--ink);font-size:12.5px}
.footnote-avatar {width:37px;height:37px;border:1px solid #dfa2bc;border-radius:100%;color:var(--pink);font-size:22px;display:grid;place-items:center}
.hero-art {height:585px;position:relative;isolation:isolate}
.hero-art:before {position:absolute;content:"";height:450px;width:455px;border-radius:50%;background:radial-gradient(circle,#f6acc9 15%,#fbe1ea 70%);left:7%;top:14%;z-index:-2}
.hero-art:after {position:absolute;content:"";width:125px;height:125px;left:-14px;bottom:37px;border-radius:100%;border:1px solid rgba(237,75,152,.45);z-index:-1}
.photo-edge {position:absolute;background:white;border:10px solid white;border-bottom-width:10px;box-shadow:0 20px 50px rgba(97,33,63,.17);overflow:hidden}
.photo-edge img {width:100%;height:100%;object-fit:cover}
.hero-photo-main {height:482px;width:359px;right:50px;top:46px;transform:rotate(4deg);border-radius:150px 150px 8px 8px;z-index:2}
.hero-photo-main img {object-position:50% 45%;border-radius:140px 140px 0 0}
.hero-photo-back {width:224px;height:235px;left:-8px;top:8px;z-index:3;transform:rotate(-9deg);border-radius:8px}
.hero-photo-back img {object-position:50% 48%}
.hero-price-seal {position:absolute;z-index:4;left:-5px;bottom:71px;height:159px;width:159px;border-radius:50%;background:var(--cyan);color:white;display:flex;justify-content:center;align-items:center;flex-direction:column;transform:rotate(-12deg);box-shadow:0 9px 0 rgba(255,255,255,.6),0 15px 25px rgba(21,119,139,.14);outline:1.5px dashed #ffedf5;outline-offset:-11px}
.hero-price-seal span:first-child {font-size:10px;letter-spacing:1px;font-weight:800}
.hero-price-seal strong {font-family:var(--display);font-size:66px;line-height:1.04;letter-spacing:-2px}
.hero-price-seal span:last-child {font-family:var(--script);font-size:22px;margin-top:3px}
.hero-doodle {position:absolute;z-index:5;color:var(--pink);font-family:var(--script)}
.hero-doodle-heart {font-size:78px;right:-16px;top:6px;transform:rotate(15deg)}
.hero-doodle-star {font-size:78px;left:158px;bottom:-2px;color:#ee5aa2}
.hero-image-caption {position:absolute;font-family:var(--script);font-size:27px;color:var(--berry);right:55px;bottom:0;transform:rotate(-5deg)}
.hero-image-caption span {color:var(--pink)}
.ticker {background:var(--berry);color:#fff;overflow:hidden;white-space:nowrap;height:52px;display:flex;align-items:center}
.ticker-inner {font-size:12px;font-weight:800;letter-spacing:1.85px;min-width:max-content;word-spacing:7px;position:relative;left:50%;transform:translateX(-50%)}
.ticker span {color:#f5a7d2;font-size:19px;margin:0 26px;vertical-align:-2px}
.section-intro {max-width:750px}
.center-intro {margin:0 auto 53px;text-align:center}
.center-intro .eyebrow {justify-content:center}
.center-intro h2 {margin:17px 0 17px}
.center-intro p {color:#756370;font-size:15px;line-height:1.7;max-width:570px;margin:0 auto}
.small-sparkle {color:var(--pink);font-size:18px}
.looks-section {background:var(--cream)}
.look-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.look-card {min-width:0;border:1px solid #f0e3e8;border-radius:15px;overflow:hidden;background:white;transition:transform .3s,box-shadow .3s}
.look-card:hover {transform:translateY(-7px);box-shadow:0 22px 45px #653b4e16}
.look-media {height:310px;position:relative;background:#f8d8e5;overflow:hidden}
.look-media:after {content:"";position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(30,10,20,.15));pointer-events:none}
.look-media img {width:100%;height:100%;object-fit:cover;object-position:center 34%;transition:transform .6s}
.look-card:hover .look-media img {transform:scale(1.055)}
.featured-look .look-media img {object-position:50% 35%}
.look-index {position:absolute;right:17px;top:17px;z-index:2;background:#fff;color:var(--berry);height:36px;width:36px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:800}
.look-content {padding:22px 25px 27px}
.look-script {font:700 24px var(--script);color:var(--pink)}
.look-content h3 {font-family:var(--display);font-weight:600;font-size:31px;letter-spacing:-1px;line-height:1.2;margin:7px 0 11px}
.look-content p {font-size:13.5px;line-height:1.7;color:#786674;min-height:47px;margin:0 0 22px}
.look-content a {display:inline-flex;gap:22px;align-items:center;color:var(--berry);border-bottom:1px solid var(--berry);font-weight:800;font-size:12.5px;padding-bottom:5px}
.look-content a:hover {color:var(--pink);border-color:var(--pink)}
.occasion-section {padding:65px 0;background:#fce4ed;border-top:1px solid #f5cddd;border-bottom:1px solid #f5cddd}
.occasion-layout {display:grid;grid-template-columns:46px minmax(0,1.5fr) minmax(0,.56fr);align-items:center;gap:23px}
.occasion-badge {font-size:59px;color:var(--pink);align-self:start;line-height:1}
.occasion-layout h2 {font-size:clamp(29px,3.5vw,46px);max-width:670px;letter-spacing:-1.7px;line-height:1.23;margin:16px 0 0}
.occasion-aside {border-left:1px solid #e7afc3;padding-left:28px}
.script-note {font:700 31px var(--script);color:var(--pink)}
.occasion-aside p {color:#675261;line-height:1.7;font-size:14px;margin:10px 0 0}
.occasion-aside strong {color:var(--berry)}
.gallery-section {background:#fff}
.section-title-row {display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:39px}
.section-title-row h2 {margin:16px 0 0}
.section-title-row p {color:#74616b;font-size:14px;line-height:1.7;max-width:255px;margin-bottom:6px}
.gallery-grid {display:grid;grid-template-columns:1.14fr .9fr 1fr;grid-template-rows:227px 227px;gap:15px}
.gallery-item {appearance:none;position:relative;border:0;padding:0;display:block;overflow:hidden;border-radius:9px;background:#fce3ed}
.gallery-item img {width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .4s}
.gallery-item:hover img {transform:scale(1.06);filter:saturate(1.08)}
.gallery-tall {grid-row:span 2}
.gallery-wide {grid-column:span 2}
.gallery-grid .gallery-item:nth-child(2) img {object-position:50% 35%}
.gallery-grid .gallery-item:nth-child(4) img {object-position:50% 33%}
.gallery-zoom {position:absolute;right:13px;bottom:13px;border-radius:50%;height:37px;width:37px;display:grid;place-items:center;background:#fff;font-size:20px;color:var(--berry)}
.gallery-caption {text-align:center;color:#7d6573;font-size:13px;margin:27px 0 0}
.gallery-caption a {color:var(--pink);font-weight:800;border-bottom:1px solid currentColor}
.pricing-section {padding:48px 0;background:#fff}
.price-container {position:relative;min-height:408px;border-radius:23px;padding:66px 90px;background:radial-gradient(ellipse at 12% 100%,#9b4072 0%,transparent 63%),linear-gradient(115deg,#6d2550,#9b3c74);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:65px;overflow:hidden}
.price-container:before {position:absolute;content:"";height:270px;width:270px;border:1px solid #ffffff2c;border-radius:50%;right:45px;bottom:-154px}
.price-container:after {position:absolute;content:"";height:400px;width:400px;border:1px solid #ffffff20;border-radius:50%;right:-50px;top:-195px}
.pricing-copy {position:relative;z-index:1;max-width:620px}
.pricing-copy h2 {font-size:clamp(45px,5.1vw,68px);line-height:1.08;margin:16px 0 18px}
.pricing-copy h2 em {color:#f7c7e3}
.pricing-copy p {line-height:1.8;max-width:445px;font-size:14.5px;color:#f5dce9;margin-bottom:26px}
.pricing-graphic {flex:0 0 262px;position:relative;z-index:1;height:262px;background:#fff3f8;transform:rotate(8deg);color:var(--berry);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 0 9px #f0a2c541,0 0 0 19px #fff2f512}
.pricing-graphic span {font-size:12px;letter-spacing:1.5px;font-weight:800}
.pricing-graphic strong {font-family:var(--display);font-size:109px;line-height:1.14;letter-spacing:-7px;color:var(--pink-hot);margin-left:-9px}
.price-stars {font-size:21px;color:var(--cyan);letter-spacing:3px;margin-top:8px}
.pricing-decor {position:absolute;z-index:1;color:#f3acd3}
.pricing-decor-left {left:24px;top:17px;font-size:45px}
.pricing-decor-right {right:22px;bottom:-19px;font-family:var(--script);font-size:98px}
.steps-section {padding-top:105px;padding-bottom:110px;background:#fff}
.steps-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.step {position:relative;text-align:center;padding:27px 25px 20px}
.step:not(:last-child):after {content:"";position:absolute;border-top:1px dashed #ebb5cf;width:37%;right:-19%;top:89px}
.step-number {font-size:11px;letter-spacing:1px;font-weight:800;color:#b891a8}
.step-number span {color:var(--pink)}
.step-icon {background:#feeaf1;border-radius:100%;width:74px;height:74px;display:grid;place-items:center;margin:11px auto 23px;color:var(--pink);font-size:38px;font-weight:400}
.step h3 {font-family:var(--display);font-size:26px;letter-spacing:-1px;margin-bottom:12px}
.step p {color:#7b6573;font-size:13px;line-height:1.75;max-width:235px;margin:0 auto}
.booking-section {background:#fff0f5;position:relative;overflow:hidden}
.booking-section:before {content:"✧";position:absolute;font-size:145px;color:#f6c3d8;left:-45px;top:20px}
.booking-section:after {content:"♡";position:absolute;font-family:var(--script);font-size:150px;color:#f6c3d8;right:-30px;bottom:-30px;transform:rotate(15deg)}
.booking-layout {display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:90px;align-items:center;position:relative;z-index:1}
.booking-intro h2 {font-size:clamp(49px,5.2vw,70px);line-height:1.1;margin:19px 0 21px}
.booking-intro>p {color:#6e5666;font-size:15px;line-height:1.85;max-width:425px}
.booking-note {display:flex;align-items:flex-start;gap:13px;border-top:1px solid #ecc0d1;padding-top:21px;max-width:410px;margin-top:36px;color:#846677;font-size:12px;line-height:1.75}
.booking-note>span:first-child {color:var(--pink);font-size:22px;line-height:1.1}
.booking-form {background:white;border:1px solid #f0d9e2;border-radius:16px;padding:36px;box-shadow:0 23px 65px #70234e0e}
.form-top {display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:27px}
.form-overline {font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--berry)}
.form-top h3 {font-family:var(--display);font-size:35px;letter-spacing:-1.4px;font-weight:600;margin:8px 0 0}
.form-top h3 span {color:var(--pink);font-family:var(--script)}
.form-sparkle {color:var(--pink);font-size:42px}
.booking-form label {display:block;color:#55394b;font-size:12px;font-weight:800;margin-bottom:18px}
.field-pair {display:grid;grid-template-columns:1fr 1fr;gap:15px}
.booking-form input,.booking-form select,.booking-form textarea {display:block;outline:none;width:100%;border:1px solid #e8d8df;background:#fffdfd;color:var(--ink);font-size:13px;font-weight:500;border-radius:9px;padding:13px 13px;margin-top:8px;min-height:48px;transition:border .15s,box-shadow .15s}
.booking-form textarea {resize:vertical;min-height:94px}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus {border-color:var(--pink);box-shadow:0 0 0 3px #ed4b9820}
.booking-form input::placeholder,.booking-form textarea::placeholder {color:#b39aaa}
.optional {color:#b09ba6;font-weight:500}
.booking-actions {display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:6px 0 5px}
.booking-actions .button {min-height:52px;gap:16px;padding:0 21px;font-size:12px}
.ig-book {font-size:12px;font-weight:800;color:var(--berry);border-bottom:1px solid var(--berry);padding:8px 0;white-space:nowrap}
.ig-book:hover {color:var(--pink);border-color:var(--pink)}
.form-status {font-size:11px;color:#8b7381;line-height:1.7;margin:13px 0 0}
.message-preview {margin-top:20px;border:1px dashed #d8a4ba;border-radius:8px;background:#fff6fa;padding:14px}
.message-preview-label {font-size:10px;letter-spacing:.8px;font-weight:800;color:var(--berry)}
#message-text {min-height:177px;background:white;font-size:12px;line-height:1.7;color:var(--ink)}
.small-copy {background:var(--berry);color:white;border:0;border-radius:50px;padding:10px 14px;font-weight:800;font-size:11px;margin-top:8px}
.faq-section {background:#fff;padding:115px 0}
.faq-layout {display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}
.faq-title h2 {margin:17px 0;font-size:clamp(42px,4.5vw,61px)}
.faq-title p {font-size:14px;color:#836d78;line-height:1.8}
.faq-heart {font-family:var(--script);color:#f7a9cd;font-size:160px;line-height:1.25;transform:rotate(13deg)}
.faq-list {border-top:1px solid var(--line)}
.faq-list details {border-bottom:1px solid var(--line);padding:0 2px}
.faq-list summary {list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 2px;font-size:15px;font-weight:800;cursor:pointer}
.faq-list summary::-webkit-details-marker {display:none}
.faq-list summary span {font-size:28px;font-weight:400;color:var(--pink);transition:transform .2s}
.faq-list details[open] summary span {transform:rotate(45deg)}
.faq-list details p {color:#776473;line-height:1.75;font-size:13px;padding-right:24px;padding-bottom:20px;max-width:600px;margin:0}
.faq-list details p a {color:var(--pink);font-weight:700;text-decoration:underline}
.last-cta {padding:57px 0;background:linear-gradient(100deg,#ffe0ec,#ffeff4)}
.last-cta-inner {display:flex;align-items:center;justify-content:space-between;gap:25px}
.cta-flower {font-size:66px;color:var(--pink)}
.last-cta-inner h2 {font-size:43px;line-height:1.1;margin:2px 0 9px}
.last-cta-inner p {font-size:13px;color:#7f6876;margin:0}
.last-script {font:700 26px var(--script);color:var(--pink)}
.site-footer {background:#fff;padding:45px 0 23px}
.footer-grid {display:flex;align-items:center;justify-content:space-between;gap:20px}
.footer-brand .brand-name {font-size:27px}
.footer-brand .brand-mark {font-size:30px}
.footer-grid>span {font-size:13px;color:#8a7481}
.footer-grid>a:last-child {font-size:13px;color:var(--berry);font-weight:800;border-bottom:1px solid}
.footer-bottom {display:flex;justify-content:space-between;gap:20px;padding-top:36px;margin-top:36px;border-top:1px solid #f0e2e8;color:#9a8691;font-size:11px}
.gallery-dialog {border:0;background:#fff9fb;border-radius:13px;max-width:min(650px,92vw);max-height:90vh;padding:18px;box-shadow:0 30px 90px #0006;position:fixed;color:var(--berry)}
.gallery-dialog::backdrop {background:#2c1525d9;backdrop-filter:blur(5px)}
.gallery-dialog img {max-height:75vh;max-width:100%;width:auto;margin:auto;object-fit:contain;border-radius:6px}
.gallery-dialog p {text-align:center;font-size:12px;margin:13px 0 0;color:var(--berry)}
.dialog-close {position:absolute;right:26px;top:26px;height:35px;width:35px;background:#fff;color:var(--berry);border:0;border-radius:50%;font-size:28px;display:grid;place-items:center;line-height:1}
@media(max-width:1100px){
  .site-nav {gap:20px}
  .hero-grid {gap:10px}
  .hero-copy {padding-left:0}
  .hero h1 {font-size:clamp(61px,7vw,80px)}
  .hero-photo-main {width:330px;right:12px}
  .hero-photo-back {width:205px;left:-4px}
  .hero-price-seal {left:-5px}
  .hero-art:before {width:400px;left:0}
  .price-container {padding:64px 68px}
  .booking-layout {gap:52px}
}
@media(max-width:850px){
  .nav-wrap {min-height:73px}
  .site-nav {gap:0;position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;background:#fffbf9;align-items:stretch;padding:14px 27px 25px;border-bottom:1px solid #edd8e1;box-shadow:0 16px 26px #66243c17}
  .site-nav.is-open {display:flex}
  .site-nav>a {padding:14px 10px;font-size:14px!important}
  .site-nav .nav-cta {margin-top:8px;align-self:flex-start;padding:15px 20px}
  .menu-button {display:block}
  .hero {min-height:unset}
  .hero-grid {grid-template-columns:1fr;gap:0;padding-top:65px;padding-bottom:50px}
  .hero-copy {padding:0 3px}
  .hero h1 {font-size:clamp(65px,10vw,86px);letter-spacing:-4px}
  .hero-subtitle {max-width:550px}
  .hero-footnote {margin-top:36px}
  .hero-art {max-width:510px;width:100%;margin:15px auto 0;height:565px}
  .hero-photo-main {right:30px;width:350px;height:478px}
  .hero-photo-back {left:0;width:230px}
  .hero-price-seal {left:5px}
  .hero-art:before {left:11%;width:450px}
  .section {padding:82px 0}
  .look-grid {gap:13px}
  .look-media {height:240px}
  .look-content {padding:20px 18px 24px}
  .look-content h3 {font-size:26px}
  .look-content p {font-size:12px}
  .occasion-layout {grid-template-columns:40px 1fr;gap:15px}
  .occasion-aside {grid-column:2;border-left:0;padding-left:0}
  .gallery-grid {grid-template-rows:198px 198px}
  .price-container {padding:52px 48px;min-height:350px;gap:28px}
  .pricing-graphic {flex-basis:205px;width:205px;height:205px}
  .pricing-graphic strong {font-size:84px}
  .pricing-copy h2 {font-size:49px}
  .booking-layout {grid-template-columns:1fr;gap:36px}
  .booking-intro>p {max-width:630px}
  .booking-note {max-width:620px;margin-top:20px}
  .booking-form {max-width:690px}
  .faq-layout {gap:35px}
  .last-cta-inner {flex-wrap:wrap}
}
@media(max-width:590px){
  .container {padding:0 21px}
  html {scroll-padding-top:80px}
  .announcement {min-height:33px;font-size:8px;letter-spacing:1.4px;gap:7px}
  .announcement-star {font-size:11px}
  .brand-mark {font-size:29px}
  .brand-name {font-size:25px}
  .nav-wrap {min-height:70px}
  .hero-grid {padding-top:50px;padding-bottom:45px}
  .hero .eyebrow {font-size:9px;letter-spacing:1.6px}
  .hero h1 {font-size:clamp(57px,12.4vw,75px);letter-spacing:-3.6px;margin:18px 0 20px}
  .hero-subtitle {font-size:14px;line-height:1.75;margin-bottom:25px}
  .hero-cta-row {gap:19px}
  .button {min-height:53px;padding:0 20px;font-size:12px;gap:15px}
  .hero-footnote {margin-top:32px}
  .hero-art {height:430px;margin-top:27px}
  .hero-photo-main {width:64%;height:367px;right:5%;top:35px;border-width:8px;border-radius:110px 110px 5px 5px}
  .hero-photo-main img {border-radius:100px 100px 0 0}
  .hero-photo-back {width:43%;height:177px;left:1%;top:10px;border-width:7px}
  .hero-price-seal {width:117px;height:117px;bottom:52px;left:1%;outline-offset:-8px}
  .hero-price-seal span:first-child {font-size:8px}
  .hero-price-seal strong {font-size:49px}
  .hero-price-seal span:last-child {font-size:18px}
  .hero-doodle-heart {font-size:51px;right:-6px;top:0}
  .hero-doodle-star {font-size:59px;left:37%;bottom:2px}
  .hero-art:before {width:85%;height:330px;left:9%;top:12%}
  .hero-art:after {height:80px;width:80px;left:0;bottom:32px}
  .hero-image-caption {font-size:23px;right:15px;bottom:-5px}
  .ticker {height:45px}
  .ticker-inner {font-size:10px;letter-spacing:1.2px}
  .ticker span {font-size:16px;margin:0 14px}
  .section {padding:74px 0}
  .eyebrow {font-size:10px;letter-spacing:1.65px}
  .center-intro {margin-bottom:34px}
  h2 {font-size:clamp(39px,9.2vw,49px);letter-spacing:-2.1px}
  .center-intro p {font-size:13.5px;line-height:1.8}
  .look-grid {grid-template-columns:1fr;gap:20px;max-width:440px;margin:auto}
  .look-media {height:310px}
  .look-content {padding:20px 24px 25px}
  .look-content p {min-height:0;font-size:13.5px}
  .occasion-section {padding:55px 0}
  .occasion-layout {grid-template-columns:1fr}
  .occasion-badge {display:none}
  .occasion-layout h2 {font-size:35px}
  .occasion-aside {grid-column:1}
  .section-title-row {display:block;margin-bottom:25px}
  .section-title-row p {margin:15px 0 0;max-width:360px;font-size:13px}
  .gallery-grid {grid-template-columns:1fr 1fr;grid-template-rows:235px 220px 230px;gap:9px}
  .gallery-tall {grid-column:1;grid-row:span 2}
  .gallery-wide {grid-column:span 2}
  .gallery-zoom {width:31px;height:31px;right:10px;bottom:10px;font-size:17px}
  .pricing-section {padding:26px 0}
  .price-container {padding:51px 28px;display:flex;flex-direction:column;gap:42px;border-radius:14px;text-align:center}
  .pricing-copy h2 {font-size:clamp(40px,9.2vw,53px)}
  .pricing-copy .eyebrow {justify-content:center}
  .pricing-copy p {font-size:13px;margin-bottom:24px}
  .pricing-graphic {flex:0 0 auto;height:205px;width:205px}
  .pricing-decor-left {left:15px;top:13px}
  .steps-grid {grid-template-columns:1fr;gap:16px}
  .step {padding:10px 20px 20px}
  .step:not(:last-child):after {display:none}
  .step-icon {margin-bottom:14px}
  .step h3 {margin-bottom:7px}
  .booking-intro h2 {font-size:clamp(46px,9.5vw,56px)}
  .booking-intro>p {font-size:14px}
  .booking-form {padding:25px 19px}
  .form-top h3 {font-size:30px}
  .field-pair {grid-template-columns:1fr;gap:0}
  .booking-actions {gap:10px 18px}
  .booking-actions .button {width:100%}
  .ig-book {margin:6px auto 0}
  .form-status {text-align:center}
  .faq-layout {grid-template-columns:1fr;gap:20px}
  .faq-heart {display:none}
  .faq-title h2 {margin-bottom:8px}
  .faq-title p {margin-bottom:0}
  .faq-list summary {font-size:13px;padding:20px 0}
  .faq-list details p {font-size:12.5px}
  .last-cta {padding:56px 0}
  .last-cta-inner {flex-direction:column;text-align:center;gap:13px}
  .cta-flower {font-size:48px}
  .last-cta-inner h2 {font-size:37px}
  .last-cta-inner .button {margin-top:16px}
  .site-footer {padding-top:35px}
  .footer-grid {flex-direction:column;gap:15px;text-align:center}
  .footer-bottom {flex-direction:column;align-items:center;text-align:center;gap:10px;padding-top:21px;margin-top:27px}
}
@media(prefers-reduced-motion:reduce){html {scroll-behavior:auto}*,*:before,*:after {transition-duration:.001ms!important;animation-duration:.001ms!important}}
