*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button{cursor:pointer}a:hover{color:var(--accent)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(40px,6vw,78px);line-height:1.02;letter-spacing:-.055em;max-width:15ch}h2{font-size:clamp(28px,3.5vw,43px);line-height:1.15;letter-spacing:-.035em}h3{font-size:22px;line-height:1.3;letter-spacing:-.02em}p{max-width:74ch}img,svg{max-width:100%}small,.small{font-size:13px;line-height:1.5}.muted{color:var(--muted)}.wrap{max-width:1240px;margin:auto;padding:0 40px}.skip{position:fixed;top:-100px;left:12px;background:var(--ink);color:var(--bg);padding:12px;z-index:100}.skip:focus{top:12px}.brand{font-weight:800;text-decoration:none;letter-spacing:-.04em;font-size:23px;display:flex;align-items:center;gap:10px}.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;background:var(--accent);color:var(--bg);font:800 20px/1 monospace;border-radius:6px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 0;border-bottom:1px solid var(--line)}nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600;flex-wrap:wrap}nav a{text-decoration:none}.button,button.primary{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:#fff!important;border:1px solid var(--accent);border-radius:6px;padding:12px 20px;text-decoration:none;font-weight:650;line-height:1.35}.button.secondary{color:var(--ink)!important;background:transparent;border-color:var(--line)}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:24px 0}.tag{display:inline-block;border:1px solid var(--line);border-radius:100px;padding:4px 10px;font-size:12px;font-weight:600}.lead{font-size:20px;line-height:1.6;color:var(--muted);max-width:53ch}.section{padding:72px 0;border-top:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}.section-head p{max-width:47ch;margin-bottom:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:44px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.panel{background:var(--panel);border:1px solid var(--line);padding:28px;border-radius:10px}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;padding:17px 18px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:650;background:var(--panel);white-space:nowrap}td.num{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}tr:last-child td{border-bottom:0}td a{font-weight:650}td small{display:block;color:var(--muted)}.toolbar{display:flex;gap:16px;margin-bottom:18px;align-items:end;flex-wrap:wrap}label{display:block;font-size:14px;font-weight:650}input,select,textarea{display:block;width:100%;padding:12px;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:5px;margin-top:7px}input[type=search]{min-width:230px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reading-list{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.story{padding:25px 0;border-top:1px solid var(--line)}.story h3{margin:8px 0 12px}.story h3 a{text-decoration:none}.story p{color:var(--muted);font-size:15px}.story .category{font-size:13px;color:var(--accent)}.callout{padding:38px;background:var(--panel);border-left:4px solid var(--accent);margin:28px 0}.callout h2{font-size:32px}.facts{display:flex;flex-wrap:wrap;gap:25px;font-size:13px}.facts strong{font-size:23px;display:block;letter-spacing:-.03em}.faq{max-width:880px}details{padding:20px 0;border-bottom:1px solid var(--line)}summary{font-weight:650;cursor:pointer}details p{margin:16px 0 0;color:var(--muted)}footer{border-top:1px solid var(--line);margin-top:60px;padding:38px 0 25px;font-size:13px;color:var(--muted)}footer .footlinks{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px}footer p{max-width:95ch}code{font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}pre{position:relative;background:var(--code);color:var(--codeink);padding:26px;border-radius:6px;overflow:auto;font-size:13px;line-height:1.7}pre code{white-space:pre;overflow-wrap:normal}.copy{float:right;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:4px;font-size:12px;padding:6px 10px}.breadcrumb{font-size:13px;color:var(--muted);margin:32px 0}.article-header{max-width:950px;padding:20px 0 40px}.article-header h1{font-size:clamp(35px,4.5vw,58px);max-width:24ch;line-height:1.1}.article-header .lead{max-width:70ch}.article-grid{display:grid;grid-template-columns:minmax(0,760px) 240px;gap:70px;align-items:start}.prose{min-width:0}.prose h2{font-size:29px;margin-top:42px}.prose h3{margin-top:30px}.prose p,.prose li{line-height:1.8}.prose li{margin-bottom:10px}.prose table{margin:24px 0}.prose pre{max-width:100%}.toc{position:sticky;top:24px;border-left:1px solid var(--line);padding-left:20px;font-size:13px}.toc a{display:block;text-decoration:none;margin:12px 0}.sources{font-size:14px;border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.sources li{margin:8px 0}.error{color:#af243d;font-size:14px}.hidden,[hidden]{display:none!important}.disclosure{font-size:12px;color:var(--muted)}.empty{padding:30px;text-align:center}.result{font-size:50px;font-weight:750;letter-spacing:-.05em;line-height:1.1;margin:22px 0 8px}.result small{font-size:15px;font-weight:400;letter-spacing:0}.linkline{font-size:14px;font-weight:650}.inline-code{padding:3px 6px;background:var(--panel);border:1px solid var(--line);border-radius:4px}
/* The buying desk */
.provider{--bg:#fff;--ink:#10254f;--muted:#586981;--accent:#1748ed;--panel:#f2f5fc;--line:#d9e1ee;--code:#10254f;--codeink:#f0f4ff}.provider .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:65px;align-items:center;padding:80px 0}.provider .hero h1{font-size:clamp(46px,5.4vw,74px)}.provider .offer{background:#1748ed;color:#fff;border-radius:12px;padding:36px;position:relative;box-shadow:14px 14px 0 #e6edff}.provider .offer h2{font-size:29px;max-width:17ch}.provider .offer table th,.provider .offer table td{background:transparent;color:#fff;border-color:#577cf2;padding:16px 0}.provider .offer .price{font-size:36px;font-weight:750;line-height:1.2;letter-spacing:-.04em}.provider .offer .old{text-decoration:line-through;opacity:.7;font-size:20px}.provider .offer a{color:#fff}.provider .offer .saving{display:inline-block;background:white;color:#1748ed;padding:5px 10px;border-radius:3px;font-weight:750;margin:12px 0}.provider .stripe{background:#eef3ff;padding:22px 28px;display:flex;justify-content:space-between;gap:25px;border-radius:8px}.provider .stripe p{margin:0}.provider .calc{display:grid;grid-template-columns:1.2fr .8fr;gap:34px}.provider .calc-result{background:var(--ink);color:white;padding:30px;border-radius:7px}.provider .calc-result .muted{color:#bfcbde}.provider .featured-row{background:#f0f4ff}
/* The editorial field guide */
.editorial{--bg:#fffaf0;--ink:#29252a;--muted:#6e6266;--accent:#691d3a;--panel:#f3e9e7;--line:#d8c7c8;--code:#392732;--codeink:#fff5f6}.editorial .wrap{max-width:1200px}.editorial .topbar{display:block;text-align:center;border-bottom:3px double var(--accent);padding:25px 0 18px}.editorial .brand{font-family:Georgia,serif;font-size:34px;justify-content:center;letter-spacing:-.055em}.editorial .brand-mark{display:none}.editorial nav{justify-content:center;margin-top:16px;font-weight:500}.editorial h1,.editorial h2,.editorial h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.055em}.editorial .edition{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0}.editorial .hero{padding:50px 0 58px;display:grid;grid-template-columns:1.35fr .65fr;gap:65px;align-items:center}.editorial h1{font-size:clamp(50px,7vw,91px);line-height:1.01;max-width:13ch}.editorial .hero p{font-family:Georgia,serif;font-size:21px;line-height:1.6}.editorial .feature-sheet{background:var(--accent);color:#fffaf0;padding:35px 30px;border-radius:45% 45% 5px 5px;text-align:center;min-height:410px;display:flex;flex-direction:column;justify-content:center}.editorial .feature-sheet h2{font-size:45px;margin:22px auto;max-width:9ch}.editorial .feature-sheet p{font-size:16px}.editorial .feature-sheet a{color:#fff}.editorial .feature-sheet .orb{font-family:Georgia,serif;font-size:66px;line-height:1}.editorial .reading-list{grid-template-columns:1.2fr 1fr;gap:0 45px}.editorial .story h3{font-size:32px}.editorial .story p{font-family:Georgia,serif;font-size:17px}.editorial .section{padding:55px 0}.editorial .button{border-radius:0}.editorial .chooser{display:grid;grid-template-columns:1fr 1fr;background:#f0dfdf;gap:35px;padding:35px}.editorial .choice-result{border-left:1px solid #bba0a8;padding-left:35px}.editorial .prose{font-family:Georgia,serif;font-size:18px}.editorial .prose h2{font-size:33px}.editorial .toc{font-family:system-ui,sans-serif}.editorial .article-header h1{max-width:22ch;font-size:clamp(40px,5vw,64px)}
/* The model observatory */
.observatory{--bg:#182025;--ink:#e4eced;--muted:#a7b4bb;--accent:#ffbe50;--panel:#202b31;--line:#3d4c53;--code:#111a20;--codeink:#e4eced}.observatory .wrap{max-width:1320px}.observatory .brand-mark{color:#182025}.observatory .button{background:var(--accent);color:#182025!important;border-radius:3px}.observatory .button.secondary{background:transparent;color:var(--ink)!important}.observatory .hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:65px 0 45px;align-items:center}.observatory .hero h1{font-size:clamp(42px,5vw,66px);max-width:15ch;letter-spacing:-.045em}.observatory .signal{padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:3px}.observatory .signal-head{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin-bottom:25px}.observatory .signal-row{display:grid;grid-template-columns:110px 1fr 55px;gap:10px;align-items:center;margin:22px 0;font-size:12px}.observatory .bar{height:10px;background:#35434a;border-radius:2px;overflow:hidden}.observatory .bar i{height:100%;display:block;background:var(--accent)}.observatory .signal-row b{font-family:monospace;font-size:14px;text-align:right}.observatory .status{display:inline-block;color:#ffcf79;font-size:12px;border:1px solid #665336;padding:3px 8px;border-radius:2px}.observatory .data-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:40px}.observatory .data-rail{padding-top:15px;font-size:14px}.observatory .data-rail h3{font-size:19px}.observatory .data-rail p{color:var(--muted);font-size:13px}.observatory .dossiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.observatory .dossier{background:var(--panel);padding:28px 25px}.observatory .dossier h3{font-size:25px;min-height:66px}.observatory .dossier dl{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.observatory dt{font-size:12px;color:var(--muted)}.observatory dd{margin:2px 0;font-size:20px;font-weight:650}.observatory .reading-list{display:block}.observatory .tag{border-radius:3px}.observatory .article-header{padding-bottom:24px}.observatory .data-note{font-size:13px;color:var(--muted);margin-top:18px}
/* The integration lab */
.lab{--bg:#fff;--ink:#153b3b;--muted:#577373;--accent:#006c67;--panel:#eaf7f3;--line:#cde0db;--code:#123d3c;--codeink:#effffb}.lab .wrap{max-width:1400px;padding:0 30px}.lab .lab-shell{display:grid;grid-template-columns:225px minmax(0,1fr);gap:45px}.lab .side{padding:30px 20px 30px 0;border-right:1px solid var(--line);font-size:14px;position:sticky;top:0;align-self:start;max-height:100vh;overflow:auto}.lab .side .brand{font-size:20px;margin-bottom:35px}.lab .side a:not(.brand){display:block;margin:5px 0;padding:8px;border-radius:4px;text-decoration:none}.lab .side a:hover{background:var(--panel)}.lab .side strong{display:block;font-size:12px;color:var(--muted);margin:25px 8px 8px}.lab .main{min-width:0}.lab .topbar{justify-content:space-between;padding:22px 0;font-size:13px}.lab .hero{padding:50px 0 32px}.lab h1{font-size:clamp(40px,5vw,64px);max-width:17ch}.lab .builder{display:grid;grid-template-columns:240px minmax(0,1fr);border:1px solid var(--line);border-radius:8px;overflow:hidden}.lab .builder-form{padding:24px;background:var(--panel)}.lab .builder-form label{margin-bottom:20px}.lab .builder-code{background:var(--code);padding:20px;color:var(--codeink);min-width:0}.lab .builder-code pre{padding:8px 0;margin:10px 0;min-height:270px}.lab .builder-code button{background:transparent;color:#fff;border-color:#729b93}.lab .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.lab .step-number{border-radius:50%;background:var(--panel);color:var(--accent);width:34px;height:34px;display:grid;place-items:center;font-weight:750;margin-bottom:18px}.lab .steps p{font-size:14px}.lab .article-grid{grid-template-columns:minmax(0,1fr);gap:20px}.lab .toc{position:static;display:flex;gap:12px;flex-wrap:wrap;grid-row:1;padding:12px 0;border-left:0;border-bottom:1px solid var(--line)}.lab .toc strong{width:100%}.lab .toc a{margin:0}.lab .article-header h1{font-size:clamp(36px,4vw,52px)}.lab .reading-list{gap:0 24px}.lab .section{padding:48px 0}
@media(max-width:950px){.wrap{padding:0 24px}.topbar{gap:15px;align-items:start}nav{gap:14px}.hero,.provider .hero,.editorial .hero,.observatory .hero{gap:30px}h1{font-size:54px}.article-grid{grid-template-columns:minmax(0,1fr) 180px;gap:30px}.lab .lab-shell{grid-template-columns:185px minmax(0,1fr);gap:24px}.lab .builder{grid-template-columns:1fr}.lab .builder-form{display:flex;gap:18px}.lab .builder-form label{flex:1}.observatory .data-layout{grid-template-columns:1fr}.observatory .data-rail{display:flex;gap:25px;flex-wrap:wrap}.observatory .dossiers{grid-template-columns:1fr 1fr 1fr}.editorial .feature-sheet{padding:28px 20px}}
@media(max-width:700px){.wrap,.lab .wrap{padding:0 20px}.topbar{display:block}.topbar nav{margin-top:18px;font-size:13px}.brand{font-size:21px}.provider .hero,.editorial .hero,.observatory .hero{grid-template-columns:1fr;padding:42px 0;gap:30px}h1,.provider .hero h1{font-size:48px}.editorial h1{font-size:62px}.editorial .hero h1{max-width:14ch}.lead{font-size:18px}.section{padding:44px 0}.section-head{display:block}.grid2,.grid3,.reading-list,.provider .calc,.editorial .reading-list,.editorial .chooser{grid-template-columns:1fr;gap:22px}.section-head p{margin-top:15px}.provider .offer{padding:27px;margin-right:9px}.provider .stripe{display:block}.provider .stripe p+p{margin-top:16px}.article-grid{display:flex;flex-direction:column;gap:25px}.toc{position:static;order:-1;width:100%}.article-header{padding-top:10px}.article-header h1{font-size:36px}.prose h2{font-size:26px}.callout{padding:25px}.editorial .edition{font-size:11px;gap:15px}.editorial .brand{font-size:29px}.editorial .feature-sheet{min-height:300px;border-radius:130px 130px 5px 5px}.editorial .feature-sheet h2{max-width:14ch}.editorial .choice-result{border-left:0;border-top:1px solid #bba0a8;padding:24px 0 0}.observatory .dossiers{grid-template-columns:1fr}.observatory .dossier h3{min-height:0}.observatory .dossier dl{grid-template-columns:repeat(3,1fr)}.observatory .hero h1{font-size:47px}.observatory .signal-row{grid-template-columns:105px 1fr 50px}.lab .lab-shell{display:block}.lab .side{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line);padding:18px 0}.lab .side .brand{margin:0}.lab .side .side-links{display:none}.lab .topbar{display:flex;gap:14px}.lab .topbar nav{margin:0}.lab .hero{padding:36px 0 20px}.lab .builder-form{display:block}.lab .steps{grid-template-columns:1fr;gap:12px}.lab .steps>div{display:grid;grid-template-columns:34px 1fr;gap:0 16px}.lab .steps p{grid-column:2}.lab .steps h3{margin:4px 0 10px}.lab .builder-code{padding:17px}.lab .builder-code pre{font-size:11px}.lab .article-grid{display:flex}.form-row{grid-template-columns:1fr 1fr}footer{margin-top:30px}.facts{gap:22px}th,td{padding:14px}.result{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
