.contact-page{width:min(1080px,calc(100% - 40px));margin:0 auto;padding:54px 0 76px}.contact-hero{max-width:720px;margin:0 auto 36px;text-align:center}.contact-hero h1{margin:16px 0 10px;font-size:clamp(32px,5vw,46px);line-height:1.08;letter-spacing:-1.8px}.contact-hero>p{max-width:580px;margin:0 auto;color:var(--muted);font-size:14px;line-height:1.7}.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.75fr);gap:22px;align-items:start}.contact-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 20px 65px #183b2910}.contact-form-card{padding:26px}.contact-form-card h2,.contact-info h2{margin:0;font-size:20px;letter-spacing:-.5px}.contact-lead{margin:7px 0 20px;color:var(--muted);font-size:12px;line-height:1.6}.contact-form{display:grid;gap:14px}.contact-form>label:not(.contact-honeypot){display:grid;gap:7px;color:#40564a;font-size:11px;font-weight:700}.contact-form label span{font-weight:400;color:var(--muted)}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);padding:11px 12px;font:inherit;font-size:13px}.contact-form input{height:42px}.contact-form textarea{min-height:130px;resize:vertical;line-height:1.55}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 22%,transparent);border-color:var(--accent)}.contact-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.contact-submit{min-height:46px;padding:0 18px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.contact-submit:hover{filter:brightness(.95)}.contact-privacy{color:var(--muted);font-size:10px;line-height:1.5}.contact-notice{margin:0 0 18px;padding:12px 14px;border-radius:9px;font-size:12px;line-height:1.5}.contact-notice.success{background:#eaf4e9;border:1px solid #cde5ca;color:#245b49}.contact-notice.error{background:#fff0ef;border:1px solid #f0c8c5;color:#8e3330}.contact-aside{display:grid;gap:14px}.contact-info{padding:23px}.contact-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:16px;border-radius:13px;background:color-mix(in srgb,var(--accent) 15%,white);color:var(--accent);font-size:20px}.contact-info>p{margin:7px 0 18px;color:var(--muted);font-size:12px}.contact-info>a,.contact-detail{display:grid;gap:4px;padding:13px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}.contact-info small,.contact-detail small{color:var(--muted);font-size:10px}.contact-info b,.contact-detail b{font-size:12px;line-height:1.5}.contact-book{display:grid;gap:5px;padding:17px 19px;border:1px solid var(--line);border-radius:15px;background:#ffffffa8;color:var(--ink);font-size:11px}.contact-book b{color:var(--accent);font-size:12px}.contact-footer{display:flex;justify-content:space-between;gap:16px;width:min(1080px,calc(100% - 40px));margin:0 auto;padding:20px 0;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.contact-footer a{color:var(--ink)}body[data-theme=dark] .contact-card{background:#55597040;border-color:#ffffff27;box-shadow:0 24px 80px #05071255;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}body[data-theme=dark] .contact-form-card h2,body[data-theme=dark] .contact-info h2,body[data-theme=dark] .contact-info b,body[data-theme=dark] .contact-detail b{color:#f4f5fa}body[data-theme=dark] .contact-form>label:not(.contact-honeypot){color:#d2d6e0}body[data-theme=dark] .contact-form input,body[data-theme=dark] .contact-form textarea{background:#181d2c;color:#f4f5fa;border-color:#ffffff25;color-scheme:dark}body[data-theme=dark] .contact-notice.success{background:#39764830;border-color:#72bd7b50;color:#d1f0cf}body[data-theme=dark] .contact-notice.error{background:#8c383830;border-color:#e7777750;color:#ffc8c8}body[data-theme=dark] .contact-book{background:#ffffff0a;border-color:#ffffff24;color:#f4f5fa}body[data-theme=dark] .contact-footer{border-color:#ffffff1b}body[data-theme=dark] .contact-footer a{color:#f4f5fa}
@media(max-width:760px){.contact-page{padding:36px 0 54px}.contact-layout{grid-template-columns:1fr}.contact-aside{grid-template-columns:1fr 1fr}.contact-hero{margin-bottom:26px}}
@media(max-width:520px){.contact-page,.contact-footer{width:calc(100% - 28px)}.contact-page{padding:28px 0 42px}.contact-form-card,.contact-info{padding:19px}.contact-aside{grid-template-columns:1fr}.contact-footer{align-items:flex-start;flex-direction:column}}
