/* About content only. The approved shared page hero keeps its own styles. */
.about-page .about-section {
  --gold-dark:#846536;
  padding:clamp(56px,5vw,76px) clamp(24px,7vw,110px);
  color:var(--ink);
  font:400 1rem/1.75 Manrope,Arial,sans-serif;
}
.about-section .about-inner { width:100%; max-width:1320px; margin-inline:auto; }
.about-section :is(h2,h3) { font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif; font-weight:500; letter-spacing:-.035em; }
.about-section h2 { font-size:clamp(2.625rem,4.1vw,3.875rem); line-height:1.03; }
.about-section .eyebrow { margin:0 0 22px; color:var(--gold-dark); font-size:.75rem; letter-spacing:.15em; }
.about-section .text-link { display:inline-flex; align-items:center; gap:14px; min-height:44px; margin-top:8px; font:600 .875rem/1.5 Manrope,Arial,sans-serif; letter-spacing:.015em; text-transform:none; }
.about-section a:focus-visible { outline:2px solid var(--gold-dark); outline-offset:5px; }
.about-story-section { background:#f8f4ed; }
.about-story-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(48px,5vw,72px); }
.about-photo { overflow:hidden; border-radius:var(--radius-image); background:#eee5d8; }
.about-photo img { width:100%; height:100%; object-fit:cover; }
.about-story-photo { aspect-ratio:5/4; }
.about-story-intro { max-width:590px; }
.about-story-intro p:not(.eyebrow) { margin:22px 0 0; }
.about-story-intro .about-lead { font-size:1.125rem; line-height:1.7; }
.about-details-section { background:#f1eade; }
.about-details-intro { max-width:760px; margin:0 auto 40px; text-align:center; }
.about-details-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.about-detail { min-width:0; }
.about-detail-photo { aspect-ratio:4/3; }
.about-detail-photo .about-home-detail { object-position:center 72%; }
.about-detail-photo .about-note-detail { object-position:center 80%; }
.about-detail h3 { margin:24px 0 0; padding-top:20px; border-top:1px solid rgba(169,133,73,.4); font-size:clamp(1.625rem,2.1vw,2rem); line-height:1.15; }
.about-detail p { margin:14px 0 0; }
.about-cta-section { background:var(--paper); }
.about-invitation { position:relative; isolation:isolate; display:flex; align-items:center; min-height:460px; overflow:hidden; border:1px solid rgba(169,133,73,.32); border-radius:var(--radius-image); background:var(--paper); box-shadow:0 12px 32px rgba(75,57,31,.08),0 2px 6px rgba(75,57,31,.03); }
.about-invitation::after { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:linear-gradient(90deg,var(--paper) 0%,rgba(255,253,249,.82) 18%,rgba(255,253,249,.5) 35%,rgba(255,253,249,.18) 48%,rgba(255,253,249,0) 58%); }
.about-invitation-copy { position:relative; z-index:1; width:52%; padding:clamp(32px,4vw,60px); }
.about-invitation-copy h2 { font-size:clamp(2.625rem,3.5vw,3.75rem); }
.about-invitation-copy p:not(.eyebrow) { max-width:390px; margin:24px 0 30px; }
.about-invitation-copy .button { min-height:54px; padding:16px 24px; gap:14px; background:var(--gold-dark); color:var(--paper); font:700 .875rem/1.3 Manrope,Arial,sans-serif; letter-spacing:.015em; text-transform:none; }
.about-invitation-copy .button:hover { background:#70552d; }
.about-invitation-photo { position:absolute; z-index:-1; inset:0; min-width:0; }
.about-invitation-photo img { width:100%; height:100%; object-fit:cover; object-position:right center; }
@media(max-width:1000px) {
  .about-invitation { flex-direction:column; min-height:0; }
  .about-invitation::after { display:none; }
  .about-invitation-copy { width:100%; padding:40px 28px 16px; }
  .about-invitation-copy h2 { font-size:clamp(2rem,5.2vw,2.625rem); }
  .about-invitation-photo { position:relative; z-index:0; inset:auto; width:100%; aspect-ratio:1.2; }
  .about-invitation-photo img { position:absolute; inset:0; }
  .about-invitation-photo::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(var(--paper),rgba(255,253,249,.55) 8%,rgba(255,253,249,0) 24%); }
}
@media(max-width:820px) {
  .about-page .about-section { padding:72px 24px; }
  .about-story-layout { grid-template-columns:minmax(0,1fr); gap:28px; }
  .about-story-intro { grid-row:1; max-width:none; }
  .about-section h2 { font-size:clamp(2.25rem,6vw,3rem); }
  .about-details-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  .about-detail + .about-detail { border-top:1px solid rgba(169,133,73,.4); padding-top:32px; }
  .about-detail h3 { border:0; padding:0; font-size:1.875rem; }
  .about-invitation-copy h2 { font-size:clamp(2rem,5.2vw,2.625rem); }
}
@media(hover:hover) and (pointer:fine) and (min-width:821px) and (prefers-reduced-motion:no-preference) {
  .about-photo img { transition:transform 650ms cubic-bezier(.22,.61,.36,1); }
  .about-photo:hover img { transform:scale(1.025); }
}
@media(prefers-reduced-motion:no-preference) {
  .about-page [data-reveal].is-reveal-pending { opacity:0; transform:translateY(12px); }
  .about-page [data-reveal].is-reveal-entering { animation:about-intro-reveal 1000ms cubic-bezier(.22,.61,.36,1) both; }
}
@keyframes about-intro-reveal { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(prefers-reduced-motion:reduce) { .about-section *, .about-section *::after { animation:none!important; transition:none!important; } }
@media print { .about-page [data-reveal] { opacity:1!important; transform:none!important; animation:none!important; } }

/* The same native, keyboard-accessible disclosures as the homepage. */
.about-faq-section { background:var(--paper); scroll-margin-top:90px; }
.about-faq-layout { display:grid; grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); gap:clamp(40px,7vw,110px); align-items:start; }
.about-faq-intro { max-width:420px; }
.about-faq-intro>p:not(.eyebrow) { max-width:340px; margin:24px 0; color:#625d55; }
.about-faq-intro .text-link { padding-bottom:5px; border-bottom:1px solid #a99574; }
.about-faq-list { border-top:1px solid #d7cbbc; }
.about-faq-section .faq-detail { border-bottom:1px solid #d7cbbc; }
.about-faq-section summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; list-style:none; font:600 1rem/1.6 Manrope,Arial,sans-serif; cursor:pointer; }
.about-faq-section summary::-webkit-details-marker { display:none; }
.about-faq-section summary:focus-visible { outline:2px solid var(--gold-dark); outline-offset:5px; }
.about-faq-section .faq-symbol { position:relative; width:28px; height:28px; flex:none; color:var(--gold-dark); }
.about-faq-section .faq-symbol::before,.about-faq-section .faq-symbol::after { content:''; position:absolute; left:7px; top:13px; width:14px; height:1px; background:currentColor; }
.about-faq-section .faq-symbol::after { transform:rotate(90deg); }
.about-faq-section .faq-detail[open] .faq-symbol::after { transform:rotate(0); }
.about-faq-section .faq-detail-answer { padding:0 40px 25px 0; }
.about-faq-section .faq-detail-answer p { margin:0; color:#625d55; font-size:1rem; line-height:1.8; }
.about-faq-section .faq-detail-answer a { text-decoration:underline; text-underline-offset:4px; color:#69512e; }
@media(prefers-reduced-motion:no-preference) { .about-faq-section .faq-symbol::after { transition:transform .2s ease; } }
@media(max-width:820px) {
  .about-faq-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
  .about-faq-intro { max-width:540px; }
  .about-faq-intro>p:not(.eyebrow) { max-width:none; }
  .about-faq-section summary { gap:16px; padding:22px 0; }
  .about-faq-section .faq-detail-answer { padding-right:12px; }
}
