/* /clean-design.css */
:root{--ink:#173b40;--muted:#607174;--paper:#f8f9f5;--lime:#e9f16d;--line:#dce3de}
*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:0}body.clean-site{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #759fa0;outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.clean-nav{height:88px;display:flex;align-items:center;gap:36px;padding:0 40px;position:sticky;top:0;z-index:30;background:rgba(248,249,245,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}.wordmark{font-family:Outfit,sans-serif;font-size:39px;font-weight:600;letter-spacing:-2.3px;line-height:1}.wordmark span{font:11px Inter,sans-serif;vertical-align:top;letter-spacing:0;margin-left:3px}.nav-links{display:flex;gap:28px;align-items:center;margin-left:auto;font-size:13px;font-weight:500}.nav-links>a:last-child{display:none}.nav-links a{color:var(--ink)!important}.nav-actions{display:flex;align-items:center;gap:24px;font-size:13px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;padding:16px 23px;border-radius:8px;font-size:13px;font-weight:600;transition:background .2s,transform .2s;border:1px solid transparent;line-height:1.25}.button:hover{transform:translateY(-2px);background:#dce661}.lime{background:var(--lime);color:var(--ink)}.mobile-toggle{display:none}.hero{display:grid;grid-template-columns:1.03fr 1fr;gap:62px;align-items:center;padding-top:86px;padding-bottom:88px}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:600;line-height:1.7}.eyebrow i{height:6px;width:6px;background:#72978e;border-radius:50%}h1,h2,h3{font-family:Outfit,sans-serif;font-weight:400}h1{font-size:clamp(48px,5.5vw,76px);line-height:1.03;letter-spacing:-.045em;margin:23px 0}h1 em,h2 em{font-style:normal;color:#648781}.hero-copy>p,.firm-hero>p{font-size:15px;line-height:1.8;max-width:440px;color:var(--muted)}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:28px}.text-link{font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:15px;padding:9px 0}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.hero-copy .micro{font-size:10px;margin-top:18px}.firm-shortcut{display:block;font-size:11px;line-height:1.6;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);max-width:410px}.hero-product{border:1px solid #d6dfd8;background:white;border-radius:16px;box-shadow:0 24px 60px #1d454010;position:relative;transform:rotate(-1deg)}.window-bar{padding:18px 22px;border-bottom:1px solid #e4e9e5;display:flex;justify-content:space-between;align-items:center}.mini-brand{font-size:14px;font-weight:600;letter-spacing:-.5px}.sample-label{font-size:9px;color:#7a8a89}.workspace{padding:26px}.workspace-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.workspace-heading small{font-size:8px;letter-spacing:.12em;color:var(--muted)}.workspace-heading h2{font-size:25px;margin:8px 0 23px;letter-spacing:-.03em}.status{font-size:8px;color:#38756b;background:#edf5ee;padding:6px 8px;border-radius:5px;white-space:nowrap}.metrics{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;margin-bottom:24px}.metrics>div{padding:16px;background:#f6f8f4;border:1px solid #e7ece5;border-radius:9px}.metrics small{font-size:10px;color:var(--muted)}.metrics strong{display:block;font-size:26px;font-weight:500;letter-spacing:-1px;margin-top:12px}.metrics strong span{float:right;font-size:17px;color:#799589}.metrics p{font-size:9px;color:var(--muted);line-height:1.6}.metrics svg{width:100%;height:42px;overflow:visible}.metrics path{fill:none;stroke:#648c7e;stroke-width:2;stroke-dasharray:300;stroke-dashoffset:300;animation:chart-draw 3s ease forwards}.document-row{display:flex;gap:12px;align-items:center;border-top:1px solid #e6ebe6;padding:15px 0;animation:entry-in .9s both}.document-row:nth-child(4){animation-delay:.2s}.doc-icon{font-size:20px;border:1px solid var(--line);border-radius:6px;padding:4px 8px}.document-row b{display:block;font-size:10px;font-weight:500}.document-row small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.document-row>.status{margin-left:auto}.ai-message{background:#edf1e7;border:1px solid #dce4d2;padding:16px;border-radius:9px;display:flex;align-items:flex-start;gap:12px;margin-top:12px;animation:entry-in 1s .4s both}.ai-message img{width:22px;height:22px}.ai-message b{font-size:10px;font-weight:600}.ai-message p{font-size:9px;line-height:1.6;margin:6px 0 0;color:var(--muted)}.workspace-link{display:flex;justify-content:space-between;margin-top:23px;font-size:10px;font-weight:600}.floating-note{position:absolute;bottom:-21px;right:25px;background:#244b46;color:white;border-radius:9px;padding:15px 21px;font-size:10px;box-shadow:0 10px 20px #153b401c}.floating-note span{color:var(--lime);margin-right:10px}.connection-strip{display:flex;align-items:center;gap:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:24px;padding-bottom:24px}.connection-strip>span:first-child{font-size:9px;letter-spacing:.13em;margin-right:auto;color:var(--muted)}.connection-strip>span{display:flex;align-items:center;gap:10px;font-size:16px}.connection-strip img{width:24px;height:24px}.connection-strip small{font-size:9px;color:var(--muted)}.section{padding-top:96px;padding-bottom:96px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:40px}h2{font-size:clamp(34px,3.8vw,49px);line-height:1.08;letter-spacing:-.035em;margin:18px 0 0}.section-heading>p{max-width:345px;font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 4px}.tour-shell{border:1px solid #d2ded6;border-radius:14px;overflow:hidden;background:white}.tour-tabs{display:flex;padding:10px;gap:7px;background:#eef2eb;border-bottom:1px solid #d9e3d8}.tour-tabs button{flex:1;border:0;background:transparent;border-radius:6px;padding:16px;cursor:pointer;text-align:left;font-size:10px;color:#638078;display:flex;gap:17px;align-items:center}.tour-tabs button span{font-size:12px;font-weight:500;color:var(--ink)}.tour-tabs button[aria-selected=true]{background:white;box-shadow:0 2px 7px #163b4010}.motion-frame{position:relative;aspect-ratio:16/9;background:#18393f;overflow:hidden}.motion-frame iframe{position:absolute;width:100%;height:100%;inset:0;border:0}.tour-caption{padding:18px 24px;display:flex;justify-content:space-between;gap:16px;font-size:10px;background:#fff;line-height:1.6}.tour-caption>span{color:var(--muted)}.tour-caption a{font-weight:600}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:38px}.feature-row>div>span{font-size:10px;color:#79918a}.feature-row h3{font-size:19px;margin:14px 0 8px;letter-spacing:-.02em}.feature-row p{font-size:12px;line-height:1.8;color:var(--muted);margin:0}.firm-section{background:#193e40;color:#fff;padding:84px 0}.firm-grid{display:grid;grid-template-columns:1fr 1fr;gap:92px;align-items:center}.firm-section .eyebrow{color:#dfe9e6}.firm-section h2{margin:22px 0}.firm-section h2 em{color:#bdcec6}.firm-section p{font-size:14px;line-height:1.8;color:#e3ece9}.firm-section small{display:block;margin-top:22px;color:#b7c9c2;font-size:10px}.portal-stack{border-top:1px solid #476362}.portal-stack>a{display:flex;align-items:center;gap:22px;padding:24px 0;border-bottom:1px solid #476362;transition:padding .2s}.portal-stack>a:hover{padding-left:10px}.portal-number{font-size:12px;color:#e3ece9}.portal-stack h3{font-size:21px;margin:0}.portal-stack p{font-size:13px;margin:5px 0 0}.portal-stack>a>span:last-child{margin-left:auto;color:var(--lime)}.assistance{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.assistance p{font-size:14px;color:var(--muted);line-height:1.8;max-width:420px}.support-options details{border-bottom:1px solid var(--line);padding:24px 0}.support-options details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;font-size:14px;font-weight:500;display:flex;gap:15px;justify-content:space-between;line-height:1.6}summary::-webkit-details-marker{display:none}summary span{font-size:20px;font-weight:400;transition:transform .2s}details[open] summary span{transform:rotate(45deg)}.support-options p{font-size:12px;line-height:1.8;max-width:95%}.support-options a{font-size:11px;font-weight:600}.firm-section .support-options details{border-color:#476362}.closing{background:#eaf0e6;border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:58px;padding-bottom:58px;margin-bottom:80px}.closing h2{font-size:42px}.closing>div:last-child{padding-left:30px;border-left:1px solid #cddacc}.closing p{font-size:14px;line-height:1.8;color:var(--muted)}.price{font-size:50px;font-family:'Google Sans Flex',Arial,sans-serif;letter-spacing:-2px}.price span{font:13px 'Google Sans Flex',Arial,sans-serif;letter-spacing:0;margin-left:7px}.closing small,.closing>div>a:not(.button){display:block;font-size:13px;margin-top:14px}.clean-footer{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-top:10px;padding-bottom:28px}.clean-footer p{font-size:12px;line-height:1.8;color:var(--muted);margin-top:20px}.clean-footer b{font-size:11px;display:block;margin:7px 0 20px}.clean-footer>div>a:not(.wordmark){display:block;font-size:11px;color:var(--muted);margin-top:14px}.footer-bottom{border-top:1px solid var(--line);padding-top:25px;grid-column:1/-1;display:flex;align-items:center;gap:24px;font-size:12px;color:var(--muted)}.footer-bottom span{margin-right:auto}.clean-footer .footer-bottom>a{margin:0!important;font-size:12px!important}.firm-hero{text-align:center;padding-top:76px;padding-bottom:58px}.firm-hero .eyebrow,.firm-hero .actions{justify-content:center}.firm-hero h1{font-size:clamp(48px,6.5vw,84px)}.firm-hero>p{margin:20px auto}.firm-hero>small{display:block;font-size:10px;color:var(--muted);margin-top:22px}.firm-movie .motion-frame{border-radius:14px 14px 0 0}.firm-movie .tour-caption{border:1px solid var(--line);border-radius:0 0 14px 14px}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.product-grid article{background:#eef2ea;padding:35px;border-radius:12px;display:flex;flex-direction:column;scroll-margin-top:110px}.product-card-top{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#617b71}.product-grid h3{font-size:30px;line-height:1.15;letter-spacing:-.025em;max-width:330px;margin:35px 0 16px}.product-grid p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 25px}.product-grid a{margin-top:auto}.svc-dd{position:relative}.svc-menu{display:none;position:absolute;top:100%;left:-15px;min-width:255px;padding:13px;background:white;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px #173b4017}.svc-menu a{display:block;padding:10px;font-size:12px;border-radius:5px}.svc-menu a:hover{background:#edf2e9}.svc-open-business [data-svc-key=business]>.svc-menu,.svc-open-firms [data-svc-key=firms]>.svc-menu,.svc-open-services [data-svc-key=services]>.svc-menu{display:block}@keyframes chart-draw{to{stroke-dashoffset:0}}@keyframes entry-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1500px){.clean-nav{padding-left:calc((100vw - 1144px)/2);padding-right:calc((100vw - 1144px)/2)}}
@media(max-width:1100px){.nav-links{gap:18px}.nav-links>a{display:none}.clean-nav{gap:24px}.hero{gap:35px}.hero h1{font-size:60px}.firm-grid{gap:50px}.connection-strip{gap:22px}.nav-actions{gap:15px}}
@media(max-width:850px){.wrap{padding-left:26px;padding-right:26px}.clean-nav{height:74px;padding:0 26px}.nav-links,.nav-actions{display:none}.mobile-toggle{display:flex;margin-left:auto;gap:20px;align-items:center;background:transparent;border:0;font-size:12px;padding:12px 0;color:var(--ink)}#clean-mobile{position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:18px 26px 26px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #173b4015}#clean-mobile a{display:block;padding:13px 0;font-size:15px}.hero{grid-template-columns:1fr;gap:48px;padding-top:48px;padding-bottom:65px}.hero-copy>p{max-width:500px}.hero h1{font-size:62px}.hero-product{max-width:560px;width:100%;justify-self:center;transform:none}.connection-strip{flex-wrap:wrap;gap:20px}.connection-strip>span:first-child{width:100%}.connection-strip small{margin-left:auto}.section{padding-top:64px;padding-bottom:64px}.section-heading{gap:25px}.section-heading>p{max-width:280px}.firm-grid,.assistance{grid-template-columns:1fr;gap:40px}.firm-section{padding:64px 0}.firm-grid>div:first-child{max-width:560px}.closing{margin-left:26px;margin-right:26px;gap:32px;padding-top:40px;padding-bottom:40px}.closing h2{font-size:33px}.feature-row{gap:24px}.tour-tabs button{padding:13px 10px;gap:8px}.clean-footer{gap:25px}.product-grid article{padding:26px}}
@media(max-width:540px){.hero h1{font-size:53px}.hero .eyebrow{font-size:8px}.hero-copy>p{font-size:14px}.hero .actions{gap:19px}.button{padding:15px 18px;font-size:12px}.text-link{font-size:12px}.workspace{padding:19px}.window-bar{padding:16px 19px}.floating-note{font-size:9px;right:15px;padding:13px}.workspace-heading h2{font-size:23px}.connection-strip>span{font-size:15px}.connection-strip small{width:100%;margin:0}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none;font-size:13px}.tour-tabs{padding:7px;gap:3px}.tour-tabs button{flex-direction:column;align-items:flex-start;gap:7px;padding:11px 8px}.tour-tabs button span{font-size:10px;line-height:1.4}.motion-frame{aspect-ratio:4/3}.tour-caption{flex-direction:column;padding:15px 18px;font-size:9px;gap:8px}.feature-row{grid-template-columns:1fr;gap:25px}.feature-row>div{border-bottom:1px solid var(--line);padding-bottom:23px}.feature-row h3{margin-top:10px}.closing{grid-template-columns:1fr;gap:28px;margin-bottom:55px}.closing>div:last-child{padding:25px 0 0;border-left:0;border-top:1px solid #cddacc}.clean-footer{grid-template-columns:1fr 1fr}.clean-footer>div:first-child{grid-column:1/-1}.footer-bottom{flex-wrap:wrap;gap:16px}.clean-footer{padding-bottom:96px}.footer-bottom span{width:100%}.product-grid{grid-template-columns:1fr}.firm-hero{padding-top:50px}.firm-hero h1{font-size:48px}.firm-hero p{font-size:13px}.firm-hero .actions{gap:18px}.firm-movie{padding-left:15px;padding-right:15px}}
.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.price-card{background:white;border:1px solid var(--line);border-radius:12px;padding:30px 26px;display:flex;flex-direction:column}.price-card.featured{background:#edf2e7;border-color:#b9c9ae}.price-card h2{font-size:27px;min-height:66px;margin:21px 0 24px}.price-card .eyebrow{font-size:8px}.quote-price{font:29px 'Google Sans Flex',Arial,sans-serif;letter-spacing:-.03em;min-height:63px;display:flex;align-items:center}.price-card p{font-size:10px;color:var(--muted);margin:10px 0}.price-card ul{list-style:none;padding:22px 0;margin:12px 0 20px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;display:grid;gap:16px}.price-card li{padding-left:20px;position:relative}.price-card li::before{content:'✓';position:absolute;left:0;color:#618174}.price-card .button{margin-top:auto}.outline{border-color:#bfcfc3}.outline:hover{background:#eef2e8}.price-card small{font-size:9px;line-height:1.7;color:var(--muted);margin-top:17px}.service-note{padding-top:44px;text-align:center}.service-note h3{font-size:23px;margin:0}.service-note p{font-size:12px;color:var(--muted);line-height:1.7}.clean-site section[id]{scroll-margin-top:100px}.clean-site .nav-links>a:last-child{display:none}
@media(max-width:850px){.pricing-grid{grid-template-columns:1fr;max-width:600px}.price-card h2{min-height:0}.price-card{padding:30px}.price-card ul{margin-top:10px}.price-card .eyebrow{font-size:9px}.price-card li{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.metrics path{stroke-dashoffset:0}}
.motion-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;background:#edf2eb;border-top:1px solid #d5e0d4}.motion-actions button{border:1px solid #bdcdbf;border-radius:6px;background:white;color:#244a42;min-height:40px;min-width:65px;font-size:11px;cursor:pointer}.motion-actions button:hover{background:#e9f16d}
.wordmark{display:inline-flex;flex-shrink:0}.wordmark .brand-mark{display:block;width:116px;height:30px;margin:0;background:#173b40;mask:url(/assets/vacei-word-mask.png?v=31c81e3068) center/contain no-repeat;-webkit-mask:url(/assets/vacei-word-mask.png?v=31c81e3068) center/contain no-repeat}
.motion-frame::before{content:"Loading animated walkthrough…";position:absolute;inset:0;display:grid;place-items:center;background:#193e40;color:#c6d7cf;font:12px Inter,sans-serif;z-index:2;pointer-events:none}.motion-frame.motion-ready::before{display:none}
/* Keep every navigation destination reachable on short phone screens. The
   header stays beside its close control while the links scroll independently. */
@media(max-width:1024px){
  body.clean-site .mobile-toggle{min-height:44px;padding:10px 14px;gap:12px;border:1px solid var(--line);border-radius:999px;font-size:14px;cursor:pointer}
  .mobile-toggle span{display:inline-flex;justify-content:center;width:18px;font-size:18px;line-height:1}
  html.clean-menu-open{overflow:hidden}
  html.clean-menu-open body.clean-site{overflow:hidden;padding-top:74px}
  html.clean-menu-open body.clean-site .clean-nav{position:fixed!important;top:0!important;left:0;right:0;z-index:1100;background:#fff!important;--logo-color:#173b40;color:#173b40}
  html.clean-menu-open .mobile-toggle{color:#173b40!important}
  body.clean-site #clean-mobile{position:fixed;top:74px;bottom:0;max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 20px max(24px,env(safe-area-inset-bottom))}
  body.clean-site #clean-mobile a{display:flex;align-items:center;min-height:48px;padding:12px 8px;line-height:1.5}
  html.clean-menu-open body.clean-site #clean-mobile .button{justify-content:space-between;min-height:52px;margin-top:12px;padding:12px 16px}
}
/* /pricing: the two tools side by side (2026-10-30) */
.pricing-grid.is-two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:850px){.pricing-grid.is-two{grid-template-columns:1fr}}

/* /brand-refinement.css */
/* Original Vacei cover palette and rounded surfaces, with the clearer page structure. */
.clean-site{--paper:#fafbf9;--lime:#e9f16d;--cover-1:#33646e;--cover-2:#4e7b84;--cover-3:#6b939b;--cover-4:#8faeb3}
.clean-site .button{border-radius:999px}
.clean-site .hero.wrap{max-width:none;padding-left:max(48px,calc((100vw - 1144px)/2));padding-right:max(48px,calc((100vw - 1144px)/2));background:radial-gradient(ellipse at 80% 0%,#ffffff22,transparent 60%),linear-gradient(112deg,var(--cover-1),var(--cover-2) 48%,var(--cover-4));border-radius:0 0 34px 34px;position:relative;overflow:hidden;padding-top:78px;padding-bottom:84px}
.hero-copy{position:relative;z-index:1}.hero-copy h1{color:#fff;font-weight:400}.hero-copy h1 em{color:#e7eee2}.hero-copy>.eyebrow{color:#e0e9e8}.hero-copy>.eyebrow i{background:var(--lime)}.hero-copy>p{color:#f0f5f2}.hero-copy .micro{color:#e2ece8}.hero-copy .text-link{color:#fff}.hero-copy .firm-shortcut{border-color:#ffffff38;color:#fff}.hero-product{transform:none;border-radius:22px;border:1px solid #ffffff66;box-shadow:0 28px 80px #153b4030}.hero-product .window-bar{background:#f4f6f2;border-radius:22px 22px 0 0}.hero-product .floating-note{background:#143c3f;border:1px solid #ffffff38;border-radius:999px;right:22px;bottom:-20px}.clean-site .connection-strip{border-top:0;margin-top:12px}.clean-site .firm-section{background:radial-gradient(ellipse at 0 0,#6b939b44,transparent 65%),linear-gradient(120deg,#254f59,#173a43 60%,#122d33)}.clean-site .portal-stack>a{border-color:#ffffff25}.clean-site .portal-stack>a:hover{background:#ffffff05}.clean-site .closing{background:radial-gradient(ellipse at 100% 0%,#d4e2df 0%,transparent 70%),#eef3ed;border-radius:24px}.clean-site .product-grid article{border-radius:20px;background:#edf2ef;border:1px solid #dfe8e0}.clean-site .price-card{border-radius:20px}.clean-site .tour-shell{border-radius:22px}.clean-site .price-card.featured{border-color:#789c8f;background:linear-gradient(145deg,#eaf2e6,#f3f6ed)}
body[data-page="for-firms"] .firm-hero,body[data-page="books"] .firm-hero,body[data-page="bookkeeping"] .firm-hero,body[data-page="audit"] .firm-hero{max-width:none;background:radial-gradient(ellipse at 85% 0%,#ffffff18,transparent 60%),linear-gradient(112deg,#33646e,#4e7b84 62%,#6b939b);padding-top:66px;padding-bottom:115px;border-radius:0 0 34px 34px;color:white}
body[data-page="for-firms"] .firm-hero h1,body[data-page="books"] .firm-hero h1,body[data-page="bookkeeping"] .firm-hero h1,body[data-page="audit"] .firm-hero h1{font-size:clamp(46px,5.6vw,72px)}
body[data-page]:not([data-page="pricing"]) .firm-hero h1 em{color:#e0eade}
body[data-page]:not([data-page="pricing"]) .firm-hero>p,body[data-page]:not([data-page="pricing"]) .firm-hero>small{color:#edf3ee}
body[data-page]:not([data-page="pricing"]) .firm-hero .eyebrow{color:#dde9e3}
body[data-page]:not([data-page="pricing"]) .firm-hero .eyebrow i{background:var(--lime)}
.firm-hero+.firm-movie{margin-top:-55px;position:relative;z-index:1}.firm-movie .motion-frame{border:1px solid #ffffff40;border-bottom:0;border-radius:22px 22px 0 0;box-shadow:0 20px 65px #183b4015}.firm-movie .tour-caption{border-radius:0 0 22px 22px}
.clean-site .tour-tabs{background:#e8efeb}.clean-site .motion-actions{background:#edf2ee}.clean-site .firm-shortcut:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.clean-site .clean-nav{gap:20px}.clean-site .nav-links{gap:17px;font-size:12px}.clean-site .nav-actions{gap:15px}.clean-site .hero.wrap{gap:35px}.clean-site .hero h1{font-size:58px}}
@media(max-width:1024px){.clean-site .nav-links,.clean-site .nav-actions{display:none}.clean-site .mobile-toggle{display:flex;margin-left:auto;gap:20px;align-items:center;background:transparent;border:0;font-size:12px;padding:12px 0;color:var(--ink)}.clean-site .clean-nav{height:74px;padding:0 26px}.clean-site #clean-mobile{position:absolute;top:74px;left:0;right:0;background:var(--paper);padding:18px 26px 26px;border-bottom:1px solid var(--line);box-shadow:0 20px 30px #173b4015}.clean-site #clean-mobile a{display:block;padding:13px 0;font-size:15px}.clean-site #clean-mobile a.button{display:flex;justify-content:center;margin-top:14px;padding:15px 22px}}
@media(max-width:850px){.clean-site .hero.wrap{padding:48px 26px 65px;gap:46px;border-radius:0 0 26px 26px}.clean-site .hero h1{font-size:62px}.hero-product{width:100%}.hero-copy .firm-shortcut{max-width:500px}.clean-site .connection-strip{margin-top:0}.firm-hero+.firm-movie{margin-top:-42px}body[data-page="for-firms"] .firm-hero,body[data-page="books"] .firm-hero,body[data-page="bookkeeping"] .firm-hero,body[data-page="audit"] .firm-hero{padding-top:50px;padding-bottom:88px;border-radius:0 0 26px 26px}}
@media(max-width:540px){.clean-site .hero h1{font-size:52px}.hero-product .floating-note{right:10px;font-size:8px;padding:13px 15px}.clean-site .hero-copy .micro{font-size:9px}body[data-page="for-firms"] .firm-hero h1,body[data-page="books"] .firm-hero h1,body[data-page="bookkeeping"] .firm-hero h1,body[data-page="audit"] .firm-hero h1{font-size:46px}.clean-site .connection-strip{padding-top:26px;padding-bottom:26px}}
@media(max-width:850px){.clean-site .hero.wrap{background:radial-gradient(ellipse at 100% 0%,#ffffff0a,transparent 60%),linear-gradient(140deg,#2d5963,#416e78)}body[data-page="for-firms"] .firm-hero,body[data-page="books"] .firm-hero,body[data-page="bookkeeping"] .firm-hero,body[data-page="audit"] .firm-hero{background:linear-gradient(135deg,#2d5963,#416e78)}}

/* /fonts/google-sans-flex.css */
/* Google Sans Flex (opsz 8-144, wght 400-600), self-hosted so first paint never waits on two Google
   origins and an @import chain. The same woff2 subsets and descriptors that
   fonts.googleapis.com/css2?family=Google+Sans+Flex:opsz,wght@8..144,400..600&display=swap served on
   2026-10-04 (v23). SIL Open Font License 1.1: fonts/google-sans-flex/OFL.txt.
   Each unicode-range is the range Google served cut down to the characters its file can draw (perf,
   2026-10-05). Google declares one generic range per subset, wider than the file: the arrows and marks
   the pages use (↗ → ☰ ✓) sit in the symbols and math ranges, but neither file has them, so every
   page downloaded both (106 KB) and laid its text out again as each arrived, only for those characters
   to fall back to the next font, as they always did and still do. A browser downloads a subset only
   for a character it can draw now; what each character renders in is unchanged. The pages whose hero
   fade waits for the face (index, outsourced-audit, outsourced-bookkeeping) preload latin.woff2. */
/* canadian-aboriginal */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/canadian-aboriginal.woff2?v=e08ee6f354) format('woff2');
  unicode-range: U+02C7, U+02D8-02D9, U+02DB, U+0307, U+25CC;
}
/* cherokee */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/cherokee.woff2?v=6b3490a7ae) format('woff2');
  unicode-range: U+0300-0302, U+0304, U+030B-030C, U+0323;
}
/* math */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/math.woff2?v=8edb70172d) format('woff2');
  unicode-range: U+0302-0303, U+0307-0308, U+0312, U+0326-0327, U+03BC, U+2070, U+2074-2079, U+207B, U+2080-2089, U+221A, U+2248, U+2260, U+2264-2265, U+25CC, U+1D6E1;
}
/* nushu */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/nushu.woff2?v=ff5eb9902b) format('woff2');
  unicode-range: U+2003;
}
/* symbols */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/symbols.woff2?v=5f8652229f) format('woff2');
  unicode-range: U+25CC, U+2780-2788, U+278A-2792;
}
/* syriac */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/syriac.woff2?v=6798ed6146) format('woff2');
  unicode-range: U+0303-0304, U+0307-0308, U+030A, U+0323, U+25CC;
}
/* tifinagh */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/tifinagh.woff2?v=a8f291a3f2) format('woff2');
  unicode-range: U+02C7, U+0301-0302, U+0304, U+0306-0307, U+0309, U+0323, U+25CC;
}
/* vietnamese */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/vietnamese.woff2?v=29d89e7c75) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+1EA0-1EF9;
}
/* latin-ext */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/latin-ext.woff2?v=a6d71eae2e) format('woff2');
  unicode-range: U+0100-0107, U+010A-0113, U+0116-011B, U+011E-0123, U+0126-012B, U+012E-0130, U+0132-0133, U+0136-0137, U+0139-0148, U+014C-014D, U+0150-0151, U+0154-015B, U+015E-0165, U+0168-017E, U+0181, U+018A, U+018F, U+0198-0199, U+01A0-01A1, U+01AF-01B0, U+01B3-01B4, U+01CD-01CE, U+0218-021B, U+0237, U+0253, U+0257, U+0259, U+02C7, U+02DD, U+02E3, U+0304, U+0308, U+1E44-1E45, U+1E62-1E63, U+1E80-1E85, U+1E9E, U+1EF2-1EF9, U+20A9, U+20B9;
}
/* latin */
@font-face {
  font-family: 'Google Sans Flex';
  font-style: normal;
  font-weight: 400 600;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/google-sans-flex/latin.woff2?v=6ea3d11623) format('woff2');
  unicode-range: U+000D, U+0020-007E, U+00A0-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+2002, U+2009, U+200B, U+2013-2014, U+2018-201A, U+201C-201E, U+2022, U+2026, U+2039-203A, U+2044, U+20AC, U+2122, U+2212;
}

/* /catch-up-score.css */
/* Catch-Up Score (/catch-up-score). Built on film-theme.css's tokens (--ft-*): the site's ink,
   lime and grounds. The result card's 100 squares tick like reconciled statement lines; the
   band colours are semantic (good / tidy-up / catch-up / rebuild), separate from the accent. */
.cus{--cus-good:#2f7d55;--cus-ok:#946500;--cus-warn:#c2541c;--cus-bad:#b42318;--cus-band:var(--cus-warn);--cus-gutter:48px;font-family:'Google Sans Flex',Arial,sans-serif;color:var(--ft-ink);background:var(--ft-page);font-variant-numeric:tabular-nums}
@media(max-width:850px){.cus{--cus-gutter:20px}}
.cus :is(h1,h2,h3){font-family:inherit;font-weight:400;margin:0;color:inherit;text-wrap:balance}
.cus p{margin:0}
.cus-wrap{max-width:1240px;margin:0 auto;padding-left:max(var(--cus-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--cus-gutter),env(safe-area-inset-right,0px))}
.cus a{color:var(--ft-ink);text-decoration:underline;text-underline-offset:3px}
.cus :focus-visible{outline:3px solid #759fa0;outline-offset:3px}

/* ---------- Buttons ---------- */
.cus-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:12px;border:1px solid var(--ft-ink);background:var(--ft-ink);color:#fff;font:600 15px/1 'Google Sans Flex',Arial,sans-serif;text-decoration:none!important;cursor:pointer;transition:transform .15s ease,background .15s ease}
.cus a.cus-btn{color:#fff}
.cus-btn:hover{transform:translateY(-1px);background:#0f2a2e}
.cus-btn:disabled{opacity:.55;cursor:default;transform:none}
.cus-btn-ghost{background:transparent;color:var(--ft-ink)}
.cus-btn-ghost:hover{background:#173b400d}
.cus-btn-small{min-height:38px;padding:0 14px;font-size:13px}
.cus-link{appearance:none;background:none;border:0;padding:6px 0;color:var(--ft-ink);font:600 14px 'Google Sans Flex',Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.cus-fine{font-size:13px;line-height:1.5;color:var(--ft-muted)}
.cus-eyebrow{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ft-muted)}
.cus-h2{font-size:clamp(30px,4vw,52px)!important;line-height:1.04;letter-spacing:-.045em}
.cus-lead{font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--ft-body);max-width:60ch}

/* ---------- Hero + connect ---------- */
.cus-hero{background:var(--ft-g-mist);padding-block:clamp(48px,7vw,104px) clamp(48px,6vw,88px)}
.cus-hero-grid{display:grid;gap:36px 64px;align-items:center}
@media(min-width:960px){.cus-hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
.cus-hero-copy{display:grid;gap:20px;min-width:0}
.cus-kicker{justify-self:start;display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 11px;border-radius:999px;background:#ffffffb8;border:1px solid #173b401a;box-shadow:var(--ft-sh-chip);font-size:14px;font-weight:500}
.cus-kicker::before{content:'';width:8px;height:8px;border-radius:2px;background:var(--ft-ink)}
.cus h1{font-size:clamp(44px,6.6vw,96px)!important;line-height:.98!important;letter-spacing:-.055em!important;max-width:12ch}
.cus h1 em{font-style:normal;color:inherit;background:linear-gradient(transparent 12%,var(--ft-lime) 12%,var(--ft-lime) 92%,transparent 92%);padding:0 .06em;border-radius:.08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.cus-trust{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--ft-body)}
.cus-trust li{display:flex;align-items:center;gap:8px}
.cus-trust li::before{content:'';width:14px;height:14px;flex:none;border-radius:4px;background:var(--ft-lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 2.8L12.5 5' fill='none' stroke='%23173b40' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.cus-connect{min-width:0;background:#fff;border:1px solid var(--ft-line);border-radius:var(--ft-r-card);box-shadow:var(--ft-sh-card);padding:clamp(22px,3vw,34px);display:grid;gap:14px;scroll-margin-top:110px}
.cus-connect h2{font-size:26px;letter-spacing:-.03em}
.cus-connect-lede{font-size:15px;color:var(--ft-muted)}
.cus-providers{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.cus-provider{appearance:none;display:flex;align-items:center;gap:14px;width:100%;min-height:68px;padding:12px 14px;border:1px solid var(--ft-line);border-radius:16px;background:var(--ft-page);color:var(--ft-ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background .15s ease}
.cus-provider:not(:disabled):hover{border-color:var(--ft-ink);background:#fff;transform:translateY(-1px)}
.cus-provider:disabled{cursor:default;opacity:.6}
.cus-provider.is-busy{border-color:var(--ft-ink);opacity:1}
.cus-provider-tile{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ft-ink);color:var(--ft-lime);font-weight:700;font-size:18px}
.cus-provider:disabled .cus-provider-tile{background:#9fb1b3;color:#fff}
.cus-provider-text{display:grid;gap:2px;min-width:0}
.cus-provider-name{font-weight:600;font-size:16px}
.cus-provider-cta{font-size:13px;color:var(--ft-muted)}
.cus-provider.is-busy .cus-provider-cta::after{content:' · opening…'}
.cus-connect-status{font-size:14px;color:var(--ft-body);min-height:1.4em}
.cus-connect-status:empty{display:none}
.cus-soon{font-size:14px;background:#fffbe0;border:1px solid #ecdf8f;border-radius:12px;padding:10px 12px;color:var(--ft-body)}
.cus-alt{font-size:14px;color:var(--ft-muted);border-top:1px solid var(--ft-line);padding-top:12px}

/* ---------- Score: questions beside the card ---------- */
.cus-score{padding-block:clamp(56px,7vw,104px);background:#fff;scroll-margin-top:100px}
.cus-score-grid{display:grid;gap:40px;align-items:start}
@media(min-width:960px){.cus-score-grid{grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:64px}.cus-card-col{position:sticky;top:calc(env(safe-area-inset-top,0px) + 108px)}}
.cus-quiz{min-width:0;display:grid;gap:18px;align-content:start;scroll-margin-top:110px}
.cus-quiz-top{display:flex;align-items:center;gap:14px;margin-top:8px;padding-top:16px;border-top:2px solid var(--ft-ink)}
.cus-q-count{font-size:13px;font-weight:600;color:var(--ft-muted);white-space:nowrap}
.cus-bar{flex:1;height:4px;background:var(--ft-line);border-radius:2px;overflow:hidden}
.cus-bar span{display:block;height:100%;width:10%;background:var(--ft-ink);transition:width .25s ease}
.cus-q-text{font-size:clamp(23px,2.6vw,30px)!important;line-height:1.15;letter-spacing:-.025em}
.cus-q-help{color:var(--ft-muted);margin-top:8px!important;max-width:60ch}
.cus-options{display:grid;gap:10px;margin-top:18px}
.cus-opt{appearance:none;display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:12px 16px;text-align:left;background:var(--ft-page);color:var(--ft-ink);border:1px solid var(--ft-line);border-radius:14px;font:500 16px/1.35 'Google Sans Flex',Arial,sans-serif;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.cus-opt:hover{border-color:var(--ft-ink)}
.cus-box{flex:none;width:22px;height:22px;border:1.5px solid var(--ft-muted);border-radius:6px;display:grid;place-items:center;background:#fff}
.cus-box svg{width:14px;height:14px;opacity:0}
.cus-box path{stroke:var(--ft-ink)}
.cus-opt[aria-checked="true"]{border-color:var(--ft-ink);background:#f6f9c9}
.cus-opt[aria-checked="true"] .cus-box{background:var(--ft-lime);border-color:var(--ft-ink)}
.cus-opt[aria-checked="true"] .cus-box svg{opacity:1}
#cus-q-done{display:grid;gap:12px;justify-items:start}
.cus-quiz-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;border-top:1px solid var(--ft-line);padding-top:12px}

.cus-card-col{min-width:0;scroll-margin-top:100px}
.cus-card,.cus-state{background:#fff;border:1px solid var(--ft-line);border-radius:var(--ft-r-card);box-shadow:var(--ft-sh-card);padding:clamp(20px,2.4vw,28px)}
.cus-card{display:grid;gap:16px}
.cus-card[data-band="good"]{--cus-band:var(--cus-good)}
.cus-card[data-band="ok"]{--cus-band:var(--cus-ok)}
.cus-card[data-band="warn"]{--cus-band:var(--cus-warn)}
.cus-card[data-band="bad"]{--cus-band:var(--cus-bad)}
.cus-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.cus-chip{font-size:12px;font-weight:600;letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:var(--ft-page);border:1px dashed #b9c7c9;color:var(--ft-muted)}
.cus-chip.is-live{background:var(--ft-lime);border:1px solid transparent;color:var(--ft-lime-ink)}
.cus-caption{font-size:14px;color:var(--ft-muted);min-width:0}
.cus-score-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cus-scorenum{display:flex;align-items:baseline;gap:4px;color:var(--cus-band)}
.cus-scorenum>span:first-child{font-weight:700;font-size:clamp(72px,12vw,104px);line-height:.85;letter-spacing:-.05em}
.cus-of{font-size:18px;color:var(--ft-muted)}
.cus-ticks{display:grid;grid-template-columns:repeat(10,13px);gap:3px}
.cus-ticks i{display:block;width:13px;height:13px;border:1px solid var(--ft-line);border-radius:3px;transition:background .2s ease,border-color .2s ease}
.cus-ticks i.on{background:var(--cus-band);border-color:var(--cus-band)}
.cus-tickcap{font-size:12px;color:var(--ft-muted);margin-top:6px!important}
.cus-verdict{font-size:24px;font-weight:600;letter-spacing:-.02em;line-height:1.2}
.cus-sub{color:var(--ft-muted);margin-top:-8px!important}
.cus-rows{margin:0;border-top:2px solid var(--ft-ink)}
.cus-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:10px 0;border-bottom:1px dotted #c8d3d5}
.cus-rows dt{color:var(--ft-muted);font-size:15px}
.cus-rows dd{margin:0;font-weight:700;font-size:16px;text-align:right}
.cus-rows dd small{display:block;font-weight:400;font-size:12px;color:var(--ft-muted)}
.cus-mini{font-size:13px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ft-muted)}
.cus-fixes{margin:-6px 0 0;padding:0;list-style:none;counter-reset:fix;display:grid;gap:10px}
.cus-fixes li{counter-increment:fix;display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.45;color:var(--ft-body)}
.cus-fixes li::before{content:counter(fix);font-size:12px;font-weight:700;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ft-lime);color:var(--ft-lime-ink)}
.cus-notchecked summary{font-size:14px;font-weight:600;cursor:pointer}
.cus-notchecked ul{margin:8px 0 0;padding-left:18px;font-size:14px;color:var(--ft-muted);display:grid;gap:4px}
.cus-disconnected{font-size:14px;color:var(--cus-good);display:flex;gap:8px;align-items:flex-start}
.cus-disconnected::before{content:'';flex:none;width:14px;height:14px;margin-top:3px;border-radius:4px;background:var(--cus-good)}
.cus-example{font-size:14px;background:var(--ft-page);border-radius:12px;padding:10px 12px}
.cus-lead{display:grid;gap:12px;border-top:1px solid var(--ft-line);padding-top:16px}
.cus-fields{display:grid;gap:10px}
.cus-fields label{display:grid;gap:6px;font-size:14px;font-weight:600}
.cus-fields label span{font-weight:400;color:var(--ft-muted)}
.cus-fields input,.cus-fields textarea{width:100%;font:16px 'Google Sans Flex',Arial,sans-serif;color:var(--ft-ink);background:var(--ft-page);border:1px solid #c9d5d7;border-radius:10px;padding:11px 12px}
.cus-fields input:focus,.cus-fields textarea:focus{outline:2px solid var(--ft-ink);outline-offset:1px;background:#fff}
.cus-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cus-lead-done{border-top:1px solid var(--ft-line);padding-top:16px;display:grid;gap:8px;font-size:15px}
.cus-card-foot{border-top:1px solid var(--ft-line);padding-top:12px}
.cus-state{display:grid;gap:12px;justify-items:start}
.cus-state h3{font-size:24px;letter-spacing:-.02em}
.cus-state p{color:var(--ft-body)}
.cus-dots{display:flex;gap:6px}
.cus-dots i{width:10px;height:10px;border-radius:3px;background:var(--ft-ink);opacity:.2;animation:cus-t 1.2s infinite ease-in-out}
.cus-dots i:nth-child(2){animation-delay:.15s}.cus-dots i:nth-child(3){animation-delay:.3s}.cus-dots i:nth-child(4){animation-delay:.45s}.cus-dots i:nth-child(5){animation-delay:.6s}
.cus-state:not([data-kind="loading"]) .cus-dots{display:none}
@keyframes cus-t{0%,100%{opacity:.2}50%{opacity:1}}

/* ---------- How it works ---------- */
.cus-how{padding-block:clamp(56px,7vw,104px);background:var(--ft-page)}
.cus-how .cus-wrap{display:grid;gap:18px}
.cus-steps{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));counter-reset:step}
.cus-steps li{counter-increment:step;display:grid;gap:10px;padding-top:16px;border-top:2px solid var(--ft-ink);min-width:0}
.cus-steps li::before{content:'Step ' counter(step);font-size:13px;font-weight:700;color:var(--ft-muted)}
.cus-steps h3{font-size:22px;letter-spacing:-.02em}
.cus-steps p{color:var(--ft-body);font-size:15px;line-height:1.55}
.cus-table-wrap{overflow-x:auto;margin-top:22px;border:1px solid var(--ft-line);border-radius:var(--ft-r-tile);background:#fff}
.cus-table{width:100%;min-width:640px;border-collapse:collapse;font-size:14px}
.cus-table caption{text-align:left;padding:16px 18px 6px;font-weight:700;font-size:15px}
.cus-table th,.cus-table td{text-align:left;padding:11px 18px;border-top:1px solid var(--ft-line);vertical-align:top}
.cus-table thead th{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ft-muted);border-top:0}
.cus-table tbody th{font-weight:600}
.cus-table td{color:var(--ft-body)}
.cus-never{max-width:75ch;margin-top:6px!important}

/* ---------- Claude ---------- */
.cus-claude{padding-block:0 clamp(48px,6vw,88px);background:var(--ft-page)}
.cus-claude-box{background:#fff;border:1px solid var(--ft-line);border-radius:var(--ft-r-tile);padding:18px 20px;display:grid;gap:12px}
.cus-claude-box summary{display:grid;gap:4px;cursor:pointer;list-style:none}
.cus-claude-box summary::-webkit-details-marker{display:none}
.cus-claude-title{font-size:22px;letter-spacing:-.02em}
.cus-claude-box summary .cus-claude-title::after{content:' +';color:var(--ft-muted)}
.cus-claude-box[open] summary .cus-claude-title::after{content:' −'}
.cus-claude-box>*+*{margin-top:12px}
.cus-prompt-head{display:flex;justify-content:flex-end}
.cus-prompt{margin:0;padding:16px;max-height:380px;overflow:auto;white-space:pre-wrap;word-break:break-word;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ft-ink);background:var(--ft-page);border-radius:12px}

/* ---------- Keep it there ---------- */
.cus-keep{background:var(--ft-deep);color:#fff;padding-block:clamp(48px,6vw,80px)}
.cus-keep-grid{display:grid;gap:22px;align-items:center}
@media(min-width:960px){.cus-keep-grid{grid-template-columns:minmax(0,1fr) auto;gap:48px}}
.cus-keep .cus-lead{color:var(--ft-on-deep);margin-top:12px!important}
.cus-keep .cus-btn{background:var(--ft-lime);border-color:var(--ft-lime);color:var(--ft-lime-ink)}
.cus-keep a.cus-btn{color:var(--ft-lime-ink)}
.cus-keep .cus-btn:hover{background:#dce661}

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

/* The skip link's own rule lives in minimal-design.css, which this page does not load. */
.skip-link{position:fixed;left:16px;top:12px;z-index:300;padding:10px 14px;border-radius:8px;background:#fff;color:var(--ft-ink);font-weight:600;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}

/* /film-theme.css */
/* The film theme on all 30 marketing pages (PLAN.md). Tokens, then the components */
body.clean-site,body.legacy-minimal{
/* film palette (film.jsx C) */
--ft-ink:#173b40;--ft-deep:#0f2226;--ft-deep-glow:#22555e;--ft-mid:#33646e;--ft-lime:#e9f16d;--ft-lime-ink:#1f2a0c;--ft-mint:#a9efc4;
/* text on grounds: contrast is the worst stop of each ground ($T/final/cc.py) */
--ft-body:#33494d;          /* body on any light ground: 5.97 (GRAD #b6cef5) .. 9.5 (white) */
--ft-muted:#4a5f62;         /* small secondary text: only on white/WARM/MIST/SOFT/WHITE (>=5.0); NEVER on GRAD or SKY */
--ft-on-deep:#d4e3e0;--ft-on-deep-2:#b7cdd0;   /* on DEEP: 12.4 / 9.9 */
--ft-line:#e3e9ec;--ft-skel:#edf1f4;--ft-row:#f6f8fa;--ft-page:#f7f9fc;
--ft-ok:#186246;--ft-ok-bg:#e3f1ea;--ft-payroll:#2f7fea;
/* Vee colours (vees/cast.json = film AGENTS); decoration on Vacei's own parts only */
--ft-emma:#ffd055;--ft-emma-d:#e0a81f;--ft-jack:#2fa3b8;--ft-tom:#84d9a5;--ft-tom-d:#3fae6c;--ft-sam:#63aef2;--ft-sam-d:#2f86d6;--ft-olivia:#a68bf7;--ft-olivia-d:#7d5ce8;
/* grounds (film.jsx 239-245), static; px radials converted to % of the section */
--ft-g-warm:radial-gradient(70% 75% at 8% 4%,#ffe2c4 0%,#ffe2c400 70%),radial-gradient(65% 80% at 96% 92%,#e6d9fb 0%,#e6d9fb00 72%),radial-gradient(55% 60% at 88% 10%,#ffd3d3 0%,#ffd3d300 70%),linear-gradient(160deg,#fff7ec 0%,#fdf1ee 50%,#f3edfb 100%);
--ft-g-white:radial-gradient(62.5% 74% at 50% 45%,#fff 0%,#fff 55%,#f2f5f9 100%);
--ft-g-mist:radial-gradient(70% 80% at 18% 0%,#fff 0%,#fff0 60%),radial-gradient(60% 70% at 92% 100%,#e4dcfa 0%,#e4dcfa00 70%),#d6e6f6;
--ft-g-soft:radial-gradient(62.5% 83% at 0% 0%,#e9f16d3d,#e9f16d14 45%,#e9f16d00 75%),radial-gradient(68% 93% at 100% 100%,#a68bf72b,#a68bf70d 45%,#a68bf700 75%),linear-gradient(165deg,#f8fafc 0%,#eef3f8 55%,#eaf0f8 100%);
--ft-g-grad:radial-gradient(62.5% 88% at 0% 0%,#b6cef5 0%,#b6cef566 40%,#b6cef500 72%),radial-gradient(57% 83% at 100% 0%,#d5cef7 0%,#d5cef766 40%,#d5cef700 72%),radial-gradient(73% 93% at 100% 100%,#cdeee8 0%,#cdeee866 40%,#cdeee800 72%),linear-gradient(160deg,#c6d7f6 0%,#dad7f6 50%,#dcf1ed 100%);
/* SKY mirrored: vivid on the right behind the product, copy on the light left end (ink >= 6.7) */
--ft-g-sky:radial-gradient(60% 55% at 12% 6%,#d9d6fb 0%,#d9d6fb00 70%),radial-gradient(55% 60% at 8% 96%,#d3f1fb 0%,#d3f1fb00 72%),linear-gradient(285deg,#5ba2f2 0%,#79b1f4 26%,#9dc3f6 52%,#c3d8f9 74%,#dde8fb 100%);
/* SKY on phones (<=1024): copy on top, product at the bottom */
--ft-g-sky-v:radial-gradient(70% 40% at 15% 0%,#d9d6fb 0%,#d9d6fb00 70%),linear-gradient(180deg,#dde8fb 0%,#c3d8f9 42%,#9dc3f6 74%,#79b1f4 100%);
/* film SKY as is: behind pictures only, never behind text */
--ft-g-sky-vivid:radial-gradient(60% 55% at 88% 6%,#b9b6f6 0%,#b9b6f600 70%),radial-gradient(55% 60% at 92% 96%,#bdebf8 0%,#bdebf800 72%),linear-gradient(105deg,#5ba2f2 0%,#79b1f4 38%,#9dc3f6 70%,#afcbf7 100%);
--ft-g-deep:radial-gradient(68% 70% at 62% -8%,#22555e 0%,#22555e00 70%),#0f2226;
/* shadows: film SHADOW / big card / window / Brand panels / chip / buttons */
--ft-sh-card:0 1px 2px #14326e0f,0 18px 40px -10px #14326e38;
--ft-sh-big:0 1px 2px #14326e0f,0 30px 70px -16px #14326e42;
--ft-sh-window:0 70px 140px -30px #173b404d,0 12px 34px #173b4014;
--ft-sh-3d:0 60px 120px -30px #0a285a73,0 10px 30px #0a285a1f;
--ft-sh-chip:0 10px 30px #173b401a;
--ft-sh-lime:0 18px 40px #96a02840;
--ft-sh-cta:0 22px 50px -12px #788c1e73,inset 0 2px 0 #ffffff99;
--ft-sh-on-deep:0 40px 90px -30px #0000008c,0 2px 6px #00000033;
/* gradients, radii, ease */
--ft-cta:linear-gradient(100deg,#e9f16d 0%,#d7f28c 55%,#bdf0c2 100%);
--ft-glow-text:linear-gradient(95deg,#e9f16d 10%,#a9efc4 90%);
--ft-caret:linear-gradient(180deg,#e9f16d,#5ba2f2);
--ft-r-tile:24px;--ft-r-card:30px;--ft-r-big:36px;--ft-r-stage:40px;
--ft-io:cubic-bezier(.65,0,.35,1);
/* the four-point spark (film SPARK path) */
--ft-i-spark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23E9F16D' d='M12 0C12.9 7 17 11.1 24 12C17 12.9 12.9 17 12 24C11.1 17 7 12.9 0 12C7 11.1 11.1 7 12 0Z'/%3E%3C/svg%3E");
--ft-i-spark-ink:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231F2A0C' d='M12 0C12.9 7 17 11.1 24 12C17 12.9 12.9 17 12 24C11.1 17 7 12.9 0 12C7 11.1 11.1 7 12 0Z'/%3E%3C/svg%3E");
/* the site's own light tokens, moved onto the film's light grounds */
--paper:#f7f9fc;--line:#e3e9ec;--muted:#4a5f62;--body:#33494d;
}
body.clean-site{--ft-nav:88px}
@media(max-width:1024px){body.clean-site{--ft-nav:74px}}
body.legacy-minimal{--ft-lnav:88px;--canvas:#f7f9fc;--surface-subtle:#f3f6fa;--surface-quiet:#f7f9fc;--hairline:#e3e9ec;--hairline-soft:#edf1f4;--stone:#33494d;--mute:#4a5f62;--marketing-mute:#4a5f62}
@media(max-width:1024px){body.legacy-minimal{--ft-lnav:74px}}
body.clean-site.os{--os-off:#f7f9fc;--os-sage:#e9f0f8;--os-line:#e3e9ec;--os-muted:#4a5f62;--os-body:#33494d}
body.clean-site .ak.ak--vacei{--ak-paper-2:#e9f0f8;--ak-paper-3:#f7f9fc;--ak-line:#e3e9ec;--ak-muted:#4a5f62;--ak-faint:#4a5f62}
/* grounds (os family; film-home.css re-grounds some homepage sections by id) */
body.clean-site .os-hero,body.clean-site .os-end{background:var(--ft-g-warm);color:var(--ft-ink)}
body.clean-site.os .os-sec:not(.is-sage):not(.is-dark){background:var(--ft-g-white)}
body.clean-site.os .os-sec.is-sage{background:var(--ft-g-mist)}
body.clean-site.os .os-sec.is-dark{background:var(--ft-g-deep)}
body.clean-site.os .os-sec.is-dark::before{display:none}
body.clean-site.os .os-sec.is-dark::after{--fx-glow:#e9f16d14}
body.clean-site.os .os-hero::before{display:none}
body.clean-site.os .os-hero::after{--fx-glow:#e9f16d6b}
body.clean-site.os .os-end::after{--fx-glow:#e9f16d59}
body.clean-site main{background:var(--ft-page)}
/* nav: no bar of colour; the hero's ground runs up under it */
body.clean-site .clean-nav{background:transparent!important;border-bottom-color:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important}
body.clean-site:not([data-page="insights"]) .clean-nav{--logo-color:var(--ft-ink);color:var(--ft-ink)}
body.clean-site:not([data-page="insights"]) :is(.nav-links a,.nav-actions>a:not(.button)){color:var(--ft-ink)!important}
body.clean-site:not([data-page="insights"]) .mobile-toggle{color:var(--ft-ink);border-color:#173b402e}
body.clean-site[data-page="insights"] .clean-nav{--logo-color:#fff}
body.clean-site #clean-mobile{background:#fff!important;color:var(--ft-ink);box-shadow:var(--ft-sh-big)}
body.clean-site #clean-mobile a{color:var(--ft-ink)!important}
body.clean-site .svc-menu{box-shadow:var(--ft-sh-big);border-color:transparent}
body.clean-site :is(.os-hero,.firm-hero,.ak-hero){margin-top:calc(-1 * var(--ft-nav))!important;border-top:var(--ft-nav) solid transparent!important;background-origin:border-box!important}
body.clean-site .os-hero{min-height:100svh}
@media screen{body.clean-site .ak-hero[data-ak-hero]{min-height:calc(min(100vh,980px) + var(--ft-nav))}}
@media(forced-colors:active){html body.clean-site :is(.os-hero,.firm-hero,.ak-hero),html body.legacy-minimal [data-screen-label="Hero"]{border-top-color:Canvas!important}}
/* legacy bar from 901 px (its burger stops at 900) to 1100: the link row on one line */
@media(min-width:901px) and (max-width:1100px){
body.legacy-minimal :is(.site-bar,header[data-screen-label="Nav"]){gap:14px!important}
body.legacy-minimal :is(.site-bar,header[data-screen-label="Nav"])>.nav-links{gap:clamp(8px,12.5vw - 112.5px,18px)!important;margin-right:0!important}
body.legacy-minimal :is(.site-bar,header[data-screen-label="Nav"]) :is(.nav-links>a,.nav-links>.svc-dd>a,.nav-cta){white-space:nowrap}
}
/* type: headings at 500; legacy and article headings keep -.045em (font-swap shifts) */
body.clean-site :is(h1,h2),body.legacy-minimal :is(h1,h2){font-weight:500!important;letter-spacing:-.035em!important;text-wrap:balance}
body.clean-site h3,body.legacy-minimal h3{font-weight:500!important}
body.clean-site.os :is(.os-h2,.os-head h2,.os-hero h1){letter-spacing:-.04em!important;line-height:1.04!important}
body.clean-site.os:is([data-page="outsourced-audit"],[data-page="outsourced-bookkeeping"]) :is(.os-h2,.os-head h2){font-size:clamp(38px,5.05vw,78px)!important}
body.clean-site .ak :is(h1,h2),body.legacy-minimal :is(h1,h2){letter-spacing:-.045em!important}
body.clean-site .ak h1{text-wrap:pretty}
@media(max-width:640px){body.legacy-minimal :is(h1,h2){font-weight:450!important}}
/* the band (light grounds) and the glow (DEEP) */
body.clean-site :is(h1,h2) em{font-style:normal;padding:0;border-radius:0;color:var(--ft-ink);background:linear-gradient(var(--ft-lime),var(--ft-lime)) no-repeat 0 88%/100% 46%;-webkit-box-decoration-break:slice;box-decoration-break:slice}
body.clean-site .firm-hero h1 em{color:var(--ft-ink)!important}
body.clean-site.os :is(.os-hero h1,.os-end h2) em{font-style:normal;padding:0;color:var(--ft-ink);background:linear-gradient(var(--ft-lime),var(--ft-lime)) no-repeat 0 88%/100% 46%;-webkit-box-decoration-break:slice;box-decoration-break:slice}
body.clean-site.os .os-sec.is-dark :is(h1,h2) em{background:var(--ft-glow-text);background-size:100% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-box-decoration-break:slice;box-decoration-break:slice}
body.clean-site.os .os-hero h1 .type-line{display:inline}
body.clean-site.os .os-hero h1 .type-reserve{display:none}
body.clean-site.os .os-hero h1 .type-visible{display:inline}
/* focus: ink on the light grounds, lime only on DEEP */
body.clean-site :is(a,button,summary,input,select,textarea):focus-visible,body.legacy-minimal :is(a,button,summary,input,select,textarea):focus-visible{outline-color:var(--ft-ink)}
body.clean-site.os .os-hero :is(a,button):focus-visible,body.clean-site.os .os-end :is(a,button):focus-visible{outline-color:var(--ft-ink)}
body.clean-site.os .osx :is(.os-hero,.os-end) :focus-visible{outline-color:var(--ft-ink)}
body.clean-site.os :is(.os-sec.is-dark,.os-core,.os-get.is-key,.os-chapter) :is(a,button,summary):focus-visible{outline-color:var(--ft-lime)}
body.clean-site .ak-dark :is(a,button):focus-visible,body.clean-site[data-page="insights"] .clean-nav :is(a,button):focus-visible{outline-color:var(--ft-lime)}
body.clean-site.os .osx .osx-film .osx-film-btn:focus-visible{outline-color:var(--ft-sam-d)}
body.clean-site[data-page="insights"] .skip-link:focus-visible{outline-color:#fff}
body.clean-site .ak .ak-field input:focus-visible{outline:3px solid var(--ft-ink);outline-offset:2px}
body.clean-site .ak .ak-qc--dark .ak-field input:focus-visible,body.clean-site .ak .ak-icard--dark .ak-step:focus-visible{outline-color:#fff}
/* chips: the film's label, for section labels, kickers and eyebrows */
body.clean-site.os :is(.os-label,.os-kicker),body.clean-site .firm-hero .eyebrow,body:is(.clean-site,.legacy-minimal) .ai-showcase-heading>span{display:inline-flex;align-items:center;gap:10px;padding:8px 16px 8px 12px;border:0;border-radius:999px;background:#ffffffdb;box-shadow:var(--ft-sh-chip);font-size:14px;font-weight:600;letter-spacing:-.005em;text-transform:none;color:var(--ft-ink)}
body.clean-site.os .os-label::before,body.clean-site .firm-hero .eyebrow::before,body:is(.clean-site,.legacy-minimal) .ai-showcase-heading>span::before{content:'';flex:none;width:10px;height:10px;border-radius:50%;background:var(--ft-dot,var(--ft-lime));box-shadow:0 0 0 2px #173b402e}
body.clean-site.os .os-kicker i{width:10px;height:10px;background:var(--ft-lime);box-shadow:0 0 0 2px #173b402e}
body.clean-site .firm-hero .eyebrow{color:var(--ft-ink)!important}
body.clean-site.os .os-sec.is-dark :is(.os-label,.os-kicker){background:#e9f16d1a;box-shadow:inset 0 0 0 2px #e9f16d47;color:var(--ft-lime)}
body.clean-site.os .os-sec.is-dark .os-label::before,body.clean-site.os .os-sec.is-dark .os-kicker i{background:var(--ft-lime);box-shadow:0 0 12px #e9f16db3}
body.clean-site :is(.eyebrow,.osh-demo-k,.os-num){text-transform:none;letter-spacing:0;font-weight:600}
/* buttons: lime pill, the glyph in an ink disc */
body.clean-site .os-btn{font-weight:600}
body.clean-site .os-btn.is-lime{background:var(--ft-lime);color:var(--ft-lime-ink);box-shadow:var(--ft-sh-lime)}
body.clean-site .os-btn.is-ink{box-shadow:0 18px 40px -12px #173b4073}
body.clean-site .os-btn:is(.is-lime,.is-ink):has(>span[aria-hidden="true"]:last-child:not(.os-play)){padding-right:8px;gap:12px}
body.clean-site .os-btn:is(.is-lime,.is-ink)>span[aria-hidden="true"]:last-child:not(.os-play),body.clean-site .clean-nav .button.lime>span:last-child{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--ft-ink);color:var(--ft-lime);font-size:17px;line-height:1}
body.clean-site .os-btn.is-ink>span[aria-hidden="true"]:last-child:not(.os-play){background:var(--ft-lime);color:var(--ft-ink)}
body.clean-site .clean-nav .button.lime>span:last-child{width:32px;height:32px;margin:-6px -12px -6px 4px;font-size:14px}
body.clean-site .clean-nav .button.lime{box-shadow:none}
body.clean-site .os-btn:is(.is-ghost,.is-line){background:#ffffffe6;border-color:transparent;color:var(--ft-ink);box-shadow:var(--ft-sh-card)}
body.clean-site .os-btn:is(.is-ghost,.is-line):hover{background:#fff}
body.clean-site .os-btn .os-play{width:28px;height:28px;background:var(--ft-ink)}
body.clean-site .os-btn .os-play::before{border-left-color:var(--ft-lime)}
body.clean-site .button.lime{background:var(--ft-lime)!important;color:var(--ft-lime-ink)!important;font-weight:600;box-shadow:var(--ft-sh-lime)}
body.clean-site .button.outline{background:#fff;border-color:transparent;box-shadow:var(--ft-sh-card);color:var(--ft-ink)}
/* cards: white floating cards on light grounds; the dark cards stay dark */
body.clean-site.os .os-sec:not(.is-dark) :is(.os-mod,.os-get:not(.is-key),.os-steps li,.os-parts-list,.osx-card,.osx-stage),body.clean-site :is(.price-card,.feature-row>div){background:#fff!important;border:0!important;box-shadow:var(--ft-sh-card)!important}
body.clean-site.os .os-sec:not(.is-dark) :is(.os-mod,.os-get:not(.is-key)),body.clean-site .price-card{border-radius:var(--ft-r-card)!important}
body.clean-site.os .os-sec:not(.is-dark) .os-steps li,body.clean-site .feature-row>div{border-radius:var(--ft-r-tile)!important}
body.clean-site.os .os-sec:not(.is-dark) :is(.os-mod,.os-get:not(.is-key)):hover{box-shadow:var(--ft-sh-big)!important}
body.clean-site.os .os-sec.is-dark :is(.os-get,.os-steps li,.os-mod){border-color:#ffffff1f}
body.clean-site.os .os-sec:not(.is-dark) .os-steps li{padding:24px 22px 26px}
body.clean-site.os .os-sec:not(.is-dark) .os-steps li::before{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:20px;border-radius:50%;background:var(--ft-skel);font-weight:600;color:var(--ft-ink)}
body.clean-site.os .os-sec:not(.is-dark) .os-steps li:last-child::before{background:var(--ft-lime);color:var(--ft-lime-ink)}
/* the dark cards: DEEP; VEE's own card keeps his halo */
body.clean-site.os :is(.os-core,.os-get.is-key){box-shadow:var(--ft-sh-window)!important;border-radius:var(--ft-r-big)!important;border:0!important}
body.clean-site.os .os-core{background:radial-gradient(closest-side at 120px 50%,#e9f16d38,#e9f16d00) no-repeat 0 0/240px 100%,var(--ft-g-deep)!important}
body.clean-site.os .os-get.is-key{background:var(--ft-g-deep)!important}
@media(min-width:1025px){body.clean-site.os .os-core .os-core-vee{width:160px;height:160px;margin:-20px 0}}
body.clean-site.os .os-core strong{background:var(--ft-cta);color:var(--ft-lime-ink);font-weight:600;box-shadow:var(--ft-sh-cta)}
/* squircle icons in Vee colours */
body.clean-site.os .os-sec:not(.is-dark) .os-ico{width:56px;height:56px;border-radius:15px;color:#fff;background:linear-gradient(140deg,var(--ft-a0,#7cc0f6),var(--ft-a1,#2f86d6));box-shadow:inset 0 1px 0 #ffffff59,0 12px 24px -12px var(--ft-a1,#2f86d6)}
body.clean-site.os .os-gets>.os-get:nth-child(3n+1){--ft-a0:var(--ft-emma);--ft-a1:var(--ft-emma-d)}
body.clean-site.os .os-gets>.os-get:nth-child(3n+2){--ft-a0:var(--ft-tom);--ft-a1:var(--ft-tom-d)}
body.clean-site.os .os-gets>.os-get:nth-child(3n){--ft-a0:#b9a2fa;--ft-a1:var(--ft-olivia-d)}
body.clean-site.os .os-sec .os-get.is-key .os-ico{background:var(--ft-cta);color:var(--ft-ink);box-shadow:var(--ft-sh-lime)}
/* how-it-works: the connect tiles float, the pressed one keeps its ink ring */
body.clean-site.os .osx-tile{border-color:transparent;box-shadow:var(--ft-sh-card)}
body.clean-site.os .osx-tile:not(:disabled):not([aria-pressed="true"]):hover{border-color:transparent;box-shadow:var(--ft-sh-big)}
body.clean-site.os .osx-tile[aria-pressed="true"]{border-color:var(--ft-ink);box-shadow:0 0 0 1px var(--ft-ink),var(--ft-sh-card)}
body.clean-site.os :is(.osx-shortlist,.osx-seg){border-color:transparent;box-shadow:var(--ft-sh-chip)}
/* films and windows */
body.clean-site .os-film{border-radius:var(--ft-r-big);box-shadow:var(--ft-sh-window),0 0 0 1px #ffffffcc}
body.clean-site.os .os-sec.is-dark .os-film{box-shadow:var(--ft-sh-on-deep)}
body.clean-site .jn-film video{border-radius:var(--ft-r-big);box-shadow:var(--ft-sh-window)}
body.clean-site .firm-movie .motion-frame{border-radius:var(--ft-r-card)!important;box-shadow:var(--ft-sh-window)!important}
body.clean-site :is(.os-film-cap,.os-fine,.os-note,.osx-tag,.bl-tag,.jn-film figcaption,.jn-film figcaption a,.firm-movie .tour-caption>span,.firm-movie .tour-caption a){color:var(--ft-ink)}
body.clean-site.os .os-sec.is-dark :is(.os-film-cap,.os-fine,.os-note){color:var(--ft-on-deep-2)}
/* the ai-showcase (both families): SOFT, full bleed, the window floats */
body:is(.clean-site,.legacy-minimal) .ai-showcase{background:var(--ft-g-soft)!important}
@media(min-width:761px){body:is(.clean-site,.legacy-minimal) .ai-showcase{max-width:none;padding-left:max(40px,calc((100% - 1120px)/2));padding-right:max(40px,calc((100% - 1120px)/2))}}
body:is(.clean-site,.legacy-minimal) .ai-showcase iframe{border-radius:28px!important;background:#fff;box-shadow:var(--ft-sh-window)}
body:is(.clean-site,.legacy-minimal) :is(.ai-showcase-heading p,.ai-showcase-caption){color:var(--ft-body)}
body:is(.clean-site,.legacy-minimal) .ai-showcase-caption a{color:var(--ft-ink)}
/* FAQ: one white card of rows (the film's Choose card) */
body.clean-site.os .os-faq>div:last-child,body.clean-site .assistance .support-options{align-self:start;padding:10px 34px;border-radius:40px;background:#fff;box-shadow:var(--ft-sh-big)}
body.clean-site.os .os-faq details,body.clean-site .assistance .support-options details{border-color:var(--ft-skel)}
body.clean-site.os .os-faq details:last-child,body.clean-site .assistance .support-options details:last-child{border-bottom:0}
body.clean-site .assistance .support-options details:first-child{border-top:0}
body.clean-site.os .os-faq summary{font-weight:500}
body.clean-site.os .os-faq summary span,body.clean-site .support-options summary span{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--ft-skel);font-size:18px;font-weight:600}
body.clean-site.os .os-faq details[open] summary span,body.clean-site .support-options details[open] summary span{background:var(--ft-lime)}
/* the os hero and end card: WARM, ink */
body.clean-site.os .os-hero h1{color:var(--ft-ink)}
body.clean-site.os .os-hero :is(p.os-lead,.os-hero-fine){color:var(--ft-body)}
body.clean-site.os .os-hero .os-biz{color:var(--ft-ink);text-decoration-color:#173b4059}
body.clean-site.os .os-cue{color:var(--ft-mid);text-transform:none;letter-spacing:0}
body.clean-site.os .os-cue::after{background:linear-gradient(var(--ft-mid),transparent)}
body.clean-site.os .os-end .os-lockup{--logo-color:var(--ft-ink)}
body.clean-site.os .os-end .os-lockup i{background:var(--ft-ink)}
body.clean-site.os .os-end .os-lockup .d{opacity:.35}
body.clean-site.os .os-end h2{color:var(--ft-ink)}
body.clean-site.os .os-end :is(small,.os-end-lead){color:var(--ft-body)}
body.clean-site.os .os-end .os-end-link{color:var(--ft-ink);text-decoration-color:#173b4059}
body.clean-site.os:not([data-page="index"]) .os-end::before{content:'';position:absolute;z-index:0;inset:6% 3%;pointer-events:none;background:var(--ft-i-spark) 16% 14%/54px no-repeat,var(--ft-i-spark) 6% 62%/30px no-repeat,var(--ft-i-spark) 22% 92%/40px no-repeat,var(--ft-i-spark) 84% 10%/40px no-repeat,var(--ft-i-spark) 95% 54%/58px no-repeat,var(--ft-i-spark) 78% 94%/28px no-repeat;filter:drop-shadow(0 0 14px #e9f16dcc)}
/* clean pages: books, bookkeeping, pricing */
body.clean-site .firm-hero{background:var(--ft-g-warm)!important;background-origin:border-box!important;color:var(--ft-ink)!important}
body.clean-site .firm-hero h1{color:var(--ft-ink)}
body.clean-site .firm-hero>p,body.clean-site .firm-hero>small{color:var(--ft-body)!important}
body.clean-site .firm-hero .text-link{color:var(--ft-ink)}
body.clean-site .firm-section{background:var(--ft-g-grad)!important;color:var(--ft-ink)}
body.clean-site .firm-section :is(h2,h3,.eyebrow,a,b,strong){color:var(--ft-ink)}
body.clean-site .firm-section :is(p,small,li){color:var(--ft-body)}
body.clean-site .closing{background:var(--ft-g-warm);border-radius:40px;box-shadow:var(--ft-sh-big)}
body.clean-site .closing :is(p,small){color:var(--ft-body)}
body.clean-site .closing>div:last-child{border-color:#173b401f}
body.clean-site .price-card{padding:34px 30px}
body.clean-site .price-card.featured{overflow:hidden;box-shadow:0 0 0 2px var(--ft-lime),0 40px 90px -30px #a0af1e8c,var(--ft-sh-card)!important}
body.clean-site .price-card.featured::before{content:'';display:block;flex:none;height:8px;margin:-34px -30px 26px;background:var(--ft-cta)}
body.clean-site .price-card .eyebrow{color:var(--ft-mid)}
body.clean-site .price-card ul{border-top-color:var(--ft-skel)}
body.clean-site .price-card li::before{color:var(--ft-ok)}
body.clean-site .feature-row>div{padding:28px 26px 30px}
body.clean-site .feature-row>div>span{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;font-size:14px;font-weight:600;color:var(--ft-ink);background:linear-gradient(140deg,#ffe399,var(--ft-emma))}
body.clean-site .feature-row>div:nth-child(2)>span{background:linear-gradient(140deg,#c6eed6,var(--ft-tom))}
body.clean-site .feature-row>div:nth-child(3)>span{background:linear-gradient(140deg,#cfe6fb,#8ec5f5)}
body.clean-site .feature-row p{color:var(--ft-body)}
body.clean-site .feature-filters button{border-color:#173b402e}
body.clean-site .feature-filters button[aria-pressed=true]{background:var(--ft-ink);border-color:var(--ft-ink)}
/* insights: the kit's tokens; its dark turns on the film's DEEP */
body.clean-site .ak.ak--vacei{--ak-accent-text:var(--ft-mid)}
body.clean-site .ak.ak--vacei .ak-dark{background:var(--ft-g-deep)}
/* footer */
body.clean-site .clean-footer,body.legacy-minimal footer.clean-footer{background:#fff!important;box-shadow:0 -1px 0 var(--ft-line)}
@media(min-width:1241px){body.clean-site .clean-footer{max-width:none;padding-left:calc((100% - 1144px)/2);padding-right:calc((100% - 1144px)/2)}}
/* phones */
@media(max-width:640px){
body.clean-site .os-film{border-radius:22px}
body.clean-site.os .os-faq>div:last-child,body.clean-site .assistance .support-options{padding:4px 20px;border-radius:28px}
body.clean-site .closing{border-radius:30px}
body.clean-site.os:not([data-page="index"]) .os-end::before{inset:2% 3%;background:var(--ft-i-spark) 4% 2%/30px no-repeat,var(--ft-i-spark) 2% 99%/20px no-repeat,var(--ft-i-spark) 96% 1%/22px no-repeat,var(--ft-i-spark) 98% 97%/32px no-repeat}
}
/* Mobile navigation stays within the visible screen, including short landscape
   views. Its own scroll keeps every destination reachable above browser chrome. */
@media(max-width:850px){
body.clean-site .mobile-toggle{min-width:64px;min-height:44px;justify-content:center}
body.clean-site #clean-mobile{max-height:calc(100vh - 74px);max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
body.clean-site #clean-mobile a{min-height:44px;line-height:1.4}
body.clean-site .text-link{min-height:44px}
body.clean-site .firm-hero>small a{display:inline-flex;align-items:center;min-height:44px;line-height:1.5}
body.clean-site .clean-footer>div>a:not(.wordmark){display:flex;align-items:center;min-height:44px;margin-top:2px;font-size:14px;line-height:1.5}
body.clean-site .clean-footer .footer-bottom{flex-wrap:wrap;gap:8px 20px}
body.clean-site .clean-footer .footer-bottom>a{min-height:44px;display:inline-flex;align-items:center;font-size:13px!important}
}

/* motion: the band sweeps in once */
@media (prefers-reduced-motion: no-preference){
html.fx-on body.clean-site.os .os-sec:not(.is-dark)>.os-wrap>* :is(h1,h2) em,html.fx-on body.clean-site.os .os-sec:not(.is-dark)>.os-wrap>:is(h1,h2) em{transition:background-size .7s var(--ft-io) .4s}
html.fx-on body.clean-site.os .os-sec:not(.is-dark)>.os-wrap>:not(.fx-done) :is(h1,h2) em,html.fx-on body.clean-site.os .os-sec:not(.is-dark)>.os-wrap>:is(h1,h2):not(.fx-done) em{background-size:0% 46%}
html.fx.fx-hero body.clean-site.os .os-hero h1 em{animation:ft-band .8s var(--ft-io) .5s backwards}
@keyframes ft-band{from{background-size:0% 46%}}
html.fx body.clean-site.os .os-end h2 em{transition:background-size .7s var(--ft-io) .55s}
html.fx body.clean-site.os .os-end:not(.is-in) h2 em{background-size:0% 46%}
}

