/* Supporting pages share the homepage's typography, palette and photographic language. */
.subpage { background:var(--paper); color:var(--ink); }
.subpage .header { max-width:1440px; padding:25px 5.1% 25px 3.4%; min-height:100px; gap:30px; border-bottom:1px solid var(--rule); }
.subpage .header nav a { font-size:13px; letter-spacing:.09em; }
.subpage nav a[aria-current="page"] { text-decoration:underline; text-underline-offset:7px; text-decoration-thickness:1px; }
.subpage .themed-interior { max-width:none; padding:0; }
.subpage h1 { font-family:var(--serif); font-size:clamp(42px,4.3vw,62px); font-weight:400; line-height:1.02; letter-spacing:-.025em; margin:0 0 24px; }
.subpage h2 { font-family:var(--serif); font-size:32px; font-weight:400; line-height:1.12; letter-spacing:-.02em; }
.subpage p { font-size:16px; line-height:1.65; }
.subpage p+p { margin-top:20px; }
.subpage .intro { max-width:530px; font-size:18px; line-height:1.6; }
.subpage .button { padding:12px 20px; margin-top:26px; font-size:12px; letter-spacing:.12em; }
.interior-opening { display:grid; grid-template-columns:46% 54%; min-height:365px; border-bottom:1px solid var(--rule); }
.opening-copy { padding:65px 12% 65px 13.91%; align-self:center; }
.opening-photo { min-height:365px; background-image:url('assets/reference-photography.png'); background-size:auto 346.726862%; background-position:100% 0; background-repeat:no-repeat; background-color:#c7c5bd; }
.subpage .interior-grid { margin:0; padding:46px 6.4% 65px; gap:42px 0; grid-template-columns:1fr 1fr; }
.subpage .interior-grid section { border-top:0; padding:0 50px 0 0; }
.subpage .interior-grid section:nth-child(even) { padding:0 0 0 50px; border-left:1px solid var(--rule); }
.subpage .interior-grid section:nth-child(n+3) { border-top:1px solid var(--rule); padding-top:36px; }
.section-number { display:block; font-family:var(--serif); color:#969693; font-size:36px; line-height:1.1; margin-bottom:10px; }
.subpage .interior-grid h2 { margin-bottom:20px; }
.subpage .interior-grid h2:after { content:''; display:block; width:32px; border-top:1px solid #7a7972; margin-top:17px; }
.subpage .bio { grid-template-columns:46% 54%; gap:0; padding:0; align-items:start; }
.bio-image { background:#60606b; overflow:hidden; }
.subpage .bio-photo { display:block; width:100%; height:auto; max-height:830px; object-fit:cover; object-position:center top; margin:0; }
.bio-copy { padding:58px 11.85% 60px 9%; align-self:center; }
.subpage .bio-copy .eyebrow { font-size:13px; line-height:1.5; margin:0 0 12px; letter-spacing:.15em; }
.subpage .bio h1 { margin:0; }
.subpage .bio .short-rule { margin:22px 0; }
.subpage .bio-copy p:not(.eyebrow) { max-width:610px; }
.contact-layout { display:grid; grid-template-columns:52% 48%; min-height:600px; }
.contact-copy { padding:65px 12.3%; align-self:center; }
.subpage .contact-details { margin-top:34px; padding-top:27px; }
.subpage .contact-details h2 { margin-bottom:13px; }
.subpage .contact-details a { font-size:18px; margin-top:22px; }
.contact-art { background:#20211f url('assets/reference-photography.png') 81% 77.115988% / auto 590.769231% no-repeat; }
.subpage footer { padding:15px 5.6% 30px; border-top:1px solid var(--rule); }
.subpage .footer-main { padding:24px 0 26px; }
.subpage .section-number { display:none; }
.subpage .phone { margin-top:14px; letter-spacing:.08em; }
@media(max-width:1100px) {
  .subpage .header { min-height:85px; padding-top:22px; padding-bottom:22px; }
  .subpage .header .cities { display:none; }
  .subpage .header .wordmark { font-size:27px; width:180px; }
  .subpage .header nav { gap:19px; }
  .subpage .header nav a { font-size:12px; }
  .opening-copy { padding-top:45px; padding-bottom:45px; }
  .bio-copy { padding:38px 9%; }
  .subpage .bio { grid-template-columns:44% 56%; }
  .subpage .bio-photo { height:680px; max-height:none; object-position:48% top; }
  .subpage .interior-grid section { padding-right:30px; }
  .subpage .interior-grid section:nth-child(even) { padding-left:30px; }
  .contact-copy { padding:50px 11%; }
}
@media(max-width:760px) {
  .subpage .header { padding:22px 24px; gap:20px; }
  .subpage .header nav { width:100%; margin:0; gap:18px; flex-wrap:wrap; }
  .subpage h1 { font-size:42px; }
  .subpage .intro { font-size:17px; }
  .interior-opening { display:flex; flex-direction:column; min-height:0; }
  .opening-copy { padding:42px 24px 35px; align-self:stretch; }
  .opening-photo { min-height:0; height:245px; background-position:80% 0; }
  .subpage .interior-grid { display:block; padding:15px 24px 40px; }
  .subpage .interior-grid section, .subpage .interior-grid section:nth-child(even), .subpage .interior-grid section:nth-child(n+3) { padding:28px 0; margin:0; border:0; }
  .subpage .interior-grid section+section { border-top:1px solid var(--rule); }
  .subpage .bio { display:flex; flex-direction:column; }
  .bio-image { width:100%; }
  .subpage .bio-photo { width:100%; height:auto; max-height:640px; aspect-ratio:4/5; object-position:center 22%; }
  .bio-copy { padding:38px 24px 45px; }
  .contact-layout { display:flex; flex-direction:column; min-height:0; }
  .contact-copy { padding:42px 24px; }
  .contact-art { height:270px; background-position:80% 77.115988%; }
  .subpage footer { padding:12px 24px 25px; }
  .subpage .footer-main { gap:20px; }
  .subpage .footer-main .cities { padding-left:18px; }
}
.contact-page .contact-layout{grid-template-columns:1fr 1fr;align-items:start}
.contact-page .contact-details a{display:block;width:fit-content;margin-top:16px}
.contact-form-panel{margin:50px 0;padding:0 12%;border-left:1px solid var(--rule)}
.contact-form-panel h2{font-size:42px;margin-bottom:28px}
.contact-form{display:flex;flex-direction:column;align-items:stretch}
.contact-form label{font-size:14px;margin-bottom:8px}
.contact-form input,.contact-form textarea{width:100%;font:inherit;color:var(--ink);background:transparent;border:1px solid #a9a69f;border-radius:0;padding:13px 14px;margin-bottom:22px}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--ink);outline-offset:2px}
.contact-form .button{align-self:flex-start;margin-top:0;font-family:var(--sans)}
.contact-form .button:disabled{cursor:not-allowed;opacity:.65}
.contact-form .form-note{font-size:14px;line-height:1.5;margin-top:14px}
@media(max-width:760px){.contact-form-panel{margin:0 24px 40px;padding:32px 0 0;border-left:0;border-top:1px solid var(--rule)}}
