.contact-form{display:grid;gap:18px}.form-grid{display:grid;gap:18px}.form-field{display:flex;flex-direction:column;gap:7px} .form-field label{font-family:var(--font-heading);font-size:0.72rem;font-weight:700;letter-spacing:0.09em;text-transform:uppercase;color:var(--muted)}.form-field input[type="text"],.form-field input[type="email"],.form-field input[type="tel"],.form-field textarea{font:inherit;width:100%;padding:13px 16px;border:1px solid #DDE2EB;border-radius:10px;background:var(--tint);color:var(--ink);transition:background-color 0.2s,border-color 0.2s,box-shadow 0.2s}.form-field ::placeholder{color:#7A8396;opacity:1}.form-field textarea{resize:vertical;min-height:150px}.form-field input:focus,.form-field textarea:focus{outline:none;background:var(--white);border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.form-field [aria-invalid="true"]{border-color:#B42318;background:#FFFBFA}.field-error{color:#B42318;font-size:0.9rem;margin:0} .contact-form .contact-submit{width:100%;gap:10px;padding:15px 24px;border-radius:10px;margin-top:4px}.contact-submit .icon{flex-shrink:0}.form-privacy{margin:0;font-size:0.82rem;line-height:1.5;color:var(--muted);text-align:center}.form-privacy a{color:inherit}.form-privacy a:hover{color:var(--blue)}.notice-error{background:#FEF3F2;color:#B42318} .hp-field{position:absolute !important;left:-10000px;width:1px;height:1px;overflow:hidden}.sent-inner{max-width:640px;text-align:center}.sent-inner .button-row{justify-content:center}.sent-icon{width:72px;height:72px;margin:0 auto 20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green-dark)}@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}} .contact-hero{position:relative;overflow:hidden;isolation:isolate;background:#0F172A;color:#CBD5E1;text-align:center;padding:64px 0 72px} .contact-hero::before,.contact-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}.contact-hero::before{background:radial-gradient(circle at 12% 20%,rgba(77,103,181,0.35),transparent 42%),radial-gradient(circle at 88% 85%,rgba(139,197,63,0.22),transparent 38%)}.contact-hero::after{background-image:radial-gradient(rgba(255,255,255,0.09) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 20%,transparent 75%)}.contact-badge{display:inline-block;margin:0 0 18px;padding:6px 16px;border:1px solid rgba(139,197,63,0.7);border-radius:999px;font-family:var(--font-heading);font-size:0.75rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--green)}.contact-hero h1{color:var(--white);font-size:clamp(2.6rem,8vw,4.2rem);margin-bottom:0.3em}.contact-hero-text{max-width:560px;margin:0 auto;font-size:1.15rem}.contact-kicker{font-size:0.85rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--blue);text-align:center;margin-bottom:28px}.contact-kicker::after{content:"";display:block;width:40px;height:3px;margin:12px auto 0;border-radius:3px;background:var(--green)} .contact-places{padding-bottom:8px}.place-grid{list-style:none;margin:0;padding:0;display:grid;gap:20px}.place-card{padding:28px 24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow);text-align:center}.place-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin-bottom:14px;border-radius:16px;background:var(--blue-soft);color:var(--blue)}.place-card h3{margin-bottom:0.35em}.place-card p{margin:0;color:var(--muted)} @media (max-width:639px){.place-card{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center;padding:18px 20px;text-align:left}.place-icon{grid-row:span 2;margin:0;width:48px;height:48px}.place-card h3{margin:0;font-size:1.08rem}} .contact-columns{display:grid;gap:24px;align-items:start}.contact-aside{display:grid;gap:24px}.info-card{padding:28px 24px;border-radius:var(--radius-lg);background:var(--tint)}.info-card-title{font-size:1.15rem;margin-bottom:14px}.info-list{list-style:none;margin:0;padding:0}.info-list li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.info-list li:last-child{border-bottom:0;padding-bottom:0}.info-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;background:var(--white);color:var(--blue);box-shadow:0 2px 8px rgba(28,36,52,0.06)}.info-body{min-width:0}.info-label{display:block;font-family:var(--font-heading);font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted)}.info-value{display:block;font-weight:600;overflow-wrap:anywhere}.info-value a{color:var(--ink);text-decoration:none}.info-value a:hover{color:var(--blue);text-decoration:underline}.info-sep{color:#A0A7B5;font-weight:400}.social-round{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}.social-round a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--blue);color:var(--white);transition:background-color 0.2s,transform 0.2s}.social-round a:hover{background:var(--blue-dark);color:var(--white);transform:translateY(-2px)}.form-card{padding:28px 20px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow);scroll-margin-top:80px}.form-card h2{font-size:clamp(1.5rem,3.5vw,1.9rem);margin-bottom:0.9em} .title-dot{display:inline-block;width:0.28em;height:0.28em;margin-left:0.12em;border-radius:50%;background:var(--blue)}.form-card .notice{margin-bottom:18px} .contact-map-section{padding-top:0}.map-box{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background-color:var(--blue-soft);background-image:linear-gradient(rgba(77,103,181,0.08) 1px,transparent 1px),linear-gradient(90deg,rgba(77,103,181,0.08) 1px,transparent 1px);background-size:32px 32px}.map-placeholder{min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:36px 20px;text-align:center}.map-placeholder[hidden]{display:none}.map-pin{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--white);color:var(--blue);box-shadow:var(--shadow)}.map-place{margin:0}.map-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.map-actions .btn-outline{background:var(--white)}.map-actions .btn-outline:hover{background:var(--blue)}.map-note{margin:0;font-size:0.85rem;color:var(--muted)} .map-load{display:none}.js .btn.map-load{display:inline-flex}.js .map-note.map-load{display:block}.map-frame{display:block;width:100%;height:340px;border:0} .faq-layout{display:grid;gap:28px;align-items:start}.faq-head .link-arrow{margin-top:4px}.faq-list{display:grid;gap:12px}.faq-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);transition:border-color 0.2s,box-shadow 0.2s}.faq-item[open]{border-color:rgba(77,103,181,0.35);box-shadow:var(--shadow)}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;list-style:none;cursor:pointer;font-family:var(--font-heading);font-weight:700;font-size:1.02rem;line-height:1.4;border-radius:var(--radius)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover .faq-question{color:var(--blue)}.faq-item summary:focus-visible{outline-offset:-3px}.faq-chevron{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--blue-soft);color:var(--blue);transition:transform 0.25s ease,background-color 0.2s,color 0.2s}.faq-item[open] .faq-chevron{transform:rotate(180deg);background:var(--blue);color:var(--white)}.js .faq-item[open]:not(.is-open) .faq-chevron{transform:none;background:var(--blue-soft);color:var(--blue)}.faq-answer-inner{padding:0 20px 20px}.faq-answer-inner>:last-child{margin-bottom:0}@media (min-width:640px){.place-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.form-card{padding:36px 40px}.info-card{padding:32px 28px}.map-placeholder{min-height:380px}.map-frame{height:420px}}@media (min-width:900px){.contact-hero{padding:88px 0 96px}.place-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contact-columns{grid-template-columns:minmax(0,0.9fr) minmax(0,1.3fr);gap:32px}.faq-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:64px}.faq-head{position:sticky;top:88px}}