/* contact page styles. Shared tokens/utilities come from base.css. */
.contact-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--forest),var(--forest-deep))}
.contact-hero::before{content:"";position:absolute;top:-100px;left:-80px;width:600px;height:600px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(118,154,154,0.14) 0%,transparent 65%)}
.contact-hero::after{content:"";position:absolute;bottom:-60px;right:8%;width:520px;height:520px;pointer-events:none;background:radial-gradient(ellipse at center,rgba(178,195,74,0.09) 0%,transparent 65%)}
.contact-grid{position:relative;z-index:1;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}
.contact-col{padding:64px 48px;display:flex;flex-direction:column;justify-content:center}
.contact-left{border-right:1px solid rgba(255,255,255,0.08)}
.contact-left .eyebrow{color:var(--olive)}
.contact-left h1{font-size:clamp(34px,4vw,52px);font-weight:800;color:#fff;line-height:1.05;margin-bottom:4px;letter-spacing:-0.02em}
.contact-left h1 em{font-style:normal;color:var(--olive)}
.contact-lead{font-size:15px;color:rgba(255,255,255,0.55);line-height:1.7;max-width:400px;margin:18px 0 30px}
.contact-q{font-size:10px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:14px}
.cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:440px}
.cat-btn{text-align:left;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:14px;cursor:pointer;transition:border-color .2s,background .2s;color:#fff;font-family:inherit}
.cat-btn:hover{border-color:rgba(178,195,74,0.4);background:rgba(255,255,255,0.07)}
.cat-btn.active{border-color:var(--olive);background:rgba(178,195,74,0.12)}
.cat-icon{width:28px;height:28px;border-radius:7px;background:rgba(178,195,74,0.15);display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.cat-icon svg{stroke:var(--olive);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cat-name{font-size:14px;font-weight:700;color:#fff;margin-bottom:2px}
.cat-desc{font-size:11px;color:rgba(255,255,255,0.5);line-height:1.4}
.contact-direct{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.contact-direct .lbl{font-size:12px;color:rgba(255,255,255,0.4)}
.contact-direct a{font-size:14px;font-weight:600;color:var(--mist)}
.contact-direct a:hover{color:#fff}
.form-context{margin-bottom:24px;min-height:88px}
.form-context .tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--olive);background:rgba(178,195,74,0.12);border:1px solid rgba(178,195,74,0.3);border-radius:100px;padding:5px 12px;margin-bottom:12px}
.form-context .ctx-h{font-size:22px;font-weight:700;color:#fff;margin-bottom:8px}
.form-context .ctx-b{font-size:14px;color:rgba(255,255,255,0.6);line-height:1.6}
.form-frame{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:14px;padding:24px}
.channels{background:var(--soft-teal);border-top:var(--line);padding:56px 0}
.channels .wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.channel{padding:0 34px;border-right:var(--line)}
.channel:first-child{padding-left:0}
.channel:last-child{border-right:none;padding-right:0}
.channel-ico{width:40px;height:40px;border-radius:10px;background:#fff;border:var(--line-soft);display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.channel-ico svg{stroke:var(--teal);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.channel h3{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:6px}
.channel p{font-size:13.5px;color:var(--charcoal);line-height:1.6;margin-bottom:12px}
.channel a{font-size:12.5px;font-weight:600;color:var(--teal);display:inline-flex;align-items:center;gap:6px;transition:gap .2s,color .2s}
.channel a:hover{color:var(--teal-dark);gap:9px}
@media(max-width:860px){
  .contact-grid{grid-template-columns:1fr}
  .contact-col{padding:48px 28px}
  .contact-left{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08)}
  .channels .wrap{grid-template-columns:1fr;gap:26px}
  .channel{padding:0 0 24px;border-right:none;border-bottom:var(--line)}
  .channel:last-child{border-bottom:none;padding-bottom:0}
}
