/* MODERN — layered on top of refreshed.css. Warmer and more relaxed for couples in their late 20s and 30s:
   oat + sand + the logo's gold, Fraunces display type with DM Sans, rounded photos, pill buttons, sentence-case UI. */
:root {
  /* A deeper, low-glare palette: warm oat page, sand sections, soft cards (no bright white). */
  --bg: #e9e1d5;           /* warm oat (page) */
  --surface: #f1ebe2;      /* cards, form, FAQ: a touch lighter than the page for depth */
  --ink: #2a2320;
  --muted: #5f5249;
  --gold: #ac9430;         /* the logo's exact gold: buttons, rings, highlights */
  --accent: #6b561c;       /* same gold, deepened so small text stays readable on every background */
  --sage: #7c8a72;
  --soft: #ddd1c1;         /* sand (section panels) */
  --blush: #e2d7bd;        /* gold-tinted sand (booking banner) */
  --line: #d2c3b1;
  --link: #6b561c;
  --header-bg: #e9e1d5;
  --field-bg: #f1ebe2;
  --btn-bg: #ac9430;
  --btn-ink: #2a2320;
  --btn-hover: #2a2320;
  --radius: 12px;
  --font-head: "Fraunces", Georgia, serif;
  --font-body: "DM Sans", "Helvetica Neue", Arial, sans-serif;
  --font-ui: "DM Sans", "Helvetica Neue", Arial, sans-serif;
  --text: 1.04rem;
  --gap: 10px;
  /* slide-out menu: espresso panel, cream links, logo-gold highlight */
  --panel-bg: #2a2320;
  --panel-ink: #f7f2ec;
  --panel-accent: #ac9430;
  --ring: #ac9430;
}

body { font-weight: 400; letter-spacing: 0; }
h1, h2, h3 { font-weight: 300; letter-spacing: -.01em; font-variation-settings: "SOFT" 100; }   /* lighter = more refined */
h1 { font-size: clamp(2.5rem, 5.4vw, 4.6rem); line-height: 1.04; }
h2 { font-size: clamp(2rem, 3.8vw, 3.1rem); line-height: 1.08; }
em, i { font-style: italic; }
.lead { color: var(--muted); }


/* Small labels: plain, widely spaced capitals (quiet and upscale, not pill tags) */

/* Buttons: gently rounded, sentence case */
.btn { border-radius: 8px; text-transform: none; letter-spacing: .01em; font-size: .95rem; font-weight: 500; padding: .85em 1.8em; }
.btn:not(.btn-light):not(.btn-outline) { border-color: var(--btn-bg); color: var(--btn-ink); }
.btn:not(.btn-light):not(.btn-outline):hover { background: var(--ink); border-color: var(--ink); color: var(--surface); }
.btn-light { border-color: rgba(255,255,255,.85); }
.link-arrow { text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 500; }

/* Menu button + slide-out menu: sentence case, softer */
.nav-toggle .menu-label { letter-spacing: .08em; text-transform: none; font-size: .9rem; font-weight: 500; }
.site-nav a { font-weight: 300; }

