:root{--ink:#0f1b33;--red:#d4303c;--redt:#b3222d;--blue:#1561b8;--sky:#27a3dc;--mist:#f3f5f9;--line:#dde3ee;--muted:#55627a;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;font:400 1.0625rem/1.65 "Public Sans",system-ui,sans-serif;color:var(--ink);background:#fff}
h1,h2,h3{font-family:Newsreader,Georgia,serif;font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,6vw,4.4rem)}h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}h3{font-size:1.45rem}
a{color:var(--blue)}:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding:0 1.25rem}.narrow{max-width:780px}.small{font-size:.9rem;color:var(--muted)}.muted{color:var(--muted);margin:0}
.btn{display:inline-block;background:var(--red);color:#fff;border:2px solid var(--red);padding:.7rem 1.4rem;border-radius:var(--r);font:600 1rem "Public Sans",sans-serif;text-decoration:none;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s,border-color .2s}
.btn:hover{background:var(--redt);border-color:var(--redt);box-shadow:0 10px 24px rgba(212,48,60,.3)}.btn:active{transform:scale(.97)}.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:none}.btn.sm{padding:.45rem 1rem}.btn.busy{pointer-events:none;opacity:.7}
.progress{position:fixed;top:0;left:0;width:100%;height:3px;z-index:40;background:linear-gradient(90deg,var(--red),var(--blue));transform-origin:0 50%;transform:scaleX(var(--p,0))}
.top{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);transition:box-shadow .3s}.top.scrolled{box-shadow:0 8px 28px rgba(15,27,51,.1)}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:80px;transition:min-height .3s}.top.scrolled .bar{min-height:64px}.brand img{display:block;height:56px;width:auto;transition:height .3s}.top.scrolled .brand img{height:44px}
nav{display:flex;align-items:center;gap:1.5rem}nav a:not(.btn){color:var(--ink);text-decoration:none;font-weight:500;position:relative}
nav a:not(.btn)::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:0 50%;transition:transform .3s}nav a:not(.btn):hover::after,nav a.active::after{transform:scaleX(1)}
.burger{display:none;background:none;border:0;padding:.7rem;cursor:pointer}.burger span{display:block;width:24px;height:2px;background:var(--ink);margin:6px 0;transition:transform .3s}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* hero */
.hero{position:relative;overflow:hidden;padding:clamp(2.5rem,6vw,5rem) 0 clamp(3rem,6vw,5.5rem);background:radial-gradient(540px circle at var(--px,20%) var(--py,30%),rgba(39,163,220,.12),transparent 62%)}
.ribbon{position:absolute;right:0;top:0;height:100%;width:60%;pointer-events:none;fill:none;stroke-linecap:round}.ribbon path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s cubic-bezier(.5,0,.2,1) .3s forwards}
.r1{stroke:var(--red);stroke-width:16}.r2{stroke:var(--blue);stroke-width:8;animation-delay:.55s!important}@keyframes draw{to{stroke-dashoffset:0}}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.tag{color:var(--redt);font-weight:600;margin:0 0 .8rem}.lead{font-size:1.2rem;max-width:36em;color:#33415c}.cta{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.8rem}
.js h1 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}.js h1 .w>span{display:inline-block;transform:translateY(105%);animation:rise .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*70ms + 150ms)}@keyframes rise{to{transform:none}}
.js .hero .tag,.js .hero .lead,.js .hero .cta{opacity:0;animation:fadein .8s ease-out .9s forwards}.js .hero .cta{animation-delay:1.05s}.js .tool{opacity:0;animation:slidein .9s cubic-bezier(.2,.8,.2,1) .7s forwards}
@keyframes fadein{to{opacity:1}}@keyframes slidein{from{transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}@keyframes drop{from{opacity:0;transform:translateY(-8px)}}
/* tool */
.tool{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1.6rem;box-shadow:0 24px 60px rgba(15,27,51,.16);transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .2s}
.tool h2{font-size:1.8rem;margin-bottom:.8rem}.seg{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--mist);border-radius:99px;padding:4px;margin-bottom:1rem}
.seg .thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);background:var(--ink);border-radius:99px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.seg.emp .thumb{transform:translateX(100%)}
.seg button{position:relative;z-index:1;background:none;border:0;padding:.55rem;font:600 .95rem "Public Sans",sans-serif;color:var(--ink);cursor:pointer;transition:color .25s}.seg button.on{color:#fff}
.q{font-weight:600;margin:0 0 .5rem}.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{border:1.5px solid var(--line);background:#fff;border-radius:99px;padding:.4rem .9rem;font:500 .92rem "Public Sans",sans-serif;cursor:pointer;color:var(--ink);transition:.15s}.chip:hover{border-color:var(--blue);transform:translateY(-2px)}.chip.on{background:var(--blue);border-color:var(--blue);color:#fff}
.out{position:relative;overflow:hidden;margin-top:1rem;min-height:80px}.out.scanning::after{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,transparent,var(--red),transparent);animation:sweep .6s ease-in-out infinite alternate}@keyframes sweep{to{top:calc(100% - 3px)}}
.lead2{margin:0 0 .8rem;animation:drop .4s ease-out}.tl{list-style:none;margin:0 0 1rem;padding:0 0 0 1.6rem;position:relative}
.tl::before{content:'';position:absolute;left:.45rem;top:.5rem;bottom:.5rem;width:2px;background:linear-gradient(var(--red),var(--blue));transform-origin:0 0;animation:grow .8s ease-out}@keyframes grow{from{transform:scaleY(0)}}
.tl li{position:relative;padding:0 0 .8rem;animation:drop .4s ease-out backwards;animation-delay:calc(var(--i)*120ms + 150ms)}.tl li::before{content:'';position:absolute;left:-1.55rem;top:.5rem;width:.75rem;height:.75rem;border-radius:50%;background:#fff;border:3px solid var(--red)}
.tl b{display:block}.tl span{font-size:.95rem;color:var(--muted)}
/* sections */
.sec{padding:clamp(3.5rem,7vw,6rem) 0}.mist{background:var(--mist)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.4rem;margin-top:1.6rem}
.card,.post{display:block;border:1.5px solid var(--line);border-radius:var(--r);padding:1.6rem;background:#fff;color:inherit;text-decoration:none;transition:border-color .25s,box-shadow .25s,opacity .7s,transform .7s}
.card:hover,.post:hover{border-color:var(--red);box-shadow:0 12px 32px rgba(15,27,51,.1)}.card svg{width:40px;height:40px;fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.2,.8,.2,1)}.card:hover svg{transform:rotate(-10deg) scale(1.15)}
.card p{color:var(--muted);margin:0 0 .8rem}.more{font-weight:600;color:var(--blue);text-decoration:underline;cursor:pointer}.more::after{content:' \2192';display:inline-block;transition:transform .25s}.more:hover::after,.post:hover .more::after{transform:translateX(5px)}
.post{display:flex;flex-direction:column;gap:.4rem}.post strong{font:600 1.4rem/1.2 Newsreader,serif}.meta{color:var(--redt);font-weight:600;font-size:.9rem}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:start}.person{background:var(--ink);color:#fff;border-radius:16px;padding:2rem}.person a{color:#fff}.person h3{margin:.6rem 0 0}.role{color:#f0a0a6;margin:.2rem 0 1rem}
.av{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--red);font:600 1.6rem Newsreader,serif;box-shadow:0 0 0 5px rgba(255,255,255,.15)}
details{border-bottom:1px solid #c5cee0;padding:1rem 0}summary{cursor:pointer;font-weight:600;font-size:1.1rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-size:1.5rem;line-height:1;color:var(--red);transition:transform .3s}details[open] summary::after{transform:rotate(45deg)}details p{margin:.6rem 0 0;color:var(--muted);animation:drop .3s ease-out}
.info{list-style:none;padding:0;margin:1.6rem 0 0}.info li{padding:.8rem 0;border-top:1px solid var(--line)}.info b{display:block;font-size:.9rem;color:var(--redt)}
form label{display:block;font-weight:600;font-size:.95rem;margin-bottom:1rem}.two-in{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
input,select,textarea{width:100%;padding:.7rem .8rem;margin-top:.3rem;border:1.5px solid #b9c4d8;border-radius:8px;font:inherit;background:#fff;color:var(--ink);transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(21,97,184,.18)}
.hp{position:absolute;left:-9999px}.fs{margin:.8rem 0 0;font-weight:500}.fs.ok{color:#176b37}.fs.bad{color:#b42318}.fs.ok,.fs.bad{animation:drop .4s ease-out}
.article h1{font-size:clamp(2.2rem,5vw,3.4rem)}.prose{font-size:1.15rem}.endcta{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:1.2rem}
footer{background:var(--ink);color:#b8c4dc;padding:2.5rem 0}footer p{margin:.3rem 0}footer .small{color:#9aa8c4}.fgrid{display:flex;gap:1.5rem;align-items:center}footer img{height:56px;width:auto;background:#fff;border-radius:6px;padding:4px;transition:transform .5s}footer img:hover{transform:rotate(-5deg) scale(1.06)}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),border-color .25s,box-shadow .25s;transition-delay:calc(var(--d,0)*80ms)}.js .rv.in{opacity:1;transform:none}
@media(max-width:900px){.hero-grid,.two{grid-template-columns:1fr}.ribbon{opacity:.35;width:100%}.burger{display:block}
nav{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.2rem;border-bottom:1px solid var(--line);display:none}nav.open{display:flex;animation:drop .25s ease-out}nav a{padding:.7rem 0}nav a::after{display:none}nav .btn{text-align:center;margin-top:.5rem}.two-in{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv,.js h1 .w>span,.js .hero .tag,.js .hero .lead,.js .hero .cta,.js .tool{opacity:1;transform:none}.ribbon path{stroke-dashoffset:0}.tool{transform:none}}

.wa-ic{display:inline-flex!important;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#25d366;color:#fff!important;margin-bottom:.3rem}.wa-ic svg{width:20px;height:20px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.28);transition:transform .2s,box-shadow .2s}.wa-float svg{width:32px;height:32px}.wa-float:hover{transform:scale(1.08);box-shadow:0 10px 24px rgba(0,0,0,.35)}
@media(max-width:600px){.wa-float{right:14px;bottom:14px;width:54px;height:54px}}
