.contact-page{background:#000b26;color:#fff;padding:clamp(8rem,11vw,10rem) 0 5rem}.contact-page .contact-layout{width:100%;max-width:1440px;margin:auto;padding:0 60px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,4vw,4rem)}.contact-page .contact-intro h1{font-size:clamp(2.625rem,4.5vw,4.8rem);font-weight:600;line-height:1.08;letter-spacing:-.035em;color:#fff;margin:0 0 1.5rem}.contact-page .contact-intro h1 em{font-style:normal;color:#bced78}.contact-page .contact-intro>p{color:#cfd9e8;max-width:43ch;font-size:1.125rem;line-height:1.7;margin:0}.contact-booking{margin-top:1.75rem}.contact-page .contact-booking .contact-booking-link{display:inline-flex;align-items:center;justify-content:space-between;gap:1.25rem;max-width:100%;min-height:54px;padding:14px 20px;border:1px solid #bced78;border-radius:4px;color:#bced78;font-size:1.125rem;font-weight:600;line-height:1.4;text-decoration:none}.contact-booking-link svg{flex:none}.contact-page .contact-booking .contact-booking-link:hover{background:#bced78;color:#142421}.contact-page .contact-booking .contact-booking-link:focus-visible{outline:3px solid #fff;outline-offset:4px}.contact-page .contact-booking p{color:#cfd9e8;font-size:1rem;line-height:1.6;margin:12px 0 0;max-width:38ch}.contact-page .contact-art{width:100%;margin:1.5rem 0 0;aspect-ratio:3/2}.contact-art img{width:100%;height:auto;display:block;aspect-ratio:3/2;object-fit:contain}.contact-page .contact-main{background:#fff;color:#142421;padding:clamp(1.5rem,2.5vw,2.5rem);border-radius:8px;min-width:0}.contact-main .contact-form-heading{font-size:clamp(1.5rem,2.3vw,1.9rem);line-height:1.2;letter-spacing:-.02em;margin:0 0 1.5rem;color:#142421}.contact-page .contact-form{gap:1.25rem;position:relative}.contact-page .contact-trap{left:0;top:0;contain:strict}.contact-page .contact-pair{gap:1.25rem}.contact-page .contact-field textarea{min-height:150px}.contact-page .contact-field input,.contact-page .contact-field textarea{background:#f7f9f5;border-color:#91a194}.contact-page .contact-field input:focus,.contact-page .contact-field textarea:focus{background:#fff}.contact-page .contact-form .contact-notice{font-size:.875rem;line-height:1.6}.site-aligned .contact-page .nh-button{width:100%;background:#bced78;color:#142421;min-height:54px}.site-aligned .contact-page .nh-button:hover{background:#d0f4a2}.contact-page .contact-success{background:#fff;padding:0}.contact-page .contact-success h2{font-size:clamp(1.75rem,3vw,2.5rem);color:#142421}.contact-page .contact-errors{padding:1.25rem;margin:0 0 1.5rem}.contact-page .contact-errors h2{font-size:1.4rem}@media(max-width:1100px){.contact-page .contact-layout{padding-inline:32px}.contact-page .contact-pair{grid-template-columns:1fr}}@media(max-width:900px){.contact-page{padding:8rem 0 3rem}.contact-page .contact-layout{grid-template-columns:minmax(0,1fr);gap:0;max-width:720px;padding-inline:24px}.contact-page .contact-intro{display:contents}.contact-page .contact-intro>p{margin-bottom:2rem}.contact-page .contact-booking{margin:0 0 2rem}.contact-page .contact-main{order:1;padding:24px}.contact-page .contact-art{order:2;margin-top:2rem}.contact-page .contact-pair{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:540px){.contact-page .contact-layout{padding-inline:20px}.contact-page .contact-main{padding:22px 18px}.contact-page .contact-pair{grid-template-columns:1fr}.contact-page .contact-intro>p{font-size:1rem}.contact-page .contact-intro h1{font-size:clamp(2.625rem,9vw,3.25rem)}}
