/* Shared contact experience: light, welcoming and useful on every page. */
.desktop-nav .nav-vcard{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:0.9375rem;color:#633d85}
.nav-vcard .icon{width:18px;height:18px}
.nav-vcard:focus-visible{outline:2px solid #633d85;outline-offset:5px;border-radius:4px}
.site-footer .footer-vcard{font-size:1rem;display:inline-flex;gap:8px;align-items:center;color:#633d85;margin-top:13px;padding-bottom:4px;border-bottom:1px solid #d4c1e3;width:fit-content}
.footer-vcard .icon{width:18px;height:18px}
.mobile-menu nav .mobile-vcard{justify-content:flex-start;gap:15px;color:#633d85}
.mobile-menu nav .mobile-vcard .icon{width:22px;height:22px}
.page-contact{position:relative;isolation:isolate;background:radial-gradient(ellipse at 10% 18%,#eee3f5 0,transparent 38%),radial-gradient(ellipse at 95% 90%,#f5eddc 0,transparent 34%),#fbf9fc;border-top:1px solid #e9e1ef;scroll-margin-top:110px;overflow:hidden}
.page-contact::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(#85629b06 1px,transparent 1px),linear-gradient(90deg,#85629b06 1px,transparent 1px);background-size:55px 55px;mask-image:linear-gradient(#000,transparent 70%)}
.contact-section-heading{max-width:810px;margin-bottom:45px}
.contact-section-heading h2{font-size:clamp(2.1875rem,3.57vw,3.375rem);line-height:1.15;letter-spacing:-.045em;color:#30213e}
.contact-section-heading>p:last-child{max-width:650px;line-height:1.85;font-size:1.25rem;color:#66596f;margin-top:20px}
.page-contact .page-contact-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4%;align-items:start}
.page-contact-info{position:sticky;top:120px;padding:32px;border:1px solid #e2d6ea;border-radius:23px;background:linear-gradient(145deg,#fffdfef5,#f3ecf8e8);box-shadow:0 16px 45px #5c3b7110;min-width:0}
.contact-card-kicker{display:flex;align-items:center;gap:13px;font-size:0.8125rem;font-weight:700;letter-spacing:.09em;line-height:1.5;color:#633d85;margin-bottom:30px}
.contact-card-kicker small{display:block;font-size:0.8125rem;color:#73647e;font-weight:400;letter-spacing:0;margin-top:4px}
.contact-card-emblem{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:#eee2f7;border:1px solid #ddcce9;flex:none}
.contact-card-emblem .icon{width:24px;height:24px}
.page-contact-info>h3{font-family:Space,sans-serif;font-weight:500;font-size:clamp(2.125rem,3.465vw,3.0625rem);line-height:1.15;letter-spacing:-.04em;color:#392549}
.page-contact-info>p:not(.contact-location){font-size:1.125rem;line-height:1.85;color:#685971;margin-top:18px}
.page-contact-info .contact-options{margin-top:25px;gap:11px}
.page-contact-info .contact-options>a{padding:17px 15px;border-radius:12px;background:#fffafee6;gap:13px}
.page-contact-info .contact-options strong{font-size:1.0625rem}
.page-contact-info .contact-options small{font-size:0.8125rem}
.contact-options .vcard-description{display:block;font-size:0.875rem;color:#766380;margin-top:5px;line-height:1.5}
.contact-followup{display:flex;align-items:flex-start;gap:11px;padding-top:24px;margin-top:25px;border-top:1px solid #dfd0e9;color:#645170}
.contact-followup>span{width:23px;height:23px;border-radius:50%;background:#eee3f5;display:grid;place-items:center;flex:none;color:#633d85}
.contact-followup>span .icon{width:14px;height:14px}
.contact-followup h4{font-size:1rem;font-weight:700;line-height:1.5;color:#452e57}
.contact-followup p{font-size:0.9375rem;line-height:1.8;margin-top:7px}
.page-contact-info .contact-location{font-size:0.9375rem;line-height:1.8;color:#796a83;margin-top:24px}
.page-contact .review-form-panel{box-shadow:0 20px 60px #59426b0b}
.page-contact .review-form-panel h2{font-size:2.3125rem}
.page-contact .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-contact .form-intro{font-size:1.0625rem;line-height:1.85}
.page-contact .form-chapter legend{font-size:1.625rem}
.form-success .confirmation-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin-top:27px}
.form-success .confirmation-actions .button{margin:0;font-size:0.9375rem;min-height:46px;padding:13px 17px}
.form-success .confirmation-actions .button-light{background:#f4edf9;border:1px solid #decee9;color:#633d85}
.form-success .confirmation-reminder{font-size:0.9375rem;line-height:1.8;color:#75667f;margin-top:26px}
.form-success #confirmation-note:not([hidden]){background:#f6f1fa;color:#604b70;padding:14px 16px;border-radius:9px;font-size:1rem;line-height:1.75;border:1px solid #e8ddef}
.form-success .request-reference:not([hidden]){font-size:0.875rem;letter-spacing:.02em;color:#6a5878;margin-top:15px;overflow-wrap:anywhere}
@media(min-width:1001px) and (max-width:1280px){.nav-vcard-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.desktop-nav .nav-vcard{min-width:29px;justify-content:center}.studio-header .desktop-nav{gap:13px}}
@media(max-width:1100px){.page-contact .page-contact-layout{grid-template-columns:minmax(0,.74fr) minmax(0,1.26fr);gap:24px}.page-contact-info{padding:25px}.page-contact-info .contact-options>a{padding:15px 12px;gap:10px}.page-contact-info .contact-options>a>.icon:last-child{display:none}.page-contact-info .contact-options strong{font-size:0.9375rem}.page-contact .review-form-panel{padding:28px}.page-contact .form-section-nav>a{font-size:0.8125rem}.page-contact .form-row{grid-template-columns:1fr}}
@media(max-width:900px){.page-contact .page-contact-layout{grid-template-columns:1fr;gap:25px}.page-contact-info{position:static;padding:30px;display:grid;grid-template-columns:.9fr 1.1fr;gap:15px 30px}.contact-card-kicker{grid-column:1/-1;margin-bottom:8px}.page-contact-info>h3{font-size:2.4375rem;grid-column:1;grid-row:2}.page-contact-info>p:not(.contact-location){grid-column:1;grid-row:3;margin-top:0}.page-contact-info .contact-options{grid-column:2;grid-row:2/5;margin-top:0}.page-contact-info .contact-options strong{font-size:1.0625rem}.page-contact-info .contact-location{grid-column:1;grid-row:4;margin:0}.contact-followup{grid-column:1/-1;margin-top:10px}.page-contact .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.page-contact .form-section-nav>a{font-size:0.9375rem}.page-contact .review-form-panel{padding:35px}}
@media(max-width:600px){.contact-section-heading{margin-bottom:30px}.contact-section-heading h2{font-size:2.3125rem}.contact-section-heading>p:last-child{font-size:1.125rem;margin-top:18px}.page-contact-info{padding:25px 20px;display:block;border-radius:18px}.contact-card-kicker{margin-bottom:25px}.page-contact-info>h3{font-size:2.3125rem}.page-contact-info>h3 br{display:none}.page-contact-info>p:not(.contact-location){margin-top:15px;font-size:1.0625rem}.page-contact-info .contact-options{margin-top:23px}.page-contact-info .contact-options strong{font-size:1rem}.page-contact-info .contact-options>a{padding:16px 13px}.page-contact-info .contact-location{margin-top:20px}.contact-followup{margin-top:24px}.page-contact .review-form-panel{padding:27px 19px;border-radius:18px}.page-contact .review-form-panel h2{font-size:2.0625rem}.page-contact .form-row{grid-template-columns:1fr}.page-contact .form-section-nav>a{font-size:0.8125rem}.page-contact .form-chapter legend{font-size:1.5rem}.form-success .confirmation-actions{display:grid;grid-template-columns:1fr}.form-success .confirmation-actions .button{justify-content:space-between}.contact-options .vcard-description{font-size:0.8125rem}}
@media(prefers-reduced-motion:reduce){.page-contact-info .contact-options>a{transition:none;transform:none}}
@media print{.page-contact-info{position:static;box-shadow:none}.page-contact .page-contact-layout{display:block}.page-contact{background:#fff}.contact-section-heading{break-after:avoid}}

#review-form input[type=hidden]{display:none!important}
.form-success .confirmation-actions .button{width:auto}
@media(max-width:600px){.form-success .confirmation-actions .button{width:100%}}
