/* site-head/01-style.css */
.ahbp .ps{--mc:var(--support);display:grid;gap:14px;margin-top:20px}.ahbp .ps-fx{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:6px 10px;font:12px var(--mono);color:var(--muted);overflow:hidden}.ahbp .ps-fx i{font-style:italic;color:var(--mc);font-weight:600}.ahbp .ps-ref{min-width:30px;padding:2px 6px;border-radius:5px;background:var(--panel);border:1px solid var(--line);color:var(--fg);text-align:center}.ahbp .ps-fx code{flex:1;font:inherit;color:var(--fg);;overflow:hidden;text-overflow:ellipsis}.ahbp .ps-st{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ahbp .ps-st:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.ahbp .ps-st[data-s=ok]{color:var(--support)}.ahbp .ps-st[data-s=ok]:before{animation:ahbp-pulse 1.6s infinite}.ahbp .ps-st[data-s=load]{color:var(--connect)}.ahbp .ps-st[data-s=range]{color:var(--warn)}.ahbp .ps-st[data-s=err]{color:var(--bad)}.ahbp .ps-grid{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}.ahbp .ps-row{display:grid;grid-template-columns:34px minmax(110px,1fr) minmax(200px,2.2fr) 96px 110px;align-items:center;border-top:1px solid var(--line2);transition:background .25s}.ahbp .ps-row>*{padding:10px 12px;min-width:0}.ahbp .ps-row:first-child{border-top:0}.ahbp .ps-row:not(.ps-hd):hover{background:color-mix(in srgb,var(--mc) 5%,transparent)}.ahbp .ps-hd{background:var(--bg);font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.ahbp .ps-hd>*{padding:7px 12px;white-space:nowrap}.ahbp .ps-hd .ps-c,.ahbp .ps-hd .ps-d{text-align:right;justify-content:flex-end}.ahbp .ps-n{align-self:stretch;display:flex;align-items:center;justify-content:center;background:var(--bg);border-right:1px solid var(--line2);font:11px var(--mono);color:var(--muted)}.ahbp .ps-a{font-size:14px}.ahbp .ps-a small{display:block;font:11px var(--mono);color:var(--muted)}.ahbp .ps-c{font:12.5px var(--mono);color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}.ahbp .ps-d{font:500 14px var(--mono);text-align:right;font-variant-numeric:tabular-nums;border-left:1px solid var(--line2);align-self:stretch;display:flex;align-items:center;justify-content:flex-end}.ahbp .ps-row.on .ps-n{background:var(--mc);color:var(--panel)}.ahbp .ps-row.on{box-shadow:inset 3px 0 0 var(--mc)}.ahbp .ps-chips{display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1}.ahbp .ps-chip{all:unset;cursor:pointer;white-space:nowrap;font:500 12.5px var(--display);padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--fg);display:inline-flex;gap:7px;align-items:center;transition:background .2s,border-color .2s,transform .15s}.ahbp .ps-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--tc)}.ahbp .ps-chip:hover{transform:translateY(-1px);border-color:var(--tc)}.ahbp .ps-chip[aria-pressed=true]{background:var(--tc);border-color:var(--tc);color:var(--panel)}.ahbp .ps-chip[aria-pressed=true]:before{background:var(--panel)}.ahbp .ps-chip:focus-visible,.ahbp .ps-in:focus-visible,.ahbp .ps-cta:focus-visible{outline:2px solid var(--connect);outline-offset:2px}.ahbp .ps-b{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center}.ahbp .ps-in{width:100%;font:500 13px var(--mono);color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 8px;text-align:right}.ahbp .ps-b input[type=range]{width:100%;accent-color:var(--mc)}.ahbp .ps-row.warn{background:color-mix(in srgb,var(--warn) 12%,transparent)}.ahbp .ps-row.warn .ps-in{border-color:var(--warn)}.ahbp .ps-sub .ps-a,.ahbp .ps-min .ps-a{font:12px var(--mono);color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.ahbp .ps-min .ps-d{color:var(--muted)}.ahbp .ps-min.applied{background:color-mix(in srgb,var(--build) 9%,transparent)}.ahbp .ps-min.applied .ps-d{color:var(--build)}.ahbp .ps-strike{text-decoration:line-through;color:var(--muted)}.ahbp .ps-flash{animation:ps-flash .7s ease}@keyframes ps-flash{0%{background:color-mix(in srgb,var(--mc) 30%,transparent)}to{background:transparent}}.ahbp .ps-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:linear-gradient(120deg,color-mix(in srgb,var(--mc) 8%,var(--panel)),var(--panel) 60%)}.ahbp .ps-tot{font-size:clamp(30px,4vw,40px);letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1}.ahbp .ps-tot small{font:12px var(--mono);color:var(--muted);margin-left:6px}.ahbp .ps-msg{margin:6px 0 0;font:11.5px var(--mono);color:var(--muted)}.ahbp .ps-acts{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.ahbp .ps-cta{all:unset;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 22px;border-radius:12px;color:#fff;font:600 15px var(--display);background:linear-gradient(90deg,var(--support),var(--connect),var(--build),var(--support));background-size:300% 100%;animation:ps-flow 6s linear infinite;box-shadow:0 10px 30px -12px color-mix(in srgb,var(--mc) 70%,transparent);transition:transform .2s,box-shadow .2s}.ahbp .ps-cta:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translate(-120%);animation:ps-shine 3.2s ease-in-out infinite}.ahbp .ps-cta:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 16px 36px -14px color-mix(in srgb,var(--mc) 80%,transparent)}.ahbp .ps-cta b{transition:transform .2s}.ahbp .ps-cta:hover b{transform:translate(4px)}.ahbp .ps-cta[aria-disabled=true]{cursor:progress;animation:none;background:var(--line);color:var(--muted);box-shadow:none}.ahbp .ps-cta[aria-disabled=true]:after{animation:ps-shine 1.2s linear infinite}.ahbp .ps-cta.sched{background:linear-gradient(90deg,var(--warn),var(--build),var(--warn));background-size:300% 100%;color:#141713}@keyframes ps-flow{to{background-position:300% 0}}@keyframes ps-shine{60%,to{transform:translate(120%)}}.ahbp .ps-alt{all:unset;cursor:pointer;font:12px var(--mono);color:var(--muted);border-bottom:1px dashed currentColor}.ahbp .ps-alt:hover{color:var(--fg)}.ahbp .ps-note{margin:0;font:11.5px var(--mono);color:var(--muted)}.ahbp .ps-err{margin:0;font-size:13px;color:var(--bad)}.ahbp .ps-slot{border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:18px;animation:ahbp-fade .35s ease}body.ahbp [data-ahbp-print-form]{display:none}body.ahbp .ps-slot [data-ahbp-print-form]{display:block}.ahbp [data-ahbp-print-form] form{display:grid;gap:4px;max-width:640px}.ahbp [data-ahbp-print-form] p:first-child{margin:0;font-size:18px;font-weight:500}.ahbp [data-ahbp-print-form] p:nth-child(2){margin:0 0 8px;color:var(--muted);font-size:14px}.ahbp [data-ahbp-print-form] label{font:11.5px var(--mono);color:var(--muted);margin:6px 0 0}.ahbp [data-ahbp-print-form] input:not([type=submit]),.ahbp [data-ahbp-print-form] textarea{width:100%;box-sizing:border-box;font:14px var(--display);color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 11px;margin:0}.ahbp [data-ahbp-print-form] textarea{min-height:110px;resize:vertical}.ahbp [data-ahbp-print-form] input:focus,.ahbp [data-ahbp-print-form] textarea:focus{outline:2px solid var(--mc);outline-offset:1px}.ahbp [data-ahbp-print-form] input[type=submit]{justify-self:start;margin-top:10px;height:44px;padding:0 20px;border:0;border-radius:10px;cursor:pointer;color:#fff;font:600 14px var(--display);background:linear-gradient(90deg,var(--build),var(--connect));background-size:200% 100%;transition:background-position .4s}.ahbp [data-ahbp-print-form] input[type=submit]:hover{background-position:100% 0}@media(max-width:700px){.ahbp .ps-row{grid-template-columns:1fr auto;grid-template-areas:"a d" "b b"}.ahbp .ps-row>.ps-n,.ahbp .ps-row>.ps-c,.ahbp .ps-hd{display:none}.ahbp .ps-a{grid-area:a}.ahbp .ps-b{grid-area:b;padding-top:0}.ahbp .ps-d{grid-area:d;border-left:0}.ahbp .ps-b:empty{display:none}.ahbp .ps-acts{align-items:stretch;width:100%}.ahbp .ps-cta{justify-content:center}}

/* site-head/04-scoped-pricing-style.css */
.tera-scoped-pricing{margin-top:32px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);overflow:hidden}.tera-scoped-pricing article{padding:28px;border-right:1px solid var(--line)}.tera-scoped-pricing h3{font-size:24px}.tera-scoped-pricing p{font-size:15px}.tp-label{color:var(--tone)}@media(max-width:760px){.tera-scoped-pricing{grid-template-columns:1fr}}

/* site-head/12-unified-nav-footer.css */
/* Tera unified nav + footer + demo frame v1.0.0 — 2026-10-31 — Peter Ola (written by Claude claude-opus-5-5).
   Styles for site-footer/25-unified-nav-footer.js. Everything is scoped to .tg-* and to html.tera-unified, so if the
   script does not run the old Webflow header/footer stay visible (nothing is hidden by CSS alone). */
:root{--tg-bg:#F2F3EE;--tg-panel:#FBFBF8;--tg-fg:#141713;--tg-muted:#5F645B;--tg-line:#D7D9D0;--tg-accent:#2F5BF5;--tg-warn:#8A5A00;--tg-warn-bg:#FFF4D6}
@media (prefers-color-scheme:dark){:root{--tg-bg:#101210;--tg-panel:#171A17;--tg-fg:#ECEDE7;--tg-muted:#A3A89D;--tg-line:#2D312C;--tg-accent:#8FA8FF;--tg-warn:#F2B93B;--tg-warn-bg:#2A2412}}
/* Hide the old per-page header/footer only once the new ones are in place. */
html.tera-unified [data-tera-legacy]{display:none!important}
.tg-nav,.tg-foot,.tg-demo{font-family:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--tg-fg);box-sizing:border-box;line-height:1.4}
.tg-nav *,.tg-foot *,.tg-demo *{box-sizing:border-box}
.tg-nav a,.tg-foot a,.tg-demo a{color:inherit;text-decoration:none}
.tg-nav a:focus-visible,.tg-nav button:focus-visible,.tg-foot a:focus-visible,.tg-demo a:focus-visible,.tg-demo button:focus-visible,.tg-skip:focus-visible{outline:3px solid var(--tg-accent);outline-offset:2px;border-radius:8px}
.tg-skip{position:absolute;left:12px;top:-60px;z-index:10001;background:var(--tg-fg);color:var(--tg-bg);padding:12px 16px;border-radius:8px;font:600 15px/1 system-ui,sans-serif}
.tg-skip:focus{top:12px}
/* Header */
.tg-nav{position:sticky;top:0;z-index:9990;background:color-mix(in srgb,var(--tg-bg) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--tg-line)}
.tg-bar{max-width:1240px;margin:0 auto;padding:0 16px;height:64px;display:flex;align-items:center;gap:16px}
.tg-brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;font-size:17px;letter-spacing:-.01em;white-space:nowrap}
.tg-mark{width:28px;height:28px;display:block;object-fit:contain}
.tg-links{display:flex;align-items:center;gap:4px;margin:0 0 0 auto;padding:0;list-style:none}
.tg-links>li{position:relative}
.tg-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:10px;font-size:15px;background:none;border:0;color:inherit;font-family:inherit;cursor:pointer}
.tg-link:hover,.tg-link[aria-current="page"]{background:var(--tg-panel)}
.tg-link[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--tg-accent)}
.tg-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;background:var(--tg-fg);color:var(--tg-bg)!important;font-weight:600;font-size:15px;white-space:nowrap}
.tg-menu{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;margin:0;padding:8px;list-style:none;background:var(--tg-panel);border:1px solid var(--tg-line);border-radius:14px;box-shadow:0 18px 50px rgba(20,23,19,.14)}
.tg-menu[hidden]{display:none}
.tg-menu a{display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:8px 12px;border-radius:10px;font-size:15px}
.tg-menu a small{color:var(--tg-muted);font-size:13px}
.tg-menu a:hover{background:var(--tg-bg)}
.tg-burger{display:none;margin-left:auto;min-width:44px;min-height:44px;border:1px solid var(--tg-line);border-radius:10px;background:var(--tg-panel);color:inherit;font:600 15px/1 inherit;cursor:pointer;padding:0 12px}
@media (max-width:899px){
  .tg-burger{display:inline-flex;align-items:center;gap:8px}
  .tg-bar>.tg-cta{display:none}
  .tg-links{display:none;position:absolute;left:0;right:0;top:64px;flex-direction:column;align-items:stretch;gap:2px;margin:0;padding:8px 16px 16px;background:var(--tg-bg);border-bottom:1px solid var(--tg-line);max-height:calc(100dvh - 64px);overflow:auto}
  .tg-nav.tg-open .tg-links{display:flex}
  .tg-link{width:100%;justify-content:space-between;font-size:17px;min-height:48px}
  .tg-menu{position:static;min-width:0;box-shadow:none;margin:2px 0 6px}
  .tg-links .tg-cta-li{display:block;padding-top:8px}
  .tg-links .tg-cta-li .tg-cta{width:100%}
}
@media (min-width:900px){.tg-links .tg-cta-li{display:none}}
/* Demo frame */
.tg-demo{background:var(--tg-panel);border-bottom:1px solid var(--tg-line)}
.tg-demo-in{max-width:1240px;margin:0 auto;padding:10px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.tg-demo-back{display:inline-flex;align-items:center;min-height:44px;padding:0 10px 0 0;font-size:15px;font-weight:500}
.tg-demo-title{font-weight:600;font-size:15px;margin:0}
.tg-badge{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:2px 10px;border-radius:999px;background:var(--tg-warn-bg);color:var(--tg-warn);font:500 12px/1.2 "Geist Mono",ui-monospace,monospace;letter-spacing:.02em;text-transform:uppercase}
.tg-demo-act{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.tg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--tg-line);background:var(--tg-bg);color:inherit;font:500 14px/1 inherit;font-family:inherit;cursor:pointer}
.tg-btn.tg-primary{background:var(--tg-fg);color:var(--tg-bg)!important;border-color:var(--tg-fg)}
.tg-demo-list{display:flex;gap:6px;overflow-x:auto;width:100%;margin:0;padding:0 0 2px;list-style:none;scrollbar-width:thin}
.tg-demo-list a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--tg-line);font-size:14px;white-space:nowrap}
.tg-demo-list a[aria-current="page"]{border-color:var(--tg-fg);font-weight:600}
@media (max-width:599px){.tg-demo-act{margin-left:0;width:100%}.tg-demo-act .tg-btn{flex:1}}
/* Footer */
.tg-foot{background:var(--tg-bg);border-top:1px solid var(--tg-line);margin-top:48px}
.tg-foot-in{max-width:1240px;margin:0 auto;padding:40px 16px 24px}
.tg-cols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.tg-col h2{margin:0 0 8px;font:500 12px/1.2 "Geist Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--tg-muted)}
.tg-col ul{margin:0;padding:0;list-style:none}
.tg-col a{display:flex;align-items:center;min-height:44px;font-size:15px}
.tg-col a:hover{text-decoration:underline;text-underline-offset:3px}
.tg-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:24px;padding-top:16px;border-top:1px solid var(--tg-line);color:var(--tg-muted);font-size:14px}
.tg-legal address{font-style:normal}
.tg-legal a{text-decoration:underline;text-underline-offset:3px}
@media (max-width:899px){.tg-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:399px){.tg-cols{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.tg-nav{backdrop-filter:none}}

/* site-head/13-main-nav-all-pages.css */
/* Main nav ("Tera Main Nav" Webflow component) look on every page except home (home styles it under .ahbp). v1.0 2026-11-01 Peter Ola (written by Claude claude-opus-5-5). One site-wide definition; same rules as the demo bar file. */
html{scroll-padding-top:88px}
body:not(.ahbp) .ah-header{position:sticky;top:0;z-index:60;background:#F2F3EE;border-bottom:1px solid #D7D9D0;color:#141713;font-family:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
body:not(.ahbp) .ah-header .wrap{max-width:1280px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
body:not(.ahbp) .ah-header .nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
body:not(.ahbp) .ah-header .brand{color:inherit;text-decoration:none;font-weight:600;font-size:20px;letter-spacing:-.02em}
body:not(.ahbp) .ah-header .brand img{height:60px;width:auto;display:block}
body:not(.ahbp) .ah-header .navlinks{display:flex;gap:28px;font-size:14px}
body:not(.ahbp) .ah-header .navlink{color:#6A6F66;text-decoration:none}
body:not(.ahbp) .ah-header .navlink:hover{color:#141713}
body:not(.ahbp) .ah-header .btn{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:9px;border:1px solid #141713;background:#141713;color:#F2F3EE;font:500 14px "Geist",ui-sans-serif,system-ui,sans-serif;text-decoration:none;white-space:nowrap}
body:not(.ahbp) .ah-header a:focus-visible{outline:2px solid #2F5BF5;outline-offset:2px}
@media(max-width:767px){html{scroll-padding-top:76px}body:not(.ahbp) .ah-header .navlinks{display:none}body:not(.ahbp) .ah-header .nav{height:64px}body:not(.ahbp) .ah-header .brand img{height:44px}}

/* site-head/14-demo-back-link.css */
/* Demo pages: Back link at the start of the demo bar, v1.0, 2026-11-01, Peter Ola (written by Claude claude-opus-5-5).
   Peter: "add a back button arrow that takes visitors from the demo page to the previous page, the service page. obvious and minimalist. all the demo pages". */
.tera-demo-bar .tdb-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:4px;padding:0 14px 0 10px;border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff!important;font:500 14px "Geist",ui-sans-serif,system-ui,sans-serif;text-decoration:none;white-space:nowrap;flex:none}
.tera-demo-bar .tdb-back svg{width:16px;height:16px;flex:none}
.tera-demo-bar .tdb-back:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5)}
.tera-demo-bar .tdb-back:focus-visible{outline:2px solid #7090FF;outline-offset:3px}
@media(prefers-reduced-motion:no-preference){.tera-demo-bar .tdb-back svg{transition:transform .15s}.tera-demo-bar .tdb-back:hover svg{transform:translateX(-2px)}}
