/* natrz - shared site stylesheet.
   Generated by tools/extract_site_css.py. Do not edit by hand:
   run the script so every page stays on one copy. */

@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('/fonts/inter-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2')}

:root{
  --paper:#F7F7F5;--ink:#1C1C1C;--mid:#6B6B68;--rule:#E2E2DE;--rule-strong:var(--rule-strong);--white:#FFFFFF;
  --green:#0F6146;--green-hover:#0C4C37;
  --tint:#EDF3F0;--tint-rule:#C6DBD2;
  --notice:#423E63;--danger:#7A2E2E;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  --measure:40rem;--measure-wide:45rem;--panel:32.5rem;
  --gutter:clamp(1.25rem,5vw,2.5rem);--bay:clamp(4.5rem,10vw,8rem);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--sans);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.eyebrow{font-size:.68rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);margin:0 0 1.5rem}
.chip{display:inline-block;flex:none;white-space:nowrap;font-family:var(--mono);font-size:.68rem;color:var(--green);background:var(--paper);border:.5px solid var(--rule);border-radius:4px;padding:1px 6px}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--white);padding:.7rem 1rem;z-index:20}
.skip:focus{left:0}
a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}
.masthead{border-bottom:.5px solid var(--rule);background:var(--white);position:sticky;top:0;z-index:10}
.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding-top:1.15rem;padding-bottom:1.15rem}
.mark{display:inline-flex;align-items:center;text-decoration:none}
.mark__svg{height:22px;width:auto}
.navlinks{display:flex;align-items:center;gap:.85rem;font-size:.86rem;color:var(--mid)}
.navlinks a{text-decoration:none;transition:color .15s ease}
.navlinks a:hover,.navlinks a[aria-current]{color:var(--ink)}
.navlinks span{color:var(--rule);user-select:none}
.hero{padding-top:clamp(3.5rem,9vw,6rem)}
.hero__title{font-weight:300;font-size:clamp(2rem,5vw,3.2rem);line-height:1.13;letter-spacing:-.025em;margin:0 0 1.3rem;max-width:20ch}
.hero__lede{font-size:clamp(1.02rem,1.9vw,1.14rem);color:var(--mid);margin:0 0 1.8rem;max-width:var(--measure)}
.hero__meta{display:flex;gap:.45rem;flex-wrap:wrap}
.problem{padding-top:var(--bay);padding-bottom:var(--bay)}
.problem p{max-width:var(--measure);margin:0 0 1.1rem}
.problem p:last-of-type{margin-bottom:1.8rem}
.inline-link{color:var(--green);font-weight:500;text-decoration:none;border-bottom:1px solid var(--rule);transition:border-color .15s ease}
.inline-link:hover{border-color:var(--green)}
.options{padding-top:var(--bay);padding-bottom:var(--bay);border-top:.5px solid var(--rule);background:var(--paper)}
.options__intro{max-width:var(--measure);color:var(--mid);margin:0 0 1.2rem;font-size:.95rem}
.options__pricing{max-width:var(--measure);font-size:.9rem;color:var(--mid);margin:0 0 2.8rem}
body.p-home .options__std{color:var(--ink)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:2rem}
.col__head{border-top:2px solid var(--green);padding-top:.9rem;margin-bottom:1.1rem}
.col__jur{font-weight:500;font-size:1.24rem;letter-spacing:-.015em;margin:0 0 .25rem}
.col__sub{font-size:.86rem;color:var(--mid);margin:0}
.opt{display:block;background:var(--white);border:.5px solid var(--rule);border-radius:8px;padding:1.4rem 1.5rem;margin-bottom:.85rem;text-decoration:none;transition:border-color .18s ease,transform .18s ease}
.opt:hover{border-color:var(--rule-strong);transform:translateY(-1px)}
.opt__top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.45rem}
.opt__name{font-weight:500;font-size:1.02rem;margin:0}
.opt__price{font-family:var(--mono);font-size:.9rem;color:var(--ink)}
.opt__for{font-size:.87rem;color:var(--mid);margin:0 0 .9rem}
.opt__foot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.opt__count{font-family:var(--mono);font-size:.68rem;color:var(--mid)}
.opt__go{font-size:.83rem;font-weight:500;color:var(--green)}
.helper{margin-top:2.4rem;border-left:2px solid var(--rule);padding-left:1.1rem;font-size:.9rem;color:var(--mid);max-width:var(--measure)}
.helper strong{font-weight:500;color:var(--ink)}
.contents{padding-top:var(--bay);padding-bottom:var(--bay)}
.grp{max-width:var(--measure);border-top:.5px solid var(--rule);padding-top:1.3rem;margin-bottom:2.2rem}
.grp__h{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 1.1rem}
.doc{display:grid;grid-template-columns:1fr auto;gap:.6rem 1.5rem;align-items:baseline;padding:.5rem 0}
.doc__n{margin:0;font-size:.97rem}
.doc__d{display:block;font-size:.85rem;color:var(--mid);margin-top:.1rem;max-width:var(--measure)}
.only{font-family:var(--mono);font-size:.64rem;color:var(--mid);border:.5px solid var(--rule);border-radius:3px;padding:0 4px;margin-left:.35rem;white-space:nowrap}
.free{padding-top:var(--bay);padding-bottom:var(--bay);border-top:.5px solid var(--rule);background:var(--paper)}
.free__list{border-top:.5px solid var(--rule)}
.freeitem{display:grid;grid-template-columns:1fr auto;gap:.8rem 2rem;align-items:center;padding:1.7rem 0;border-bottom:.5px solid var(--rule);text-decoration:none;transition:padding-left .18s ease}
.freeitem:hover{padding-left:.5rem}
.freeitem__t{font-weight:400;font-size:1.1rem;margin:0 0 .3rem}
.freeitem__d{font-size:.88rem;color:var(--mid);margin:0;max-width:var(--measure)}
.freeitem__cta{font-size:.82rem;font-weight:500;color:var(--green);white-space:nowrap}
.freeitem__meta{display:block;font-family:var(--mono);font-size:.66rem;color:var(--mid);margin-top:.3rem;text-align:right}
.faq{padding-top:var(--bay);padding-bottom:var(--bay)}
.q{max-width:var(--measure);border-bottom:.5px solid var(--rule)}
.q:first-of-type{border-top:.5px solid var(--rule)}
.q summary{position:relative;cursor:pointer;padding:1.25rem 0;font-size:1rem;font-weight:400;list-style:none;display:flex;gap:1.15rem;align-items:baseline}
.q summary::-webkit-details-marker{display:none}
/* The chevron anchors itself right. Anchoring the first child instead only
   works when that child is an element - the plain question rows have their
   text as a bare node, so the selector matched nothing and the chevron sat
   against the text. */
