/* Niftibot — Caribbean palette */
:root{
  --sand:#FBF7EF;--card:#FFFFFF;--ink:#16323A;--muted:#5B7178;--border:#E6DED0;
  --lagoon:#1FB5C1;--lagoon-deep:#0E7C86;--lagoon-soft:#E3F6F7;
  --palm:#2E9E5B;--palm-deep:#1F7A44;--palm-soft:#DDF3E4;
  --mango:#F4A261;--mango-deep:#B45F1F;--mango-soft:#FDEBDC;
  --coral:#E76F51;--coral-soft:#FBE3DC;
  --code:#0F2A31;--code-ink:#D8F3F1;
  --radius:14px;--shadow:0 1px 2px rgba(22,50,58,.05),0 6px 20px rgba(22,50,58,.06);
}
@media (prefers-color-scheme:dark){:root{
  --sand:#0C2228;--card:#12303A;--ink:#E6F4F2;--muted:#9DB8BC;--border:#1F4550;
  --lagoon:#3CCFD9;--lagoon-deep:#6FE0E7;--lagoon-soft:#123E46;
  --palm:#4CC47E;--palm-deep:#7ADBA0;--palm-soft:#16402B;
  --mango:#F6B37E;--mango-deep:#F6B37E;--mango-soft:#3F2C1E;
  --coral:#F08A70;--coral-soft:#43251F;--code:#081A1F;
  --shadow:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25);
}}
*{box-sizing:border-box}
body{margin:0;background:var(--sand);color:var(--ink);font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--lagoon-deep);text-decoration:none}a:hover{text-decoration:underline}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
:focus-visible{outline:3px solid var(--lagoon);outline-offset:2px;border-radius:6px}

/* nav */
.nav{display:flex;align-items:center;gap:28px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--ink)}
.brand-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--lagoon),var(--palm));display:grid;place-items:center;color:#fff;font-size:15px}
.nav a.l{color:var(--muted);font-weight:500}.nav a.l:hover,.nav a.l.on{color:var(--ink);text-decoration:none}
.nav .sp{flex:1}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-weight:600;border:1px solid transparent;cursor:pointer;font-size:14px}
.btn:hover{text-decoration:none}
.btn-p{background:var(--lagoon-deep);color:var(--sand)}.btn-p:hover{background:var(--lagoon)}
.btn-g{background:var(--card);border-color:var(--border);color:var(--ink)}.btn-g:hover{border-color:var(--lagoon)}
.btn[disabled],.btn.off{opacity:.55;cursor:not-allowed;pointer-events:none}

/* hero */
.hero{background:linear-gradient(180deg,var(--sand) 0%,var(--lagoon-soft) 100%);position:relative;padding:56px 0 84px}
.hero h1{font-size:44px;line-height:1.1;margin:0 0 14px;letter-spacing:-.02em;max-width:720px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--lagoon-deep),var(--palm));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lead{font-size:18px;color:var(--muted);max-width:640px;margin:0 0 26px}
.hero .wave{position:absolute;left:0;right:0;bottom:-1px;height:48px;width:100%;display:block}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}

