:root{--brand-id:"hopperlabs";--ground:#faf8f2;--surface:#fff;--well:#f2f0e5;--well-strong:#e6e8db;--ink:#1b2621;--muted:#5f6a62;--rule:#e2e3d9;--brand:#21483b;--brand-deep:#16372a;--wordmark:#224033;--sage:#84927a;--sage-light:#a9b89c;--action:#21483b;--action-hover:#16372a;--action-ink:#fff;--link:#21483b;--focus:#21483b;--night:#0f1613;--on-night:#f4f3ec;--danger:#9f3a2b;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--mono:ui-monospace, SFMono-Regular, Menlo, monospace;--display:var(--sans);--radius-card:14px;--radius-control:10px;--radius-pill:999px;--enter:.16s;--rise:4px;--state:.14s;--ease:ease-out;--settle:cubic-bezier(.2, .7, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--ground:#0f1613;--surface:#16201c;--well:#121b17;--well-strong:#1b2722;--ink:#edf1ec;--muted:#a3ada5;--rule:#26332d;--brand:#b8d4c2;--brand-deep:#d6e6db;--wordmark:#d6e6db;--sage:#84927a;--sage-light:#a9b89c;--action:#b8d4c2;--action-hover:#d6e6db;--action-ink:#0f1613;--link:#b8d4c2;--focus:#b8d4c2;--night:#0b100e;--on-night:#f4f3ec;--danger:#e59a8c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html{background:var(--ground);color:var(--ink);font-family:var(--sans);font-synthesis:none}@view-transition{navigation:auto}.brand-header{view-transition-name:brand-header}::view-transition-old(root){animation-duration:var(--enter);animation-timing-function:var(--ease)}::view-transition-new(root){animation-duration:var(--enter);animation-timing-function:var(--ease)}::view-transition-group(*){animation:none}::view-transition-old(brand-header){animation:none}::view-transition-new(brand-header){animation:none}@keyframes brand-rise{0%{transform:translateY(var(--rise))}}@keyframes brand-appear{0%{opacity:0;transform:translateY(-5px)}}.brand-wordmark{font:800 18px/1.1 var(--sans);letter-spacing:-.045em;color:var(--wordmark);white-space:nowrap;text-decoration:none}.brand-wordmark .brand-ai{color:var(--wordmark)}.brand-wordmark .brand-product{color:var(--muted);letter-spacing:-.02em;margin-left:5px;font-weight:500}.brand-eyebrow{font:700 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--link)}.brand-headline{font:800 clamp(34px,4.8vw,56px)/1.02 var(--sans);letter-spacing:-.05em}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-size:17px;line-height:1.55;font-family:var(--sans);margin:0}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}img{max-width:100%;display:block}h1,h2,h3,p,ul,ol{margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.quiet{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.page{flex-direction:column;min-height:100vh;display:flex}main{width:100%;max-width:1120px;animation:brand-rise var(--enter) var(--ease) both;flex:1;margin:0 auto;padding:24px 16px 56px}.masthead{border-bottom:1px solid var(--rule);background:var(--ground);z-index:2;align-items:baseline;gap:20px;padding:14px 16px;display:flex;position:sticky;top:0}.masthead nav{white-space:nowrap;scrollbar-width:none;flex:1;gap:18px;font-size:15px;display:flex;overflow-x:auto}.masthead nav a{color:var(--muted);padding-bottom:2px;text-decoration:none}.masthead nav a[aria-current=page]{color:var(--ink);border-bottom:2px solid var(--brand)}.masthead nav a.masthead-act{color:var(--brand);margin-left:auto;font-weight:600}.headline{border-top:1px solid var(--rule);padding:14px 0}.headline h2,.headline h3{font-family:var(--sans);letter-spacing:-.03em;line-height:1.1}.headline a{text-decoration:none}.headline a:hover{text-decoration:underline}.headline.lead{border-top:0;padding:8px 0 24px}.headline.lead h2{letter-spacing:-.045em;max-width:22ch;font-size:clamp(32px,5vw,58px);font-weight:800}.headline.matters h3{font-size:clamp(21px,2.4vw,27px);font-weight:700}.headline.rest h3{font-size:18px;font-weight:600}.dek{color:var(--muted);max-width:62ch;margin-top:8px;font-size:17px}.headline.lead .dek{font-size:clamp(18px,1.6vw,21px)}.byline{color:var(--muted);margin-top:10px;font-size:14px}.reading{max-width:68ch;margin-left:auto;margin-right:auto}.reader header.reading h1,.section h1,.about h1,.dossier h1{letter-spacing:-.045em;margin-top:6px;font-size:clamp(30px,4.4vw,48px);font-weight:800;line-height:1.05}.body{margin-top:28px;font-size:18px;line-height:1.65}.body h2{letter-spacing:-.03em;margin:36px 0 10px;font-size:24px;font-weight:700}.body p,.body ul,.body ol,.body table{margin:0 0 18px}.body ul,.body ol{padding-left:1.3em}.body li{margin-bottom:6px}.body blockquote{border-left:3px solid var(--brand);background:var(--well);border-radius:0 var(--radius-control) var(--radius-control) 0;margin:24px 0;padding:14px 18px}.body blockquote p{margin:0}.body table{border-collapse:collapse;width:100%;font-size:16px}.body th,.body td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:8px 10px}.body th{color:var(--muted);font-weight:600}.sources{border-top:1px solid var(--rule);margin-top:40px;padding-top:18px;font-size:15px}.sources h2,.next h2,.request h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:15px;font-weight:700}.sources ul{margin-top:8px;padding:0;list-style:none}.sources li{padding:4px 0}.next{max-width:68ch;margin:44px auto 0}.next .headline:first-of-type{border-top:0}.section .ranked,.front .ranked{margin-top:20px}.standing{color:var(--muted);padding:14px 0}.request{border-top:1px solid var(--rule);margin-top:48px;padding-top:20px}.field{flex-direction:column;gap:6px;margin-top:14px;font-size:15px;display:flex}.field input,.field select,.field textarea{font:inherit;border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:10px 12px}.field.consent label{color:var(--muted);align-items:flex-start;gap:10px;display:flex}.field button{font:inherit;border-radius:var(--radius-pill);background:var(--action);color:var(--action-ink);transition:background var(--settle) var(--ease);border:0;align-self:flex-start;padding:10px 18px;font-weight:600}.field button:hover{background:var(--action-hover)}.foot{border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:10px 22px;width:100%;max-width:1120px;margin:0 auto;padding:22px 16px 40px;font-size:14px;display:flex}.foot a{text-decoration:none}.foot small{flex-basis:100%;font-size:13px}.source{margin-top:26px}.source h2{letter-spacing:-.02em;font-size:20px;font-weight:700}.source p{margin-top:6px;font-size:16px}@media (width<=600px){body{font-size:16px}main{padding:18px 16px 40px}.masthead{gap:14px;padding:12px 16px}.masthead nav{gap:14px;font-size:14px}.body{font-size:17px}}.front.lab .headline.lead h2{letter-spacing:-.035em;max-width:24ch;font-weight:700}.front.lab .loop{background:var(--well);border-radius:var(--radius-card);counter-reset:step;flex-wrap:wrap;gap:8px 0;margin:8px 0 20px;padding:14px 18px;list-style:none;display:flex}.front.lab .loop li{counter-increment:step;align-items:center;font-size:15px;font-weight:600;display:flex}.front.lab .loop li:before{content:counter(step);background:var(--brand);width:22px;height:22px;color:var(--on-night);border-radius:50%;place-items:center;margin-right:8px;font-size:12px;font-weight:700;display:inline-grid}.front.lab .loop li:not(:last-child):after{content:"";background:var(--rule);width:28px;height:1px;margin:0 12px}.front.lab .ranked{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;display:grid}.front.lab .ranked .headline.matters{grid-column:span 1}.headline.matters h3,.headline.rest h3{font-weight:600}.reader header.reading .brand-eyebrow{background:var(--well);border-radius:var(--radius-pill);padding:4px 10px;display:inline-block}@media (width<=760px){.front.lab .ranked{grid-template-columns:1fr}.front.lab .loop li:not(:last-child):after{width:14px;margin:0 8px}}
