/* Sticky navigation and responsive artwork stay independent of text flow. */
html{scroll-padding-top:94px}body{overflow-x:clip}.site-header{position:sticky;top:0;z-index:50;min-height:70px;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:8px clamp(22px,6vw,100px);background:#eee1cbf5;border-bottom:1px solid #986e4855;box-shadow:0 2px 7px #5b382410;backdrop-filter:blur(8px)}.brand{font:36px/1.1 var(--script);color:var(--wine);text-decoration:none;white-space:nowrap}.brand-amp{display:inline-block;font-family:Georgia,"Times New Roman",serif;font-size:.62em;font-style:italic;font-weight:400;line-height:1;vertical-align:.14em;margin:0 .08em;letter-spacing:0}
.site-header nav{display:flex;gap:32px;align-items:center}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.site-header nav a:hover{text-decoration:underline}.hero{max-width:none;aspect-ratio:3/2;margin:0;display:block;padding:0;background:#efe2ce;overflow:hidden}.hero-picture{display:block;position:absolute;inset:0;z-index:-1}.hero-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;z-index:auto}.hero-copy{top:14.5%}.wax-seal{width:clamp(104px,8.4vw,140px);right:12%;top:2.3%;font:38px/1 var(--script);letter-spacing:-1px}.wax-seal>span{display:flex;align-items:baseline;justify-content:center;gap:1px;width:58%;white-space:nowrap;font-size:inherit;line-height:1}.wax-seal small{font-size:.57em;letter-spacing:0}.hero h1{font-size:clamp(58px,6vw,104px)}
/* Framed parchment introduction and a restrained list echo the sample card. */
.accommodation{max-width:1440px;margin:35px auto 0;padding:58px 48px;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.35fr);gap:42px;text-align:left;border:1px solid #a3805650;box-shadow:0 8px 24px #68442b13}.accommodation-intro{position:relative;padding:35px 20px 35px 28px;align-self:start;min-width:0}.corner-floral{position:absolute;left:-75px;top:-50px;width:180px;transform:scaleY(-1);pointer-events:none;opacity:.8;z-index:-1}.accommodation h2{font-size:clamp(42px,4.2vw,62px);margin:14px 0 22px;overflow-wrap:normal}.accommodation .eyebrow{font-size:10px;letter-spacing:.21em}.accommodation .intro{font-size:16px;line-height:1.8}.accommodation .intro br{display:none}.accommodation .small{font-size:13px}.text-link{display:inline-flex;gap:16px;align-items:center;padding:10px 0;margin-top:18px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--wine)}.accommodation-list{min-width:0;scroll-margin-top:94px}.stay-grid{grid-template-columns:1fr;gap:17px;margin-top:0}.stay-card{padding:0;display:block;background:#f6ebd5a8;border:1px solid #a3805645;box-shadow:0 2px 7px #68442b13;overflow:hidden}.stay-copy{padding:22px 25px;display:flex;flex-direction:column;align-items:flex-start}.stay-card h3{font-size:24px;margin-bottom:8px}.stay-card p{font-size:14px;line-height:1.6;margin:4px 0}.stay-card a{font-size:11px;padding-top:15px}.stay-photo{margin:0}.stay-photo img{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}.stay-photo figcaption{font-size:10px;text-align:right;padding:5px 12px;background:#f8eedb}.stay-photo figcaption a{font-size:10px;letter-spacing:0;text-transform:none;padding:0}#more-stays{margin-top:15px}#more-stays summary{padding:12px 0;font-size:13px}#more-stays[open] .stay-grid{margin-top:18px}.closing{grid-column:1/-1;text-align:center;margin-top:0;font-size:30px;padding-top:16px;border-top:1px solid #a3805630}
@media(min-width:641px) and (max-width:1050px){.hero{min-height:650px;aspect-ratio:3/2}.hero-art{object-position:center bottom}.hero-copy{top:9%;left:21%;right:21%}.hero h1{font-size:clamp(52px,6.2vw,68px)}.wax-seal{right:8%;top:2%;width:100px;font-size:31px}.hero .eyebrow{font-size:10px}.date{font-size:20px}.motto{font-size:14px}.landmark-label{top:63%}.side-note{top:76%}.accommodation{margin:25px 22px 0;padding:35px 28px;grid-template-columns:1fr;gap:25px}.accommodation-intro{padding:20px;max-width:760px}.corner-floral{left:-40px;top:-22px;width:120px}.accommodation-list>.stay-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none}.stay-copy{padding:20px 16px}.stay-card h3{font-size:21px}#other-stays{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation h2{font-size:54px}}
@media(max-width:640px){html{scroll-padding-top:82px}.site-header{min-height:64px;padding:7px 18px;gap:16px}.brand{font-size:30px}.site-header nav{gap:18px}.site-header nav a{font-size:9px;letter-spacing:.06em;min-height:44px}.hero{display:block;min-height:750px;height:auto;aspect-ratio:4/7;padding:0;background:#efe2ce}.hero-picture{position:absolute;inset:0;z-index:-1}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;z-index:auto}.hero-copy{position:absolute;top:13%;left:6%;right:6%;padding:0;order:initial;text-align:center}.hero-copy h1{font-size:clamp(44px,9.8vw,64px);white-space:nowrap;margin:10px -2% 14px}.hero .eyebrow{font-size:10px;letter-spacing:.23em}.hero .rule{margin:12px auto 10px}.date{font-size:18px;letter-spacing:.22em}.motto{font-size:14px;line-height:1.45;margin-top:12px}.button{font-size:10px;letter-spacing:.16em;min-height:44px;padding:11px 23px;margin-top:16px}.wax-seal{top:1.5%;right:5%;width:98px;font-size:30px}.wax-seal>span{width:58%;font-size:30px}.venue-label{position:absolute;left:14%;right:14%;bottom:4%;padding:0;background:none;order:initial;line-height:1.65}.venue-label p{font-size:15px;letter-spacing:.19em}.venue-label span{font-size:9px;letter-spacing:.15em}.hero .landmark-label,.side-note{display:none}.announcement{padding:26px 24px}.announcement p{font-size:15px}.announcement .small{font-size:13px}.accommodation{display:block;margin:25px 16px 0;padding:30px 20px;text-align:left}.accommodation-intro{padding:20px 5px 25px}.corner-floral{left:-33px;top:-24px;width:110px;opacity:.6}.accommodation h2{font-size:clamp(38px,9vw,48px);margin:12px 0 18px}.accommodation .eyebrow{font-size:9px}.accommodation .intro{font-size:15px}.accommodation .small{font-size:12px}.stay-grid{display:grid;grid-template-columns:minmax(0,1fr);max-width:none;margin-top:0}.stay-copy{padding:22px}.stay-card h3{font-size:23px}.stay-card p{font-size:14px}.stay-photo img{aspect-ratio:16/10}.closing{margin-top:28px;font-size:27px}.accommodation-list{scroll-margin-top:85px}}
@media(max-width:360px){.site-header{padding-inline:14px;gap:10px}.site-header nav{gap:12px}.site-header nav a{font-size:8px}.brand{font-size:27px}.hero{min-height:750px}.hero-copy h1{font-size:43px}.hero-copy{left:5%;right:5%}.wax-seal{width:92px;font-size:28px}.wax-seal>span{font-size:28px}.accommodation{padding-inline:16px}.accommodation h2{font-size:36px}}

/* Scripture addition, preserving the existing artwork and accommodation layout. */
.scripture{max-width:1100px;margin:58px auto;padding:48px clamp(24px,6vw,88px);text-align:center}
.scripture h2{font:clamp(40px,5vw,64px)/1.2 var(--script);color:var(--wine);margin:18px 0 26px}
.scripture blockquote{max-width:760px;margin:0 auto 24px;font-size:clamp(16px,1.4vw,19px);line-height:1.9}
.scripture blockquote p+p{margin-top:18px}
@media(max-width:640px){.scripture{margin:42px 16px;padding:34px 24px}.scripture .eyebrow{font-size:10px;letter-spacing:.18em}}

/* Personal photographs use original files; screenshot controls are clipped in CSS. */
.scripture{max-width:1280px}
.childhood-photos{display:flex;justify-content:center;align-items:center;gap:clamp(16px,4vw,54px);margin:0 auto 46px;max-width:740px}
.keepsake{margin:0;flex:1;min-width:0;max-width:285px;padding:10px 10px 4px;background:#f7eddb;border:1px solid #a8875c66;box-shadow:0 7px 18px #68442b24;transform:rotate(-3deg)}
.keepsake:last-child{transform:rotate(3deg)}
.childhood-frame{position:relative;aspect-ratio:1;overflow:hidden}
.childhood-frame img{width:100%;height:100%;object-fit:cover;object-position:78% center}
.screenshot-frame img{position:absolute;left:0;top:-61.57%;width:100%;height:auto;max-width:none}
.keepsake figcaption{font:32px/1.6 var(--script);color:var(--wine)}
.photo-ampersand{font:44px/1 var(--script);color:var(--wine)}
.together-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;text-align:left}
.together-photo{margin:0;padding:10px 10px 4px;background:#f7eddb;border:1px solid #a8875c66;box-shadow:0 7px 18px #68442b24;transform:rotate(-1.5deg)}
.together-photo img{width:100%;height:auto}
.together-photo figcaption{text-align:center;font:32px/1.6 var(--script);color:var(--wine)}
.scripture .verse-copy blockquote{font-size:16px;line-height:1.8;margin-bottom:20px}
@media(max-width:800px){.together-layout{grid-template-columns:1fr;gap:30px;text-align:center}.together-photo{max-width:600px;margin:auto}.childhood-photos{gap:18px}.photo-ampersand{font-size:32px}}
@media(max-width:400px){.scripture{padding-inline:18px}.childhood-photos{gap:10px}.keepsake{padding:6px 6px 2px}.keepsake figcaption{font-size:26px}.photo-ampersand{font-size:24px}}

/* Matching framed paper sections and an even six-property preview. */
.scripture{width:calc(100% - 44px);max-width:1440px;border:1px solid #a3805650;box-shadow:-10px 5px 24px -12px #68442b40,10px 5px 24px -12px #68442b40,0 8px 24px #68442b13}
.accommodation{display:block;width:calc(100% - 44px);max-width:1440px;margin-inline:auto;padding:64px 48px 48px}
.accommodation-intro{max-width:900px;margin:0 auto 32px;padding:0 90px;text-align:center}
.accommodation .corner-floral{top:0;right:0;left:auto;width:clamp(130px,17vw,220px);transform:rotate(180deg);opacity:.85;z-index:0}
.accommodation-list>.stay-grid,#other-stays{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:none}
.accommodation .stay-card{display:flex;flex-direction:column}
.accommodation .stay-copy{flex:1;width:100%;padding:24px 28px}
.accommodation .stay-card a{margin-top:auto}
.accommodation .closing{margin-top:32px}
@media(max-width:640px){
 .scripture{width:calc(100% - 32px);margin-inline:auto}
 .accommodation{width:calc(100% - 32px);padding:68px 20px 30px}
 .accommodation-intro{padding:0;margin-bottom:28px}
 .accommodation .corner-floral{width:115px;top:0;right:0}
 .accommodation-list>.stay-grid,#other-stays{grid-template-columns:minmax(0,1fr);gap:18px}
 .accommodation .stay-copy{padding:22px}
}

/* Vintage calligraphy for the main titles, with the bundled script as fallback. */
.hero h1,.scripture h2,.accommodation h2{font-family:'Great Vibes',WeddingScript,'Apple Chancery',cursive;font-weight:400;line-height:1.3}
.hero h1{font-size:clamp(58px,6vw,104px)}
@media(min-width:641px) and (max-width:1050px){.hero h1{font-size:clamp(52px,6.2vw,68px)}}
@media(max-width:640px){.hero-copy h1{font-size:clamp(42px,9.8vw,64px)}.accommodation h2{font-size:clamp(36px,9vw,48px)}}
@media(max-width:360px){.hero-copy h1{font-size:39px}}


/* Final responsive polish: desktop accommodation balance, framed photo-section shadows,
   and a stable tablet/small-laptop transition. */
.scripture{
  box-shadow:-18px 8px 28px -18px #4f2e214d,
             18px 8px 28px -18px #4f2e214d,
             0 9px 22px #68442b14;
}

.accommodation{
  overflow:hidden;
  box-shadow:-18px 8px 28px -18px #4f2e213d,
             18px 8px 28px -18px #4f2e213d,
             0 9px 22px #68442b14;
}
.accommodation .corner-floral{
  top:-18px;
  right:-18px;
  left:auto;
  width:clamp(150px,15vw,215px);
  transform:rotate(180deg);
  transform-origin:top right;
  opacity:.82;
  z-index:0;
}
.accommodation-intro,.accommodation-list,.accommodation .closing{position:relative;z-index:1}

/* Six featured stays: an even 2 x 3 desktop arrangement. */
@media(min-width:901px){
  .accommodation-list>.stay-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px;
  }
  .accommodation .stay-card{height:100%}
}

/* The awkward in-between size: simplify before anything starts colliding. */
@media(min-width:641px) and (max-width:900px){
  .site-header{padding-inline:28px}
  .site-header nav{gap:22px}
  .hero{min-height:0;aspect-ratio:3/2}
  .hero-copy{top:9.5%;left:14%;right:14%}
  .hero h1{font-size:clamp(48px,7vw,64px);white-space:nowrap;margin-inline:-4%}
  .hero .eyebrow{font-size:9px}
  .date{font-size:18px}
  .motto{font-size:13px;line-height:1.4}
  .button{margin-top:12px;padding:9px 20px}
  .wax-seal{right:4%;top:2%;width:92px;font-size:29px}
  .landmark-label,.side-note{display:none}
  .venue-label{left:22%;right:22%;bottom:2.8%}
  .venue-label p{font-size:15px}
  .venue-label span{font-size:9px}

  .scripture{margin:42px 22px;width:calc(100% - 44px);padding:42px 34px}
  .together-layout{grid-template-columns:1fr;gap:28px;text-align:center}
  .together-photo{width:min(100%,680px);margin-inline:auto}
  .childhood-photos{max-width:650px;gap:26px;margin-bottom:38px}

  .accommodation{width:calc(100% - 44px);margin:28px auto 0;padding:64px 30px 38px}
  .accommodation-intro{max-width:720px;padding:0 60px;margin-bottom:28px}
  .accommodation .corner-floral{top:-12px;right:-14px;width:145px}
  .accommodation-list>.stay-grid,#other-stays{grid-template-columns:1fr;gap:20px}
  .accommodation .stay-card{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(0,1.15fr);align-items:stretch}
  .accommodation .stay-photo{height:100%}
  .accommodation .stay-photo img{height:100%;min-height:220px;aspect-ratio:auto}
  .accommodation .stay-copy{padding:24px}
}

@media(max-width:640px){
  .scripture{
    box-shadow:-10px 6px 20px -14px #4f2e2145,
               10px 6px 20px -14px #4f2e2145,
               0 7px 18px #68442b12;
  }
  .accommodation{overflow:hidden}
  .accommodation .corner-floral{top:-8px;right:-10px;width:118px;opacity:.72}
}

/* A softer vintage script than the previous display face. */
.hero h1,.scripture h2,.accommodation h2{
  font-family:'Parisienne',WeddingScript,'Apple Chancery',cursive;
  font-weight:400;
  line-height:1.25;
}
