/* ═══════════════════════════════════════
   TOKENS & RESET
═══════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

:root {
  --white:            #ffffff;
  --off-white:        #f7faf8;
  --eucalyptus:       #5c8a72;
  --eucalyptus-light: #7aab8f;
  --eucalyptus-pale:  #c4dbd0;
  --eucalyptus-mist:  #e4eeea;
  --eucalyptus-deep:  #3b6650;
  --willow:           #a3c4b0;
  --moss:             #8fb09a;
  --pewter:           #6e8c7c;
  --text-dark:        #1c2b22;
  --text-mid:         #4a6357;
  --text-light:       #7a9e8c;
  --nav-h:            64px;
}

body {
  background: var(--off-white);
  color: var(--text-dark);
  font-family: 'Jost', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
  min-height: 100vh;
}

body::before {
  content: '';
  position: fixed;
  inset: 0;
  background:
    radial-gradient(ellipse 65% 45% at 0% 0%, rgba(92,138,114,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 55% 65% at 100% 100%, rgba(92,138,114,0.09) 0%, transparent 55%);
  pointer-events: none;
  z-index: 0;
}

/* ═══════════════════════════════════════
   NAV
═══════════════════════════════════════ */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: var(--nav-h);
  background: rgba(247,250,248,0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--eucalyptus-mist);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 40px;
  z-index: 100;
}
.nav-logo {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 22px;
  color: var(--text-dark);
  text-decoration: none;
}
.nav-logo span { color: var(--eucalyptus-light); }
.nav-links {
  display: flex;
  gap: 28px;
  list-style: none;
  align-items: center;
}
.nav-links a {
  font-size: 10px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--text-mid);
  text-decoration: none;
  transition: color 0.2s;
}
.nav-links a:hover { color: var(--eucalyptus); }
.nav-links a.active { color: var(--eucalyptus); font-weight: 400; }
.nav-rsvp-btn {
  background: var(--eucalyptus) !important;
  color: var(--white) !important;
  padding: 8px 18px !important;
  border-radius: 2px;
  transition: background 0.2s !important;
  letter-spacing: 0.28em;
}
.nav-rsvp-btn:hover { background: var(--eucalyptus-deep) !important; }

.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
}
.nav-toggle span { display: block; width: 22px; height: 1.5px; background: var(--text-dark); transition: all 0.3s; }

/* ═══════════════════════════════════════
   SHARED LAYOUT
═══════════════════════════════════════ */
.page-wrap {
  position: relative;
  z-index: 1;
  padding-top: var(--nav-h);
}
.inner {
  max-width: 820px;
  margin: 0 auto;
  padding: 64px 36px 96px;
}

.sec-label {
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.44em;
  text-transform: uppercase;
  color: var(--eucalyptus);
  margin-bottom: 36px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.sec-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, var(--eucalyptus-pale), transparent);
}

.ornament-divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 auto;
}
.ornament-divider::before { content:''; flex:1; height:1px; background: linear-gradient(to right, transparent, var(--eucalyptus-pale)); }
.ornament-divider::after  { content:''; flex:1; height:1px; background: linear-gradient(to left,  transparent, var(--eucalyptus-pale)); }
.ornament-divider .orn { font-family:'Cormorant Garamond',serif; font-size:18px; color:var(--eucalyptus-light); opacity:.8; }

/* ═══════════════════════════════════════
   CARDS
═══════════════════════════════════════ */
.card {
  background: var(--white);
  border: 1px solid var(--eucalyptus-mist);
  border-radius: 6px;
  padding: 28px 24px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 24px rgba(92,138,114,0.07);
}
.card::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background: linear-gradient(to right, var(--eucalyptus-pale), var(--eucalyptus), var(--eucalyptus-pale));
}
.card-icon { font-size:22px; margin-bottom:12px; display:block; }
.card-title { font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:500; margin-bottom:10px; color:var(--text-dark); }
.card-text { font-size:13px; line-height:1.78; color:var(--text-mid); }
.card-text strong { font-weight:400; color:var(--eucalyptus-deep); font-style:italic; }
.card-note { margin-top:10px; font-size:11.5px; font-style:italic; color:var(--text-light); }