.stats{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.stat{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 18px;min-width:130px;box-shadow:var(--shadow)}
.stat b{display:block;font-size:24px;line-height:1.1}
.stat span{color:var(--muted);font-size:13px}
.stat.net{display:flex;align-items:center;gap:10px}

/* chips / badges */
.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:600;border:1px solid var(--border);background:var(--card);color:var(--ink);white-space:nowrap}
.chip.sel{background:var(--lagoon-deep);border-color:var(--lagoon-deep);color:var(--sand)}
button.chip{cursor:pointer;font-family:inherit}
.b-x402{background:var(--lagoon-soft);border-color:transparent;color:var(--lagoon-deep)}
.b-nvm{background:var(--mango-soft);border-color:transparent;color:var(--mango-deep)}
.b-ready{background:var(--palm-soft);border-color:transparent;color:var(--palm-deep)}
.b-draft{background:var(--mango-soft);border-color:transparent;color:var(--mango-deep)}
.b-cat{background:transparent;color:var(--muted)}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:26px 0 12px}
.search{flex:1 1 260px;min-width:0;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);border-radius:999px;padding:0 16px;height:44px}
.search input{border:0;outline:0;background:transparent;color:var(--ink);font:inherit;width:100%}
.search:focus-within{border-color:var(--lagoon);box-shadow:0 0 0 3px var(--lagoon-soft)}
select{height:44px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--ink);padding:0 14px;font:inherit}
.seg{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--card)}
.seg button{border:0;background:transparent;color:var(--muted);padding:0 14px;height:42px;font:inherit;cursor:pointer}
.seg button.on{background:var(--lagoon-soft);color:var(--lagoon-deep);font-weight:600}
.filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.filters .lbl{color:var(--muted);font-size:13px;margin-right:2px}
.count{color:var(--muted);font-size:13.5px;margin:10px 0 16px}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;color:var(--ink);transition:transform .15s,border-color .15s}
a.card:hover{text-decoration:none;border-color:var(--lagoon);transform:translateY(-2px)}
.card .top{display:flex;gap:12px;align-items:center}
.tile{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:24px;flex:none}
.t-lagoon{background:var(--lagoon-soft)}.t-palm{background:var(--palm-soft)}.t-mango{background:var(--mango-soft)}.t-coral{background:var(--coral-soft)}
.card h3{margin:0;font-size:16.5px}
.card .pub{color:var(--muted);font-size:13px}
.card p{margin:0;color:var(--muted);font-size:14px;flex:1}
.card .meta{display:flex;flex-wrap:wrap;gap:6px}
.card .foot{display:flex;justify-content:space-between;align-items:center;border-top:1px dashed var(--border);padding-top:12px;font-size:13.5px}
.price{font-weight:700;color:var(--mango-deep)}
.view{color:var(--lagoon-deep);font-weight:600}
.grid.list{grid-template-columns:1fr}
.grid.list .card{flex-direction:row;align-items:center}
.grid.list .card p{flex:2}.grid.list .card .foot{border:0;padding:0;gap:18px}

