.contact-page{background:#fff;color:#111}
.contact-page .header{border-bottom:1px solid #ddd;background:#fff;color:#111}
.contact-page .header .header-brand img{filter:none;mix-blend-mode:multiply}
.contact-page .header .desktop-nav a[aria-current=page]:after{transform:scaleX(1)}
.contact-page svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.contact-page .header-cta{font-size:11px}
.contact-shell{max-width:1500px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.contact-page-label{display:flex;gap:12px;padding:125px 0 38px;font-size:8px;letter-spacing:1.2px;color:#999}.contact-page-label a{color:#444}
.contact-eyebrow{display:block;font-size:8px;line-height:1.7;letter-spacing:1.3px;color:#888}
.contact-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:65px;align-items:end;border-bottom:1px solid #ddd;padding:6px 0 49px;margin-bottom:49px}
.contact-hero h1{font-family:var(--serif);font-size:clamp(54px,5.6vw,82px);letter-spacing:-2px;line-height:1.02;margin-top:19px}
.contact-hero h1 em,.contact-aside-note em{color:var(--gold)}
.contact-hero>p{font-size:12px;line-height:2;color:#777;padding-bottom:7px}
.contact-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.5fr);gap:clamp(40px,7vw,105px);padding-bottom:72px}
.contact-intro{min-width:0;padding-top:5px}.contact-direct{margin-top:30px}.contact-direct>span:first-child{display:block;font-size:8px;letter-spacing:1px;color:#777;margin-bottom:10px}
.contact-direct>a{display:inline-flex;align-items:center;gap:16px;font-size:clamp(11px,1.15vw,15px);line-height:1.6;overflow-wrap:anywhere;padding-bottom:9px;border-bottom:1px solid #bbb}
.contact-direct>a svg{width:16px;height:16px}.contact-direct>a:hover{color:var(--gold)}
.contact-direct button{display:block;border:0;background:none;padding:10px 0;margin-top:5px;font-size:10px;color:#777}
#email-copy-status{display:block;font-size:10px;color:var(--gold);line-height:1.7}
.contact-aside-note{margin-top:52px;border-top:1px solid #ddd;padding-top:25px;max-width:320px}
.contact-aside-note p{font-family:var(--serif);font-size:32px;line-height:1.1;margin-top:18px;letter-spacing:-.4px}.contact-aside-note>span:last-child{display:block;color:#888;font-size:11px;line-height:1.9;margin-top:20px}
.contact-form-panel{min-width:0}.contact-form-heading{margin-bottom:23px}.contact-form-heading h2{font-size:35px;line-height:1.1;letter-spacing:-.6px;margin-top:10px}
.contact-route-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:30px;border:1px solid #ddd}
.contact-route{display:flex;flex-direction:column;text-align:left;min-width:0;min-height:135px;background:#fff;padding:17px 18px;position:relative;transition:background .2s,border-color .2s,color .2s;border-radius:0}
.contact-route+.contact-route{border-left:1px solid #ddd}.contact-route-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:22px;color:#999;font-size:8px;line-height:1.4;letter-spacing:1px}.contact-route-top svg{width:15px;height:15px;color:#333;transition:transform .2s}
.contact-route strong{font-size:13px;font-weight:600;line-height:1.5;letter-spacing:-.15px}.contact-route-description{display:block;font-size:9px;line-height:1.7;color:#888;margin-top:4px}
.contact-route:hover{background:#f7f7f7}.contact-route-pitch:hover svg{transform:translate(2px,-2px)}.contact-route.is-active{background:#111;color:#fff}.contact-route.is-active .contact-route-description,.contact-route.is-active .contact-route-top{color:#bbb}
.contact-route-indicator{display:block;width:5px;height:5px;border-radius:50%;border:1px solid #bbb}.is-active .contact-route-indicator{background:var(--gold);border-color:var(--gold)}
.contact-selected-heading{margin-bottom:25px}.contact-selected-heading h3{font-family:var(--serif);font-size:29px;line-height:1.15;letter-spacing:-.4px}.contact-selected-heading p{font-size:10px;color:#888;line-height:1.8;margin-top:8px}
.contact-page fieldset{min-width:0;border:0;padding:0;margin:0 0 25px}
.contact-page legend{font-size:10px;line-height:1.7;padding:0;margin-bottom:12px;font-weight:500}
.contact-input-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.contact-page .contact-details label{display:block;font-size:10px;font-weight:400;margin:0 0 20px;line-height:1.7}.contact-page .contact-details>label{margin:0}.contact-optional{color:#aaa;font-size:9px}
.contact-page .contact-details input{display:block;width:100%;font-family:var(--sans);font-size:13px;line-height:1.5;background:none;border:0;border-bottom:1px solid #ccc;border-radius:0;color:#111;margin-top:5px;padding:10px 0;min-height:44px}
.contact-page input::placeholder,.contact-page textarea::placeholder{color:#aaa;opacity:1}
.contact-page textarea{display:block;width:100%;resize:vertical;min-height:126px;max-height:340px;background:#fafafa;border:1px solid #ddd;border-radius:0;font-family:var(--sans);font-size:13px;line-height:1.8;color:#111;padding:13px 15px}
.contact-message-meta{display:flex;justify-content:space-between;gap:15px;margin-top:9px;font-size:8px;line-height:1.7;color:#999}
.contact-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #ddd;padding-top:23px}.contact-form-bottom>p{font-size:9px;line-height:1.8;color:#888}
.contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:46px;padding:12px 18px;background:#111;color:#fff;font-size:11px;white-space:nowrap}.contact-submit svg{transition:transform .25s}.contact-submit:hover svg{transform:translate(2px,-2px)}
.contact-draft-status{margin-top:22px;padding-top:18px;border-top:1px solid #ddd}.contact-draft-status p{font-size:11px;line-height:1.8;color:#777}.contact-draft-status button{background:none;border-bottom:1px solid #999;font-size:11px;padding:9px 0;margin-top:9px}.contact-draft-status>span{display:block;color:var(--gold);font-size:10px;margin-top:8px}
.contact-location{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:0 0 60px;scroll-margin-top:115px}
.contact-location-copy{padding:36px 30px 36px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.contact-location-copy h2{font-size:clamp(40px,4vw,56px);line-height:1.03;letter-spacing:-1px;margin-top:17px}.contact-location-copy h2 em{color:var(--gold)}
.contact-location-copy address{font-style:normal;font-size:11px;line-height:1.9;color:#777;margin-top:23px}.contact-location-copy>a{display:inline-flex;align-items:center;gap:10px;font-size:10px;line-height:1.5;border-bottom:1px solid #bbb;padding:12px 0;margin-top:15px}.contact-location-copy>a>span{font-size:18px;margin-left:10px}.contact-location-copy>a:hover{color:var(--gold)}.contact-location-copy>a>svg{width:16px;height:16px}
.contact-map{min-width:0;min-height:350px;background:#f4f4f4}.contact-map iframe{width:100%;height:100%;min-height:350px;display:block;border:0}
.contact-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pitch-page-shell{min-height:65vh;padding-bottom:80px}.pitch-page-shell section{padding:12px 0 50px}.pitch-page-shell h1{font-size:clamp(60px,7vw,100px);line-height:1.1;letter-spacing:-2px;margin-top:20px}.pitch-page-shell h1 em{color:var(--gold)}.pitch-page-shell section>p{font-size:13px;color:#777;line-height:1.9;margin-top:24px}.pitch-page-back{display:inline-flex;gap:30px;border-bottom:1px solid #bbb;padding:12px 0;margin-top:25px;font-size:11px}
@media(max-width:1100px){.contact-hero{gap:35px}.contact-layout{grid-template-columns:minmax(0,.65fr) minmax(0,1.5fr);gap:35px}.contact-route{padding:15px 12px}.contact-route strong{font-size:12px}.contact-route-description{font-size:8px}.contact-direct>a{font-size:11px;gap:7px}}
@media(max-width:760px){.contact-page-label{padding-top:116px;padding-bottom:25px}.contact-hero{grid-template-columns:1fr;gap:22px;padding-bottom:28px;margin-bottom:30px}.contact-hero h1{font-size:clamp(44px,9vw,65px);letter-spacing:-1.2px;margin-top:14px}.contact-hero>p{font-size:11px;padding-bottom:0}.contact-layout{display:flex;flex-direction:column;gap:32px;padding-bottom:40px}.contact-form-panel{order:0}.contact-intro{order:1;border-top:1px solid #ddd;padding-top:25px}.contact-intro>.contact-eyebrow,.contact-aside-note{display:none}.contact-direct{margin-top:0}.contact-direct>a{font-size:14px;gap:15px}.contact-form-heading h2{font-size:31px}.contact-route{min-height:125px;padding:14px 10px}.contact-route-top{margin-bottom:19px}.contact-route strong{font-size:11px}.contact-route-description{font-size:8px;line-height:1.6}.contact-selected-heading h3{font-size:27px}.contact-input-row{gap:17px}.contact-page .contact-details input,.contact-page textarea{font-size:16px}.contact-form-bottom{gap:14px}.contact-submit{gap:20px;padding:12px 15px}.contact-message-meta{font-size:7px}.contact-location{grid-template-columns:1fr;margin-bottom:35px}.contact-location-copy{padding:26px 0}.contact-location-copy h2{font-size:43px}.contact-map,.contact-map iframe{min-height:280px}.pitch-page-shell{padding-bottom:40px;min-height:60vh}}
@media(max-width:380px){.contact-input-row{grid-template-columns:1fr;gap:0}.contact-route{padding:12px 8px}.contact-route strong{font-size:10px}.contact-route-description{font-size:7px}.contact-form-bottom{align-items:flex-start}.contact-submit{gap:13px;font-size:10px}.contact-direct>a{font-size:12px}}
@media(prefers-reduced-motion:reduce){.contact-route,.contact-route-top svg,.contact-submit svg{transition:none}}


/* Our Office is its own destination within the contact choices. */
.contact-office-panel{scroll-margin-top:120px}
.contact-office-panel .contact-location-copy{padding:0 0 24px;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;align-items:start}
.contact-office-panel .contact-eyebrow{grid-column:1/-1;margin-bottom:13px}
.contact-office-panel h3{font-family:var(--serif);font-size:36px;line-height:1.1;letter-spacing:-.6px;grid-column:1;margin:0}
.contact-office-panel address{grid-column:2;grid-row:2/4;font-style:normal;font-size:12px;line-height:1.9;color:#666;margin:0}
.contact-office-panel .contact-location-copy>a{grid-column:1;font-size:10px;margin:13px 0 0;padding:8px 0;width:fit-content}
.contact-office-panel .contact-map,.contact-office-panel .contact-map iframe{height:330px;min-height:330px;width:100%}
@media(max-width:760px){.contact-office-panel .contact-location-copy{gap:0 15px}.contact-office-panel h3{font-size:31px}.contact-office-panel address{font-size:11px}.contact-office-panel .contact-map,.contact-office-panel .contact-map iframe{height:285px;min-height:285px}.contact-intro{order:1;border-top:1px solid #ddd;padding-top:25px}.contact-form-panel{order:0}}
@media(max-width:430px){.contact-office-panel .contact-location-copy{grid-template-columns:1fr}.contact-office-panel address{grid-column:1;grid-row:auto;margin-top:15px}.contact-office-panel .contact-location-copy>a{grid-row:4;margin-top:10px}.contact-office-panel .contact-map,.contact-office-panel .contact-map iframe{height:260px;min-height:260px}}

/* An editorial opening, grounded by an architectural image beside the map. */
.contact-hero{background:#111;color:#fff;padding:38px 36px 40px;margin-bottom:43px;border:0;gap:38px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:center;position:relative}
.contact-hero:before{content:'';position:absolute;left:36px;top:0;width:52px;height:2px;background:var(--gold)}
.contact-hero .contact-eyebrow{color:#aaa;font-size:8px;letter-spacing:1.5px}
.contact-hero h1{font-size:clamp(48px,4.8vw,72px);line-height:1.02;letter-spacing:-1.5px;margin-top:23px}
.contact-hero h1 em{color:#d6b666}
.contact-hero-context{border-left:1px solid #ffffff26;padding-left:35px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.contact-hero-motto{font-size:10px;line-height:1.65;font-weight:600;letter-spacing:1.3px;color:#d6b666}
.contact-hero-context p{font-size:12px;line-height:1.95;color:#bbb;margin-top:19px}
.contact-hero-context>a{display:inline-flex;align-items:center;gap:23px;align-self:flex-start;font-size:10px;line-height:1.8;border-bottom:1px solid #ffffff40;margin-top:23px;padding:0 0 8px}
.contact-hero-context>a svg{width:17px;height:17px;transition:transform .25s}.contact-hero-context>a:hover svg{transform:translateX(4px)}
#contact-form-title{scroll-margin-top:120px}
@media(max-width:1100px){.contact-hero{padding:30px 27px;gap:25px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.contact-hero-context{padding-left:24px}.contact-hero h1{font-size:52px}}
@media(max-width:760px){.contact-hero{padding:27px 23px 25px;grid-template-columns:1fr;gap:24px;margin-bottom:30px}.contact-hero:before{left:23px}.contact-hero h1{font-size:clamp(42px,9vw,62px);margin-top:18px;letter-spacing:-1px}.contact-hero-context{border-left:0;border-top:1px solid #ffffff26;padding:21px 0 0;display:grid;grid-template-columns:1fr auto;gap:17px;align-items:start}.contact-hero-motto{grid-column:2;grid-row:1;font-size:8px;letter-spacing:.8px}.contact-hero-context p{grid-column:1;grid-row:1;margin:0;font-size:10px;line-height:1.9}.contact-hero-context>a{grid-column:1/-1;margin-top:0;font-size:10px}.contact-hero .contact-eyebrow{font-size:7px}}
@media(prefers-reduced-motion:reduce){}


/* Two fixed photographs, composed as an editorial rather than a gallery. */
.contact-office-editorial{margin-top:30px;max-width:480px}
.office-photo-primary>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.office-photo-primary>figcaption{display:flex;justify-content:space-between;gap:15px;font-size:7px;line-height:1.6;letter-spacing:1.2px;color:#999;margin-top:11px}
.office-photo-primary>figcaption>span{color:#777}
@media(max-width:1100px){}
@media(max-width:760px){.contact-office-editorial{margin-top:25px;max-width:480px}.office-photo-primary>figcaption{font-size:7px}}
@media(prefers-reduced-motion:reduce){.contact-hero-context>a svg{transition:none}.contact-hero-context>a:hover svg{transform:none}}

/* One larger office portrait, with the brand sentiment integrated into the image. */
.office-photo-primary{position:relative;overflow:hidden;background:#222;isolation:isolate}
.office-photo-primary>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:53% center}
.office-photo-primary:after{content:'';position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#000c);pointer-events:none}
.office-photo-primary>figcaption{display:block;position:absolute;left:25px;right:20px;bottom:27px;margin:0;z-index:1;color:#fff}
.office-photo-primary .office-photo-kicker{display:block;font-size:7px;line-height:1.7;letter-spacing:1.3px;color:#ddd}
.office-photo-primary figcaption p{font-family:var(--serif);font-size:clamp(28px,2.6vw,37px);line-height:1.05;letter-spacing:-.4px;margin-top:15px}
.office-photo-primary figcaption p em{color:#d6b666}
@media(max-width:760px){.office-photo-primary>img{aspect-ratio:4/3}.office-photo-primary>figcaption{left:23px;bottom:25px}.office-photo-primary figcaption p{font-size:32px}}

/* Let the portrait fill the remaining column height and meet the map baseline. */
@media(min-width:761px){
 .contact-layout>.contact-intro{display:flex;flex-direction:column;min-height:0}
 .contact-office-editorial{display:flex;flex:1;min-height:0}
 .office-photo-primary{flex:1;min-height:300px;width:100%}
 .office-photo-primary>img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:53% center}
}
