[hidden] { display: none !important; }
.contact-main { max-width: 1440px; margin: auto; padding: 150px 6vw 72px; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 6vw; }
.contact-eyebrow { font-size: 12px; letter-spacing: .15em; color: #b4c4aa; margin-bottom: 22px; }
.contact-intro h1 { font-size: clamp(62px, 6.8vw, 108px); line-height: .96; font-weight: 400; margin-bottom: 32px; }
.contact-copy { max-width: 440px; font-size: 15px; line-height: 1.9; color: #e5ecdf; }
.contact-book-link { display: inline-block; margin-top: 24px; font-size: 13px; border-bottom: 1px solid #b4c4aa; padding-bottom: 6px; }
.contact-photo { margin-top: 40px; max-width: 400px; }
.contact-photo img { width: 100%; height: 300px; object-fit: cover; }
.contact-photo figcaption { font-size: 12px; margin-top: 12px; color: #b4c4aa; }
.contact-booking { min-width: 0; scroll-margin-top: 24px; }
.contact-booking h2 { font-family: Baskerville, 'Times New Roman', serif; font-size: clamp(30px, 3vw, 42px); line-height: 1.15; margin-bottom: 12px; }
.contact-booking > p:not(.contact-eyebrow) { font-size: 13px; line-height: 1.8; color: #e5ecdf; }
.calendly-inline-widget { margin-top: 24px; background: #f7f5f0; border-radius: 5px; overflow: hidden; }
.contact-fallback { margin-top: 16px; }
.contact-fallback a { text-decoration: underline; text-underline-offset: 4px; }
.contact-footer { border-top: 1px solid #b4c4aa40; margin: 0 6vw; padding: 26px 0; display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; font-size: 12px; color: #b4c4aa; }
a:focus-visible, button:focus-visible { outline: 2px solid #f7f5f0; outline-offset: 5px; }
.skip-link { position: absolute; top: -100px; left: 20px; z-index: 100; background: #f7f5f0; color: #172013; padding: 12px; }
.skip-link:focus { top: 20px; }
@media (max-width: 900px) { .contact-main { grid-template-columns: 1fr; padding-top: 120px; gap: 48px; } .contact-intro h1 br { display: none; } .contact-photo { max-width: none; } .contact-photo img { height: 260px; } }
@media (max-width: 639px) { body > header { right: 52px; padding-left: 12px; padding-right: 0; } body > header h2 { letter-spacing: .1em; font-size: 13px; } .contact-main { padding: 105px 16px 40px; } .contact-intro h1 { font-size: 64px; } .contact-eyebrow { font-size: 10px; } .contact-photo { margin-top: 30px; } .contact-footer { margin: 0 16px; flex-direction: column; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.contact-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 26px; }
.contact-email-link { background: #f7f5f0; color: #172013; padding: 16px 20px; border-radius: 3px; font-size: 14px; line-height: 1.5; }
.contact-actions .contact-book-link { margin-top: 0; }
.contact-email-note { max-width: 420px; margin-top: 18px; color: #b4c4aa; font-size: 12px; line-height: 1.8; }
@media (max-width: 900px) { .contact-photo { display: none; } }

.calendly-inline-widget { min-height: 780px; }

/* Contact only: give Calendly the viewport without changing shared page styles. */
body.calendar-only{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;overflow:hidden;margin:0;background:#f7f5f0}
.calendar-only .calendar-screen{position:absolute;inset:80px 0 0;min-height:0;overflow:hidden;background:#f7f5f0}
.calendar-only .calendly-inline-widget{width:100%;height:100%;min-width:0;min-height:0;margin:0;border-radius:0;overflow:hidden}
.calendar-only .calendly-inline-widget iframe{display:block;width:100%;height:100%;border:0}
.calendar-only:before{content:"";position:absolute;inset:0 0 auto;height:80px;background:#2b3a24}
@media(max-width:639px){.calendar-only .calendar-screen{top:64px}.calendar-only:before{height:64px}}

/* Keep public pricing accessible without hiding the booking calendar. */
.calendar-only .calendar-screen{display:flex;flex-direction:column}.calendar-only .collections-first{flex:none;margin:0;padding:10px 16px;text-align:center;font-size:12px;line-height:1.6;color:#172013}.collections-first a{text-decoration:underline;text-underline-offset:3px}.calendar-only .calendly-inline-widget{flex:1;min-height:0;height:auto}
.contact-options{max-width:1400px;margin:0 auto;padding:120px 6vw 64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:6vw}
.contact-options h1{font-family:Baskerville,serif;font-size:clamp(36px,5vw,60px);line-height:1.1;margin:12px 0 24px}.contact-options p{line-height:1.7}.contact-options .collections-first{margin:20px 0}
#contact-inquiry{display:grid;gap:18px;margin-top:28px}#contact-inquiry label:not([hidden]){display:grid;gap:8px;font-size:14px}#contact-inquiry input,#contact-inquiry textarea{width:100%;box-sizing:border-box;background:#f7f5f0;color:#172013;border:1px solid #b4c4aa;padding:12px;font:inherit;font-size:16px;border-radius:3px}#contact-inquiry button{background:#f7f5f0;color:#172013;padding:14px 20px;border-radius:3px;justify-self:start}#contact-inquiry button:disabled{opacity:.65}#contact-inquiry [role=status]:empty{display:none}.contact-options a{text-decoration:underline;text-underline-offset:4px}.contact-options .calendly-inline-widget{height:780px}.contact-options section{scroll-margin-top:30px}
@media(max-width:850px){.contact-options{grid-template-columns:1fr;padding:100px 20px 48px;gap:64px}}
