:root { --ink:#252620; --paper:#f5f4ef; --paper-soft:#e9e9e3; --text:#242620; --muted:#696d64; --line:#d0d2c9; --lime:#a9ca79; --magenta:#a02e64; --max:1180px; }
*,*::before,*::after { box-sizing:border-box; }
body { margin:0; color:var(--text); background:var(--paper); font-family:Inter,Aptos,"Segoe UI",Arial,sans-serif; line-height:1.55; text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.contact-skip { position:fixed; z-index:1000; top:10px; left:10px; padding:9px 13px; color:#fff; background:var(--ink); transform:translateY(-160%); }
.contact-skip:focus { transform:none; }
.contact-header { height:74px; display:flex; align-items:center; gap:28px; padding-inline:max(20px,calc((100% - var(--max))/2)); color:#fff; background:var(--ink); border-bottom:1px solid #4b4d45; }
.contact-brand { display:flex; align-items:center; gap:9px; margin-right:auto; }
.contact-brand img { width:42px; height:42px; object-fit:contain; }
.contact-brand span { display:flex; flex-direction:column; line-height:1; letter-spacing:.2em; }
.contact-brand small { margin-bottom:4px; color:#b4b6af; font-size:.47rem; }
.contact-brand strong { font-size:.87rem; letter-spacing:.26em; }
.contact-header nav { display:flex; gap:24px; color:#c8cac3; font-size:.7rem; font-weight:800; }
.contact-header nav a:hover { color:#fff; }
.contact-layout { width:min(calc(100% - 40px),var(--max)); min-height:calc(100vh - 146px); display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; margin:auto; padding:70px 0; }
.contact-back { color:#6a6e65; font-size:.72rem; font-weight:800; }
.contact-label { margin:58px 0 17px; color:var(--magenta); font-size:.6rem; font-weight:900; letter-spacing:.15em; }
.contact-copy h1 { max-width:590px; margin:0; font-size:clamp(3.4rem,6vw,6rem); font-weight:520; letter-spacing:-.07em; line-height:.91; text-wrap:balance; }
.contact-copy>p:last-of-type { max-width:540px; margin:27px 0 0; color:var(--muted); font-size:.93rem; }
.contact-details { margin-top:35px; border-top:1px solid var(--line); }
.contact-details span { display:grid; grid-template-columns:95px 1fr; gap:17px; padding:13px 0; color:#656960; border-bottom:1px solid var(--line); font-size:.72rem; }
.contact-details b { color:#4c6037; font-size:.57rem; letter-spacing:.09em; }
.contact-panel { padding:37px; background:#fbfaf6; border:1px solid var(--line); box-shadow:0 22px 48px rgba(42,44,37,.08); }
.contact-panel form { display:grid; }
.contact-panel label:not(.contact-consent) { margin:0 0 7px; font-size:.66rem; font-weight:850; }
.contact-panel input:not([type="checkbox"]),.contact-panel textarea { width:100%; margin:0 0 19px; padding:13px 14px; color:var(--text); background:#f4f3ee; border:1px solid #c7c9c0; border-radius:0; font:inherit; font-size:.82rem; outline:none; }
.contact-panel textarea { min-height:165px; resize:vertical; }
.contact-panel input:focus,.contact-panel textarea:focus { border-color:#77994c; box-shadow:0 0 0 3px rgba(134,174,78,.17); }
.contact-consent { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; margin:0 0 22px; color:#666a61; font-size:.68rem; }
.contact-consent input { margin:3px 0 0; accent-color:#668b3c; }
.contact-consent a { color:#465c2e; text-decoration:underline; text-underline-offset:2px; }
.contact-panel button { justify-self:start; padding:14px 18px; color:#22251f; background:var(--lime); border:0; font:inherit; font-size:.75rem; font-weight:900; cursor:pointer; }
.contact-panel button:hover { background:#b8d68d; }
.contact-panel button:disabled { opacity:.6; cursor:default; }
.contact-note { margin-top:13px; color:#7b7e76; font-size:.6rem; }
.contact-error { margin:13px 0 0; padding:11px 14px; color:#6b2540; background:#f5e6ec; border-left:3px solid var(--magenta); font-size:.72rem; }
.contact-status { margin-top:20px; padding:17px 18px; color:#41473b; background:#eef3e8; border-left:3px solid #789b4e; outline:none; }
.contact-status strong { color:#4d6532; font-size:.61rem; letter-spacing:.12em; }
.contact-status p { margin:7px 0 10px; font-size:.72rem; }
.contact-footer { min-height:72px; display:flex; align-items:center; gap:28px; padding-inline:max(20px,calc((100% - var(--max))/2)); color:#aeb0aa; background:#20211d; font-size:.66rem; }
.contact-footer .contact-brand { margin-right:0; color:#fff; }
.contact-footer .contact-brand img { width:35px; height:35px; }
.contact-footer>span { margin-right:auto; }
.contact-footer nav { display:flex; gap:16px; color:#d5e7bd; font-weight:750; }
@media (max-width:800px) { .contact-layout { grid-template-columns:1fr; gap:45px; align-items:start; } .contact-label { margin-top:38px; } }
@media (max-width:560px) { .contact-header { padding-inline:14px; } .contact-header .contact-brand span,.contact-header nav a:first-child { display:none; } .contact-header nav { margin-left:auto; gap:16px; } .contact-layout { width:calc(100% - 30px); padding:48px 0; } .contact-copy h1 { font-size:3.45rem; } .contact-panel { padding:24px 19px; } .contact-footer { align-items:flex-start; flex-direction:column; padding:24px 15px; } .contact-footer>span { margin-right:0; } }
