@font-face {
  font-family:'Source Sans 3'; font-style:normal; font-weight:400 700; font-display:swap;
  src:url('/assets/css/fonts/source-sans-3/source-sans-3-ro.woff2') format('woff2');
  unicode-range:U+20-7e,U+a0-24f,U+2000-206f,U+20ac,U+2122;
}
/* Match the webfont's width and vertical metrics while its preload completes. */
@font-face {
  font-family:'Source Sans 3 Fallback'; font-style:normal; font-weight:400 599;
  src:local('Arial'),local('ArialMT'),local('Liberation Sans');
  size-adjust:93.04%; ascent-override:109.63%; descent-override:42.99%; line-gap-override:0%;
}
@font-face {
  font-family:'Source Sans 3 Fallback'; font-style:normal; font-weight:600 700;
  src:local('Arial Bold'),local('Arial-BoldMT'),local('Liberation Sans Bold');
  size-adjust:91.5%; ascent-override:111.48%; descent-override:43.72%; line-gap-override:0%;
}

/* Public design family, taken from the approved new homepage. */
:root {
  --brand-body:'Source Sans 3','Source Sans 3 Fallback',system-ui,sans-serif;
  --brand-heading:'Plus Jakarta Sans',system-ui,sans-serif;
  --brand-ink:#1f1530; --brand-muted:#5b5470; --brand-violet:#451696;
  --brand-yellow:#ffca3c; --brand-gutter:clamp(20px,4.5vw,64px);
  --brand-menu-surface:rgba(255,254,252,.9);
  --brand-menu-blur:blur(36px) saturate(115%);
  --brand-panel-gradient:linear-gradient(125deg,#2a0f78 0%,#451696 35%,#7f2ea6 64%,#c13465 86%,#e85a2c 100%);
  --brand-panel-gutter:clamp(20px,4.5vw,88px);
  --brand-panel-space:clamp(72px,7vw,120px);
  --brand-content-max:1280px;
  --brand-section-space:clamp(72px,7vw,120px);
  --brand-section-gap:clamp(40px,4vw,64px);
  --brand-hero-top:clamp(124px,10.5vw,160px);
  --brand-type-home-title:clamp(42px,4.8vw,64px);
  --brand-type-title:clamp(36px,4.5vw,64px);
  --brand-type-section:clamp(32px,3.5vw,56px);
  --brand-type-feature:clamp(28px,2.7vw,44px);
  --brand-type-intro:clamp(18px,1.3vw,21px);
  --brand-action-radius:12px;
  --brand-field-radius:8px;
  /* Resolve compatibility aliases to the same roles as the homepage. */
  --tt-surface-canvas:#fff;
  --tt-font-utility:var(--brand-body);
  --tt-brand-hover:#34106f;
  --tt-bg:#fff; --tt-surface:#fff; --tt-surface-paper:#fffefb;
  --tt-surface-subtle:#f4effb; --tt-color-ink:#1f1530; --tt-color-muted:#5b5470;
  --tt-color-brand:#451696; --tt-brand:#451696; --tt-border:#ded7e7;
  --tt-shell:min(1280px,92vw);
}
body.tt-site,body.tt-blog,body.tt-blog-page,body.tt-blog-site { background:#fff; color:var(--brand-ink); font-family:var(--brand-body); }
body.tt-site :is(p,li,label,input,select,textarea,button,summary),
.tt-blog-header,.tt-blog-index,.tt-blog-intro,.tt-blog-listing,.tt-helpdesk { font-family:var(--brand-body); }
body.tt-site .tt-main { background:#fff; }
body.tt-site .tt-main :is(h1,h2,h3,h4),.tt-blog-site main :is(h1,h2,h3,h4) { font-family:var(--brand-heading); color:var(--brand-ink); }
body.tt-site:not(:is([data-page="home"],[data-page="home-dev"])) .tt-main h1 {
  font-family:var(--brand-heading) !important; font-size:clamp(36px,4.5vw,64px) !important;
  font-weight:700 !important; line-height:1.1 !important; letter-spacing:-.04em !important;
  text-wrap:balance; color:var(--brand-ink) !important;
}
/* Legacy hero artwork must stay inside its grid column, clear of the copy. */
body.tt-site.tt-product-page .top-part > img {
  position:static !important; width:100% !important; max-width:100% !important;
  margin:0 !important; transform:none !important; align-self:center;
}
.tt-shell,.tt-blog-shell { width:calc(100% - var(--brand-gutter)*2); max-width:1280px; margin-inline:auto; }
body.tt-site :is(.tt-product-capabilities,.tt-product-ecosystem) { max-width:1280px; }
body.tt-site .tt-main>.container { max-width:1280px; }
.tt-brand,.tt-blog-brand { gap:10px; min-width:0; }
.tt-brand strong,.tt-blog-brand strong { font-family:var(--brand-heading); font-size:26px; font-weight:800; line-height:1; letter-spacing:-.045em; }
.tt-brand small,.tt-blog-brand small { display:none !important; }
.tt-header .tt-nav-shell,.tt-blog-nav-shell { gap:22px; }
.tt-header :is(.tt-nav-link,.tt-account,.tt-language),.tt-blog-header :is(.tt-blog-main-nav>a,summary,.tt-blog-account,.tt-blog-language) {
  font-family:var(--brand-body); font-size:14px; font-weight:650; letter-spacing:0;
}
body.tt-site .tt-header .tt-language,.tt-blog-header :is(.tt-blog-language,.tt-blog-mobile-language) {
  transition:none !important; animation:none !important;
}
.tt-header .tt-nav-links { gap:4px; }
.tt-header :is(.tt-products-toggle,.hd-types-toggle),
.tt-blog-header :is(.tt-blog-products-nav,.tt-blog-mobile-products)>summary { text-transform:none !important; letter-spacing:0; }
.tt-header .tt-nav-actions { gap:12px; }
.tt-header .tt-nav-actions>.tt-button { font-size:14px; padding:12px 18px; white-space:nowrap; }
.tt-header .tt-mega-menu { color:var(--brand-ink); }
.tt-header .tt-mega-intro { background:#f5f0fb; }
.tt-header :is(.tt-nav-link,.tt-account) { transition:background-color .15s ease; }
.tt-header :is(.tt-nav-link,.tt-account):focus-visible,.tt-blog-header a:focus-visible,.tt-blog-header summary:focus-visible {
  outline:2px solid var(--brand-violet); outline-offset:4px;
}
.tt-site :is(.tt-button-primary,.tt-product-contact-form input[type="submit"],input.wpcf7-submit),
.tt-blog-header :is(.tt-blog-cta,.tt-blog-mobile-cta) {
  --tt-action-bg:var(--brand-yellow); --tt-action-text:var(--brand-ink);
  background:var(--brand-yellow) !important; color:var(--brand-ink) !important;
  border:1px solid #a87500 !important; border-radius:12px; box-shadow:none !important;
  font-family:var(--brand-body); font-weight:700;
}
.tt-site :is(.tt-button-primary,input.wpcf7-submit):hover,.tt-blog-header :is(.tt-blog-cta,.tt-blog-mobile-cta):hover { background:#ffbd25 !important; transform:none; }
.tt-site :is(.tt-button-primary,input.wpcf7-submit):focus-visible { outline:3px solid var(--brand-violet); outline-offset:4px; }
.tt-blog-header :is(.tt-blog-cta,.tt-blog-mobile-cta) { padding:12px 18px; white-space:nowrap; font-size:14px; }
.tt-blog-header { background:rgba(255,255,255,.97); }
.tt-blog-header .tt-blog-main-nav { gap:4px; }
.tt-blog-header .tt-blog-nav-actions { gap:12px; }
.tt-header .hd-types-nav { position:relative; }
.tt-header .hd-types-toggle { display:inline-flex; align-items:center; gap:8px; }
.tt-header .hd-types-toggle svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5; }
.tt-header .hd-types-toggle[aria-expanded="true"] svg { transform:rotate(180deg); }
.tt-header .hd-types-menu { position:absolute; top:var(--hd-menu-y,calc(100% + 24px)); left:var(--hd-menu-x,0px); width:min(780px,calc(100vw - 48px)); max-height:var(--hd-menu-height,calc(100dvh - 130px)); overflow-y:auto; overscroll-behavior:contain; padding:22px; border:1px solid rgba(126,113,140,.24); border-radius:18px; background:var(--brand-menu-surface); -webkit-backdrop-filter:var(--brand-menu-blur); backdrop-filter:var(--brand-menu-blur); box-shadow:0 18px 45px rgba(41,32,48,.1); }
.tt-header .hd-types-menu[hidden] { display:none; }
.tt-header .hd-types-menu ul,.tt-blog-header .tt-blog-types-menu ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px 22px; padding:0; margin:0; list-style:none; }
.tt-header .hd-types-menu li,.tt-blog-header .tt-blog-types-menu li { margin:0; }
.tt-header .hd-types-menu a,.tt-blog-header .tt-blog-types-menu a { display:flex; align-items:center; min-height:50px; padding:10px 8px; border:0; border-radius:6px; color:var(--brand-ink) !important; font:650 14px/1.4 var(--brand-body); text-decoration:none; }
.tt-header .hd-types-menu a:hover,.tt-blog-header .tt-blog-types-menu a:hover { color:var(--brand-violet) !important; background:#eee8fb; }
.tt-header .hd-types-menu a:focus-visible,.tt-blog-header .tt-blog-types-menu a:focus-visible { outline:3px solid var(--brand-violet); outline-offset:2px; }
.tt-blog-header .tt-blog-products-menu.tt-blog-types-menu { grid-template-columns:minmax(0,1fr); width:min(780px,calc(100vw - 48px)); left:var(--tt-types-left,24px); top:var(--tt-types-top,104px); max-height:var(--tt-types-height,calc(100dvh - 130px)); padding:22px; border-radius:18px; transform:none; }
@media(max-width:1180px) {
  .tt-header .hd-types-toggle { width:100%; justify-content:space-between; }
  .tt-header .hd-types-menu,.tt-blog-header .tt-blog-mobile-products .tt-blog-types-menu { position:static; width:100%; max-height:none; overflow:visible; margin:10px 0; padding:12px; border-radius:10px; box-shadow:none; }
  .tt-header .hd-types-menu ul,.tt-blog-header .tt-blog-types-menu ul { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) { .tt-header .hd-types-menu ul,.tt-blog-header .tt-blog-types-menu ul { grid-template-columns:minmax(0,1fr); } }

/* One closing contact panel, taken from the homepage, after the page's content. */
body.tt-site .tt-main { display:flow-root; }
body.tt-site .tt-demo-panel { position:relative; box-sizing:border-box; width:calc(100% - var(--brand-panel-gutter)*2); max-width:1440px; margin:clamp(48px,5vw,80px) auto var(--brand-panel-space); padding:80px 0; border:0; border-radius:32px; background:var(--brand-panel-gradient); color:#fff; scroll-margin-top:112px; }
body.tt-site:is([data-page="home"],[data-page="home-dev"]) .tt-demo-panel { margin-top:0; }
body.tt-site .tt-demo-panel>.tt-shell { width:calc(100% - clamp(40px,6vw,128px)); max-width:1280px; margin-inline:auto; }
.tt-demo-panel .hd-contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(40px,5vw,84px); align-items:start; }
.tt-demo-panel .hd-contact-layout>* { min-width:0; }
.tt-demo-panel .hd-contact-copy { max-width:620px; padding:0; border:0; }
body.tt-site .tt-demo-panel .hd-eyebrow { display:block; margin:0 0 16px; color:#ffdfcc; font:700 12px/1.5 var(--brand-heading); letter-spacing:.09em; text-transform:uppercase; }
body.tt-site .tt-demo-panel h2 { margin:0; color:#fff !important; font:700 clamp(32px,3.5vw,56px)/1.13 var(--brand-heading) !important; letter-spacing:-.035em; text-align:left !important; text-wrap:balance; }
body.tt-site .tt-demo-panel .hd-contact-copy>p { max-width:55ch; margin:24px 0 0; color:#f3eaf8; font-size:clamp(18px,1.3vw,21px); line-height:1.55 !important; text-align:left; }
.tt-demo-panel .hd-steps { list-style:none; margin:32px 0 0 !important; padding:0; }
.tt-demo-panel .hd-steps li { display:block; margin:24px 0 0; padding:0; color:#fff; font-size:20px; line-height:1.45; text-align:left; }
.tt-demo-panel .hd-steps li::before { content:none; }
.tt-demo-panel .hd-contact-direct { display:flex; flex-wrap:wrap; gap:4px 18px; margin-top:28px; }
body.tt-site .tt-demo-panel .hd-contact-direct a { display:inline-flex; align-items:center; min-height:44px; color:#fff !important; font-size:18px; text-decoration:none; }
.tt-demo-panel .hd-contact-direct a:hover { text-decoration:underline !important; text-underline-offset:4px; }
.tt-demo-panel :is(a,button):focus-visible { outline:3px solid #ffdf77; outline-offset:4px; }
.tt-contact-anchor { position:absolute; top:0; scroll-margin-top:112px; }
body.tt-site .tt-demo-panel .hd-contact-form { min-width:0; margin:0; padding:0; color:var(--brand-ink); }
body.tt-site .tt-demo-panel .hd-contact-form .box-contact { width:100%; max-width:none; margin:0 !important; padding:32px !important; border:0 !important; border-radius:22px !important; background:var(--tt-surface-paper) !important; box-shadow:none !important; }
body.tt-site .tt-demo-panel .hd-contact-form .wpcf7 { width:100%; margin:0; padding:0; }
body.tt-site .tt-demo-panel .hd-contact-form form { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:0 !important; padding:0; border:0; background:none; border-radius:0; box-shadow:none; color:var(--brand-ink); }
body.tt-site .tt-demo-panel .hd-contact-form form>[class*="col-"] { width:100%; max-width:none; padding:0 !important; margin:0 !important; flex-basis:auto; }
body.tt-site .tt-demo-panel .hd-contact-form form>:not(.col-md-6),body.tt-site .tt-demo-panel .hd-contact-form form>.is-wide { grid-column:1/-1; }
body.tt-site .tt-demo-panel .hd-contact-form label { display:block; width:100%; margin:0; color:var(--brand-ink); text-align:left; }
body.tt-site .tt-demo-panel .hd-contact-form .tt-field-label { display:block; margin-bottom:7px; color:var(--brand-ink); font-size:15px; font-weight:600; }
body.tt-site .tt-demo-panel .hd-contact-form :is(input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),select,textarea) { box-sizing:border-box; width:100%; max-width:100%; min-width:0; min-height:50px !important; margin:0 !important; padding:11px var(--tt-lead-field-end,13px) 11px 13px !important; border:1px solid var(--tt-field-border); border-radius:var(--brand-field-radius) !important; background:#fdfcfe; color:var(--brand-ink); font:400 16px/1.5 var(--brand-body) !important; box-shadow:none; }
body.tt-site .tt-demo-panel .hd-contact-form textarea { min-height:128px !important; height:128px !important; resize:vertical; }
body.tt-site .tt-demo-panel .hd-contact-form select { --tt-lead-field-end:32px; }
.tt-demo-panel .hd-contact-form :is(input,select,textarea)::placeholder { color:#72677f; opacity:1; }
.tt-demo-panel .hd-contact-form :is(a,input,select,textarea,button):focus-visible { outline:2px solid var(--brand-violet); outline-offset:2px; }
body.tt-site .tt-demo-panel .hd-contact-form .checkbox { display:block; }
body.tt-site .tt-demo-panel .hd-contact-form .checkbox>[class*="col-"] { max-width:none; width:100%; padding:0 !important; }
.tt-demo-panel .hd-contact-form .checkbox-title { margin-bottom:7px; font-size:13px; font-weight:600; }
.tt-demo-panel .hd-contact-form .wpcf7-list-item { margin-left:0; margin-right:20px; }
body.tt-site .tt-demo-panel .hd-contact-form label.tt-form-checkbox { display:inline-flex; align-items:center; gap:8px; min-height:44px; width:auto; }
body.tt-site .tt-demo-panel .hd-contact-form .checkbox-approve :is(p,.wpcf7-list-item-label) { margin:0; color:var(--brand-muted); font-size:14px; line-height:1.6; text-align:left; }
.tt-demo-panel .hd-contact-form .checkbox-approve .wpcf7-list-item { margin:0; }
body.tt-site .tt-demo-panel .hd-contact-form input[type="submit"] { width:100%; min-height:56px !important; margin:0; padding:13px 12px !important; border:1px solid #a87500 !important; border-radius:var(--brand-action-radius) !important; background:var(--brand-yellow) !important; color:var(--brand-ink) !important; font:700 15px/1.4 var(--brand-body) !important; white-space:normal; letter-spacing:0; cursor:pointer; box-shadow:none; }
.tt-demo-panel .hd-contact-form input[type="submit"]:hover { background:#ffbd25 !important; }
.tt-demo-panel .hd-contact-form input[type="submit"]:disabled { cursor:wait; opacity:.65; }
.tt-demo-panel .hd-contact-form [aria-invalid="true"] { border-color:#b52e2a !important; }
.tt-demo-panel .hd-contact-form .wpcf7-spinner { position:absolute; right:6px; }
.tt-demo-panel .hd-contact-form .tt-bi-form-head { margin:0 0 4px; padding:0 0 16px; border:0; border-bottom:1px solid var(--tt-border); border-radius:0; background:none; }
.tt-demo-panel .hd-contact-form :is(.tt-bi-form-grid,.tt-contact-form-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tt-demo-panel .hd-contact-form :is(.tt-bi-form-grid label>span,.tt-contact-field>span) { display:block; margin-bottom:7px; color:var(--brand-ink); font-size:15px; font-weight:600; }
.tt-demo-panel .hd-contact-form .is-wide { grid-column:1/-1; }
body.tt-site .tt-demo-panel .hd-contact-form :is(.tt-bi-consent,.tt-contact-consent) { width:100%; margin:0; padding:0; border:0; background:none; border-radius:0; color:var(--brand-muted); font-size:14px; line-height:1.6; }
.tt-demo-panel .hd-contact-form .tt-contact-form-submit { display:grid; gap:12px; }
.tt-demo-panel .hd-contact-form .tt-bi-form-note { margin:0; font-size:13px; color:var(--brand-muted); }
@media(max-width:1000px) {
  .tt-demo-panel .hd-contact-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .tt-demo-panel .hd-contact-copy { max-width:720px; }
  body.tt-site .tt-demo-panel h2 { font-size:44px !important; }
}
@media(max-width:620px) {
  body.tt-site .tt-demo-panel { width:calc(100% - 24px); margin-bottom:64px; padding:56px 0; border-radius:22px; }
  body.tt-site .tt-demo-panel>.tt-shell { width:calc(100% - 32px); }
  body.tt-site .tt-demo-panel h2 { font-size:38px !important; }
  body.tt-site .tt-demo-panel .hd-contact-copy>p { font-size:19px; }
  .tt-demo-panel .hd-steps li { font-size:19px; }
  body.tt-site .tt-demo-panel .hd-contact-form .box-contact { padding:16px !important; }
  body.tt-site .tt-demo-panel .hd-contact-form form,.tt-demo-panel .hd-contact-form :is(.tt-bi-form-grid,.tt-contact-form-grid) { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:360px) { body.tt-site .tt-demo-panel .hd-contact-form input[type="submit"] { font-size:12px !important; padding-inline:8px !important; } }
/* Open content grids use their internal dividers, not a leftover outer frame. */
body.tt-site :is(.tt-rs-reason-grid,.tt-rs-type-grid) { border:0; }
.tt-blog-brand { text-decoration:none; }

/* One compact footer. The same generated markup and these rules serve both runtimes. */
.tt-footer.tt-footer--compact {
  padding:32px 0 14px !important; margin:0; border:0 !important;
  background:#1f0d45 !important; color:#e6dff0 !important;
  font:400 14px/1.5 var(--brand-body) !important;
  --tt-color-ink:#fff; --tt-color-muted:#e6dff0; --tt-brand:#ffdf77;
  --tt-border:rgba(255,255,255,.2);
}
.tt-footer--compact :is(a,button,summary,p,li) { font-family:var(--brand-body) !important; }
.tt-footer--compact .tt-shell { width:calc(100% - var(--brand-gutter)*2); max-width:1280px; margin-inline:auto; }
.tt-footer--compact :is(a,button,summary) { color:inherit !important; text-decoration:none; box-shadow:none; }
.tt-footer--compact :is(a,button):hover { color:#ffdf77 !important; text-decoration:underline; text-underline-offset:4px; }
.tt-footer--compact :is(a,button,summary):focus-visible { outline:2px solid #ffdf77 !important; outline-offset:3px; }
.tt-footer--compact .tt-footer-main { display:grid; grid-template-columns:1.1fr 1.35fr .85fr 1.35fr; align-items:start; gap:32px; }
.tt-footer--compact .tt-brand { display:inline-flex; align-items:center; gap:10px; min-height:42px; margin:0; padding:0; width:auto; color:#fff !important; }
.tt-footer--compact .tt-brand img { width:38px; height:38px; display:block; flex:none; margin:0; object-fit:contain; filter:none; }
.tt-footer--compact .tt-brand strong { color:#fff; font:800 23px/1 var(--brand-heading); letter-spacing:-.04em; }
.tt-footer--compact .tt-footer-summary { max-width:30ch; margin:14px 0 10px; font-size:14px !important; font-weight:400; line-height:1.5 !important; color:#e6dff0 !important; }
.tt-footer--compact .tt-footer-contacts { display:grid; gap:2px; margin:0; }
.tt-footer--compact .tt-footer-contacts>a { display:flex; align-items:center; min-height:28px; font-size:13px; line-height:1.4; }
.tt-footer--compact .tt-footer-contacts>div { display:flex; flex-wrap:wrap; gap:0 12px; }
.tt-footer--compact .tt-footer-contacts>div a { display:flex; align-items:center; min-height:28px; font-size:12px; }
.tt-footer--compact .tt-footer-socials { display:flex; align-items:center; gap:6px; margin:8px 0 0; }
.tt-footer--compact .tt-footer-socials a { display:grid; place-items:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.25); border-radius:8px; color:#fff !important; }
.tt-footer--compact .tt-footer-socials svg { display:block; width:17px; height:17px; fill:currentColor; }
.tt-footer--compact .tt-footer-group { min-width:0; margin:0; padding:0; border:0; background:none; }
.tt-footer--compact .tt-footer-group summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:36px; margin:0 0 6px; padding:0; font-size:12px; font-weight:700; letter-spacing:.035em; list-style:none; cursor:pointer; color:#fff !important; }
.tt-footer--compact .tt-footer-group summary::-webkit-details-marker { display:none; }
.tt-footer--compact .tt-footer-group summary::marker { content:''; }
.tt-footer--compact .tt-footer-group summary svg { width:14px; height:14px; flex:none; fill:none; stroke:currentColor; stroke-width:1.5; }
.tt-footer--compact .tt-footer-group[open] summary svg { transform:rotate(180deg); }
.tt-footer--compact .tt-footer-group ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 16px; list-style:none; margin:0; padding:0; }
.tt-footer--compact .tt-footer-group--company ul { grid-template-columns:1fr; }
.tt-footer--compact .tt-footer-group li { margin:0; padding:0; min-width:0; line-height:1.4; }
.tt-footer--compact .tt-footer-group li a { display:flex; align-items:center; min-height:28px; padding:3px 0; font-size:13px; font-weight:500; line-height:1.4; letter-spacing:0; overflow-wrap:anywhere; }
.tt-footer--compact .tt-footer-meta { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:0 24px; margin-top:22px; padding-top:12px; border-top:1px solid rgba(255,255,255,.18); }
.tt-footer--compact .tt-footer-demo { grid-column:2; grid-row:1; display:inline-flex; align-items:center; justify-content:flex-end; gap:12px; min-height:44px; font-size:14px; font-weight:700; color:#ffdf77 !important; }
.tt-footer--compact .tt-footer-disclaimer { grid-column:1; grid-row:1; width:auto; max-width:none; margin:0 !important; padding:0 !important; border:0; color:#d4cae2 !important; font-size:12px !important; font-weight:400; font-style:normal; line-height:1.5 !important; }
.tt-footer--compact .tt-footer-meta-row { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 18px; margin:0; padding:0; }
.tt-footer--compact .tt-footer-copyright { display:inline-flex; align-items:center; gap:3px; min-height:44px; white-space:nowrap; font-size:12px; }
.tt-footer--compact .tt-footer-legal { display:flex; align-items:center; flex-wrap:wrap; gap:0 16px; margin:0; padding:0; border:0; border-radius:0; background:none; }
.tt-footer--compact .tt-footer-legal :is(a,button) { display:inline-flex; align-items:center; justify-content:center; min-height:44px; width:auto; margin:0; padding:4px 0; border:0; border-radius:0; background:transparent !important; font-size:12px !important; font-weight:500; line-height:1.4; letter-spacing:0; text-transform:none; cursor:pointer; }
.tt-footer--compact .tt-anpc { display:flex; align-items:center; gap:8px; margin:0; }
.tt-footer--compact .tt-anpc a { display:flex; align-items:center; min-height:44px; width:112px; padding:0; border:0; border-radius:0; background:none; }
.tt-footer--compact .tt-anpc img { display:block; width:112px; height:auto; max-height:38px; margin:0; filter:none; object-fit:contain; }
@media(max-width:1100px) and (min-width:901px) {
  .tt-footer--compact .tt-footer-main { grid-template-columns:1.2fr 1.3fr .9fr 1.3fr; gap:22px; }
  .tt-footer--compact .tt-footer-group ul { gap:2px 10px; }
  .tt-footer--compact .tt-footer-group li a { font-size:12px; }
}
@media(max-width:900px) {
  .tt-footer.tt-footer--compact { padding-top:24px !important; }
  .tt-footer--compact .tt-footer-main { grid-template-columns:1fr; gap:0; }
  .tt-footer--compact .tt-footer-identity { display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; margin-bottom:20px; }
  .tt-footer--compact .tt-brand { grid-column:1; }
  .tt-footer--compact .tt-footer-summary { grid-column:1; max-width:36ch; margin:6px 0; }
  .tt-footer--compact .tt-footer-contacts { grid-column:2; grid-row:1/3; align-self:center; }
  .tt-footer--compact .tt-footer-socials { grid-column:1/-1; }
  .tt-footer--compact .tt-footer-socials a { width:44px; height:44px; }
  .tt-footer--compact .tt-footer-group { border-top:1px solid rgba(255,255,255,.18); }
  .tt-footer--compact .tt-footer-group summary { min-height:48px; margin:0; font-size:14px; }
  .tt-footer--compact .tt-footer-group ul,.tt-footer--compact .tt-footer-group--company ul { grid-template-columns:repeat(2,minmax(0,1fr)); gap:2px 20px; padding:0 0 16px; }
  .tt-footer--compact .tt-footer-group li a { min-height:40px; font-size:14px; }
  .tt-footer--compact .tt-footer-meta { margin-top:8px; padding-top:12px; }
  .tt-footer--compact .tt-footer-meta-row { justify-content:flex-start; gap:0 20px; }
  .tt-footer--compact .tt-footer-legal { gap:0 14px; }
  .tt-footer--compact .tt-footer-demo { font-size:13px; }
}
@media(max-width:620px) {
  body.tt-site:not(:is([data-page="home"],[data-page="home-dev"])) .tt-main h1 { font-size:clamp(32px,8vw,42px) !important; line-height:1.12 !important; }
  .tt-footer--compact .tt-footer-identity { grid-template-columns:1fr; gap:0; }
  .tt-footer--compact .tt-footer-summary { max-width:42ch; }
  .tt-footer--compact .tt-footer-contacts { grid-column:1; grid-row:auto; margin-top:4px; }
  .tt-footer--compact .tt-footer-contacts>div { gap:0 20px; }
  .tt-footer--compact .tt-footer-contacts>div a { font-size:13px; min-height:32px; }
  .tt-footer--compact .tt-footer-meta { grid-template-columns:1fr; gap:4px; }
  .tt-footer--compact .tt-footer-demo { grid-column:1; grid-row:1; justify-content:flex-start; font-size:14px; }
  .tt-footer--compact .tt-footer-disclaimer { grid-row:2; }
  .tt-footer--compact .tt-footer-meta-row { display:grid; grid-template-columns:1fr; gap:0; margin-top:4px; }
  .tt-footer--compact .tt-footer-copyright { min-height:32px; }
  .tt-footer--compact .tt-anpc { margin-top:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .tt-footer--compact *,.tt-header * { scroll-behavior:auto; transition:none !important; }
}

.tt-blog-site main h1 { font-size:clamp(36px,4.5vw,64px); line-height:1.1; letter-spacing:-.04em; }
.tt-cookie-consent { font-family:var(--brand-body); }
/* Override native button inheritance at the component boundary, as on the site. */
.tt-cookie-consent .tt-cookie-consent__actions button { font:600 13px/1.3 var(--brand-body); }

/* Reset legacy nav geometry inside the shared footer. */
.tt-footer.tt-footer--compact nav { width:auto !important; max-width:none; margin:0 !important; padding:0; float:none; position:static; }
.tt-footer.tt-footer--compact .tt-footer-group nav { display:block; width:100% !important; }
.tt-footer.tt-footer--compact .tt-footer-socials { width:auto; max-width:none; padding:0; min-width:0; }
.tt-footer.tt-footer--compact .tt-footer-socials a { flex:0 0 36px; }
.tt-site.tt-site :is(.top-part,.pricingUpperText,.tt-showcase-hero,.tt-portfolio-hero,.tt-contact-hero,.tt-rs-hero,.tt-bi-hero,.tt-orders-hero,.tt-type-hero,.tt-offer-hero) { background:#fff !important; }
.tt-site .pricingUpperText .boldResponsiveText { font-size:clamp(36px,4.5vw,64px) !important; line-height:1.1 !important; letter-spacing:-.04em !important; max-width:20ch !important; }
.tt-site.tt-site .pricingUpperText { background:#fff !important; min-height:0 !important; padding-block:clamp(48px,6vw,88px) !important; }
.tt-site .pricingUpperText .smallestText { margin-top:24px; }
:is([data-page="home"],[data-page="home-dev"]) .tt-header:not(.is-scrolled) .tt-language { color:#fff; border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.08); }
@media(max-width:900px) { .tt-footer.tt-footer--compact .tt-footer-socials a { flex-basis:44px; } }
@media(max-width:620px) { .tt-site .pricingUpperText .boldResponsiveText { font-size:clamp(32px,8vw,42px) !important; } }

@font-face { font-family:'Plus Jakarta Sans'; font-style:normal; font-weight:800; font-display:swap; src:url('/assets/css/fonts/jakarta/plus-jakarta-sans-v12-latin_latin-ext-800.woff2') format('woff2'); }
body.tt-site { font-family:var(--brand-body) !important; background:#fff !important; }
body.tt-site .tt-main :is(p,li,label,input,select,textarea,button,summary) { font-family:var(--brand-body) !important; }
.tt-footer.tt-footer--compact :is(a,button,summary,p,li,nav,span) { font-family:var(--brand-body) !important; letter-spacing:0 !important; word-break:normal; overflow-wrap:normal; text-align:left; }
.tt-footer.tt-footer--compact :is(.tt-brand,.tt-footer-socials a,.tt-anpc a) { font-size:14px !important; line-height:21px !important; }

body.tt-site:not(:is([data-page="home"],[data-page="home-dev"])) .tt-header { background:rgba(255,255,255,.97) !important; }
body.tt-site[data-page="pricing"] .pricingMainText { width:calc(100% - var(--brand-gutter)*2); max-width:1280px; margin-inline:auto; }
body.tt-site[data-page="pricing"] .pricingBox { width:100%; max-width:none; margin-inline:0; padding-inline:0; }

body.tt-site[data-page="pricing"] .pricingUpperText { padding-top:170px !important; padding-bottom:64px !important; }
@media(max-width:1180px) { body.tt-site[data-page="pricing"] .pricingUpperText { padding-top:125px !important; padding-bottom:48px !important; } }
/* Long venue-specific headlines need a single reading column on tablets. */
@media(min-width:761px) and (max-width:1000px) {
  body.tt-site .tt-type-hero-grid { grid-template-columns:minmax(0,1fr); gap:32px; }
  body.tt-site .tt-type-hero-copy { max-width:720px; }
  body.tt-site .tt-type-hero-copy h1 { max-width:22ch; }
  body.tt-site .tt-type-hero-media { width:100%; max-width:none; margin:0; }
}

/* Navigation panels share one frosted surface and use the viewport, not the nav column. */
body.tt-site .tt-header .tt-mega-menu,
.tt-blog-header .tt-blog-products-menu {
  background:var(--brand-menu-surface);
  border:1px solid rgba(126,113,140,.24);
  -webkit-backdrop-filter:var(--brand-menu-blur);
  backdrop-filter:var(--brand-menu-blur);
}
body.tt-site:is([data-page="home"],[data-page="home-dev"]) .hd-types-menu {
  background:var(--brand-menu-surface);
  -webkit-backdrop-filter:var(--brand-menu-blur);
  backdrop-filter:var(--brand-menu-blur);
}
body.tt-site .tt-header .tt-mega-group a,
.tt-blog-header .tt-blog-products-group a {
  min-height:44px; padding:10px 8px; line-height:1.4;
  overflow-wrap:normal; word-break:normal; hyphens:none;
}
body.tt-site .tt-header .tt-mega-intro a,
.tt-blog-header .tt-blog-products-intro a { white-space:normal; }
@media(min-width:1181px) {
  body.tt-site .tt-header .tt-mega-menu,
  .tt-blog-header .tt-blog-products-menu {
    width:min(1280px,calc(100vw - 48px)); max-width:1280px;
    left:50%; right:auto; transform:translateX(-50%);
    grid-template-columns:210px minmax(0,1fr); gap:28px; padding:24px;
    max-height:calc(100dvh - 112px); overflow-y:auto; overscroll-behavior:contain;
  }
  body.tt-site .tt-header .tt-mega-intro,
  .tt-blog-header .tt-blog-products-intro { padding:20px; background:rgba(244,239,251,.72); }
  body.tt-site .tt-header .tt-mega-groups,
  .tt-blog-header .tt-blog-products-groups { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; padding-top:20px; }
  body.tt-site .tt-header .tt-mega-menu.is-open { transform:translateX(-50%); }
  .tt-blog-header .tt-blog-products-menu { animation:none; }
}
@media(min-width:1181px) and (max-width:1340px) {
  body.tt-site .tt-header .tt-mega-menu,
  .tt-blog-header .tt-blog-products-menu { grid-template-columns:minmax(0,1fr); gap:18px; }
  body.tt-site .tt-header .tt-mega-intro,
  .tt-blog-header .tt-blog-products-intro { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; min-height:0; padding:0 0 18px; border:0; border-bottom:1px solid var(--tt-border); border-radius:0; background:none; }
  body.tt-site .tt-header .tt-mega-intro>span,
  body.tt-site .tt-header .tt-mega-intro>p,
  .tt-blog-header .tt-blog-products-intro>span,
  .tt-blog-header .tt-blog-products-intro>p { display:none; }
  body.tt-site .tt-header .tt-mega-intro strong,
  .tt-blog-header .tt-blog-products-intro strong { margin:0; max-width:none; font-size:20px; }
  body.tt-site .tt-header .tt-mega-intro a,
  .tt-blog-header .tt-blog-products-intro a { margin:0; min-height:44px; }
  body.tt-site .tt-header .tt-mega-groups,
  .tt-blog-header .tt-blog-products-groups { padding-top:0; }
}
@media(max-width:1180px) {
  body.tt-site .tt-header .tt-mega-menu,
  .tt-blog-header .tt-blog-mobile-products .tt-blog-products-menu {
    width:100%; padding:12px; margin:10px 0; border-radius:10px;
    background:var(--brand-menu-surface);
    -webkit-backdrop-filter:var(--brand-menu-blur);
    backdrop-filter:var(--brand-menu-blur);
  }
}

/* Linked content keeps its affordance without a repeated decorative northeast arrow. */
.tt-blog-search-result { grid-template-columns:minmax(0,1fr); }
.hd-type-card:is(:hover,:focus-visible) h3 { text-decoration:underline; text-underline-offset:5px; }

/* AI transparency is a reading page: clear headings and sources, without nested cards. */
body.tt-site[data-page="ai-act"] .tt-ai-information { padding-block:160px 80px !important; }
.tt-ai-information-heading { max-width:960px; margin-bottom:48px; }
.tt-ai-information-label { margin:0 0 16px; color:var(--brand-violet); font-size:14px; font-weight:700; }
body.tt-site[data-page="ai-act"] .tt-ai-information h1 { max-width:22ch; margin:0 0 24px; text-align:left; }
.tt-ai-information-intro { max-width:68ch; margin:0 0 20px; color:var(--brand-muted); font-size:20px; line-height:1.65; }
.tt-ai-information-date { color:var(--brand-muted); font-size:14px; }
.tt-ai-information-body { max-width:74ch; }
body.tt-site[data-page="ai-act"] .tt-ai-information-body section { margin:0 0 40px; padding:0; min-height:0; text-align:left; }
body.tt-site[data-page="ai-act"] .tt-ai-information-body h2 { margin:0 0 14px; font:700 clamp(24px,2.3vw,30px)/1.3 var(--brand-heading) !important; letter-spacing:-.025em; text-align:left; }
.tt-ai-information-body :is(p,li) { font-size:18px; line-height:1.7; }
.tt-ai-information-body p { margin:0 0 16px; }
.tt-ai-information-body ul { margin:0 0 20px; padding-left:22px; }
.tt-ai-information-body li { margin:0 0 10px; padding-left:4px; }
body.tt-site[data-page="ai-act"] .tt-ai-information-body a { color:var(--brand-violet); font:inherit !important; text-decoration:underline !important; text-underline-offset:4px; }
.tt-ai-information-body a:hover { text-decoration-thickness:2px; }
.tt-ai-information-body a:focus-visible { outline:3px solid var(--brand-violet); outline-offset:4px; }
@media(max-width:1180px) { body.tt-site[data-page="ai-act"] .tt-ai-information { padding-top:125px !important; } }
@media(max-width:620px) {
  body.tt-site[data-page="ai-act"] .tt-ai-information { padding-block:112px 44px !important; }
  .tt-ai-information-heading { margin-bottom:36px; }
  .tt-ai-information-intro { font-size:18px; }
  body.tt-site[data-page="ai-act"] .tt-ai-information-body section { margin-bottom:32px; }
}

/* Quote selection remains a working list rather than a second nested card. */
body.tt-site .tt-demo-panel .hd-contact-form :is(.tt-privacy-copy,.privacy) a{color:var(--brand-violet)!important;text-decoration:underline;text-underline-offset:3px}
body.tt-site .tt-demo-panel .tt-bi-form-head span{color:var(--brand-muted)}
body.tt-site .tt-demo-panel .tt-pricing-selection{margin:32px 0 20px;padding:24px 0;border-block:1px solid #ffffff55}
body.tt-site .tt-demo-panel .tt-pricing-selection h3{margin:0 0 12px;color:#fff;font:700 21px/1.4 'Plus Jakarta Sans',sans-serif}
body.tt-site .tt-demo-panel .tt-pricing-selection>p{margin:0 0 16px;color:#fff;font-size:16px}
body.tt-site .tt-demo-panel .selected-products{display:grid;gap:0;max-height:360px;overflow:auto;scrollbar-color:#c7b4e9 transparent;padding-right:8px}
body.tt-site .tt-demo-panel .selected-product{position:static;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;margin:0;border:0;border-bottom:1px solid #ffffff40;border-radius:0;background:transparent;box-shadow:none;color:#fff;font-size:17px}
body.tt-site .tt-demo-panel .selected-product .remove-product{position:static;flex:0 0 44px;width:44px;height:44px;min-width:44px;display:grid;place-items:center;padding:0;margin:0;border:1px solid #ffffff75;border-radius:50%;background:transparent;color:#fff;font:400 26px/1 'Source Sans 3',sans-serif;cursor:pointer}
body.tt-site .tt-demo-panel .selected-product .remove-product:hover{background:#ffffff20}
body.tt-site .tt-demo-panel .selected-product .remove-product:focus-visible{outline:3px solid #ffca3c;outline-offset:3px}
body.tt-site #error-message{color:#b52e2a;margin-top:12px}

body.tt-site .tt-demo-panel .hd-contact-form :is(.tt-field-label,.tt-bi-form-grid label>span,.tt-contact-field>span){display:block;margin:0 0 7px;color:var(--brand-ink);font:600 15px/1.5 var(--brand-body);text-transform:none;letter-spacing:0}
body.tt-site .tt-demo-panel .hd-contact-form :is(.checkbox-approve,.tt-bi-consent) a{color:var(--brand-violet)!important;text-decoration:underline!important;text-underline-offset:3px}

body.tt-site .tt-demo-panel .tt-pricing-selection :is(h3,p,.tt-selected-title){color:#fff!important}
body.tt-site .tt-demo-panel .tt-contact-form-submit>small{font-size:13px;line-height:1.5;text-transform:none;letter-spacing:0;color:var(--brand-muted)}

body.tt-site .tt-demo-panel .hd-contact-copy :is(a,button):focus-visible{outline:3px solid #ffdf77!important;outline-offset:4px!important}
body.tt-site:is([data-page="home"],[data-page="home-dev"]) .tt-header:not(.is-scrolled):not(.is-menu-open) :is(.tt-nav-links>.tt-nav-link,.tt-products-toggle,.hd-types-toggle,.tt-nav-actions>.tt-language,.tt-nav-actions>.tt-account,.tt-nav-actions>.tt-button):focus-visible{outline:3px solid #fff!important;outline-offset:3px}

/* Turnstile uses a horizontal flexible widget whenever the actual form can fit it. */
body.tt-site .tt-demo-panel .tt-turnstile-field{grid-column:1/-1;min-width:0;width:100%;margin:0}
body.tt-site .tt-demo-panel .tt-turnstile-field .cf-turnstile{display:block;width:100%;min-width:0;margin:0}
body.tt-site .tt-demo-panel .tt-turnstile-field .cf-turnstile[data-size="compact"]{width:150px;margin-inline:auto}

/* Configurator: one white canvas and one content boundary for headings and choices. */
body.tt-site.page-template-pricing-new-2 .pricingMainText{width:100%!important;max-width:none!important;margin:0!important;padding:56px 0 80px!important;background:#fff!important}
body.tt-site.page-template-pricing-new-2 .pricingBox{box-sizing:border-box;width:calc(100% - var(--brand-gutter)*2)!important;max-width:1280px!important;margin:0 auto!important;padding:0!important;background:transparent!important}
body.tt-site.page-template-pricing-new-2 :is(.pricingContainers,.MarketingAndMiscelaneous){width:100%!important;max-width:none!important;margin-inline:0!important;padding:0!important;background:transparent!important}
body.tt-site.page-template-pricing-new-2 :is(.pricingContainers,.MarketingAndMiscelaneous)::before,
body.tt-site.page-template-pricing-new-2 :is(.pricingContainers,.MarketingAndMiscelaneous)::after{content:none!important}
body.tt-site.page-template-pricing-new-2 :is(.pricingContainers,.MarketingAndMiscelaneous)>.textAndSelectButton{min-height:48px;margin-bottom:24px!important;gap:24px}
body.tt-site.page-template-pricing-new-2 .outerCard .individualCard{min-height:340px!important;justify-content:flex-start!important;gap:0;box-shadow:none!important}
body.tt-site.page-template-pricing-new-2 .outerCard .cardTitle{min-height:2.5em!important;font-size:19px!important;line-height:1.25!important;letter-spacing:-.025em!important}
body.tt-site.page-template-pricing-new-2 .outerCard .cardSubtitle{display:block;min-height:0;margin:10px 0 20px!important;font-size:16px!important;line-height:1.5!important}
body.tt-site.page-template-pricing-new-2 .outerCard .individualCard img{margin-top:auto!important}
body.tt-site.page-template-pricing-new-2 .pricingContainers+.pricingContainers,
body.tt-site.page-template-pricing-new-2 .pricingContainers+.MarketingAndMiscelaneous{margin-top:56px!important}
body.tt-site.page-template-pricing-new-2 .outerCard{height:auto!important}
body.tt-site.page-template-pricing-new-2 .outerCard .individualCard{height:auto!important;min-height:360px!important;border-radius:16px!important}
body.tt-site.page-template-pricing-new-2 .outerCard .cardTitle{height:auto!important;margin:0!important;font-family:var(--brand-heading)!important;font-size:18px!important;line-height:1.3!important}
body.tt-site.page-template-pricing-new-2 .outerCard .cardSubtitle{height:auto!important;padding:0!important}
body.tt-site.page-template-pricing-new-2 .select-all{font-size:13px!important;text-transform:none!important;letter-spacing:0!important}

/* The configurator no longer paints or downloads the legacy header-shadow decoration. */
body.tt-site.page-template-pricing-new-2::after{content:none!important;background-image:none!important}

/* Homepage rhythm, applied by content role rather than HTML heading level alone. */
body.tt-site.tt-product-page #main-content > .top-part:first-child {
  min-height:0 !important;
  padding:var(--brand-hero-top) max(var(--brand-gutter),calc((100% - var(--brand-content-max))/2)) 72px !important;
}
body.tt-site.tt-product-page .tt-main .top-part .header-title {
  font:700 var(--brand-type-title)/1.1 var(--brand-heading) !important;
  letter-spacing:-.04em !important;
}
body.tt-site.tt-product-page .tt-main .top-part>h6,
body.tt-site.tt-product-page .tt-main .top-part .top-part-text>h6 {
  max-width:60ch; color:var(--brand-muted) !important;
  font:400 var(--brand-type-intro)/1.55 var(--brand-body) !important;
  letter-spacing:0; text-transform:none; text-wrap:pretty;
}
body.tt-site .tt-main :is(.tt-rs-hero,.tt-type-hero,.tt-orders-hero,.tt-bi-hero,.tt-showcase-hero,.tt-portfolio-hero,.tt-contact-hero) {
  min-height:0; padding-block:var(--brand-hero-top) 72px;
}
body.tt-site[data-page="pricing"] .pricingUpperText { padding-block:var(--brand-hero-top) 64px !important; }
body.tt-site[data-page="pricing"] .pricingUpperText h1 { margin-block:0 !important; }
body.tt-site .tt-main :is(.tt-rs-definition,.tt-rs-flow,.tt-rs-proof,.tt-rs-modules,.tt-rs-configs,.tt-rs-types,.tt-rs-reasons,.tt-rs-faq,
  .tt-type-case,.tt-type-modules,.tt-type-related,.tt-orders-channels,.tt-orders-flow,.tt-orders-control,.tt-orders-delivery,.tt-orders-capabilities,.tt-orders-integrations,
  .tt-bi-manifesto,.tt-bi-platform,.tt-bi-capabilities,.tt-bi-audit,.tt-bi-risk,.tt-bi-experience,.tt-bi-assistant,.tt-bi-outcomes,.tt-bi-faq,
  .tt-showcase-featured,.tt-showcase-archive,.tt-contact-channels,.tt-contact-office,.leadership,.our-office,.call-to-action-contact-section) {
  padding-block:var(--brand-section-space);
}
body.tt-site .tt-main :is(.tt-rs-modules,.tt-rs-reasons,.tt-showcase-featured,.tt-showcase-archive,.tt-contact-office) { background:var(--tt-surface-canvas) !important; }
body.tt-site .tt-main .tt-rs-flow { background:var(--tt-surface-subtle); }
body.tt-site .tt-main .tt-product-context {
  padding-block:var(--brand-section-space); background:var(--tt-surface-subtle) !important;
}
/* Breadcrumbs already provide header clearance; do not add a second hero offset. */
body.tt-site .tt-type-breadcrumbs {
  width:calc(100% - var(--brand-gutter)*2) !important; max-width:var(--brand-content-max);
  margin:0 auto !important; padding:var(--brand-hero-top) 0 24px;
  font:600 14px/1.5 var(--brand-body); letter-spacing:0; text-transform:none;
}
body.tt-site .tt-main .tt-type-hero { padding-top:16px; }
body.tt-site .tt-main :is(.tt-rs-section-heading h2,.tt-rs-section-intro h2,.tt-type-case h2,.tt-type-modules h2,.tt-type-related h2,
  .tt-orders-section-heading h2,.tt-orders-section-head h2,.tt-orders-title,.tt-bi-title,.tt-showcase-section-head h2,.tt-showcase-archive-head h2,.tt-portfolio-section-head h2,#tt-not-found-suggestions-title,
  .tt-contact-channels-head h2,.tt-contact-office-copy h2,.tt-product-context-head h2,.tt-integration-search-copy h2,
  .title-leadership,.call-to-action-title,.thePowerOfChoiceTitle,.heading-size-1) {
  font:700 var(--brand-type-section)/1.13 var(--brand-heading) !important;
  letter-spacing:-.035em !important; text-wrap:balance;
}
body.tt-site .tt-main :is(.tt-rs-section-heading,.tt-rs-section-intro,.tt-showcase-section-head,.tt-showcase-archive-head,
  .tt-product-context-head,.tt-contact-channels-head) { margin-bottom:48px; gap:var(--brand-section-gap); }
body.tt-site.tt-product-page .tt-main h2.subtitle,
body.tt-site .tt-main :is(.choice1,.choice2,.tt-orders-feature-copy h2) {
  font:700 var(--brand-type-feature)/1.17 var(--brand-heading) !important;
  letter-spacing:-.035em !important; text-wrap:balance;
}
body.tt-site .tt-main :is(.choice1,.choice2) { margin:0 0 24px !important; }
body.tt-site .tt-main .tt-rs-proof-copy h3,
body.tt-site.page-template-studii-de-caz .tt-showcase-featured-copy h3,
body.tt-site.page-template-branded-mobile-app-2 .tt-main .big-card h2 {
  font:700 var(--brand-type-feature)/1.17 var(--brand-heading) !important; letter-spacing:-.035em !important;
}
body.tt-site .tt-main .thePowerOfChoiceTitle { max-width:26ch; margin:0 auto 48px !important; }
body.tt-site.page-template-about-us .our-story { padding-block:var(--brand-hero-top) var(--brand-section-space); }
body.tt-site.page-template-about-us .title-our-story {
  max-width:24ch; margin:0 0 48px !important;
  font:700 var(--brand-type-title)/1.1 var(--brand-heading) !important;
  letter-spacing:-.04em !important; text-wrap:balance;
}
body.tt-site.page-template-about-us .call-to-action-contact-section .call-to-action-title {
  font:700 var(--brand-type-section)/1.13 var(--brand-heading) !important; letter-spacing:-.035em !important;
}
body.tt-site .tt-main .heading-size-1 { max-width:26ch; margin-block:var(--brand-section-space) 40px !important; }
body.tt-site .tt-main :is(.tt-rs-section-heading>p,.tt-rs-section-intro>p,.tt-showcase-section-head>p,.tt-showcase-archive-head>p,
  .tt-contact-channels-head>p,.tt-product-context-head>p,.tt-type-case-intro>p) {
  max-width:65ch; font-size:18px; line-height:1.65; color:var(--brand-muted);
}
body.tt-site:not(:is([data-page="home"],[data-page="home-dev"])) .tt-demo-panel { margin-top:0; }
body.tt-site .tt-product-context + .tt-demo-panel { margin-top:var(--brand-section-gap); }

/* Primary actions keep the same geometry; exploration controls retain their own role. */
body.tt-site .tt-main :is(.top-part,.tt-rs-hero,.tt-type-hero,.tt-orders-hero,.tt-bi-hero,.tt-showcase-hero,.tt-portfolio-hero,.tt-contact-hero) :is(a.tt-button,a.custom-btn,a.get-quote-btn),
body.tt-site.page-template-resellers .tt-main a.custom-btn {
  min-height:54px !important; padding:14px 24px !important; border-radius:var(--brand-action-radius) !important;
  font:700 15px/1.5 var(--brand-body) !important; letter-spacing:0; text-transform:none;
}
body.tt-site .tt-main #top-part a.custom-btn,
body.tt-site .tt-main .top-part a.custom-btn,
body.tt-site.page-template-resellers .tt-main a.custom-btn {
  --tt-action-bg:var(--brand-yellow); --tt-action-text:var(--brand-ink);
  background:var(--brand-yellow) !important; color:var(--brand-ink) !important; border:1px solid #a87500 !important;
}
body.tt-site .tt-main #top-part a.custom-btn:hover,
body.tt-site .tt-main .top-part a.custom-btn:hover,
body.tt-site.page-template-resellers .tt-main a.custom-btn:hover { background:#ffbd25 !important; transform:none; }
body.tt-site .tt-main #top-part a.custom-btn:focus-visible,
body.tt-site .tt-main .top-part a.custom-btn:focus-visible,
body.tt-site.page-template-resellers .tt-main a.custom-btn:focus-visible { outline:3px solid var(--brand-violet); outline-offset:4px; }
body.tt-site [data-showcase-reset] { min-width:44px; min-height:44px; text-transform:none; letter-spacing:0; }
body.tt-site .hd-home .tt-button { border-radius:var(--brand-action-radius) !important; }

/* The native reading task uses the same type families, with a quieter reading scale. */
body.tt-blog-site main,
body.tt-blog-site main :is(p,li,label,input,select,textarea,button,summary) { font-family:var(--brand-body) !important; }
body.tt-blog-site main h1 {
  font:700 var(--brand-type-title)/1.1 var(--brand-heading) !important;
  letter-spacing:-.04em !important; text-wrap:balance;
}
body.tt-blog-site .tt-blog-list-hero .tt-blog-editorial-copy h1 { overflow-wrap:normal; }
body.tt-blog-site :is(.tt-blog-list-hero,.tt-blog-index,.tt-helpdesk-hero,.tt-helpdesk-index) { background:var(--tt-surface-canvas); }
body.tt-blog-site :is(.tt-blog-index,.tt-helpdesk-index) { padding-bottom:var(--brand-section-space); }
body.tt-blog-site .tt-helpdesk-hero-layout { min-height:0; padding-block:64px; gap:var(--brand-section-gap); }
body.tt-blog-site :is(.tt-blog-list-hero .tt-blog-editorial-copy>p,.tt-helpdesk-hero-layout>div:first-child>p,.tt-blog-article-lead) {
  font-size:var(--brand-type-intro); line-height:1.55; color:var(--brand-muted);
}
body.tt-blog-site .tt-blog-prose { max-width:74ch; font-size:18px; line-height:1.75; color:var(--brand-ink); }
body.tt-blog-site .tt-blog-prose h2 { font-size:clamp(26px,2.3vw,34px); line-height:1.25; letter-spacing:-.025em; }
body.tt-blog-site .tt-blog-prose h3 { font-size:clamp(22px,1.8vw,28px); line-height:1.3; letter-spacing:-.025em; }

@media(max-width:900px) {
  body.tt-site.tt-product-page #main-content > .top-part:first-child { padding-bottom:56px !important; }
}
@media(max-width:620px) {
  body.tt-site .tt-main :is(.tt-rs-hero,.tt-type-hero,.tt-orders-hero,.tt-bi-hero,.tt-showcase-hero,.tt-portfolio-hero,.tt-contact-hero) { padding-bottom:48px; }
  body.tt-site .tt-main :is(.tt-rs-section-heading,.tt-rs-section-intro,.tt-showcase-section-head,.tt-showcase-archive-head,.tt-product-context-head,.tt-contact-channels-head) { margin-bottom:32px; }
  body.tt-blog-site .tt-helpdesk-hero-layout { padding-block:40px; }
}
