/* Legible defaults across the dark theme and its light cards. */
body{font-size:16px;font-weight:450}h2{font-weight:550}h3{font-weight:600}.eyebrow{font-size:11px;font-weight:700;line-height:1.7;letter-spacing:1.2px}.button,.under-link{font-size:14px;font-weight:650;line-height:1.6}.button{min-height:48px}.section-top p,.section-explanation p,.show-intro-note{font-size:16px;line-height:1.85}.page-intro>p{font-size:18px;line-height:1.8}.custom-trio span{font-size:13px;font-weight:700;letter-spacing:1px}.proof>span{font-size:11px;font-weight:650;color:#c5cfe2}.proof div span{font-weight:700}.brand>span{font-size:10px;line-height:1.7}
.header-inner{gap:24px;min-height:112px}header nav{gap:25px;padding:12px 24px}header nav a{font-size:16px;font-weight:650;line-height:1.5;letter-spacing:0;white-space:nowrap;color:#faf6e9}.header-cta{font-size:14px;font-weight:650;line-height:1.5;min-height:48px}.menu-toggle{font-size:15px;font-weight:700;min-width:60px;min-height:48px}.header-inner nav.open a{font-size:18px;line-height:1.6;font-weight:650}.header-inner nav a:focus-visible{outline-offset:6px}
footer{color:#faf6e9}footer .eyebrow{color:#d8e4fa}.footer-links a{color:#faf6e9;font-size:15px;font-weight:550;line-height:1.9}.footer-links a:hover{color:var(--lime)}.footer-links p{font-size:15px;line-height:1.9;color:#d2dff4}.footer-bottom{font-size:12px;line-height:1.9;color:#c6d4eb}.footer-links>div{gap:18px 36px}.privacy-footer a,.privacy-footer button,.admin-footer-link{font-size:14px;font-weight:550;color:#dce7fa}.footer-links>.brand{color:#faf6e9}.footer-top h2{font-weight:550}.statement{color:#faf6e9}.statement .eyebrow{color:#deebff}.statement p{font-size:16px;line-height:1.9}.statement-mark{display:none!important}.international p,.mini-list,.overseas-checklist span{font-size:16px;line-height:1.9}.international .eyebrow{color:#dce7fa}.expertise-list>a:hover{background:#142854;color:#faf6e9}.expertise-list p{font-size:15px}
.show-card .eyebrow,.show-heading>.eyebrow,.event-copy .eyebrow,.edition-strip .eyebrow{font-size:11px;font-weight:700}.show-card-copy p{font-size:15px;line-height:1.8}.show-card-copy .under-link{font-size:14px;font-weight:650}.show-heading>p{font-size:17px;line-height:1.8}.hero-event-meta{font-size:14px!important;font-weight:600}.show-hero-photo>span{font-size:12px;line-height:1.7}.event-facts .eyebrow{font-size:11px}.event-facts strong{font-size:16px;font-weight:600}.guide-jump a,.guide-intent a{font-size:14px;font-weight:600;line-height:1.8}.guide-overview p,.guide-lead,.requirements-deep p,.guide-visit-grid p,.visitor-essentials p,.guide-timeline p,.layout-grid p,.layout-note p,.location-grid p{font-size:16px;line-height:1.9}.guide-overview aside p{font-size:15px;line-height:1.85}.guide-overview aside .eyebrow{color:#142854}.guide-timeline span,.layout-grid .eyebrow{font-size:11px;font-weight:700}.review-note,.guide-sources p,.show-work-band .review-note{font-size:14px;line-height:1.9}.responsibility-table table,.responsibility-table th,.responsibility-table td,.compare-table td{font-size:15px;line-height:1.85}.compare-controls label,.calendar-controls label,.month-toolbar label{font-size:12px;font-weight:650;color:#dbe6f7}.calendar-controls input,.calendar-controls select,.month-toolbar input,.compare-controls select{font-size:16px;font-weight:500}.calendar-modes button,.calendar-save,.event-actions a,#event-count{font-size:14px;font-weight:600}.event-copy p{font-size:16px;line-height:1.8}.calendar-weekdays span,.calendar-key{font-size:12px}.calendar-day-label{font-size:12px;font-weight:600}.calendar-toolbar #event-count{color:#c2d2ec}.form-step label,.form-step input,.form-step textarea,.form-step select{font-size:16px}.contact-note,.brief aside p{font-size:15px;line-height:1.85}.steps p,.guide-grid p{font-size:16px;line-height:1.85}.filter-bar button,.filters button{font-size:14px;font-weight:600}
.privacy-banner p,.privacy-dialog>p,.privacy-option p,.privacy-note,.privacy-map-placeholder p{font-size:14px;line-height:1.8}.privacy-actions button,.privacy-map-placeholder button{font-size:14px;font-weight:650;min-height:48px}.privacy-option strong{font-size:17px;font-weight:650}.privacy-always{font-size:12px}.privacy-policy p{font-size:16px;line-height:1.9}.privacy-policy-note p{font-size:14px}.privacy-policy-note strong{font-size:16px}.privacy-dialog legend{font-size:14px;font-weight:650}.privacy-dialog .eyebrow{font-size:11px}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{display:block;border:1px solid #4d668a;border-radius:24px;overflow:hidden;background:#142854;color:#faf6e9;transition:transform .2s,border-color .2s}.service-card:nth-child(2){background:#f3efd9;color:#142854}.service-card:nth-child(3){background:#122442}.service-card:nth-child(4){background:#dbf34b;color:#142854}.service-card-photo{position:relative;height:310px;overflow:hidden}.service-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.service-card-photo>span{position:absolute;bottom:18px;left:18px;right:18px;background:#081329eb;color:#eef4ff;font-size:12px;line-height:1.6;padding:10px 14px;border-radius:8px}.service-card-copy{padding:30px}.service-card-copy>.eyebrow{color:inherit}.service-card-copy h3{font-size:36px;line-height:1.15;letter-spacing:-1.3px;margin:18px 0;color:inherit}.service-card-copy p{font-size:16px;line-height:1.8;color:inherit;max-width:540px;margin:0 0 24px}.service-card-copy .under-link{color:inherit;border-color:currentColor}.service-card:nth-child(2) .eyebrow:before,.service-card:nth-child(4) .eyebrow:before{background:#236ce0}.service-card:hover{border-color:#cce5ff;transform:translateY(-4px)}.service-card:hover img{transform:scale(1.025)}
@media(min-width:1101px) and (max-width:1340px){.brand>span{display:none}header nav{gap:19px;padding:10px 20px}header nav a{font-size:15px}.header-inner{gap:18px}}
@media(max-width:1100px){.header-inner{min-height:100px}.header-inner nav.open{background:#142544}.header-inner nav.open a{font-size:18px;font-weight:650}}
@media(max-width:800px){.service-grid{gap:22px}.service-card-photo{height:250px}.service-card-copy{padding:24px}.service-card-copy h3{font-size:30px}.footer-bottom{font-size:12px}.custom-trio span{font-size:11px;line-height:1.7}.eyebrow{font-size:11px}.section-top p{font-size:16px}.event-facts strong{font-size:15px}.show-card h3{font-weight:600}}
@media(max-width:600px){.service-grid{grid-template-columns:1fr}.service-card-photo{height:250px}.service-card-copy h3{font-size:32px}.brand>span{display:none}.header-inner{gap:14px;min-height:95px}.header-cta{font-size:12px;padding:13px 16px}.brand img{max-width:110px}.page-intro>p{font-size:16px}.footer-links a,.footer-links p{font-size:15px}.footer-bottom{font-size:12px}.custom-trio{grid-template-columns:1fr}.custom-trio span{font-size:12px;padding:16px}.proof>span{font-size:11px}.proof div span,.proof div span:first-child{font-size:17px}.proof div span:nth-child(2){font-size:24px}.brand-hero .eyebrow{font-size:10px}.brand-hero p{font-size:16px}.hero-actions .button{font-size:13px}.brand-hero-foot,.brand-hero-foot a{font-size:10px}.guide-jump a{font-size:14px}.show-card .eyebrow,.event-copy .eyebrow,.show-heading>.eyebrow{font-size:11px}.event-facts .eyebrow{font-size:10px}.event-facts strong{font-size:14px}.calendar-day-label{font-size:10px}.calendar-day,.calendar-blank{min-height:90px}.calendar-key{font-size:12px}.calendar-save,.event-actions a,.calendar-modes button{font-size:13px}.responsibility-table th,.responsibility-table td{font-size:14px}.privacy-banner p{font-size:14px}.privacy-actions button{font-size:13px;white-space:normal}.privacy-map-placeholder p{font-size:14px}.privacy-dialog h2{font-size:34px}.privacy-dialog .privacy-option{gap:18px}}
@media(prefers-reduced-motion:reduce){.service-card,.service-card img{transition:none}.service-card:hover{transform:none}.service-card:hover img{transform:none}}
.brand-hero p,.international p,.statement p,.section-explanation p,.section-top p{font-size:18px;line-height:1.85}.mini-list span,.steps p{font-size:17px;line-height:1.85}.international h2 em{color:var(--lime)}.steps h3{font-size:27px;font-weight:600;line-height:1.3}.steps>article>span{font-size:13px;font-weight:700}.custom-trio span{font-size:14px}@media(max-width:600px){.brand-hero p,.international p,.statement p,.section-explanation p,.section-top p,.steps p{font-size:17px}.mini-list span{font-size:16px}.custom-trio span{font-size:13px}}
.client-logo-strip{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px!important;align-items:center;width:100%}.client-logo-strip img{display:block;width:100%;height:85px;object-fit:contain}.client-library{padding-top:60px;padding-bottom:80px}.client-library-details{border:1px solid #536d96;border-radius:20px;padding:0 28px;background:#111e35}.client-library-details summary{padding:25px 0;font-size:18px;font-weight:650;display:flex;justify-content:space-between;gap:24px;cursor:pointer;list-style:none}.client-library-details summary span{font-size:14px;color:#dbf34b}.client-logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;padding:10px 0 28px}.client-logo-grid figure{margin:0;min-width:0;background:#0a1325;border:1px solid #344b71;border-radius:12px;padding:16px}.client-logo-grid img{width:100%;height:95px;object-fit:contain}.client-logo-grid figcaption{font-size:13px;line-height:1.6;color:#d0ddf2;text-align:center;margin-top:5px}@media(max-width:1000px){.client-logo-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px!important}.client-logo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.client-logo-strip{gap:12px!important}.client-logo-strip img{height:65px}.client-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-logo-grid img{height:80px}.client-library-details{padding:0 18px}.client-library-details summary{font-size:17px;flex-direction:column;gap:10px}}
/* Older service and case-study templates also receive the body-copy floor. */
main p{font-size:17px!important;line-height:1.85!important}.brand-hero p,.international p,.statement p{font-size:18px!important}.hero-event-meta{font-size:14px!important}.review-note,.guide-sources p,.contact-note,.show-work-band>.wrap>p:last-child{font-size:14px!important}@media(max-width:600px){.brand-hero p,.international p,.statement p{font-size:17px!important}}
/* Compact uppercase navigation, keeping the larger content typography. */
header nav{gap:25px;padding:10px 22px}header nav a{font-size:13px;font-weight:650;letter-spacing:.8px;text-transform:uppercase;line-height:1.5;padding:12px 0}.header-inner nav.open a{font-size:14px;font-weight:650;letter-spacing:.8px;text-transform:uppercase;line-height:1.6;min-height:46px}@media(min-width:1101px) and (max-width:1340px){header nav{gap:22px;padding:10px 20px}header nav a{font-size:13px}}
/* Separate introductory copy from its action buttons. */
.page-intro>.hero-actions{margin-top:32px;gap:16px;align-items:center;flex-wrap:wrap}
@media(max-width:800px){.page-intro>.hero-actions{margin-top:26px;gap:14px}}

/* One aligned utility row across every page footer. */
.footer-utility{display:flex;align-items:center;gap:24px;border-top:1px solid #40597d;padding:22px 0;color:#d2dff4;font-size:14px;line-height:1.6}
.footer-utility>span:first-child{margin-right:auto}
.footer-utility>*{white-space:nowrap}
.footer-utility a,.footer-utility button{display:inline-flex;align-items:center;min-height:44px;padding:0;color:#dce7fa;font:inherit;font-weight:550;background:none;border:0;cursor:pointer}
.footer-utility a[href="/privacy.html"],.footer-utility button{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.footer-utility{flex-wrap:wrap;gap:10px 24px}.footer-utility>span:first-child{margin-right:0}}
