.contact-page #inquiry { scroll-margin-top:76px; }

/* Supporting sections share the homepage type system; the approved hero is unchanged. */
.contact-page :is(.contact-inquiry,.contact-guidance,.contact-faq) {
  padding:64px 24px;
  font:400 1rem/1.65 Manrope,Arial,sans-serif;
}
.contact-page :is(.contact-inquiry,.contact-guidance,.contact-faq) :is(h2,h3) {
  font-family:'Cormorant Garamond','Iowan Old Style',Georgia,serif;
  font-weight:500;
  letter-spacing:-.035em;
}
.contact-page :is(.contact-inquiry,.contact-guidance,.contact-faq) h2 { font-size:clamp(2.125rem,3vw,2.75rem); line-height:1.08; }
.contact-page :is(.contact-inquiry,.contact-guidance,.contact-faq) .eyebrow { margin-bottom:14px; font-size:.75rem; letter-spacing:.15em; color:#846536; }
.contact-page :is(.contact-inquiry,.contact-guidance,.contact-faq) :is(a,button,summary):focus-visible { outline:2px solid #846536; outline-offset:5px; }
.contact-page #inquiry { display:block; padding:64px 24px; }
.contact-inquiry-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; max-width:1160px; margin:0 auto; align-items:start; }
.contact-inquiry .contact-aside { grid-column:1; grid-row:1; position:static; max-width:none; min-width:0; }
.contact-inquiry .contact-form-shell { grid-column:2; grid-row:1; min-width:0; margin-top:clamp(180px,16vw,210px); }
.contact-ghl-form { display:block; width:100%; height:891px; border:0; border-radius:24px; background:#fffdf9; }
.contact-aside>p:not(.eyebrow) { margin:18px 0 24px; color:#625d55; font-size:1rem; line-height:1.65; }
.contact-aside-image { width:100%; max-width:none; overflow:hidden; border-radius:22px; }
.contact-aside-image::after { display:none; }
.contact-aside-image img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:center; border-radius:22px; }
@media(hover:hover) and (pointer:fine) {
  .contact-aside-image,.contact-faq-image { transition:box-shadow .45s ease; }
  .contact-aside-image:hover,.contact-faq-image:hover { box-shadow:0 14px 30px rgba(65,50,30,.16); }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .contact-aside-image img,.contact-faq-image img { transition:transform .6s cubic-bezier(.22,.61,.36,1); }
  .contact-aside-image:hover img,.contact-faq-image:hover img { transform:scale(1.035); }
}
.contact-social { margin-top:28px; padding-top:24px; border-top:1px solid #ded1bf; }
.contact-social h3 { margin:0; font-size:2rem; line-height:1.1; }
.contact-social p { margin:10px 0 18px; color:#625d55; font-size:1rem; line-height:1.6; }
.contact-social-links { display:flex; flex-wrap:wrap; gap:10px; }
.contact-social-links a { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 12px; border:1px solid #d9cbbb; border-radius:12px; background:#fffdf9; color:#66502f; font:600 .875rem/1.4 Manrope,Arial,sans-serif; }
.contact-social-links a:hover { background:#ede3d5; border-color:#ab8d60; }
.contact-social-links svg { width:19px; height:19px; flex:none; }

.contact-guidance { background:#eee5d8; }
.contact-guidance::before { display:none; }
.contact-guidance-heading { max-width:760px; margin:0 auto 36px; text-align:center; }
.contact-guidance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; max-width:1160px; margin:0 auto; padding:0; list-style:none; border:0; background:none; }
.contact-guidance-grid li { min-width:0; padding:0 28px; }
.contact-guidance-grid li:first-child { padding-left:0; }
.contact-guidance-grid li:last-child { padding-right:0; }
.contact-guidance-grid li+li { border-left:1px solid #cdbda5; }
.contact-step-number { display:block; margin-bottom:16px; color:#846536; font:600 .875rem/1 Manrope,Arial,sans-serif; letter-spacing:.1em; }
.contact-guidance-grid h3 { margin:0 0 12px; font-size:1.875rem; line-height:1.15; }
.contact-guidance-grid p { margin:0; color:#625d55; font-size:1rem; line-height:1.65; }

.contact-faq { background:#fffdf9; }
.contact-faq-layout { display:grid; grid-template-columns:minmax(0,3fr) minmax(0,2fr); gap:56px; max-width:1160px; margin:0 auto; align-items:start; }
.contact-faq-copy { min-width:0; }
.contact-faq-heading { margin:0 0 32px; text-align:left; }
.contact-faq-list { border-top:1px solid #ded1bf; }
.contact-faq-image { margin:0; width:100%; overflow:hidden; border-radius:22px; }
.contact-faq-image img { display:block; width:100%; height:auto; aspect-ratio:4/5; }
.contact-faq .faq-detail { border-bottom:1px solid #ded1bf; }
.contact-faq summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; list-style:none; color:#33291f; font:600 1rem/1.6 Manrope,Arial,sans-serif; cursor:pointer; }
.contact-faq summary::-webkit-details-marker { display:none; }
.contact-faq .faq-symbol { position:relative; width:24px; height:24px; flex:none; color:#846536; }
.contact-faq .faq-symbol::before,.contact-faq .faq-symbol::after { content:''; position:absolute; left:5px; top:11px; width:14px; height:1px; background:currentColor; }
.contact-faq .faq-symbol::after { transform:rotate(90deg); }
.contact-faq details[open] .faq-symbol::after { transform:rotate(0); }
.contact-faq .faq-detail-answer { padding:0 44px 22px 0; }
.contact-faq .faq-detail-answer p { margin:0; color:#625d55; font:400 1rem/1.75 Manrope,Arial,sans-serif; }
.contact-faq .faq-detail-answer a { color:#765830; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:820px) {
  .contact-page :is(.contact-inquiry,.contact-guidance,.contact-faq),.contact-page #inquiry { padding:40px 24px; }
  .contact-inquiry-layout { max-width:620px; grid-template-columns:minmax(0,1fr); gap:36px; }
  .contact-inquiry .contact-form-shell { grid-column:1; grid-row:1; margin-top:0; }
  .contact-inquiry .contact-aside { grid-column:1; grid-row:2; }
  .contact-ghl-form { min-height:1100px; }
  .contact-guidance-heading { text-align:left; margin-bottom:28px; }
  .contact-guidance-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .contact-guidance-grid li,.contact-guidance-grid li:first-child,.contact-guidance-grid li:last-child { padding:0; }
  .contact-guidance-grid li:not(:first-child) { padding-top:24px; border-left:0; border-top:1px solid #cdbda5; }
  .contact-step-number { margin-bottom:12px; }
  .contact-faq-layout { max-width:620px; grid-template-columns:minmax(0,1fr); gap:32px; }
  .contact-faq-heading { margin-bottom:24px; }
  .contact-faq summary { gap:12px; padding:20px 0; }
  .contact-faq .faq-detail-answer { padding-right:0; }
}

/* Display the complete Concierge Collection without cropping the gift. */
.contact-aside-image img[data-concierge-product],
.contact-faq-image img[data-concierge-product] { aspect-ratio:1; object-fit:contain; object-position:center; }