.q summary::after{content:"";flex:none;margin-left:auto;align-self:center;width:.5rem;height:.5rem;border-right:1.5px solid var(--mid);border-bottom:1.5px solid var(--mid);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
.q[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.q summary:hover::after{border-color:var(--ink)}
.q__a{padding:0 0 1.4rem 1.15rem;margin:0;color:var(--mid);font-size:.93rem;max-width:var(--measure)}
body.p-home .q__a p{margin:0 0 .9rem}
body.p-home .q__a p:last-child{margin-bottom:0}
/* The hint takes the free space (flex:1) so the chevron's margin-left:auto
   has none left and lands on the container edge, and text-align:right gives
   every hint the same right edge instead of a start that follows whatever
   width the label happened to be. */
body.p-home .q__sum{display:block;flex:1;text-align:right;color:var(--mid);font-size:.87rem;margin-top:.2rem;font-weight:400}
body.p-home .grp details.grpd{margin:0}
body.p-home .grp details.grpd>summary{list-style:none;cursor:pointer;position:relative;padding:0 2rem .9rem 0;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
body.p-home .grp details.grpd>summary::-webkit-details-marker{display:none}
body.p-home .grp details.grpd>summary::after{content:"";position:absolute;right:.3rem;top:.25rem;width:7px;height:7px;border-right:1.5px solid var(--mid);border-bottom:1.5px solid var(--mid);transform:rotate(45deg);transition:transform .18s ease}
body.p-home .grp details.grpd[open]>summary::after{transform:rotate(-135deg)}
body.p-home .grp details.grpd>summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
body.p-home .grp__c{color:var(--mid);font-size:.8rem;letter-spacing:0;text-transform:none;margin-left:.6rem}
body.p-home .boundary{margin:1.6rem 0 0;border-left:2px solid var(--rule);padding-left:1.1rem;color:var(--mid);font-size:.95rem;max-width:var(--measure)}
body.p-home .steps__grid{display:grid;gap:1.8rem;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));max-width:940px;margin-top:.4rem}
body.p-home .step__n{font-family:var(--mono);font-size:.72rem;color:var(--green)}
body.p-home .step__t{font-weight:400;font-size:1rem;margin:.45rem 0 .4rem}
body.p-home .step__d{color:var(--mid);font-size:.92rem;margin:0;max-width:34ch}
.q__a a{color:var(--green)}
.discl{padding-top:2.6rem;padding-bottom:2.6rem;border-top:.5px solid var(--rule)}
.discl p{margin:0;font-size:.9rem;color:var(--mid);max-width:var(--measure)}
.foot{border-top:.5px solid var(--rule);padding-top:2.6rem;padding-bottom:3rem}
.foot__links{display:flex;gap:.85rem;flex-wrap:wrap;font-size:.84rem;color:var(--mid);margin-bottom:2rem}
.foot__links a{text-decoration:none}
.foot__links a:hover{color:var(--ink)}
.foot__links span{color:var(--rule);user-select:none}
.foot__stamp{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:.5px solid var(--rule);padding-top:1.1rem;font-family:var(--mono);font-size:.7rem;color:var(--mid)}
.opthero{padding:calc(var(--bay)*.7) 0 calc(var(--bay)*.55);border-bottom:.5px solid var(--rule)}
.opthero h1{font-weight:300;font-size:clamp(1.7rem,4vw,2.4rem);line-height:1.2;margin:0 0 .6rem;max-width:24ch}
.opthero__who{color:var(--mid);max-width:var(--measure);margin:0 0 2rem;font-size:.98rem}
.buyrow{display:flex;align-items:baseline;gap:1.4rem;flex-wrap:wrap;row-gap:1rem}
@media (max-width:420px){.buyrow{gap:.9rem}.buyrow__price{font-size:1.35rem}}
.buyrow__price{font-family:var(--mono);font-size:1.5rem}
.btn{display:inline-block;background:var(--green);color:var(--white);text-decoration:none;font-size:.92rem;padding:.75rem 1.6rem;border-radius:6px}
.btn:hover{background:var(--green-hover)}
.pricenote{max-width:var(--measure);font-size:.88rem;color:var(--mid);margin:.75rem 0 0}
.pricenote__std{color:var(--ink);font-weight:500}
.buymeta{font-family:var(--mono);font-size:.78rem;color:var(--mid);margin:.9rem 0 0}
.sect{padding:calc(var(--bay)*.55) 0;border-bottom:.5px solid var(--rule)}
.manifest{list-style:none;margin:0;padding:0;max-width:var(--measure)}
.manifest li:last-child{border-bottom:none}
.manifest li{display:block;padding:0}
.mdoc summary{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.6rem 0;font-size:.95rem;cursor:pointer;list-style:none}
.mdoc summary::-webkit-details-marker{display:none}
.mdoc summary:hover .mdoc__n{color:var(--green)}
.mdoc__n{position:relative;margin-right:auto}
.mdoc summary::after{content:"";flex:none;align-self:center;width:.5rem;height:.5rem;border-right:1.5px solid var(--mid);border-bottom:1.5px solid var(--mid);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
.mdoc[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.mdoc summary:hover::after{border-color:var(--ink)}

.mdoc__b{padding:0 0 1.15rem 1.15rem;max-width:var(--measure)}
.mdoc__b p{margin:0 0 .75rem;font-size:.9rem;color:var(--mid)}
.mdoc__l{margin:0;padding-left:1.05rem;font-size:.88rem;color:var(--mid)}
.mdoc__l li{display:list-item;padding:.22rem 0;border-bottom:none}
.mdoc__free{margin:.75rem 0 0;font-size:.88rem}
.mdoc__free a{color:var(--green)}
.mannote{margin-top:1.6rem;border-left:2px solid var(--rule);padding-left:1.1rem;font-size:.9rem;color:var(--mid);max-width:var(--measure)}
.sect p{max-width:var(--measure)}
.sect .lede{color:var(--mid)}
.refund h2, .sect h2{font-weight:400;font-size:1.15rem;margin:0 0 1.1rem}
.finalbuy{padding:calc(var(--bay)*.55) 0}
.disc{max-width:var(--measure);font-size:.82rem;color:var(--mid);margin-top:2.4rem}
.phero{padding:calc(var(--bay)*.7) 0 calc(var(--bay)*.5);border-bottom:.5px solid var(--rule)}
.phero h1{font-weight:300;font-size:clamp(1.8rem,4.4vw,2.6rem);line-height:1.18;margin:0 0 .8rem;max-width:22ch}
.phero__lede{color:var(--mid);max-width:var(--measure);margin:0;font-size:1rem}
.sect:last-of-type{border-bottom:none}
.sect h2{font-weight:400;font-size:1.15rem;margin:0 0 1rem}
.pl{list-style:none;margin:0 0 1.4rem;padding:0;max-width:var(--measure)}
.pl li{padding:.6rem 0 .6rem 1.5rem;border-bottom:.5px solid var(--rule);position:relative;font-size:.96rem}
.pl li:last-child{border-bottom:none}
.pl li::before{content:"—";position:absolute;left:0;color:var(--green)}
.pl li span{display:block;color:var(--mid);font-size:.88rem;margin-top:.2rem}
.rescard{border-top:.5px solid var(--rule);padding:1.5rem 0}
.rescard:last-of-type{border-bottom:.5px solid var(--rule)}
.rescard__h{margin:0 0 .35rem;font-size:1.05rem;font-weight:400}
.rescard__h a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule)}
.rescard__h a:hover{color:var(--green);border-bottom-color:var(--green)}
.rescard__m{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin:0 0 .5rem}
.rescard p{margin:0;max-width:var(--measure);color:var(--mid);font-size:.94rem}
.cx{margin:0 0 1.6rem;max-width:var(--measure)}
.cx__l{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--green);margin:0 0 .3rem}
.cx p{margin:0;color:var(--mid);font-size:.94rem}
.cx a{color:var(--green)}
.addrblk{font-family:var(--mono);font-size:.85rem;line-height:1.6;color:var(--ink);white-space:pre-line;margin:.2rem 0 0}
.dl{border:.5px solid var(--rule);border-radius:8px;padding:1.5rem 1.6rem;margin:0 0 1.1rem;max-width:var(--measure)}
.dl__top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}
.dl__n{font-size:1.05rem;margin:0}
.dl__b{color:var(--mid);font-size:.94rem;margin:.4rem 0 1rem}
body.p-free .getform{background:var(--white);border:.5px solid var(--rule);border-radius:8px;padding:1.8rem 1.8rem 1.6rem;max-width:var(--panel);margin:0 0 1.2rem}
body.p-free .getform h2{font-weight:400;font-size:1.1rem;margin:0 0 .5rem}
body.p-free .getform p{color:var(--mid);font-size:.92rem;margin:0 0 1.2rem;max-width:100%}
body.p-free .field{display:block;margin-bottom:.9rem}
body.p-free .field span{display:block;font-size:.8rem;color:var(--mid);margin-bottom:.35rem}
body.p-free .field input{width:100%;font:inherit;font-size:.95rem;padding:.65rem .8rem;border:.5px solid var(--rule);border-radius:6px;background:var(--paper);color:var(--ink);box-sizing:border-box}
body.p-free .field input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:transparent}
body.p-free .getform button{font:inherit;font-size:.9rem;background:var(--green);color:var(--white);border:0;border-radius:6px;padding:.7rem 1.5rem;cursor:pointer}
body.p-free .getform button:hover{background:var(--green-hover)}
body.p-free .formstatus{font-size:.86rem;margin:.9rem 0 0;min-height:1.2em}
body.p-free .formstatus--err{color:var(--danger)}
body.p-free .formstatus--ok{color:var(--green)}
body.p-free .formdone{background:var(--tint);border:1px solid var(--tint-rule);border-left:3px solid var(--green);border-radius:6px;padding:1.4rem 1.5rem}
body.p-free .formdone__h{font-weight:500;font-size:1.05rem;margin:0 0 .5rem;color:var(--green);display:flex;align-items:center;gap:.5rem}
body.p-free .formdone__tick{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--green);color:#fff;font-size:.8rem;line-height:1;flex-shrink:0}
body.p-free .formdone__b{color:var(--ink);font-size:.92rem;margin:0;line-height:1.65}
body.p-free .formdone__b strong{font-weight:500}
body.p-free .formdone__sub{color:var(--mid);font-size:.85rem;margin:.7rem 0 0;line-height:1.6}
body.p-free .getform__note{font-size:.82rem;color:var(--mid);margin:1.3rem 0 0;line-height:1.55}
body.p-free .inc{max-width:var(--measure);list-style:none;margin:0;padding:0}
body.p-free .inc li{padding:.85rem 0;border-bottom:.5px solid var(--rule)}
body.p-free .inc li:last-child{border-bottom:none}
body.p-free .inc__n{margin:0;font-size:1rem}
body.p-free .inc__d{color:var(--mid);font-size:.9rem;margin:.3rem 0 0;max-width:var(--measure)}
.grp__i{color:var(--mid);font-size:.9rem;margin:0 0 1.1rem;max-width:var(--measure)}
.rec{max-width:var(--measure);padding:.75rem 0;border-bottom:.5px solid var(--rule)}
.rec:last-child{border-bottom:none}
.rec__n{margin:0;font-size:.96rem}
.rec__n em{font-style:italic;color:var(--mid)}
.rec__s{display:block;color:var(--mid);font-size:.87rem;margin-top:.25rem;max-width:var(--measure)}
.req{font-family:var(--mono);font-size:.72rem;color:var(--green);margin-left:.5rem}
body.p-cri .block{margin:0 0 2.4rem;max-width:var(--measure)}
body.p-cri .block__h{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 .35rem}
body.p-cri .block__i{color:var(--mid);font-size:.9rem;margin:0 0 1.1rem;max-width:var(--measure)}
body.p-5472 .sect ul, body.p-5472 .sect ol{max-width:var(--measure);padding-left:1.15rem}
body.p-5472 .sect li{padding:.2rem 0}
body.p-5472 .sect h3{font-weight:500;font-size:1rem;margin:1.9rem 0 .7rem}
body.p-5472 .note{border-left:2px solid var(--rule);padding-left:1.15rem;margin:1.4rem 0;max-width:var(--measure);color:var(--mid);font-size:.93rem}
body.p-5472 .note strong{color:var(--ink);font-weight:500}
body.p-5472 .callout{border:.5px solid var(--rule);border-radius:8px;background:var(--paper);padding:1.35rem 1.5rem;margin:1.4rem 0;max-width:var(--measure)}
body.p-5472 .callout__h{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 .7rem}
body.p-5472 .callout p{margin:0 0 .5rem}
body.p-5472 .callout p:last-child{margin-bottom:0}
body.p-5472 .addr{max-width:var(--measure);font-family:var(--mono);font-size:.85rem;line-height:1.55;color:var(--ink);margin:.3rem 0 0;white-space:pre-line}
body.p-5472 .fig{font-family:var(--mono);font-size:.85rem;color:var(--ink)}
body.p-5472 .warn{border-left:2px solid var(--notice);padding-left:1.15rem;margin:1.4rem 0;max-width:var(--measure);font-size:.93rem}
body.p-5472 .warn strong{font-weight:500}
.srcs{font-size:.82rem;color:var(--mid);max-width:var(--measure)}
.srcs li{padding:.15rem 0}
.updated{max-width:var(--measure);font-family:var(--mono);font-size:.7rem;color:var(--mid);margin:1.4rem 0 0}
body.p-5472 .next{background:var(--paper);border-top:.5px solid var(--rule);padding:calc(var(--bay)*.6) 0}
body.p-5472 .next h2{font-weight:400;font-size:1.15rem;margin:0 0 1rem}
body.p-5472 .next p{max-width:var(--measure)}

