/* ============================================================================
   tb-template.css · TEMPLATE STYLE LIBRARY (Template Builder)
   The same for every page. Do not edit it by hand: colors, fonts and sizes
   live in tb-theme.css and are generated by the app.
   ============================================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:var(--tb-hdr-fixed,0px)}
body.tb-body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--tb-bg);color:var(--tb-text);
  font-family:var(--tb-font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.tb-main{flex:1 0 auto;width:100%;min-width:0;position:relative;z-index:2000;box-sizing:border-box}
.tb-page{position:relative;z-index:0;box-sizing:border-box;width:100%;margin:0;padding:0;min-height:calc(max(100vh, 56.25vw) * var(--tb-ps, 100) / 100)}
.tb-wrap{width:100%;max-width:var(--tb-container,1200px);margin-inline:auto;padding-inline:clamp(16px,3vw,32px)}
.tb-skip{position:absolute;left:12px;top:-60px;z-index:2004;padding:.6em 1em;border-radius:8px;background:var(--tb-accent);color:var(--tb-accent-ink);font-weight:700;text-decoration:none;transition:top .2s}
.tb-skip:focus{top:12px}
.tb-ic{width:1.1em;height:1.1em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Buttons */
.tb-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:.72em 1.35em;font:600 .92rem/1 var(--tb-font-body);
  border:var(--tb-bw,0px) solid transparent;border-radius:var(--tb-btn-radius,var(--tb-radius));background:var(--tb-accent);color:var(--tb-accent-ink);
  text-decoration:none;cursor:pointer;white-space:nowrap;transition:transform .2s,filter .2s,box-shadow .2s,background .2s}
.tb-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}
.tb-btn:focus-visible{outline:2px solid currentColor;outline-offset:3px}
body[data-tb-btn="pill"]{--tb-btn-radius:999px}
body[data-tb-btn="square"]{--tb-btn-radius:0px}
body[data-tb-btn="rounded"]{--tb-btn-radius:var(--tb-radius)}
body[data-tb-btn="brutal"] .tb-btn{--tb-btn-radius:0px;border:3px solid var(--tb-border-strong);box-shadow:0 8px 18px -4px rgba(0,0,0,.35)}
body[data-tb-btn="brutal"] .tb-btn:hover{transform:translateY(-2px);box-shadow:0 14px 26px -6px rgba(0,0,0,.4);filter:none}
body[data-tb-btn="gradient"] .tb-btn{--tb-btn-radius:999px;background:linear-gradient(135deg,var(--tb-accent),var(--tb-accent2));color:#fff}
body[data-tb-btn="outline"] .tb-btn{background:transparent;color:var(--tb-accent);border:2px solid var(--tb-accent)}
body[data-tb-btn="outline"] .tb-btn:hover{background:var(--tb-accent);color:var(--tb-accent-ink);box-shadow:var(--tb-shadow-sm)}

/* ---------------------------------------------------------------- HEADER */
.tb-header{--tb-h-cur:var(--tb-h-fg);--tb-nav-shade:color-mix(in srgb,var(--tb-nav-bg) 60%,#000);position:relative;z-index:2002;isolation:isolate;color:var(--tb-h-cur);font-family:var(--tb-font-body)}
.tb-header{width:var(--tb-h-w,100%);margin-inline:auto}
@media (max-width:1099px){.tb-header{width:100%}}
.tb-header[data-tb-pos="fixed"]{position:fixed;top:0;left:0;right:0;transition:top .35s ease}
.tb-header.tb-hidden{top:calc((var(--tb-hdr-h,90px) + var(--tb-hdeco-h,0px)) * -1 - 8px)}
body[data-tb-hpos="fixed"]:not([data-tb-hstyle="transparent"]):not([data-tb-hover]) .tb-main{padding-top:var(--tb-hdr-h,0px)}
.tb-header[data-tb-over][data-tb-pos="static"]{position:absolute;top:0;left:0;right:0}
body:is([data-tb-hover],[data-tb-hstyle="transparent"]) .tb-slot[data-tb-example]{padding-top:calc(var(--tb-hdr-h,90px) + 36px);background:linear-gradient(160deg,color-mix(in srgb,var(--tb-accent) 38%,var(--tb-bg)),color-mix(in srgb,var(--tb-accent2) 30%,var(--tb-bg)))}
.tb-header[data-tb-style="transparent"][data-tb-pos="static"]{position:absolute;top:0;left:0;right:0}
/* The background lives in a pseudo-element so blur never breaks the mobile menu (position:fixed) */
.tb-header::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--tb-h-bg);opacity:var(--tb-h-op,1);pointer-events:none;transition:background .3s,box-shadow .3s}
.tb-header[data-tb-style="solid"]::before{border-bottom:var(--tb-bw,0px) solid var(--tb-border)}
.tb-header:is([data-tb-style="solid"],[data-tb-style="gradient"],[data-tb-style="mesh"]).tb-scrolled::before{box-shadow:var(--tb-shadow-sm)}
.tb-header[data-tb-style="gradient"]::before{background:linear-gradient(100deg,var(--tb-h-bg),var(--tb-h-bg2))}
.tb-header[data-tb-style="mesh"]::before{background:radial-gradient(60% 150% at 8% 0,var(--tb-hd2) 0,transparent 62%),radial-gradient(50% 150% at 92% 100%,var(--tb-hd3) 0,transparent 62%),var(--tb-h-bg)}
.tb-header[data-tb-style="glass"]::before{background:var(--tb-h-bg);
  -webkit-backdrop-filter:blur(var(--tb-h-blur,16px)) saturate(1.5);backdrop-filter:blur(var(--tb-h-blur,16px)) saturate(1.5);
  border-bottom:1px solid color-mix(in srgb,var(--tb-h-fg) 14%,transparent)}
.tb-header[data-tb-style="photo"]::before{background-color:var(--tb-h-bg);background-image:linear-gradient(var(--tb-h-ovc),var(--tb-h-ovc)),var(--tb-h-img);background-size:auto,cover;background-position:0 0,var(--tb-h-px,50%) var(--tb-h-py,50%);background-repeat:no-repeat;border-bottom:var(--tb-bw,0px) solid var(--tb-border)}
.tb-header[data-tb-style="photo"].tb-scrolled::before{box-shadow:var(--tb-shadow-sm)}
.tb-header[data-tb-style="line"]::before{border-bottom:var(--tb-bw-line,3px) solid var(--tb-border-strong)}
.tb-header[data-tb-style="transparent"]{--tb-h-cur:var(--tb-h-fg-top)}
.tb-header[data-tb-style="transparent"]::before{background:transparent}
.tb-header[data-tb-style="transparent"].tb-scrolled{--tb-h-cur:var(--tb-h-fg)}
.tb-header[data-tb-style="transparent"].tb-scrolled::before{background:var(--tb-h-bg);box-shadow:var(--tb-shadow-sm)}
/* Floating: a rounded bar away from the edges */
.tb-header[data-tb-style="floating"]{padding-top:12px}
.tb-header[data-tb-style="floating"]::before{display:none}
.tb-header[data-tb-style="floating"] .tb-topbar{margin-top:-12px;margin-bottom:12px}
.tb-header[data-tb-style="floating"] .tb-hbar{width:min(calc(100% - 24px),var(--tb-container,1200px));margin-inline:auto;isolation:isolate}
.tb-header[data-tb-style="floating"] .tb-hbar::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:calc(var(--tb-radius) * 1.6);
  background:var(--tb-h-bg);opacity:var(--tb-h-op,1);box-shadow:var(--tb-shadow);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);
  border:var(--tb-bw,0px) solid var(--tb-border)}
