@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/font-6.ttf) format('truetype');
}


:root{font-family:Manrope,Arial,sans-serif;color:#172746;background:#f9f7f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button{font:inherit}a{color:inherit}header{position:absolute;top:0;left:0;right:0;z-index:2;padding:24px max(28px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center;color:#fff}.brand{font-family:'Playfair Display',Georgia,serif;font-size:23px;letter-spacing:.03em}.nav{display:flex;gap:30px}.nav a{text-decoration:none;font-size:14px;font-weight:600;border-bottom:1px solid transparent;padding-bottom:5px}.nav a:hover,.nav a:focus-visible{border-color:#fff}.hero{min-height:700px;background:linear-gradient(90deg,rgba(12,27,57,.96) 0%,rgba(16,31,61,.88) 45%,rgba(16,31,61,.18) 100%),#172746 url('assets/flowers.png') center right/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-inner{width:min(1180px,calc(100% - 56px));margin:0 auto;padding:145px 0 100px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:13px;font-weight:700}.hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(64px,8.5vw,128px);line-height:1.03;font-weight:400;letter-spacing:-.045em;margin:26px 0}.hero h1 em{font-weight:400}.hero p{font-size:18px;line-height:1.7;margin:0 0 34px;color:#eee9e6}.date{display:flex;gap:20px;align-items:center;font-size:16px;font-weight:600;letter-spacing:.04em}.date i{display:block;width:36px;height:1px;background:#fff}.section{width:min(1060px,calc(100% - 48px));margin:0 auto;padding:105px 0}.section-heading{font-family:'Playfair Display',Georgia,serif;font-size:clamp(42px,5vw,66px);font-weight:400;margin:0 0 20px;line-height:1.1}.intro{font-size:19px;line-height:1.7;max-width:700px;color:#526078;margin:0 0 50px}.schedule{display:grid;grid-template-columns:1fr 1fr;gap:22px}.event{border:1px solid #cbd0d9;background:#fff;padding:40px;min-height:265px}.event .time{font-family:'Playfair Display',Georgia,serif;font-size:44px}.event h3{font-size:21px;margin:20px 0 10px}.event p{color:#526078;line-height:1.65;margin:0}.note{border-top:1px solid #d4d7dd;margin-top:30px;padding-top:20px;color:#526078;line-height:1.6}.gifts-wrap{background:#172746;color:#fff}.gifts{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.gifts p{font-size:18px;line-height:1.75;color:#d8dce5}.gift-card{border:1px solid #68758d;padding:42px;min-height:240px;display:flex;flex-direction:column;justify-content:center}.gift-card span{font-family:'Playfair Display',Georgia,serif;font-size:28px}.gift-card p{margin-bottom:0;font-size:16px}footer{text-align:center;padding:42px 24px;color:#5c6980;font-size:14px}@media(max-width:700px){header{padding:22px 24px}.brand{font-size:19px}.nav{gap:16px}.nav a{font-size:13px}.hero{min-height:660px;background:linear-gradient(0deg,rgba(12,27,57,.97),rgba(12,27,57,.45)),#172746 url('assets/flowers.png') 67% center/cover no-repeat}.hero-inner{padding:160px 0 70px}.hero h1{font-size:clamp(58px,13vw,85px)}.hero p{font-size:16px}.section{padding:72px 0}.schedule,.gifts{grid-template-columns:1fr}.gifts{gap:20px}.event{padding:30px;min-height:auto}.gift-card{min-height:180px;padding:30px}}

.brand{text-decoration:none}.gifts-intro{max-width:700px;color:#d8dce5;font-size:18px;line-height:1.7;margin:0 0 34px}.gift-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gift-card{border:1px solid #68758d;padding:34px;min-height:285px;display:flex;flex-direction:column;justify-content:space-between}.gift-kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#aeb8cc}.gift-card h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:27px;line-height:1.25;margin:15px 0}.gift-card p{font-size:15px;color:#cbd3e1;line-height:1.5;margin:0}.gift-price{font-size:16px;margin:16px 0 22px}.gift-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.gift-actions a{color:#fff;text-underline-offset:4px;font-size:15px}.gift-actions button,.booking-dialog button[type=submit]{border:1px solid #f6ede3;background:#f6ede3;color:#172746;padding:12px 17px;cursor:pointer;font-weight:700}.gift-actions button:disabled,.booking-dialog button:disabled{opacity:.5;cursor:not-allowed}.booked{border:1px solid #79859a;padding:12px 17px;color:#d8dce5}.notice{padding:14px 18px;border:1px solid #8692a6;margin:0 0 20px}.notice.error{color:#fff}.booking-dialog{background:#f9f7f3;color:#172746}.booking-dialog h2{font-family:'Playfair Display',Georgia,serif;font-size:29px}.booking-dialog p{color:#526078;font-size:15px}.booking-dialog form{display:grid;gap:12px}.booking-dialog label{font-weight:600}.booking-dialog input{border:1px solid #9aa5b6;background:white;padding:13px;font-size:16px;width:100%}.booking-dialog button[type=submit]{background:#172746;color:white}.booking-dialog form p{color:#8b3333}@media(max-width:700px){.gift-grid{grid-template-columns:1fr}.gift-card{min-height:250px;padding:28px}}
.gift-price small{display:block;margin-top:4px;font-size:13px;color:#aeb8cc}.gift-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-bottom:24px}.gift-links a{font-size:15px;color:#fff;text-underline-offset:4px;line-height:1.4}.gift-links a:hover,.gift-links a:focus-visible{text-decoration-thickness:2px}
.gift-card .gift-meta{margin-top:15px;color:#b5c0d1;font-size:14px;line-height:1.6}.gift-links span{color:#aeb8cc;font-size:14px;line-height:1.5}.gift-card{border-color:#8290a5}.gifts-wrap{background:radial-gradient(ellipse at 84% 0%,#263b60 0%,#172746 52%)}.section-heading::after{content:"";display:block;width:92px;height:14px;margin-top:22px;background:radial-gradient(circle at 7px 7px,#d6dce6 0 4px,transparent 4.5px),radial-gradient(circle at 33px 7px,#a9b8cc 0 3px,transparent 3.5px),radial-gradient(circle at 57px 7px,#d6dce6 0 2px,transparent 2.5px),radial-gradient(circle at 77px 7px,#a9b8cc 0 1.5px,transparent 2px)}.event{border-top:2px solid #aabbd2}.hero .eyebrow::before{content:"";display:inline-block;width:7px;height:7px;margin-right:12px;border-radius:50%;background:#e4e9ef;box-shadow:0 0 0 3px rgba(255,255,255,.16)}
.gift-media{margin:-13px -13px 26px;padding:6px;border:1px solid #a3afc1;background:#f8f7f4}.gift-media img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center;background:#f8f7f4}
.dress-wrap{background:#e8edf3}.dress{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:70px;align-items:center}.dress p{max-width:650px;color:#415371;font-size:18px;line-height:1.75;margin:0 0 18px}.palette{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}.swatch{height:220px;display:flex;align-items:flex-end;padding:18px 12px;font-size:14px;font-weight:700;letter-spacing:.03em}.swatch-white{background:#fff;border:1px solid #bdc7d4;color:#172746}.swatch-black{background:#141923;color:#fff}.swatch-blue{background:#233e6b;color:#fff}@media(max-width:700px){.dress{grid-template-columns:1fr;gap:25px}.palette{max-width:420px}.swatch{height:135px}.nav{gap:12px}}

.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:60px;align-items:center}.hero-copy{min-width:0}.couple-frame{margin:0;border:1px solid rgba(255,255,255,.6);padding:9px;background:rgba(255,255,255,.09);box-shadow:0 24px 70px rgba(3,12,32,.4);transform:rotate(1.5deg)}.couple-frame img{display:block;width:100%;height:450px;object-fit:cover;object-position:center 46%}.couple-frame figcaption{font-family:'Playfair Display',Georgia,serif;font-size:18px;text-align:center;padding:10px 0 3px;color:#f5f0eb}.gift-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;margin:0 0 12px}.category-filters{display:flex;gap:9px;flex-wrap:wrap}.category-filters button{color:#e6ebf3;background:transparent;border:1px solid #8998ad;padding:10px 15px;cursor:pointer}.category-filters button:hover,.category-filters button:focus-visible,.category-filters button.active{background:#f6ede3;color:#172746;border-color:#f6ede3}.sort-control{display:flex;align-items:center;gap:10px;color:#cbd3e1;font-size:14px}.sort-control select{font:inherit;color:#172746;background:#f6ede3;border:1px solid #f6ede3;padding:10px 14px;cursor:pointer}.gift-count{font-size:13px;color:#b5c0d1;margin:0 0 26px}@media(max-width:800px){.hero-inner{grid-template-columns:1fr;gap:30px;padding-top:145px}.hero{min-height:auto}.couple-frame{width:min(340px,85%);justify-self:center}.couple-frame img{height:380px}}@media(max-width:700px){.hero-inner{padding-bottom:75px}.gift-toolbar{display:block}.category-filters{margin-bottom:16px}.sort-control{justify-content:space-between}.couple-frame img{height:350px}}

.gift-message{max-width:880px;margin:10px 0 25px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(27px,3.3vw,43px);line-height:1.28;color:#fff}.gift-message::before{content:"";display:block;width:55px;height:1px;background:#cdd8e7;margin:0 0 24px}

.cat-divider{display:flex;justify-content:center;align-items:center;min-height:200px;background:linear-gradient(to bottom,#e8edf3 0 50%,#172746 50%);overflow:hidden}.cat-divider img{display:block;width:min(390px,85vw);height:auto;filter:drop-shadow(0 12px 15px rgba(6,16,35,.2))}.cat-still{display:none!important}@media(prefers-reduced-motion:reduce){.cat-animated{display:none!important}.cat-still{display:block!important}}
.category-cat{display:flex;align-items:center;justify-content:center;gap:22px;min-height:165px;margin:14px 0 24px;padding:10px 18px;text-align:center}.category-cat img{width:145px;height:145px;object-fit:contain;filter:drop-shadow(0 9px 12px rgba(0,0,0,.22))}.category-cat p{max-width:330px;margin:0;font-family:'Playfair Display',Georgia,serif;font-size:clamp(24px,3vw,34px);line-height:1.2;color:#fff}@media(max-width:700px){.category-cat{gap:10px;min-height:130px}.category-cat img{width:105px;height:105px}.category-cat p{font-size:24px}}
.hero-copy strong{font-weight:800;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}.hero .date{font-size:clamp(19px,2.3vw,27px);flex-wrap:wrap}.couple-frame{transform:none}.event a{color:#254a80;text-underline-offset:3px;font-weight:700}.category-hint{margin:5px 0 18px;color:#e4eaf3;font-size:16px;line-height:1.5}.cat-divider{flex-direction:column;gap:0;min-height:245px;background:#172746;color:#fff;padding:14px 20px}.cat-divider img{width:min(210px,48vw)}.cat-divider p{font-family:'Playfair Display',Georgia,serif;font-size:25px;margin:0 0 8px}.category-cat img{width:135px;height:135px}@media(max-width:700px){.cat-divider{min-height:210px}.cat-divider img{width:170px}.category-cat img{width:105px;height:105px}}
.hero .hero-invitation{font-weight:800;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}.dress.section{padding-bottom:45px}.gifts-wrap>.section{padding-top:45px}.cat-divider{min-height:300px;padding:0 20px}.cat-divider img{width:min(320px,68vw)}.category-cat{margin:6px 0 14px}@media(max-width:700px){.dress.section{padding-bottom:35px}.gifts-wrap>.section{padding-top:35px}.cat-divider{min-height:260px}.cat-divider img{width:min(270px,76vw)}}
.hero .hero-invitation{font-family:Manrope,Arial,sans-serif;font-size:19px;line-height:1.7;font-weight:400;color:#fff;text-shadow:none}@media(max-width:700px){.hero .hero-invitation{font-size:19px}.hero .date{display:flex;flex-wrap:nowrap;white-space:nowrap;gap:5px;font-size:clamp(11px,3.4vw,13px);letter-spacing:0}.hero .date i{width:12px;flex:0 0 12px}}
@media(max-width:700px){.hero-inner{gap:22px;padding-bottom:58px}.hero-copy{text-align:center}.hero h1{margin:22px 0 26px}.hero .hero-invitation{max-width:560px;margin:0 auto 24px}.hero .date{justify-content:center;margin:0 auto;font-size:clamp(12.5px,3.95vw,15px);font-weight:600;gap:5px}.hero .date i{width:10px;flex-basis:10px}.couple-frame{width:min(360px,96%)}}
.hero-inner{display:block;width:min(1060px,calc(100% - 48px));padding:145px 0 90px}.hero-copy{max-width:720px;text-align:left}.hero h1{font-size:clamp(72px,8vw,112px);margin:24px 0 26px}.hero .hero-invitation{max-width:650px;margin:0 0 28px;font-size:19px;line-height:1.7;font-weight:400}.hero .date{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:5px;margin:0;font-size:18px;font-weight:600;letter-spacing:0;white-space:normal}.couple-frame{width:min(360px,100%);margin:36px 0 0;justify-self:unset}@media(max-width:700px){.hero-inner{display:block;padding:135px 0 65px}.hero-copy{text-align:left}.hero h1{font-size:clamp(60px,13vw,78px);margin:22px 0 24px}.hero .hero-invitation{font-size:18px;margin:0 0 26px}.hero .date{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;margin:0;font-size:16px;white-space:normal}.couple-frame{width:min(360px,100%);margin:32px 0 0}}
.wedding-hero{color:#fff;background:linear-gradient(90deg,rgba(12,27,57,.96),rgba(16,31,61,.86) 54%,rgba(16,31,61,.42)),#172746 url('assets/flowers.png') center right/cover no-repeat}.wedding-hero__inner{width:min(1120px,calc(100% - 56px));min-height:720px;margin:auto;padding:145px 0 90px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);gap:clamp(44px,6vw,90px);align-items:center}.wedding-hero__copy{min-width:0}.wedding-hero__eyebrow{font-family:Manrope,Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;font-size:13px;font-weight:700}.wedding-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(74px,7.6vw,116px);font-weight:400;line-height:1.03;letter-spacing:-.045em;margin:28px 0 34px}.wedding-hero h1 em{font-weight:400}.wedding-hero__names,.wedding-hero__invitation,.wedding-hero__date{font-family:Manrope,Arial,sans-serif;color:#fff;line-height:1.55}.wedding-hero__names{font-size:17px;font-weight:500;margin:0 0 4px}.wedding-hero__invitation{font-size:17px;font-weight:400;margin:0}.wedding-hero__date{font-size:16px;font-weight:600;margin:34px 0 0;letter-spacing:.01em}.wedding-hero__date span{padding:0 3px}.wedding-hero__photo{margin:0;width:100%;max-width:380px;justify-self:end;border:1px solid rgba(255,255,255,.7);padding:8px;background:rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(3,12,32,.4)}.wedding-hero__photo img{display:block;width:100%;height:auto;aspect-ratio:689/1032;object-fit:cover}@media(max-width:800px){.wedding-hero{background:linear-gradient(180deg,rgba(12,27,57,.7),rgba(12,27,57,.88)),#172746 url('assets/flowers.png') 67% center/cover no-repeat}.wedding-hero__inner{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;width:min(580px,calc(100% - 48px));padding:138px 0 64px}.wedding-hero h1{font-size:clamp(62px,13vw,84px);margin:25px 0 29px}.wedding-hero__names,.wedding-hero__invitation{font-size:17px}.wedding-hero__date{font-size:16px;margin-top:30px;max-width:420px}.wedding-hero__photo{width:min(360px,100%);max-width:none;align-self:flex-start;margin-top:34px}}
.gift-card{min-height:0}

.gift-actions{display:flex;margin-top:22px}.gift-card.is-reserved .gift-media img{opacity:.5}.gift-card.is-reserved h3,.gift-card.is-reserved .gift-price{opacity:.65}.gift-card.is-reserved{border-color:#5d6980;background:rgba(255,255,255,.035)}.booking-status{min-height:1.5em;color:#fff;margin:0 0 14px}.booking-dialog{border:1px solid #aabbd2;padding:28px;width:min(400px,calc(100% - 32px));box-shadow:0 20px 65px rgba(0,0,0,.4)}.booking-dialog::backdrop{background:rgba(7,18,39,.75)}.booking-dialog h2{margin:0 0 20px}.booking-dialog form p{min-height:1.2em;margin:0}.booking-buttons{display:flex;gap:12px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.booking-buttons button{padding:12px 17px;cursor:pointer}.booking-buttons button[type=button]{background:transparent;border:1px solid #9aa5b6;color:#172746}

.gift-actions .cancel-gift{background:transparent;color:#e4eaf3;border-color:#8998ad;font-size:13px;padding:9px 12px}.reservation-help{margin:10px 0 0!important;color:#aeb8cc!important;font-size:12px!important;line-height:1.5!important}.booking-dialog .booking-buttons button:disabled{opacity:.5;cursor:not-allowed}
