:root{--color-background: #f7f9fc;--color-background-soft: #eef4fb;--color-surface: #ffffff;--color-surface-strong: #f8fbff;--color-text: #101827;--color-muted: #5c6b7d;--color-border: #d9e2ef;--color-border-strong: #b9c8db;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-soft: #dbeafe;--color-primary-faint: #eff6ff;--color-navy: #111c31;--shadow-sm: 0 8px 24px rgba(15, 23, 42, .06);--shadow-md: 0 18px 48px rgba(15, 23, 42, .1);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--container-width: 1120px;color:var(--color-text);background:var(--color-background);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.6;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;overflow-x:hidden}body:before{background:radial-gradient(circle at top left,rgba(37,99,235,.12),transparent 34rem),linear-gradient(180deg,#ffffffeb,#f7f9fc00);content:"";height:440px;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:-1}a{color:inherit}a:focus-visible,button:focus-visible{border-radius:6px;outline:3px solid var(--color-primary);outline-offset:4px}.site-header,.section,.site-footer{margin:0 auto;max-width:var(--container-width);padding-inline:24px}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f9fcdb;border-bottom:1px solid rgba(217,226,239,.9);max-width:none;padding-block:18px;position:sticky;top:0;z-index:10}.header-inner{align-items:center;display:flex;gap:24px;justify-content:space-between;margin-inline:auto;max-width:var(--container-width);width:100%}.brand{color:var(--color-navy);flex:1 1 auto;font-size:1rem;font-weight:800;letter-spacing:0;text-decoration:none}.nav-list,.contact-list{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}.nav-list a{border-radius:999px;color:var(--color-muted);display:inline-flex;font-size:.94rem;font-weight:700;padding:8px 12px;text-decoration:none;transition:background-color .16s ease,color .16s ease}.nav-list a:hover{background:var(--color-primary-faint);color:var(--color-primary-hover)}.section{padding-block:76px;scroll-margin-top:92px}.section+.section{border-top:1px solid rgba(217,226,239,.68)}.hero-section{align-items:center;display:grid;gap:56px;grid-template-columns:minmax(0,1.45fr) minmax(280px,.78fr);min-height:calc(100vh - 76px);padding-block:92px 84px}.section-split{align-items:start;display:grid;gap:48px;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr)}.section-copy{max-width:760px}.section-heading{margin-bottom:40px;max-width:680px}.section-heading .section-intro{margin-bottom:0}.eyebrow,.section-kicker,.status{color:var(--color-primary);font-size:.78rem;font-weight:800;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.muted{color:var(--color-muted)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--color-navy);letter-spacing:0}h1{font-size:clamp(2.55rem,6vw,5.6rem);line-height:.98;margin-bottom:24px;max-width:900px}h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.05;margin-bottom:24px}h3{font-size:1.15rem;line-height:1.3;margin-bottom:10px}p{color:var(--color-muted)}.lead{color:#314052;font-size:clamp(1.08rem,1.7vw,1.28rem);line-height:1.75;max-width:760px}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.button{align-items:center;border:1px solid transparent;border-radius:999px;display:inline-flex;font-weight:800;justify-content:center;min-height:48px;padding:12px 20px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}.button.primary{background:var(--color-primary);box-shadow:0 12px 28px #2563eb3d;color:#fff}.button.primary:hover{background:var(--color-primary-hover);transform:translateY(-2px)}.button.secondary{background:#ffffffd1;border-color:var(--color-border-strong);color:var(--color-navy)}.button.secondary:hover{border-color:var(--color-primary);color:var(--color-primary-hover);transform:translateY(-2px)}.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));list-style:none;margin:0;padding:0}.panel{background:linear-gradient(180deg,var(--color-surface),var(--color-surface-strong));border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:24px;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.panel:hover{border-color:#2563eb61;box-shadow:var(--shadow-md);transform:translateY(-4px)}.project-card{display:flex;flex-direction:column;height:100%}.project-card .tag-list{margin-top:auto}.project-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:18px 0 0;padding:0}.project-link{align-items:center;border:1px solid var(--color-border-strong);border-radius:999px;color:var(--color-primary-hover);display:inline-flex;font-size:.88rem;font-weight:800;padding:8px 14px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.project-link:hover{background:var(--color-primary-faint);border-color:var(--color-primary);transform:translateY(-2px)}.service-mark{background:linear-gradient(135deg,var(--color-primary),#38bdf8);border-radius:999px;box-shadow:0 0 0 7px var(--color-primary-soft);display:inline-block;height:10px;margin-bottom:24px;width:10px}.image-placeholder{aspect-ratio:4 / 5;background:linear-gradient(135deg,#2563eb1a,#ffffffc7),var(--color-surface);border:1px solid rgba(185,200,219,.9);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-muted);display:grid;min-height:360px;overflow:hidden;padding:18px;place-items:center;position:relative;text-align:center}.image-placeholder:before,.image-placeholder:after{content:"";position:absolute}.image-placeholder:before{background:var(--color-primary);border-radius:999px;height:84px;opacity:.08;right:24px;top:28px;width:84px}.image-placeholder:after{border:1px solid rgba(37,99,235,.2);border-radius:20px;top:18px;right:18px;bottom:18px;left:18px}.image-placeholder span{color:var(--color-muted);font-size:.94rem;font-weight:800;letter-spacing:.04em;position:relative;text-transform:uppercase}.image-placeholder img,.project-visual img{display:block;height:100%;object-fit:cover;width:100%}.project-visual{align-items:center;aspect-ratio:16 / 9;background:linear-gradient(135deg,#2563eb14,#0f172a0d),repeating-linear-gradient(135deg,rgba(37,99,235,.08) 0,rgba(37,99,235,.08) 1px,transparent 1px,transparent 14px),var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:flex;justify-content:center;margin-bottom:20px;overflow:hidden;padding:16px;text-align:center}.project-placeholder{align-items:center;display:flex;flex-direction:column;gap:14px;height:100%;justify-content:center;width:100%}.placeholder-monogram{align-items:center;background:linear-gradient(135deg,var(--color-primary),#38bdf8);border-radius:999px;box-shadow:0 0 0 8px var(--color-primary-soft);color:#fff;display:inline-flex;font-size:1.15rem;font-weight:800;height:58px;justify-content:center;letter-spacing:.02em;width:58px}.placeholder-label{color:var(--color-muted);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-status{align-items:center;background:var(--color-primary-faint);border:1px solid rgba(37,99,235,.18);border-radius:999px;color:#1e3a8a;display:inline-flex;font-size:.78rem;font-weight:800;gap:8px;letter-spacing:.06em;margin-bottom:16px;padding:7px 12px;text-transform:uppercase;width:max-content}.status-dot{background:var(--color-primary);border-radius:999px;display:inline-block;height:7px;width:7px}.project-description{color:var(--color-text);margin-bottom:16px}.project-purpose-label{color:var(--color-navy);display:block;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin-bottom:4px;text-transform:uppercase}.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:18px 0 0;padding:0}.tag-list li{background:var(--color-primary-faint);border:1px solid rgba(37,99,235,.14);border-radius:999px;color:#1e3a8a;font-size:.88rem;font-weight:700;line-height:1.3;padding:7px 11px}.contact-section{border-top:0}.contact-panel{background:linear-gradient(135deg,var(--color-navy),#17284a);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:#fff;overflow:hidden;padding:clamp(28px,5vw,54px);position:relative}.contact-panel:after{background:#2563eb47;border-radius:999px;content:"";filter:blur(2px);height:190px;position:absolute;right:-74px;top:-80px;width:190px}.contact-panel h2,.contact-panel p{color:#fff;max-width:760px;position:relative}.contact-panel .section-kicker{color:#93c5fd}.contact-list{gap:12px;margin-top:28px;position:relative}.contact-link{align-items:center;background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;display:inline-flex;font-weight:800;min-height:44px;padding:10px 14px;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.contact-link:hover{background:#ffffff24;border-color:#ffffff52;transform:translateY(-2px)}.primary-contact{background:#fff;color:var(--color-primary-hover)}.primary-contact:hover{background:var(--color-primary-soft)}.site-footer{border-top:1px solid var(--color-border);color:var(--color-muted);padding-block:30px}.site-footer p{margin-bottom:0}@media (max-width: 920px){.hero-section,.section-split{grid-template-columns:1fr}.hero-section{min-height:auto;padding-block:72px}.image-placeholder{max-width:420px;min-height:300px}}@media (max-width: 720px){.header-inner{align-items:flex-start;flex-direction:column}.nav-list{gap:6px}.nav-list a{padding-inline:10px}.section{padding-block:56px}.hero-section{gap:36px}}@media (max-width: 420px){.site-header,.section,.site-footer{padding-inline:18px}.button,.contact-link{width:100%}.cta-row,.contact-list{flex-direction:column}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.button:hover,.panel:hover,.contact-link:hover{transform:none}}