.tb-header[data-tb-style="floating"] .tb-hbar-in{max-width:none}

/* Edge shapes (waves, curve…): hang below the header, transparent so the page shows through */
.tb-hdeco,.tb-fdeco{position:absolute;left:0;right:0;line-height:0;pointer-events:none}
.tb-hdeco svg,.tb-fdeco svg{display:block;width:100%;height:100%}
.tb-hdeco{top:100%;height:var(--tb-hdeco-h,60px)}
.tb-fdeco{bottom:100%;height:var(--tb-fdeco-h,60px);transform:scaleY(-1)}

/* Artwork layers: organic shapes (ribbons, circles, blobs). Page-level layers can sit anywhere (height, Z) and may
   stay fixed while scrolling; "inside the header" layers are clipped to the header band. */
body.tb-body{position:relative}
.tb-arts{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:2001}   /* one level below the header (2002): above the page, under the header */
.tb-hartwrap{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.tb-art{position:absolute;top:var(--ay,0px);left:var(--ax,50%);width:calc(max(100%,900px) * var(--as,1));z-index:var(--az,-1);opacity:var(--ao,1);
  transform:translateX(-50%) scale(var(--fx,1),var(--fy,1));pointer-events:none}
.tb-art-fixed{position:fixed}
.tb-art.tb-art-pic{width:calc(30% * var(--as,1))}
.tb-art-pic-img{display:block;width:100%;height:auto}
.tb-art svg{display:block;width:100%;height:auto;overflow:visible}
/* Top bar (phones, email, social) */
.tb-topbar{background:var(--tb-top-bg);color:var(--tb-top-fg);font-size:.82rem;max-height:96px;overflow:hidden;transition:max-height .3s,opacity .3s}
.tb-header.tb-scrolled .tb-topbar{max-height:0;opacity:0}
.tb-header[data-tb-topfix].tb-scrolled .tb-topbar{max-height:96px;opacity:1}
.tb-topbar-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.3rem 1.4rem;padding-block:.5rem}
.tb-topbar-msg{margin:0;font-weight:600}
.tb-info{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2rem 1.3rem;align-items:center}
.tb-info li,.tb-info a{display:inline-flex;align-items:center;gap:.45em;color:inherit;text-decoration:none}
.tb-info a:hover{text-decoration:underline}

