/* Contact-only refinement. Loaded from the authoritative contact page source. */
.contact-page.detail-page .contact-hero-v8{padding:154px 0 78px}
.contact-page .contact-hero-v8__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:52px;align-items:center}
.contact-page .contact-hero-v8__content{min-width:0}
.contact-page.detail-page .contact-hero-v8__content h1{font-size:clamp(40px,3.7vw,58px);line-height:1.35;letter-spacing:-.055em;text-wrap:initial}
.contact-page .contact-hero-v8__content>p:not(.eyebrow){font-size:17px;line-height:1.85;max-width:640px}
.contact-page .contact-ready-chips{gap:9px 17px;margin-top:26px;font-size:12px}
.contact-page .contact-channels-panel{display:block;min-width:0;margin-top:32px;padding:28px;border:1px solid #abc5ef2b;border-radius:16px;background:radial-gradient(ellipse at 100% 0%,#4b467b1a,transparent 65%),linear-gradient(145deg,#101c2b,#080f1a);box-shadow:inset 0 1px #e1ebff0d}
.contact-page.detail-page .contact-channels-panel h2{font-size:28px;line-height:1.4;letter-spacing:-.045em;margin-bottom:24px}
.contact-page .contact-direct__channels{display:grid;gap:12px;margin:0}
.contact-page .contact-direct__item{position:relative;min-width:0;border:1px solid #92b2df22;border-radius:10px;padding:17px 16px 18px 65px;background:#bed4ff04}
.contact-page .contact-direct__item dt{margin:0;font-size:12px;line-height:1.6;color:#a0b4cf}
.contact-page .contact-direct__icon{position:absolute;top:20px;left:16px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #b4c9f526;border-radius:10px;background:linear-gradient(140deg,#8dacf714,#777ac006);color:#adc5f6}
.contact-page .contact-direct__icon svg{width:19px;height:19px}
.contact-page .contact-direct__item dd{margin:5px 0 0;color:#e5edf8;font-size:16px;line-height:1.65;letter-spacing:-.025em}
.contact-page .contact-direct__item dd>a{display:inline-block;max-width:100%;border-radius:4px;text-underline-offset:5px;transition:color .18s ease,background-color .18s ease}
.contact-page .contact-direct__item--phone dd,.contact-page .contact-direct__item--email dd{font-size:22px}
.contact-page .contact-direct__item--phone dd{letter-spacing:.015em;font-variant-numeric:tabular-nums}
.contact-page .contact-direct__item--email dd{white-space:normal;overflow-wrap:anywhere;letter-spacing:-.035em}
.contact-page .contact-direct__item--visit dd{font-size:14px;word-break:keep-all}
.contact-page .contact-direct__item dd>a:hover{color:#c0d5ff;text-decoration:underline}
.contact-page .contact-direct__item dd>a:focus-visible{outline:2px solid #b0cbff;outline-offset:5px}
.contact-page .contact-direct__item dd>.contact-direct__chat-link{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;margin-top:3px;padding:9px 13px;border:1px solid #a7c2f74d;border-radius:7px;background:linear-gradient(135deg,#233454,#25283f);font-size:13px;line-height:1.65;letter-spacing:0}
.contact-page .contact-direct__chat-link svg{width:17px;height:17px}
.contact-page .contact-direct__item dd>.contact-direct__chat-link:hover{background-color:#334765;text-decoration:none;color:#fff}
/* The approved screenshot crop includes its own fine border and rounded frame. */
.contact-page .contact-consultation-photo{min-width:0;width:100%;margin:0;overflow:hidden;border-radius:18px;box-shadow:0 0 0 1px #b0bbec24,0 10px 35px #656cbb16}
.contact-page .contact-consultation-photo img{display:block;width:100%;height:auto;aspect-ratio:803/599}
@media(max-width:1199px){
 .contact-page .contact-hero-v8__grid{gap:32px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
 .contact-page.detail-page .contact-hero-v8__content h1{font-size:43px}
 .contact-page .contact-channels-panel{padding:22px}
 .contact-page .contact-direct__item{padding-left:58px;padding-right:12px}
 .contact-page .contact-direct__icon{left:12px;width:32px;height:32px}
}
@media(max-width:980px){
 .contact-page.detail-page .contact-hero-v8{padding:140px 0 60px}
 .contact-page .contact-hero-v8__grid{grid-template-columns:1fr;gap:36px}
 .contact-page .contact-hero-v8__content{max-width:700px}
}
@media(max-width:767px){
 .contact-page.detail-page .contact-hero-v8{padding:121px 0 48px}
 .contact-page.detail-page .contact-hero-v8__content h1{font-size:35px;line-height:1.42}
 .contact-page .contact-hero-v8__content>p:not(.eyebrow){font-size:16px;line-height:1.85}
 .contact-page .contact-hero-v8__grid{gap:34px}
 .contact-page .contact-ready-chips{font-size:11px;gap:8px 14px;margin-top:25px}
}
/* Compact form and direct-contact spacing belong to this page. The form/panel
   qualifiers override the later shared layout without changing its rules. */
@media(max-width:1100px){
 .contact-page .contact-form-section-v8 .contact-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 .contact-page .contact-form-section-v8 .contact-form{padding:24px 20px}
 .contact-page .contact-form .contact-form-intro-v8{margin-bottom:24px}
 .contact-page .contact-form .contact-form-intro-v8 p{margin-top:12px}
 .contact-page .contact-form .form-section__title{margin-bottom:16px}
 .contact-page .contact-form .form-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:14px 16px}
 .contact-page .contact-form .form-field label{margin-bottom:6px;font-size:.875rem;line-height:1.55}
 .contact-page .contact-form .form-field label span{font-size:.8125rem}
 .contact-page .contact-form .form-field :is(input,select,textarea){min-width:0;min-height:46px;max-width:100%;padding:10px 12px;font-size:1rem;line-height:1.5}
 .contact-page .contact-form .form-field textarea{height:7rem;min-height:7rem;resize:vertical}
 .contact-page .contact-form .notice{margin-top:8px;font-size:.8125rem;line-height:1.7}
 .contact-page .contact-form .field-error{font-size:.8125rem;line-height:1.55}
 .contact-page .contact-form .field-error:not(:empty){margin-top:6px}
 .contact-page .contact-form :is(.field-error,.form-status):empty{display:none}
 .contact-page .contact-form .form-section+.form-section{margin-top:24px;padding-top:20px}
 .contact-page .contact-form .form-actions{margin-top:20px;gap:12px}
 .contact-page .contact-channels-panel{margin-top:24px;padding:20px 16px;border-radius:14px}
 .contact-page.detail-page .contact-channels-panel h2{font-size:1.375rem;line-height:1.4;margin:0 0 16px}
 .contact-page .contact-channels-panel .contact-direct__channels{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(18rem,calc((100% - 12px)/2))),1fr));gap:12px}
 .contact-page .contact-channels-panel .contact-direct__item{padding:12px 12px 12px 50px}
 .contact-page .contact-channels-panel .contact-direct__icon{top:14px;left:12px;width:28px;height:28px;border-radius:8px}
 .contact-page .contact-channels-panel .contact-direct__icon svg{width:17px;height:17px}
 .contact-page .contact-channels-panel .contact-direct__item dt{font-size:.75rem;line-height:1.5}
 .contact-page .contact-channels-panel .contact-direct__item dd{margin:4px 0 0;font-size:.875rem;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
 .contact-page .contact-channels-panel .contact-direct__item--phone dd{font-size:1.25rem;line-height:1.4;letter-spacing:0}
 .contact-page .contact-channels-panel .contact-direct__item--email dd{font-size:1rem;line-height:1.5;letter-spacing:-.015em;word-break:normal}
 .contact-page .contact-channels-panel .contact-direct__item--chat{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2px 10px}
 .contact-page .contact-channels-panel .contact-direct__item--chat dt{flex:1 1 4.5rem;min-width:0;word-break:keep-all}
 .contact-page .contact-channels-panel .contact-direct__item--chat dd{flex:0 1 auto;max-width:100%;margin:0 0 0 auto}
 .contact-page .contact-channels-panel .contact-direct__item--chat .contact-direct__icon{top:50%;transform:translateY(-50%)}
 .contact-page .contact-channels-panel .contact-direct__item dd>.contact-direct__chat-link{position:relative;isolation:isolate;min-height:44px;margin:0;padding:8px 9px;border:0;background:none;font-size:.8125rem;line-height:1.4;gap:7px}
 .contact-page .contact-channels-panel .contact-direct__chat-link::before{content:"";position:absolute;inset:4px 0;z-index:-1;border:1px solid #a7c2f74d;border-radius:6px;background:linear-gradient(135deg,#233454,#25283f);pointer-events:none}
 .contact-page .contact-channels-panel .contact-direct__item dd>.contact-direct__chat-link:hover{background:none}
 .contact-page .contact-channels-panel .contact-direct__chat-link:hover::before{background:#334765}
 .contact-page .contact-channels-panel .contact-direct__chat-link svg{flex-shrink:0}
}
@media(max-width:639px){
 .contact-page .contact-form-section-v8 .contact-form{padding:20px 16px}
}
@media(prefers-reduced-motion:reduce){.contact-page .contact-direct__item dd>a{transition:none}}

/* Form delivery feedback shares the existing contact palette and stays out of
   the layout until a request is pending or confirmed by the mail API. */
.contact-page .contact-form .form-status.is-pending{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:13px 15px;border:1px solid #b6a3ef55;border-radius:9px;background:#a38be614;color:#e1d9f8;font-size:.875rem;line-height:1.65;word-break:keep-all}
.contact-page .contact-form .form-status.is-pending::before,.contact-page .form-actions button[aria-busy="true"]::before{content:"";display:block;flex:0 0 auto;width:18px;height:18px;border:2px solid #b6a3ef40;border-top-color:#d8ccff;border-right-color:#d8ccff;border-radius:50%;animation:contact-delivery-spin .8s linear infinite}
.contact-page .form-actions button[aria-busy="true"]{display:inline-flex;align-items:center;justify-content:center;gap:10px;opacity:1;cursor:wait;background:#29243e;border-color:#a494cc;color:#f0eafa}
.contact-page .form-actions button[aria-busy="true"]>svg{display:none}
.contact-page .contact-form .form-status.is-success{color:#c6ecd9}
.contact-page.contact-result-open{overflow:hidden;padding-right:var(--contact-scrollbar-width,0px)}
.contact-page .contact-result{position:fixed;inset:0;width:min(420px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:32px 24px 24px;overflow:auto;border:1px solid #ac9acf77;border-radius:20px;background:radial-gradient(ellipse at 50% 0,#60518432,transparent 70%),#101827;color:#edf0f8;box-shadow:0 24px 90px #0009;text-align:center}
.contact-page .contact-result::backdrop{background:#030712bf;backdrop-filter:blur(4px)}
.contact-page .contact-result__close{position:absolute;right:7px;top:7px;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#b7b5c9;cursor:pointer}
.contact-page .contact-result__close svg{width:18px;height:18px}
.contact-page .contact-result__mark{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 18px;border:1px solid #c8b2f97a;border-radius:50%;background:linear-gradient(135deg,#ac92e43b,#7b6eab12);color:#ded0ff;box-shadow:0 0 26px #9b80d81a}
.contact-page .contact-result__mark svg{width:28px;height:28px}
.contact-page.detail-page .contact-result h2{margin:0;font-size:1.625rem;line-height:1.4;letter-spacing:-.04em}
.contact-page .contact-result__message{margin:14px 0 24px;color:#c4cada;font-size:.9375rem;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.contact-page .contact-result__confirm{display:block;width:100%;min-height:46px;padding:11px 18px;border:1px solid #d7cbee;border-radius:9px;background:#e3daf3;color:#192033;font:inherit;font-size:.9375rem;font-weight:650;cursor:pointer}
.contact-page .contact-result button:focus-visible{outline:2px solid #d5beff;outline-offset:4px}
.contact-page .contact-result__confirm:hover{background:#efe8fc}
.contact-page .contact-result__close:hover{background:#c4b4eb12;color:#fff}
@keyframes contact-delivery-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.contact-page .contact-form .form-status.is-pending::before,.contact-page .form-actions button[aria-busy="true"]::before{animation:none}}
