/* Ten public design refinements, scoped away from admin and approved motion. */
@media(min-width:1101px){.header>.wrap{gap:clamp(16px,1.5vw,26px);min-height:96px;padding-block:15px}.header .brand img{width:166px}.header .nav{column-gap:clamp(10px,1.05vw,18px);row-gap:5px;align-items:center}.header .nav>a,.header .nav-parent-link,.header .nav-disclosure{font-size:13px;line-height:1.5}.header .nav-tools{gap:10px}.header .nav>a,.header .nav-dropdown>.nav-parent-link,.header .nav-disclosure{min-height:44px}.header .nav-submenu{border-radius:0 0 10px 10px;padding:14px;box-shadow:0 12px 30px #03152b26}.header .nav .nav-submenu a{padding:10px 12px;border-radius:5px}}
@media(min-width:1101px) and (max-width:1280px){.header>.wrap{width:calc(100% - 48px);gap:14px}.header .brand img{width:140px}.header .nav{column-gap:10px}.header .nav>a,.header .nav-parent-link,.header .nav-disclosure{font-size:12px}.header .nav-tools{gap:7px}}
/* Match text baselines for links, grouped labels and Services; underline uses no layout space. */
@media(min-width:1101px){.header .nav>a,.header .nav-dropdown>.nav-parent-link,.header .nav-dropdown>.nav-disclosure{display:flex;align-items:center;box-sizing:border-box;min-height:44px;height:44px;padding-block:0;border-bottom:0}.header .nav>a[aria-current=page],.header .nav-dropdown>.nav-parent-link[aria-current=page]{border-bottom:0;box-shadow:inset 0 -2px 0 currentColor}}
main :is(.news-meta,.contact-message-help,.help-text){color:#52647c}html[data-theme=dark] main :is(.news-meta,.contact-message-help,.help-text){color:#b8c8db}
:is(.company-hero,.about-hero,.contact-hero) nav{color:#fff;text-shadow:0 1px 5px #0009}html[data-theme=dark] .testimonial-author{color:#f1f5fa}html[data-theme=dark] .testimonial-excerpt{color:#c8d4e3}
:where(.team-members) .team-member{border-radius:14px;overflow:hidden;box-shadow:0 5px 24px #06152d15;border:1px solid #dce3ec}.team-members .team-member>img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 35%;border-radius:0;box-shadow:none}.team-members .team-member-copy{padding:20px 22px 22px;display:flex;flex-direction:column}.team-members .team-member h3{font-size:clamp(18px,1.55vw,23px);line-height:1.3;min-height:2.6em;margin:0 0 8px;text-wrap:balance}.team-members .team-member p{font-size:14px;line-height:1.65;min-height:3.3em;margin:0}.team-members .team-member-social{margin-top:12px}html[data-theme=dark] .team-members .team-member{border-color:#33455d}
.testimonial-card{padding:30px 28px;box-shadow:0 8px 32px #15022a24;border:1px solid #dce3ec}.testimonial-card .testimonial-portrait{width:82px;height:82px;box-shadow:0 3px 14px #0002}.testimonial-card .testimonial-stars{font-size:18px;letter-spacing:2px;margin:14px 0 18px}.testimonial-card .testimonial-excerpt{font-size:15px;line-height:1.85;max-width:36ch;margin:0 auto 15px}.testimonial-card .testimonial-more summary{font-size:13px;min-height:44px;padding:9px 0;margin:0}.testimonial-card .testimonial-author{border-top:1px solid #dce3ec;padding-top:18px;margin:10px 0 0;line-height:1.6}.testimonial-author strong{display:block;font-size:15px;font-weight:750}.testimonial-author span{display:block;font-size:12px;font-weight:500;margin-top:5px;line-height:1.7;color:#52647c}html[data-theme=dark] .testimonial-card{border-color:#33455d;box-shadow:0 8px 30px #0003}html[data-theme=dark] .testimonial-author{border-color:#3a4b62}html[data-theme=dark] .testimonial-author span{color:#bccbdd}
.original-gallery-grid{gap:18px}.original-gallery-tile>a{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/2;background:#142643}.original-gallery-tile img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover}.original-gallery-tile .gallery-media-placeholder{height:100%;aspect-ratio:3/2}.media-kind-label{position:absolute;top:12px;left:12px;z-index:1;padding:6px 10px;border:1px solid #ffffff55;border-radius:18px;background:#07152cdb;color:#fff;font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.04em;pointer-events:none}.original-gallery-filters a{border-radius:24px;padding:11px 20px;font-size:12px;min-height:44px}.original-gallery-filters a[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--red)}
.contact-details-panel .contact-details-list{display:grid;gap:8px}.contact-details-panel .contact-detail{padding-block:15px;border-bottom:1px solid #cad4e333}.contact-details-panel .contact-detail h3{font-size:12px;letter-spacing:.045em;text-transform:uppercase;margin-bottom:6px}.contact-details-panel .contact-value{font-size:clamp(16px,1.5vw,21px);line-height:1.6;font-weight:650;overflow-wrap:anywhere}.contact-details-panel .contact-registration{margin-block:24px}.contact-form-panel .contact-intro{max-width:54ch;line-height:1.8}.contact-card .contact-form-panel{padding:48px}.contact-location>div p{max-width:44ch}
.news-article.company-width{width:min(800px,calc(100% - 64px));padding-top:64px}.news-article header h1{font-size:clamp(30px,3.1vw,44px);line-height:1.2;max-width:28ch;text-wrap:balance}.news-article .news-meta{font-size:11px;line-height:1.7;margin-top:20px;letter-spacing:.055em}.news-article .article-cover{border-radius:12px;margin:32px 0 36px}.news-article .editorial-copy{font-size:17px;line-height:1.9;text-align:left}.news-article .editorial-copy p{margin-bottom:24px}.news-article .editorial-copy :is(h2,h3){line-height:1.35;margin:36px 0 18px}.news-card .news-card-copy{padding:24px}.news-card h2{font-size:21px;line-height:1.4;text-wrap:balance}
.sg-field-error{display:block;color:#a53220;font-size:12px;font-weight:550;line-height:1.6;margin-top:7px;overflow-wrap:anywhere}.sg-field-error[hidden],.sg-form-summary[hidden]{display:none}.application-form [aria-invalid=true],.contact-form [aria-invalid=true]{border-color:#b33925!important;outline:1px solid #b33925;outline-offset:1px}.sg-form-summary{padding:15px 18px;margin:0 0 24px;border:1px solid #ca806c;border-left:4px solid #b33925;border-radius:9px;background:#fff3ef;color:#8c2c1d;font-size:14px;line-height:1.7}.sg-submit-status{font-size:13px;line-height:1.75;margin-top:14px;color:#52647c}.application-form[aria-busy=true] .button,.contact-form[aria-busy=true] .button{opacity:.75;cursor:wait}.contact-success{border:1px solid #82b89d;border-left:4px solid #28724e;border-radius:9px;background:#edf7f1;color:#225c42;padding:18px 20px}.application-confirmation{padding:36px;border:1px solid #c6d9ce;border-left:4px solid #28724e;border-radius:14px;background:#f6fbf8}.application-confirmation h1{font-size:clamp(28px,3vw,40px);line-height:1.25}.application-confirmation p{line-height:1.85}.application-confirmation strong{overflow-wrap:anywhere}.application-confirmation .confirmation-check{display:grid;place-items:center;width:48px;height:48px;margin-bottom:20px;border-radius:50%;background:#ddefe4;color:#28724e;font-size:25px}html[data-theme=dark] .sg-field-error{color:#ffb4a1}html[data-theme=dark] .sg-form-summary{background:#3b241f;border-color:#a76b59;color:#ffd5c9}html[data-theme=dark] .sg-submit-status{color:#bdcbdc}html[data-theme=dark] .contact-success,html[data-theme=dark] .application-confirmation{background:#142e28;border-color:#3c6c56;color:#def0e6}html[data-theme=dark] .application-confirmation .confirmation-check{background:#234c3b;color:#cdf4dc}
.faithful :is(.company-hero,.about-hero){height:432px;min-height:355px}.faithful :is(.company-hero-content,.about-hero-content){padding:120px 24px 50px}.faithful :is(.company-hero,.about-hero,.contact-hero) h1{font-size:clamp(40px,4vw,56px);line-height:1.18;letter-spacing:-.025em;text-wrap:balance}.faithful .contact-hero{min-height:520px}.faithful .contact-hero-content{padding:110px 24px 220px}.faithful :is(.company-hero,.about-hero,.contact-hero) nav{font-size:14px;line-height:1.7;gap:10px;flex-wrap:wrap}
.faithful :is(main,.closing,.header,.original-footer) :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid #b65335;outline-offset:4px}html[data-theme=dark] .faithful :is(main,.closing,.header,.original-footer) :is(a,button,input,textarea,select,summary):focus-visible{outline-color:#ffb29e}.contact-form :is(input,textarea),.application-form :is(input,textarea){scroll-margin-block:70px}
@media(hover:hover) and (pointer:fine){.faithful main a:not(.button):not([data-media-open]):hover{text-decoration:underline;text-underline-offset:4px}.original-gallery-filters a:hover{text-decoration:none;background:#e9edf3;color:#142643}html[data-theme=dark] .original-gallery-filters a:hover{background:#24364f;color:#f2f6fb}.header .nav .nav-submenu a:hover{text-decoration:none}}
@media(max-width:767px){.team-members .team-member h3{font-size:21px;min-height:0}.team-members .team-member p{min-height:0;font-size:15px}.testimonial-card{padding:26px 23px}.testimonial-card .testimonial-excerpt{font-size:15px;line-height:1.8}.contact-card .contact-form-panel{padding:30px 24px}.contact-details-panel .contact-value{font-size:18px}.original-gallery-grid{gap:14px}.original-gallery-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;gap:8px}.original-gallery-filters a{flex:none;white-space:nowrap;font-size:11px;padding:11px 16px}.news-article.company-width{width:calc(100% - 40px);padding-top:44px}.news-article .editorial-copy{font-size:16px;line-height:1.85}.news-article .article-cover{margin-block:26px}.application-confirmation{padding:25px 22px}.faithful :is(.company-hero,.about-hero){height:300px;min-height:300px}.faithful :is(.company-hero-content,.about-hero-content){padding:85px 20px 45px}.faithful :is(.company-hero,.about-hero,.contact-hero) h1{font-size:clamp(28px,7.7vw,36px);max-width:22ch;margin-inline:auto}.faithful .contact-hero{min-height:450px}.faithful .contact-hero-content{padding:85px 20px 200px}.faithful :is(.company-hero,.about-hero,.contact-hero) nav{font-size:12px;gap:8px}}
