.contact-page{background:var(--bg);color:var(--text)}.desktop-nav a.active{color:var(--primary);position:relative}.desktop-nav a.active::after{content:"";position:absolute;left:0;right:0;bottom:-17px;height:2px;background:var(--primary);border-radius:99px}.header-contact-cta{padding-inline:18px;white-space:nowrap}.contact-hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#0b1f36 0%,#112f4c 56%,#071421 100%);color:#fff}.contact-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 63% 35%,rgba(60,142,255,.18),transparent 30%);pointer-events:none}.contact-hero-grid{position:relative;min-height:320px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);align-items:center;gap:50px;padding-block:58px}.contact-eyebrow{margin:0 0 14px;color:#8bc0ff;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:900}.contact-hero h1{margin:0;font-size:clamp(2.45rem,5vw,4.4rem);line-height:1.02;letter-spacing:-.05em}.contact-hero-copy>p:last-child{max-width:670px;margin:20px 0 0;color:#d4dfeb;font-size:1.1rem;line-height:1.65}.contact-key-visual{height:290px;display:flex;align-items:center;justify-content:center}.contact-key-visual img{height:100%;max-width:100%;filter:drop-shadow(0 24px 28px rgba(0,0,0,.38));transform:rotate(5deg)}.contact-main{padding-block:34px 72px}.contact-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(330px,.85fr);gap:24px;align-items:start}.contact-form-card,.contact-side-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;box-shadow:0 18px 55px rgba(18,41,70,.07)}.contact-form-card{padding:28px}.contact-side{display:grid;gap:18px}.contact-side-card{padding:24px}.contact-reach-card{background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface))}.contact-card-head h2,.contact-side-card h2{margin:0;color:var(--text);font-size:1.35rem}.contact-card-head p{margin:7px 0 0;color:var(--text-muted);line-height:1.5}.contact-form{margin-top:24px}.contact-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.contact-form label{display:grid;gap:7px;font-size:.88rem;font-weight:750;color:var(--text)}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);font:inherit;padding:12px 13px;outline:none}.contact-form textarea{resize:vertical;min-height:150px;line-height:1.5}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:color-mix(in srgb,var(--primary) 65%,var(--border));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.contact-form label small{justify-self:end;color:var(--text-muted);font-size:.72rem}.contact-submit{margin-top:18px;min-width:170px}.contact-privacy-note{margin:16px 0 0;color:var(--text-muted);font-size:.78rem;line-height:1.5}.contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-alert{display:grid;gap:4px;margin:0 0 20px;padding:14px 16px;border-radius:12px}.contact-alert.success{background:rgba(22,163,74,.09);border:1px solid rgba(22,163,74,.22);color:#15803d}.contact-alert.error{background:rgba(220,38,38,.08);border:1px solid rgba(220,38,38,.18);color:#b91c1c}.contact-alert span{font-size:.88rem}.contact-method{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid var(--border)}.contact-method:last-child{border-bottom:0;padding-bottom:0}.contact-method-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--primary-soft);color:var(--primary);font-size:1.25rem;font-weight:800}.contact-method strong{display:block;margin-bottom:3px}.contact-method p{margin:0;color:var(--text-muted);font-size:.84rem;line-height:1.45}.contact-method a{display:inline-block;margin-top:3px;color:var(--primary);text-decoration:none;font-weight:800;font-size:.86rem}.contact-faq-card details{border:1px solid var(--border);border-radius:11px;background:var(--surface-soft);margin-top:9px;overflow:hidden}.contact-faq-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;cursor:pointer;font-weight:760;list-style:none}.contact-faq-card summary::-webkit-details-marker{display:none}.contact-faq-card summary span{color:var(--primary);font-size:1.15rem}.contact-faq-card details[open] summary span{transform:rotate(45deg)}.contact-faq-card details p{margin:0;padding:0 14px 14px;color:var(--text-muted);font-size:.86rem;line-height:1.55}[data-theme="dark"] .contact-form-card,[data-theme="dark"] .contact-side-card{box-shadow:0 18px 55px rgba(0,0,0,.18)}@media(max-width:900px){.contact-hero-grid{grid-template-columns:1fr minmax(210px,.45fr);gap:20px}.contact-grid{grid-template-columns:1fr}.header-contact-cta{display:none!important}}@media(max-width:650px){.contact-hero-grid{grid-template-columns:1fr;min-height:0;padding-block:42px}.contact-key-visual{height:195px;position:absolute;right:-38px;bottom:-38px;opacity:.22}.contact-hero-copy{position:relative;z-index:1;padding-right:15px}.contact-hero h1{font-size:2.5rem}.contact-hero-copy>p:last-child{font-size:1rem;max-width:88%}.contact-main{padding-top:20px}.contact-form-card,.contact-side-card{border-radius:16px;padding:20px}.contact-form-grid{grid-template-columns:1fr}.contact-form label.full{grid-column:auto}.contact-submit{width:100%}.desktop-nav a.active::after{display:none}}


/* 0.084 – photographic contact hero */
.contact-hero-photo{
  position:relative;
  background:
    linear-gradient(90deg,rgba(5,18,31,.94) 0%,rgba(8,28,47,.86) 34%,rgba(8,28,47,.38) 62%,rgba(5,18,31,.08) 100%),
    url("../img/contact-hero-office.jpg") center right / cover no-repeat;
}
.contact-hero-photo::before{
  background:linear-gradient(180deg,rgba(4,14,25,.06),rgba(4,14,25,.14));
}
.contact-hero-photo .contact-hero-grid{
  grid-template-columns:minmax(0,760px) 1fr;
  min-height:350px;
  padding-block:64px;
}
.contact-hero-photo .contact-hero-copy{
  position:relative;
  z-index:2;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
.contact-hero-photo .contact-hero-copy>p:last-child{
  color:#e3ebf4;
}
@media(max-width:900px){
  .contact-hero-photo{
    background-position:65% center;
  }
  .contact-hero-photo .contact-hero-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:650px){
  .contact-hero-photo{
    background-position:70% center;
  }
  .contact-hero-photo::after{
    content:"";
    position:absolute;
    inset:0;
    background:rgba(4,16,28,.28);
    pointer-events:none;
  }
  .contact-hero-photo .contact-hero-grid{
    min-height:360px;
    padding-block:44px;
  }
}
