@charset "UTF-8";:root{--navy-deep:#0B1C42;--navy:#14264F;--blue:#3463A8;--blue-bright:#4A78C0;--blue-soft:#9DB6DD;--bg:#FFFFFF;--bg-soft:#F3F6FC;--bg-panel:#EEF3FB;--line:#E2E9F4;--ink:#14264F;--ink-soft:#5A6884;--white:#FFFFFF;--radius:18px;--radius-sm:12px;--shadow:0 18px 50px -20px rgba(11,28,66,.28);--shadow-sm:0 8px 24px -12px rgba(11,28,66,.22);--display:"Bricolage Grotesque",sans-serif;--body:"Hanken Grotesk",sans-serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--body);color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--display);font-weight:700;line-height:1.08;letter-spacing:-.02em;color:var(--navy-deep)}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:0 auto;padding:0 28px}a:focus-visible,button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}section[id]{scroll-margin-top:90px}.eyebrow{font-family:var(--body);font-weight:700;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:8px}.eyebrow:before{content:"";width:22px;height:2px;background:var(--blue);display:inline-block;position:relative;top:-1px}header{position:sticky;top:0;z-index:50;background:#ffffffd1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;height:78px}.brand{display:flex;align-items:center;gap:12px;cursor:pointer}.brand .mark{height:46px;width:auto;flex:none;display:block}footer .brand .mark{height:30px;background:#fff;padding:7px 10px;border-radius:11px}.brand .name{display:flex;flex-direction:column;line-height:1}.brand .name b{font-family:var(--display);font-weight:800;font-size:1.18rem;letter-spacing:.01em}.brand .name b span{color:var(--blue)}.brand .name small{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-top:3px;font-weight:600}.menu{display:flex;align-items:center;gap:34px}.menu nav{display:flex;gap:30px}.menu nav a{font-weight:600;font-size:.97rem;color:var(--ink);position:relative;padding:6px 0;transition:color .2s;cursor:pointer}.menu nav a:after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--blue);transition:width .25s}.menu nav a:hover{color:var(--blue)}.menu nav a.active{color:var(--blue)}.menu nav a.active:after{width:100%}.btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--body);font-weight:700;font-size:.95rem;padding:13px 24px;border-radius:999px;cursor:pointer;border:none;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;white-space:nowrap}.btn-primary{background:var(--navy-deep);color:#fff;box-shadow:0 10px 24px -10px #0b1c428c}.btn-primary:hover{transform:translateY(-2px);background:var(--blue)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary:disabled:hover{transform:none;background:var(--navy-deep)}.btn-ghost{background:transparent;color:var(--navy-deep);border:1.5px solid var(--line)}.btn-ghost:hover{border-color:var(--blue);color:var(--blue)}.btn .spk{width:15px;height:15px}.spk{flex:none}.foot-bottom .slogan .spk{width:17px;height:17px;flex:none}.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px}.burger span{width:24px;height:2px;background:var(--navy-deep);border-radius:2px;transition:.25s}.hero{position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(1200px 500px at 85% -10%,rgba(74,120,192,.16),transparent 60%),radial-gradient(800px 400px at 0% 110%,rgba(52,99,168,.1),transparent 55%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-block:84px 90px}.hero h1{font-size:clamp(2.1rem,5.2vw,4.3rem);font-weight:800;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.hero h1 em{font-style:normal;color:var(--blue)}.hero .slogan{font-family:var(--display);font-weight:600;color:var(--blue);font-size:1.05rem;letter-spacing:.04em;margin:0 0 18px;display:inline-flex;align-items:center;gap:10px}.hero p.lead{font-size:1.14rem;color:var(--ink-soft);max-width:34ch;margin:22px 0 32px}.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.hero-meta{display:flex;gap:26px;margin-top:40px;flex-wrap:wrap}.hero-meta div{display:flex;flex-direction:column}.hero-meta b{font-family:var(--display);font-size:1.5rem;color:var(--navy-deep)}.hero-meta span{font-size:.85rem;color:var(--ink-soft)}.hero .scroll-hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--blue);background:#4a78c01f;box-shadow:0 0 0 1px #4a78c033;animation:scroll-bob 1.8s ease-in-out infinite;transition:background .2s ease,box-shadow .2s ease}.hero .scroll-hint:hover{background:#4a78c038;box-shadow:0 0 0 1px #4a78c059}@keyframes scroll-bob{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}.reveal>*{opacity:0;transform:translateY(16px);animation:rise .7s cubic-bezier(.2,.7,.2,1) forwards}@keyframes rise{to{opacity:1;transform:none}}.js .block .sec-head,.js .usp .card,.js .services .svc,.js .vw-grid .vw-card,.js .specialty,.js #over .prose,.js .promise,.js .contact-grid>*{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}.in{opacity:1!important;transform:none!important}header .brand{transform-origin:left center;transform:translateZ(0);backface-visibility:hidden;will-change:transform;transition:transform .3s cubic-bezier(.2,.7,.2,1)}header .brand:hover{transform:scale(1.05) translateZ(0)}header .brand .mark-glow{position:relative;display:inline-flex;flex:none;overflow:hidden}header .brand .mark-glow:after{content:"";position:absolute;top:-40%;left:-75%;width:45%;height:180%;background:linear-gradient(90deg,#fff0,#ffffffd9,#fff0);transform:skew(-20deg);opacity:0;pointer-events:none;z-index:2}header .brand:hover .mark-glow:after{animation:logo-shine .85s ease}@keyframes logo-shine{0%{left:-75%;opacity:0}12%{opacity:1}to{left:130%;opacity:0}}.vw-card{transition:transform .3s ease,box-shadow .3s ease}.vw-card img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.vw-card:hover{transform:translateY(-5px);box-shadow:0 28px 60px -24px #0b1c4273}.vw-card:hover img{transform:scale(1.05)}.svc .ic,.usp .card .ic{transition:background .25s ease,color .25s ease,transform .25s ease}.svc:hover .ic,.usp .card:hover .ic{background:var(--blue);color:#fff}.duo img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.duo img:hover{transform:scale(1.03)}@media(prefers-reduced-motion:reduce){.js .block .sec-head,.js .usp .card,.js .services .svc,.js .vw-grid .vw-card,.js .specialty,.js #over .prose,.js .promise,.js .contact-grid>*{opacity:1;transform:none;transition:none}.vw-card:hover,.vw-card:hover img,.duo img:hover,.svc:hover .ic,.usp .card:hover .ic,.promise:hover{transform:none}header .brand:hover{transform:none}header .brand:hover .mark-glow:after{animation:none}.hero .scroll-hint{animation:none}.hero .photo:hover img{transform:none}}@media(hover:none){.btn-primary:hover,.usp .card:hover,.svc:hover,.vw-card:hover,.vw-card:hover img,.promise:hover,.duo img:hover,a.info-item:hover,footer ul li:hover{transform:none}header .brand:hover{transform:none}header .brand:hover .mark-glow:after{animation:none}.hero .photo:hover img{transform:none}.svc:hover .ic,.usp .card:hover .ic,.promise:hover .ic{background:var(--bg-panel);color:var(--blue)}a.info-item:hover .ic{background:#ffffff1a;box-shadow:none}.menu nav a:hover:after{width:0}}.photo{position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(135deg,var(--navy-deep),var(--blue) 130%);display:flex;align-items:center;justify-content:center;color:#ffffffeb;box-shadow:var(--shadow);min-height:240px;isolation:isolate}.photo:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.5;background:radial-gradient(420px 240px at 78% 18%,rgba(255,255,255,.18),transparent 60%),radial-gradient(300px 200px at 12% 92%,rgba(255,255,255,.1),transparent 60%)}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}.duo img{width:100%;height:100%;min-height:210px;object-fit:cover;border-radius:14px;display:block;box-shadow:0 18px 40px -12px #000000a6}@media(max-width:560px){.duo{grid-template-columns:1fr}}.vw-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}.vw-card{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);background:var(--bg-panel)}.vw-card img{width:100%;height:auto;display:block}.vw-card figcaption{position:absolute;left:50%;bottom:18px;transform:translate(-50%);max-width:calc(100% - 32px);text-align:center;white-space:nowrap;font-family:var(--display);font-weight:700;font-size:clamp(.95rem,2.4vw,1.18rem);line-height:1.15;color:#fff;background:var(--blue);padding:11px 26px;border-radius:999px;box-shadow:0 10px 24px -8px #0b1c428c;z-index:2}@media(max-width:680px){.vw-grid{grid-template-columns:1fr;gap:16px;max-width:460px;margin-left:auto;margin-right:auto}}.over-split{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:center}.over-split .prose p:last-child{margin-bottom:0}.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.promise{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 20px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}.promise:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.promise .ic{width:40px;height:40px;border-radius:11px;margin-bottom:13px;transition:background .25s ease,color .25s ease}.promise:hover .ic{background:var(--blue);color:#fff}.promise h4{font-family:var(--display);font-weight:700;font-size:1.03rem;color:var(--navy-deep);margin-bottom:5px;line-height:1.2}.promise p{color:var(--ink-soft);font-size:.92rem;line-height:1.45;margin:0;max-width:none}@media(max-width:900px){.over-split{grid-template-columns:1fr;gap:34px}}@media(max-width:430px){.promise-grid{grid-template-columns:1fr}}.hero .photo{min-height:440px;box-shadow:0 34px 70px -30px #0b1c428c;border:1px solid rgba(11,28,66,.05)}.hero-photo{position:relative}.hero-photo:before{content:"";position:absolute;inset:0;border-radius:var(--radius);background:linear-gradient(135deg,var(--blue-bright),var(--navy-deep));transform:translate(20px,20px);opacity:.15;z-index:-1}.hero-photo:after{content:"";position:absolute;top:-16px;left:-16px;width:78px;height:78px;border-radius:18px;background:linear-gradient(135deg,var(--blue-bright),var(--blue));opacity:.16;z-index:-1}.hero .photo img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}.hero .photo:hover img{transform:scale(1.05)}section.block{padding:88px 0}.sec-head{max-width:640px;margin-bottom:46px}.sec-head h2{font-size:clamp(2rem,3.6vw,2.8rem);margin:14px 0}.sec-head p{color:var(--ink-soft);font-size:1.08rem}.bg-soft{background:var(--bg-soft)}.usp{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.usp .card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-sm);transition:transform .25s,box-shadow .25s}.usp .card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.ic{width:46px;height:46px;border-radius:12px;background:var(--bg-panel);display:flex;align-items:center;justify-content:center;margin-bottom:18px;color:var(--blue)}.ic svg{width:24px;height:24px}.card h3{font-size:1.18rem;margin-bottom:8px}.card p{color:var(--ink-soft);font-size:.98rem}.services{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.svc{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:24px 22px;transition:.25s}.svc:hover{border-color:var(--blue-soft);transform:translateY(-3px);box-shadow:var(--shadow-sm)}.svc .ic{margin-bottom:14px}.svc h4{font-size:1.04rem;margin-bottom:6px}.svc p{font-size:.9rem;color:var(--ink-soft);line-height:1.5}.specialty{background:linear-gradient(120deg,var(--navy-deep),var(--navy));color:#fff;border-radius:24px;padding:54px;display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;position:relative;overflow:hidden}.specialty:after{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(74,120,192,.4),transparent 70%)}.specialty h2{color:#fff;font-size:2.1rem;margin-bottom:16px}.specialty p{color:#ffffffd1;font-size:1.05rem}.specialty .photo{min-height:260px;box-shadow:none;background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid rgba(255,255,255,.16)}.prose p{color:var(--ink-soft);font-size:1.06rem;margin-bottom:18px;max-width:52ch}.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}.form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:40px;box-shadow:var(--shadow)}.field{margin-bottom:20px}.field label,.field-label{display:block;font-weight:600;font-size:.92rem;margin-bottom:7px;color:var(--navy)}.field input,.field select,.field textarea{width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font-family:var(--body);font-size:.97rem;color:var(--ink);background:var(--bg-soft);transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px #3463a81a}.field textarea{resize:vertical;min-height:110px}.form-privacy{font-size:.8rem;color:var(--ink-soft);margin:12px 0 0;line-height:1.45}.form-privacy a{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:2px}.form-privacy a:hover{color:var(--blue-bright)}.usecases{list-style:none;margin-top:4px}.usecases li{position:relative;padding-left:30px;margin-bottom:15px;color:var(--ink-soft);font-size:1.02rem;line-height:1.5}.usecases li b{color:var(--navy-deep)}.usecases li:before{content:"\2713";position:absolute;left:2px;top:0;color:var(--blue);font-weight:800;font-size:1rem}.cal{border:1.5px solid var(--line);border-radius:12px;padding:14px;background:var(--bg-soft)}.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.cal-head b{font-family:var(--display);font-weight:700;font-size:1rem;color:var(--navy);text-transform:capitalize}.cal-nav{display:flex;gap:6px}.cal-nav button{width:32px;height:32px;border:1px solid var(--line);background:#fff;border-radius:8px;cursor:pointer;color:var(--navy);font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:.2s}.cal-nav button:hover{border-color:var(--blue);color:var(--blue)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);text-align:center;padding:2px 0 6px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.9rem;border-radius:9px;cursor:pointer;color:var(--ink);border:1.5px solid transparent;background:#fff;transition:.12s}.cal-day:hover{border-color:var(--blue-soft)}.cal-day.muted{background:transparent;pointer-events:none}.cal-day.past{color:#c2cada;background:transparent;pointer-events:none}.cal-day.sel{background:var(--navy-deep);color:#fff;font-weight:700;border-color:var(--navy-deep)}.cal-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;min-height:24px}.cal-chip{background:var(--bg-panel);color:var(--navy);font-size:.8rem;font-weight:600;padding:5px 11px;border-radius:999px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card .btn-primary{width:100%;justify-content:center;margin-top:6px;font-size:1rem;padding:15px}.form-success{text-align:center;padding:30px 10px}.form-success .ok{width:62px;height:62px;border-radius:50%;background:var(--bg-panel);color:var(--blue);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}.form-success h3{font-size:1.4rem;margin-bottom:8px}.form-success p{color:var(--ink-soft)}.info-card{background:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff;border-radius:24px;padding:38px;position:relative;overflow:hidden}.info-card:after{content:"";position:absolute;right:-40px;bottom:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(74,120,192,.4),transparent 70%)}.info-card h3{color:#fff;font-size:1.5rem;margin-bottom:6px}.info-card .sub{color:#ffffffb3;margin-bottom:28px;font-size:.98rem}.info-item{display:flex;gap:14px;align-items:center;margin-bottom:20px;position:relative;z-index:1}.info-item .ic{background:#ffffff1a;color:#fff;margin:0;flex:none}.info-item small{display:block;color:#fff9;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}.info-item b,.info-item a{font-family:var(--body);font-weight:600;font-size:1.04rem}.info-item{transition:transform .25s ease;border-radius:14px;margin-left:-8px;padding:6px 8px}.info-item .ic{transition:background .25s ease,transform .25s ease,box-shadow .25s ease}a.info-item{text-decoration:none;color:inherit;cursor:pointer}a.info-item:hover{transform:translate(6px)}a.info-item:hover .ic{background:var(--blue);transform:scale(1.08);box-shadow:0 8px 22px -6px #4a78c0bf}a.info-item:hover small{color:#ffffffd9}a.info-item:focus-visible{outline:2px solid var(--blue-soft);outline-offset:3px}@media(prefers-reduced-motion:reduce){.info-item,.info-item .ic{transition:none}a.info-item:hover{transform:none}}.legal{max-width:760px}.legal h3{font-size:1.18rem;margin:30px 0 10px}.legal ul{margin:0 0 18px;padding-left:20px;color:var(--ink-soft)}.legal ul li{margin-bottom:6px}.legal a{color:var(--blue);text-decoration:underline}.todo{background:#fff4d6;color:#7a5a00;padding:1px 6px;border-radius:5px;font-size:.92em}footer{background:var(--navy-deep);color:#ffffffb3;padding:64px 0 30px;margin-top:10px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}footer .brand .name b{color:#fff}footer .brand .name b span{color:var(--blue-soft)}footer .brand .name small{color:#ffffff80}footer p{font-size:.95rem;margin-top:16px;max-width:34ch}footer h5{color:#fff;font-family:var(--display);font-size:1rem;margin-bottom:16px}footer ul{list-style:none}footer ul li{margin-bottom:10px;font-size:.95rem;cursor:pointer;transition:.2s}footer ul li:hover{color:#fff;transform:translate(3px)}.foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;font-size:.85rem;flex-wrap:wrap;gap:10px}.foot-bottom .slogan{display:flex;align-items:center;gap:8px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#ffffff8c}@media(max-width:900px){.hero-grid,.specialty,.contact-grid{grid-template-columns:1fr;gap:36px}.usp{grid-template-columns:1fr}.services{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr}.menu nav{display:none}.burger{display:flex;margin-left:auto}.menu.open{position:absolute;top:78px;left:0;right:0;background:#fff;display:flex;flex-direction:column;align-items:stretch;padding:18px 28px;border-bottom:1px solid var(--line);gap:16px;box-shadow:var(--shadow)}.menu.open nav{display:flex;flex-direction:column;gap:18px}.menu.open nav a:after{display:none}.menu.open .header-cta{display:inline-flex;justify-content:center}.hero .photo{min-height:320px}.hero-photo:before{transform:translate(12px,12px)}.hero-photo:after{display:none}.header-cta,.hero .scroll-hint{display:none}}@media(max-width:560px){.services,.row2{grid-template-columns:1fr}.vw-card figcaption{white-space:normal;max-width:calc(100% - 24px)}.hero h1{font-size:clamp(1.85rem,8vw,2.4rem)}.hero p.lead{font-size:1.04rem;max-width:100%}.wrap.hero-grid{padding-block:48px 56px}.hero p.lead{margin:18px 0 28px}.hero-meta{flex-direction:column;gap:0;margin-top:30px;width:100%}.hero-meta div{padding:14px 0;border-bottom:1px solid var(--line)}.hero-meta div:first-child{border-top:1px solid var(--line)}.hero-meta b{font-size:1.18rem;margin-bottom:3px}.foot-bottom{flex-direction:column;align-items:center;text-align:center}.foot-bottom .slogan{letter-spacing:.04em;font-size:.72rem;flex-wrap:wrap;justify-content:center;max-width:100%}.wrap{padding:0 20px}section.block{padding:60px 0}.form-card,.info-card,.specialty{padding:28px}}
