.shell-utility {background:#263443;color:#eef2f3}
.shell-header {height:82px;background:white;gap:18px;justify-content:space-between;box-shadow:0 1px 0 #19283912;z-index:30}
.shell-header #main-nav {gap:clamp(14px,1.9vw,30px);font:600 14px/1.35 Arial,sans-serif;color:#263443}
.shell-brand {display:inline-flex;align-items:center;flex-direction:column;gap:2px;width:max-content;color:#344353;white-space:nowrap;font-family:Georgia,serif}
.shell-brand strong {font:500 clamp(22px,2.25vw,34px)/1 Georgia,serif;letter-spacing:.085em}
.shell-brand span {font:600 9px/1.2 Arial,sans-serif;letter-spacing:.32em}
.shell-drop,.shell-drop:last-child {padding:0;border:0;position:relative}
.shell-drop summary {font:inherit;display:flex;align-items:center;gap:7px;padding:12px 0}
.shell-drop summary::after {content:'';width:6px;height:6px;border-right:1px solid;border-bottom:1px solid;transform:translateY(-2px) rotate(45deg);color:inherit}
.shell-drop[open] summary::after {content:'';transform:translateY(1px) rotate(225deg)}
.shell-drop summary::-webkit-details-marker {display:none}
.shell-dropdown {position:absolute;top:100%;inset-inline-start:-16px;width:max-content;max-width:min(260px,75vw);padding:8px;background:white;border:1px solid #dae0e3;box-shadow:0 12px 30px #0f223123;z-index:35}
.shell-dropdown a {display:block;padding:10px;font-size:14px}
.shell-dropdown a:hover,.shell-dropdown a:focus-visible {background:#ecf0f2}
.shell-footer {grid-template-columns:1.4fr 1fr 1fr 1fr;background:#20303e;color:#f4f6f7;gap:36px}
.shell-footer .shell-brand {color:inherit}
.shell-footer h3 {font:600 15px/1.3 Arial,sans-serif;margin:0 0 8px}
.shell-footer p,.shell-footer a:not(.brand) {color:#d1d8dd}
.shell-footer small {border-color:#53616b;color:#bcc7cd}
.shell-footer a:hover {text-decoration:underline}
.shell-footer .footer-contact-details {display:grid;gap:9px;margin-top:12px;color:#eee5d8;line-height:1.5;overflow-wrap:anywhere}
.shell-footer .footer-contact-details > div {display:block;font-size:14px}
.shell-footer .footer-contact-details a {color:#eee5d8}
.info-banner {padding:clamp(35px,5vw,70px) var(--gutter);background:#eaf0f2}
.info-banner h1 {font-family:Georgia,serif;margin:0}
.info-banner p {max-width:670px;line-height:1.65;margin-bottom:0}
.info-content {padding:42px var(--gutter) 55px;display:grid;grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr);gap:7%;align-items:start}
.info-content>img {width:100%;aspect-ratio:4/5;object-fit:contain;background:#f3f3f0}
.info-content article {padding:20px 0;border-top:1px solid #d6dce0;scroll-margin-top:100px}
.info-content h2 {font-size:clamp(23px,2.5vw,36px)}
.info-content p,.info-content li {color:#52626c;line-height:1.7}
.company-banner {background:#eaf0f2}
.company-intro,.company-capabilities,.company-process,.company-cta {padding:clamp(48px,7vw,100px) var(--gutter)}
.company-intro {display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);gap:clamp(28px,7vw,92px);align-items:center}
.company-image {background:#f2f3f0}
.company-image img {display:block;width:100%;aspect-ratio:1.1;object-fit:contain}
.company-intro h2,.company-capabilities h2,.company-process h2,.company-cta h2 {font-size:clamp(30px,3.5vw,50px);line-height:1.1}
.company-intro p:not(.eyebrow),.company-process>p,.company-cta>p {color:#52626c;line-height:1.75}
.company-capabilities {background:#f3f5f5}
.company-section-heading {display:flex;align-items:end;justify-content:space-between;gap:28px;max-width:860px;margin-bottom:34px}
.company-section-heading h2 {margin:0}
.capability-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dce2e4;border:1px solid #dce2e4}
.capability-grid article {padding:28px 22px;background:white}
.capability-grid span {font:600 17px Georgia,serif;color:#a98337}
.capability-grid h3 {font-size:22px;margin:16px 0 10px}
.capability-grid p {font-size:14px;color:#52626c;line-height:1.65;margin:0}
.company-process {display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#263443;color:white}
.company-process h2 {color:white;margin-bottom:0}
.company-process .eyebrow,.company-cta .eyebrow {color:#d7b865}
.company-process>p {color:#d7dfe3;max-width:500px;margin:auto 0}
.company-cta {text-align:center;max-width:940px;margin:auto}
.company-cta h2 {margin:0 auto 16px;max-width:700px}
.company-cta>p {margin:0 auto 28px;max-width:650px}
.company-cta>div {display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.company-outline {border:1px solid #263443;color:#263443}
@media(max-width:850px){.company-intro,.company-process {grid-template-columns:1fr}.capability-grid {grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.capability-grid {grid-template-columns:1fr}}
@media(max-width:1050px){
  .shell-header {height:68px}
  .shell-header .menu-toggle {display:block;margin-inline-start:auto;font:600 14px Arial}
  .shell-header #main-nav {display:none;position:absolute;inset:68px 0 auto;background:white;max-height:70vh;overflow:auto;padding:14px 5vw;align-items:stretch;border-bottom:1px solid #dbe0e2}
  .shell-header #main-nav.open {display:flex;flex-direction:column;gap:3px}
  .shell-dropdown {position:static;max-width:none;width:100%;box-shadow:none;border:0;background:#f4f6f7}
  .shell-header #main-nav>a {padding:12px 0}
}
@media(max-width:720px){.shell-footer{grid-template-columns:1fr 1fr;gap:26px}.info-content {grid-template-columns:1fr}.info-content>img {aspect-ratio:2.2}}
.contact-dialog{width:min(540px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;border:1px solid #cbbba3;border-radius:22px;background:#f8f2e7;color:#392e28;padding:32px;box-shadow:0 24px 70px #21150f55}
.contact-dialog::backdrop{background:rgba(30,22,18,.65)}
.contact-dialog-close{float:right;border:0;background:transparent;color:#392e28;font-size:30px;line-height:1;cursor:pointer}
.contact-dialog h2{margin:0 40px 24px 0;color:#392e28}
.contact-dialog .required-mark{color:#a12f28}
.contact-dialog form{display:grid;gap:16px}.contact-dialog label{display:grid;gap:7px;font-weight:650;color:#392e28}.contact-dialog input,.contact-dialog textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #bcae9d;border-radius:10px;background:#fffdf9;color:#392e28;font:inherit}.contact-dialog textarea{resize:vertical}.contact-dialog form button{justify-self:start}.contact-dialog small{color:#66594f}