/* CTA band */
.band{margin:56px 0 0;background:linear-gradient(120deg,#0E7C86,#1F7A44);color:#fff;border-radius:22px;padding:36px;display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.band h2{margin:0 0 8px;font-size:26px}.band p{margin:0;opacity:.9}
.band pre{margin:0;background:rgba(0,0,0,.25);border-radius:12px;padding:14px;white-space:pre-wrap;word-break:break-all;color:#fff}
.harness{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px;color:var(--muted);font-size:14px}
.harness .chip{font-weight:500}
footer{margin:56px 0 0;padding:28px 0;border-top:1px solid var(--border);color:var(--muted);font-size:13.5px}
footer .wrap{display:flex;gap:20px;flex-wrap:wrap}footer .sp{flex:1}

/* service page */
.crumbs{font-size:13.5px;color:var(--muted);margin:22px 0 14px}.crumbs a{color:var(--muted)}.crumbs span{margin:0 6px}
.svc-head{display:flex;gap:18px;align-items:flex-start}
.svc-head .tile{width:64px;height:64px;font-size:34px;border-radius:16px}
.svc-head h1{margin:0 0 8px;font-size:34px;letter-spacing:-.01em}
.svc-head .badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.svc-head p{margin:0;color:var(--muted);font-size:16px;max-width:680px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;margin-top:28px;align-items:start}
.rail{position:sticky;top:20px;display:flex;flex-direction:column;gap:16px}
.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.panel h4{margin:0 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.bigprice{font-size:32px;font-weight:800;color:var(--mango-deep);line-height:1}
.bigprice small{font-size:13px;color:var(--muted);font-weight:500;display:block;margin-top:6px}
.panel .btn{width:100%;justify-content:center;margin-top:10px}
.note{font-size:12.5px;color:var(--muted);margin-top:10px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;font-size:14px}
.kv dt{color:var(--muted)}.kv dd{margin:0;text-align:right;font-weight:600}
.status-na{color:var(--muted);font-weight:500}
section.blk{margin-bottom:40px}
section.blk h2{font-size:22px;margin:0 0 6px}
section.blk .sub{color:var(--muted);margin:0 0 16px;font-size:14px}
.panel label{display:block;margin:0 0 14px;font-size:14px;font-weight:650}
.panel input,.panel textarea{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:11px 12px;border:1px solid var(--border);border-radius:9px;background:var(--sand);color:var(--ink);font:inherit}
.panel textarea{resize:vertical;min-height:120px}
.panel input:focus,.panel textarea:focus{outline:2px solid var(--lagoon);outline-offset:1px}
.callout{border-radius:var(--radius);padding:16px 18px;font-size:14px}
.callout.warn{background:var(--coral-soft);border:1px solid transparent}
.callout.warn b{color:var(--coral)}
.callout ul{margin:8px 0 0;padding-left:18px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.listing-bubble{position:fixed;z-index:20;right:max(20px,calc((100vw - 1200px)/2));bottom:20px;display:flex;align-items:center;gap:9px;padding:13px 18px;border-radius:999px;background:var(--lagoon-deep);color:var(--sand);font-size:14px;font-weight:750;box-shadow:0 8px 28px #163c3f45}.listing-bubble:hover{background:var(--lagoon);text-decoration:none}.listing-bubble span{font-size:20px;line-height:1}.panel label.consent{display:flex;align-items:flex-start;gap:10px;font-weight:500}.panel label.consent input{display:inline-block;width:auto;flex:0 0 auto;margin:4px 0 0}
.mail-fallback{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--sand)}.mail-fallback[hidden]{display:none}.mail-fallback p{font-size:13px;color:var(--muted)}.mail-fallback textarea{background:var(--card);font-size:13px}.mail-fallback .btn{margin:10px 8px 0 0}
.list-x{margin:0;padding:0;list-style:none}.list-x li{padding:6px 0;border-bottom:1px dashed var(--border);font-size:14px}
.list-x li:last-child{border:0}
.steps{display:flex;flex-direction:column;gap:14px}
.step{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px}
.step .n{width:32px;height:32px;border-radius:50%;background:var(--lagoon-soft);color:var(--lagoon-deep);display:grid;place-items:center;font-weight:800}
.step h3{margin:4px 0 4px;font-size:16px}.step p{margin:0;color:var(--muted);font-size:14px}
.rec{border:2px solid var(--lagoon);background:var(--card)}
.rec .chip{margin-left:8px}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:0;overflow-x:auto}
.tabs button{border:0;background:transparent;color:var(--muted);padding:10px 14px;font:inherit;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}
.tabs button.on{color:var(--lagoon-deep);border-color:var(--lagoon)}
.codebox{background:var(--code);color:var(--code-ink);border-radius:0 0 var(--radius) var(--radius);position:relative}
.codebox .hd{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.08);font-size:12.5px;color:#9cc}
.codebox pre{margin:0;padding:16px;overflow:auto;white-space:pre-wrap;word-break:break-word;max-height:340px;line-height:1.5}
.copy{background:rgba(255,255,255,.1);color:#fff;border:0;border-radius:8px;padding:4px 10px;font:inherit;font-size:12px;cursor:pointer}
.copy:hover{background:var(--lagoon-deep)}
.ep{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);margin-bottom:10px;overflow:hidden}
.ep summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:70px 1fr auto auto;gap:14px;align-items:center;padding:14px 16px}
.ep summary::-webkit-details-marker{display:none}
.ep[open] summary{border-bottom:1px solid var(--border)}
.method{font:700 12px ui-monospace,monospace;color:var(--palm-deep);background:var(--palm-soft);border-radius:6px;padding:3px 0;text-align:center}
.ep .nm code{font-weight:700;font-size:14px}.ep .nm div{color:var(--muted);font-size:13px}
.ep .body{padding:16px}
.ep .body pre{background:var(--code);color:var(--code-ink);padding:14px;border-radius:10px;margin:8px 0 0;overflow:auto}
.ep .lbl{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700}

/* UK Compliance free agent demo */
.demo-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.8fr);gap:28px;align-items:center;margin:30px 0 28px;padding:34px;border:1px solid var(--border);border-radius:22px;background:linear-gradient(125deg,var(--lagoon-soft),var(--palm-soft));box-shadow:var(--shadow)}
.demo-hero h1{font-size:38px;line-height:1.1;letter-spacing:-.02em;margin:14px 0 12px;max-width:680px}
.demo-hero .lead{font-size:17px;color:var(--muted);max-width:690px;margin:0}
.demo-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.demo-pills span{background:var(--card);border:1px solid var(--border);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:600}
.demo-bundle{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}.demo-bundle .btn{color:var(--sand)}.demo-schema{font-size:13px;font-weight:600}
.demo-hero-card{display:flex;flex-direction:column;gap:11px;padding:22px;background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}
.demo-label{display:block;color:var(--lagoon-deep);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.demo-hero-card strong{font-size:15px}.demo-hero-card small{color:var(--muted);margin-top:3px;line-height:1.45}
.demo-boundary{margin:0 0 34px}.demo-boundary p{margin:8px 0 0;color:var(--ink)}
.demo-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}
.demo-section-head h2{font-size:24px;margin:0 0 4px}.demo-section-head .sub{margin:0;color:var(--muted)}
.demo-list{display:flex;flex-direction:column;gap:10px}
.demo-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.demo-card[open]{border-color:var(--lagoon)}
.demo-card summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:42px minmax(190px,1fr) minmax(170px,auto) 22px;gap:14px;align-items:center;padding:16px 18px}
.demo-card summary::-webkit-details-marker{display:none}
.demo-number{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--lagoon-soft);color:var(--lagoon-deep);font-weight:800;font-size:13px}
.demo-title{display:flex;flex-direction:column;gap:3px}.demo-title b{font-size:15px}.demo-title small{font-size:12.5px;color:var(--muted)}
.demo-chevron{font-size:18px;color:var(--lagoon-deep);text-align:center}.demo-card[open] .demo-chevron{transform:rotate(45deg)}
.demo-answer{padding:18px 22px 22px;border-top:1px solid var(--border)}
.demo-answer>p{font-size:15px;margin:5px 0 18px;max-width:950px}
.demo-answer h3{font-size:14px;margin:0 0 6px}.demo-answer ul{margin:0 0 18px;padding-left:20px;color:var(--muted);font-size:13.5px}.demo-answer li{padding:3px 0}
.demo-evidence{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:12px 14px;background:var(--lagoon-soft);border-radius:10px;font-size:13px}
.demo-evidence span{color:var(--muted);font-size:12px}.demo-prompt{display:flex;gap:14px;align-items:flex-end;justify-content:space-between;margin-top:15px;padding:14px;background:var(--sand);border:1px solid var(--border);border-radius:10px}
.demo-prompt>div{display:flex;flex-direction:column;gap:7px;min-width:0}.demo-prompt b{font-size:12px}.demo-prompt code{color:var(--muted);white-space:normal;overflow-wrap:anywhere}
.demo-copy{background:var(--card);color:var(--ink);border:1px solid var(--border);white-space:nowrap}.demo-copy:hover{background:var(--lagoon-soft);color:var(--lagoon-deep)}
.demo-download{display:flex;align-items:center;gap:12px;margin-top:14px}.demo-download .btn{font-size:13px;padding:7px 13px}.demo-download span{font-size:12px;color:var(--muted)}
.demo-json{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}.demo-json summary{display:block;padding:7px 0;color:var(--lagoon-deep);font-size:13px;font-weight:700;cursor:pointer}.demo-json pre{max-height:420px;overflow:auto;padding:16px;background:var(--code);color:var(--code-ink);border-radius:10px;white-space:pre-wrap;word-break:break-word}
.demo-data-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.demo-source{padding:19px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}
.demo-source-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--lagoon-soft);color:var(--lagoon-deep);font-size:12px;font-weight:800}.demo-source h3{font-size:16px;margin:12px 0 6px}.demo-source p{min-height:74px;color:var(--muted);font-size:13.5px;margin:0 0 14px}.demo-source .chip{white-space:normal}
.demo-benefits{margin-top:16px;padding:21px 24px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}.demo-benefits h3{margin:0 0 8px;font-size:16px}.demo-benefits ul{margin:0;padding-left:20px;color:var(--muted);font-size:13.5px}.demo-benefits li{padding:5px 0}.demo-benefits b{color:var(--ink)}
.demo-cta{grid-template-columns:1fr auto;margin-top:38px}.demo-cta .btn{color:var(--ink);border-color:var(--border)}
@media(max-width:760px){.demo-hero{grid-template-columns:1fr;padding:24px}.demo-hero h1{font-size:31px}.demo-data-grid{grid-template-columns:1fr}.demo-source p{min-height:0}.demo-card summary{grid-template-columns:38px 1fr 22px}.demo-card summary .chip{grid-column:2;justify-self:start}.demo-chevron{grid-column:3;grid-row:1}.demo-section-head{align-items:flex-start;flex-direction:column}.demo-prompt{align-items:flex-start;flex-direction:column}.demo-cta{grid-template-columns:1fr}}

@media (max-width:900px){
  .nav .btn{display:none}.nav{gap:18px}body{overflow-x:hidden}.stat{min-width:0;flex:1 1 40%}
  .layout{grid-template-columns:minmax(0,1fr)}.svc-head>div{min-width:0}.svc-head h1{font-size:28px}.codebox pre,.ep .body pre{white-space:pre-wrap;word-break:break-word}.rail{position:static}
  .band{grid-template-columns:1fr}.two{grid-template-columns:1fr}
  .hero h1{font-size:34px}.nav a.l.hide-sm{display:none}
  .grid.list .card{flex-direction:column;align-items:stretch}
  .ep summary{grid-template-columns:60px 1fr;}.ep summary .price,.ep summary .chip{grid-column:2}
}
