/* Contact pages share the site's blue and yellow brand accents. */
.contact-view{--brand:#4eaeb8;--yellow:#e8c441;--paper-marker:#fdd728;--paper-black:#292728;color:#24373c;background:#fff}
.contact-title-band{padding:26px 0 48px;background:linear-gradient(105deg,#eef7f6 0%,#eef7f6 76%,#fcf4cf 76%);border-bottom:1px solid #dce9e8}
.contact-heading{padding-top:34px}
.contact-heading .section-kicker{margin-bottom:16px}
.contact-heading h1{font-size:clamp(30px,3.4vw,46px);line-height:1.5;letter-spacing:.025em;margin:0 0 18px;color:#292728}
.contact-heading p:last-child{font-size:16px;line-height:1.9;margin:0;color:#4b636a}
.contact-view .paper-emphasis{background:linear-gradient(transparent 76%,#fdd728 76%,#fdd728 91%,transparent 91%);padding:0 .04em}
.contact-heading-entry{display:inline-block}
.contact-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:76px;align-items:start;padding-block:64px 72px;max-width:1120px}
.contact-guide{padding-top:8px}
.contact-guide-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#e7f4f3;color:#087180;margin-bottom:22px}
.contact-guide-icon .icon{width:25px;height:25px}
.contact-guide h2{font-size:26px;line-height:1.7;letter-spacing:.02em;margin:0 0 20px;color:#24373c}
.contact-guide>p{font-size:15px;line-height:2;margin:0;color:#526970}
.contact-guide-line{width:100px;height:4px;background:linear-gradient(90deg,#4eaeb8 60%,#e8c441 60%);margin:28px 0}
.contact-guide .contact-help{font-size:13px}
.contact-help a{display:inline-flex;gap:18px;align-items:center;min-height:40px;color:#087180;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.contact-main{min-width:0}
.contact-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;background:#eef4f3;border-radius:16px}
.contact-tabs button{display:flex;justify-content:center;align-items:center;min-height:60px;padding:14px 18px;border:0;border-radius:11px;background:transparent;color:#526970;font:inherit;font-size:17px;font-weight:700;cursor:pointer;transition:background-color .18s,color .18s}
.contact-tabs button[aria-selected=true]{color:#193e43;background:#f3d856}
.contact-tabs button:hover{background:#e0edeb}
.contact-tabs button[aria-selected=true]:hover{background:#f3d856}
.contact-view :is(input,textarea,select,a,button):focus-visible,.contact-panel:focus-visible{outline:3px solid #087d8a;outline-offset:4px}
.contact-panel{padding:32px 0 0;scroll-margin-top:110px}
.contact-panel[hidden],.contact-view [hidden]{display:none!important}
.contact-panel-heading{padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid #dce7e6}
.contact-panel-heading h2{font-size:25px;line-height:1.6;margin:0 0 12px;color:#24373c}
.contact-panel-heading p{font-size:15px;color:#526970;line-height:1.9;margin:0}
.required-mark,.optional-mark{display:inline-block;flex:none;font-size:11px;font-weight:700;padding:3px 7px;line-height:1.5;border-radius:4px;vertical-align:middle;white-space:nowrap}
.required-mark{color:#953d28;background:#f9ece6}
.optional-mark{color:#526970;background:#edf2f3}
.contact-demo-note{border-left:3px solid #e8c441;background:#fcf8e8;padding:14px 16px;font-size:13px;line-height:1.8;color:#526970;margin:0 0 28px;border-radius:0 8px 8px 0}
.contact-field{margin:0 0 28px}
/* CF7 may insert a paragraph and a line break after each block label. */
.asano-contact-cf7 .contact-field>p{margin:0}
.asano-contact-cf7 .contact-field>p>label+br{display:none}
.contact-field label{display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:16px;line-height:1.7;font-weight:700;margin-bottom:10px}
.contact-field :is(input,textarea,select){display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:54px;padding:12px 15px;border:1px solid #a9c2c5;border-radius:8px;background:#fbfdfd;color:#24373c;font:inherit;font-size:16px;line-height:1.7;box-shadow:none}
.contact-field textarea{min-height:190px;resize:vertical}
.contact-field :is(input,textarea)::placeholder{color:#71848a;opacity:1;font-size:15px}
.contact-field-short input{max-width:190px}
.contact-field :is(input,textarea,select):focus{border-color:#087d8a;background:#fff}
.contact-field :is(input,textarea,select)[aria-invalid=true]{border-color:#ad3b29}
.contact-form-actions{padding:8px 0 0}
.contact-form-actions .btn,.contact-main .wpcf7-submit{min-width:260px;min-height:58px;justify-content:center;padding:15px 30px;border:1px solid #087180;border-radius:30px;background:#087180;color:#fff;font:inherit;font-size:16px;font-weight:700;line-height:1.6;cursor:pointer}
.contact-form-actions .btn:hover,.contact-main .wpcf7-submit:hover{background:#075d68;border-color:#075d68}
.contact-form-actions p{display:flex;align-items:center;margin:0}
.contact-main .wpcf7{margin:0}
.contact-main .wpcf7-form-control-wrap{display:block;min-width:0}
.contact-main .wpcf7-not-valid-tip{display:block;color:#a73523;font-size:14px;line-height:1.8;margin-top:6px}
.contact-main .wpcf7-spinner{flex:0 0 24px;margin:0 0 0 12px}
.contact-main .wpcf7-form .wpcf7-response-output{margin:26px 0 0;padding:16px 18px;border-width:1px;border-radius:10px;font-size:15px;line-height:1.9}
.contact-main .wpcf7-form.sent .wpcf7-response-output{border-color:#8bb6a7;background:#eef8f3;color:#234f41}
.contact-main .wpcf7-form:is(.invalid,.unaccepted,.payment-required) .wpcf7-response-output{border-color:#d0ad4a;background:#fff9e7;color:#5a4a19}
.contact-main .wpcf7-form:is(.failed,.aborted) .wpcf7-response-output{border-color:#d59e90;background:#fff3ef;color:#833322}
.contact-main .wpcf7-form.submitting .wpcf7-submit{opacity:.65;cursor:wait}
.contact-privacy-note{font-size:13px;line-height:1.9;color:#526970;margin-top:22px}
.contact-privacy-note a{color:#087180;text-decoration:underline;text-underline-offset:3px}
.entry-information{padding:25px 28px;background:#eef7f5;border-radius:14px;margin:0 0 28px}
.entry-information h3{font-size:17px;line-height:1.7;margin:0 0 14px}
.entry-information ul{padding-left:1.3em;line-height:2.2;font-size:16px;margin:0}
.entry-form-link{border-radius:30px;min-height:58px;min-width:280px;justify-content:space-between;font-size:16px}
.entry-external-note{font-size:13px;line-height:1.9;color:#607178;margin-top:14px}
.contact-form-unavailable{padding:22px 24px;border:1px solid #d7e4e4;border-radius:12px;background:#f5f8f8;font-size:15px;line-height:1.9}
.contact-form-unavailable p{margin:0}
.contact-back{border-top:1px solid #d7e4e4;padding-top:24px;padding-bottom:48px}
/* Keep existing WPForms blocks intact when an editor-provided body is present. */
.contact-main .wpforms-container{margin:0}
.contact-main .wpforms-container .wpforms-field{padding:0 0 26px}
.contact-main .wpforms-container .wpforms-field-label{font-size:16px;font-weight:700;color:#24373c;margin-bottom:10px}
.contact-main .wpforms-container input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.contact-main .wpforms-container textarea,.contact-main .wpforms-container select{box-sizing:border-box;width:100%;max-width:100%;min-height:54px;height:auto;padding:12px 15px;border:1px solid #a9c2c5;border-radius:8px;background:#fbfdfd;color:#24373c;font-size:16px;line-height:1.7;box-shadow:none}
.contact-main .wpforms-container textarea{min-height:190px}
.contact-main .wpforms-container .wpforms-submit{min-height:58px;padding:15px 34px;background:#087180;border:1px solid #087180;border-radius:30px;color:#fff;font-size:16px;font-weight:700}
.contact-main .wpforms-container .wpforms-submit:hover{background:#075d68}
.contact-main .wpforms-container label.wpforms-error{color:#a73523;font-size:14px;margin-top:6px}
.contact-main .wpforms-confirmation-container-full{background:#eef7f3;border:1px solid #99c6b2;color:#234b41}
@media(max-width:1000px){
 .contact-layout{grid-template-columns:215px minmax(0,1fr);gap:40px}
 .contact-guide h2{font-size:23px}
 .contact-guide>p{font-size:14px}
}
@media(max-width:700px){
 .contact-title-band{padding-top:18px;padding-bottom:30px;background:linear-gradient(105deg,#eef7f6 0%,#eef7f6 84%,#fcf4cf 84%)}
 .contact-heading{padding-top:22px}
 .contact-heading .section-kicker{font-size:12px;margin-bottom:13px}
 .contact-heading h1{font-size:30px;line-height:1.55;margin-bottom:15px}
 .contact-heading-entry{display:block}
 .contact-separator{display:none}
 .contact-heading p:last-child{font-size:14px;max-width:25em}
 .contact-layout{display:block;padding-block:30px 40px}
 .contact-guide{display:none}
 .contact-tabs{gap:4px;padding:5px;border-radius:14px}
 .contact-tabs button{font-size:16px;min-height:56px;padding:12px 8px;border-radius:10px}
 .contact-panel{padding-top:26px}
 .contact-panel-heading{padding-bottom:20px;margin-bottom:24px}
 .contact-panel-heading h2{font-size:22px}
 .contact-panel-heading p{font-size:14px}
 .contact-field{margin-bottom:24px}
 .contact-field label{font-size:16px}
 .contact-field textarea{min-height:180px}
 .contact-form-actions .btn,.contact-main .wpcf7-submit{min-width:0;width:100%}
 .entry-form-link{min-width:0;width:100%}
 .contact-form-actions p{position:relative;display:block}
 .contact-main .wpcf7-spinner{position:absolute;right:14px;top:17px;margin:0}
 .contact-main .wpcf7-response-output{font-size:14px}
 .entry-information{padding:22px}
 .entry-information ul{font-size:15px}
 .contact-back{padding-bottom:34px}
}
@media(prefers-reduced-motion:reduce){.contact-tabs button{transition:none}}
