:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f4f7fb;color:#162033;--color-ink: #162033;--color-muted: #53627b;--color-accent: #325ce8;--color-accent-strong: #1b47da;--color-surface: rgba(255, 255, 255, .78);--color-surface-solid: #f6f8fc;--shadow-soft: 0 24px 70px rgba(22, 32, 51, .08);--container: min(1120px, calc(100% - 2rem) )}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-size:17px;line-height:1.6;background:radial-gradient(circle at top left,rgba(50,92,232,.18),transparent 34rem),linear-gradient(135deg,#f8fbff,#edf3fb 58%,#e8f0ff)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}main,.site-header,.site-footer{width:var(--container);margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.25rem 0}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:1.2rem;font-weight:800;letter-spacing:-.04em}.brand img{width:2.7rem;height:2.7rem;border-radius:.8rem;box-shadow:0 10px 24px #1620331f}nav,.footer-links{display:flex;gap:1rem;font-size:.95rem;font-weight:600;color:#43516a}nav a,.footer-links a{transition:color .16s ease}nav a:hover,.footer-links a:hover{color:var(--color-accent-strong)}.hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:2rem;align-items:stretch;padding:5rem 0 4rem}.page-hero{margin:4rem 0 2rem;padding:clamp(2rem,6vw,4.5rem);border:1px solid rgba(22,32,51,.08);border-radius:2rem;background:var(--color-surface);box-shadow:var(--shadow-soft);backdrop-filter:blur(14px)}.page-hero.compact{margin-top:3rem}.page-hero.not-found{margin-bottom:4rem}.hero-copy,.hero-card,.section,.contact{border:1px solid rgba(22,32,51,.08);border-radius:2rem;background:var(--color-surface);box-shadow:var(--shadow-soft);backdrop-filter:blur(14px)}.hero-copy{padding:clamp(2rem,6vw,4.5rem)}.hero-card{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:2rem;background:var(--color-ink);color:#fff;overflow:hidden}.hero-card img{width:100%;height:min(20vw,14rem);border-radius:1.2rem;object-fit:cover}.hero-card span,.eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent)}.hero-card span{color:#9eb5ff}h1{max-width:15ch;margin-top:.75rem;font-size:clamp(2.45rem,6vw,4.9rem);line-height:.98;letter-spacing:-.065em}h2{max-width:17ch;margin-top:.6rem;font-size:clamp(1.7rem,3.8vw,2.9rem);line-height:1.06;letter-spacing:-.045em}h3{font-size:1.18rem;line-height:1.25}.lead{max-width:42rem;margin-top:1.5rem;font-size:clamp(1.12rem,1.55vw,1.28rem);line-height:1.55;color:#43516a}.actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;border-radius:999px;padding:0 1.25rem;font-weight:800}.primary{background:var(--color-accent);color:#fff}.secondary{background:#eef3ff;color:var(--color-accent-strong)}.section,.contact{margin-bottom:2rem;padding:clamp(1.5rem,4vw,3rem)}.image-banner{position:relative;display:grid;min-height:24rem;margin-bottom:2rem;overflow:hidden;border-radius:2rem;background:var(--color-ink);box-shadow:var(--shadow-soft);color:#fff}.image-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}.image-banner:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,#162033e6,#16203338)}.image-banner div{position:relative;z-index:1;align-self:end;max-width:34rem;padding:clamp(1.5rem,5vw,3rem)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-top:2rem}.service-grid article,.feature-grid article{overflow:hidden;border-radius:1.25rem;padding:1.25rem;background:var(--color-surface-solid)}.feature-grid article{padding:0}.feature-grid img,.empty-state img{width:100%;height:13rem;object-fit:cover}.feature-grid h3,.feature-grid p{padding-inline:1.25rem}.feature-grid h3{padding-top:1.25rem}.feature-grid p{padding-bottom:1.25rem}.service-grid p,.feature-grid p,.split p{margin-top:.75rem;font-size:1.03rem;line-height:1.65;color:var(--color-muted)}.note-card ul{display:grid;gap:.65rem;margin:1rem 0 0;padding-left:1.1rem;color:var(--color-muted)}.note-card li{line-height:1.55}.empty-state>p:last-child{max-width:42rem;margin-top:1rem;line-height:1.6;color:var(--color-muted)}.prose{max-width:860px}.prose h2{max-width:none;margin-top:2rem;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05}.prose h2:first-child{margin-top:0}.prose p{margin-top:.8rem;font-size:1.05rem;line-height:1.7;color:var(--color-muted)}.prose a{color:var(--color-accent-strong);font-weight:800}.empty-state img{height:clamp(12rem,32vw,24rem);margin-bottom:1.5rem;border-radius:1.4rem}.contact-panel{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem;margin-bottom:4rem;padding:clamp(1.5rem,4vw,3rem);border-radius:2rem;background:var(--color-ink);color:#fff}.contact-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:1rem;align-items:start}.contact-form-card h2{max-width:12ch}.contact-form{display:grid;gap:1rem;margin-top:2rem}.field-group{display:grid;gap:.45rem}.field-group label{font-size:.92rem;font-weight:800;color:var(--color-ink)}.field-group input,.field-group textarea{width:100%;border:1px solid rgba(22,32,51,.14);border-radius:1rem;background:#ffffffc2;color:var(--color-ink);font:inherit;padding:.9rem 1rem;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.field-group textarea{resize:vertical}.field-group input:focus,.field-group textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px #325ce81f}.contact-form .button{width:fit-content;border:0;cursor:pointer;font:inherit}.form-note{max-width:34rem;font-size:1rem;line-height:1.6;color:var(--color-muted)}.contact-aside{display:grid;gap:1rem}.aside-card{border:1px solid rgba(22,32,51,.08);border-radius:1.5rem;background:var(--color-surface);box-shadow:var(--shadow-soft);padding:1.5rem}.aside-card h3{margin-top:.6rem;font-size:1.35rem}.aside-card p:last-child{margin-top:.75rem;font-size:1.03rem;line-height:1.65;color:var(--color-muted)}.aside-card.dark{background:var(--color-ink);color:#fff}.aside-card.dark p:last-child{color:#ffffffc2}.contact-panel h2{max-width:none;font-size:clamp(1.65rem,3.8vw,2.8rem)}.contact-panel .button{margin-top:1.5rem}.contact-links{display:flex;flex-direction:column;justify-content:center;gap:.8rem}.contact-links a{display:flex;align-items:center;justify-content:space-between;border-radius:1rem;padding:1rem;background:#ffffff1a;font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end}.previous-work{align-items:start}.previous-work .button{margin-top:1.5rem}.previous-work ul{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.previous-work li{border-radius:1rem;background:var(--color-surface-solid);padding:1rem 1.1rem;font-weight:800;color:var(--color-ink)}.technology-detail h2{max-width:18ch}.case-list{display:grid;gap:1rem;margin-top:2rem}.case-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,.75fr);gap:1.25rem;align-items:start;border-radius:1.4rem;background:var(--color-surface-solid);padding:1.25rem}.case-card h3{font-size:1.35rem}.case-card p{margin-top:.75rem;color:var(--color-muted)}.case-card ul{display:flex;flex-wrap:wrap;gap:.55rem;margin:0;padding:0;list-style:none}.case-card li{border-radius:999px;background:#eef3ff;color:var(--color-accent-strong);font-size:.95rem;font-weight:800;padding:.55rem .8rem}.contact{background:var(--color-ink);color:#fff}.contact .button{margin-top:1.5rem}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 3rem;color:var(--color-muted)}.site-footer strong{display:block;margin-bottom:.2rem;color:var(--color-ink)}@media(max-width:760px){.site-header,.site-footer{align-items:flex-start;flex-direction:column}nav,.footer-links{flex-wrap:wrap}.hero,.split,.service-grid,.feature-grid,.contact-layout,.contact-panel,.case-card{grid-template-columns:1fr}.hero{padding-top:2rem}.hero-card img{height:13rem}.image-banner{min-height:18rem}}