/* ═══════════════════════════════════════
   BUTTONS
═══════════════════════════════════════ */
.btn {
  display: inline-block;
  font-size: 10px;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  background: var(--eucalyptus);
  color: var(--white);
  padding: 13px 32px;
  border-radius: 2px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  font-family: 'Jost', sans-serif;
}
.btn:hover { background: var(--eucalyptus-deep); transform: translateY(-1px); }
.btn-outline {
  background: transparent;
  border: 1px solid var(--eucalyptus-pale);
  color: var(--eucalyptus);
}
.btn-outline:hover { background: var(--eucalyptus-mist); }

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.site-footer {
  text-align: center;
  padding: 48px 36px 56px;
  border-top: 1px solid var(--eucalyptus-mist);
  background: var(--white);
  position: relative;
  z-index: 1;
}
.footer-mark { display:flex; align-items:center; justify-content:center; gap:14px; margin-bottom:12px; }
.footer-line  { width:44px; height:1px; background:var(--eucalyptus-pale); }
.footer-initials { font-family:'Cormorant Garamond',serif; font-style:italic; font-size:24px; color:var(--eucalyptus-light); opacity:.75; }
.footer-text { font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--text-light); margin-bottom:16px; }
.footer-links { display:flex; justify-content:center; gap:24px; flex-wrap:wrap; }
.footer-links a { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--text-light); text-decoration:none; transition:color .2s; }
.footer-links a:hover { color:var(--eucalyptus); }

/* ═══════════════════════════════════════
   ANIMATIONS
═══════════════════════════════════════ */
@keyframes fadeUp {
  from { opacity:0; transform:translateY(20px); }
  to   { opacity:1; transform:translateY(0); }
}
.anim    { animation: fadeUp 0.8s ease both; }
.anim-d1 { animation-delay:.12s; }
.anim-d2 { animation-delay:.24s; }
.anim-d3 { animation-delay:.36s; }
.anim-d4 { animation-delay:.48s; }
.anim-d5 { animation-delay:.60s; }

/* ═══════════════════════════════════════
   TIMELINE
═══════════════════════════════════════ */
.timeline { position:relative; margin-bottom:64px; }
.timeline::before {
  content:'';
  position:absolute; left:116px; top:0; bottom:0;
  width:1px;
  background:linear-gradient(to bottom, transparent, var(--eucalyptus-pale) 8%, var(--eucalyptus-pale) 92%, transparent);
}
.tl-item { display:flex; align-items:flex-start; margin-bottom:44px; }
.tl-time { width:104px; padding-right:12px; text-align:right; flex-shrink:0; padding-top:3px; }
.t-main { font-family:'Cormorant Garamond',serif; font-size:20px; color:var(--eucalyptus); display:block; line-height:1; }
.t-sub  { font-size:9px; letter-spacing:.15em; text-transform:uppercase; color:var(--text-light); display:block; margin-top:3px; }
.tl-dot { width:25px; flex-shrink:0; display:flex; justify-content:center; padding-top:7px; position:relative; z-index:1; }
.dot    { width:9px; height:9px; border-radius:50%; background:var(--white); border:1.5px solid var(--eucalyptus-light); box-shadow:0 0 0 3px rgba(92,138,114,0.12); }
.tl-item.featured .dot { background:var(--eucalyptus); border-color:var(--eucalyptus); box-shadow:0 0 0 4px rgba(92,138,114,0.2); }
.tl-content { flex:1; padding-left:22px; }
.tl-tag { display:inline-block; font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--white); background:var(--moss); padding:3px 11px; border-radius:20px; margin-bottom:9px; }
.tl-title { font-family:'Cormorant Garamond',serif; font-size:25px; font-weight:500; line-height:1.2; margin-bottom:7px; color:var(--text-dark); }
.tl-item.featured .tl-title { font-size:29px; color:var(--eucalyptus-deep); }
.tl-desc  { font-size:13px; line-height:1.75; color:var(--text-mid); margin-bottom:10px; }
.tl-loc   { display:inline-flex; align-items:flex-start; gap:6px; font-size:12px; color:var(--pewter); line-height:1.55; }
.tl-loc svg { flex-shrink:0; margin-top:2px; }

/* ═══════════════════════════════════════
   RSVP FORM
═══════════════════════════════════════ */
.rsvp-wrap { max-width:600px; margin:0 auto; padding:64px 36px 96px; }
.rsvp-header { text-align:center; margin-bottom:52px; }
.rsvp-header h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(42px,8vw,62px); font-weight:300; font-style:italic; color:var(--text-dark); margin-bottom:16px; }
.rsvp-header p { font-size:13px; line-height:1.75; color:var(--text-mid); }
.rsvp-header .deadline { display:inline-block; margin-top:14px; font-family:'Cinzel',serif; font-size:11px; letter-spacing:.2em; color:var(--eucalyptus-deep); background:var(--eucalyptus-mist); padding:6px 16px; border-radius:2px; }

