/* Company pages: the studio's paper, ink, and measured editorial rhythm. */
.company-page .company-hero { display:grid; grid-template-columns:1.12fr .88fr; gap:70px; align-items:center; padding-block:65px 72px; }
.company-page .company-hero h1 { font:400 clamp(4rem,6.9vw,7rem)/.97 var(--sans); letter-spacing:-.075em; margin:24px 0; }
.company-page .company-hero h1 em { font-family:var(--serif); letter-spacing:-.035em; }
.company-page .company-hero .intro-text { max-width:44ch; font-size:.98rem; line-height:1.8; }
.company-page .company-hero .inner-actions { gap:24px; }
.career-art { position:relative; padding:12px 20px 50px; }
.career-art .career-photo { position:relative; width:89%; margin-left:auto; border:7px solid #faf9f3; border-radius:180px 180px 20px 20px; overflow:hidden; box-shadow:0 32px 65px -24px #0b211c66,0 5px 0 #d6d6ca; }
.career-art .career-photo img { width:100%; aspect-ratio:4/4.7; object-fit:cover; }
.career-art .career-inset { position:absolute; bottom:0; left:0; width:49%; padding:6px; background:#faf9f3; border-radius:18px; box-shadow:0 20px 45px -18px #0b211c80,0 4px 0 #d6d6ca; }
.career-art .career-inset img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }
.career-art figcaption { margin:16px 0 0 54%; font-size:.66rem; line-height:1.6; }
.career-art figcaption a { border-bottom:1px solid #0b211c55; }
.company-subnav { display:flex; flex-wrap:wrap; gap:16px 34px; border-block:1px solid #0b211c2b; padding-block:19px; font-size:.79rem; }
.company-subnav a { padding-bottom:4px; border-bottom:1px solid transparent; }
.company-subnav a[aria-current],.company-subnav a:hover { border-bottom-color:currentColor; }
.career-discipline { padding-block:54px 60px; display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; }
.career-discipline h2 { margin-block:18px 25px; max-width:12ch; }
.career-discipline p { max-width:39ch; font-size:.9rem; }
.discipline-list { margin:0; }
.discipline-list>div { display:grid; grid-template-columns:42px 1fr; gap:5px 20px; padding:21px 0; border-top:1px solid #0b211c2b; }
.discipline-list>div:last-child { border-bottom:1px solid #0b211c2b; }
.discipline-list dt { font-size:1.1rem; letter-spacing:-.03em; grid-column:2; }
.discipline-list dd { font-size:.83rem; color:#58665e; margin:0; grid-column:2; }
.discipline-list span { grid-row:1/3; font-size:.67rem; padding-top:5px; color:#58665e; }
.company-band { background:#0b211c; color:#f1f0e9; }
.company-band>.wrap { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-block:45px; align-items:center; }
.company-page .company-band p { color:#bdc6b7; font-size:.88rem; max-width:48ch; margin-top:16px; }
.company-page .company-band h2 { font:400 clamp(2.5rem,4vw,4rem)/1.03 var(--serif); }
.company-band .button { background:#f1f0e9; color:#0b211c; justify-self:end; }
.career-contact { display:grid; grid-template-columns:.8fr 1.2fr; gap:95px; padding-block:65px 80px; scroll-margin-top:110px; }
.career-contact h2 { margin:18px 0 25px; }
.career-contact>div>p { max-width:35ch; font-size:.9rem; margin-bottom:18px; }
.career-contact .direct-contact { display:block; font-size:.87rem; margin-block:14px; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:5px; }
.career-contact .small-note { font-size:.75rem; margin-top:30px; }
#career-inquiry { border-top:1px solid #0b211c2b; padding:26px 0 0; background:none; }
#career-inquiry label { font-weight:400; font-size:.77rem; margin-bottom:24px; }
#career-inquiry input,#career-inquiry textarea,#career-inquiry select { border:0; border-bottom:1px solid #0b211c55; border-radius:0; padding:12px 0; background:transparent; font-size:.9rem; }
#career-inquiry .form-row { gap:24px; }
#career-inquiry .form-note { font-size:.72rem; line-height:1.65; margin:0 0 24px; }
.form-note a { text-decoration:underline; text-underline-offset:3px; }
#career-status { min-height:1.8em; margin-top:18px; font-size:.85rem; }
#career-status.error { color:#983c30; }
#career-status.success { color:#245b3e; }
.positions-status { display:grid; grid-template-columns:90px minmax(0,1fr) auto; gap:40px; align-items:center; border-block:1px solid #0b211c35; padding:42px 0; margin-block:20px 55px; }
.positions-status .position-mark { width:72px; height:72px; display:grid; place-items:center; border:1px solid #0b211c45; border-radius:50%; font:400 2.5rem var(--serif); }
.positions-status h2 { font-size:2.25rem!important; margin:12px 0 16px; }
.positions-status p { max-width:52ch; font-size:.91rem; }
.positions-status .button { white-space:nowrap; }
.career-questions { padding-bottom:80px; display:grid; grid-template-columns:.8fr 1.2fr; gap:95px; }
.career-questions h2 { max-width:12ch; }
.career-questions details { border-top:1px solid #0b211c2b; padding:20px 0; }
.career-questions details:last-child { border-bottom:1px solid #0b211c2b; }
.career-questions summary { cursor:pointer; font-size:.95rem; }
.career-questions details p { font-size:.87rem; margin-top:16px; }
.career-questions details a { text-decoration:underline; text-underline-offset:4px; }
.legal-intro { padding-bottom:36px!important; }
.legal-layout { display:grid; grid-template-columns:230px minmax(0,750px); justify-content:space-between; gap:65px; padding-bottom:85px; }
.legal-sidebar { position:sticky; top:125px; align-self:start; border-top:1px solid #0b211c35; padding-top:20px; }
.legal-sidebar p { font-size:.69rem; margin-bottom:16px; }
.legal-sidebar a { display:block; font-size:.78rem; padding:6px 0; color:#58665e; }
.legal-sidebar a:hover { color:#0b211c; text-decoration:underline; }
.legal-copy section { padding:25px 0; border-top:1px solid #0b211c2b; scroll-margin-top:120px; }
.legal-copy h2 { font:400 1.55rem/1.3 var(--sans)!important; letter-spacing:-.035em!important; margin-bottom:18px; }
.legal-copy p,.legal-copy li { font-size:.91rem; line-height:1.8; color:#58665e; }
.legal-copy p+p,.legal-copy ul { margin-top:15px; }
.legal-copy ul { padding-left:20px; }
.legal-copy li+li { margin-top:8px; }
.legal-copy a { color:#0b211c; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.legal-meta { font-size:.72rem!important; margin-top:22px!important; }
@media(max-width:1100px) { .company-page .company-hero { gap:35px; }.career-contact,.career-questions { gap:50px; }.career-discipline { gap:45px; }.positions-status { grid-template-columns:65px 1fr; gap:25px; }.positions-status .position-mark { width:60px; height:60px; }.positions-status .button { grid-column:2; justify-self:start; }.legal-layout { grid-template-columns:190px 1fr; gap:40px; } }
@media(max-width:700px) { .company-page .company-hero { grid-template-columns:1fr; padding-block:36px 42px; gap:30px; }.company-page .company-hero h1 { font-size:clamp(3.6rem,14vw,5.7rem); }.company-page .company-hero .intro-text { font-size:.92rem; }.career-art { width:min(100%,420px); margin-inline:auto; padding-right:10px; }.career-art .career-photo img { aspect-ratio:4/3.7; }.career-art figcaption { font-size:.62rem; }.company-subnav { gap:16px 25px; }.career-discipline,.career-contact,.career-questions { grid-template-columns:1fr; gap:30px; padding-block:38px 48px; }.career-discipline h2,.career-questions h2 { max-width:16ch; }.company-band>.wrap { grid-template-columns:1fr; gap:25px; padding-block:36px; }.company-band .button { justify-self:start; }.career-contact>div>p { max-width:45ch; }.career-contact .small-note { margin-top:20px; }.positions-status { grid-template-columns:1fr; gap:22px; margin-block:10px 0; padding-block:30px; }.positions-status .button { grid-column:1; }.positions-status h2 { font-size:2rem!important; }.legal-layout { grid-template-columns:1fr; gap:30px; padding-bottom:50px; }.legal-sidebar { position:static; display:flex; flex-wrap:wrap; gap:4px 20px; }.legal-sidebar p { width:100%; margin-bottom:3px; }.legal-sidebar a { font-size:.74rem; }.legal-copy section { padding-block:24px; }.legal-copy p,.legal-copy li { font-size:.88rem; } }
@media(max-width:450px) { #career-inquiry .form-row { grid-template-columns:1fr; gap:0; }.company-page .company-hero .inner-actions { align-items:flex-start; flex-direction:column; gap:20px; } }
