:root{--accent:#dc2626;--accent-hover:#b91c1c;--brand-blue:#164e9a;--brand-navy:#101722;--brand-white:#fff;--card-bg:#fff;--text:#172033;--muted-text:#5b6472;--bg:#fff;--soft-bg:#f5f7fb;--border:#e5eaf1;--shadow:rgba(16,23,34,.07)}.dark{--accent:#f04444;--accent-hover:#dc2626;--brand-blue:#75a9ff;--brand-navy:#101722;--card-bg:#151e2b;--text:#f9fafb;--muted-text:#b9c4d3;--bg:#101722;--soft-bg:#182333;--border:#303b4a;--shadow:rgba(0,0,0,.22)}.services-container{min-height:60vh;padding:clamp(3.5rem,7vw,6rem) clamp(1rem,4vw,2.5rem);background:var(--bg);color:var(--text);transition:background-color .25s ease,color .25s ease}.service-modal *,.services-container *{box-sizing:border-box}.services-intro{width:min(100%,790px);margin:0 auto 3.5rem;text-align:center}.services-eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;margin:0 0 1.1rem;color:var(--accent);font-size:.75rem;font-weight:800;letter-spacing:.18em;line-height:1.6;text-transform:uppercase}.services-eyebrow:before{width:25px;height:2px;background:var(--accent);content:""}.services-header{max-width:760px;margin:0 auto 1.25rem;color:var(--text);font-size:clamp(2.1rem,5vw,3.8rem);font-weight:850;letter-spacing:-.055em;line-height:1.08;text-wrap:balance}.services-description{max-width:660px;margin:0 auto;color:var(--muted-text);font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.85;text-wrap:pretty}.services-container .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);width:min(100%,1200px);margin:0 auto}.services-container .card{position:relative;display:flex;min-width:0;flex-direction:column;align-items:flex-start;padding:clamp(1.4rem,2.5vw,2rem);overflow:hidden;border:1px solid var(--border);border-radius:1.25rem;background:var(--card-bg);box-shadow:0 8px 28px var(--shadow);color:var(--text);transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}.services-container .card:before{position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),var(--brand-blue));content:"";opacity:.9}.services-container .card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 18px 42px var(--shadow);transform:translateY(-4px)}.services-container .card:focus-within{border-color:var(--accent)}.services-container .card h3{margin:0 0 .7rem;color:var(--text);font-size:1.2rem;font-weight:800;letter-spacing:-.025em;line-height:1.4}.services-container .card p{flex-grow:1;margin:0 0 1.4rem;color:var(--muted-text);font-size:.95rem;line-height:1.8}.service-modal .service-program-icon,.services-container .service-program-icon{display:grid;width:3.5rem;height:3.5rem;flex:0 0 auto;place-items:center;margin-bottom:1.4rem;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-radius:1rem;background:color-mix(in srgb,var(--accent) 7%,var(--card-bg));color:var(--accent);font-size:1.7rem}.service-modal .learn-more,.services-container .learn-more{display:inline-flex;min-height:46px;align-items:center;justify-content:center;gap:.65rem;align-self:flex-start;padding:.75rem 1.1rem;border:1px solid var(--accent);border-radius:.7rem;background:var(--accent);color:#fff;font:inherit;font-size:.9rem;font-weight:750;text-decoration:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.service-modal .learn-more:hover,.services-container .learn-more:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.service-modal .learn-more:active,.services-container .learn-more:active{transform:scale(.98)}.service-modal .close-btn:focus-visible,.service-modal .learn-more:focus-visible,.services-container .card:focus-visible,.services-container .learn-more:focus-visible{outline:3px solid var(--brand-blue);outline-offset:4px}.modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(8,17,29,.76);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.service-modal{position:relative;width:min(100%,570px);max-height:min(85vh,760px);overflow-y:auto;overscroll-behavior:contain;padding:clamp(1.5rem,4vw,2.5rem);border:1px solid var(--border);border-radius:1.35rem;background:var(--card-bg);box-shadow:0 28px 80px rgba(0,0,0,.28);color:var(--text)}.service-modal .close-btn{position:absolute;top:.8rem;right:.8rem;display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--border);border-radius:.75rem;background:var(--card-bg);color:var(--text);font-size:1.6rem;cursor:pointer}.service-modal .close-btn:hover{background:var(--soft-bg);color:var(--accent)}.service-modal h2{margin:0 2.8rem 1rem 0;color:var(--text);font-size:clamp(1.6rem,4vw,2.15rem);font-weight:850;letter-spacing:-.04em;line-height:1.2}.service-modal p{margin:0 0 1.5rem;color:var(--muted-text);font-size:1rem;line-height:1.85}@media (min-width:1200px){.services-container .grid{gap:1.65rem}}@media (max-width:900px){.services-container{padding-top:4rem}.services-container .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services-intro{margin-bottom:2.75rem}}@media (max-width:600px){.services-container{padding:3rem 1rem 3.5rem}.services-intro{margin-bottom:2rem;text-align:left}.services-eyebrow{justify-content:flex-start;font-size:.68rem;letter-spacing:.13em}.services-header{margin-left:0;font-size:clamp(2rem,9vw,2.8rem);line-height:1.1}.services-description{margin-left:0;font-size:.96rem;line-height:1.75}.services-container .grid{grid-template-columns:minmax(0,1fr);gap:1rem}.services-container .card{padding:1.35rem;border-radius:1rem}.services-container .card h3{font-size:1.12rem}.service-modal .learn-more,.services-container .learn-more{min-height:48px}.modal-overlay{align-items:flex-end;padding:0}.service-modal{width:100%;max-height:88dvh;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));border-radius:1.35rem 1.35rem 0 0}.service-modal .close-btn{top:.75rem;right:.75rem}}@media (hover:none){.services-container .card:hover{transform:none}}@media (prefers-reduced-motion:reduce){.service-modal .close-btn,.service-modal .learn-more,.services-container,.services-container .card,.services-container .learn-more{scroll-behavior:auto;transition:none}}