@media (max-width:560px){
  .navlinks{font-size:.8rem;gap:.6rem}
  .freeitem{grid-template-columns:1fr}
  .freeitem__meta{text-align:left}
  .doc{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  *{transition:none!important}
}

/* /confirm - rendered by worker/_worker.js */
body.p-confirm{background:var(--paper);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--gutter)}
.p-confirm .card{background:var(--white);border:.5px solid var(--rule);border-radius:8px;padding:2.6rem 2.4rem;max-width:var(--panel);width:100%}
.p-confirm h1{font-weight:300;font-size:1.5rem;line-height:1.3;margin:0 0 .9rem;letter-spacing:-.015em}
.p-confirm p{color:var(--mid);font-size:.95rem;margin:0 0 1.8rem}
.p-confirm .cfoot{margin-top:2.2rem;padding-top:1.2rem;border-top:.5px solid var(--rule);font-size:.82rem;color:var(--mid);margin-bottom:0}
.p-confirm .cfoot a{color:var(--mid)}


/* --- former inline style attributes ------------------------------------- */
/* The honeypot. This rule is load-bearing: if it fails to apply, the field is
   visible and any visitor who fills it in has their signup silently dropped. */
.hp{position:absolute;left:-9999px}
.btn-row{margin:1.6rem 0 0}
.tight{margin-top:.6rem}
.lede{max-width:var(--measure);color:var(--mid)}
body.p-free .getform__go{margin-top:.4rem}
body.p-free .helper--tight{margin-top:0}
body.p-free .inc--spaced{margin-top:2.4rem}

