:root{--background:#f8fafc;--foreground:#1b2a41;--card:#fff;--primary:#264164;--primary-foreground:#fff;--accent:#2b5ea1;--muted:#f1f4f9;--muted-foreground:#5a687c;--border:#dee4ed;--secondary:#ecf1f9;--ring:#386094;--radius:.85rem;--shadow-soft:0 8px 28px hsl(var(--foreground) / .07);--shadow-elevated:0 18px 50px hsl(var(--foreground) / .08);--ink:var(--foreground);--ink-soft:#394960;--muted-text:var(--muted-foreground);--paper:var(--background);--surface:var(--card);--line:var(--border);--font-body:"Manrope", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-head:"Manrope", ui-sans-serif, system-ui, sans-serif;--max:1180px;--gutter:1.25rem;--ease:cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:1.0625rem;line-height:1.65}img,svg{max-width:100%;display:block}a{color:var(--accent);text-underline-offset:.2em}h1,h2,h3{font-family:var(--font-head);letter-spacing:-.02em;color:var(--ink);margin:0 0 .6em;font-weight:700;line-height:1.12}h1{font-size:clamp(2.4rem,5.2vw,4.4rem)}h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}h3{font-size:1.2rem}p{color:var(--ink-soft);margin:0 0 1em}ul{color:var(--ink-soft);margin:0 0 1em;padding-left:1.2em}.container{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.section{padding:clamp(3.5rem,7vw,6rem) 0}.section--tinted{background:var(--secondary);border-block:1px solid var(--line)}.eyebrow{font-family:var(--font-mono);color:var(--primary);border-left:2px solid var(--accent);margin:0 0 1rem;padding-left:.85rem;font-size:.9rem;font-weight:500}.lead{color:var(--ink-soft);max-width:44rem;font-size:1.2rem}.button{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary);transition:background .25s var(--ease), border-color .25s var(--ease);border-radius:3px;padding:.8rem 1.4rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-block}.button:hover{background:var(--accent);border-color:var(--accent)}.button--ghost{color:var(--primary);border-color:var(--primary);background:0 0}.button--ghost:hover{background:var(--primary);color:var(--primary-foreground)}.button-row{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=720px){.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}}.card{background:var(--card);border:1px solid var(--border);border-radius:6px;flex-direction:column;padding:1.6rem;display:flex}.card h3{margin-bottom:.45em}.card p{margin-bottom:.75em}.card__link{font-weight:600;font-family:var(--font-mono);margin-top:auto;font-size:.9rem;text-decoration:none}.skip-link{position:absolute;top:0;left:-999px}.skip-link:focus{left:var(--gutter);top:var(--gutter);background:var(--card);z-index:10;padding:.5rem 1rem}:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.prose h2{margin-top:2.2em}.prose h3{margin-top:1.6em;font-size:1.15rem}.prose ul{margin-top:.4em}.note{border-left:3px solid var(--accent);background:var(--card);color:var(--ink-soft);margin:1.5rem 0;padding:.75rem 1rem}.js [data-reveal]{opacity:0;transition:opacity .9s var(--ease), transform .9s var(--ease);transform:translateY(14px)}.js [data-reveal].is-in{opacity:1;transform:none}.card{transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease)}@media (hover:hover){.card:hover{box-shadow:var(--shadow-soft);border-color:#b8c9e0;transform:translateY(-2px)}}.js .hero-photo{animation:hero-reveal 1.6s var(--ease) both}@keyframes hero-reveal{0%{transform:scale(1.045)}to{transform:scale(1)}}.logo-band{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.logo-band__track{align-items:center;gap:3.5rem;width:max-content;padding-block:1rem;display:flex}.logo-band.is-running{display:flex}.logo-band.is-running .logo-band__track{animation:60s linear infinite logo-scroll}.logo-band.is-running:hover .logo-band__track{animation-play-state:paused}@keyframes logo-scroll{0%{transform:translate(0)}to{transform:translate(-100%)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}.logo-band__track{animation:none!important}}.intro+.section{padding-top:0}.button{letter-spacing:.005em;transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);border-radius:999px;align-items:center;gap:.55rem;padding:.8rem 1.5rem;font-size:.95rem;font-weight:600;display:inline-flex;box-shadow:0 8px 20px #26416438}.button:after{content:"→";transition:transform .25s var(--ease);font-size:1rem;line-height:1}.button:hover{transform:translateY(-1px);box-shadow:0 12px 26px #26416447}.button:hover:after{transform:translate(3px)}.button--ghost{background:var(--card);color:var(--primary);border:1px solid #0000;box-shadow:0 2px 12px #1b2a4114}.button--ghost:hover{background:var(--card);color:var(--accent);background:var(--card);box-shadow:0 10px 22px #1b2a411f}.button-row{gap:.9rem}.js .hero h1,.js .hero .eyebrow,.js .hero .lead,.js .hero .button-row{animation:rise .9s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.js .hero .eyebrow{animation-delay:50ms}.js .hero .lead{animation-delay:.2s}.js .hero .button-row{animation-delay:.32s}.js .hero__card{animation:rise 1s var(--ease) .25s both, float 7s ease-in-out 1.3s infinite}.pill,.button{isolation:isolate;position:relative;overflow:hidden}.pill:before,.button:before{content:"";transition:transform .7s var(--ease);z-index:-1;background:linear-gradient(110deg,#0000 30%,#ffffff38 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.pill:hover:before,.button:hover:before{transform:translate(120%)}.icon-dot{transition:transform .45s var(--ease), background .3s var(--ease)}.card:hover .icon-dot{background:#2b5ea124;transform:translateY(-2px)rotate(-6deg)}.site-header{transition:box-shadow .35s var(--ease)}.site-header.is-scrolled{box-shadow:0 10px 30px -18px #1b2a4159}@media (prefers-reduced-motion:reduce){.js .hero h1,.js .hero .eyebrow,.js .hero .lead,.js .hero .button-row,.js .hero__card{animation:none!important}.pill:before,.button:before{display:none}}.site-footer{background:var(--card);border-top:1px solid var(--border);color:var(--ink-soft);margin-top:3rem;position:relative}.site-footer__bar{background:linear-gradient(90deg, var(--primary) 0 33%, var(--accent) 33% 66%, var(--border) 66% 100%);height:4px}.site-footer__main{grid-template-columns:1fr;gap:2.5rem;padding-block:clamp(2.5rem,5vw,3.5rem);display:grid}@media (width>=720px){.site-footer__main{grid-template-columns:1.3fr 1fr 1fr 1.2fr}}.site-footer__logo{width:auto;height:56px;margin-bottom:1rem}.site-footer__tagline{color:var(--muted-foreground);max-width:22rem;margin:0 0 1.2rem;font-size:.97rem}.site-footer__social{background:var(--secondary);color:var(--primary);transition:background .25s var(--ease), transform .25s var(--ease);border-radius:999px;align-items:center;gap:.55rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.site-footer__social svg{fill:currentColor;width:16px;height:16px}.site-footer__social:hover{background:var(--primary);color:var(--primary-foreground);transform:translateY(-1px)}.site-footer__title{font-family:var(--font-mono);color:var(--primary);margin:0 0 1rem;font-size:.85rem}.site-footer__col ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.site-footer__col a{color:var(--ink-soft);transition:color .25s var(--ease), transform .25s var(--ease);text-decoration:none;display:inline-block;position:relative}.site-footer__col a:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .35s var(--ease);position:absolute;bottom:-2px;left:0;right:0;transform:scaleX(0)}.site-footer__col a:hover{color:var(--accent);transform:translate(3px)}.site-footer__col a:hover:after{transform:scaleX(1)}.site-footer__contact address{color:var(--muted-foreground);margin-bottom:1rem;font-style:normal;line-height:1.6}.site-footer__mail{background:var(--secondary);color:var(--primary);transition:background .25s var(--ease), transform .25s var(--ease);border-radius:999px;align-items:center;gap:.55rem;padding:.6rem 1.1rem;font-weight:600;text-decoration:none;display:inline-flex}.site-footer__mail svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.site-footer__mail:hover{background:var(--primary);color:var(--primary-foreground);transform:translateY(-1px)}.site-footer__bottom{border-top:1px solid var(--border);color:var(--muted-foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding-block:1.2rem;font-size:.9rem;display:flex}.site-footer__bottom p{margin:0}.site-footer__legal{gap:1.2rem;display:flex}.site-footer__legal a{color:var(--muted-foreground);text-decoration:none}.site-footer__legal a:hover{color:var(--accent)}.site-footer__top{background:var(--card);color:var(--primary);transition:transform .25s var(--ease), box-shadow .25s var(--ease);border-radius:999px;align-items:center;gap:.45rem;padding:.5rem .9rem;font-weight:600;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px #1b2a4114}.site-footer__top svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.site-footer__top:hover{transform:translateY(-2px);box-shadow:0 12px 24px #1b2a4124}@media (prefers-reduced-motion:reduce){.site-footer__col a:hover,.site-footer__social:hover,.site-footer__mail:hover,.site-footer__top:hover{transform:none}}.legal__grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=900px){.legal__grid{grid-template-columns:repeat(2,1fr)}}.legal__card{padding:1.8rem;display:block}.legal__title{border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:.7rem;font-size:1.15rem}.legal__rows{gap:.9rem;margin:0;display:grid}.legal__pair{gap:.15rem;display:grid}.legal__pair dt{font-family:var(--font-mono);color:var(--muted-foreground);font-size:.8rem}.legal__pair dd{color:var(--ink);margin:0;font-weight:600}.legal__pair dd a{color:var(--accent);border-bottom:1px solid var(--border);text-decoration:none}.legal__item p{color:var(--ink-soft);margin:0;line-height:1.6}.legal__item--bullet span{color:var(--ink-soft);padding-left:1.1rem;line-height:1.55;display:block;position:relative}.legal__item--bullet span:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:.65em;left:0}.header-actions{align-items:center;gap:.75rem;display:flex}.lang-switch{border:1px solid var(--border);background:var(--card);min-width:2.6rem;height:2.2rem;color:var(--muted-foreground);font-family:var(--font-mono);letter-spacing:.04em;transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);border-radius:999px;justify-content:center;align-items:center;padding:0 .7rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.lang-switch:hover{color:var(--primary);background:var(--secondary);border-color:#b8c9e0}.translation-note{color:var(--muted-foreground);border-left:2px solid var(--accent);margin:0 0 2rem;padding:.25rem .8rem;font-size:.9rem;display:inline-block}.site-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:5;position:sticky;top:0}.site-header__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.brand{display:block}.brand img{width:auto;height:3.6rem;display:block}.nav-list{flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.nav-list a{color:var(--ink-soft);border-bottom:2px solid #0000;padding:.25rem 0;text-decoration:none}.nav-list a:hover,.nav-list a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.header-cta{padding:.55rem 1rem;font-size:.95rem}@media (width<=719px){.site-header__inner{padding-block:.75rem}.brand img{height:3rem}.site-header__inner>nav{order:3;width:100%}.nav-list{gap:.25rem 1.1rem;font-size:.95rem}.header-actions{margin-left:auto}}.cookie-banner{z-index:50;background:var(--card);border:1px solid var(--border);opacity:0;max-width:760px;transition:opacity .35s var(--ease), transform .35s var(--ease);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 1.5rem;margin:0 auto;padding:1.1rem 1.3rem;display:flex;position:fixed;bottom:1rem;left:1rem;right:1rem;transform:translateY(12px);box-shadow:0 18px 50px #1b2a4129}.cookie-banner[hidden]{display:none}.cookie-banner.is-open{opacity:1;transform:none}.cookie-banner__text{color:var(--ink-soft);flex:320px;margin:0;font-size:.9rem;line-height:1.5}.cookie-banner__text a{color:var(--accent);white-space:nowrap}.cookie-banner__actions{flex:none;gap:.6rem;display:flex}.cookie-banner__btn{font:inherit;cursor:pointer;transition:background .25s var(--ease), color .25s var(--ease);border-radius:999px;padding:.6rem 1.05rem;font-size:.88rem;font-weight:600}.cookie-banner__btn--ghost{background:var(--card);color:var(--primary);border:1px solid var(--border)}.cookie-banner__btn--ghost:hover{background:var(--secondary)}.cookie-banner__btn--primary{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary)}.cookie-banner__btn--primary:hover{background:var(--accent);border-color:var(--accent)}@media (prefers-reduced-motion:reduce){.cookie-banner{transition:none}}
