/* Give the two disciplines equal prominence without changing the identity. */
.hero-heading-row{display:block;margin-bottom:36px}
.hero h1{font-size:clamp(44px,6.25vw,96px);line-height:1.04;letter-spacing:-.065em}
.hero-sub{display:flex;align-items:center;justify-content:space-between;gap:42px;margin-top:28px;padding:0}
.hero-sub p{max-width:640px;font-size:17px;line-height:1.55}
.hero-sub .actions{margin:0;flex-shrink:0;gap:20px}
.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-card{min-height:0;padding:30px 42px 38px 0}
.service-card:not(:nth-child(3n+1)){padding-left:42px}
.service-card h3{max-width:570px;font-size:clamp(32px,3.5vw,54px);margin-top:38px}
.service-card p{max-width:550px;font-size:16px}
.section{padding-top:84px;padding-bottom:84px}
.section-head{margin-bottom:48px}
.section h2{font-size:clamp(40px,4.6vw,68px)}
@media(max-width:1000px){.hero-sub{gap:24px}.hero-sub p{font-size:15px}.hero-sub .actions{flex-shrink:1;min-width:180px}.hero h1{font-size:clamp(44px,6.25vw,72px)}}
@media(max-width:620px){.hero h1{font-size:clamp(32px,8.8vw,52px);line-height:1.08;letter-spacing:-.05em}.hero h1 span+span{margin-top:12px}.hero-sub{display:block;margin-top:24px}.hero-sub p{font-size:15px}.hero-sub .actions{margin-top:22px}.services-grid{grid-template-columns:1fr}.service-card,.service-card:not(:nth-child(3n+1)),.service-card:nth-child(even){padding:26px 0 32px;border-left:0}.service-card h3{font-size:34px;line-height:1.1;margin-top:24px}.section{padding-top:60px;padding-bottom:60px}.section h2{font-size:36px}.section-head{gap:20px;margin-bottom:34px}}

/* Full service menu: retain breadth without duplicating the headline. */
.service-card,.service-card:not(:nth-child(3n+1)){padding:30px 36px 34px 0;border-left:0}
.service-card:nth-child(even){padding-left:36px;border-left:1px solid var(--line)}
.service-card h3{font-size:clamp(30px,3vw,42px);margin-top:26px;max-width:540px}
.service-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:36px;padding-right:0}
.service-card:last-child .cap-no{grid-column:1/-1}
.service-card:last-child h3{margin-bottom:0}
.service-card:last-child p{margin-top:26px;padding-left:36px}
.service-note{max-width:900px;margin-top:28px;color:#b9bdb1;font-size:16px;line-height:1.65}
@media(max-width:620px){.service-card,.service-card:not(:nth-child(3n+1)),.service-card:nth-child(even){padding:26px 0 32px;border-left:0}.service-card:last-child{display:block}.service-card:last-child p{padding:0;margin-top:14px}.service-card h3{font-size:32px}.service-note{font-size:15px}.mission-tab{padding-top:20px;padding-bottom:20px}}

.contact-grid{align-items:start;grid-template-columns:1fr 1fr;gap:72px}
.contact h2{font-size:clamp(48px,5vw,76px);line-height:1.04;max-width:550px}
.contact-intro{font-size:18px;line-height:1.6;margin-top:24px;max-width:380px}
.contact-side{padding-top:0;border:0}
#contact-fields{border:0;padding:0;margin:0;min-width:0}
#contact-form label{display:block;font-size:14px;font-weight:600;margin:20px 0 8px}
#contact-form label:first-child{margin-top:0}
#contact-form label span{font-weight:400}
#contact-form input,#contact-form textarea{display:block;width:100%;box-sizing:border-box;background:#f7f7ed;color:#171b16;border:1px solid #526026;border-radius:0;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5;min-height:48px}
#contact-form textarea{resize:vertical;min-height:130px;max-height:400px}
#contact-form :focus-visible,.contact-email-link:focus-visible{outline:3px solid #171b16;outline-offset:3px}
.contact-privacy{font-size:12px;line-height:1.6;margin:15px 0 20px;max-width:530px}
.contact-submit{background:#171b16;color:#f7f7ed;width:100%;justify-content:space-between;border:1px solid #171b16;cursor:pointer}
.contact-submit:disabled{opacity:.6;cursor:wait}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#contact-status{font-size:14px;line-height:1.6;margin-top:16px}
#contact-status:empty{display:none}
.contact-email-link{display:inline-block;font-size:13px;margin-top:18px;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
@media(max-width:900px){.contact-grid{gap:40px}}
@media(max-width:620px){.contact-grid{grid-template-columns:1fr;gap:34px}.contact h2{font-size:46px}.contact-intro{font-size:16px;margin-top:18px}.contact-side{border-top:1px solid #687b2d;padding-top:28px}.contact-email-link{font-size:12px}}