/* Main bar */
.tb-hbar{position:relative}
.tb-hbar-in{display:flex;align-items:center;gap:clamp(12px,2vw,28px);padding-block:var(--tb-pad-y,14px);transition:padding .3s}
.tb-header.tb-scrolled[data-tb-shrink] .tb-hbar-in{padding-block:calc(var(--tb-pad-y,14px) * .5)}
.tb-header.tb-scrolled[data-tb-shrink] .tb-logo{height:calc(var(--tb-logo-h,40px) * .78)}
/* Fixed header height (set with the "Header height" slider) */
.tb-header[data-tb-hh] .tb-hbar-in{height:var(--tb-hbar-h);padding-block:0;transition:height .3s}
.tb-header[data-tb-hh] .tb-logo{max-height:calc(var(--tb-hbar-h) - 14px)}
.tb-header.tb-scrolled[data-tb-hh][data-tb-shrink] .tb-hbar-in{height:calc(var(--tb-hbar-h) * .78)}
.tb-brand{display:flex;align-items:center;gap:.7rem;min-width:0;flex:none;color:inherit;text-decoration:none}
.tb-logo{display:block;height:var(--tb-logo-h,40px);width:auto;max-width:240px;object-fit:contain;transition:height .3s}
.tb-brand-text{display:grid;line-height:1.15;min-width:0}
.tb-brand-text strong{font:700 1.2rem/1.1 var(--tb-font-head);letter-spacing:-.01em;white-space:nowrap}
.tb-brand-text small{font-size:.72rem;opacity:.72;white-space:nowrap}
.tb-header .tb-brand-text strong{color:var(--tb-brand-name,inherit)}
.tb-header .tb-brand-text small{color:var(--tb-brand-tag,inherit);opacity:var(--tb-brand-tag-op,.72)}
.tb-nav{flex:1 1 auto;min-width:0;display:flex;justify-content:var(--tb-nav-just,flex-end);padding-left:calc(max(var(--tb-nav-x,0),0) * 1%);padding-right:calc(max(-1 * var(--tb-nav-x,0),0) * 1%)}
.tb-header .tb-brand{margin-left:calc(var(--tb-brand-x,0) * 1%)}
.tb-header[data-tb-brandr] .tb-brand{order:3;margin-left:0;margin-right:calc(var(--tb-brand-x,0) * 1%)}
.tb-header[data-tb-brandr] .tb-nav{order:1}
.tb-header[data-tb-brandr] .tb-actions{order:2}
.tb-header.tb-navwrap[data-tb-brandr] .tb-hbar-in{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"act brand" "nav nav"}
.tb-header.tb-navwrap[data-tb-brandr] .tb-brand{justify-self:end}
.tb-header.tb-navwrap[data-tb-brandr] .tb-actions{justify-self:start}
@media (max-width:1099px){.tb-nav{padding-left:0;padding-right:0}.tb-header .tb-brand{margin-left:0}.tb-header[data-tb-brandr] .tb-brand{margin-right:0}}
.tb-actions{display:flex;align-items:center;gap:.8rem;flex:none}
.tb-tel{display:inline-flex;align-items:center;gap:.45em;color:inherit;text-decoration:none;font-weight:600;font-size:.92rem;white-space:nowrap}
.tb-tel:hover{color:var(--tb-accent)}
.tb-socials{display:flex;gap:.4rem;align-items:center}
.tb-soc{display:grid;place-items:center;width:2.05rem;height:2.05rem;border-radius:50%;color:inherit;text-decoration:none;
  background:color-mix(in srgb,currentColor 12%,transparent);transition:background .2s,color .2s,transform .2s}
.tb-soc:hover{background:var(--tb-accent);color:var(--tb-accent-ink);transform:translateY(-2px)}
.tb-soc .tb-ic{width:1.05rem;height:1.05rem}

