/* Angus Shield landing page. Tokens from DESIGN.md; no inline styles anywhere (CSP). */
@font-face{font-family:"Figtree";font-style:normal;font-display:swap;font-weight:300 900;src:url(/fonts/figtree.woff2) format("woff2")}
:root{
  --font:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --app:#F3F4EF;--paper:#FFFFFF;--hair:#E3E5DD;--hair-2:#EFF0EB;
  --ink:#121410;--ink-2:#4A4E44;--ink-3:#62675C;
  --night:#0E100B;--night-2:#1A1D15;--night-3:#262A1F;--night-ink:#B9BDAF;
  --lime:#A2F21C;--lime-soft:#EAFBC9;--good:#1B7A2E;--bad:#C2261D;--warn:#FFF5BF;--warn-rule:#E6D26E;--warn-ink:#5E4600;
  --r:10px;--r-lg:18px;--pad:clamp(20px,5cqi,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font);font-size:16px;line-height:1.5;letter-spacing:-.003em;color:var(--ink);background:var(--paper);overflow-x:hidden}
.lp{container-type:inline-size;min-width:0}
h1,h2,h3,.num{font-feature-settings:"tnum" 1}
a{color:inherit}
img,svg{display:block;max-width:100%}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.cover :focus-visible,.foot :focus-visible,.night :focus-visible,.rules :focus-visible{outline-color:var(--lime)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--lime);color:var(--ink);padding:12px 16px;font-weight:800;z-index:9}
.skip:focus{top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid var(--ink);border-radius:var(--r);font-weight:700;font-size:15px;text-decoration:none;background:var(--paper);color:var(--ink)}
.btn:hover{background:var(--hair-2)}
.btn.lime{background:var(--lime);border-color:var(--lime);color:var(--ink);font-weight:800}
.btn.lime:hover{background:#B6F54A;border-color:#B6F54A}
.btn.ghost{background:transparent;border-color:#6B6F60;color:#fff}
.btn.ghost:hover{background:var(--night-3);border-color:#fff}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:hover{background:#2a2d24}
.btn.quiet{border-color:transparent;text-decoration:underline;text-underline-offset:4px}

/* Cover */
.cover{background:var(--night);color:#fff;padding:0 var(--pad)}
.nav{display:flex;align-items:center;gap:28px;padding:22px 0;max-width:1240px;margin:0 auto}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:#fff;min-height:44px}
.brand img{width:44px;height:auto}
.brand b{display:block;font-size:17px;font-weight:800;line-height:1.1}
.brand small{display:block;font-size:12px;color:#9A9E90}
.links{display:flex;gap:6px;margin-left:auto}
.links a{color:var(--night-ink);text-decoration:none;font-size:15px;font-weight:500;min-height:44px;display:inline-flex;align-items:center;padding:0 10px}
.links a:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.acct{display:flex;gap:8px;align-items:center}
.acct[hidden],[data-when-closed][hidden]{display:none}
.acct .narrow{display:none}
.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:center;padding:48px 0 56px;max-width:1240px;margin:0 auto}
.hero h1{font-size:clamp(48px,9cqi,112px);line-height:.94;font-weight:800;letter-spacing:-.045em;text-wrap:balance}
.lede{font-size:clamp(17px,1.6cqi,20px);line-height:1.5;color:#D6D9CD;max-width:42ch;margin-top:26px}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.cta .btn{min-height:52px;padding:0 22px;font-size:16px}
.switchnote{margin-top:20px;font-size:15px;color:var(--night-ink)}
.switchnote a{color:#fff;text-underline-offset:4px}
.shot{position:relative;padding-bottom:24px}
.screen{background:var(--paper);color:var(--ink);border-radius:14px;overflow:hidden;box-shadow:0 14px 28px -16px rgba(0,0,0,.55)}
.sbar{display:flex;gap:6px;align-items:center;padding:10px 14px;background:var(--app);border-bottom:1px solid var(--hair);font-size:12px;color:var(--ink-2)}
.sbar i{width:9px;height:9px;border-radius:50%;background:#C9CCC0}
.sbar span{margin-left:8px}
.sbody{padding:22px 22px 24px}
.lab{font-size:13px;font-weight:600;color:var(--ink-2)}
.big{font-size:clamp(44px,6cqi,68px);line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--good);margin-top:6px}
.verdict{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;font-size:15px;color:var(--ink-2)}
.chip{display:inline-flex;align-items:center;gap:6px;background:var(--lime-soft);color:#243800;font-weight:700;border-radius:999px;padding:3px 12px;font-size:14px}
.bar{width:100%;height:14px;margin-top:18px;border-radius:7px;overflow:hidden}
.key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-size:14px;color:var(--ink-2)}
.key b{color:var(--ink)}
.sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;background:var(--ink-3)}
.sw.keep{background:var(--good)}
.sw.ot{background:#B9770E}
.needs{position:relative;margin:-14px 0 0 auto;width:min(340px,92%);background:var(--paper);color:var(--ink);border-radius:14px;box-shadow:0 18px 32px -14px rgba(0,0,0,.6);padding:14px 16px;border:1px solid var(--hair)}
.needs-h{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:8px}
.needs-h span{color:var(--ink-2);font-size:13px}
.need{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:8px;font-size:14px;margin-top:6px}
.need.check{background:var(--warn);color:var(--warn-ink);border:1px solid var(--warn-rule)}
.need.ready{background:var(--lime-soft);color:#243800}
.need svg,.q svg{width:18px;height:18px;flex:none;margin-top:2px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.note{font-size:12.5px;color:#9A9E90;margin-top:12px}
.rules{background:var(--night-2);color:#fff;padding:18px var(--pad)}
.rules-in{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center}
.rules-l{font-weight:800;font-size:14px;color:var(--lime)}
.rules ul{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px;color:var(--night-ink)}

/* Sections */
.sec{padding:84px var(--pad);background:var(--paper)}
.sec.grey{background:var(--app)}
.in{max-width:1240px;margin:0 auto}
.h{font-size:clamp(30px,3.6cqi,48px);line-height:1.08;font-weight:800;letter-spacing:-.03em;text-wrap:balance;max-width:22ch}
.body{font-size:17px;line-height:1.55;color:var(--ink-2);max-width:54ch;margin-top:16px}
.intro{margin-bottom:36px}
.cap{font-size:14px;color:var(--ink-2);margin-top:18px;max-width:70ch}
.k{font-size:13px;font-weight:800;color:var(--ink-3);font-variant-numeric:tabular-nums}
.two{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;align-items:start}
.card{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-lg);padding:20px;min-width:0}

/* Flow */
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.flow li{border:1px solid var(--hair);border-radius:var(--r-lg);padding:16px;background:var(--app);min-width:0}
.st{font-size:12px;font-weight:800;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}
.flow h3{font-size:19px;margin:6px 0 12px}
.fl{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r);padding:12px;display:grid;gap:3px;font-size:14px;color:var(--ink-2)}
.fl b{color:var(--ink);font-size:15px}
.fl .row{display:flex;justify-content:space-between;gap:8px}
.plus{color:var(--good);font-weight:800}

/* Tour */
.tabs{display:flex;gap:4px;border-bottom:1.5px solid var(--ink);overflow-x:auto;scrollbar-width:thin}
.tabs button{padding:12px 14px 11px;min-height:44px;font-size:15px;font-weight:600;color:var(--ink-2);border-bottom:3px solid transparent;margin-bottom:-1.5px;white-space:nowrap}
.tabs button:hover{color:var(--ink);background:var(--hair-2)}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--ink);font-weight:800}
.panel{padding-top:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:40px;align-items:start}
.panel[hidden]{display:none}
.panel + .panel{border-top:1px solid var(--hair);margin-top:28px}
.js .panel + .panel{border-top:0;margin-top:0}
.panel h3{font-size:26px;letter-spacing:-.02em;line-height:1.15}
.panel p{color:var(--ink-2);margin-top:10px;max-width:48ch}
.dc-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.dc-h span{color:var(--ink-2);font-size:14px}
.jobs li{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto;gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--hair);font-size:14px}
.jobs small{display:block;color:var(--ink-2)}
.jobs .v{font-weight:800;min-width:64px;text-align:right;white-space:nowrap}
.jobs .neg .v{color:var(--bad)}
.jobs svg{width:100%;height:14px}
.leg{font-size:13px;color:var(--ink-2);margin-top:12px}
.bas{width:100%;border-collapse:collapse;font-size:15px}
.bas td{padding:9px 0;border-top:1px solid var(--hair)}
.bas td:first-child{font-weight:800;width:42px;color:var(--ink-3)}
.bas td:last-child{text-align:right;font-weight:700;white-space:nowrap;padding-left:10px}
.bas .t td{font-weight:800;font-size:17px;border-top:2px solid var(--ink)}
.pill{display:inline-flex;align-items:center;gap:6px;background:var(--lime-soft);color:#243800;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}
.pay li{display:grid;grid-template-columns:90px minmax(0,1fr) 46px;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--hair);font-size:14px}
.pay svg{width:100%;height:12px}
.pay b{text-align:right}
.q{display:flex;gap:10px;margin-top:14px;padding:10px 12px;border-radius:8px;background:var(--warn);color:var(--warn-ink);border:1px solid var(--warn-rule);font-size:14px}
.claims li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:9px 0;border-top:1px solid var(--hair);font-size:15px}
.claims svg{grid-column:1/-1;width:100%;height:10px}
.due{width:100%;height:auto}
.axis{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-2);margin-top:2px}
.msg{margin-top:14px;padding:12px;border-radius:var(--r);background:var(--app);font-size:14px;color:var(--ink-2)}

/* Crew and calculator */
.crew{border-top:1.5px solid var(--ink);margin-top:24px}
.crew li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid var(--hair)}
.crew b{font-size:17px}
.crew p{color:var(--ink-2);font-size:15px}
.crew li.gone{background:var(--lime-soft);margin:0 -14px;padding:14px;border-bottom:0}
.crew li.gone s{text-decoration-thickness:2px}
.crew li.gone p{color:var(--ink)}
.calc-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--hair)}
.calc-row.col{display:block}
.calc-row.col label{display:flex;justify-content:space-between;gap:10px;font-weight:600}
.calc-row input[type=range]{width:100%;min-height:44px;accent-color:var(--ink)}
.calc-row input[type=number]{width:90px;min-height:44px;font:inherit;font-weight:800;text-align:center;border:1.5px solid var(--ink);border-radius:var(--r);padding:0 8px}
.calc-out{border-top:2px solid var(--ink);padding-top:14px}
.calc-out .num{font-size:clamp(36px,5cqi,54px);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.calc-out span{color:var(--ink-2);font-size:14px}
.calc-f{font-size:13px;color:var(--ink-2);margin-top:10px}

/* One set of numbers */
.sheets{display:grid;gap:10px}
.sheet{display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--hair);border-radius:var(--r);background:var(--paper);color:var(--ink-3);font-size:15px}
.sheet.one{background:var(--ink);color:#fff;border-color:var(--ink);align-items:center;flex-wrap:wrap}
.sheet.one b{color:var(--lime);font-size:24px}
.sheet.one em{font-style:normal;font-size:13px;color:var(--night-ink);flex-basis:100%}

/* Is this correct */
.docket{background:var(--paper);border:1px solid var(--hair);border-radius:var(--r-lg);overflow:hidden}
.d-top{display:flex;justify-content:space-between;gap:10px;padding:12px 18px;background:var(--app);border-bottom:1px dashed #B9BDAF;font-size:13px;font-weight:700;color:var(--ink-2)}
.d-top .stamp{background:var(--warn);color:var(--warn-ink);border:1px solid var(--warn-rule);border-radius:999px;padding:0 10px;font-weight:800}
.d-body{padding:20px 18px}
.d-body h3{font-size:26px;letter-spacing:-.02em}
.d-body p{color:var(--ink-2);margin-top:8px}
.d-act{display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px;border-top:1px dashed #B9BDAF}
.leave-bar{margin-top:16px}
.leave-bar svg{width:100%;height:12px}
.leave-bar div{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-2);margin-top:4px}
.done{display:none;gap:12px;align-items:center;flex-wrap:wrap;padding:18px;border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--lime-soft)}
.fold.is-done .docket{display:none}
.fold.is-done .done{display:flex}
.rule30{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin-top:26px;padding:14px 16px;border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--app)}
.rule30 .r{font-size:28px;font-weight:800;letter-spacing:-.03em}
.rule30 p{color:var(--ink-2);font-size:15px}

