/* Contact, Careers and job descriptions. */
.contact-details{display:grid;grid-template-columns:.85fr 1.4fr;gap:65px;align-items:start;padding-block:15px 85px}
.contact-information dl{margin:0 0 32px}.contact-information dl>div{padding:20px 0;border-top:1px solid var(--line)}
.contact-information dt{font-size:14px;text-transform:uppercase;letter-spacing:1.4px;font-weight:700;color:var(--blue);margin-bottom:7px}
.contact-information dd{margin:0;font-size:21px;line-height:1.6;overflow-wrap:anywhere}
.contact-information a:not(.button):hover{text-decoration:underline;text-underline-offset:4px}
.contact-details figure img{width:100%;height:auto}.contact-details figcaption,.office-photo-grid figcaption{font-size:15px;color:var(--muted);margin-top:14px}
.button:hover{background:var(--deep-blue);color:white}.button-white:hover{background:white;color:var(--deep-blue)}
.office-map{display:block;width:100%;height:430px;border:0;margin-top:32px;background:var(--line)}
.office-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:40px}.office-photo-grid img{width:100%;height:auto}
.career-lead{display:grid;grid-template-columns:1.45fr .85fr;gap:65px;padding-block:15px 85px;align-items:start}
.career-lead h2,.job-details h2,.career-contact h2{font-size:36px;line-height:1.25;margin-bottom:24px;letter-spacing:-.5px}
.career-lead p,.job-card p,.career-benefits,.job-details li,.job-details p,.career-contact p{font-size:18px;line-height:1.8;color:var(--muted)}
.career-lead .text-link{margin-top:28px}.career-lead figure img{width:100%;height:auto}
#openings,#form7-1r,.anchor-target{scroll-margin-top:125px}.anchor-target{display:block}
.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:35px}
.job-card{background:white;padding:35px;display:flex;flex-direction:column;align-items:start;border-top:3px solid var(--blue)}
.job-card h3{font-size:29px;margin-bottom:20px}.job-card p{margin-bottom:26px}.job-card .text-link{margin-top:auto}.job-card h3 a:hover{color:var(--blue)}
.career-benefits{display:grid;grid-template-columns:1fr 1fr;gap:0 45px;list-style:none;padding:0;margin:30px 0 0}
.career-benefits li{padding:24px 0;border-top:1px solid var(--line);break-inside:avoid}
.career-contact{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-block:75px}.career-contact .text-link{margin-top:20px}.career-contact-note{margin-top:30px}
.career-form label{display:block;font-size:16px;color:var(--ink);font-weight:700;margin-bottom:8px}
.career-form input.form-control{font:inherit;font-size:18px;line-height:1.6;min-height:52px;border:1px solid #86959d;border-radius:0;padding:10px 14px;background:white;color:var(--ink)}
.career-form input:focus{outline:3px solid #bd6f12;outline-offset:2px;box-shadow:none}
.career-form .form-group{margin-bottom:22px!important}.career-form button[type=submit]{border-radius:0;background:var(--blue);border:1px solid var(--blue);padding:13px 28px;font-size:17px;min-height:50px}
.career-form button[type=submit]:hover{background:var(--deep-blue)}.career-form button:disabled{opacity:.6;cursor:wait}
.career-form form>p{margin-bottom:25px}.career-form [hidden]{display:none!important}.career-form .alert{border-radius:0}
.job-breadcrumb{padding-top:30px}.job-breadcrumb+.page-intro{padding-top:35px}
.job-details{display:grid;grid-template-columns:1.6fr .85fr;gap:70px;align-items:start;padding-block:15px 90px}
.job-details ul{padding-left:23px;margin:0 0 42px}.job-details li{padding-left:5px;margin-bottom:12px}.job-details h2{color:var(--blue)}
.job-apply{background:var(--pale)}.job-apply>img{width:100%;height:auto}.job-apply>div{padding:28px}.job-apply h2{font-size:28px}.job-apply .text-link{margin-top:20px;overflow-wrap:anywhere}
.experience-link{border-top:1px solid var(--line);padding-top:25px;margin-top:25px;font-size:18px}
.project-facts ul{list-style:none;margin:0;padding:0}.project-facts li+li{margin-top:12px}
.project-gallery-single{max-width:800px}.project-gallery-single .project-photo-grid{grid-template-columns:1fr}
.project-hero.source-photo{max-width:1100px;margin-inline:auto;padding-inline:28px}.project-hero.source-photo>img{max-height:640px;width:100%;object-fit:contain}
.project-hero.source-photo figcaption{width:100%}
.work-context{font-size:17px;color:var(--muted);margin-top:9px;line-height:1.5}
.k12-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;padding-block:20px 85px}.k12-columns p,.k12-columns li{font-size:18px;color:var(--muted);line-height:1.8}
.k12-columns h2{font-size:30px;color:var(--blue);margin:35px 0 20px}.k12-columns h2:first-child{margin-top:0}.k12-columns ul{padding-left:24px}.k12-columns li{margin-bottom:9px}.k12-columns aside{padding:30px;background:var(--pale)}
@media(max-width:1000px){.contact-details,.career-lead,.career-contact,.job-details{gap:35px}.career-lead{grid-template-columns:1.3fr .8fr}.job-card{padding:28px}.k12-columns{gap:35px}}
@media(max-width:760px){.contact-details,.career-lead,.career-contact,.job-details,.k12-columns{grid-template-columns:1fr}.career-lead figure{max-width:500px}.job-apply{display:grid;grid-template-columns:1fr 1fr}.career-benefits{grid-template-columns:1fr}.office-map{height:360px}.career-contact{padding-block:55px}.contact-details,.career-lead,.job-details{padding-bottom:60px}}
@media(max-width:560px){.job-grid,.office-photo-grid{grid-template-columns:1fr}.contact-information dd{font-size:19px}.career-lead h2,.career-contact h2,.job-details h2{font-size:30px}.job-card h3{font-size:27px}.job-apply{display:block}.job-apply>img{max-height:360px;object-fit:contain}.office-map{height:300px}.project-hero.source-photo{padding-inline:10px}.k12-columns aside{padding:24px}}
@media print{.office-map,.career-form{display:none}.contact-details,.career-lead,.job-details{padding-block:20px}.job-card,.job-apply{break-inside:avoid}}

/* Card crops keep the building signage visible; full photos stay available on project pages. */
#northway-pain-management .work-image>img{object-position:31% center}
#oneida-nation-health-services .work-image>img{object-position:100% center}
.project-hero.source-photo>img.original-size-photo{width:100%;height:auto}
/* Do not enlarge a source photograph beyond its available resolution. */
.project-hero.source-photo>img,.project-photo-grid img{width:auto;max-width:100%;height:auto;margin-inline:auto}

.contact-message{display:grid;grid-template-columns:1fr 1.35fr;gap:65px;padding-block:0 85px}
.contact-message h2{font-size:40px;line-height:1.2;margin-bottom:24px}
.contact-message p{font-size:18px;color:var(--muted);line-height:1.7;margin-bottom:18px}
.contact-message a{text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.contact-form{min-width:0}.contact-form .form-note{font-size:16px}
.contact-field{margin-bottom:22px}.contact-field label{display:block;font-weight:700;margin-bottom:8px}
.contact-field label span{font-weight:400;color:var(--muted)}
.contact-field input,.contact-field textarea{display:block;box-sizing:border-box;width:100%;padding:12px 14px;border:1px solid #86959d;background:white;color:var(--ink);font:inherit;font-size:18px;border-radius:0}
.contact-field textarea{resize:vertical;min-height:160px}
.contact-field input:focus,.contact-field textarea:focus{outline:3px solid #bd6f12;outline-offset:2px}
.contact-form .button{border:0;cursor:pointer;font:inherit;min-height:50px}
.contact-form .button:disabled{opacity:.6;cursor:default}
.contact-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#contact-status{margin-top:18px}#contact-status:empty{display:none}#contact-status.is-error{color:#a33222}
@media(max-width:760px){.contact-message{grid-template-columns:1fr;gap:28px;padding-bottom:60px}.contact-message h2{font-size:34px}}
@media print{.contact-form{display:none}}