/* The menu does not fit beside the logo and the buttons (desktop): it takes its own row below them */
.tb-header.tb-navwrap .tb-hbar-in{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand act" "nav nav";row-gap:.35rem;align-items:center}
.tb-header.tb-navwrap .tb-brand{grid-area:brand;justify-self:start}
.tb-header.tb-navwrap .tb-nav{grid-area:nav}
.tb-header.tb-navwrap .tb-actions{grid-area:act;justify-self:end}
.tb-header.tb-navwrap:not([data-tb-nav]){--tb-nav-just:center}
.tb-header.tb-navwrap[data-tb-hh] .tb-hbar-in{height:auto;min-height:var(--tb-hbar-h)}
/* The menu (Menu Generator engine) inside the header */
html body .tb-header .mg-dock{position:static!important;left:auto;right:auto;top:auto;bottom:auto;padding:0;display:flex;justify-content:var(--tb-nav-just,flex-end);
  width:100%;transform:none!important;opacity:1!important;pointer-events:none}
html body .tb-header .mg-menu{max-width:100%}
.tb-header .mg-surface.mg-nobg{box-shadow:none}
.tb-header .mg-burger{position:absolute;top:50%;margin-top:-23px;right:clamp(12px,2vw,24px);z-index:3;width:46px;height:46px;border-radius:calc(var(--tb-radius) * .8);gap:6px}
html[data-mg-burger="left"] .tb-header .mg-burger{right:auto;left:clamp(12px,2vw,24px)}
.tb-header .mg-burger span{width:22px}
.tb-header .mg-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg)}
.tb-header .mg-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
html.mg-m .tb-header .mg-menu{--mg-text:var(--tb-h-fg)!important;top:calc(var(--tb-hdr-bottom,84px) + 8px)!important;
  max-height:calc(100vh - var(--tb-hdr-bottom,84px) - 24px)!important;left:12px;right:12px}
@media (min-width:760px){
  html.mg-m .tb-header .mg-menu{left:auto;right:16px;width:min(380px,calc(100vw - 32px))}
  html.mg-m[data-mg-burger="left"] .tb-header .mg-menu{left:16px;right:auto}
}

/* First-level look: one background for the whole level, or each option in its own shape (desktop only) */
.tb-header{--tb-nav-r:999px}
.tb-header[data-tb-navshape="rounded"]{--tb-nav-r:calc(var(--tb-radius) * .8)}
.tb-header[data-tb-navshape="square"]{--tb-nav-r:0px}
html:not(.mg-m) .tb-header:is([data-tb-navstyle="bar"],[data-tb-navstyle="pills"]) .mg-menu{--mg-text:var(--tb-nav-fg)!important}
html:not(.mg-m) .tb-header[data-tb-navdeco="gradient"]:is([data-tb-navstyle="bar"],[data-tb-navstyle="pills"]) .mg-menu{--mg-text:#fff!important}
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"] .mg-menu{padding:.3em .55em;border-radius:var(--tb-nav-r);background-color:var(--tb-pill-bg,var(--tb-nav-bg));background-image:var(--tb-pill-img,none)}
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"] .mg-bar > li > .mg-item{border-radius:var(--tb-nav-r)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"] .mg-menu{padding:.2em 0}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"] .mg-bar{gap:.55em}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"] .mg-bar > li > .mg-item:not(.mg-cta){padding:.5em 1.15em;border-radius:var(--tb-nav-r);background-image:var(--tb-pill-img,none)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"] .mg-bar > li:not(.mg-open) > .mg-item:not(.mg-cta):not(.mg-active):not(:hover){background-color:var(--tb-pill-bg,var(--tb-nav-bg))}
.tb-header[data-tb-navdeco="glass"]{--tb-pill-bg:color-mix(in srgb,var(--tb-nav-bg) 45%,transparent)}
.tb-header[data-tb-navdeco="outline"],.tb-header[data-tb-navdeco="neon"]{--tb-pill-bg:transparent}
.tb-header[data-tb-navdeco="smoke"]{--tb-pill-bg:color-mix(in srgb,var(--tb-nav-bg) 62%,transparent);--tb-pill-img:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,0) 42%,rgba(0,0,0,.28))}
.tb-header[data-tb-nava]{--tb-pill-bg:color-mix(in srgb,var(--tb-nav-bg) var(--tb-nav-a,100%),transparent)}
.tb-header[data-tb-navdeco="gradient"]{--tb-pill-img:linear-gradient(135deg,var(--tb-accent),var(--tb-accent2))}
.tb-header[data-tb-navdeco="3d"]{--tb-pill-img:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,0) 55%,rgba(0,0,0,.14))}
/* decorations: "pills" decorate each option, "bar" decorates the whole first level */
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="soft"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="soft"] .mg-menu{box-shadow:0 6px 16px rgba(0,0,0,.22)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="3d"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="3d"] .mg-menu{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -4px 8px rgba(0,0,0,.18),0 8px 14px -4px color-mix(in srgb,var(--tb-nav-shade) 70%,transparent),0 14px 26px -8px rgba(0,0,0,.35);margin-bottom:2px}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="3d"] .mg-bar > li > .mg-item:not(.mg-cta):hover{transform:translateY(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -2px 5px rgba(0,0,0,.2),0 4px 8px -3px rgba(0,0,0,.35)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="inset"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="inset"] .mg-menu{box-shadow:inset 3px 3px 7px rgba(0,0,0,.3),inset -3px -3px 7px rgba(255,255,255,.28)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="glass"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="glass"] .mg-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--tb-nav-fg) 25%,transparent);box-shadow:0 4px 14px rgba(0,0,0,.15)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="smoke"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="smoke"] .mg-menu{-webkit-backdrop-filter:blur(var(--tb-nav-blur,14px)) saturate(1.3);backdrop-filter:blur(var(--tb-nav-blur,14px)) saturate(1.3);border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 22px rgba(0,0,0,.28)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navblur]:not([data-tb-navdeco="smoke"]) .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navblur]:not([data-tb-navdeco="smoke"]) .mg-menu{-webkit-backdrop-filter:blur(var(--tb-nav-blur));backdrop-filter:blur(var(--tb-nav-blur))}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="outline"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="outline"] .mg-menu{border:2px solid var(--tb-nav-fg)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="neon"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="neon"] .mg-menu{border:2px solid var(--tb-accent);box-shadow:0 0 12px var(--tb-accent),inset 0 0 8px color-mix(in srgb,var(--tb-accent) 45%,transparent)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="gradient"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="gradient"] .mg-menu{box-shadow:0 6px 16px color-mix(in srgb,var(--tb-accent) 40%,transparent)}
html:not(.mg-m) .tb-header[data-tb-navstyle="pills"][data-tb-navdeco="brutal"] .mg-bar > li > .mg-item:not(.mg-cta),
html:not(.mg-m) .tb-header[data-tb-navstyle="bar"][data-tb-navdeco="brutal"] .mg-menu{border:3px solid var(--tb-border-strong);box-shadow:0 8px 18px -4px rgba(0,0,0,.35)}

