/* QMS v5 — dimensional glass, readable type and an interactive expertise story. */
[hidden] { display:none!important; }
:root { --reading-progress:0; }
body { font-size:18px; color:#425c70; }
h1,h2,h3,h4 { letter-spacing:-.035em; }
.btn { font-size:15px; border-radius:11px; padding:17px 23px; box-shadow:inset 0 1px 0 #ffffff28,0 7px 18px #041e2812; }
.btn:hover { transform:translateY(-3px); box-shadow:inset 0 1px 0 #ffffff40,0 12px 32px #087f8335; }
.btn .icon { width:21px; height:21px; }
.text-link { font-size:15px; }
.service-kicker,.eyebrow { font-size:12px; letter-spacing:.13em; }
.icon-tone { fill:currentColor; fill-opacity:.13; stroke:none; }
.icon-detail { stroke-width:1.9; }
.service-icon,.focus-service-icon,.alignment-icon { position:relative; overflow:hidden; }
.service-icon::after,.alignment-icon::after { content:''; position:absolute; width:70%; height:1px; background:currentColor; opacity:.2; bottom:7px; left:15%; }
.utility-inner { min-height:38px; font-size:12px; }
.utility-inner .icon { width:14px; height:14px; }
.header-inner { min-height:98px; }
.menu { gap:27px; font-size:15px; }
.brand { font-size:22px; }
.brand small { font-size:9px; }
.nav-cta { font-size:14px; padding:14px 17px; border-radius:10px; }
.services-dropdown { width:410px; background:linear-gradient(130deg,#fffffff7,#f2faf9f5); -webkit-backdrop-filter:blur(28px); backdrop-filter:blur(28px); border-color:#ffffff; box-shadow:0 22px 65px #102e4925,inset 0 0 0 1px #bfdadf70; }
.services-dropdown a { font-size:14px; padding:14px 9px; }
.services-dropdown a .icon:first-child { width:25px; height:25px; }
.reading-progress { position:absolute; inset:auto 0 -1px; height:3px; transform-origin:left; transform:scaleX(var(--reading-progress)); background:linear-gradient(90deg,#087f83,#6eded8,#087f83); pointer-events:none; z-index:2; }
/* The hero's atmosphere sits behind readable foreground content. */
.hero { background:radial-gradient(ellipse at 75% 40%,#164c6255,transparent 65%),#071c2e; isolation:isolate; }
.hero-ambient { overflow:hidden; }
.ambient-orb { position:absolute; border-radius:50%; filter:blur(48px); pointer-events:none; opacity:.55; }
.orb-one { width:530px; height:530px; right:-90px; top:40px; background:radial-gradient(circle,#3db4b65c,transparent 70%); }
.orb-two { width:500px; height:500px; top:-170px; left:13%; background:radial-gradient(circle,#166ca14d,transparent 70%); }
.orb-three { width:300px; height:300px; left:46%; bottom:0; background:radial-gradient(circle,#66d1ca32,transparent 70%); }
.hero-grid { grid-template-columns:1.12fr 1fr; padding-top:64px; padding-bottom:76px; gap:72px; }
.hero h1 { font-size:clamp(48px,4.6vw,68px); line-height:1.1; letter-spacing:-.05em; margin:27px 0; }
.hero h1>span:not(.hero-outcome) { background:linear-gradient(100deg,#8af1e2,#68cadd 80%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero h1>.hero-outcome { font-size:.59em; color:#f0f7fa; margin-top:12px; }
.hero-description { font-size:18px; line-height:1.8; color:#c4d7e3; max-width:570px; }
.hero-actions { gap:27px; margin-top:30px; }
.hero-actions .text-link { font-size:14px; }
.hero-footnote { font-size:13px; gap:14px; margin-top:30px; color:#a2c5d7; }
.hero-footnote strong { color:#c1d7e2; }
.hero-footnote>.icon { width:37px; height:37px; padding:7px; background:#ffffff08; border-color:#75d1cd40; }
.hero-visual.hero-explorer { height:auto; min-height:0; margin:0; }
.hero-scene { position:relative; height:565px; perspective:1100px; transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .7s cubic-bezier(.16,1,.3,1); }
.hero-image-frame { position:relative; border-radius:80px 24px 24px 24px; border:1px solid #c9fffa45; box-shadow:0 25px 80px #00000038,inset 0 0 0 1px #ffffff18; }
.hero-image { object-position:56% center; filter:saturate(.85); }
.hero-scene .image-shade { background:linear-gradient(180deg,#102d4605 12%,#12374720 45%,#052037bd 100%); }
.hero-image-texture { position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 1px 0 #ffffff60; background:linear-gradient(125deg,#ffffff18,transparent 40%,#93e6df10); pointer-events:none; }
.hero-orbits { position:absolute; inset:-45px -44px; width:calc(100% + 88px); height:calc(100% + 90px); overflow:visible; stroke:#6ce4d938; stroke-width:.7; pointer-events:none; }
.hero-orbits ellipse:first-child { stroke-dasharray:4 12; }
.orbit-point { fill:#8cf4e4; stroke:none; filter:drop-shadow(0 0 6px #8cf4e4); }
.orbit-point.secondary { fill:#71b9e9; }
.glass-card { background:linear-gradient(135deg,#b4e4ef35,#78abbf14); border:1px solid #d9ffff70; border-top-color:#f0ffffb8; border-radius:18px; -webkit-backdrop-filter:blur(26px) saturate(145%); backdrop-filter:blur(26px) saturate(145%); box-shadow:0 24px 60px #001b374d,inset 0 1px 0 #ffffff40,inset 1px 0 0 #ffffff18; }
.hero .glass-card::before { content:''; position:absolute; left:18px; right:18px; top:0; height:1px; background:linear-gradient(90deg,transparent,#fff9,transparent); pointer-events:none; }
.hero-glass-label { top:25px; left:-27px; right:auto; padding:16px 19px; gap:13px; z-index:3; color:#123b50; background:linear-gradient(110deg,#e9ffffbd,#cfeef26e); border-color:#e8ffffc9; }
.hero-glass-label>.icon { width:33px; height:33px; color:#0c7c7b; }
.hero-glass-label span { font-size:11px; color:#315c6e; margin-bottom:4px; font-weight:500; }
.hero-glass-label strong { font-size:13px; font-weight:600; }
.hero-glass-label>.status-dot { width:6px; height:6px; margin:0 0 0 3px; }
.hero-proof { left:auto; right:-15px; top:125px; bottom:auto; padding:19px; width:178px; gap:13px; z-index:3; background:linear-gradient(130deg,#e9ffffbd,#cfeef26e); border-color:#e8ffffc9; }
.hero-proof .proof-icon { width:35px; height:43px; background:#ffffff52; border-color:#ffffffa3; color:#087f83; }
.hero-proof strong { font-size:35px; }
.hero-proof strong>[data-count] { color:#143d51; }
.hero-proof strong>span:last-child { color:#087f83; }
.hero-proof p { font-size:12px; line-height:1.5; margin-top:6px; color:#31576a; font-weight:500; }
.hero-focus-panel { position:absolute; z-index:4; left:-28px; right:20px; bottom:19px; min-height:245px; padding:24px 27px; overflow:hidden; background:linear-gradient(125deg,#19465ae8,#153a53c7 60%,#0c4355d9); border-color:#bdfcf384; }
.hero-focus-panel::after { content:''; position:absolute; top:-30%; bottom:-30%; left:-80%; width:40%; background:linear-gradient(90deg,transparent,#ffffff0d,transparent); transform:rotate(20deg); pointer-events:none; }
.hero-focus-heading { display:flex; align-items:center; gap:11px; margin-bottom:14px; }
.focus-service-icon { display:grid; place-items:center; color:#a2f2e3; width:36px; height:36px; border-radius:10px; background:linear-gradient(135deg,#c4fff42d,#86dadb09); border:1px solid #b3fff345; flex-shrink:0; }
.focus-service-icon .icon { width:25px; height:25px; }
.hero-focus-heading .service-kicker { color:#b8d9e2; font-size:9px; margin:0; letter-spacing:.12em; }
.focus-position { margin-left:auto; color:#9cbfcb; font-size:10px; white-space:nowrap; }
.hero-focus-panel h2 { color:white; font-size:25px; line-height:1.3; margin:0 0 12px; letter-spacing:-.025em; }
.hero-focus-panel>.focus-description { font-size:14px; line-height:1.7; color:#cee1e9; margin:0 0 17px; }
.focus-link { display:flex; align-items:center; justify-content:space-between; gap:18px; color:#b1f9e9; font-size:13px; font-weight:600; border-top:1px solid #d5ffff26; padding-top:13px; }
.focus-link:hover { color:white; }
.focus-link .icon { width:18px; height:18px; }
.hero-focus-picker { position:relative; margin:30px 0 0; }
.hero-focus-picker>p { display:flex; justify-content:space-between; color:#b2c9d7; font-size:12px; margin:0 0 12px; }
.hero-focus-picker>p>span { color:#91dbd8; }
.hero-topic-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; }
.hero-topic { display:flex; flex-direction:column; align-items:center; gap:8px; min-width:0; padding:13px 4px 11px; border:1px solid #a4c6d82b; border-radius:12px; background:linear-gradient(135deg,#ffffff08,#ffffff02); color:#b3c9d7; font-size:12px; line-height:1.4; transition:background .3s,border-color .3s,transform .3s,color .3s; }
.hero-topic-icon { line-height:1; }
.hero-topic .icon { width:23px; height:23px; }
.hero-topic:hover,.hero-topic:focus-visible { color:white; background:#8edfd318; border-color:#9feddb80; transform:translateY(-3px); }
.hero-topic[aria-pressed="true"] { color:#d9fff7; background:linear-gradient(130deg,#6bd7c92d,#258c9c1a); border-color:#8ae9d6a3; box-shadow:0 5px 25px #03162355,inset 0 1px 0 #b4fff83b; }
.standards-bar { background:#ffffff05; }
.standards-inner { min-height:95px; gap:23px; }
.standards-label { font-size:11px; max-width:160px; line-height:1.6; }
.standards-inner>div { font-size:12px; gap:12px; }
/* The same glass language continues through light and dark sections. */
.expertise-copy .lead { font-size:18px; line-height:1.85; }
.expertise-copy>p:not(.service-kicker):not(.lead) { font-size:16px; }
.expertise-points span { font-size:14px; }
.image-corner-label { font-size:12px; border-radius:12px; box-shadow:0 12px 40px #0b394527,inset 0 1px 0 white; background:#f2ffffbd; -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); }
.experience-tag>span { font-size:13px; }
.section-heading>.lead { font-size:17px; max-width:375px; }
.services-section { overflow:hidden; isolation:isolate; background:radial-gradient(ellipse at 5% 10%,#d5eeee85,transparent 55%),radial-gradient(ellipse at 100% 95%,#d8e5f4b0,transparent 55%),#f0f5f9; }
.services-section::before { content:''; position:absolute; z-index:-1; width:430px; height:430px; border-radius:50%; right:-130px; top:20%; background:radial-gradient(circle,#3aa9aa28,transparent 70%); pointer-events:none; }
.service-card { position:relative; isolation:isolate; overflow:hidden; border:1px solid #ffffff; border-radius:20px; background:linear-gradient(130deg,#ffffffd6,#ffffff80); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); box-shadow:0 10px 30px #0a3e5409,inset 0 1px 0 #fff; padding:31px; transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s; }
.service-card::before { content:''; position:absolute; z-index:-1; inset:0; background:radial-gradient(450px circle at var(--light-x,50%) var(--light-y,0%),#8bd8d737,transparent 60%); opacity:0; transition:opacity .4s; pointer-events:none; }
.service-card:hover,.service-card:focus-within { transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-7px); border-color:#8fc7ce; box-shadow:0 24px 50px #0a3e5417,inset 0 1px 0 #ffffff; }
.service-card:hover::before,.service-card:focus-within::before { opacity:1; }
.service-icon { width:59px; height:59px; border-radius:16px; color:#087f83; background:linear-gradient(135deg,#def5f0,#f2ffffa6); border-color:#9bd9d2; box-shadow:inset 0 1px 0 #fff,0 4px 14px #087f8309; transition:transform .4s,box-shadow .4s; }
.service-icon .icon { width:32px; height:32px; }
.service-card:hover .service-icon,.service-card:focus-within .service-icon { transform:translateY(-3px) rotate(-5deg); box-shadow:0 9px 20px #087f831b,inset 0 1px 0 #fff; }
.service-card .service-kicker { font-size:11px; }
.service-card-number { font-size:14px; color:#7191a6; }
.service-card h3 { font-size:26px; line-height:1.35; min-height:70px; }
.service-card>p:not(.service-kicker) { font-size:16px; line-height:1.8; }
.service-card-link { font-size:14px; }
.service-card-link>span { width:37px; height:37px; }
.service-card-link .icon { width:19px; height:19px; }
.service-image-card { border-radius:20px; }
.service-image-card .eyebrow { font-size:11px; }
.insight-copy>p:not(.eyebrow) { font-size:17px; line-height:1.85; color:#bdd2de; }
.insight-copy .eyebrow { font-size:11px; }
.alignment-card { background:linear-gradient(135deg,#addfe72b,#80c6d20d); transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .5s; }
.alignment-card .eyebrow { font-size:11px; }
.alignment-row { font-size:14px; }
.alignment-icon { width:61px; height:61px; border-radius:16px; }
.alignment-icon .icon { width:34px; height:34px; }
.scale-note { background:linear-gradient(135deg,#477e93a1,#1e5a7299); }
.scale-note strong { font-size:15px; }
.scale-note p { font-size:14px; color:#d1e7ed; }
.insight-visual { padding-bottom:135px; }
.signature-card { background:linear-gradient(135deg,#fff,#f7fcfc); border-color:#d4e8e8; border-radius:22px; box-shadow:0 10px 30px #0c3c4b08; transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .6s,box-shadow .4s; }
.signature-card:hover { box-shadow:0 25px 60px #0c3c4b18; }
.signature-copy h3 { font-size:28px; }
.signature-copy p { font-size:17px; }
.signature-copy .text-link { font-size:15px; }
.signature-image>span { font-size:12px; }
.proposal-copy>p:last-child { font-size:16px; max-width:540px; }
.proposal-banner>.btn { font-size:15px; }
.proposal-fine { font-size:12px; }
.proposal-copy .eyebrow { font-size:12px; }
/* Clearer inner-page typography and a useful, compact section guide. */
.page-description { font-size:18px; color:#c0d4e0; }
.page-hero .eyebrow { font-size:12px; }
.page-hero .btn { font-size:15px; }
.breadcrumb { font-size:12px; }
.page-hero-visual { border-radius:55px 20px 20px 20px; box-shadow:0 20px 65px #0003; height:355px; }
.page-hero-visual>img { filter:saturate(.85); }
.page-visual-label { font-size:14px; background:linear-gradient(110deg,#385e71b0,#54839468); }
.page-visual-label .icon { width:28px; height:28px; }
.rich-service>.lead { font-size:19px; }
.rich-service>p:not(.service-kicker) { font-size:17px; }
.rich-service h2 { scroll-margin-top:20px; }
.service-highlights span { font-size:13px; }
.detail-list li { font-size:16px; padding:20px 19px 20px 43px; background:linear-gradient(125deg,#edf6f7aa,#fff); border-color:#d6e9e9; border-radius:13px; }
.step { padding:27px; }
.step h3 { font-size:20px; }
.step p { font-size:16px; }
.step-number { width:44px; height:44px; font-size:17px; background:linear-gradient(135deg,#ccece5,#effbfa); border:1px solid #b5ded8; }
.note strong { font-size:16px; }
.note p { font-size:15px; }
.service-rail { top:125px; }
.rail-panel { background:linear-gradient(140deg,#f8ffff,#f0f7f9); border:1px solid #d4e7e8; box-shadow:0 15px 45px #0d40520a,inset 0 1px 0 white; border-radius:18px; }
.rail-panel>.service-kicker { font-size:11px; padding-bottom:10px; }
.rail-panel .page-index { display:grid; gap:3px; padding:0 12px 16px; }
.rail-panel .page-index a { position:relative; font-size:13px; line-height:1.6; padding:11px 12px 11px 20px; border:0; border-radius:7px; color:#527083; }
.page-index a::before { content:''; position:absolute; left:7px; top:18px; width:4px; height:4px; border-radius:50%; background:#b3cbcf; transition:background .25s,box-shadow .25s; }
.rail-panel .page-index a[aria-current] { background:#e0f3ee; color:#086b6b; font-weight:600; }
.page-index a[aria-current]::before { background:#087f83; box-shadow:0 0 0 3px #087f8315; }
.rail-other-services { border-top:1px solid #d8e7e9; }
.rail-other-services>summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; padding:18px 23px; font-size:13px; color:var(--ink); }
.rail-other-services>summary::-webkit-details-marker { display:none; }
.rail-other-services>summary .icon { width:15px; height:15px; transition:rotate .3s; }
.rail-other-services[open]>summary .icon { rotate:90deg; }
.rail-panel .rail-other-services nav a { font-size:13px; }
.rail-contact .btn { font-size:12px; }
.rail-contact>a:last-child { font-size:13px; }
.about-body p,.general-page-content>.service-body p { font-size:17px; }
.about-fact span { font-size:14px; }
.contact-layout>div>p { font-size:17px; }
.contact-layout>aside { background:linear-gradient(125deg,#e6f3f4cb,#f4f8fbbd); border-color:#cce2e4; box-shadow:inset 0 1px 0 #fff,0 20px 40px #123f4a08; }
.contact-layout>aside p { font-size:16px; }
.faq-aside>p:not(.service-kicker) { font-size:16px; }
.faq-aside .text-link { font-size:15px; }
.faq>p { font-size:17px; }
.faq summary { font-size:17px; line-height:1.7; padding:26px 40px 26px 0; font-weight:600; }
.faq summary::after { background:#e7f5f2; border-radius:50%; width:27px; height:27px; text-align:center; line-height:25px; font-size:20px; }
.faq details[open] summary::after { background:#0d797d; color:white; }
.faq details p { font-size:16px; line-height:1.85; }
.faq-search { background:linear-gradient(130deg,#edf8f7,#f5f9fc); border:1px solid #cfe4e5; box-shadow:inset 0 1px 0 #fff,0 8px 35px #18485807; border-radius:16px; padding:23px; margin-bottom:25px; }
.faq-search label { display:block; font-family:var(--heading); color:var(--ink); font-weight:600; font-size:18px; margin-bottom:14px; }
.faq-search-row { display:flex; gap:10px; align-items:center; }
.faq-search input { min-width:0; flex:1; width:100%; border:1px solid #bfd6dc; border-radius:9px; background:#ffffffdf; font:inherit; font-size:16px; color:var(--ink); padding:13px 15px; }
.faq-search input::placeholder { color:#718998; font-size:14px; }
.faq-search button { font-size:13px; background:#d9eeeb; border:1px solid #bad9d4; color:#086b6b; padding:10px; border-radius:7px; }
.faq-result-count { font-size:12px; color:#5d798b; margin:12px 0 0; }
.faq-empty { padding:24px 0; font-size:16px; }
/* Form functionality and field names continue to come from the existing plugin. */
.form-panel { scroll-margin-top:20px; background:radial-gradient(ellipse at 0 0,#d6f3ed8c,transparent 70%),linear-gradient(140deg,#eef7f9,#f7fafc); border-color:#bddddb; box-shadow:inset 0 1px 0 white; }
.form-panel>.service-kicker { font-size:11px; }
.form-panel>p:not(.service-kicker) { font-size:16px; }
.qms-form { font-size:15px; border-radius:16px; box-shadow:0 10px 35px #15445106; }
.qms-form label { font-size:15px; }
.qms-form input:not([type="checkbox"]):not([type="hidden"]),.qms-form select,.qms-form textarea { font-size:16px; padding:14px 13px; border-radius:8px; min-height:51px; }
.qms-form input::placeholder,.qms-form textarea::placeholder { font-size:14px; color:#708594; }
.qms-form legend { font-size:14px; }
.qms-form .choices label { font-size:14px; padding:13px; border-radius:9px; }
.qms-form .choices label:has(input:checked) { box-shadow:inset 0 0 0 1px #78bfb7; background:#e5f5ef; }
.qms-form input[type="checkbox"] { width:17px; height:17px; min-width:17px; }
.qms-form .fine { font-size:13px; }
.inquiry-progress { display:grid; grid-template-columns:1fr auto; gap:8px 15px; margin-bottom:27px; padding-bottom:22px; border-bottom:1px solid #e3edf0; }
.inquiry-progress strong { font-family:var(--heading); color:var(--ink); font-size:17px; }
.inquiry-progress>span { font-size:12px; color:#61818f; align-self:center; }
.inquiry-progress-bar { grid-column:1 / -1; height:5px; overflow:hidden; border-radius:5px; background:#e7eff2; margin-top:5px; }
.inquiry-progress-bar::after { content:''; display:block; width:100%; height:100%; background:linear-gradient(90deg,#087f83,#69c8ad); transform-origin:left; transform:scaleX(var(--completion,0)); transition:transform .6s cubic-bezier(.16,1,.3,1); }
.footer-brand>p { font-size:15px; }
.footer-label { font-size:12px; }
.footer-links>a { font-size:14px; }
.footer-links .footer-email { font-size:15px; }
.location-label { font-size:12px; }
.footer-mini-nav { font-size:13px; }
.footer-disclosures p,.footer-bottom { font-size:12px; }
/* Slow ambient motion and responsive micro-interactions, never required for content. */
@keyframes ambient-drift { from { transform:translate3d(-20px,-15px,0) scale(.95); } to { transform:translate3d(35px,30px,0) scale(1.1); } }
@keyframes float-glass { 0%,100% { translate:0 0; } 50% { translate:0 -8px; } }
@keyframes orbit-breathe { 0%,100% { opacity:.45; transform:rotate(-4deg); } 50% { opacity:1; transform:rotate(4deg); } }
@keyframes photo-drift { from { transform:scale(1.025) translateX(0); } to { transform:scale(1.085) translateX(-1.2%); } }
@keyframes glass-sweep { 0%,65% { left:-80%; } 90%,100% { left:150%; } }
@keyframes icon-write { from { stroke-dashoffset:32; } to { stroke-dashoffset:0; } }
@media(prefers-reduced-motion:no-preference) {
    .experience-ready .ambient-orb { animation:ambient-drift 14s ease-in-out infinite alternate; }
    .orb-two { animation-delay:-6s; animation-duration:18s; }.orb-three { animation-delay:-10s; }
    .experience-ready .hero-glass-label { animation:float-glass 7s ease-in-out infinite; }
    .experience-ready .hero-proof { animation:float-glass 8s ease-in-out -3s infinite; }
    .experience-ready .hero-orbits { animation:orbit-breathe 16s ease-in-out infinite; }
    .experience-ready .hero-image { animation:photo-drift 18s ease-in-out infinite alternate; }
    .experience-ready .hero-focus-panel::after { animation:glass-sweep 11s ease-in-out infinite; }
    .service-card:hover .icon-detail,.service-card:focus-within .icon-detail,.hero-topic:hover .icon-detail { stroke-dasharray:32; animation:icon-write .85s cubic-bezier(.2,.7,.2,1) both; }
}
.motion-paused .hero-enter { animation:none!important; }
.motion-paused *, .motion-paused *::before,.motion-paused *::after { animation-play-state:paused!important; scroll-behavior:auto!important; }
@media(max-width:1180px) {
    .menu { gap:20px; font-size:14px; }.brand { font-size:20px; }.nav-cta { font-size:13px; gap:12px; }
    .hero-grid { gap:48px; padding-top:54px; }.hero h1 { font-size:53px; }.hero-description { font-size:17px; }
    .hero .eyebrow { font-size:10px; }.hero-scene { height:565px; }
    .hero-focus-panel { left:-15px; right:5px; padding:22px; }.hero-focus-panel h2 { font-size:23px; }
    .hero-glass-label { left:-12px; padding:15px; }.hero-glass-label span { font-size:9px; }.hero-glass-label strong { font-size:12px; }
    .hero-proof { right:-10px; width:163px; padding:17px; }.hero-proof p { font-size:11px; }
    .hero-topic { font-size:9px; }.standards-inner { align-items:start; padding-block:22px; }.standards-label { font-size:10px; }
    .standards-inner>div { flex-wrap:wrap; justify-content:flex-start; font-size:11px; gap:10px 15px; }.standards-inner i { display:none; }
    .service-card { padding:27px; }.service-card h3 { font-size:24px; }.service-card>p:not(.service-kicker) { font-size:15px; }
    .expertise-grid { gap:70px; }.expertise-visual { height:650px; }
    .insight-grid { gap:60px; }.insight-copy>p:not(.eyebrow) { font-size:16px; }.scale-note p { font-size:13px; }
    .footer-top { gap:35px; }.footer-links .footer-email { font-size:13px; }
}
@media(max-width:960px) {
    .brand { font-size:18px; }.brand small { font-size:8px; }.menu { font-size:13px; gap:15px; }.nav-cta { font-size:12px; padding:12px; }
    .header-inner { min-height:88px; }.hero-grid { grid-template-columns:1fr; max-width:750px; gap:55px; padding-block:55px 65px; }
    .hero-copy { max-width:650px; }.hero h1 { font-size:61px; }.hero h1>span br { display:none; }
    .hero-description { font-size:18px; max-width:650px; }.hero .eyebrow { max-width:none; font-size:11px; }
    .hero-visual.hero-explorer { max-width:650px; width:100%; margin:0 auto; }.hero-scene { height:580px; }
    .hero-focus-panel { left:0; right:25px; bottom:20px; padding:27px; min-height:230px; }
    .hero-focus-panel h2 { font-size:27px; }.hero-focus-panel>.focus-description { font-size:16px; }
    .hero-glass-label { left:-12px; padding:17px; }.hero-glass-label span { font-size:11px; }.hero-glass-label strong { font-size:14px; }
    .hero-proof { right:-10px; top:118px; width:180px; }.hero-proof p { font-size:12px; }
    .hero-topic { font-size:12px; padding:15px 7px; }.hero-topic .icon { width:25px; height:25px; }
    .hero-actions .btn { font-size:15px; padding:16px 23px; }.hero-actions .text-link { font-size:14px; }
    .expertise-grid { grid-template-columns:1fr; gap:55px; }.expertise-visual { height:510px; max-width:650px; width:calc(100% - 20px); }
    .expertise-copy h2 { font-size:41px; }.expertise-copy .lead { font-size:18px; }.expertise-copy>p:not(.service-kicker):not(.lead) { font-size:17px; }
    .insight-grid { grid-template-columns:1fr; gap:55px; }.insight-visual { max-width:540px; width:100%; margin:auto; padding-bottom:135px; }
    .insight-copy h2 { font-size:44px; }.insight-copy>p:not(.eyebrow) { font-size:17px; }
    .scale-note p { font-size:14px; }.scale-note strong { font-size:15px; }
    .rail-panel { display:block; }.rail-panel .page-index { grid-template-columns:1fr 1fr; }.rail-contact .btn { max-width:none; }
    .rail-contact { display:none; }.page-hero h1 { font-size:40px; }.page-hero-grid { gap:40px; }
    .page-hero-visual { height:350px; }.page-visual-label { font-size:13px; }.page-description { font-size:17px; }
    .section-heading>.lead { font-size:16px; }.signature-copy { padding:27px; }.signature-copy h3 { font-size:25px; }.signature-copy p { font-size:16px; }
    .about-layout { grid-template-columns:1fr; gap:45px; }.about-visual { position:static; display:grid; grid-template-columns:1fr 220px; gap:20px; align-items:center; }
    .about-visual>img { height:330px; }.about-fact { display:block; padding:25px; }.about-fact span { display:block; margin-top:12px; }
    .faq-layout { grid-template-columns:1fr; gap:40px; }.faq-aside { position:static; }.faq-aside h2 br { display:none; }
    .proposal-copy h2 { font-size:36px; }.proposal-banner>.btn { font-size:14px; }.proposal-copy>p:last-child { max-width:100%; }
}
@media(max-width:760px) {
    body { font-size:17px; }.utility-inner>span { font-size:11px; }.header-inner { min-height:83px; }
    .brand { font-size:19px; }.brand small { font-size:8px; }.menu>a,.nav-services>summary { font-size:16px; }
    .menu-toggle { width:44px; height:44px; }.services-dropdown a { font-size:14px; }
    .hero-grid { width:calc(100% - 44px); padding-top:43px; gap:43px; }.hero h1 { font-size:clamp(43px,7.5vw,57px); }
    .hero h1>.hero-outcome { font-size:.59em; }.hero-description { font-size:17px; line-height:1.8; }
    .hero .eyebrow { font-size:10px; line-height:1.8; }.hero-footnote { font-size:12px; }.hero-footnote>.icon { width:34px; height:34px; }
    .hero-actions { gap:24px; }.hero-actions .btn { font-size:14px; padding:16px 20px; }.hero-actions .text-link { font-size:13px; }
    .hero-scene { height:550px; }.hero-image-frame { border-radius:65px 21px 21px 21px; }
    .hero-proof { width:170px; right:-6px; top:113px; }.hero-proof strong { font-size:34px; }.hero-proof p { font-size:11px; }
    .hero-glass-label { left:-6px; top:22px; }.hero-glass-label strong { font-size:13px; }.hero-glass-label span { font-size:10px; }
    .hero-focus-panel { left:-6px; right:14px; bottom:17px; padding:24px; }.hero-focus-panel h2 { font-size:25px; }
    .hero-focus-panel>.focus-description { font-size:15px; }.hero-topic { font-size:10px; padding:13px 3px; }
    .hero-focus-picker { margin-top:24px; }.hero-focus-heading .service-kicker { font-size:10px; }
    .standards-inner { padding-block:25px; }.standards-label { max-width:none; font-size:11px; }.standards-inner>div { font-size:12px; gap:12px; }
    .service-kicker,.eyebrow { font-size:12px; }.section-number { margin-right:10px; }
    .expertise-copy h2,.section-heading h2 { font-size:37px; }.expertise-copy .lead { font-size:18px; }
    .expertise-copy>p:not(.service-kicker):not(.lead) { font-size:17px; }.expertise-points span { font-size:14px; }
    .expertise-visual { height:430px; }.image-corner-label { font-size:12px; }.experience-tag>span { font-size:12px; }
    .section-heading>.lead { font-size:17px; max-width:none; }.service-card h3 { font-size:25px; min-height:0; }
    .service-card>p:not(.service-kicker) { font-size:16px; }.service-card .service-kicker { font-size:10px; }.service-card-link { font-size:14px; }
    .service-grid { grid-template-columns:1fr; gap:20px; }.service-icon { width:58px; height:58px; }
    .service-image-card { min-height:330px; }.service-image-card .eyebrow { font-size:11px; }.service-image-card p { font-size:30px; }
    .insight-copy h2 { font-size:39px; }.insight-copy .eyebrow { font-size:11px; }.insight-copy>p:not(.eyebrow) { font-size:17px; }
    .insight-visual { padding-bottom:155px; }.alignment-card { margin-right:25px; }.alignment-card .eyebrow { font-size:10px; }
    .alignment-card h3 { font-size:33px; }.alignment-row { font-size:14px; }.scale-note { right:0; left:24px; }
    .scale-note strong { font-size:14px; }.scale-note p { font-size:14px; }.signature-copy h3 { font-size:27px; }.signature-copy p { font-size:17px; }
    .proposal-copy h2 { font-size:32px; }.proposal-copy>p:last-child { font-size:16px; }.proposal-fine { font-size:11px; }.proposal-copy .eyebrow { font-size:11px; }
    .breadcrumb { font-size:11px; }.page-hero .eyebrow { font-size:11px; }.page-hero h1 { font-size:39px; }.page-description { font-size:17px; }
    .page-hero-visual { height:280px; }.page-visual-label { font-size:14px; }.page-hero .btn { font-size:14px; }
    .rich-service>h2:first-of-type { font-size:32px; }.rich-service h2 { font-size:28px; }.rich-service>.lead { font-size:18px; }
    .rich-service>p:not(.service-kicker),.about-body p,.general-page-content>.service-body p { font-size:17px; }
    .service-highlights span { font-size:13px; }.detail-list { grid-template-columns:1fr; }.detail-list li { font-size:16px; }
    .step { padding:22px; }.step h3 { font-size:20px; }.step p { font-size:16px; }.note strong { font-size:16px; }.note p { font-size:15px; }
    .about-visual { display:block; }.about-visual>img { height:350px; }.about-fact { display:flex; }.about-fact span { margin-top:0; }
    .about-body h2 { font-size:30px; }.contact-layout>div>p,.contact-layout>aside p { font-size:17px; }
    .faq summary { font-size:17px; }.faq details p { font-size:16px; }.faq>p { font-size:17px; }.faq-aside>p:not(.service-kicker) { font-size:16px; }
    .form-panel>.service-kicker { font-size:11px; }.form-panel>p:not(.service-kicker) { font-size:16px; }
    .qms-form label { font-size:15px; }.qms-form .field-row,.qms-form .choices { grid-template-columns:1fr; }
    .qms-form .choices label { font-size:14px; }.qms-form legend { font-size:14px; }.qms-form .fine { font-size:13px; }
    .footer-links .footer-email { font-size:15px; }.footer-bottom { font-size:11px; }.footer-disclosures p { font-size:12px; }
}
@media(max-width:420px) {
    .brand { font-size:16px; }.brand small { font-size:7px; }.brand-wrap { gap:7px; }.custom-logo { width:42px; }.header-inner { gap:12px; }
    .hero-grid { width:calc(100% - 40px); }.hero h1 { font-size:43px; }.hero h1>span br { display:block; }
    .hero h1>.hero-outcome { font-size:.58em; }.hero .eyebrow { font-size:9px; letter-spacing:.1em; }
    .hero-actions { gap:20px; }.hero-actions .btn { font-size:13px; padding:15px 17px; }.hero-actions .text-link { font-size:12px; gap:13px; }
    .hero-scene { height:530px; }.hero-glass-label { padding:14px 15px; gap:10px; }.hero-glass-label>.icon { width:28px; height:28px; }
    .hero-glass-label strong { font-size:12px; }.hero-glass-label span { font-size:9px; }.hero-glass-label>.status-dot { display:none; }
    .hero-proof { width:153px; right:-3px; top:110px; padding:14px; }.hero-proof strong { font-size:31px; }.hero-proof p { font-size:10px; }
    .hero-focus-panel { left:-3px; right:8px; padding:21px; }.hero-focus-panel h2 { font-size:23px; }.hero-focus-panel>.focus-description { font-size:14px; }
    .hero-focus-heading { gap:9px; }.hero-focus-heading .service-kicker { font-size:8px; }.focus-position { font-size:9px; }
    .hero-topic-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }.hero-topic { flex-direction:column; justify-content:center; font-size:11px; gap:7px; padding:12px 5px; }.hero-topic .icon { width:22px; height:22px; }
    .expertise-copy h2,.section-heading h2 { font-size:32px; }.image-corner-label { font-size:11px; }.experience-tag { width:180px; }
    .service-card { padding:27px; }.service-card h3 { font-size:25px; }.insight-copy h2 { font-size:34px; }
    .alignment-card { margin-right:13px; padding:25px; }.alignment-row { font-size:13px; }.scale-note { left:12px; padding:22px; }
    .insight-visual { padding-bottom:190px; }.scale-note p { font-size:14px; }.signature-copy { padding:24px; }
    .signature-copy h3 { font-size:25px; }.proposal-copy h2 { font-size:29px; }.proposal-copy .eyebrow { font-size:10px; }
    .page-hero h1 { font-size:34px; }.page-visual-label { font-size:12px; }.page-hero-visual { height:250px; }
    .inquiry-progress { grid-template-columns:1fr; }.inquiry-progress-bar { grid-column:1; }.inquiry-progress>span { font-size:12px; }
    .faq-search { padding:20px 16px; }.faq-search input { padding:13px 10px; }.faq-search input::placeholder { font-size:12px; }
    .rail-panel .page-index { grid-template-columns:1fr; }}
@media(prefers-reduced-motion:reduce) {
    *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
    .hero-scene,.service-card,.signature-card,.alignment-card { transform:none!important; }
}
/* The smallest viewports prioritize the service preview over a repeated metric. */
@media(max-width:360px) {
    .hero-proof { display:none; }
    .hero-focus-panel { left:0; right:0; }
}

/* A continuous, luminous standards ribbon with a stationary white heading. */
.standards-bar { background:linear-gradient(90deg,#0e2d42,#173e535e,#0e2d42); border-top-color:#c6ffef2e; border-bottom:1px solid #b7eced15; }
.standards-inner { display:flex; align-items:center; min-height:105px; gap:30px; padding-block:22px; }
.standards-label { display:block; flex:0 0 172px; max-width:none; margin:0; padding-right:27px; color:#fff; font-size:12px; line-height:1.65; font-weight:700; letter-spacing:.11em; border-right:1px solid #ffffff35; }
.standards-inner>.standards-ticker { display:block; flex:1; min-width:0; overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); -webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent); }
.standards-track { display:flex; width:max-content; }
.standards-group { display:flex; flex:none; align-items:center; gap:30px; padding-right:30px; }
.standards-group>span { padding:0; border:0; flex:none; white-space:nowrap; color:#fff; font-size:14px; font-weight:600; letter-spacing:.025em; text-shadow:0 0 7px #ffffff78,0 0 22px #a6fff17d,0 0 40px #70dccb30; }
.standards-group>i { display:block; flex:none; width:4px; height:4px; border-radius:50%; background:#e1fff7; box-shadow:0 0 7px #a7fff0,0 0 15px #8beedb80; }
@keyframes standards-marquee { to { transform:translateX(-50%); } }
@media(prefers-reduced-motion:no-preference) {
    .experience-ready .standards-track { animation:standards-marquee 28s linear infinite; }
}
/* Presentational cards share the hero's smooth depth and reflected light. */
.depth-card { transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .35s; }
.card-glint { position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:2; opacity:0; transition:opacity .4s; background:radial-gradient(ellipse at var(--light-x,50%) var(--light-y,20%),#d9fff826,transparent 67%); box-shadow:inset 0 1px 0 #ffffff12; }
.is-depth-active>.card-glint,.depth-card:focus-within>.card-glint { opacity:1; }
.alignment-card { background:linear-gradient(125deg,#19465ae8,#153a53c7 60%,#0c4355d9); border-color:#bdfcf384; border-top-color:#ddfff4b8; -webkit-backdrop-filter:blur(26px) saturate(145%); backdrop-filter:blur(26px) saturate(145%); box-shadow:0 24px 60px #001b374d,inset 0 1px 0 #ffffff40,inset 1px 0 0 #ffffff18; }
@media(max-width:760px) {
    .standards-inner { display:block; padding-block:24px; }
    .standards-label { font-size:12px; padding:0; margin-bottom:16px; border:0; }
    .standards-inner>.standards-ticker { width:100%; }
    .standards-group { gap:25px; padding-right:25px; }
    .standards-group>span { font-size:14px; }
}
html:not(.experience-ready) .standards-track { width:100%; }
html:not(.experience-ready) .standards-group { flex-wrap:wrap; padding:0; }
html:not(.experience-ready) .standards-group[aria-hidden] { display:none; }
@media(prefers-reduced-motion:reduce) {
    .standards-inner>.standards-ticker { mask-image:none; -webkit-mask-image:none; }
    .standards-track { width:100%; animation:none!important; transform:none; }
    .standards-group { flex-wrap:wrap; gap:16px 22px; padding:0; }
    .standards-group[aria-hidden] { display:none; }
    .depth-card { transform:none!important; }
}

.hero-topic-list{grid-template-columns:repeat(auto-fit,minmax(75px,1fr))}.services-dropdown{max-height:min(70vh,650px);overflow-y:auto}.service-grid[data-service-remainder="0"] .service-image-card{grid-column:1 / -1;min-height:260px;max-height:330px}.managed-page-additions{background:#f6fafb}.managed-page-additions>.wrap{max-width:1000px}.service-additional-content{margin-top:45px}

/* Resources dropdown: same glass panel as Services, sized for three links */
.resources-dropdown { width:290px; left:-60px; }
.nav-services.is-current>summary { color:var(--teal); }
@media(max-width:760px) { .resources-dropdown { width:auto; left:auto; } }

/* Inquiry confirmation: lands in view after submit, replaces the form with a clear success card */
.qms-notice { scroll-margin-top:140px; }
.qms-notice:focus { outline:none; }
.qms-notice.qms-success { position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; gap:10px; padding:30px; border-radius:18px; border:1px solid #a6d7c9; background:radial-gradient(ellipse at 100% 0,#c6f1ea80,transparent 60%),linear-gradient(140deg,#f4fcf9,#ebf8f2); box-shadow:0 18px 40px #0a3e540d,inset 0 1px 0 #fff; color:#145d4d; animation:qms-success-in .6s cubic-bezier(.16,1,.3,1) both; }
.qms-notice.qms-success h3 { margin:4px 0 0; font-size:24px; color:var(--ink); }
.qms-notice.qms-success p { margin:0; font-size:16px; line-height:1.75; color:#3d5f6a; }
.qms-notice.qms-success .text-link { margin-top:6px; font-size:14px; }
.qms-success-icon { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; color:#fff; background:linear-gradient(135deg,#0a9a8f,var(--teal)); box-shadow:0 10px 24px #087f8340,inset 0 1px 0 #ffffff50; }
.form-panel:has(.qms-success) .qms-form { display:none; }
@keyframes qms-success-in { from { opacity:0; transform:translateY(14px); } }
@media(prefers-reduced-motion:reduce) { .qms-notice.qms-success { animation:none; } }
@media(max-width:760px) { .qms-notice.qms-success { padding:24px 20px; } .qms-notice.qms-success h3 { font-size:21px; } }
