:root{--ink:#f7f9ff;--navy:#ebf0ff;--cyan:#087ea4;--blue:#2563eb;--violet:#7c3aed;--text:#111936;--muted:#52617d;--line:color-mix(in srgb,var(--blue) 22%,transparent);--panel:#fff;--gradient:linear-gradient(105deg,#22d3ee,#3b82f6 48%,#8b5cf6);--shadow:0 14px 34px color-mix(in srgb,var(--blue) 13%,transparent)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ink);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.shell{width:min(1160px,100% - 40px);margin-inline:auto}.site-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#ffffffe0;position:sticky;top:0}.header-inner{align-items:center;gap:22px;height:74px;display:flex}.brand{letter-spacing:.08em;white-space:nowrap;align-items:center;gap:10px;font-weight:900;line-height:1;display:flex}.brand img{box-shadow:0 0 18px color-mix(in srgb,var(--cyan) 32%,transparent);border-radius:11px}.brand span{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text}.brand small{letter-spacing:.14em;color:var(--muted);background:0 0;margin-top:5px;font-size:.48rem;display:block}.nav{align-items:center;gap:4px;margin-left:auto;display:flex}.nav a{color:var(--muted);border-radius:8px;padding:8px 10px;font-size:.91rem}.nav a:hover,.nav a.active{color:var(--text);background:color-mix(in srgb,var(--blue) 10%,transparent)}.header-call{border:1px solid var(--cyan);color:var(--cyan);border-radius:9px;padding:8px 13px;font-size:.9rem}.menu-toggle{display:none}.hero{isolation:isolate;border-bottom:1px solid var(--line);align-items:center;min-height:650px;display:grid;position:relative;overflow:hidden}.hero-image{object-fit:cover;z-index:-3;opacity:.67;filter:saturate(1.08)contrast(1.02)}.hero:after{content:"";z-index:-2;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 93%,transparent) 5%,color-mix(in srgb,var(--ink) 75%,transparent) 58%,color-mix(in srgb,var(--ink) 40%,transparent));position:absolute;inset:0}.hero-grid{z-index:-1;background-image:linear-gradient(color-mix(in srgb,var(--blue) 11%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--blue) 11%,transparent) 1px,transparent 1px);background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.hero-content{padding-block:90px}.eyebrow{color:var(--cyan);letter-spacing:.14em;margin:0 0 10px;font-size:.76rem;font-weight:800}.hero h1,.page-hero h1{letter-spacing:-.055em;max-width:830px;margin:0 0 24px;font-size:clamp(2.7rem,7vw,5.7rem);line-height:1.03}.hero em,.page-hero em{background:var(--gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.lede{max-width:680px;color:var(--muted);font-size:1.08rem}.actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.button{border-radius:9px;justify-content:center;align-items:center;min-height:48px;padding:11px 19px;font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.primary{background:var(--gradient);color:#0a1530;box-shadow:0 8px 28px color-mix(in srgb,var(--blue) 24%,transparent)}.secondary{border:1px solid var(--line);color:var(--text);background:#ffffffd1}.hero-brand{color:var(--muted);align-items:center;gap:10px;margin-top:44px;font-size:.88rem;display:flex}.hero-brand img{border-radius:12px}.section{padding-block:92px}.section-alt{background:var(--navy);border-block:1px solid var(--line)}.section-heading{max-width:720px;margin-bottom:34px}.section-heading h2,.split h2,.trust h2,.faq h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.35rem);line-height:1.1}.row-heading{justify-content:space-between;align-items:end;gap:22px;display:flex}.text-link,.project-card a,.activity-card a,.service-card a{color:var(--cyan);font-weight:750}.service-grid,.home-projects{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.service-grid{grid-template-columns:repeat(5,1fr)}.service-card,.detail-card,.project-card,.activity-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow)}.service-card{border-radius:13px;padding:22px;transition:transform .2s,border-color .2s,box-shadow .2s}.service-card:hover,.project-card:hover{border-color:var(--violet);box-shadow:0 17px 42px color-mix(in srgb,var(--violet) 20%,transparent);transform:translateY(-4px)}.service-card h3{margin:0 0 9px;font-size:1.08rem}.service-card p{color:var(--muted);min-height:100px;font-size:.9rem}.service-card a{font-size:.88rem}.home-project{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:13px;overflow:hidden}.home-project img{aspect-ratio:1.28;object-fit:cover;width:100%}.home-project h3,.home-project span{margin:0 16px;display:block}.home-project span{color:var(--cyan);letter-spacing:.1em;margin-top:14px;font-size:.75rem;font-weight:800}.home-project h3{margin-bottom:18px}.split{grid-template-columns:1fr 1fr;gap:80px;display:grid}.process-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.process-list li{border-bottom:1px solid var(--line);align-items:center;gap:20px;padding:17px 0;display:flex}.process-list b{color:var(--cyan);font-size:.84rem}.trust{text-align:center}.trust p:not(.eyebrow){color:var(--muted);font-size:1.05rem}.trust .actions{justify-content:center}.page-hero{padding-block:90px 42px}.page-hero h1{font-size:clamp(2.7rem,6vw,4.7rem)}.detail-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.detail-card{border-radius:13px;padding:27px}.detail-card h2{margin:0}.detail-card>p{color:var(--muted)}dl{margin:24px 0 0}dl div{border-top:1px solid var(--line);padding:13px 0}dt{color:var(--cyan);font-size:.84rem;font-weight:800}dd{color:var(--muted);margin:4px 0 0}.faq{max-width:780px}.faq details{border-top:1px solid var(--line);padding:17px 0}.faq summary{cursor:pointer;font-weight:800}.faq details p{color:var(--muted);margin-bottom:0}.faq .button{margin-top:22px}.filters{flex-wrap:wrap;gap:9px;margin-bottom:25px;display:flex}.filters button{background:var(--panel);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:99px;padding:8px 14px}.filters button.selected,.filters button:hover{color:#0a1530;background:var(--gradient);border-color:#0000}.project-grid{grid-template-columns:repeat(3,1fr);gap:19px;display:grid}.project-card{border-radius:13px;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.project-card img{aspect-ratio:1.33;object-fit:cover;width:100%}.project-card>div{padding:18px}.project-card h2{margin:3px 0 7px;font-size:1.2rem}.project-card p{color:var(--muted);min-height:66px;font-size:.9rem}.activity-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.activity-card{border-radius:13px;overflow:hidden}.activity-card img{aspect-ratio:1.4;object-fit:cover;width:100%}.activity-card div{padding:22px}.activity-card h2{margin:2px 0 8px}.activity-card p{color:var(--muted)}.site-footer{border-top:1px solid var(--line);background:#e3eafe;padding:56px 0 100px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr;gap:40px;display:grid}.footer-grid p{color:var(--muted);font-size:.9rem}.footer-grid h2{color:var(--cyan);letter-spacing:.08em;text-transform:uppercase;font-size:.9rem}.footer-grid a{color:var(--muted);margin:7px 0;font-size:.9rem;display:block}.footer-grid a:hover{color:var(--text)}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:16px;margin-top:38px;padding-top:18px;font-size:.8rem;display:flex}.mobile-cta{display:none}@media (max-width:1000px){.service-grid{grid-template-columns:repeat(3,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}.header-call{display:none}.nav{gap:0}.nav a{padding:8px}.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:700px){.shell{width:min(100% - 30px,1160px)}.header-inner{height:66px}.brand img{width:38px;height:38px}.brand{font-size:.86rem}.menu-toggle{border:1px solid var(--line);color:var(--text);background:#fff;border-radius:8px;margin-left:auto;padding:7px 9px;display:block}.nav{border-bottom:1px solid var(--line);background:#fff;flex-direction:column;align-items:stretch;padding:12px 15px 17px;display:none;position:absolute;top:66px;left:0;right:0}.nav.open{display:flex}.nav a{padding:10px}.hero{min-height:610px}.hero:after{background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 94%,transparent),color-mix(in srgb,var(--ink) 62%,transparent))}.hero-content{padding-block:70px}.section{padding-block:65px}.service-grid,.home-projects,.detail-grid,.project-grid,.activity-grid,.split{grid-template-columns:1fr}.service-card p{min-height:auto}.row-heading,.footer-bottom{flex-direction:column;align-items:flex-start}.split{gap:35px}.footer-grid{grid-template-columns:1fr;gap:22px}.site-footer{padding-bottom:108px}.mobile-cta{z-index:30;background:var(--line);border-top:1px solid var(--line);grid-template-columns:1fr 1.25fr;gap:1px;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-cta a{text-align:center;background:#fff;padding:14px 8px;font-weight:900}.mobile-cta a:first-child{color:#0a1530;background:var(--gradient)}.page-hero{padding-block:62px 25px}.project-card p{min-height:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.contact-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.contact-grid a{border:1px solid var(--line);background:var(--panel);min-height:170px;box-shadow:var(--shadow);border-radius:13px;flex-direction:column;justify-content:space-between;padding:24px;transition:transform .2s,border-color .2s;display:flex}.contact-grid a:hover{border-color:var(--violet);transform:translateY(-4px)}.contact-grid span{color:var(--cyan);letter-spacing:.11em;font-size:.76rem;font-weight:900}.contact-grid strong{font-size:1.15rem}.contact-grid small,.cta-note{color:var(--muted)}.cta-note{max-width:530px;margin:14px 0 0;font-size:.9rem}.legal{max-width:820px;min-height:calc(100vh - 280px)}.legal>p:not(.eyebrow){color:var(--muted);font-size:1.03rem}.legal h2{margin-top:36px;font-size:1.35rem}@media (max-width:700px){.contact-grid{grid-template-columns:1fr}.contact-grid a{min-height:135px}}