/* Header layouts */
.tb-header[data-tb-layout="centered"] .tb-hbar-in{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:". brand act" "nav nav nav";row-gap:.35rem;--tb-nav-just:center}
.tb-header[data-tb-layout="centered"] .tb-brand{grid-area:brand;justify-self:center}
.tb-header[data-tb-layout="centered"] .tb-nav{grid-area:nav}
.tb-header[data-tb-layout="centered"] .tb-actions{grid-area:act;justify-self:end}
.tb-header[data-tb-layout="split"] .tb-hbar-in{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"nav brand act";--tb-nav-just:flex-start}
.tb-header[data-tb-layout="split"] .tb-brand{grid-area:brand;justify-self:center}
.tb-header[data-tb-layout="split"] .tb-nav{grid-area:nav}
.tb-header[data-tb-layout="split"] .tb-actions{grid-area:act;justify-self:end}
.tb-header[data-tb-nav="left"] .tb-hbar-in{--tb-nav-just:flex-start}
.tb-header[data-tb-nav="center"] .tb-hbar-in{--tb-nav-just:center}
.tb-header[data-tb-nav="right"] .tb-hbar-in{--tb-nav-just:flex-end}
html.mg-m .tb-header .tb-hbar-in{display:flex;padding-right:calc(46px + clamp(12px,2vw,24px) + 12px)}
html.mg-m[data-mg-burger="left"] .tb-header .tb-hbar-in{padding-right:clamp(16px,3vw,32px);padding-left:calc(46px + clamp(12px,2vw,24px) + 12px)}
html.mg-m .tb-header .tb-nav{flex:0 0 0;min-width:0}
html.mg-m .tb-header .tb-actions{margin-left:auto}
html.mg-m .tb-header[data-tb-layout="centered"] .tb-brand,html.mg-m .tb-header[data-tb-layout="split"] .tb-brand{justify-self:auto}
@media (max-width:640px){
  .tb-actions .tb-cta,.tb-actions .tb-socials,.tb-actions .tb-tel span{display:none}
  .tb-topbar-in{justify-content:center}
  .tb-topbar .tb-info li:not(:first-child),.tb-topbar .tb-socials{display:none}
  .tb-brand-text small{display:none}
}

