:root{--bg:#105a3f;--paper:#f8ffff;--head:#e4f8f5;--line:#c9e6e1;--ink:#0a241a;--mut:#456b5c;--red:#16c484;--redd:#0f9d68;--cream:#ecfffc;--rose:#b6eada;--code:#081c14;--gut:44px;--ant:var(--red);
--disp:"Hubot Sans","Arial Narrow",system-ui,sans-serif;--body:"SUSE",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Atkinson Hyperlegible Mono",ui-monospace,Menlo,Consolas,monospace}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;counter-reset:row;font:400 1.0625rem/1.62 var(--body);color:var(--ink);background-color:var(--bg);
background-image:radial-gradient(1100px 520px at 50% -120px,#1a7c54,transparent 70%),linear-gradient(to right,rgba(225,255,248,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(225,255,248,.06) 1px,transparent 1px);
background-size:auto,104px 30px,104px 30px;background-repeat:no-repeat,repeat,repeat;overflow-x:hidden}
img,svg{max-width:100%}
a{color:var(--red);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{color:var(--redd)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 5px var(--cream)}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0}
h1,h2{font-family:var(--disp);font-stretch:75%;font-weight:800;line-height:1.02;letter-spacing:-.005em;overflow-wrap:break-word}
h1{font-size:clamp(2.3rem,4.5vw,3.9rem)}
h2{font-size:1.5rem;font-weight:700;line-height:1.15}
h3{font:700 1.06rem/1.3 var(--body)}
code{font-family:var(--mono);font-size:.9em}
.skip{position:absolute;left:16px;top:-80px;z-index:99;background:var(--paper);color:var(--ink);padding:12px 18px;border-radius:6px;font-weight:700}
.skip:focus{top:12px}

/* marching ants */
.ants{position:relative}
.ants::after,.cut::before,.pill .nav a[aria-current]::after,.calc>div:last-child::after,.hole b::after{content:"";position:absolute;inset:-6px;pointer-events:none;
background-image:linear-gradient(90deg,var(--ant) 50%,transparent 50%),linear-gradient(90deg,var(--ant) 50%,transparent 50%),linear-gradient(0deg,var(--ant) 50%,transparent 50%),linear-gradient(0deg,var(--ant) 50%,transparent 50%);
background-size:10px 2px,10px 2px,2px 10px,2px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;animation:ants .7s linear infinite}
@keyframes ants{to{background-position:10px 0,-10px 100%,0 -10px,100% 10px}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border:0;border-radius:6px;background:var(--red);color:#ffffff;font:700 1rem/1.2 var(--body);text-decoration:none;cursor:pointer;text-align:center;transition:background .15s,transform .1s}
.btn:hover{background:var(--redd);color:#ffffff}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:wait}
.btn.ghost{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.ghost:hover{background:var(--head);color:var(--ink)}
.btn.sm{min-height:44px;padding:0 16px;font-size:.92rem}
.btn.inv{background:var(--cream);color:var(--ink);--ant:var(--cream)}
.btn.inv:hover{background:#ffffff;color:var(--ink)}
.btn.line{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--rose)}
.btn.line:hover{background:rgba(255,255,255,.08);color:#ffffff}
.btns{display:flex;flex-wrap:wrap;gap:20px 22px;align-items:center}

/* floating pill */
.bar{position:sticky;top:12px;z-index:50;padding:0 16px;margin-top:12px;display:flex;justify-content:center;pointer-events:none}
.pill{pointer-events:auto;position:relative;display:flex;align-items:center;gap:6px;max-width:100%;padding:7px 7px 7px 16px;background:var(--paper);border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 32px rgba(2,26,15,.42),0 1px 0 #ffffff inset}
.logo{display:inline-flex;align-items:center;gap:9px;min-height:44px;min-width:0;color:var(--red);text-decoration:none;font:700 .95rem/1 var(--mono);letter-spacing:-.02em;margin-right:14px}
.logo span{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mark{flex:none}
.pill .nav{display:flex;align-items:center;gap:2px;margin-right:10px}
.pill .nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:var(--ink);text-decoration:none;font-weight:500;font-size:.98rem;border-radius:4px}
.pill .nav a:hover{background:var(--head)}
.pill .nav a[aria-current]{color:var(--red);font-weight:700}
.pill .nav a[aria-current]::after{inset:6px 3px}
.btn.cta{border-radius:999px;min-height:44px;padding:0 20px;white-space:nowrap;flex:none}
.burger{display:none;flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--head);cursor:pointer;align-items:center;justify-content:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;content:"";position:relative}
.burger span::before{position:absolute;top:-6px}.burger span::after{position:absolute;top:6px}

/* sheets */
main{max-width:1212px;margin:0 auto;padding:30px 16px 8px}
.sheet{background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 44px rgba(2,26,15,.34);margin:0 0 22px;overflow:hidden;min-width:0}
.narrow{max-width:760px;margin-left:auto;margin-right:auto}
.hrow{display:flex;align-items:stretch;background:var(--head);border-bottom:1px solid var(--line)}
.corner{flex:none;width:var(--gut);border-right:1px solid var(--line);position:relative}
.corner::after{content:"";position:absolute;right:6px;bottom:6px;border:6px solid transparent;border-right-color:#9ac7ba;border-bottom-color:#9ac7ba}
.hrow h2{padding:13px 18px 12px;min-width:0}
.rows{list-style:none}
.r,.fq summary{display:grid;grid-template-columns:var(--gut) minmax(0,1fr);position:relative}
.r{border-bottom:1px solid var(--line)}
.rows>:last-child{border-bottom:0}
.rn{position:relative;background:var(--head);border-right:1px solid var(--line);counter-increment:row;text-align:center;font:400 .75rem/1 var(--mono);color:var(--mut);padding-top:19px}
.rn::before{content:counter(row)}
.rc{padding:15px 20px 17px;min-width:0}
.rc p,.cell p,.cell li{color:#2a4a3d;font-size:.98rem;line-height:1.55}
.rc h3+p,.cell h3+p,.cell h3+*{margin-top:5px}
.grid{display:grid}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cell{padding:22px 24px 26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;margin:0 -1px -1px 0}
.tag{display:inline-block;font:700 .75rem/1 var(--mono);color:var(--red);background:var(--head);border:1px solid var(--line);padding:5px 7px;margin-bottom:14px}
.cell ul{padding-left:1.1em;margin-top:8px}
.cell p+p{margin-top:8px}

/* top / hero */
.topin{padding:34px 44px 38px}
.top h1{max-width:20ch}
.lead:empty{display:none}
.top .btns{margin-top:26px}
.lead{margin-top:18px;font-size:1.17rem;line-height:1.55;color:#254337;max-width:62ch}
.crumbs{display:flex;align-items:center;gap:4px 10px;padding:0 18px 0 0;border-bottom:1px solid var(--line);background:var(--head);font:400 .8rem/1.3 var(--mono);color:var(--mut);min-height:44px}
.crumbs a{flex:none;color:var(--ink);display:inline-flex;align-items:center;min-height:44px}
.crumbs span[aria-current]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:0 1 auto}
.crumbs i{width:6px;height:6px;border-top:1.5px solid var(--mut);border-right:1.5px solid var(--mut);transform:rotate(45deg);flex:none}
.fx{flex:none;align-self:stretch;width:var(--gut);display:inline-flex;align-items:center;justify-content:center;border-right:1px solid var(--line);margin-right:6px;font:italic 700 .85rem/1 Georgia,serif;color:var(--red)}
.fx::before{content:"fx"}
.hero .heroin{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)}
.hero .hcopy{padding:50px 44px 0;min-width:0;display:flex;flex-direction:column}
.cut{position:relative;align-self:flex-start;margin-bottom:30px;max-width:calc(100% - 20px)}
.cut::before{inset:0}
.cut span{display:block;padding:9px 14px;background:var(--red);color:#ffffff;font:700 .82rem/1.35 var(--mono);transform:translate(16px,-11px) rotate(-3.5deg);transform-origin:0 100%;box-shadow:0 10px 20px rgba(16,90,63,.38)}
.hero .btns{margin:30px 0 40px}
.bullets{margin:auto -44px 0;border-top:1px solid var(--line)}
.bullets .r span:last-child,.takeaways .r span:last-child{padding:13px 20px;font-weight:500}
.try{background:var(--head);border-left:1px solid var(--line);padding:0 0 26px;min-width:0;display:flex;flex-direction:column}
.trylab{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line);font:700 .8rem/1.2 var(--mono);color:var(--ink);margin-bottom:26px;padding-right:14px}
.try .codebox{margin:0 26px;flex:1}

/* facts */
.facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:col;border-top:1px solid var(--line)}
.factsheet .facts{border-top:0}
.fact{counter-increment:col;display:flex;flex-direction:column;border-right:1px solid var(--line);min-width:0}
.fact:last-child{border-right:0}
.fact::before{content:counter(col,upper-alpha);order:-2;background:var(--head);border-bottom:1px solid var(--line);text-align:center;font:400 .75rem/1 var(--mono);color:var(--mut);padding:7px 0}
.fact dd{order:-1;padding:16px 18px 0;font:800 2.15rem/1 var(--disp);font-stretch:75%;color:var(--red);font-variant-numeric:tabular-nums}
.fact dt{padding:6px 18px 17px;font-size:.86rem;line-height:1.3;color:var(--mut)}

/* code */
.codebox{display:flex;flex-direction:column;background:var(--code);border-radius:8px;overflow:hidden;min-width:0;box-shadow:0 14px 30px rgba(10,36,26,.3)}
.codetabs{order:2;display:flex;gap:0;background:#112d21;border-top:1px solid #204a38;padding:0 10px}
.codetabs button{min-height:44px;padding:0 18px;border:0;background:transparent;color:#b6e5d6;font:700 .82rem/1 var(--mono);cursor:pointer;border-radius:0 0 7px 7px;position:relative;top:-1px}
.codetabs button[aria-selected=true]{background:var(--code);color:#ffffff;box-shadow:inset 0 -3px 0 #5affc8}
.codebox>[data-pane]{flex:1;min-width:0}
pre.code{position:relative;margin:0;background:var(--code);color:#ddf8f2;border-radius:8px;padding-top:46px;font:400 .86rem/1.65 var(--mono);max-width:100%;min-width:0}
.codebox pre.code{border-radius:0;height:100%}
pre.code code{display:block;overflow-x:auto;padding:0 20px 20px;white-space:pre;font-size:1em;-webkit-overflow-scrolling:touch}
pre.code .k{color:#8dffd7}pre.code .s{color:#b8f6ff}pre.code .c{color:#8db9aa;font-style:italic}
.copy{position:absolute;top:0;right:0;min-height:44px;padding:0 16px;border:0;border-left:1px solid #204a38;border-bottom:1px solid #204a38;border-radius:0 0 0 8px;background:#112d21;color:#ddf8f2;font:700 .76rem/1 var(--mono);cursor:pointer}
.copy:hover{background:#5affc8;color:var(--code)}
pre.code:focus-visible,.copy:focus-visible,.codetabs button:focus-visible{outline:2px solid #ffffff;outline-offset:-3px;box-shadow:none}

/* steps: trace arrows */
.steps .rn::after{content:"";position:absolute;left:calc(50% - 5px);top:40px;bottom:6px;width:10px;background:radial-gradient(circle at 50% 5px,var(--red) 4.5px,transparent 5px),linear-gradient(var(--red),var(--red)) 50% 0/2px 100% no-repeat}
.steps .r:not(:last-child)::after{content:"";position:absolute;left:calc(var(--gut)/2 - 6px);bottom:-4px;border:6px solid transparent;border-top:9px solid var(--red);border-bottom:0;z-index:1}
.steps .r:last-child .rn::after{display:none}
.steps .rc{padding:18px 22px 24px}
.steps.wide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.steps.wide .r{border-bottom:0;border-right:1px solid var(--line)}
.steps.wide .r:last-child{border-right:0}
.steps.wide .rn::after,.steps.wide .r::after{display:none}
.duo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:22px;align-items:start}
.duo .sheet{height:100%}
.duo{align-items:stretch}
.duo .sheet{display:flex;flex-direction:column}
.duo .rows,.duo .grid{flex:1}
.duo .rows{display:grid;grid-auto-rows:1fr}

/* prose */
.prose{padding:0 44px 40px}
.prose>*{max-width:74ch}
.prose>:first-child:not(h2){margin-top:34px}
.prose h2{max-width:none;margin:36px -44px 22px;padding:14px 44px 13px;background:var(--head);border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.prose h2::before{content:"";position:absolute;left:16px;top:50%;margin-top:-3px;border:6px solid transparent;border-right-color:#9ac7ba;border-bottom-color:#9ac7ba;transform:translateY(-50%)}
.prose>h2:first-child{margin-top:0;border-top:0}
.prose h3{margin:26px 0 8px;font-size:1.12rem}
.prose p,.prose ul,.prose ol{margin:0 0 15px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:6px}
.prose li::marker{color:var(--red);font-family:var(--mono);font-weight:700}
.prose :not(pre)>code,.a code,.lead code,.rc code,.cell code,.kv code{background:var(--head);border:1px solid var(--line);padding:1px 5px;border-radius:3px;overflow-wrap:anywhere}
.prose pre.code{margin:20px 0 22px;max-width:none}
.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:20px 0 24px;font-size:.94rem;border:1px solid var(--line)}
.prose th,.prose td{padding:10px 14px;border:1px solid var(--line);text-align:left;vertical-align:top;min-width:120px}
.prose th{background:var(--head);font:700 .8rem/1.3 var(--mono)}
.prose td:not(:first-child){font-variant-numeric:tabular-nums}
.long{font-size:1.1rem;line-height:1.72}
.long h2{font-size:1.7rem}

/* faq */
.fq{border-bottom:1px solid var(--line);background:linear-gradient(to right,var(--head) calc(var(--gut) - 1px),var(--line) calc(var(--gut) - 1px),var(--line) var(--gut),transparent var(--gut))}
.fq summary{grid-template-columns:var(--gut) minmax(0,1fr) 52px;cursor:pointer;list-style:none;min-height:54px}
.fq summary::-webkit-details-marker{display:none}
.fq .rn{background:none;border:0;padding-top:21px}
.q{padding:15px 8px 15px 20px;font-weight:700;font-size:1.04rem;line-height:1.4}
.pm{align-self:center;justify-self:center;width:22px;height:22px;border:1.5px solid var(--ink);border-radius:3px;position:relative}
.pm::before,.pm::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:1.5px;margin-top:-.75px;background:var(--ink)}
.pm::after{transform:rotate(90deg);transition:transform .2s}
.fq[open] .pm{background:var(--red);border-color:var(--red)}
.fq[open] .pm::before,.fq[open] .pm::after{background:#ffffff}
.fq[open] .pm::after{transform:none}
.fq summary:hover .q{color:var(--red)}
.fq summary:focus-visible{outline-offset:-3px;box-shadow:none}
.a{padding:0 52px 20px calc(var(--gut) + 20px);color:#254337;max-width:calc(74ch + var(--gut))}
.a p+p{margin-top:8px}

/* dark band */
.dark{background:var(--ink);color:var(--cream);border-color:#1d4a36}
.dark .hrow{background:#133425;border-color:#1d4a36}
.dark .corner{border-color:#1d4a36}
.dark .corner::after{border-right-color:#4a8a72;border-bottom-color:#4a8a72}
.bandin{padding:24px 28px 34px calc(var(--gut) + 18px);display:flex;flex-wrap:wrap;gap:22px 40px;align-items:center;justify-content:space-between}
.bandin>p:first-child{max-width:52ch;color:#cff3e9;font-size:1.1rem}
.band h2{font-size:1.9rem}
.dark :focus-visible{outline-color:#ffffff;box-shadow:0 0 0 5px var(--red)}

/* key page */
.keygrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);grid-template-areas:"t f" "b f";grid-template-rows:auto 1fr;gap:0 34px;align-items:start;margin-bottom:28px}
.keytop{grid-area:t;border-radius:10px 10px 0 0;border-bottom:0}
.formwrap{grid-area:f}
.bensheet{grid-area:b;border-radius:0 0 10px 10px}
.keygrid .sheet{margin:0}
.keytop h1{max-width:14ch}
.keytop .topin{padding-bottom:30px}
.benefits{border-top:1px solid var(--line)}
.formwrap{--ant:var(--cream);margin:7px;min-width:0}
.formwrap::after{inset:-8px}
.form{background:var(--paper);border-radius:8px;padding:26px 28px 28px;box-shadow:0 22px 50px rgba(0,20,10,.5)}
.form .btn.ghost{min-height:50px}
.note{font-size:.86rem;line-height:1.45;color:var(--mut);margin-top:8px}
.tabs2{display:grid;grid-template-columns:1fr 1fr;margin:18px 0 18px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--head)}
.tabs2 button{min-height:46px;border:0;background:transparent;font:700 .95rem/1.2 var(--body);color:var(--mut);cursor:pointer;padding:0 8px}
.tabs2 button[aria-selected=true]{background:var(--ink);color:#ffffff}
.tabs2 button:focus-visible{outline-offset:-4px;outline-color:var(--red);box-shadow:none}
.msg{font-weight:500;font-size:.95rem}
.msg:empty{display:none}
.msg.err{background:#e4fdf7;color:#0d865a;border-left:4px solid var(--red);padding:11px 14px;margin-bottom:14px;border-radius:0 4px 4px 0}
.row{margin-bottom:15px}
.row label,.calc label{display:block;font:700 .78rem/1.3 var(--mono);color:var(--ink);margin-bottom:6px}
input,select,textarea{width:100%;min-height:48px;padding:10px 13px;border:1.5px solid #7aa697;border-radius:5px;background:#ffffff;color:var(--ink);font:400 1rem/1.4 var(--body)}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:1px;border-color:var(--red);box-shadow:none}
form .btn[type=submit],form>button{width:100%;min-height:52px;margin-top:4px}
.keyout{display:none}
.keyout.on{display:block}
.keyout h3{font:700 1.5rem/1.1 var(--disp);font-stretch:75%;margin-bottom:12px}
.keybox{display:flex;align-items:center;gap:10px;background:var(--code);color:#e1fffa;border-radius:6px;padding:8px 8px 8px 14px;font:400 .9rem/1.4 var(--mono)}
.keybox span{flex:1;min-width:0;overflow-wrap:anywhere}
.keyout>p{margin:12px 0;line-height:1.9;overflow-wrap:anywhere}
.keyout code{background:var(--head);padding:1px 5px;border-radius:3px}
.mut{color:var(--mut)}
.acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

/* docs */
.kv{display:flex;flex-wrap:wrap;margin-top:24px;border:1px solid var(--line);border-radius:6px;overflow:hidden;max-width:max-content}
.kv div{display:flex;align-items:center;min-width:0;border-right:1px solid var(--line);margin-right:-1px}
.kv dt{background:var(--head);font:700 .76rem/1.2 var(--mono);padding:13px 12px;border-right:1px solid var(--line);align-self:stretch;display:flex;align-items:center}
.kv dd{padding:8px 14px;min-width:0}
.kv code{border:0;background:none;font-size:.92rem}
.docgrid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:22px;align-items:start}
.toc{position:sticky;top:86px;max-height:calc(100vh - 104px);overflow:auto}
.toc .hrow h2{font-size:1.15rem;padding:12px 14px 11px}
.toc .rows a{display:flex;align-items:center;min-height:44px;padding:8px 14px;color:var(--ink);text-decoration:none;font-size:.93rem;line-height:1.3;font-weight:500}
.toc .rows a:hover{background:var(--head);color:var(--red)}
.toc .rn{padding-top:16px}
.docmain{min-width:0}

/* pricing */
.sub{margin-top:20px;display:inline-block;font:700 .84rem/1.4 var(--mono);color:var(--red);background:var(--head);border:1px solid var(--line);padding:8px 12px}
.factsheet .fact dd{font-size:2.7rem;padding-top:22px}
.factsheet .fact dt{padding-bottom:22px;font-size:.92rem}
.calc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.calc>div{padding:24px 26px 28px;border-right:1px solid var(--line);min-width:0}
.calc input{font:700 1.15rem/1.2 var(--mono);min-height:54px}
.calc>div:last-child{border-right:0;background:var(--head);position:relative}
.calc>div:last-child::after{inset:8px}
.calc output{display:block;font:800 3rem/1.05 var(--disp);font-stretch:75%;color:var(--red);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ex .cell h3{font-size:1rem;line-height:1.4}
.ex .cell li{font-family:var(--mono);font-size:.84rem;line-height:1.5;margin-bottom:5px}
.ex .cell li:last-child{font-weight:700;color:var(--red)}
.ex .cell ul{list-style:none;padding:10px 0 0;margin-top:12px;border-top:1px dashed #9ac7ba}

/* article */
.arthead h1{max-width:24ch;font-size:clamp(2.2rem,4vw,3.4rem)}
.meta{margin-top:20px;font:400 .8rem/1 var(--mono);color:var(--mut)}
.artgrid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:22px;align-items:start}
.artmain{min-width:0}
.rail{position:sticky;top:86px;max-height:calc(100vh - 100px);overflow:auto;padding-bottom:6px;scrollbar-width:thin}
.rail .toc{position:static;max-height:none;overflow:hidden;box-shadow:none}
.sidecta{box-shadow:none;margin:0}
.sidecta .hrow h2{font-size:1.2rem}
.sidecta .bandin{padding:16px 18px 22px;display:block}
.sidecta .bandin>p:first-child{font-size:.98rem;margin-bottom:16px}
.sidecta .btn{width:100%}

/* support */
.support{padding:28px 32px 32px}
.support form>*:last-child{margin-top:12px;font-size:.95rem}

/* 404 */
.nf .topin{padding-top:44px}
.hole{display:grid;grid-template-columns:repeat(3,64px);gap:0;margin:0 0 36px;position:relative;width:192px}
.hole i{height:30px;border:1px solid var(--line);background:var(--head);margin:0 -1px -1px 0}
.hole i:nth-child(5){background:none;border-color:transparent}
.hole b{position:absolute;left:64px;top:30px;width:64px;height:30px}
.hole b::after{inset:0}
.hole b::before{content:"";position:absolute;inset:0;background:var(--red);transform:translate(26px,16px) rotate(17deg);transform-origin:0 0;box-shadow:0 10px 18px rgba(16,90,63,.4)}
.nflinks{border-top:1px solid var(--line)}
.nflinks a{display:flex;align-items:center;min-height:48px;padding:0 20px;font-weight:700;color:var(--ink);text-decoration:none}
.nflinks a:hover{background:var(--head);color:var(--red)}

/* footer */
.foot{max-width:1212px;margin:26px auto 0;padding:0 16px 44px;text-align:center}
.footpill{border-radius:30px;padding:8px 20px;flex-wrap:wrap;justify-content:center;gap:0 6px;box-shadow:0 12px 32px rgba(2,26,15,.36)}
.footpill nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0 4px}
.footpill nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 11px;color:var(--ink);text-decoration:none;font-size:.92rem;font-weight:500}
.footpill nav a:hover{color:var(--red);text-decoration:underline}
.tagline{margin-top:24px;font:700 .82rem/1.4 var(--mono);color:var(--cream)}
.legal{margin:8px auto 0;max-width:78ch;font-size:.84rem;line-height:1.55;color:var(--rose)}
.foot :focus-visible,.bar :focus-visible{box-shadow:0 0 0 5px var(--head)}

/* responsive */
@media(max-width:1060px){
.pill .nav a{padding:0 10px}
.hero .heroin{grid-template-columns:minmax(0,1fr)}
.try{border-left:0;border-top:1px solid var(--line)}
.bullets{margin-top:0}
.duo,.artgrid{grid-template-columns:minmax(0,1fr)}
.duo{gap:0}
.rail{position:static;max-height:none;overflow:visible;display:grid;gap:22px}
.rail .toc{box-shadow:0 18px 44px rgba(2,26,15,.34);margin:0}
.artgrid{gap:0}
.artgrid .rail{order:-1;margin-bottom:22px}
.sidecta{display:none}
}
@media(max-width:900px){
.pill{width:100%;padding-left:14px}
.logo{margin-right:auto}
.burger{display:inline-flex}
.pill .nav{display:none;position:absolute;left:0;right:0;top:calc(100% + 8px);margin:0;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(0,20,10,.5);overflow:hidden}
.pill .nav.open{display:flex}
.pill .nav a{min-height:50px;padding:0 20px;border-bottom:1px solid var(--line);border-radius:0}
.pill .nav a:last-child{border-bottom:0}
.pill .nav a[aria-current]::after{inset:7px}
.docgrid{grid-template-columns:minmax(0,1fr)}
.keygrid{grid-template-columns:minmax(0,1fr);grid-template-areas:"t" "f" "b";grid-template-rows:none;gap:26px}
.keytop,.bensheet{border-radius:10px;border:1px solid var(--line)}
.toc.side{position:static;max-height:none}
.g3{grid-template-columns:repeat(2,minmax(0,1fr))}
.ex.g3,.steps.wide,.calc{grid-template-columns:minmax(0,1fr)}
.steps.wide .r{border-right:0;border-bottom:1px solid var(--line)}
.steps.wide .r:last-child{border-bottom:0}
.steps.wide .rn::after,.steps.wide .r:not(:last-child)::after{display:block}
.calc>div{border-right:0;border-bottom:1px solid var(--line)}
.calc>div:last-child{border-bottom:0}
.facts{grid-template-columns:minmax(0,1fr)}
.fact,.factsheet .fact{display:grid;grid-template-columns:var(--gut) minmax(0,1fr) auto;align-items:center;border-right:0;border-bottom:1px solid var(--line)}
.fact:last-child{border-bottom:0}
.fact::before{order:0;align-self:stretch;display:flex;align-items:center;justify-content:center;border-bottom:0;border-right:1px solid var(--line);padding:0}
.fact dt,.factsheet .fact dt{order:1;padding:14px 12px 14px 16px;font-size:.92rem}
.fact dd,.factsheet .fact dd{order:2;padding:10px 18px 10px 0;font-size:1.7rem}
}
@media(max-width:640px){
:root{--gut:36px}
body{font-size:1rem}
main{padding:22px 12px 4px}
.bar{padding:0 10px;top:8px;margin-top:8px}
.pill{padding:6px 6px 6px 12px;gap:6px}
.logo{font-size:.82rem;gap:7px}
.mark{width:26px;height:26px}
.btn.cta{padding:0 14px;font-size:.9rem}
.sheet{margin-bottom:16px;border-radius:8px}
.topin{padding:26px 20px 28px}
.hero .hcopy{padding:34px 20px 0}
.bullets{margin:0 -20px}
.hero .btns{margin:24px 0 30px}
.btns .btn{flex:1 1 auto}
.try .codebox{margin:0 12px}
.try{padding-bottom:14px}
.trylab{margin-bottom:14px}
.g3,.g2{grid-template-columns:minmax(0,1fr)}
.cell{padding:18px 20px 20px}
.prose{padding:0 20px 28px}
.prose h2{margin:30px -20px 18px;padding:13px 20px 12px 34px}
.prose h2::before{left:10px}
.long{font-size:1.04rem}
.long h2{font-size:1.45rem}
.a{padding:0 18px 18px calc(var(--gut) + 14px)}
.q{padding-left:14px}
.rc{padding:13px 16px 15px}
.bandin{padding:20px 20px 28px}
.band h2{font-size:1.6rem}
.form{padding:20px 18px 22px}
.support{padding:20px 18px 24px}
.kv{max-width:100%}
.kv div{width:100%;border-bottom:1px solid var(--line);margin-bottom:-1px}
.kv dt{min-width:86px}
.calc output{font-size:2.5rem}
.footpill{border-radius:22px;padding:8px 10px}
pre.code{font-size:.8rem}
pre.code code{padding:0 14px 16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
