/* 3ps.online shared theme = the live thirdpartyservicesllc.com look (white, #202326, Inter). Source: projects/site-retheme-2026-11/. Do not use the old navy/amber kit. */
:root{--ink:#202326;--ink2:#41474c;--muted:#555b5e;--muted2:#6a706d;--line:#d5d8d5;--line2:#e2e3e2;--soft:#f3f4f2;--soft2:#f1f2ef;--panel:#e8e9e7;--dark:#252b28;--white:#fff;
  --font:Inter,Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;font:15px/1.65 var(--font);color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol{margin:0}
h1,h2,h3{line-height:1.12;font-weight:600;letter-spacing:-.045em}
h2{font-size:clamp(30px,3.1vw,44px);line-height:1.15}
::selection{background:#202326;color:#fff}
a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.container{width:calc(100% - 112px);max-width:1280px;margin:0 auto}
.section{padding:72px 0}
.soft{background:var(--soft)}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#5b645f;margin-bottom:22px}
.num{font-variant-numeric:tabular-nums}

/* header */
.header{background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}
.header-inner{height:88px;display:flex;align-items:center;gap:30px}
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand-wordmark{width:181px;height:50px;display:block}
.desktop-nav{display:flex;align-items:center;gap:30px;font-size:13px;margin-left:auto}
.desktop-nav a:hover{text-decoration:underline;text-underline-offset:6px}
.header-cta{border:1px solid #aeb4b0;border-radius:4px;min-height:42px;padding:9px 15px;display:flex;align-items:center;gap:20px;font-size:13px;margin-left:10px;white-space:nowrap}
.header-cta:hover{border-color:var(--ink)}
.ar{font-size:18px;line-height:1;font-weight:400}

/* buttons */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 22px;min-height:54px;background:var(--ink);color:#fff;
  font-size:13px;font-weight:500;border-radius:4px;transition:background .2s;white-space:nowrap}
.button .ar{font-size:20px}
.button:hover{background:var(--ink2)}
.button.secondary{background:#fff;color:var(--ink);border:1px solid #aeb4b0}
.button.secondary:hover{border-color:var(--ink);background:#fff}
.quiet-link{font-size:13px;display:inline-flex;align-items:center;gap:12px;padding:10px 0}
.quiet-link:hover{text-decoration:underline;text-underline-offset:5px}
.actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}

/* hero */
.hero{display:grid;grid-template-columns:1.06fr 1fr;gap:64px;align-items:center;padding:48px 0}
.hero h1{font-size:clamp(43px,4.6vw,67px);line-height:1.07;letter-spacing:-.055em}
.hero h1 span{color:var(--muted2)}
.hero-description{font-size:17px;line-height:1.75;max-width:500px;margin-top:27px;color:#535a56}
.hero .actions{margin-top:30px}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.price b{font-size:40px;font-weight:600;letter-spacing:-.04em;line-height:1}
.price span{font-size:14px;color:var(--muted)}
.price .mo{white-space:nowrap}
.price .mo b{font-size:22px;letter-spacing:-.03em;margin-left:2px}
.price-note{font-size:13px;color:var(--muted);margin-top:12px;max-width:470px}
.price-note strong{color:var(--ink);font-weight:600}
.price-note.founding{color:var(--ink);background:var(--soft);border-left:2px solid var(--ink);padding:10px 14px;margin-top:14px}
.foot-note strong{color:var(--ink);font-weight:600}

/* art panel (right of hero) */
.art{display:flex;flex-direction:column;justify-content:space-between;gap:26px;background:var(--soft2);border:1px solid #e3e5e0;border-radius:2px;padding:24px 30px 29px;align-self:stretch;min-height:440px}
.art-top{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:600;letter-spacing:.14em;color:#535d56;text-transform:uppercase}
.art-top .ar{font-size:24px}
.art-cap{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-top:1px solid #cbd0c8;padding-top:22px}
.art-cap h2{font-size:29px;line-height:1.12;letter-spacing:-.045em}
.art-cap p{font-size:12px;line-height:1.65;color:#5b645d;max-width:190px}
.demo-num{display:block;font-size:clamp(40px,4.2vw,58px);font-weight:600;letter-spacing:-.05em;line-height:1}
.demo-num:hover{text-decoration:underline;text-underline-offset:8px;text-decoration-thickness:2px}
.demo-sub{font-size:14px;color:var(--muted);margin-top:14px}
.ring{width:54px;height:54px;border-radius:50%;border:1px solid #9ea4a0;display:grid;place-items:center;margin-bottom:26px;position:relative}
.ring svg{width:24px;height:24px;stroke:var(--ink);stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ring::after{content:'';position:absolute;inset:-1px;border-radius:50%;border:1px solid #9ea4a0;animation:ring 2.6s ease-out infinite}
@keyframes ring{from{transform:scale(1);opacity:.9}to{transform:scale(1.7);opacity:0}}

/* call transcript */
.call{display:flex;flex-direction:column;gap:18px}
.ln{display:grid;grid-template-columns:70px 1fr;gap:14px;opacity:0;transform:translateY(5px);animation:in .5s ease forwards}
.ln .who{font-size:10px;font-weight:600;letter-spacing:.13em;color:#7b837e;padding-top:5px;text-transform:uppercase}
.ln .say{font-size:18px;line-height:1.5;letter-spacing:-.02em;color:var(--muted)}
.ln.ai .say,.ln.line .say{color:var(--ink)}
.ln.ai .who,.ln.line .who{color:var(--ink)}
.ln:nth-child(1){animation-delay:.2s}.ln:nth-child(2){animation-delay:.8s}.ln:nth-child(3){animation-delay:1.4s}.ln:nth-child(4){animation-delay:2s}
@keyframes in{to{opacity:1;transform:none}}

/* strip */
.strip{border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);background:#fafafa}
.strip .container{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;font-size:12px;color:#4d5551}
.strip i{height:3px;width:3px;background:#a9adb0;border-radius:50%;flex-shrink:0}
.strip a:hover{text-decoration:underline;text-underline-offset:4px}

/* section heading */
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:34px}
.sh>p{font-size:14px;color:var(--muted);line-height:1.8;max-width:345px}

/* plan cards */
.plans{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.card{background:#fff;border:1px solid var(--line2);border-radius:2px;padding:26px 24px;display:flex;flex-direction:column;align-items:stretch;min-width:0}
.card.featured{background:var(--panel);border-color:var(--panel)}
.card-label{font-size:10px;font-weight:600;letter-spacing:.1em;color:#59665c;text-transform:uppercase;display:flex;justify-content:space-between;gap:10px}
.card h3{font-size:23px;line-height:1.2;margin-top:18px}
.card>p{font-size:13.5px;color:var(--muted);line-height:1.7;margin-top:12px}
.card .cp{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.card .cp b{font-size:26px;font-weight:600;letter-spacing:-.04em}
.card .cp span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.card ul{list-style:none;padding:0;margin:18px 0 0;font-size:13px;line-height:1.6;color:#45524b;display:flex;flex-direction:column;gap:6px}
.card li{display:flex;gap:10px}
.card li:before{content:'\2014';color:#8a938d;flex-shrink:0}
.card .cta{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:6px}
.card .button{min-height:48px;padding:13px 16px;font-size:12.5px;gap:14px}
.card .quiet-link{justify-content:space-between;font-size:12.5px;border-top:1px solid var(--line);margin-top:10px;padding-top:14px}
.foot-note{font-size:12px;color:var(--muted);margin-top:24px}

/* compare */
.tbl{overflow-x:auto;border:1px solid var(--line2);border-radius:2px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:760px;font-size:13.5px}
th,td{padding:15px 16px;text-align:center;border-bottom:1px solid #eceeec}
th:first-child,td:first-child{text-align:left;color:#45524b}
thead th{font-weight:600;font-size:13px;letter-spacing:-.01em;vertical-align:bottom;border-bottom:1px solid var(--line)}
thead th small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:3px}
thead th a:hover{text-decoration:underline;text-underline-offset:4px}
th.feat,td.feat{background:#f5f6f4}
tbody tr:last-child td{border-bottom:0}
.y{font-size:15px}
.n{color:#b9bebb}
.n:empty:before{content:"\2014"}

/* features */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.feat{background:#fff;border:1px solid var(--line2);border-radius:2px;padding:28px}
.feat .i{font-size:12px;color:#6c7379;display:block}
.feat h3{font-size:21px;margin-top:22px;letter-spacing:-.035em;line-height:1.25}
.feat p{font-size:14px;color:var(--muted);line-height:1.75;margin-top:12px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:38px}
.step-top{border-top:1px solid #cdd0d2;padding-top:18px;display:flex;justify-content:space-between;font-size:12px;color:#6c7379}
.step-top span:last-child{font-size:19px}
.steps h3{font-size:22px;margin-top:22px;letter-spacing:-.035em}
.steps p{font-size:14px;color:var(--muted);margin-top:14px;line-height:1.8}

/* dark band */
.band{background:var(--dark);color:#fff;padding:55px 0}
.band-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}
.band .eyebrow{color:#bec9c0}
.band h2{font-size:39px;line-height:1.13;letter-spacing:-.045em}
.band-intro>p:last-child{font-size:14px;line-height:1.8;color:#c6cec8;max-width:320px;margin-top:23px}
.band-list{display:grid}
.band-list>a,.band-list>div{display:grid;grid-template-columns:25px 1fr 22px;gap:18px;border-top:1px solid #505c53;padding:23px 0}
.band-list>:first-child{padding-top:0;border-top:0}
.band-list>:last-child{padding-bottom:0}
.band-list .bn{font-size:11px;color:#bdc9bf;padding-top:6px}
.band-list h3{font-size:21px;line-height:1.35;letter-spacing:-.025em;font-weight:500}
.band-list p{font-size:13px;color:#c6cec8;line-height:1.75;margin-top:8px;max-width:440px}
.band-list .ba{font-size:25px;line-height:1.4}
.band-list a:hover h3{text-decoration:underline;text-underline-offset:5px}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:#45524b}
.chips span{display:flex;gap:10px}
.chips span:before{content:'\2014';color:#8a938d}

/* neighbours */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.pcard{display:flex;flex-direction:column;align-items:flex-start;padding:31px 32px;border:1px solid #d7dbd5;background:#fff;min-width:0}
.pcard.alt{background:#f1f3ef}
.pcard .lbl{font-size:10px;font-weight:550;letter-spacing:.1em;color:#59665c;text-transform:uppercase}
.pcard h3{font-size:27px;font-weight:550;letter-spacing:-.04em;line-height:1.2;margin:20px 0 14px}
.pcard p{font-size:14px;color:#556057;line-height:1.8;margin-bottom:22px;max-width:430px}
.pcard .pb{display:flex;justify-content:space-between;align-items:center;width:100%;border-top:1px solid #cbd2c9;padding-top:18px;margin-top:auto;font-size:13px;font-weight:500}
.pcard .pb b{font-size:22px;font-weight:400}
.pcard:hover .pb{text-decoration:underline;text-underline-offset:5px}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:17px;font-weight:500;letter-spacing:-.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';font-size:22px;font-weight:300;line-height:1;transition:transform .2s}
.faq details[open] summary:after{transform:rotate(45deg)}
.faq details p{padding:0 0 22px;color:var(--muted);font-size:15px;line-height:1.8;max-width:640px}

/* closing */
.closing{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end;border-top:1px solid #dce0dd;padding-top:56px}
.closing h2{font-size:clamp(32px,3.5vw,47px)}
.closing p{font-size:15px;color:var(--muted);margin-top:18px;max-width:520px;line-height:1.75}

/* thanks */
.todo{list-style:none;padding:0;display:grid;gap:0;border-top:1px solid var(--line);margin-top:40px}
.todo li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:22px 0;border-bottom:1px solid var(--line)}
.todo .tn{font-size:12px;color:#6c7379;padding-top:4px}
.todo h3{font-size:20px;letter-spacing:-.03em}
.todo p{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.75}

/* footer */
.footer{background:#f7f7f6;border-top:1px solid #e8e8e6;margin-top:72px}
.footer-main{display:grid;grid-template-columns:1.25fr 1fr 1.1fr;gap:30px;padding:45px 0}
.footer-main>p{font-size:14px;color:#667076;line-height:1.6}
.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;color:var(--muted)}
.footer-main nav a:hover,.footer-bottom a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;font-size:11px;color:var(--muted)}
.footer-bottom nav{display:flex;gap:20px}

/* mobile action bar */
.mbar{display:none}

@media(max-width:1180px){
  .plans{grid-template-columns:repeat(3,1fr)}
  .steps{grid-template-columns:1fr 1fr}
}
@media(max-width:1100px){
  .container{width:calc(100% - 72px)}
  .hero{gap:32px}.hero h1{font-size:50px}
  .band-grid,.faq-grid{gap:40px}
  .desktop-nav{gap:19px}
}
@media(max-width:860px){
  .plans{grid-template-columns:1fr 1fr}
  .feats{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  html{scroll-padding-top:90px}
  .container{width:calc(100% - 32px)}
  .section{padding:46px 0}
  .header-inner{height:72px;gap:14px}
  .brand-wordmark{width:147px;height:41px}
  .desktop-nav{display:none}
  .header-cta{margin-left:auto;min-height:38px;padding:7px 12px;font-size:12px;gap:12px}
  .hero{grid-template-columns:1fr;padding:34px 0 30px;gap:30px}
  .hero h1{font-size:clamp(38px,9.4vw,59px)}
  .hero .eyebrow{font-size:9px;letter-spacing:.1em}
  .hero-description{font-size:16px;margin-top:22px}
  .art{min-height:0;padding:22px}
  .art-cap{flex-direction:column;align-items:flex-start;gap:10px}
  .art-cap p{max-width:100%}
  .ln{grid-template-columns:58px 1fr;gap:10px}
  .ln .say{font-size:16px}
  .strip .container{flex-wrap:wrap;justify-content:flex-start;gap:9px 16px;font-size:11px}
  .strip i{display:none}
  .strip span:before,.strip a:before{content:'\2022';color:#a2a8ab;margin-right:9px}
  .sh{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:26px}
  h2{font-size:33px}
  .plans,.feats,.pair{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;gap:28px}
  .band{padding:40px 0}
  .band-grid,.faq-grid{grid-template-columns:1fr;gap:28px}
  .band h2{font-size:33px}
  .closing{grid-template-columns:1fr;gap:26px;padding-top:40px}
  .actions .button{flex:1 1 100%}
  .footer-main{grid-template-columns:1fr;padding:30px 0}
  .footer-main nav{gap:14px 22px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}
  .mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e3e5e0}
  .mbar .button{flex:1;min-height:48px;padding:12px 14px;font-size:12.5px;gap:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.ln{opacity:1;transform:none}}

/* ===== site-wide additions: 3ps.online re-theme 2026-11-10 (source: projects/site-retheme-2026-11/) ===== */
img{max-width:100%;height:auto}
body:has(.mbar){padding-bottom:0}
@media(max-width:760px){body{padding-bottom:0}body:has(.mbar){padding-bottom:76px}}

/* mobile menu (CSS only) */
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;border:1px solid #aeb4b0;border-radius:4px;min-height:38px;padding:7px 12px;font-size:12px;display:flex;align-items:center;gap:8px}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;right:0;top:46px;background:#fff;border:1px solid #e3e5e0;box-shadow:0 12px 30px #0001;min-width:230px;padding:6px 18px;z-index:40}
.mnav nav a{display:block;padding:12px 0;border-top:1px solid var(--line);font-size:14px}
.mnav nav a:first-child{border-top:0}
@media(max-width:760px){.mnav{display:block}.header-cta{margin-left:auto}}

/* breadcrumb */
.crumbs{font-size:12px;color:var(--muted);padding-top:22px}
.crumbs a:hover{text-decoration:underline;text-underline-offset:4px}
.crumbs span{margin:0 8px;color:#a9adb0}

/* long-form copy: guides, legal, articles */
.prose{max-width:760px}
.prose>:first-child{margin-top:0}
.prose h2{font-size:clamp(26px,2.6vw,34px);margin:52px 0 16px}
.prose h3{font-size:21px;margin:34px 0 10px;letter-spacing:-.03em}
.prose h4{font-size:17px;margin:26px 0 8px;letter-spacing:-.02em;font-weight:600}
.prose p,.prose li{font-size:16px;line-height:1.8;color:#3d4347}
.prose p{margin:0 0 16px}
.prose ul,.prose ol{margin:0 0 18px;padding-left:22px}
.prose li{margin:6px 0}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose strong{color:var(--ink);font-weight:600}
.prose code{font:14px/1.5 ui-monospace,Menlo,Consolas,monospace;background:var(--soft);padding:2px 6px;border-radius:3px}
.prose table{min-width:0;margin:10px 0 24px;border:1px solid var(--line2);font-size:14px}
.prose th,.prose td{text-align:left;padding:12px 14px;vertical-align:top}
.prose blockquote{margin:24px 0;padding:14px 20px;border-left:2px solid var(--ink);background:var(--soft);color:#3d4347}
.prose img{border:1px solid #e3e5e0;border-radius:2px}
.layout-aside{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:64px;align-items:start}
.aside{position:sticky;top:110px;background:var(--soft2);border:1px solid #e3e5e0;border-radius:2px;padding:24px}
.aside h3{font-size:19px;margin:12px 0 8px}
.aside p{font-size:13.5px;color:var(--muted);line-height:1.7}
.aside .button{width:100%;margin-top:18px}
.toc{list-style:none;padding:0;margin:0;font-size:13.5px;display:grid;gap:8px}
.toc a:hover{text-decoration:underline;text-underline-offset:4px}

/* callout */
.note{background:var(--soft);border-left:2px solid var(--ink);padding:14px 18px;font-size:14px;color:#3d4347;line-height:1.7}
.note strong{color:var(--ink);font-weight:600}
.meta-line{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted);margin-top:18px}

/* stats row */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:22px 18px 22px 0}
.stat b{display:block;font-size:34px;font-weight:600;letter-spacing:-.04em;line-height:1}
.stat span{display:block;font-size:12px;color:var(--muted);margin-top:8px}

/* service index list */
.svc-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.svc{display:grid;grid-template-columns:1fr auto;gap:6px 18px;padding:20px 0;border-top:1px solid var(--line)}
.svc h3{font-size:20px;letter-spacing:-.03em;font-weight:600}
.svc p{grid-column:1/-1;font-size:13.5px;color:var(--muted);line-height:1.7}
.svc .pr{font-size:13px;color:var(--ink);white-space:nowrap}
.svc:hover h3{text-decoration:underline;text-underline-offset:5px}

/* forms */
.form{border:1px solid #dce0dc;border-radius:2px;padding:28px;background:#fafbf9}
.form label{display:block;font-size:13px;font-weight:550;color:#434a45;margin-bottom:16px}
.form input,.form textarea,.form select{display:block;width:100%;border:1px solid #c7ceca;background:#fff;border-radius:3px;padding:11px 12px;margin-top:7px;font:16px/1.5 var(--font);color:var(--ink)}
.form textarea{min-height:112px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid #303b34;outline-offset:2px}
button.button{border:0;cursor:pointer;font-family:var(--font)}

/* media */
.figure{margin:0;border:1px solid #e3e5e0;background:var(--soft2);border-radius:2px;overflow:hidden}
.figure img{display:block;width:100%;height:auto}
.figure figcaption{font-size:12px;color:var(--muted);padding:10px 14px;border-top:1px solid #e3e5e0}

@media(max-width:1000px){.layout-aside{grid-template-columns:1fr;gap:36px}.aside{position:static}}
@media(max-width:760px){.stats{grid-template-columns:1fr 1fr}.svc-list{grid-template-columns:1fr}.prose p,.prose li{font-size:15.5px}.form{padding:22px 18px}}

/* shared fixes from the conversion pass */
.closing .eyebrow{font-size:10px;margin-top:0}
.plans.three{grid-template-columns:repeat(3,1fr)}
.steps.three{grid-template-columns:repeat(3,1fr)}
.stats.three{grid-template-columns:repeat(3,1fr)}
.faq summary{min-width:0}
.faq summary>*,.faq details p{overflow-wrap:anywhere}
@media(max-width:860px){.plans.three{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.plans.three,.steps.three{grid-template-columns:1fr}.stats.three{grid-template-columns:1fr 1fr}}
