:root{--bg-soft: #f6f3ed;--bg-base: #fcfbf8;--bg-dark: #0b1726;--bg-dark-2: #132235;--surface: #ffffff;--surface-alt: #edf1f4;--line: #d8e0e7;--text-strong: #132235;--text-base: #455467;--text-soft: #67768a;--text-inverse: #f7f7f5;--teal: #0fa37f;--teal-dark: #0a7b61;--copper: #c97a3d;--shadow: 0 18px 40px rgba(19, 34, 53, .08);--shadow-soft: 0 10px 24px rgba(19, 34, 53, .06);--radius-lg: 28px;--radius-md: 20px;--radius-sm: 14px;--transition: .18s ease}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:IBM Plex Sans,system-ui,sans-serif;background:var(--bg-base);color:var(--text-base);line-height:1.65}body.nav-open{overflow:hidden}body.nav-open:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:#0208108f;z-index:18}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.skip-link{position:absolute;left:1rem;top:-100%;z-index:20;background:var(--teal);color:#04110d;padding:.85rem 1.15rem;border-radius:0 0 12px 12px;font-weight:600}.skip-link:focus{top:0}.wrapper{width:min(1160px,calc(100vw - 2rem));margin:0 auto}.wrapper-wide{width:min(1320px,calc(100vw - 2rem))}.site-header{position:sticky;top:0;z-index:20;background:#0b1726f5;border-bottom:1px solid rgba(255,255,255,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background var(--transition),border-color var(--transition)}.site-header[data-transparent]{background:#0b1726db}.site-header .wrapper{display:flex;align-items:center;justify-content:space-between;min-height:78px}.logo-stack{display:inline-flex;align-items:center;gap:.85rem}.logo-mark{width:2.8rem;height:2.8rem;border-radius:.95rem;display:grid;place-items:center;background:linear-gradient(135deg,var(--teal),#1f3a5a);color:#fff;font-weight:700}.logo-copy span,.logo-copy small{display:block}.logo-copy span{color:#fff;font-weight:600;letter-spacing:.03em}.logo-copy small{color:#ffffffb3;font-size:.78rem}.site-nav{display:flex;align-items:center;gap:.5rem}.site-nav a,.nav-close,.nav-toggle{min-height:44px}.site-nav a{color:#ffffffe0;font-size:.95rem;padding:.55rem .9rem;border-radius:999px;transition:color var(--transition),background var(--transition)}.site-nav a:hover,.site-nav a:focus-visible{color:#fff;background:#ffffff14}.site-nav .cta-link{background:#0fa37f29;color:#d8fff5}.nav-toggle,.nav-close{display:none;border:1px solid rgba(255,255,255,.12);background:transparent;color:#fff;border-radius:999px}.nav-toggle{align-items:center;gap:.7rem;padding:.55rem .9rem;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.hamburger,.hamburger:before,.hamburger:after{width:18px;height:2px;background:currentColor;display:block;position:relative;border-radius:999px}.hamburger:before,.hamburger:after{content:"";position:absolute;left:0}.hamburger:before{top:-6px}.hamburger:after{top:6px}.hero{background:radial-gradient(circle at 12% 14%,rgba(15,163,127,.14),transparent 28%),radial-gradient(circle at 90% 18%,rgba(74,118,171,.14),transparent 24%),linear-gradient(135deg,rgba(255,255,255,.04),transparent 32%),linear-gradient(180deg,var(--bg-dark) 0%,var(--bg-dark-2) 100%);color:var(--text-inverse);padding:4rem 0 5rem;overflow:hidden}.hero-shell{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:2.4rem;align-items:center}.hero-copy h1,.section-heading h2,.featured-card h3,.service-card h3,.sector-card h3,.process-card h3,.portfolio-card h3,.contact-card h3{margin:0;font-family:Space Grotesk,sans-serif;color:inherit}.eyebrow{margin:0 0 1rem;color:#8ee2cf;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:600}.hero-copy h1{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.02;max-width:10.8ch}.lead{max-width:58ch;font-size:1.08rem;color:#f7f7f5d1;margin:1.15rem 0 0}.hero-logo-strip{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.2rem;align-items:center}.hero-logo-strip img{max-width:98px;max-height:24px;width:auto;height:auto;object-fit:contain;filter:grayscale(1) brightness(2.25);opacity:.72}.cta-group{display:flex;flex-wrap:wrap;gap:.95rem;margin:1.5rem 0 1rem}.hero-proof-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.35rem}.hero-proof-row span{display:inline-flex;min-height:34px;align-items:center;padding:.2rem .8rem;border-radius:999px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);color:#f7f7f5eb;font-size:.9rem;font-weight:500}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.95rem 1.5rem;border-radius:999px;border:1px solid transparent;font-weight:600;transition:transform var(--transition),border-color var(--transition),background var(--transition)}.btn:hover,.btn:focus-visible{transform:translateY(-1px)}.btn.primary{background:var(--teal);color:#062119}.btn.primary:hover,.btn.primary:focus-visible{background:var(--teal-dark);color:#edfffb}.btn.ghost{border-color:#ffffff2e;color:#fff;background:transparent}.btn.ghost:hover,.btn.ghost:focus-visible{background:#ffffff14}.hero-note{margin:0;max-width:54ch;color:#f7f7f5b8}.hero-panel{display:grid;gap:1rem}.product-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:1.5rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.product-card-main{padding:1.25rem;background:linear-gradient(180deg,#ffffff1a,#ffffff0d)}.product-card-main:hover{transform:translateY(-4px);box-shadow:0 22px 48px #04091047;border-color:#ffffff29}.product-card-note{background:#0fa37f14}.product-topline{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.9rem;color:#f7f7f5d1;font-size:.82rem;font-weight:600;letter-spacing:.04em}.product-surface{border-radius:1.45rem;padding:1rem;background:linear-gradient(180deg,#09121ff0,#111f30e6);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff0a}.surface-toolbar{display:flex;gap:.4rem}.surface-toolbar span{width:.68rem;height:.68rem;border-radius:50%;background:#ffffff2e}.surface-heading-row{display:flex;justify-content:space-between;gap:.8rem;align-items:center;margin-top:1rem}.surface-heading,.surface-copy,.surface-copy.short{border-radius:999px;background:#ffffff14}.surface-heading{width:64%;height:1.05rem;background:#ffffff24}.surface-status{display:inline-flex;min-height:32px;align-items:center;padding:.2rem .7rem;border-radius:999px;background:#0fa37f29;color:#d8fff5;font-size:.82rem;font-weight:600}.surface-copy{width:88%;height:.78rem;margin-top:.8rem}.surface-copy.short{width:62%;margin-top:.55rem}.surface-progress-block{margin-top:1rem;padding:.9rem .95rem;border-radius:1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.05)}.progress-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.progress-label-row strong{color:#fff;font-size:.9rem}.progress-label-row span{color:#f7f7f5c7;font-size:.84rem}.progress-track{height:.55rem;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{width:82%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),#74d2bf)}.surface-chart-block{margin-top:.95rem;padding:.9rem .95rem;border-radius:1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.05)}.chart-label-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.7rem}.chart-label-row strong{color:#fff;font-size:.9rem}.chart-label-row span{color:#f7f7f5b3;font-size:.82rem}.chart-bars{height:92px;display:flex;align-items:end;gap:.55rem}.chart-bars span{flex:1;border-radius:999px 999px 0 0;background:linear-gradient(180deg,#74d2bff2,#0fa37f52)}.surface-metrics{display:grid;gap:.8rem;margin-top:1.1rem}.surface-metric{padding:.9rem .95rem;border-radius:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.06)}.surface-metric strong{display:block;color:#fff;font-size:.94rem;margin-bottom:.25rem}.surface-metric span{color:#f7f7f5b3;font-size:.88rem}.surface-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.surface-pill{display:inline-flex;min-height:34px;align-items:center;padding:.2rem .75rem;border-radius:999px;background:#ffffff0f;color:#f7f7f5c7;font-size:.84rem}.surface-pill.active{background:#0fa37f2e;color:#d8fff5}.panel-label{margin:0 0 1rem;color:#d8fff5;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em}.stat-list,.project-details{margin:0;display:grid;gap:1rem}.stat-list dt,.project-details dt{color:#f7f7f5b8;font-size:.84rem;margin-bottom:.35rem}.stat-list dd,.project-details dd{margin:0;color:#fff;font-weight:500}.compact-list,.contact-list{margin:0;padding-left:1.15rem}.compact-list li+li,.contact-list li+li{margin-top:.65rem}.proof-band{background:var(--bg-base);padding:1.4rem 0 0}.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.proof-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:1.35rem 1.25rem;box-shadow:var(--shadow-soft)}.proof-icon,.service-icon{width:3rem;height:3rem;border-radius:1rem;display:grid;place-items:center;margin-bottom:.85rem;color:var(--teal-dark)}.proof-icon{background:#0fa37f1a}.service-icon{background:linear-gradient(135deg,#0fa37f1f,#c97a3d1f)}.proof-icon svg,.service-icon svg{width:1.5rem;height:1.5rem}.proof-item span{display:block;color:var(--text-strong);font-family:Space Grotesk,sans-serif;font-size:1.45rem;margin-bottom:.35rem}.proof-item p,.service-card p,.featured-card p,.sector-card p,.process-card p,.portfolio-card p,.contact-copy p,.footer-brand p{margin:0}.section{padding:5rem 0}.section-light{background:var(--bg-base)}.section-quiet{background:var(--bg-soft)}.section-dark{background:var(--bg-dark);color:var(--text-inverse)}.section-heading{max-width:720px;margin-bottom:2rem}.section-heading h2{color:var(--text-strong);font-size:clamp(2rem,4vw,3rem);line-height:1.08}.section-dark .section-heading h2,.section-dark .section-heading p{color:var(--text-inverse)}.section-heading p:last-child{margin:1rem 0 0;color:var(--text-soft)}.section-dark .section-heading p:last-child{color:#f7f7f5bd}.service-grid,.featured-grid,.sector-grid,.process-grid,.portfolio-grid{display:grid;gap:1rem}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card,.featured-card,.sector-card,.portfolio-card,.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-soft)}.service-card{transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);min-height:100%}.service-card:hover,.service-card:focus-within{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#0fa37f42}.feature-card{background:linear-gradient(180deg,#fff,#f8fbfc)}.service-card h3,.featured-card h3,.sector-card h3,.portfolio-card h3,.contact-card h3{color:var(--text-strong);font-size:1.28rem;margin-bottom:.8rem}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1.2rem}.project-thumb,.portfolio-thumb{overflow:hidden;border-radius:calc(var(--radius-lg) - 8px);background:var(--surface-alt);border:1px solid var(--line)}.project-thumb{margin-bottom:1rem;aspect-ratio:16 / 10}.portfolio-thumb{aspect-ratio:16 / 10}.project-thumb img,.portfolio-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.card-topline,.project-meta,.contact-methods,.footer-nav,.footer-legal{display:flex;flex-wrap:wrap;gap:.75rem}.card-topline{align-items:center;justify-content:space-between;margin-bottom:1rem}.editorial-topline{margin-bottom:.75rem}.card-topline a,.portfolio-card a,.contact-methods a,.footer-meta a,.footer-legal a{color:var(--teal-dark);font-weight:600}.project-sector{display:inline-flex;align-items:center;min-height:34px;padding:.2rem .7rem;border-radius:999px;background:#0fa37f1a;color:var(--teal-dark);font-size:.88rem;font-weight:600}.project-summary{color:var(--text-base)}.project-kicker{color:var(--text-soft);font-size:.92rem;font-weight:600}.editorial-block{margin-top:1.1rem;padding:1rem 1rem .2rem;border-radius:var(--radius-sm);background:#f7fafb;border:1px solid var(--line)}.editorial-block p{margin:0 0 .8rem;color:var(--text-base)}.editorial-block strong{color:var(--text-strong);display:block;margin-bottom:.18rem}.project-footer{margin-top:1.1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem}.project-footer a{color:var(--teal-dark);font-weight:600}.featured-card{display:grid;gap:.95rem;align-content:start;min-height:100%;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition),opacity .42s ease;opacity:0;transform:translateY(18px)}.featured-grid[data-ready=true] .featured-card{animation:featuredCardIn .54s ease forwards;animation-delay:var(--feature-delay, 0ms)}.featured-card:hover,.featured-card:focus-within{transform:translateY(-6px);box-shadow:var(--shadow);border-color:#0fa37f38}.project-meta{margin-top:1.25rem}.project-summary,.editorial-block{min-height:0}.project-footer{margin-top:auto}.project-links{display:flex;flex-wrap:wrap;gap:.7rem}.project-links a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.8rem 1rem;border-radius:999px;font-weight:600;transition:transform var(--transition),background var(--transition),border-color var(--transition),color var(--transition)}.project-links a:first-child{background:var(--teal);color:#062119}.project-links a:last-child{background:#fff;color:var(--text-strong);border:1px solid var(--line)}.project-links a:hover,.project-links a:focus-visible{transform:translateY(-1px)}.project-meta span,.logo-strip span,.filter-chip{border-radius:999px;min-height:36px;display:inline-flex;align-items:center}.project-meta span,.logo-strip span{padding:.2rem .75rem;background:var(--surface-alt);color:var(--text-strong);font-size:.88rem}.logo-strip{display:grid;gap:1rem;margin-bottom:1.5rem}.logo-strip-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;align-items:center}.logo-strip-header p,.logo-strip-header span{margin:0}.logo-strip-header p{color:var(--text-strong);font-weight:600}.logo-strip-header span{color:var(--text-soft);font-size:.92rem}.logo-marquee{display:flex;flex-wrap:wrap;gap:.75rem}.client-logo{margin:0;min-height:72px;min-width:150px;padding:.9rem 1rem;display:grid;place-items:center;border-radius:var(--radius-sm);border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fafb);box-shadow:var(--shadow-soft)}.client-logo img{max-width:150px;max-height:44px;width:auto;height:auto;object-fit:contain}.text-logo span{color:var(--text-strong);font-weight:600;text-align:center}.sector-grid,.process-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.process-card{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:1.5rem}.process-card span{display:inline-block;color:#8ee2cf;font-family:Space Grotesk,sans-serif;font-size:1.05rem;margin-bottom:1rem}.filter-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.portfolio-link-row{margin-top:.75rem}.text-action{color:var(--teal-dark);font-weight:600}.filter-chip{padding:.2rem 1rem;border:1px solid var(--line);background:var(--surface);color:var(--text-strong);font-weight:600;transition:background var(--transition),color var(--transition),border-color var(--transition)}.filter-chip.active,.filter-chip:hover,.filter-chip:focus-visible{background:var(--text-strong);border-color:var(--text-strong);color:#fff}.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-card{display:grid;gap:.85rem}.portfolio-links{display:flex;flex-wrap:wrap;gap:.85rem}.portfolio-card[hidden]{display:none}.contact-section{padding-top:4rem}.contact-shell{display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.9fr);gap:1.5rem;align-items:start}.contact-copy h2{margin:0;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,4vw,3rem);line-height:1.08;color:var(--text-strong)}.contact-copy>p{margin-top:1rem}.contact-highlight{margin-top:1.3rem;padding:1rem 1.1rem;border-radius:var(--radius-md);border:1px solid var(--line);background:linear-gradient(180deg,#fff,#f7fafb);box-shadow:var(--shadow-soft)}.contact-highlight p{margin:0}.contact-highlight p+p{margin-top:.45rem}.contact-highlight strong{color:var(--text-strong)}.contact-methods{margin:1.4rem 0}.contact-card-header{margin-bottom:1rem}.contact-card-label{margin:0 0 .55rem;color:var(--teal-dark);font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em}.contact-card form{display:grid;gap:1rem}.contact-card label{display:grid;gap:.45rem}.contact-card span{color:var(--text-strong);font-weight:600}.contact-card input,.contact-card select,.contact-card textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-base);padding:.9rem 1rem;color:var(--text-strong)}.contact-card textarea{resize:vertical}.form-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.full-width{width:100%}.note{margin-top:1rem;color:var(--text-soft)}.note[data-state=error]{color:#a04444}.note[data-state=success]{color:var(--teal-dark)}.contact-card button[disabled]{opacity:.72;cursor:wait}.back-to-top{position:fixed;right:1rem;bottom:1rem;border:0;border-radius:999px;padding:.9rem 1rem;background:var(--text-strong);color:#fff;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity var(--transition),transform var(--transition);box-shadow:var(--shadow)}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.site-footer{background:var(--bg-dark);color:#f7f7f5cc;padding:2.5rem 0 2rem}.footer-shell{display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;gap:1.5rem;align-items:start}.footer-nav{flex-direction:column;gap:.55rem}.footer-nav a{color:#f7f7f5d1}.footer-meta p{margin:0 0 .5rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:2rem;padding-top:1.2rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem}.reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width: 1120px){.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured-grid,.portfolio-grid,.sector-grid,.process-grid,.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-shell{grid-template-columns:1fr 1fr}}@media (max-width: 900px){.nav-toggle,.nav-close{display:inline-flex;align-items:center;justify-content:center}.nav-close{align-self:flex-end;padding:.6rem .85rem;background:#ffffff14;border-color:#ffffff24}.site-nav{position:fixed;inset:0 0 0 auto;width:min(320px,86vw);background:#08121e;border-left:1px solid rgba(255,255,255,.08);padding:1.25rem;flex-direction:column;align-items:stretch;transform:translate(100%);transition:transform .24s cubic-bezier(.22,1,.36,1);box-shadow:-18px 0 42px #00000061;z-index:19}.site-nav[data-open=true]{transform:translate(0)}.site-nav a{width:100%;padding:1rem;color:#f6fbff;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:1rem;font-size:1rem}.site-nav a+a{margin-top:.2rem}.site-nav .cta-link{background:#0fa37f2e;color:#ecfff9;border-color:#0fa37f47}.nav-toggle{background:#ffffff14;border-color:#ffffff24}.nav-toggle:hover,.nav-toggle:focus-visible{transform:translateY(-1px)}.hero-shell,.contact-shell,.footer-shell{grid-template-columns:1fr}}@media (max-width: 720px){.hero{padding:3rem 0 4rem}.section{padding:4rem 0}.proof-grid,.service-grid,.featured-grid,.sector-grid,.process-grid,.portfolio-grid{grid-template-columns:1fr}.section-heading{margin-bottom:1.5rem}.hero-copy h1,.section-heading h2,.contact-copy h2{max-width:none}.card-topline,.project-footer{align-items:flex-start;flex-direction:column}}@keyframes featuredCardIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.wrapper{width:min(100vw - 1.2rem,1160px)}.site-header .wrapper{min-height:72px}.logo-copy small{max-width:15ch}.hero-copy h1{font-size:2.25rem}.btn,.filter-chip,.project-sector,.project-meta span,.logo-strip span{width:100%;justify-content:center}.cta-group,.hero-logo-strip,.hero-proof-row,.surface-actions,.card-topline,.contact-methods,.footer-legal{flex-direction:column}.hero-logo-strip img{max-width:118px}.back-to-top{right:.8rem;bottom:.8rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
