:root { --ink:#0b0d0e; --accent:#baff00; --paper:#faf9f5; --line:rgba(11,13,14,.13); --muted:#686b69; }
* { box-sizing:border-box; }
html { min-height:100%; }
body { margin:0; min-height:100vh; background:var(--ink); color:#fff; font-family:"DM Sans",sans-serif; }
a { color:inherit; }
.skip-link { position:fixed; top:-80px; left:20px; z-index:99; background:#fff; color:var(--ink); padding:12px; }
.skip-link:focus { top:20px; }
.site-header { height:86px; padding:0 clamp(24px,7vw,110px); display:flex; align-items:center; justify-content:space-between; position:absolute; inset:0 0 auto; z-index:5; }
.wordmark img { display:block; width:auto; height:38px; }
.back-home { display:flex; gap:10px; align-items:center; text-decoration:none; color:#ffffffaa; font-size:.82rem; font-weight:600; transition:color .2s; }
.back-home:hover { color:var(--accent); }
.contact-header-tools { display:flex; align-items:center; gap:24px; }
.contact-language { display:flex; border:1px solid #ffffff44; border-radius:99px; padding:3px; }
.contact-language a { border-radius:99px; padding:6px 9px; color:#fff; text-decoration:none; font:700 .68rem "DM Sans"; }
.contact-language a[aria-current="page"] { background:var(--accent); color:var(--ink); }
.contact-page { min-height:calc(100vh - 90px); display:grid; grid-template-columns:minmax(360px,.82fr) minmax(580px,1.18fr); }
.contact-intro { position:relative; overflow:hidden; padding:clamp(150px,16vh,190px) clamp(34px,7vw,110px) 72px; display:flex; flex-direction:column; justify-content:center; }
.contact-intro::after { content:""; position:absolute; width:620px; height:620px; border-radius:50%; right:-390px; bottom:-210px; background:radial-gradient(circle at 40% 35%,rgba(186,255,0,.28),rgba(98,132,0,.09) 50%,transparent 70%); pointer-events:none; }
.eyebrow { margin:0 0 26px; color:var(--accent); text-transform:uppercase; letter-spacing:.2em; font:700 .7rem "Manrope"; }
.contact-intro h1,.error-main h1 { margin:0; font:700 clamp(3.1rem,5.5vw,6.7rem)/.94 "Manrope"; letter-spacing:-.07em; }
.contact-intro h1 em,.error-main h1 em { color:var(--accent); font-style:normal; }
.lead { max-width:590px; margin:32px 0 58px; color:#ffffff99; font-size:1.05rem; line-height:1.75; }
.contact-meta { display:flex; gap:clamp(28px,4vw,65px); border-top:1px solid #ffffff22; padding-top:26px; }
.contact-meta div { display:flex; align-items:flex-start; gap:13px; }
.contact-meta span { color:var(--accent); font:700 .65rem "Manrope"; }
.contact-meta p { margin:0; color:#ffffff77; font-size:.78rem; line-height:1.5; }
.contact-meta strong { color:#fff; font-weight:600; }
.form-panel { background:var(--paper); color:var(--ink); padding:clamp(140px,15vh,175px) clamp(34px,7vw,110px) 70px; }
.panel-heading { display:flex; align-items:center; gap:16px; margin-bottom:36px; }
.panel-heading > span { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; color:#547500; font:700 .65rem "Manrope"; }
.panel-heading h2 { margin:0; font:700 clamp(1.65rem,2.4vw,2.35rem) "Manrope"; letter-spacing:-.04em; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.form-grid label { display:grid; gap:9px; }
.form-grid label.full { grid-column:1/-1; }
label > span { font-size:.75rem; font-weight:700; letter-spacing:.02em; }
label b { color:#547500; }
input,select,textarea { width:100%; border:1px solid #d9d6cd; border-radius:12px; background:#fff; color:var(--ink); font:400 1rem "DM Sans"; padding:15px 17px; transition:border-color .2s,box-shadow .2s; }
textarea { min-height:130px; resize:vertical; }
input::placeholder,textarea::placeholder { color:#96968f; }
input:focus,select:focus,textarea:focus { outline:none; border-color:#718f1f; box-shadow:0 0 0 3px rgba(186,255,0,.28); }
.honey { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.form-actions { display:flex; align-items:center; gap:24px; margin-top:26px; }
.form-actions button,.primary-button { border:0; border-radius:99px; background:var(--ink); color:#fff; padding:16px 24px; font:700 .88rem "DM Sans"; text-decoration:none; cursor:pointer; transition:background .2s,color .2s,transform .2s; }
.form-actions button:hover,.primary-button:hover { background:#263000; color:var(--accent); transform:translateY(-2px); }
.form-actions button:disabled { opacity:.65; cursor:wait; }
.form-actions p { max-width:300px; margin:0; color:#8a8983; font-size:.68rem; line-height:1.5; }
.direct-contact { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; border-top:1px solid var(--line); margin-top:38px; padding-top:24px; font-size:.78rem; }
.direct-contact > span { color:#95938c; }
.direct-contact a { font-weight:700; text-decoration:none; border-bottom:1px solid #bcb9af; }
.direct-contact .whatsapp { color:#2e7000; }
.form-notice { border-radius:12px; margin:-10px 0 24px; padding:15px 17px; font-size:.85rem; }
.form-notice.is-success { background:#e8f6bf; border:1px solid #b9dc59; }
.form-notice.is-error { background:#fbe8e5; border:1px solid #e6b4ad; }
footer { min-height:90px; padding:25px clamp(24px,7vw,110px); display:flex; justify-content:space-between; align-items:center; gap:22px; background:var(--ink); color:#ffffff66; font-size:.75rem; }
footer a { color:#fff; text-decoration:none; font-weight:700; }

.error-page { overflow:hidden; }
.error-page .site-header { position:fixed; }
.error-code-small { color:#ffffff66; text-transform:uppercase; letter-spacing:.18em; font:700 .68rem "Manrope"; }
.error-header-tools { display:flex; align-items:center; gap:22px; }
.error-language { display:flex; border:1px solid #ffffff44; border-radius:99px; padding:3px; }
.error-language button { border:0; border-radius:99px; background:transparent; color:#fff; padding:6px 9px; font:700 .68rem "DM Sans"; cursor:pointer; }
.error-language button[aria-pressed="true"] { background:var(--accent); color:var(--ink); }
.error-main { position:relative; min-height:calc(100vh - 74px); padding:150px clamp(24px,8vw,130px) 90px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; isolation:isolate; }
.error-main > *:not(.error-orb):not(.error-number) { position:relative; z-index:2; }
.error-main h1 { max-width:900px; }
.error-main > p:not(.eyebrow) { max-width:580px; color:#ffffff88; font-size:1rem; line-height:1.7; margin:30px 0; }
.error-actions { display:flex; align-items:center; gap:24px; }
.error-actions > a:last-child { color:#ffffff99; font-size:.82rem; text-underline-offset:5px; }
.error-main .primary-button { background:var(--accent); color:var(--ink); }
.error-main .primary-button:hover { background:#fff; }
.error-number { position:absolute; z-index:-1; right:-.05em; bottom:-.25em; color:#ffffff07; font:800 clamp(18rem,40vw,43rem)/1 "Manrope"; letter-spacing:-.11em; user-select:none; }
.error-orb { position:absolute; width:min(62vw,830px); aspect-ratio:1; right:-13vw; top:-15vw; border-radius:50%; background:radial-gradient(circle at 40% 40%,rgba(186,255,0,.3),rgba(84,117,0,.12) 44%,transparent 69%); }
.error-page footer { min-height:74px; border-top:1px solid #ffffff16; }

@media (max-width:1000px) {
  .contact-page { grid-template-columns:1fr; }
  .contact-intro { min-height:720px; }
  .form-panel { padding-top:90px; }
  .error-number { bottom:-.1em; }
}
@media (max-width:640px) {
  .site-header { height:74px; }
  .wordmark img { height:31px; }
  .error-header-tools { gap:10px; }
  .error-code-small { display:none; }
  .back-home { font-size:0; }
  .back-home span { font-size:1.25rem; }
  .contact-header-tools { gap:12px; }
  .contact-intro { min-height:660px; padding-top:125px; padding-bottom:58px; }
  .contact-intro h1,.error-main h1 { font-size:3.45rem; }
  .lead { margin-bottom:42px; }
  .contact-meta { flex-direction:column; gap:18px; }
  .form-panel { padding:76px 22px 58px; }
  .form-grid { grid-template-columns:1fr; }
  .form-grid label.full { grid-column:auto; }
  .form-actions { align-items:flex-start; flex-direction:column; }
  .form-actions button { width:100%; }
  footer { flex-direction:column; text-align:center; }
  .error-main { padding-top:120px; justify-content:center; }
  .error-actions { flex-direction:column; align-items:flex-start; }
  .error-number { font-size:58vw; bottom:.25em; right:-.08em; }
  .error-page footer span:last-child { display:none; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none!important; } }
