.public-page.contact-page{max-width:1100px;padding-bottom:88px}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr);max-width:740px;gap:36px;align-items:start;padding-top:32px;font-family:'LP Live Inter',Inter,Arial,sans-serif}
.contact-layout .eyebrow{color:var(--selection);text-transform:uppercase}
.contact-layout h1{font-family:'LP Live Playfair','Playfair Display',Georgia,serif;font-size:clamp(40px,4.6vw,58px);line-height:1.08;margin:12px 0 22px}
.contact-layout .home-intro{font-size:18px;line-height:1.75;margin:0 0 26px;color:var(--muted)}
.contact-faq-link{display:inline-block;color:var(--text);font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-layout .contact-faq-note{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.contact-form{display:grid;gap:22px;min-width:0;margin-top:0}
.contact-field{display:grid;gap:9px}
.contact-field label{font:700 14px/1.5 'LP Live Inter',Inter,Arial,sans-serif;color:var(--text)}
.contact-form input,.contact-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:15px 17px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;font:400 16px/1.6 'LP Live Inter',Inter,Arial,sans-serif;box-shadow:none}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--muted);opacity:.85}
.contact-form textarea{resize:vertical;min-height:190px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--focus);outline-offset:2px}
.contact-form>.button{justify-self:start;min-height:50px;padding-inline:28px}
.contact-form>.button:disabled{cursor:wait;opacity:.7}
.contact-page .contact-form-status{margin:0;padding:15px 18px;border-radius:12px;border:1px solid var(--border);font-size:15px;line-height:1.6}
.contact-form-status[hidden]{display:none}
.contact-page .contact-form-status.is-success{background:var(--success-bg);color:var(--success)}
.contact-page .contact-form-status.is-error{background:var(--surface);color:var(--text);border-color:var(--selection)}
.public-page.contact-thank-you{max-width:1100px;padding-bottom:80px}
.contact-thank-you .contact-confirmation{max-width:760px;margin:48px auto 32px;padding:60px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:28px;box-shadow:0 18px 45px var(--shadow)}
.contact-confirmation .eyebrow{color:var(--selection);text-transform:uppercase}
.contact-confirmation h1{font-family:'LP Live Playfair','Playfair Display',Georgia,serif;font-size:64px;margin:12px 0 26px}
.contact-confirmation>p:not(.eyebrow){font-size:20px;line-height:1.75;margin:0;color:var(--muted)}
.contact-confirmation>.button{margin-top:30px;min-height:48px;background:var(--soft);color:var(--text);border:1px solid var(--border);box-shadow:none}
.contact-confirmation>.button:hover{background:var(--surface)}
@media(max-width:600px){.contact-thank-you .contact-confirmation{padding:36px 24px;margin-block:32px}.contact-confirmation h1{font-size:44px}.contact-confirmation>p:not(.eyebrow){font-size:17px}}
@media(max-width:800px){.contact-layout{padding-top:16px}.public-page.contact-page{padding-bottom:56px}}
@media(max-width:500px){.contact-form>.button{width:100%}.contact-layout .home-intro{font-size:17px}}
.book-success .contact-confirmation{padding:56px 48px}
.book-success .contact-confirmation .eyebrow{font-size:11px;letter-spacing:.14em;margin:0 0 18px}
.book-success .contact-confirmation h1{font-size:clamp(36px,4.4vw,54px);line-height:1.15;margin:0 0 26px}
.book-success .contact-confirmation .book-success-description{max-width:540px;margin:0 auto;font-size:18px;line-height:1.75}
.book-success .contact-confirmation .book-success-action{margin:32px 0 18px}
.book-success-action .button{min-height:48px;padding:13px 26px;font-size:15px}
.book-success .contact-confirmation .book-success-note{max-width:430px;margin:0 auto;font-size:14px;line-height:1.65}
.book-success .contact-confirmation .book-success-links{margin:30px 0 0;padding-top:24px;border-top:1px solid var(--border);font-size:14px;line-height:1.7}
@media(max-width:600px){.book-success .contact-confirmation{padding:36px 24px}.book-success .contact-confirmation .book-success-description{font-size:16px}}
