/* Contact — compact qualification before contact mechanics. */
body:has(.contact-page) #pointcloud-bg{opacity:.18}
.contact-page{--ct-accent:var(--cta);--ct-rule:color-mix(in srgb,var(--accent) 24%,var(--line))}
.contact-page .page-content{max-width:none}

.ct-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(19rem,.72fr);gap:clamp(2rem,7vw,6.5rem);align-items:center;min-height:clamp(34rem,70vh,44rem);padding:clamp(2.5rem,6vw,5rem) 0;border-bottom:1px solid var(--line);overflow:hidden}
.ct-hero::before{content:"";position:absolute;right:-7rem;top:3rem;width:28rem;height:28rem;border:1px solid color-mix(in srgb,var(--ct-accent) 18%,transparent);border-radius:50%;box-shadow:0 0 0 5rem color-mix(in srgb,var(--ct-accent) 3%,transparent),0 0 0 10rem color-mix(in srgb,var(--ct-accent) 2%,transparent);pointer-events:none}
.ct-hero-copy{position:relative;z-index:2;max-width:45rem}
.ct-status{display:flex;align-items:center;gap:.55rem;margin:0 0 1.2rem;color:var(--muted);font:600 var(--fs-sm)/1.4 "Manrope",sans-serif}
.ct-status i{width:.55rem;height:.55rem;border-radius:50%;background:#59b98c;box-shadow:0 0 0 .32rem color-mix(in srgb,#59b98c 13%,transparent)}
.ct-hero h1{max-width:11ch;margin:0;color:var(--text);font-size:clamp(3.4rem,7vw,6.5rem);line-height:.91;letter-spacing:-.065em}
.ct-lead{max-width:39rem;margin:1.45rem 0 0;color:var(--muted);font-size:clamp(1.02rem,1.8vw,1.25rem);line-height:1.65}
.ct-location{display:flex;gap:.55rem;margin:1rem 0 0;color:var(--muted);font-size:var(--fs-sm)}
.ct-location span{color:var(--ct-accent)}
.ct-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.6rem}
.ct-button,.ct-copy{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.65rem 1rem;border:1px solid var(--border-ui);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--text);font:700 var(--fs-sm) "Space Grotesk",sans-serif;text-decoration:none;cursor:pointer;transition:transform .18s,border-color .18s,background .18s}
.ct-button-primary{background:var(--ct-accent);border-color:var(--ct-accent);color:var(--cta-text)}
.ct-button:hover,.ct-copy:hover{transform:translateY(-2px);border-color:var(--ct-accent)}
.ct-copy{background:transparent;color:var(--muted)}
.ct-copy-status{min-height:1.3rem;margin:.55rem 0 0;color:var(--accent);font-size:var(--fs-xs)}

.ct-portrait{position:relative;z-index:1;align-self:end;margin:0;display:grid;place-items:center}
.ct-portrait img{position:relative;z-index:2;width:min(100%,23rem);height:auto;filter:drop-shadow(0 24px 32px rgba(0,0,0,.28))}
.ct-portrait figcaption{position:relative;z-index:3;max-width:24rem;margin-top:-.15rem;padding:.65rem .8rem;border-top:1px solid var(--ct-rule);color:var(--muted);font-size:var(--fs-xs);line-height:1.5;text-align:center}
.ct-orbit{position:absolute;inset:8% -9% 8%;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:50%;transform:rotate(-17deg)}
.ct-orbit i{position:absolute;width:.45rem;height:.45rem;border-radius:50%;background:var(--ct-accent)}
.ct-orbit i:nth-child(1){left:8%;top:38%}.ct-orbit i:nth-child(2){right:10%;top:22%}.ct-orbit i:nth-child(3){right:19%;bottom:12%}