/* ---------------------------------------------------------------- FOOTER */
.tb-footer{--tb-f-accent:var(--tb-accent2);position:relative;z-index:2000;background:var(--tb-f-bg);color:var(--tb-f-fg);padding-top:clamp(36px,6vw,72px);font-size:.95rem;font-family:var(--tb-font-body)}
.tb-footer[data-tb-fstyle="gradient"]{background:linear-gradient(160deg,var(--tb-f-bg),var(--tb-f-bg2))}
.tb-footer[data-tb-fstyle="mesh"]{background:radial-gradient(55% 90% at 6% 0,var(--tb-fd2) 0,transparent 60%),radial-gradient(50% 90% at 96% 100%,var(--tb-fd3) 0,transparent 60%),var(--tb-f-bg)}
.tb-footer a{color:inherit;text-decoration:none;opacity:.82;transition:opacity .2s,color .2s}
.tb-footer a:hover{opacity:1;color:var(--tb-f-accent)}
.tb-footer h3{margin:0 0 .95rem;font:700 1rem/1.2 var(--tb-font-head);letter-spacing:.02em}
.tb-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.tb-fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2.2rem clamp(1.5rem,4vw,3.5rem)}
.tb-fgrid .tb-fabout{grid-column:span 2}
.tb-fabout p{margin:.9rem 0 0;max-width:46ch;opacity:.82}
.tb-footer .tb-brand{margin-bottom:.2rem}
.tb-footer .tb-socials{margin-top:1.1rem}
.tb-footer .tb-soc:hover{color:var(--tb-f-bg);background:var(--tb-f-accent)}
.tb-fcontact li{display:flex;gap:.65rem;align-items:flex-start}
.tb-fcontact .tb-ic{margin-top:.28em;color:var(--tb-f-accent)}
.tb-fcontact b{display:block;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;opacity:.65;font-weight:600}
.tb-fbottom{margin-top:clamp(28px,5vw,56px);padding-block:1.25rem;border-top:1px solid color-mix(in srgb,var(--tb-f-fg) 16%,transparent);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.5rem;font-size:.85rem}
.tb-fbottom p{margin:0;opacity:.78}
.tb-flegal{display:flex!important;flex-wrap:wrap;gap:.4rem 1.2rem!important}
.tb-fdisc{display:grid;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--tb-f-fg) 12%,transparent);font-size:.78rem;line-height:1.55;opacity:.74}
.tb-fdisc p{margin:0}
.tb-fdisc a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.tb-footer[data-tb-flayout="centered"] .tb-fdisc{text-align:center}
.tb-legal{padding-block:clamp(40px,6vw,80px)}
.tb-legal .tb-wrap{max-width:820px}
.tb-legal h2{margin-top:2rem;font-size:1.25rem}
.tb-legal ul{padding-left:1.2rem}
.tb-legal-back{margin:0 0 1.2rem}.tb-legal-back a{color:var(--tb-accent);text-decoration:none;font-weight:600}.tb-legal-back a:hover{text-decoration:underline}
.tb-iabs-form{display:grid;gap:1.4rem;margin:1.4rem 0}
.tb-iabs-line{min-height:1.7em;border-bottom:1px solid currentColor;padding:0 .2em;opacity:.9}
.tb-iabs-role small,.tb-iabs-ack small{display:block;font-size:.78rem;opacity:.7;margin-top:.2rem}
.tb-iabs-cols{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:1rem;margin-top:.9rem}
.tb-iabs-ack{grid-template-columns:2fr 1fr}
.tb-iabs-reg{font-size:.85rem;opacity:.8;margin:.4rem 0}
.tb-cpn .tb-wrap p{letter-spacing:.01em}
.tb-legal .tb-wrap p a{color:var(--tb-accent)}
.tb-cpn-ask{margin-top:2rem}
.tb-cpn-id{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin:1.2rem 0}
.tb-cpn-id img{width:200px;max-width:50%;height:auto;background:#fff;border-radius:6px;padding:.5rem}
.tb-cpn-id address{font-style:normal;font-weight:700;line-height:1.7}
@media (max-width:640px){.tb-iabs-cols{grid-template-columns:1fr}}
.tb-fiabs{margin:1rem 0 0;font-size:.8rem;opacity:.85}.tb-fiabs a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.tb-footer[data-tb-flayout="centered"] .tb-fiabs{text-align:center}
.tb-fcta{margin-bottom:clamp(32px,5vw,56px);padding:clamp(24px,4vw,44px);border-radius:calc(var(--tb-radius) * 1.4);background:var(--tb-accent);color:var(--tb-accent-ink);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem 2rem}
body[data-tb-btn="gradient"] .tb-fcta{background:linear-gradient(135deg,var(--tb-accent),var(--tb-accent2));color:#fff}
.tb-fcta h2{margin:0 0 .3rem;font:700 clamp(1.3rem,3vw,1.9rem)/1.15 var(--tb-font-head)}
.tb-fcta p{margin:0;opacity:.9}
.tb-fcta .tb-btn{background:var(--tb-accent-ink);color:var(--tb-accent);border-color:transparent;filter:none}
body[data-tb-btn="gradient"] .tb-fcta .tb-btn{background:#fff;color:var(--tb-accent)}
body[data-tb-btn="brutal"] .tb-fcta{border:3px solid var(--tb-border-strong);box-shadow:0 18px 40px -12px rgba(0,0,0,.45)}
.tb-footer[data-tb-flayout="centered"] .tb-fgrid{grid-template-columns:1fr;justify-items:center;text-align:center}
.tb-footer[data-tb-flayout="centered"] .tb-fgrid .tb-fabout{grid-column:auto}
.tb-footer[data-tb-flayout="centered"] .tb-fabout p{margin-inline:auto}
.tb-footer[data-tb-flayout="centered"] .tb-socials{justify-content:center}
.tb-footer[data-tb-flayout="centered"] .tb-fnav ul,.tb-footer[data-tb-flayout="centered"] .tb-flegal{justify-content:center}
.tb-footer[data-tb-flayout="centered"] .tb-fnav ul{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem}
.tb-footer[data-tb-flayout="centered"] .tb-fcontact li{justify-content:center;text-align:left}
.tb-footer[data-tb-flayout="centered"] .tb-fbottom{justify-content:center;text-align:center}
.tb-fmin{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-bottom:1.5rem}
.tb-fmin .tb-fnav ul{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem}
.tb-fmin .tb-socials{margin:0}
.tb-fmin-info{display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;width:100%;font-size:.88rem;opacity:.85}
.tb-fmin-info span{display:inline-flex;align-items:center;gap:.45em}
.tb-totop{position:fixed;right:18px;bottom:18px;z-index:2003;width:46px;height:46px;border-radius:calc(var(--tb-radius) * .8);border:var(--tb-bw,0px) solid var(--tb-border-strong,transparent);
  background:var(--tb-accent);color:var(--tb-accent-ink);display:grid;place-items:center;cursor:pointer;box-shadow:var(--tb-shadow-sm);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}
.tb-totop.tb-on{opacity:1;transform:none;pointer-events:auto}
.tb-totop .tb-ic{width:1.2rem;height:1.2rem}

/* Content placeholder (replaced by what the Content app generates) */
.tb-slot{padding:clamp(56px,9vw,120px) 0;text-align:center}
.tb-slot h1{margin:0 0 .5em;font:700 clamp(2rem,5vw,3.5rem)/1.08 var(--tb-font-head);letter-spacing:-.02em}
.tb-slot p{max-width:62ch;margin:0 auto;color:var(--tb-muted)}
.tb-slot .tb-seed,.tb-slot .tb-seed-links ul{list-style:none;margin:1.4rem auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.2rem}
.tb-slot .tb-seed li{padding:.5rem .9rem;border:1px solid var(--tb-border);border-radius:var(--tb-radius)}
.tb-slot .tb-seed-links{margin-top:2rem}.tb-slot .tb-seed-links h2{font-size:1.1rem;margin:0}
.tb-slot .tb-slot-hint{margin-top:1.4rem;padding:.9rem 1.1rem;border:1px dashed var(--tb-border);border-radius:var(--tb-radius);font-size:.9rem}
.tb-demo{padding:0 0 60px}
.tb-demo .tb-wrap{display:grid;gap:22px}
.tb-demo-card{min-height:190px;padding:28px;border-radius:calc(var(--tb-radius) * 1.2);background:var(--tb-surface);border:1px solid var(--tb-border);box-shadow:var(--tb-shadow-sm)}
.tb-demo-card h2{margin:0 0 .4em;font:700 1.35rem/1.2 var(--tb-font-head)}
.tb-demo-card p{margin:0;color:var(--tb-muted)}

/* Extra opening effects for submenus (used by every level) */
html[data-mg-open="rise"]{--mg-open-anim:tb-rise}
html[data-mg-open="slideR"]{--mg-open-anim:tb-slider}
html[data-mg-open="grow"]{--mg-open-anim:tb-grow}
html[data-mg-open="stretch"]{--mg-open-anim:tb-stretch}
html[data-mg-open="wipe"]{--mg-open-anim:tb-wipe}
html[data-mg-open="wipeUp"]{--mg-open-anim:tb-wipeup}
html[data-mg-open="iris"]{--mg-open-anim:tb-iris}
html[data-mg-open="diagonal"]{--mg-open-anim:tb-diagonal}
html[data-mg-open="spin"]{--mg-open-anim:tb-spin}
html[data-mg-open="pop"]{--mg-open-anim:tb-pop}
html[data-mg-open="unfold"]{--mg-open-anim:tb-unfold}
html[data-mg-open="tilt"]{--mg-open-anim:tb-tilt}
html[data-mg-open="float"]{--mg-open-anim:tb-float}
@keyframes tb-rise{from{opacity:0;transform:translateY(1.4em)}}
@keyframes tb-slider{from{opacity:0;transform:translateX(1.4em)}}
@keyframes tb-grow{from{opacity:0;transform:scaleY(0)}}
@keyframes tb-stretch{from{opacity:0;transform:scaleX(.15)}}
@keyframes tb-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes tb-wipeup{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes tb-iris{from{clip-path:circle(0% at 0 0)}to{clip-path:circle(150% at 0 0)}}
@keyframes tb-diagonal{from{clip-path:polygon(0 0,0 0,0 0,0 0)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
@keyframes tb-spin{from{opacity:0;transform:rotate(-90deg) scale(.45)}}
@keyframes tb-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}80%{transform:scale(.97)}100%{transform:none}}
@keyframes tb-unfold{from{opacity:0;transform:perspective(600px) rotateX(-95deg)}}
@keyframes tb-tilt{from{opacity:0;transform:rotate(-6deg) translateY(-.8em)}}
@keyframes tb-float{from{opacity:0;filter:blur(8px);transform:translateY(1.8em) scale(.96)}}
/* Level 1 text style (weight, case, italic, effect) and explicit border; Level 3 opening below */
:where(.tb-header .mg-bar > li) > .mg-item{font-weight:var(--tb-nav-w,600);text-transform:var(--tb-nav-tt,none);letter-spacing:var(--tb-nav-ls,normal);font-style:var(--tb-nav-fs,normal)}
:where(.tb-header .mg-bar > li) > .mg-item:not(.mg-cta){text-shadow:var(--tb-nav-ts,var(--mg-tshadow))}
html:not(.mg-m) .tb-header[data-tb-navfg] .mg-menu{--mg-text:var(--tb-nav-fg)!important}
html:not(.mg-m) .tb-header[data-tb-navb][data-tb-navstyle="pills"] .mg-bar > li > .mg-item:not(.mg-cta){border:var(--tb-nav-bw) solid var(--tb-nav-bc)}
html:not(.mg-m) .tb-header[data-tb-navb][data-tb-navstyle="bar"] .mg-menu{border:var(--tb-nav-bw) solid var(--tb-nav-bc)}
html:not(.mg-m) .tb-header[data-tb-sub="below"] .mg-casc .mg-casc,html:not(.mg-m) .tb-header[data-tb-sub="below"] .mg-casc .mg-casc.mg-flip{position:static;left:auto;right:auto;top:auto;bottom:auto;min-width:0;margin:.15em 0 .15em .9em;box-shadow:none}
/* Breadcrumb (footer) */
.tb-crumbs{margin:0 0 1.6rem;font-size:.85rem}
.tb-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .55rem}
.tb-crumbs li{display:inline-flex;align-items:center;gap:.55rem}
.tb-crumbs li + li::before{content:var(--tb-crumb-sep,"›");opacity:.5}
.tb-crumbs [aria-current="page"]{font-weight:600;opacity:.7}
.tb-footer[data-tb-flayout="centered"] .tb-crumbs ol{justify-content:center}
.tb-related{margin:0 0 1.6rem}
.tb-related h2{font-size:.95rem;margin:0 0 .5rem;opacity:.85}
.tb-related ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem;font-size:.88rem}
.tb-footer[data-tb-flayout="centered"] .tb-related ul{justify-content:center}
/* Text and image elements: size, shapes they adopt, and soft (faded) edges */
.tb-art.tb-art-text{width:max-content}
.tb-art-txt{display:inline-block;white-space:nowrap;line-height:1.08;color:var(--ac1);font-size:calc(var(--tsz,12) * var(--as,1) * max(1vw,9px));letter-spacing:calc(var(--tsp,0) * var(--as,1) * max(1vw,9px))}
.tb-art-txt:not([data-shape="none"]){display:inline-grid;place-items:center;text-align:center;background:var(--ac2);padding:.35em .8em}
.tb-art-txt[data-shape="pill"]{border-radius:999px}
.tb-art-txt[data-shape="rounded"]{border-radius:.35em}
.tb-art-txt[data-shape="ellipse"]{border-radius:50%;padding:.55em 1.1em}
.tb-art-txt[data-shape="circle"]{border-radius:50%;aspect-ratio:1;padding:.4em}
.tb-art-txt[data-shape="diamond"]{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);padding:.75em 1.6em}
.tb-art-txt[data-shape="hexagon"]{clip-path:polygon(18% 0,82% 0,100% 50%,82% 100%,18% 100%,0 50%);padding:.5em 1.25em}
.tb-art-pic-img[data-shape="circle"]{aspect-ratio:1/1;object-fit:cover;clip-path:circle(50% at 50% 50%)}
.tb-art-pic-img[data-shape="square"]{aspect-ratio:1/1;object-fit:cover}
.tb-art-pic-img[data-shape="ellipse"]{clip-path:ellipse(50% 50% at 50% 50%)}
.tb-art-pic-img[data-shape="rounded"]{clip-path:inset(0 round 14%)}
.tb-art-pic-img[data-shape="pill"]{clip-path:inset(0 round 999px)}
.tb-art-pic-img[data-shape="diamond"]{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.tb-art-pic-img[data-shape="hexagon"]{clip-path:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%)}
.tb-art-pic-img[data-shape="triangle"]{clip-path:polygon(50% 0,100% 100%,0 100%)}
.tb-art-pic-img[data-shape="arch"]{clip-path:inset(0 round 50% 50% 0 0)}
.tb-art-pic-img[data-shape="blob"]{clip-path:inset(0 round 60% 40% 55% 45% / 50% 60% 40% 50%)}
.tb-art.tb-art-soft{-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--af),#000 calc(100% - var(--af)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--af),#000 calc(100% - var(--af)),transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 var(--af),#000 calc(100% - var(--af)),transparent 100%),linear-gradient(to bottom,transparent 0,#000 var(--af),#000 calc(100% - var(--af)),transparent 100%);mask-composite:intersect}
@media (prefers-reduced-motion:reduce){.tb-header,.tb-header *,.tb-totop{transition:none!important}}