.rsvp-form { display:flex; flex-direction:column; gap:22px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group label { font-size:9px; letter-spacing:.35em; text-transform:uppercase; color:var(--eucalyptus); }
.form-group input,
.form-group select,
.form-group textarea {
  width:100%; padding:13px 16px;
  border:1px solid var(--eucalyptus-pale);
  border-radius:4px;
  background:var(--white);
  font-family:'Jost',sans-serif;
  font-size:14px; font-weight:300;
  color:var(--text-dark);
  outline:none;
  transition:border-color .2s, box-shadow .2s;
  appearance:none;
  -webkit-appearance:none;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--eucalyptus-light); box-shadow:0 0 0 3px rgba(92,138,114,0.1); }
.form-group textarea { resize:vertical; min-height:90px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-hint { font-size:11px; color:var(--text-light); font-style:italic; }

.radio-group { display:flex; gap:14px; flex-wrap:wrap; }
.radio-option { display:flex; align-items:center; gap:9px; padding:11px 20px; border:1px solid var(--eucalyptus-pale); border-radius:4px; cursor:pointer; font-size:13px; color:var(--text-mid); transition:all .2s; user-select:none; background:var(--white); }
.radio-option input[type=radio] { display:none; }
.radio-option.selected { border-color:var(--eucalyptus); background:var(--eucalyptus-mist); color:var(--eucalyptus-deep); }
.radio-dot { width:10px; height:10px; border-radius:50%; border:1.5px solid var(--eucalyptus-pale); flex-shrink:0; transition:all .2s; }
.radio-option.selected .radio-dot { background:var(--eucalyptus); border-color:var(--eucalyptus); }

.guest-fields { display:none; flex-direction:column; gap:22px; }
.guest-fields.visible { display:flex; }
.rsvp-submit-row { text-align:center; padding-top:8px; }
.rsvp-submit-row .btn { width:100%; padding:16px; font-size:11px; letter-spacing:.35em; }

.rsvp-success { display:none; text-align:center; padding:60px 20px; }
.rsvp-success.visible { display:block; }
.rsvp-success .success-icon { font-size:48px; margin-bottom:24px; }
.rsvp-success h2 { font-family:'Cormorant Garamond',serif; font-size:36px; font-style:italic; font-weight:300; color:var(--text-dark); margin-bottom:14px; }
.rsvp-success p { font-size:14px; color:var(--text-mid); line-height:1.75; }

/* ═══════════════════════════════════════
   Q&A
═══════════════════════════════════════ */
.qa-list { display:flex; flex-direction:column; gap:4px; margin-bottom:48px; }
.qa-item { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:6px; overflow:hidden; box-shadow:0 1px 12px rgba(92,138,114,0.05); }
.qa-q { width:100%; text-align:left; padding:20px 24px; background:none; border:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:500; color:var(--text-dark); transition:color .2s; }
.qa-q:hover { color:var(--eucalyptus-deep); }
.qa-chevron { font-size:13px; color:var(--eucalyptus-light); transition:transform .3s; flex-shrink:0; }
.qa-item.open .qa-chevron { transform:rotate(180deg); }
.qa-a { max-height:0; overflow:hidden; transition:max-height .35s ease, padding .35s ease; padding:0 24px; font-size:13.5px; line-height:1.8; color:var(--text-mid); }
.qa-item.open .qa-a { max-height:300px; padding:0 24px 20px; }

/* ═══════════════════════════════════════
   PAGE HEADERS
═══════════════════════════════════════ */
.page-header { text-align:center; margin-bottom:56px; }
.page-header h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(40px,7vw,62px); font-weight:300; font-style:italic; color:var(--text-dark); margin-bottom:14px; }
.page-header p { font-size:13px; line-height:1.75; color:var(--text-mid); max-width:520px; margin:0 auto; }

