.contact-page{overflow:hidden}.contact-hero{background:radial-gradient(circle at 82% 28%, #b9dcffb3, transparent 24rem), var(--color-paper);padding:clamp(9rem,15vw,12rem) 0 clamp(5rem,9vw,8rem);position:relative}.contact-hero__inner{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:end;gap:clamp(3rem,8vw,8rem);display:grid}.contact-hero h1{letter-spacing:-.065em;max-width:none;margin:0;font-size:clamp(2.75rem,4.2vw,3.75rem);font-weight:800;line-height:1.24}.contact-hero__line{white-space:nowrap;width:fit-content;display:block}.contact-hero__line--accent{color:var(--color-blue)}.contact-hero__intro{min-width:0;padding:2rem 6.875rem 1rem 0;position:relative}.contact-hero__intro>p{z-index:1;margin:0;font-size:.95rem;font-weight:500;line-height:2;position:relative}.contact-hero__shape{border:18px solid var(--color-orange);opacity:.72;pointer-events:none;border-radius:50%;width:120px;height:120px;position:absolute;bottom:-1.75rem;right:-2.5rem}.contact-hero__shape span{background:var(--color-blue);border-radius:50% 50% 12px;width:46px;height:46px;position:absolute;bottom:6px;left:-10px}.contact-form-section{padding-block:var(--space-section);background:var(--color-white)}.contact-form-layout{grid-template-columns:minmax(250px,.66fr) minmax(0,1.34fr);align-items:start;gap:clamp(3rem,8vw,8rem);display:grid}.contact-form-guide{position:sticky;top:2rem}.contact-form-guide h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,3.6vw,3.2rem)}.contact-form-guide>p{margin:1.25rem 0 2rem;font-size:.88rem;line-height:1.9}.contact-status{background:#ff7a3d1a;border:1px solid #ff7a3d6b;border-radius:18px;gap:.35rem;padding:1.25rem;display:grid}.contact-status strong{font-size:.85rem}.contact-status span{font-size:.72rem;line-height:1.7}.contact-form{gap:3rem;min-width:0;display:grid}.contact-form [hidden]{display:none!important}.contact-form__input{gap:3rem;min-width:0;display:grid}.contact-form fieldset{border:0;border-bottom:1px solid var(--color-line);min-width:0;margin:0;padding:0 0 3rem}.contact-form legend{width:100%;margin-bottom:1.5rem;font-size:1rem;font-weight:700;line-height:1.6}.contact-form legend span{color:var(--color-blue);font-family:var(--font-en);margin-right:1rem;font-size:.72rem}.inquiry-types{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.inquiry-types label{border:1px solid var(--color-line);background:var(--color-paper);cursor:pointer;border-radius:18px;min-width:0;min-height:115px;padding:1.2rem 3rem 1.2rem 1.2rem;transition:border-color .18s,background-color .18s,transform .18s;position:relative}.inquiry-types label:hover{border-color:var(--color-blue);transform:translateY(-2px)}.inquiry-types label:has(input:checked){border-color:var(--color-blue);box-shadow:inset 0 0 0 1px var(--color-blue);background:#b9dcff73}.inquiry-types label:has(input:focus-visible){outline:3px solid var(--color-orange);outline-offset:3px}.inquiry-types input[type=radio]{width:18px;height:18px;accent-color:var(--color-blue);margin:0;padding:0;position:absolute;top:1.2rem;right:1.2rem}.inquiry-types input[type=radio]:focus-visible{outline:0}.inquiry-types label>span{line-break:strict;overflow-wrap:break-word;min-width:0;font-size:.78rem;font-weight:700;line-height:1.65;display:block}.contact-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.contact-field{align-content:start;gap:.65rem;display:grid}.contact-field label{font-size:.78rem;font-style:normal;font-weight:700}.contact-form small{background:var(--color-orange);color:#fff;border-radius:999px;margin-left:.4rem;padding:.15rem .4rem;font-size:.58rem}.contact-form em{color:#17204f85;margin-left:.35rem;font-size:.65rem;font-style:normal;font-weight:600}.contact-form input:not([type=radio]),.contact-form textarea{border:1px solid var(--color-line);background:var(--color-paper);width:100%;color:var(--color-ink);font:inherit;border-radius:14px}.contact-form input:not([type=radio]){height:56px;padding-inline:1rem}.contact-form textarea{resize:vertical;min-height:190px;padding:1rem}.contact-form input:not([type=radio])::placeholder,.contact-form textarea::placeholder{color:#17204f6b}.contact-form input:not([type=radio]):focus,.contact-form textarea:focus{border-color:var(--color-blue);outline-offset:1px;outline:3px solid #1f63ed29}.contact-form input:not([type=radio])[aria-invalid=true],.contact-form textarea[aria-invalid=true]{background:#fff8f5;border-color:#c94722}.field-error{color:#a73618;min-height:1.35em;margin:0;font-size:.7rem;font-weight:700;line-height:1.5}.inquiry-types+.field-error{margin-top:.65rem}.contact-privacy{border:1px solid var(--color-line);background:var(--color-paper);border-radius:18px;gap:.9rem;padding:1.35rem;display:grid}.contact-privacy p{margin:0;font-size:.75rem;line-height:1.8}.contact-privacy__link{width:fit-content;color:var(--color-blue);text-underline-offset:.3em;align-items:center;gap:.85rem;font-size:.72rem;font-weight:700;text-decoration:underline #1f63ed47;display:inline-flex}.contact-privacy__link span{color:var(--color-orange);transition:transform .18s}.contact-privacy__link:hover span{transform:translate(3px)}.validation-status{min-height:1.7em;color:var(--color-blue);margin:-1rem 0 0;font-size:.78rem;font-weight:700}.contact-form__actions{flex-wrap:wrap;justify-content:flex-end;gap:1rem;display:flex}.contact-form__actions button{min-height:54px;font:inherit;border-radius:999px;justify-content:space-between;align-items:center;gap:2rem;padding:.9rem 1.2rem;font-size:.78rem;font-weight:700;display:inline-flex}.contact-form__check{border:1px solid var(--color-ink);background:var(--color-white);color:var(--color-ink);cursor:pointer;transition:color .18s,background-color .18s,transform .18s}.contact-form__check:hover{background:var(--color-ink);color:#fff;transform:translateY(-2px)}.contact-form__back{border:1px solid var(--color-ink);background:var(--color-white);color:var(--color-ink);cursor:pointer}.contact-form__submit{background:var(--color-blue);color:#fff;cursor:pointer;border:0;min-width:270px;transition:opacity .18s,transform .18s}.contact-form__submit:not(:disabled):hover{transform:translateY(-2px)}.contact-form__submit:disabled{color:#17204f8c;cursor:not-allowed;background:#17204f2e}.contact-form__actions button:focus-visible{outline:3px solid var(--color-orange);outline-offset:3px}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-confirm{gap:2rem;min-width:0;display:grid}.contact-confirm__heading>span{color:var(--color-blue);font-family:var(--font-en);letter-spacing:.18em;font-size:.68rem;font-weight:700}.contact-confirm__heading h3{letter-spacing:-.04em;margin:.65rem 0 0;font-size:clamp(1.65rem,3vw,2.35rem)}.contact-confirm__heading p{margin:.8rem 0 0;font-size:.8rem;line-height:1.8}.contact-confirm__list{border-top:1px solid var(--color-line);margin:0}.contact-confirm__list>div{border-bottom:1px solid var(--color-line);grid-template-columns:minmax(150px,.42fr) minmax(0,1fr);gap:1.5rem;padding:1.25rem 0;display:grid}.contact-confirm__list dt{color:#17204f9e;font-size:.72rem;font-weight:700}.contact-confirm__list dd{overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;margin:0;font-size:.8rem;line-height:1.8}.contact-turnstile{align-content:start;gap:.75rem;min-height:4rem;display:grid}.contact-turnstile__notice,.submit-status{margin:0;font-size:.75rem;font-weight:700;line-height:1.7}.contact-turnstile__notice{color:#17204fad}.submit-status{color:#a73618;min-height:1.4em}.contact-complete{background:#b9dcff3d;border:1px solid #1f63ed4d;border-radius:28px;justify-items:start;gap:.8rem;padding:clamp(2rem,5vw,4rem);display:grid}.contact-complete>span{background:var(--color-blue);color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.contact-complete h3{letter-spacing:-.04em;margin:.6rem 0 0;font-size:clamp(1.5rem,3vw,2.2rem)}.contact-complete p,.contact-complete small{margin:0;line-height:1.8}.contact-complete p{font-size:.85rem}.contact-complete small{color:#17204f9e;max-width:40rem;font-size:.68rem}@media (width<=900px){.contact-hero__inner,.contact-form-layout{grid-template-columns:1fr}.contact-hero__intro{grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:2rem;max-width:none;padding-block:0;display:grid}.contact-hero__shape{border-width:20px;justify-self:end;width:140px;height:140px;position:relative;bottom:auto;right:auto}.contact-hero__shape span{width:52px;height:52px}.contact-form-guide{position:static}.contact-status{max-width:560px}.inquiry-types{grid-template-columns:1fr}.inquiry-types label{min-height:0}}@media (width>=901px){.contact-form-guide h2{white-space:nowrap;font-size:clamp(2rem,3vw,2.65rem)}}@media (width<=640px){.contact-hero{padding-top:8rem}.contact-hero h1{font-size:clamp(2rem,8.6vw,2.65rem);line-height:1.28}.contact-hero__intro{grid-template-columns:1fr;gap:1.5rem}.contact-hero__shape{border-width:16px;width:112px;height:112px;margin-right:-1.5rem}.contact-hero__shape span{width:42px;height:42px;bottom:4px;left:-8px}.contact-fields{grid-template-columns:1fr}.contact-form,.contact-form__input{gap:2.25rem}.contact-form fieldset{padding-bottom:2.25rem}.inquiry-types label{min-height:0;padding-block:1.1rem}.contact-form__actions{flex-direction:column}.contact-form__actions button{width:100%}.contact-confirm__list>div{grid-template-columns:1fr;gap:.45rem}}@media (prefers-reduced-motion:reduce){.inquiry-types label,.contact-form__check,.contact-form__submit,.contact-privacy__link span{transition:none}}
