/* Contact and project destinations: quiet editorial surfaces in the site palette. */
.ap-contact-page { width:min(calc(100% - 4rem),72rem); margin:auto; }
.ap-contact-intro { padding:4.5rem 0 3rem; max-width:46rem; }
.ap-contact-intro h1 { font-size:clamp(3.2rem,7vw,6rem); font-weight:500; line-height:1.02; letter-spacing:-.06em; margin:1.1rem 0 1.4rem; }
.ap-contact-intro>p:last-child { max-width:29rem; font-size:1.05rem; line-height:1.7; color:#526358; }
.ap-contact-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); border-top:1px solid #bdcaba; border-bottom:1px solid #bdcaba; }
.ap-contact-methods { min-width:0; padding:2rem 3rem 2rem 0; }
.ap-contact-email { display:flex; flex-direction:column; gap:1rem; padding:2rem; border:1px solid #b8cbb6; background:linear-gradient(130deg,#eaf0e3,#f8faf2); text-decoration:none; border-radius:3px; }
.ap-contact-email strong { font-size:clamp(1.25rem,2.5vw,2rem); font-weight:500; letter-spacing:-.04em; overflow-wrap:anywhere; line-height:1.3; }
.ap-contact-email:hover { background:#e8efdf; border-color:#71906c; }
.ap-contact-email-note { display:flex; align-items:center; justify-content:space-between; color:#3e6648; font-size:.8rem; }
.ap-contact-email-note>span { font-size:1.35rem; }
.ap-contact-profiles { margin-top:1.5rem; }
.ap-contact-profiles>a { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.35rem 0; border-top:1px solid #d0d9ca; text-decoration:none; }
.ap-contact-profiles>a>span:first-child { display:grid; gap:.3rem; }
.ap-contact-profiles strong { font-size:1.1rem; font-weight:550; letter-spacing:-.02em; }
.ap-contact-profiles>a>span:first-child>span { font-size:.82rem; color:#546859; }
.ap-contact-profiles>a>span:last-child { color:#386246; font-size:1.3rem; }
.ap-contact-profiles>a:hover strong { color:#0b6b4f; text-decoration:underline; }
.ap-contact-context { min-width:0; padding:2.6rem 0 2rem 3rem; border-left:1px solid #d0d9ca; }
.ap-contact-context h2 { font-size:clamp(1.8rem,3vw,2.6rem); font-weight:500; line-height:1.15; letter-spacing:-.045em; margin:1rem 0 1.2rem; }
.ap-contact-context>p:last-of-type { color:#536759; font-size:.9rem; line-height:1.8; max-width:24rem; }
.ap-contact-resume { display:flex; flex-direction:column; align-items:flex-start; gap:1rem; margin-top:1.7rem; }
.ap-contact-resume>a:last-child { color:#386246; font-size:.78rem; }
.ap-contact-work { padding:4rem 0 1rem; }
.ap-contact-section-heading { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; margin-bottom:1.8rem; }
.ap-contact-section-heading h2 { margin-top:.7rem; font-size:clamp(1.65rem,3vw,2.4rem); font-weight:500; line-height:1.15; letter-spacing:-.045em; }
.ap-contact-section-heading>a { font-size:.82rem; color:#386246; white-space:nowrap; }
.ap-contact-projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.1rem; }
.ap-contact-project { display:flex; flex-direction:column; padding:1.8rem; border:1px solid #bdccba; border-radius:3px; background:#fffefa; text-decoration:none; }
.ap-contact-project h3 { font-size:1.55rem; font-weight:500; line-height:1.2; letter-spacing:-.04em; margin:1.5rem 0 1rem; }
.ap-contact-project>p { color:#526658; font-size:.9rem; line-height:1.75; margin-bottom:2rem; max-width:30rem; }
.ap-contact-project-destination { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; border-top:1px solid #d6dece; color:#365e42; font:400 .78rem/1.6 ui-monospace,monospace; }
.ap-contact-project:hover { background:#f0f4e9; border-color:#75926b; }
.ap-contact-project:hover h3 { color:#0b6b4f; }
.ap-contact-aerolab { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3rem; align-items:center; padding:2rem 0; margin-top:1.5rem; border-top:1px solid #cbd6c4; }
.ap-contact-aerolab h3 { margin:.5rem 0 .7rem; font-size:1.4rem; font-weight:550; letter-spacing:-.03em; }
.ap-contact-aerolab p:last-child { max-width:36rem; font-size:.85rem; color:#526658; line-height:1.75; }
.ap-contact-aerolab .ap-links { flex-direction:column; align-items:stretch; gap:.7rem; }
/* The Projects page shares just these compact destination and collection headings. */
.ap-featured-destinations { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1.4rem 2rem; margin-bottom:3rem; padding:1.65rem 1.8rem; border:1px solid #c2cfb9; border-radius:3px; background:#eef3e7; }
.ap-featured-destinations h2 { font-size:1.2rem; font-weight:500; letter-spacing:-.025em; line-height:1.3; margin-top:.5rem; }
.ap-featured-destinations .ap-links { gap:.65rem; }
.ap-project-library { scroll-margin-top:2rem; }
.ap-project-library-intro { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:.7rem 1.5rem; margin-bottom:1.2rem; }
.ap-project-library-intro h2 { font-size:1.5rem; font-weight:500; letter-spacing:-.03em; }
.ap-project-library-intro p { font-size:.83rem; color:#546858; }
@media(max-width:60rem) {
  .ap-contact-methods { padding-right:2rem; }
  .ap-contact-context { padding-left:2rem; }
  .ap-contact-email { padding:1.5rem; }
  .ap-contact-aerolab { grid-template-columns:1fr; gap:1.3rem; }
  .ap-contact-aerolab .ap-links { flex-direction:row; flex-wrap:wrap; }
}
@media(max-width:44rem) {
  .ap-contact-page { width:calc(100% - 2.5rem); }
  .ap-contact-intro { padding:3rem 0 2.1rem; }
  .ap-contact-intro h1 { font-size:clamp(3rem,12vw,4.5rem); }
  .ap-contact-intro>p:last-child { font-size:.96rem; }
  .ap-contact-grid { grid-template-columns:1fr; }
  .ap-contact-methods { padding:1.5rem 0 .5rem; }
  .ap-contact-context { border-left:0; border-top:1px solid #d0d9ca; padding:1.75rem 0 2rem; }
  .ap-contact-context>p:last-of-type { max-width:34rem; }
  .ap-contact-work { padding-top:2.7rem; }
  .ap-contact-projects { grid-template-columns:1fr; }
  .ap-contact-project { padding:1.4rem; }
  .ap-contact-project h3 { margin-top:1.1rem; font-size:1.4rem; }
  .ap-contact-project>p { margin-bottom:1.4rem; }
  .ap-featured-destinations { padding:1.4rem; margin-bottom:2rem; }
  .ap-featured-destinations .ap-links { flex-direction:column; align-items:stretch; width:100%; }
  .ap-project-library-intro { align-items:flex-start; flex-direction:column; }
}
@media print {
  .ap-contact-intro { padding-top:1rem; }
  .ap-contact-projects, .ap-contact-grid { break-inside:avoid; }
}