/* ═══════════════════════════════════════
   STAY PAGE
═══════════════════════════════════════ */
.stay-featured { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:8px; padding:36px 32px; position:relative; overflow:hidden; box-shadow:0 4px 32px rgba(92,138,114,0.09); margin-bottom:32px; }
.stay-featured::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(to right, var(--eucalyptus-pale), var(--eucalyptus), var(--eucalyptus-pale)); }
.stay-badge { display:inline-block; font-size:9px; letter-spacing:.35em; text-transform:uppercase; color:var(--white); background:var(--eucalyptus); padding:4px 12px; border-radius:20px; margin-bottom:12px; }
.stay-featured h2 { font-family:'Cormorant Garamond',serif; font-size:28px; font-weight:500; color:var(--text-dark); margin-bottom:8px; }
.stay-address { font-size:13px; color:var(--text-mid); line-height:1.65; margin-bottom:14px; }
.stay-perks { list-style:none; display:flex; flex-direction:column; gap:7px; margin-bottom:20px; }
.stay-perks li { font-size:13px; color:var(--text-mid); display:flex; align-items:center; gap:9px; }
.stay-perks li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--eucalyptus-light); flex-shrink:0; }
.stay-alt-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-bottom:32px; }
.stay-alt-card { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:6px; padding:24px 22px; box-shadow:0 2px 16px rgba(92,138,114,0.06); }
.stay-alt-card h3 { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:500; color:var(--text-dark); margin-bottom:6px; }
.stay-alt-card .stay-dist { font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--eucalyptus); margin-bottom:10px; display:block; }
.stay-alt-card p { font-size:12.5px; color:var(--text-mid); line-height:1.7; }
.info-note { background:var(--eucalyptus-mist); border:1px solid var(--eucalyptus-pale); border-radius:6px; padding:20px 24px; font-size:13px; line-height:1.75; color:var(--text-mid); display:flex; gap:14px; align-items:flex-start; }
.info-note-icon { font-size:20px; flex-shrink:0; margin-top:1px; }

/* ═══════════════════════════════════════
   REGISTRY
═══════════════════════════════════════ */
.registry-note { background:var(--eucalyptus-mist); border-left:3px solid var(--eucalyptus); border-radius:0 4px 4px 0; padding:18px 22px; font-size:13px; line-height:1.75; color:var(--text-mid); margin-bottom:36px; font-style:italic; }
.registry-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:40px; }
.registry-card { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:6px; padding:32px 22px; text-align:center; box-shadow:0 2px 20px rgba(92,138,114,0.06); display:flex; flex-direction:column; align-items:center; gap:14px; transition:transform .2s, box-shadow .2s; }
.registry-card:hover { transform:translateY(-3px); box-shadow:0 6px 32px rgba(92,138,114,0.12); }
.registry-card .reg-logo { font-size:32px; }
.registry-card h3 { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:500; color:var(--text-dark); }
.registry-card p { font-size:12.5px; color:var(--text-mid); line-height:1.7; }
.registry-cash { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:6px; padding:32px; display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:center; box-shadow:0 2px 20px rgba(92,138,114,0.06); }
.registry-cash h3 { font-family:'Cormorant Garamond',serif; font-size:24px; font-weight:500; color:var(--text-dark); margin-bottom:10px; }
.registry-cash p { font-size:13px; color:var(--text-mid); line-height:1.75; }
.registry-cash-visual { display:flex; justify-content:center; align-items:center; font-size:56px; opacity:.6; }