/* Switch */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--hair);border-radius:var(--r-lg);background:var(--paper)}
.steps li{padding:20px 22px 24px;border-left:1.5px dashed #9EA293;min-width:0}
.steps li:first-child{border-left:0}
.steps .n{display:inline-grid;place-items:center;width:32px;height:32px;border:1.5px solid var(--ink);border-radius:50%;font-weight:800}
.steps h3{font-size:20px;margin:14px 0 6px}
.steps p{color:var(--ink-2)}
.steps svg{width:100%;height:12px;margin-top:16px}
.steps small{display:block;font-size:13px;color:var(--ink-2);margin-top:6px}

/* Connect */
.else{margin-top:22px;border-top:1px solid var(--hair);max-width:46ch}
.else li{padding:10px 0 10px 24px;border-bottom:1px solid var(--hair);color:var(--ink-2);position:relative}
.else li::before{content:"";position:absolute;left:2px;top:21px;width:12px;height:1.5px;background:var(--ink-3)}
.else s{text-decoration-thickness:1.5px}
.cn .st-yes,.cn .st-no{display:none}
.cn[data-state="yes"] p.st-yes,.cn[data-state="no"] p.st-no{display:block}
.cn[data-state="yes"] .d-act.st-yes,.cn[data-state="no"] .d-act.st-no{display:flex}
.cn:not([data-state="ask"]) .st-ask{display:none}
.cn .st-yes .stamp{background:var(--lime-soft);color:#243800;border-radius:999px;padding:2px 10px;font-weight:800;font-size:13px;margin-right:6px}

/* Night band */
.sec.night{background:var(--night);color:#fff}
.night .h{color:#fff}
.principles{margin-top:24px;border-top:1px solid var(--night-3)}
.principles li{padding:14px 0;border-bottom:1px solid var(--night-3);font-size:17px;color:#D6D9CD}
.principles b{color:var(--lime)}
.log{background:var(--night-2);border:1px solid var(--night-3);border-radius:var(--r-lg);padding:18px;min-width:0}
.log-h{display:flex;justify-content:space-between;gap:10px;font-size:15px;margin-bottom:12px}
.log-h span{color:var(--night-ink);font-size:13px}
.log li{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--night-3);font-size:14px;color:#fff}
.log small{display:block;color:var(--night-ink)}
.who{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--night-3);font-weight:800;font-size:13px}
.who.lime{background:var(--lime);color:var(--night)}
.log .closed,.log .closed small{color:var(--night-ink)}
.log-f{font-size:12.5px;color:var(--night-ink);margin-top:10px}

/* Guarantee: the one lime band */
.guar{background:var(--lime);color:var(--ink);padding:64px var(--pad)}
.guar-in{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:end}
.guar h2{font-size:clamp(34px,4.6cqi,60px);line-height:1.02;font-weight:800;letter-spacing:-.035em;text-wrap:balance}
.guar-name{font-size:15px;font-weight:800;margin-top:12px}
.guar ol{border-top:2px solid var(--ink)}
.guar li{display:grid;grid-template-columns:40px 1fr;gap:10px;padding:14px 0;border-bottom:1.5px dashed rgba(20,22,15,.45);font-size:17px;font-weight:600}
.guar .k{color:var(--ink)}
.g-btn{margin-top:18px;min-height:48px;padding:0 22px;background:var(--ink);color:var(--lime);font-weight:800;border-radius:var(--r)}
.g-reply{margin-top:12px;font-weight:600}
.g-reply[hidden]{display:none}

/* FAQ */
.faq{margin-top:28px;border-top:1.5px solid var(--ink);max-width:860px}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;min-height:56px;padding:12px 0;font-size:18px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:26px;font-weight:400;line-height:1}
.faq details[open] summary::after{content:"\2212"}
.faq p{color:var(--ink-2);padding:0 0 18px;max-width:62ch}

/* Footer */
.foot{background:var(--night);color:#fff;text-align:center;padding:72px var(--pad) 48px;display:flex;flex-direction:column;align-items:center;gap:14px}
.foot img{width:84px;height:auto}
.foot h2{font-size:clamp(40px,6cqi,76px);font-weight:800;letter-spacing:-.04em;line-height:1}
.foot p{color:#C9CCBF;max-width:52ch;font-size:17px}
.foot .small{font-size:13px;color:#8E9285;margin-top:26px}

@container (max-width:900px){
  .links{display:none}
  .nav{justify-content:space-between}
  .acct .wide{display:none}
  .acct .narrow{display:inline}
  .acct .btn{padding-left:14px;padding-right:14px}
  .hero,.two,.guar-in,.panel{grid-template-columns:minmax(0,1fr)}
  .hero{gap:32px;padding:28px 0 40px}
  .panel{gap:24px}
  .flow{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:minmax(0,1fr)}
  .steps li{border-left:0;border-top:1.5px dashed #9EA293}
  .steps li:first-child{border-top:0}
  .sec{padding-top:64px;padding-bottom:64px}
  .two{gap:32px}
  .crew li.gone{margin:0 -8px;padding:14px 8px}
}
@container (max-width:560px){
  .flow{grid-template-columns:minmax(0,1fr)}
  .cta .btn{width:100%}
  .nav > .btn{display:none}
  .jobs li{grid-template-columns:minmax(0,1fr) auto}
  .jobs li svg{grid-column:1/-1;grid-row:2}
  .pay li{grid-template-columns:70px minmax(0,1fr) 42px}
  .sbody{padding:18px 16px}
}
.fg{fill:var(--good)}.fb{fill:var(--bad)}.fa{fill:#B9770E}.fk{fill:var(--hair-2)}.fi{fill:var(--ink-3)}.fn{fill:var(--ink)}
.due text{font:700 9px var(--font);fill:var(--ink-2)}
@container (max-width:520px){
  .nav{flex-wrap:wrap;row-gap:12px}
  .acct{width:100%}
  .acct .btn{flex:1}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.crew li.gone{margin:0;padding:14px 12px}
.tap{display:inline-block;padding:13px 0;margin:-13px 0}
