.contact-intro{background:linear-gradient(165deg, var(--color-cream) 36%, var(--color-lavender) 150%);padding:clamp(52px,8vw,96px) 0 clamp(46px,6vw,76px)}.contact-intro__grid{grid-template-columns:minmax(0,1.13fr) minmax(0,.87fr);align-items:center;gap:clamp(30px,6vw,86px);display:grid}.contact-intro__text{min-width:0}.contact-intro h1{overflow-wrap:anywhere;max-width:15ch;margin:18px 0 22px;font-size:clamp(38px,5.5vw,68px)}.contact-intro__lead{max-width:55ch;margin:0 0 20px;font-size:clamp(17px,2vw,20px);line-height:1.75}.contact-intro__body{max-width:55ch;margin:0;line-height:1.8}.contact-intro__portrait{border-radius:30px 30px 100px;margin:0;overflow:hidden}.contact-intro__portrait img{object-fit:cover;object-position:center 34%;width:100%;max-height:465px;display:block}.contact-section{background:var(--color-white);padding:clamp(44px,6vw,80px) 0}.contact-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,28px);display:grid}.contact-choice{border:1px solid var(--color-border);border-radius:26px;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(28px,4vw,44px);display:flex}.contact-choice--booking{background:var(--color-mint)}.contact-choice--email{background:var(--color-cream)}.contact-choice__number{color:var(--color-plum);letter-spacing:.16em;margin:0 0 22px;font-size:12px;font-weight:600}.contact-choice h2{max-width:24ch;color:var(--color-plum);margin:0 0 14px;font-size:clamp(22px,2.7vw,30px);line-height:1.3}.contact-choice p:not(.contact-choice__number){max-width:53ch;margin:0 0 26px;line-height:1.8}.contact-choice .button{margin-top:auto}.contact-choice small{max-width:52ch;color:var(--color-muted);margin:16px 0 0;font-size:12px;line-height:1.6;display:block}.contact-choice__secondary-link{border:1px solid var(--color-border);background:var(--color-white);min-height:44px;color:var(--color-plum);border-radius:999px;justify-content:center;align-items:center;gap:9px;margin-top:16px;padding:9px 15px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.contact-details{background:var(--color-lavender);padding:clamp(44px,6vw,78px) 0}.contact-details__grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,64px);display:grid}.contact-details__heading h2{max-width:20ch;margin:14px 0 16px;font-size:clamp(30px,4vw,43px)}.contact-details__heading p:last-child{max-width:42ch}.contact-details__list{background:var(--color-white);border-radius:22px;gap:0;margin:0;padding:0 clamp(20px,3vw,38px);display:grid}.contact-details__list>div{min-width:0;padding:21px 0}.contact-details__list>div+div{border-top:1px solid var(--color-border)}.contact-details__list dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:600}.contact-details__list dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:15px;line-height:1.65}.contact-details__list a{color:var(--color-plum);text-underline-offset:3px}.contact-paths{background:var(--color-cream);padding:clamp(32px,5vw,58px) 0}.contact-paths__inner{justify-content:space-between;align-items:center;gap:20px 32px;display:flex}.contact-paths h2{color:var(--color-plum);margin:0;font-size:clamp(17px,2vw,22px);line-height:1.4}.contact-paths__links{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.contact-paths__links a{color:var(--color-plum);text-underline-offset:3px;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.contact-paths__links a:hover{text-decoration-thickness:2px}.contact-choice__secondary-link:hover{border-color:var(--color-plum);background:var(--color-lavender)}.contact-choice__secondary-link:focus-visible{outline:3px solid var(--color-teal);outline-offset:3px}@media (width<=800px){.contact-intro__grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:25px}.contact-choices{grid-template-columns:1fr}.contact-paths__inner{flex-direction:column;align-items:flex-start}}@media (width<=620px){.contact-intro__grid{grid-template-columns:1fr}.contact-intro__portrait{border-radius:24px 24px 65px;max-height:330px}.contact-intro__portrait img{max-height:330px}.contact-details__grid{grid-template-columns:1fr}.contact-details__list{padding-inline:20px}.contact-choice{padding:26px 22px}.contact-paths__links{flex-direction:column;align-items:flex-start}}