/* ═══════════════════════════════════════
   TRAVEL
═══════════════════════════════════════ */
.travel-venues { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:36px; }
.venue-card { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:6px; padding:28px 24px; box-shadow:0 2px 20px rgba(92,138,114,0.06); position:relative; overflow:hidden; }
.venue-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(to right, var(--eucalyptus-pale), var(--eucalyptus), var(--eucalyptus-pale)); }
.venue-card .venue-type { font-size:9px; letter-spacing:.35em; text-transform:uppercase; color:var(--eucalyptus); margin-bottom:8px; display:block; }
.venue-card h3 { font-family:'Cormorant Garamond',serif; font-size:21px; font-weight:500; color:var(--text-dark); margin-bottom:8px; }
.venue-card address { font-style:normal; font-size:12.5px; color:var(--text-mid); line-height:1.7; margin-bottom:14px; }
.travel-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:36px; }
.travel-card { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:6px; padding:26px 22px; box-shadow:0 2px 16px rgba(92,138,114,0.06); }
.travel-card .t-icon { font-size:28px; margin-bottom:12px; display:block; }
.travel-card h3 { font-family:'Cormorant Garamond',serif; font-size:20px; font-weight:500; color:var(--text-dark); margin-bottom:10px; }
.travel-card p { font-size:13px; color:var(--text-mid); line-height:1.75; }
.travel-card ul { padding-left:0; list-style:none; display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.travel-card ul li { font-size:12.5px; color:var(--text-mid); padding-left:16px; position:relative; }
.travel-card ul li::before { content:''; position:absolute; left:0; top:7px; width:5px; height:5px; border-radius:50%; background:var(--eucalyptus-light); }

/* ═══════════════════════════════════════
   HOME SPECIFIC
═══════════════════════════════════════ */
.home-hero { min-height: calc(100vh - var(--nav-h)); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:60px 36px; position:relative; }
.home-eyebrow { font-size:10px; letter-spacing:.42em; text-transform:uppercase; color:var(--eucalyptus); margin-bottom:24px; }
.home-names { font-family:'Cormorant Garamond',serif; font-size:clamp(60px,13vw,110px); font-weight:300; font-style:italic; line-height:1.0; color:var(--text-dark); margin-bottom:6px; }
.home-amp { color:var(--eucalyptus-light); font-size:1.1em; display:block; line-height:.9; }
.home-date { font-family:'Cinzel',serif; font-size:13px; letter-spacing:.22em; color:var(--text-mid); margin-bottom:8px; }
.home-venue { font-size:12px; letter-spacing:.12em; color:var(--text-light); margin-bottom:40px; }
.home-cta-row { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.home-details { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:820px; margin:0 auto; padding:64px 36px 80px; }
.home-detail-card { background:var(--white); border:1px solid var(--eucalyptus-mist); border-radius:6px; padding:28px 22px; text-align:center; box-shadow:0 2px 20px rgba(92,138,114,0.06); }
.home-detail-card .icon { font-size:26px; margin-bottom:14px; }
.home-detail-card h3 { font-family:'Cormorant Garamond',serif; font-size:18px; font-weight:500; color:var(--text-dark); margin-bottom:8px; }
.home-detail-card p { font-size:12.5px; line-height:1.7; color:var(--text-mid); }
.home-detail-card a { display:inline-block; margin-top:12px; font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--eucalyptus); text-decoration:none; border-bottom:1px solid var(--eucalyptus-pale); padding-bottom:2px; transition:color .2s, border-color .2s; }
.home-detail-card a:hover { color:var(--eucalyptus-deep); border-color:var(--eucalyptus); }
.home-countdown { text-align:center; padding:56px 36px; background:var(--white); border-top:1px solid var(--eucalyptus-mist); border-bottom:1px solid var(--eucalyptus-mist); position:relative; z-index:1; }
.home-countdown h2 { font-family:'Cormorant Garamond',serif; font-size:14px; font-weight:400; letter-spacing:.3em; text-transform:uppercase; color:var(--eucalyptus); margin-bottom:32px; }
.countdown-row { display:flex; justify-content:center; gap:40px; flex-wrap:wrap; align-items:center; }
.countdown-unit { text-align:center; }
.countdown-num { font-family:'Cormorant Garamond',serif; font-size:clamp(42px,7vw,64px); font-weight:300; line-height:1; color:var(--eucalyptus-deep); display:block; }
.countdown-lbl { font-size:9px; letter-spacing:.3em; text-transform:uppercase; color:var(--text-light); margin-top:6px; display:block; }
.countdown-sep { font-family:'Cormorant Garamond',serif; font-size:48px; color:var(--eucalyptus-pale); line-height:1; }

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media (max-width: 720px) {
  .nav { padding: 0 20px; }
  .nav-links { display:none; flex-direction:column; position:fixed; top:var(--nav-h); left:0; right:0; background:var(--white); padding:24px 28px 32px; gap:18px; border-bottom:1px solid var(--eucalyptus-mist); box-shadow:0 8px 32px rgba(0,0,0,0.07); z-index:99; }
  .nav-links.open { display:flex; }
  .nav-toggle { display:flex; }
  .nav-rsvp-btn { padding:6px 14px !important; }
  .home-details, .registry-grid { grid-template-columns:1fr; }
  .travel-venues, .travel-grid, .stay-alt-grid, .registry-cash { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .timeline::before { left:80px; }
  .tl-time { width:68px; }
  .tl-time .t-main { font-size:16px; }
  .inner, .rsvp-wrap { padding:40px 20px 72px; }
  .registry-cash-visual { display:none; }
}
@media (max-width: 480px) {
  .registry-grid { grid-template-columns:1fr; }
}