.ct-fit,.ct-reach{padding:clamp(3.5rem,7vw,6rem) 0;border-bottom:1px solid var(--line)}
.ct-section-head{display:grid;grid-template-columns:minmax(15rem,.75fr) minmax(20rem,1fr);gap:.55rem 3rem;align-items:start;margin-bottom:2rem}
.ct-section-head h2{margin:0;color:var(--text);font-size:clamp(2rem,4vw,3.4rem);line-height:1;letter-spacing:-.04em}
.ct-section-head>p:last-child{max-width:42rem;margin:.6rem 0 0;color:var(--muted);line-height:1.65}
.ct-fit-list{border-top:1px solid var(--ct-rule)}
.ct-fit-row{display:grid;grid-template-columns:3rem minmax(10rem,.72fr) minmax(16rem,1.25fr) minmax(15rem,1fr);gap:1.25rem;align-items:start;padding:1.45rem .25rem;border-bottom:1px solid var(--ct-rule);transition:background .18s}
.ct-fit-row:hover{background:color-mix(in srgb,var(--accent) 4%,transparent)}
.ct-num{color:var(--accent);font:700 var(--fs-xs) "Space Grotesk",sans-serif}
.ct-fit-name h3{margin:0;color:var(--text);font-size:1.05rem;line-height:1.3}.ct-fit-name span{display:block;margin-top:.4rem;color:var(--muted);font-size:var(--fs-xs)}
.ct-fit-row>p,.ct-include p{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.65}
.ct-include{padding-left:1rem;}.ct-include small{display:block;margin-bottom:.35rem;color:var(--accent);font:700 var(--fs-2xs) "Space Grotesk",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.ct-include .ct-next{margin-top:.85rem}

.ct-section-head.compact{grid-template-columns:minmax(15rem,.75fr) 1fr}.ct-directory{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ct-rule)}
.ct-link{display:grid;grid-template-columns:2rem 1fr auto;gap:.8rem;align-items:center;min-width:0;padding:1rem .7rem;border-bottom:1px solid var(--ct-rule);color:var(--text);text-decoration:none;transition:background .18s,padding .18s}.ct-link:nth-child(odd){border-right:1px solid var(--ct-rule)}
.ct-link:hover{padding-left:1rem;background:color-mix(in srgb,var(--accent) 5%,transparent)}.ct-link.is-primary{background:color-mix(in srgb,var(--ct-accent) 8%,transparent)}
.ct-link img{width:24px;height:24px;object-fit:contain}.ct-link span{min-width:0}.ct-link small,.ct-link b{display:block}.ct-link small{color:var(--muted);font-size:var(--fs-xs)}.ct-link b{margin-top:.2rem;overflow:hidden;text-overflow:ellipsis;color:var(--text);font-size:var(--fs-sm)}
.ct-link>strong{color:var(--accent);font-size:var(--fs-xs);white-space:nowrap}.ct-link>strong i{font-style:normal}

@media(max-width:850px){
  .ct-hero{grid-template-columns:1fr;min-height:0;padding-top:2.2rem;gap:1.5rem}.ct-hero-copy{display:contents}.ct-status{order:1}.ct-hero h1{order:2;font-size:clamp(3rem,13vw,4.6rem)}.ct-lead{order:3}.ct-location{order:4}.ct-actions{order:5}.ct-copy-status{order:6}.ct-portrait{order:7;justify-self:center;width:min(100%,20rem)}
  .ct-section-head,.ct-section-head.compact{grid-template-columns:1fr}.ct-fit-row{grid-template-columns:2.2rem 1fr}.ct-fit-row>p,.ct-include{grid-column:2}.ct-include{padding:.8rem 0 0;border-top:1px solid var(--ct-rule)}
}
@media(max-width:600px){
  .ct-hero{padding-top:1.5rem}.ct-hero h1{font-size:3.25rem}.ct-lead{font-size:1rem}.ct-portrait{width:15rem}.ct-portrait figcaption{display:none}.ct-orbit{inset:8% -15% 4%}
  .ct-actions{display:grid;grid-template-columns:1fr 1fr}.ct-button-primary{grid-column:1/-1}.ct-button,.ct-copy{width:100%}
  .ct-fit,.ct-reach{padding:3.25rem 0}.ct-section-head h2{font-size:2.35rem}.ct-fit-row{gap:.7rem;padding:1.25rem 0}
  .ct-directory{grid-template-columns:1fr}.ct-link:nth-child(odd){border-right:0}.ct-link{padding:.9rem .35rem}.ct-link>strong{font-size:var(--fs-2xs)}
}
@media(prefers-reduced-motion:reduce){.ct-button,.ct-copy,.ct-fit-row,.ct-link{transition:none}}