/* Home photo: headline sits bottom-left like a magazine cover (plus a soft top shade for the logo) */
.hero::after { background: linear-gradient(to bottom, rgba(42,35,32,.58), rgba(42,35,32,.18) 16%, rgba(42,35,32,0) 30%), linear-gradient(to top right, rgba(42,35,32,.7), rgba(42,35,32,.1) 60%); }
.hero-overlay { text-align: left; left: clamp(20px, 6vw, 80px); right: auto; width: min(100% - 40px, 760px); margin: 0; bottom: clamp(40px, 9vh, 96px); }
.hero-overlay .eyebrow { color: #eadcb0; }
.hero-overlay h1 { font-size: clamp(2.2rem, 4.6vw, 4.2rem); margin-bottom: 26px; }

/* Rounded photos everywhere */
.about-photo img, .about-page-photo img { border-radius: 28px; }
.gallery-item, .post-gallery img, .prose figure img, .about-images img, .feature-photo img, .wedding-lead-img { border-radius: 10px; overflow: hidden; }
.wedding-card .card-img, .post-card .card-img { border-radius: 20px; }
.wedding-card h2, .wedding-card h3 { font-size: 1.6rem; margin-top: .2em; }

/* Reviews in soft cards */
.testimonials { background: var(--bg); }
.testimonials-heading { font-style: italic; }
.testimonial blockquote { font-style: normal; font-weight: 300; font-size: clamp(1.2rem, 1.9vw, 1.6rem); }
.testimonial figcaption { color: var(--accent); letter-spacing: .1em; font-weight: 600; }
.testimonial img { border-radius: 24px; box-shadow: 0 14px 36px rgba(42, 35, 32, .14); }
.carousel-controls button { background: var(--surface); border-color: var(--line); }

/* Sections */
.featured-weddings { background: var(--soft); border-radius: 40px; width: min(100% - 24px, 1500px); margin-inline: auto; }

/* Booking banner: warm blush instead of dark */
.cta-band { background: var(--blush); color: var(--ink); border-radius: 40px; width: min(100% - 24px, 1180px); margin: 0 auto clamp(40px, 6vw, 80px); padding: clamp(24px, 3.5vw, 44px) 0; }
.cta-inner { width: calc(100% - clamp(48px, 7vw, 96px)); grid-template-columns: minmax(0, 340px) minmax(0, 1fr); }
.cta-photo img { border-radius: 24px; box-shadow: 0 14px 36px rgba(42, 35, 32, .16); }
.cta-band .eyebrow { color: var(--accent); }
.cta-band p { color: var(--muted); }
.cta-band .btn-light { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.cta-band .btn-light:hover { background: var(--ink); border-color: var(--ink); color: var(--surface); }
@media (max-width: 760px) { .cta-inner { grid-template-columns: 1fr; } }

/* Footer */
.site-footer { background: var(--soft); border-radius: 40px 40px 0 0; }
.footer-bottom { border-color: var(--line); }

/* FAQ as rounded cards */
.faq-accordion { border-top: 0; display: grid; gap: 12px; }
.faq { border: 0; background: var(--surface); border-radius: 18px; padding: 0 24px; box-shadow: 0 2px 10px rgba(42,35,32,.04); }
.faq summary::after { color: var(--accent); }

/* Contact: rounded, fully outlined fields */
.contact-form { border-radius: 24px; border-color: var(--line); background: var(--surface); }
.contact-form label { text-transform: none; letter-spacing: 0; font-size: .92rem; font-weight: 500; }
.contact-form input, .contact-form textarea { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; background: var(--bg); }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--accent); background: var(--surface); }
.contact-lines span:nth-child(2) { color: var(--accent); }

/* Collections + corporate cards: soft rounded cards, gold for the featured collection */
.collection { border-radius: 28px; border-color: transparent; box-shadow: 0 2px 12px rgba(42,35,32,.05); }
.collection.is-featured { border: 1.5px solid var(--gold); box-shadow: 0 20px 50px rgba(42,35,32,.12); }
.collection-badge { background: var(--gold); color: var(--ink); letter-spacing: .12em; font-weight: 600; }
.corp-services-list li { border-radius: 20px; border-color: transparent; }
.contact-form select { border-radius: 12px; background: var(--bg); }
.contact-form select:focus { outline: none; border-color: var(--accent); background: var(--surface); }

/* Wedding page title bottom-left */
.wedding-hero-text { text-align: left; left: clamp(20px, 6vw, 80px); right: auto; }
.wedding-hero-text .eyebrow { color: #eadcb0; }
.post-meta { color: var(--accent); letter-spacing: .06em; }
.client-logos img { filter: grayscale(1); }

@media (max-width: 700px) {
  .featured-weddings, .cta-band { border-radius: 28px; width: calc(100% - 16px); }
  .site-footer { border-radius: 28px 28px 0 0; }
}
