.contact-page{background:var(--bg);position:relative;z-index:2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;letter-spacing:-.003em;padding-bottom:0}.contact-hero{padding:clamp(96px,11vw,118px) 0 clamp(28px,4vw,40px);background:radial-gradient(ellipse 90% 80% at 50% -35%,rgba(var(--blue-rgb),.11),transparent 58%),linear-gradient(180deg,#f9fbff,#eef2fb);border-bottom:1px solid var(--border)}.contact-page .con{max-width:1080px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));box-sizing:border-box}.contact-head{margin-bottom:clamp(32px,5vw,48px)}.contact-page .contact-page-ttl{margin-bottom:1.25rem}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(28px,4.5vw,48px);align-items:start}.contact-copy{padding-top:2px;max-width:32rem}.contact-links{display:flex;flex-direction:column;gap:12px}.contact-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--dark);font-weight:600;font-size:.95rem;padding:10px 12px;margin-left:-12px;margin-right:-12px;border-radius:var(--r);transition:background .2s ease,color .2s ease}.contact-link:hover{color:var(--blue);background:rgba(var(--blue-rgb),.05)}.contact-link-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(var(--blue-rgb),.12);background:var(--white);color:var(--blue);box-shadow:0 2px 8px rgba(var(--blue-rgb),.08)}.contact-calendar{margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}.contact-calendar-copy{margin:0 0 8px;color:var(--text-2);font-size:.9rem;line-height:1.5}.contact-cal-link{color:var(--blue);font-weight:600;font-size:.88rem;text-decoration:underline;word-break:break-all}.contact-qr-row{display:flex;align-items:center;gap:12px;margin-top:10px}.contact-qr-link{display:inline-block;margin-top:0;border-radius:12px;transition:transform .18s ease}.contact-qr-link:hover{transform:translateY(-1px)}.contact-qr{width:132px;height:132px;border-radius:12px;border:1px solid var(--border);background:var(--white);padding:6px;box-shadow:0 4px 16px rgba(var(--blue-rgb),.08)}.contact-qr-copy p{margin:0 0 4px;font-size:.8rem;font-weight:600;color:var(--text-2)}.contact-qr-copy a{font-size:.82rem;font-weight:700;color:var(--blue);text-decoration:underline}.contact-hq{margin-top:22px;padding-top:20px;border-top:1px solid var(--border)}.contact-hq-label{display:flex;align-items:center;gap:8px;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}.contact-hq-label svg{color:var(--blue);opacity:.85;flex-shrink:0}.contact-hq-address{font-size:.9rem;line-height:1.55;color:var(--text-2);margin:0}.contact-card{background:var(--white);border:1.5px solid rgba(var(--blue-rgb),.14);border-radius:var(--r-xl);padding:clamp(22px,3vw,28px);box-shadow:0 1px #fffc inset,0 16px 44px rgba(var(--blue-rgb),.12);position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),var(--cyan));opacity:.35}.contact-card form{position:relative;z-index:1}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-bottom:12px}.contact-field{display:flex;flex-direction:column;gap:6px;min-width:0}.contact-field--full{grid-column:1 / -1}.contact-field label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.contact-field input,.contact-field textarea{width:100%;padding:11px 14px;border-radius:12px;border:1.5px solid var(--border);font-family:inherit;font-size:.92rem;color:var(--dark);background:var(--white);transition:border-color .2s ease,box-shadow .2s ease}.contact-field input::-moz-placeholder,.contact-field textarea::-moz-placeholder{color:var(--text-4)}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text-4)}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:rgba(var(--blue-rgb),.45);box-shadow:0 0 0 3px rgba(var(--blue-rgb),.12)}.contact-field textarea{min-height:118px;resize:vertical;line-height:1.5}.contact-field input[aria-invalid=true],.contact-field textarea[aria-invalid=true]{border-color:#dc2626}.contact-field input[aria-invalid=true]:focus,.contact-field textarea[aria-invalid=true]:focus{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261f}.contact-field__error{font-size:.78rem;font-weight:600;color:#b91c1c;margin:0;line-height:1.35}.contact-field__hint{font-size:.75rem;font-weight:500;color:var(--text-3);margin:0;line-height:1.35}.contact-submit-btn{width:100%;justify-content:center;margin-top:6px;padding-top:14px;padding-bottom:14px}.contact-submit-btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.contact-toast{margin-top:12px;padding:11px 14px;border-radius:12px;font-size:.88rem;font-weight:600;line-height:1.45;background:#00e0761a;color:#047857;border:1px solid rgba(0,224,118,.22)}.contact-error{margin-top:12px;padding:11px 14px;border-radius:12px;font-size:.88rem;font-weight:600;line-height:1.45;background:#dc262614;color:#b91c1c;border:1px solid rgba(220,38,38,.22)}.contact-error a{color:inherit;text-decoration:underline}@media (max-width: 900px){.contact-grid{grid-template-columns:1fr;gap:24px}.contact-copy{max-width:none}.contact-form-grid{grid-template-columns:1fr;gap:14px}.contact-card{padding:22px 18px}}@media (max-width: 640px){.contact-hq-label{font-size:9.5px;letter-spacing:.1em}}
