.contact-page .page-intro,.faq-page .page-intro{max-width:850px;padding-bottom:40px}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:30px 0 110px}
.contact-options>section{border-top:1px solid #dfe2e5;padding-top:30px}
.contact-options h2,.booking-heading h2,.contact-help h2{font-size:clamp(28px,3.5vw,44px);font-weight:450;letter-spacing:-.045em;line-height:1.13;margin:14px 0 24px}
.contact-options p{max-width:460px;color:#61676d;line-height:1.7}
.contact-address{display:inline-block;font-size:clamp(20px,2.2vw,27px);letter-spacing:-.025em;margin-top:15px;text-underline-offset:6px}
.contact-page .actions{align-items:center;margin-top:26px;gap:24px}
.booking-section{scroll-margin-top:35px;border-top:1px solid #dfe2e5;padding-top:46px}
.booking-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:40px}
.booking-heading p{color:#61676d;line-height:1.7;max-width:450px}
.booking-shell{border:1px solid #e0e3e5;border-radius:22px;background:#fff;overflow:hidden}
.booking-intro{text-align:center;padding:42px 30px;max-width:660px;margin:auto}
.booking-intro img{display:block;object-fit:contain;margin:0 auto 6px}
.booking-intro h3{font-size:28px;font-weight:450;letter-spacing:-.04em;margin:12px 0 20px}
.booking-intro>p{font-size:15px;color:#62686e;line-height:1.7}
.booking-intro .action{margin-top:14px}
.booking-intro .fine{font-size:12px;margin-top:24px}
.calendar-frame:not([hidden]){display:block;padding:0 16px 12px}
.calendar-frame iframe{display:block;width:100%;min-height:560px;border:0;border-radius:12px;background:#fff}
.calendar-status:empty{display:none}.calendar-status{padding:0 28px 20px;margin:0}
.booking-fallback{margin-top:22px!important;max-width:700px;line-height:1.7}
.contact-help{border-top:1px solid #dfe2e5;margin-top:90px;padding-top:38px}
.faq-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:70px;margin:24px 0 50px}
.faq-contents{display:flex;flex-direction:column;gap:20px;align-self:start;position:sticky;top:40px;padding-top:13px;font-size:14px}
.faq-contents a{text-decoration:none;color:#656b71}.faq-contents a:hover{text-decoration:underline;text-underline-offset:4px}
.faq-groups>section{scroll-margin-top:35px;margin-bottom:70px}.faq-groups h2{font-size:29px;letter-spacing:-.035em;font-weight:450;margin:0 0 24px}
.faq-groups details{border-top:1px solid #e0e3e5;padding:22px 0}.faq-groups details:last-child{border-bottom:1px solid #e0e3e5}
.faq-groups summary{list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:17px;line-height:1.5;font-weight:500;cursor:pointer}
.faq-groups summary::-webkit-details-marker{display:none}.faq-groups summary span{font-size:22px;color:#7c8389;transition:transform .2s}.faq-groups details[open] summary span{transform:rotate(45deg)}
.faq-groups details p{margin:16px 38px 0 0;color:#5f666c;font-size:16px;line-height:1.8;max-width:700px}
.privacy-commitment{border:1px solid #dfe2e5;border-radius:18px;padding:30px;margin-block:28px}
.privacy-commitment>svg{width:40px;height:40px;display:block;margin-bottom:22px}
.privacy-regions{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0}.privacy-regions span{border:1px solid #d4d8dc;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:600;letter-spacing:.04em}
@media(max-width:800px){.contact-options,.booking-heading{gap:40px}.faq-layout{grid-template-columns:1fr;gap:36px}.faq-contents{position:static;flex-direction:row;flex-wrap:wrap;gap:14px 24px}.contact-options{margin-bottom:70px}}
@media(max-width:600px){.contact-options,.booking-heading{grid-template-columns:1fr;gap:32px}.contact-options h2 br{display:none}.contact-options{margin:10px 0 65px}.booking-heading{margin-bottom:28px}.booking-heading h2 br{display:none}.booking-intro{padding:30px 20px}.booking-shell{border-radius:16px}.calendar-frame:not([hidden]){padding:0 4px 8px}.contact-help{margin-top:60px}.faq-groups>section{margin-bottom:48px}.faq-groups summary{font-size:16px}.faq-groups details p{margin-right:0}.contact-page .actions{gap:18px}}
@media(prefers-reduced-motion:reduce){.faq-groups summary span{transition:none}}