/* --- long-form accordion (5472) ----------------------------------------- */
body.p-5472 .lf{border-bottom:.5px solid var(--rule);max-width:var(--measure)}
body.p-5472 .lf:first-of-type{border-top:.5px solid var(--rule)}
body.p-5472 .lf > summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer;list-style:none;padding:1.15rem 0}
body.p-5472 .lf > summary::-webkit-details-marker{display:none}
body.p-5472 .lf > summary h2{margin:0;font-size:1.05rem;font-weight:400;line-height:1.35}
body.p-5472 .lf > summary:hover h2{color:var(--green)}
/* The chevron is the only thing in the right column, so every bar ends on
   the same edge whatever the heading length - which is the point. */
body.p-5472 .lf > summary::after{content:"";flex:none;width:.5rem;height:.5rem;margin-right:.15rem;border-right:1.5px solid var(--mid);border-bottom:1.5px solid var(--mid);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
body.p-5472 .lf[open] > summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
body.p-5472 .lf > summary:hover::after{border-color:var(--ink)}
body.p-5472 .lf__body{padding:0 0 1.6rem}
body.p-5472 .lf__body > *:first-child{margin-top:0}
body.p-5472 .lf .wrap{padding-left:0;padding-right:0;max-width:none}
body.p-5472 .lf .sect,body.p-5472 .lf .next{padding:0}
body.p-5472 .accgroup{padding-bottom:var(--bay)}
/* A collapsed section cannot print. Force every one open on paper. */


/* Lists flow with the prose around them, so they end on the same edge. */
.sect ul,.sect ol,.next ul,.next ol{max-width:var(--measure)}
/* One disclaimer geometry. Home used <section class="wrap discl">, which put
   its rule 40px wider than every other rule on that page; the others nest a
   .wrap inside. Both now resolve to the same edge. */
.discl p,.disc{max-width:var(--measure)}

/* --- closing action, every page ----------------------------------------- */
.nextstep{background:var(--paper);border-top:.5px solid var(--rule)}
.nextstep .wrap{padding-top:var(--bay);padding-bottom:var(--bay)}
.nextstep p{max-width:var(--measure);color:var(--mid);margin:0 0 1.5rem}
.nextstep .eyebrow{margin-bottom:.9rem}
/* Outline rather than a solid fill: this sits on every page, and a green slab
   eleven times over would be the loudest thing on a deliberately quiet site.
   The solid .btn stays for the buy action, which should out-shout this. */
.btn--quiet{display:inline-block;background:none;color:var(--green);border:.5px solid var(--green);
  text-decoration:none;font-size:.92rem;padding:.7rem 1.5rem;border-radius:6px}
.btn--quiet:hover{background:var(--green);color:var(--white)}
.buyassure{max-width:var(--measure);font-size:.85rem;color:var(--mid);margin:.9rem 0 0}

/* --- records index: seven collapsible groups ---------------------------- */
body.p-cri .block{border-bottom:.5px solid var(--rule);margin:0;padding:0}
body.p-cri .block:first-of-type{border-top:.5px solid var(--rule)}
body.p-cri .block>summary{display:flex;align-items:center;gap:1.5rem;cursor:pointer;
  list-style:none;padding:1.1rem 0}
body.p-cri .block>summary::-webkit-details-marker{display:none}
/* Matches the 5472 accordion bars. The original style was a small uppercase
   eyebrow, which reads as a label above content rather than as a control
   you can press - and left the two accordions on the site looking unrelated. */
body.p-cri .block__h{margin:0;font-size:1.05rem;font-weight:400;line-height:1.35;color:var(--ink);text-transform:none;letter-spacing:normal;font-family:var(--sans)}
body.p-cri .block>summary:hover .block__h{color:var(--green)}
body.p-cri .block>summary::after{content:"";flex:none;margin-left:auto;width:.5rem;height:.5rem;
  border-right:1.5px solid var(--mid);border-bottom:1.5px solid var(--mid);
  transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
body.p-cri .block[open]>summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
body.p-cri .block>summary:hover::after{border-color:var(--ink)}
body.p-cri .block__body{padding:0 0 1.4rem}
body.p-cri .block__i{margin:0 0 1rem;color:var(--mid);font-size:.92rem}


/* --- print ---------------------------------------------------------------
   A closed <details> prints as a heading with nothing under it. The rule below
   handles browsers that support ::details-content; /js/print.js handles the
   rest by opening closed sections before printing and closing them after.
   Forcing display:block on the body does NOT work - the content is hidden via
   the shadow slot, not by a display rule on the child. */
@media print{
  details::details-content{content-visibility:visible !important}
  summary::after{display:none !important}
  .nextstep,.mast{display:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;color:#555}
}

/* A reference to part of a form or an agreement, inline in a sentence. Same
   face as every other reference on the site; .req is the records index's
   trailing marker and carries a margin that is wrong mid-sentence. */
.formref{font-family:var(--mono);font-size:.86em}

/* --- manager-managed explainer: same long-form accordion as /form-5472/ --- */
body.p-mm .lf{border-bottom:.5px solid var(--rule);max-width:var(--measure)}
body.p-mm .lf:first-of-type{border-top:.5px solid var(--rule)}
body.p-mm .lf > summary{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;cursor:pointer;list-style:none;padding:1.15rem 0}
body.p-mm .lf > summary::-webkit-details-marker{display:none}
body.p-mm .lf > summary h2{margin:0;font-size:1.05rem;font-weight:400;line-height:1.35}
body.p-mm .lf > summary:hover h2{color:var(--green)}
body.p-mm .lf > summary::after{content:"";flex:none;width:.5rem;height:.5rem;margin-right:.15rem;border-right:1.5px solid var(--mid);border-bottom:1.5px solid var(--mid);transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
body.p-mm .lf[open] > summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
body.p-mm .lf > summary:hover::after{border-color:var(--ink)}
body.p-mm .lf__body{padding:0 0 1.6rem}
body.p-mm .lf__body > *:first-child{margin-top:0}
body.p-mm .lf .wrap{padding-left:0;padding-right:0;max-width:none}
body.p-mm .lf .sect,body.p-mm .lf .next{padding:0}
body.p-mm .accgroup{padding-bottom:var(--bay)}
body.p-mm .warn{max-width:var(--measure)}
body.p-mm .sect ul,body.p-mm .sect ol{max-width:var(--measure)}
body.p-mm .next p{max-width:var(--measure)}
body.p-mm .sect[id],body.p-mm .next[id]{scroll-margin-top:5.2rem}

/* The hint sits beside the label only where there is room for it. Below this
   the label and hint were sharing a 350px row, which squeezed the hint into a
   50-90px column and pushed rows to 200px tall. Stacked, the hint keeps its
   own line and reads left-aligned like the text it is. */
@media (max-width:700px){
  /* The chevron is pinned rather than laid out, because the label is a bare
     text node - an anonymous flex item that cannot be given a flex-basis - so
     a long label took the full width and pushed the chevron to its own line. */
  body.p-home .q summary{flex-wrap:wrap;position:relative;padding-right:1.7rem}
  body.p-home .q summary::after{position:absolute;right:.15rem;top:1.55rem;margin-left:0}
  body.p-home .q__sum{flex:0 0 100%;order:3;text-align:left;margin-top:.4rem}
}

/* The license link above each buy button. Polar's checkout cannot render a
   link in its consent checkbox, so this is the only place a buyer can read the
   license before being asked to accept it. */
.buyterms{max-width:var(--measure);font-size:.85rem;color:var(--mid);margin:0 0 1rem}
