/* Compact homepage presentation */
.mobile-panel a { font-size:clamp(16px,2.4vw,26px); padding:8px 0; }
@media (max-width: 900px) {
  .mobile-panel { padding-top: 112px; }
  .mobile-panel a { font-size: 18px; padding: 7px 0; }
  #about.section-pad, #services.section-pad, #projects.section-pad, #process.section-pad { padding-top: 68px; padding-bottom: 68px; }
  #about h2, #services h2, #projects h2, #process h2 { font-size: clamp(32px, 6vw, 46px); }
  #about .intro-copy { margin-top: 32px; }
  #services .service-grid { grid-template-columns: 1fr 1fr; margin-top: 38px; }
  #services .service-card { height: 400px; }
  #services .service-card:nth-child(n+3) { display: none; }
  #services .secondary-services { margin-top: 10px; }
  #projects .project-filters { margin-top: 38px; }
  #projects .project-card:nth-child(n+4) { display: none; }
  #projects .project-card.wide { min-height: 500px; }
  #projects .project-card.tall, #projects .project-card { min-height: 300px; }
  #process .process-steps { margin-top: 42px; }
  #process .step { min-height: 190px; }
  #process .step h3 { margin-top: 40px; }
  .principle, .principle-image { min-height: 370px; }
  .principle { height:390px; min-height:390px; overflow:hidden; }
  .principle-image, .principle-content { height:390px; min-height:390px; }
  .principle-content { padding: 48px 6vw 42px; }
  .principle-content .eyebrow { margin-top: 0; }
  .principle h2 { font-size: clamp(31px, 5vw, 43px); }
  .principle-foot { margin-top: 28px; }
  .principle-foot .round-link { width:72px; height:72px; }
  #process.section-pad { padding-top: 46px; padding-bottom: 46px; }
  #process .process-steps { margin-top: 28px; }
  #process .step { min-height: 155px; }
  #process .step h3 { margin-top: 24px; font-size:22px; }
  .contact { min-height: 410px; }
  .contact-inner { padding-top: 55px; padding-bottom: 28px; }
  .contact h2 { font-size: clamp(31px, 5vw, 44px); line-height:.95; }
  .contact-bottom { margin-top: 25px; }
  .contact-address { margin-top: 32px; }
  #process.section-pad { padding-top:30px; padding-bottom:30px; }
  #process .section-heading h2 { font-size:36px; }
  #process .section-note { margin-top:25px; }
  #process .process-steps { margin-top:20px; }
  #process .step { min-height:120px; padding-top:14px; padding-bottom:12px; }
  #process .step h3 { margin-top:12px; font-size:19px; }
  #process .step p { font-size:9px; }
}

.contact-address { flex-wrap: wrap; }
.contact-address a { color: inherit; text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 3px; }
.footer-contact { display:grid; grid-template-columns:auto 1fr auto 1fr; gap:8px 18px; padding:20px 0; border-top:1px solid rgba(255,255,255,.18); font:500 9px var(--mono); }
.footer-contact span { color:#7995a9; letter-spacing:.08em; }
.footer-contact strong { color:#fff; font-weight:500; }
.footer-contact a { color:inherit; text-decoration:none; }
.footer-contact a:hover { color:var(--lime); }
.footer-brand { display:grid; grid-template-columns:160px 1fr; gap:28px; align-items:start; }
.footer-brand .brand { grid-column:1; }
.footer-brand p { grid-column:2; justify-self:end; }
.footer-map { width:240px; height:105px; border:0; filter:grayscale(1) contrast(.9); }
.home-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:7%; margin-top:22px; align-items:end; }
.home-contact-copy { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.home-contact-copy>p { max-width:210px; margin:0; font-size:11px; line-height:1.55; color:#d4e0e7; }
.home-contact-copy .contact-mail { font-size:20px; }
.full-contact-link { color:#fff; font:500 8px var(--mono); text-decoration:none; border-bottom:1px solid;padding-bottom:5px; }
.home-inquiry { display:grid; grid-template-columns:1fr 1fr; gap:9px 14px; }
.home-inquiry label { font:500 7px var(--mono); letter-spacing:.08em; color:#cbd9e0; }
.home-inquiry input,.home-inquiry select,.home-inquiry textarea { display:block; width:100%; height:25px; border:0; border-bottom:1px solid rgba(255,255,255,.45); background:transparent; color:#fff; font:400 10px var(--sans); outline:none; }
.home-inquiry select option { color:var(--ink); }
.home-inquiry textarea { height:32px; resize:none; }
.home-inquiry .inquiry-message { grid-column:span 2; }
.home-inquiry button { justify-self:end; border:0; background:var(--lime); color:var(--ink); padding:9px 13px; font:600 8px var(--mono); cursor:pointer; }

@media (min-width: 601px) {
  .footer { position: relative; }
  .footer-contact { position:absolute; left:4.35vw; top:142px; width:38%; grid-template-columns:auto 1fr; border:0; padding:0; }
  .footer-map { position:absolute; left:4.35vw; top:250px; width:140px; height:56px; }
}

@media (max-width: 600px) {
  .mobile-panel a { font-size: 16px; padding: 6px 0; }
  #about.section-pad, #services.section-pad, #projects.section-pad, #process.section-pad { padding-top: 52px; padding-bottom: 52px; }
  #services .service-card { height: 330px; }
  #projects .project-card.wide, #projects .project-card.tall, #projects .project-card { min-height: 300px; height: 300px; }
  #process .process-steps { margin-top: 28px; }
  .footer-contact { grid-template-columns:auto 1fr; gap:7px 14px; font-size:8px; }
  .principle, .principle-image { min-height: 330px; }
  .principle-content { padding-top: 38px; padding-bottom: 34px; }
  .contact { min-height: 390px; }
  .contact-inner { padding-top: 42px; }
  .footer-brand { grid-template-columns:105px 1fr; gap:18px; }
  .footer-map { position:static; width:50%; height:54px; margin:18px 0 4px; }
  .footer-brand p { display:none; }
  .home-contact-grid { grid-template-columns:1fr; gap:18px; }
  .home-contact-copy { gap:10px; }
  .home-inquiry { gap:7px 11px; }
}
.commercial{background:#f7f8f7}.commercial-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.commercial-grid a{min-height:245px;padding:25px;display:flex;flex-direction:column;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .25s,color .25s}.commercial-grid a:hover{background:var(--ink);color:#fff}.commercial-grid span{font:500 9px var(--mono);color:var(--steel)}.commercial-grid h3{margin:55px 0 11px;font:500 28px/1 var(--display);letter-spacing:-.055em}.commercial-grid p{font-size:11px;line-height:1.55;max-width:270px}.commercial-grid b{margin-top:auto;font:500 8px var(--mono)}@media(max-width:850px){.commercial-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.commercial-grid{grid-template-columns:1fr}.commercial-grid a{min-height:210px}.commercial-grid h3{margin-top:38px}}
