.contact-hero{background:var(--up2-black);color:var(--on-dark);padding:140px var(--pad-x) 64px;position:relative;overflow:hidden}.contact-hero__grid{position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,0.04) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,0.04) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 20%,transparent 70%);pointer-events:none}.contact-hero__inner{max-width:var(--container);margin:0 auto;position:relative}.contact-hero__title{font-family:var(--font-head);font-weight:800;font-size:clamp(38px,5.4vw,76px);line-height:1.02;letter-spacing:-0.035em;max-width:18ch;text-wrap:balance;margin-top:14px;margin-bottom:22px}.contact-hero__title .accent{color:var(--up2-yellow)}.contact-hero__sub{font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:var(--on-dark-muted);max-width:60ch;text-wrap:pretty}.contact-section{padding:clamp(56px,7vw,100px) var(--pad-x);max-width:var(--container);margin:0 auto}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:start}@media (max-width:980px){.contact-grid{grid-template-columns:1fr;gap:48px}}.contact-form-wrap{background:var(--paper);border:1px solid var(--hairline);border-radius:18px;padding:clamp(28px,4vw,48px);box-shadow:var(--shadow-card)}.contact-form-title{font-family:var(--font-head);font-weight:800;font-size:clamp(24px,2.6vw,34px);letter-spacing:-0.025em;line-height:1.1;margin-bottom:12px}.contact-form-lead{color:var(--ink-muted);font-size:15px;line-height:1.6;margin-bottom:30px}.contact-form{display:flex;flex-direction:column;gap:22px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:620px){.form-row{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:8px}.field label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-2);font-weight:600}.field label .req{color:var(--up2-red);margin-left:2px}.field input,.field select,.field textarea{width:100%;font-family:var(--font-body);font-size:15px;color:var(--ink);background:var(--bg);border:1px solid var(--hairline);border-radius:10px;padding:13px 14px;transition:border-color .2s,background .2s,box-shadow .2s;outline:none}.field input::placeholder{color:var(--ink-faint)}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--ink-faint)}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--up2-yellow-deep);background:var(--paper);box-shadow:0 0 0 3px var(--up2-yellow-soft)}.field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:var(--up2-red);background:#FFF6F6}.field textarea{resize:vertical;min-height:140px;line-height:1.6}.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'><path d='M1 1l5 5 5-5' stroke='%230F0F0F' stroke-width='1.8' stroke-linecap='square' fill='none'/></svg>");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}.field__hint{font-size:12px;color:var(--ink-muted);line-height:1.5}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-error{font-size:13px;color:var(--up2-red);display:flex;align-items:center;gap:6px;margin-top:2px}.form-error::before{content:'!';display:inline-grid;place-items:center;width:16px;height:16px;background:var(--up2-red);color:#fff;font-family:var(--font-head);font-size:11px;font-weight:800;border-radius:50%;line-height:1}.form-error--top{background:#FFF6F6;border:1px solid rgba(229,57,53,0.25);padding:12px 14px;border-radius:8px;margin-bottom:18px}.form-foot{margin-top:10px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.form-foot__note{font-size:12px;color:var(--ink-muted);line-height:1.55;max-width:36ch}.contact-success{text-align:center;padding:24px 8px}.contact-success__mark{width:64px;height:64px;margin:0 auto 24px;display:grid;place-items:center;background:var(--up2-yellow-soft);color:var(--up2-yellow-deep);border-radius:50%;border:2px solid var(--up2-yellow-deep)}.contact-success__mark svg{width:30px;height:30px}.contact-success h2{font-family:var(--font-head);font-weight:800;font-size:clamp(24px,2.6vw,34px);letter-spacing:-0.025em;margin-bottom:14px;text-wrap:balance}.contact-success p{color:var(--ink-muted);font-size:16px;line-height:1.6;max-width:44ch;margin:0 auto}.contact-success a{color:var(--ink);border-bottom:2px solid var(--up2-yellow)}.contact-side{display:flex;flex-direction:column;gap:32px}.contact-side__title{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);font-weight:600}.contact-side__list{list-style:none;display:flex;flex-direction:column;gap:10px}.contact-side__item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 18px;background:var(--paper);border:1px solid var(--hairline);border-radius:12px;text-decoration:none;color:var(--ink);transition:border-color .2s,transform .2s,box-shadow .2s}.contact-side__item:hover{border-color:var(--up2-yellow);transform:translateY(-2px);box-shadow:var(--shadow-card)}.contact-side__icon{width:36px;height:36px;display:grid;place-items:center;background:var(--bg);border-radius:8px;color:var(--ink-2)}.contact-side__icon svg{width:18px;height:18px}.contact-side__body{line-height:1.3;min-width:0}.contact-side__label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:2px}.contact-side__body strong{font-size:15px;font-weight:600;letter-spacing:-0.01em;word-break:break-word}.contact-side__arrow{color:var(--up2-yellow-deep);font-family:var(--font-mono);font-weight:600}.contact-vcard{display:flex;align-items:center;gap:14px;padding:18px 22px;margin:22px 0;background:var(--up2-yellow);color:var(--up2-black);border-radius:12px;text-decoration:none;font-family:var(--font-body);transition:transform .15s,box-shadow .15s}.contact-vcard:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(245,197,24,0.35)}.contact-vcard__icon{display:grid;place-items:center;width:40px;height:40px;background:rgba(0,0,0,0.08);border-radius:8px;flex-shrink:0}.contact-vcard__icon svg{width:22px;height:22px}.contact-vcard__body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.contact-vcard__body strong{font-family:var(--font-head);font-weight:700;font-size:15px;letter-spacing:-0.01em}.contact-vcard__body span{font-size:12px;opacity:0.75}.contact-vcard__arrow{font-family:var(--font-mono);font-weight:700;font-size:18px}.contact-side__hours,.contact-side__faq{padding:22px 24px;background:var(--bg-2);border-radius:12px}.contact-side__hours h4,.contact-side__faq h4{font-family:var(--font-head);font-weight:700;font-size:16px;letter-spacing:-0.01em;margin-bottom:10px}.contact-side__hours p{font-size:14px;line-height:1.6;color:var(--ink-muted)}.contact-side__faq ol{list-style:none;counter-reset:faq-step;display:flex;flex-direction:column;gap:10px;margin:0 0 14px}.contact-side__faq ol li{counter-increment:faq-step;padding-left:30px;position:relative;font-size:14px;line-height:1.55;color:var(--ink-2)}.contact-side__faq ol li::before{content:counter(faq-step,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--up2-yellow-deep);letter-spacing:0.08em}.contact-side__faq-foot{font-size:13px;color:var(--ink-muted);padding-top:12px;border-top:1px solid var(--hairline)}