html {scroll-behavior:smooth;scroll-padding-top:105px}
body{overflow-x:clip}
.tv-carousel-host{height:auto!important;min-height:0!important;max-height:none!important}
.tv-testimonial-carousel{position:relative;box-sizing:border-box;width:100%;padding-inline:56px}
.tv-carousel-viewport{display:block!important;height:auto!important;max-height:none!important;place-items:start!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;mask-image:none!important;-webkit-mask-image:none!important;padding:0!important}
.tv-carousel-viewport::-webkit-scrollbar{display:none}
.tv-carousel-viewport>ul{animation:none!important;transform:none!important;height:auto!important;max-height:none!important;align-items:stretch!important;gap:24px!important}
.tv-carousel-viewport>ul>li{width:var(--tv-testimonial-width)!important;height:auto!important;scroll-snap-align:start;scroll-snap-stop:always}
.tv-carousel-viewport>ul>li>div,.tv-carousel-viewport>ul>li>div>div{width:100%!important;height:100%!important;box-sizing:border-box}
.tv-carousel-arrow{position:absolute;top:50%;translate:0 -50%;width:42px;height:42px;display:grid;place-items:center;border:1px solid #a968df88;border-radius:50%;background:#160d24;color:#fff;font:24px/1 Inter,Arial,sans-serif;cursor:pointer;transition:background .2s,box-shadow .2s}
.tv-carousel-prev{left:0}.tv-carousel-next{right:0}
.tv-carousel-arrow:hover{background:#3a165f;box-shadow:0 0 18px #a23bff55}
.tv-carousel-arrow:disabled{opacity:.3;cursor:default}
@media(max-width:809px){.tv-testimonial-carousel{padding-inline:0}.tv-carousel-controls{display:flex;justify-content:center;gap:16px;margin-top:20px}.tv-carousel-arrow{position:static;translate:none;width:44px;height:44px}}
button,input,textarea{font:inherit}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b16aff;outline-offset:4px}
.tv-faq{display:flex!important;flex-direction:column!important;gap:16px!important;height:auto!important}
.tv-faq details{box-sizing:border-box;width:100%;padding:0 20px 0 10px;background:#0f0f0f;border-radius:15px;box-shadow:5px 18px 10px 8px #0006;color:#fff;overflow:hidden}
.tv-faq details[open]{padding-bottom:20px}
.tv-faq summary{list-style:none;cursor:pointer;font-family:'Inter Display',Inter,sans-serif;font-size:18px;font-weight:400;line-height:1.6;position:relative;padding:20px 69px 20px 20px}
.tv-faq details[open] summary{font-size:20px;padding-bottom:15px;margin-bottom:10px}
.tv-faq summary::-webkit-details-marker{display:none}
.tv-faq summary::after{content:'+';position:absolute;right:20px;top:20px;font-size:24px;font-weight:300;line-height:1.2;color:#999}
.tv-faq details[open] summary::after{content:'−'}
.tv-faq-answer{padding:0 20px;color:#fff9;font-family:'Inter Display',Inter,sans-serif;font-size:20px;font-weight:400;letter-spacing:-.02em;line-height:1.5;white-space:normal}
.tv-faq-answer p+p{margin-top:1.5em}
.tv-menu-button{width:42px;height:42px;background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;color:white}
.tv-menu-button span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px}
.tv-menu-button span{transition:transform .18s ease}
.tv-menu-button.is-open span:first-child{transform:translateY(4.5px) rotate(45deg)}
.tv-menu-button.is-open span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.tv-menu-backdrop{position:fixed;inset:84px 0 0;z-index:998;background:#03010b99;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.tv-menu-backdrop[hidden]{display:none}
body.tv-menu-open{overflow:hidden}
.tv-mobile-nav{position:fixed;top:96px;right:16px;bottom:auto;left:auto;z-index:1002;box-sizing:border-box;display:flex;flex-direction:column;gap:18px;width:min(460px,calc(100% - 32px));max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain;padding:24px;border:1px solid #9163df66;border-radius:24px;background:radial-gradient(ellipse at 100% 0,#b31b6426,transparent 55%),radial-gradient(ellipse at 0 100%,#008d9c18,transparent 50%),#090711f5;box-shadow:0 24px 80px #000b,0 0 26px #65219a22;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.tv-mobile-nav[hidden]{display:none}
.tv-menu-heading{display:flex;flex-direction:column;gap:7px;padding:0 8px 16px;border-bottom:1px solid #ac70d52e}
.tv-menu-heading>span{font-family:Inter,Arial,sans-serif;font-size:10px;line-height:1.4;letter-spacing:.18em;color:#c388e8}
.tv-menu-heading>p{margin:0;font-family:'Inter Display',Inter,sans-serif;font-size:16px;line-height:1.5;color:#e7e0d6}
.tv-menu-links{display:flex;flex-direction:column;gap:3px}
.tv-mobile-nav a{box-sizing:border-box;text-decoration:none;font-family:'Inter Display',Inter,sans-serif;color:#f6edf6}
.tv-menu-links>a{display:grid;grid-template-columns:24px 1fr 24px;align-items:center;gap:14px;min-height:52px;padding:10px 8px;border-radius:12px;font-size:21px;line-height:1.2;transition:background .25s ease,color .25s ease}
.tv-menu-number{font-family:Inter,Arial,sans-serif;font-size:10px;letter-spacing:.06em;color:#7088b3}
.tv-menu-arrow{font-size:18px;color:#8a70a7;transition:color .25s ease,translate .25s ease}
.tv-menu-links>a:is(:hover,:focus-visible,[aria-current=location]){background:linear-gradient(100deg,#6c24632e,#22495e24);color:#ff65b8}
.tv-menu-links>a:is(:hover,:focus-visible,[aria-current=location]) .tv-menu-arrow{color:#3dd6eb;translate:2px -2px}
.tv-menu-footer{display:flex;flex-direction:column;gap:15px;padding:16px 8px 0;border-top:1px solid #ac70d52e}
.tv-menu-languages{display:flex;gap:8px}
.tv-mobile-nav .tv-menu-languages>a{display:flex;align-items:center;justify-content:center;width:40px;height:32px;border:1px solid #80708c44;border-radius:8px;font-size:11px;letter-spacing:.06em;color:#a79bad}
.tv-mobile-nav .tv-menu-languages>a[aria-current=page]{border-color:#cc5cb677;background:#cb50a722;color:#f49ed6}
.tv-menu-booking{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:13px 16px;border:1px solid #ab50db66;border-radius:12px;background:linear-gradient(105deg,#af145e,#d50b89 55%,#7131bb);font-size:14px;font-weight:600;line-height:1.3}
@media(max-height:720px){.tv-mobile-nav{gap:12px;padding:18px}.tv-menu-heading{gap:5px;padding-bottom:11px}.tv-menu-links>a{min-height:46px;font-size:20px}.tv-menu-footer{padding-top:12px;gap:10px}}

.tv-referral{box-sizing:border-box;width:min(600px,calc(100% - 32px));max-height:90dvh;padding:32px;border:1px solid #ecddc229;border-radius:30px;background:#0d0d12;color:#e7e0d6;box-shadow:0 25px 100px #000b}
.tv-referral::backdrop{background:#000b;backdrop-filter:blur(8px)}
.tv-referral h2{margin:0 30px 24px 0;font-size:28px;letter-spacing:-.025em;line-height:1.2}
.tv-dialog-close{position:absolute;top:16px;right:20px;padding:4px 10px;border:0;background:none;color:#e7e0d6;font-size:30px;cursor:pointer}
.tv-referral form{display:flex;flex-direction:column;gap:16px}
.tv-referral label{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.4;color:#e7e0d6}
.tv-referral input,.tv-referral textarea{width:100%;box-sizing:border-box;padding:13px 16px;border:1px solid #ecddc224;border-radius:12px;background:#ffffff05;color:#e7e0d6}
.tv-referral input::placeholder,.tv-referral textarea::placeholder{color:#8c8581}
.tv-submit{padding:16px 24px;border:1px solid #ffffff29;border-radius:999px;background:linear-gradient(90deg,#34108a,#a23bff);color:white;font-weight:600;cursor:pointer}
.tv-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.tv-form-status{color:#c8beff;font-size:14px;line-height:1.5;margin:0}
.tv-form-status[data-error=true]{color:#ffb4b4}
.tv-form-status:empty{display:none}
form[aria-busy=true] button[type=submit]{opacity:.6;cursor:wait}
.tv-ticker>ul{max-width:none!important;width:max-content!important;animation:tv-marquee 42s linear infinite}
.tv-ticker>ul>li{flex-shrink:0}
.tv-ticker:hover>ul{animation-play-state:paused}
[data-tv-ticker=logos]:hover>ul{animation-play-state:running}
.tv-aurora{display:block;background:radial-gradient(ellipse at 0% 30%,#34104f66 0%,transparent 42%),radial-gradient(ellipse at 100% 35%,#3e155e66 0%,transparent 40%);filter:blur(40px);animation:tv-glow 16s ease-in-out infinite alternate}
.tv-aurora.tv-webgl-active{background:none;filter:none;animation:none}
[data-tv-more]{cursor:pointer}
@keyframes tv-marquee{from{transform:translateX(0)}to{transform:translateX(var(--tv-marquee-distance,-50%))}}
@keyframes tv-glow{from{transform:scale(1.05) translate(-2%,-3%);opacity:.7}to{transform:scale(1.2) translate(3%,2%);opacity:1}}
@media(min-width:1200px){.tv-mobile-nav{display:none}}
@media(max-width:1199px){.tv-faq details[open] summary,.tv-faq-answer{font-size:18px}}
@media(max-width:809px){.tv-faq details[open] summary,.tv-faq-answer{font-size:16.5px}.tv-referral{padding:26px 22px}.tv-referral h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tv-ticker>ul,.tv-aurora{animation:none!important}}

/* A continuously illuminated blue frame with three slowly travelling reflections. */
#services [data-tv-pricing-card]{overflow:visible!important;isolation:isolate;box-shadow:0 0 0 1px #4274ff66,0 0 17px #204cff30,inset 0 0 16px #204cff14}
#services [data-tv-pricing-card]::after{--border-color:rgba(75,127,255,.65)}
.tv-price-neon{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;opacity:0;transition:opacity .35s ease}
[data-neon-ready]>.tv-price-neon{opacity:1}
.tv-price-neon rect{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
.tv-price-neon-aura{stroke:var(--tv-offer-accent,#244fff);stroke-width:7;filter:blur(10px);opacity:.65}
.tv-price-neon-glow{stroke:var(--tv-offer-accent,#355fff);stroke-width:4;filter:blur(3px);opacity:.85}
.tv-price-neon-track{stroke:var(--tv-offer-soft,#498bff);stroke-width:1.4;opacity:.95;filter:drop-shadow(0 0 3px var(--tv-offer-accent,#395bff))}
.tv-price-neon-reflection{animation:tv-neon-travel var(--tv-neon-duration,60s) linear infinite;animation-delay:var(--tv-neon-delay,0s);animation-play-state:paused}
[data-neon-active]>.tv-price-neon .tv-price-neon-reflection{animation-play-state:running}
.tv-price-neon-reflection-halo{--tv-neon-start:0px;stroke:var(--tv-offer-soft,#73bcff);stroke-width:4;stroke-dasharray:140 860;filter:blur(5px);opacity:.55}
.tv-price-neon-reflection-core{--tv-neon-start:-30px;stroke:var(--tv-offer-soft,#b2e0ff);stroke-width:2;stroke-dasharray:80 920;filter:blur(2px);opacity:.7}
.tv-price-neon-head{--tv-neon-start:-58px;stroke:#effaff;stroke-width:1.7;stroke-dasharray:24 976;filter:blur(1px) drop-shadow(0 0 4px var(--tv-offer-soft,#c6ebff));opacity:.85}
@keyframes tv-neon-travel{from{stroke-dashoffset:calc(var(--tv-neon-start,0px) + var(--tv-neon-phase,0px))}to{stroke-dashoffset:calc(var(--tv-neon-start,0px) + var(--tv-neon-phase,0px) - 1000px)}}
@media(max-width:809px){.tv-price-neon-aura{filter:blur(7px);stroke-width:5;opacity:.55}}
@media(prefers-reduced-motion:reduce){.tv-price-neon-reflection{animation:none!important;stroke-dashoffset:calc(var(--tv-neon-start,0px) + var(--tv-neon-phase,0px))}.tv-price-neon{transition:none}}

/* Subtle Miami palette; all decoration is transparent to pointer events. */
.tv-referral-anchor{pointer-events:none!important}
.tv-decoration,.tv-aurora,[data-framer-name="bg animation"]{pointer-events:none!important}
form[data-tv-form="contact"] textarea.framer-form-input{font-family:Inter,Arial,sans-serif!important;font-size:18px!important;font-weight:400!important;line-height:1.5!important;letter-spacing:normal!important}
form[data-tv-form="contact"] textarea.framer-form-input::placeholder{font:inherit!important;letter-spacing:inherit!important}
.tv-accent-button{position:relative;overflow:hidden!important;transition:box-shadow .35s ease,border-color .35s ease}
.tv-button-sheen{position:absolute!important;inset:-50% auto -50% -65%;width:45%;background:linear-gradient(90deg,transparent,#e7c8ff26,#c2eaff33,transparent);transform:translateX(0) skewX(-18deg);transition:transform .9s ease;pointer-events:none!important;z-index:2}
.tv-accent-button:hover,.tv-accent-button:focus-visible{box-shadow:0 0 20px -9px #ed70bc99,0 0 9px -5px #6edbff66}
.tv-accent-button:is(:hover,:focus-visible)>.tv-button-sheen{transform:translateX(440%) skewX(-18deg)}
.tv-sunset-text{color:#e6a5e7;background:linear-gradient(100deg,#ff8a23 0%,#f54539 30%,#e51b74 58%,#8135cb 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.tv-sunset-divider{position:absolute;top:0;left:18%;width:64%;height:1px;background:linear-gradient(90deg,transparent,#ee82b999,#a275e2bb,#7bc9e899,transparent);box-shadow:0 0 14px #ae60ce33;pointer-events:none}
.tv-ambient-section{isolation:isolate}
.tv-atmosphere{position:absolute;inset:5% 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 12% 25%,#c05bba0e,transparent 48%),radial-gradient(ellipse at 85% 68%,#3586ba10,transparent 48%);filter:blur(32px);animation:tv-atmosphere-drift 65s ease-in-out infinite alternate;animation-play-state:paused}
.tv-ambient-active>.tv-atmosphere{animation-play-state:running}
@keyframes tv-atmosphere-drift{from{transform:translate3d(-1%,0,0)}to{transform:translate3d(1%,1%,0)}}
@keyframes tv-section-enter{from{opacity:.65;translate:0 12px}to{opacity:1;translate:0 0}}
.tv-enter{animation:tv-section-enter .7s cubic-bezier(.2,.65,.3,1) both}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){[data-tv-project-card]{transition:transform .28s ease,box-shadow .35s ease;transform:perspective(1100px) rotateX(var(--tv-tilt-x,0deg)) rotateY(var(--tv-tilt-y,0deg))}[data-tv-project-card]:hover{box-shadow:0 0 24px -13px #ba78d988}}
@media(max-width:809px){form[data-tv-form="contact"] textarea.framer-form-input{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.tv-atmosphere,.tv-enter{animation:none!important}.tv-button-sheen{display:none}.tv-accent-button{transition:none}}

.tv-site-header{z-index:1000!important}

/* Vice City-inspired sunset chrome: slow colour travel and a soft live indicator. */
.tv-vice-title{text-shadow:-1px 0 #f87dbc1a,1px 0 #a16ae61a,0 0 28px #a16ae61a}
.tv-vice-title .tv-vice-accent{
  display:inline-block!important;white-space:nowrap;
  color:#d92aad!important;-webkit-text-fill-color:transparent!important;
  background-image:linear-gradient(110deg,transparent 36%,#ffd7bb44 43%,#fff4decc 49%,#fff8efee 50%,#f0ceff88 54%,transparent 62%),linear-gradient(105deg,#ff8826 0%,#f54539 27%,#e51b74 52%,#aa27bb 73%,#8135cb 100%)!important;
  background-size:250% 100%,100% 100%!important;
  background-position:140% 0,0% 0;
  background-clip:text!important;-webkit-background-clip:text!important;
  filter:drop-shadow(0 0 10px #ed6cba33) drop-shadow(0 0 22px #8135cb1a)!important;
  animation:tv-vice-title-glide 12s linear infinite;
  animation-play-state:paused;
}
.tv-status-light{box-shadow:0 0 10px 1px #4df68c66!important;animation:tv-status-breathe 3.4s ease-in-out infinite;animation-play-state:paused}
.tv-hero-animation-active .tv-vice-accent,.tv-hero-animation-active .tv-status-light{animation-play-state:running}
@keyframes tv-vice-title-glide{0%,10%{background-position:140% 0,0% 0}65%,100%{background-position:-60% 0,0% 0}}
@keyframes tv-status-breathe{0%,100%{opacity:.5;filter:drop-shadow(0 0 2px #3df48d44)}50%{opacity:1;filter:drop-shadow(0 0 6px #3df48d99)}}
@media(prefers-reduced-motion:reduce){.tv-vice-title .tv-vice-accent,.tv-status-light{animation:none!important}.tv-status-light{opacity:1;filter:none}}

.tv-portakabin-logo{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:120px;height:70px}.tv-portakabin-logo img{display:block;width:108px;height:auto;max-height:32px;object-fit:contain}
@media(max-width:809px){.tv-portakabin-logo{height:78px}}

.tv-offer-guarantee{padding:14px!important;border:1px solid #9e66f14d;border-radius:14px;background:#682d9026;box-sizing:border-box}
.tv-offer-guarantee p{font-style:normal!important;color:#e2caf4!important}
.tv-offer-footnote p{font-style:normal!important}
@media(max-width:809px){body[data-locale=fr] .tv-vice-title{font-size:clamp(32px,9.5vw,42px)!important;line-height:1.1!important;letter-spacing:-.03em!important}.tv-vice-title .tv-fr-intro{display:contents}.tv-vice-title .tv-fr-hero-line{display:block!important;white-space:nowrap}.tv-vice-title .tv-fr-hero-break{display:none}}
@media(min-width:1200px){.tv-menu-backdrop{display:none}}
@media(prefers-reduced-motion:reduce){.tv-menu-links>a,.tv-menu-arrow{transition:none}}

@media(max-height:620px){.tv-mobile-nav{top:92px;max-height:calc(100dvh - 104px);gap:10px;padding:16px}.tv-menu-heading>p{display:block;font-size:14px}.tv-menu-links>a{min-height:44px;font-size:19px}.tv-menu-footer{padding-top:10px;gap:8px}}

@media(max-width:809px){.tv-fr-word-gap{display:none!important}}

@media(max-width:809px){body[data-locale=fr] .tv-hero-title-wrap{height:auto!important;min-height:0!important}}

/* Hot-pink, sunset orange and pool cyan; restrained surfaces, saturated accents. */
.tv-sunset-divider{background:linear-gradient(90deg,transparent,#ff8b2699,#ff158dbb,#14d5dd99,transparent);box-shadow:0 0 16px #fa248533}
.tv-language-switch{display:inline-flex!important;align-items:center;justify-content:center;min-width:26px;border-radius:6px;text-decoration:none!important;vertical-align:middle}
.tv-language-flag{display:inline-block;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif!important;font-size:20px!important;line-height:1!important;letter-spacing:0!important}
.tv-language-switch{opacity:.65;transition:opacity .2s,background .2s,box-shadow .2s}
.tv-language-switch[aria-current=page]{position:relative;isolation:isolate;opacity:1;background:transparent!important;border-color:transparent!important;box-shadow:none!important;filter:none}
.tv-language-switch[aria-current=page]::before{content:"";position:absolute;inset:-6px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#ffffffb3 0%,#ffffff66 30%,#ffffff00 72%);filter:blur(5px);pointer-events:none}
.tv-language-switch:hover,.tv-language-switch:focus-visible{opacity:1}
.tv-language-switch:focus-visible{outline:2px solid #ff45a8;outline-offset:4px}
.tv-mobile-nav .tv-menu-languages .tv-language-flag{font-size:19px!important}

@media(max-width:809px){body[data-locale=fr] .tv-vice-title .tv-vice-accent.tv-fr-hero-line{width:max-content;max-width:100%;margin-inline:auto}}

/* Each offer has one coherent accent; the slow white reflections are shared. */
[data-tv-offer=lead-machine]{--tv-offer-rgb:255,132,36;--tv-offer-accent:#ff8424;--tv-offer-soft:#ffd1a4}
[data-tv-offer=growth-sprint]{--tv-offer-rgb:255,41,150;--tv-offer-accent:#ff2996;--tv-offer-soft:#ffc3e1}
[data-tv-offer=marketing-copilot]{--tv-offer-rgb:30,196,255;--tv-offer-accent:#1ec4ff;--tv-offer-soft:#b4edff}
#services [data-tv-pricing-card]{background:linear-gradient(165deg,rgba(var(--tv-offer-rgb),.075),#09090bf7 46%)!important;box-shadow:0 0 0 1px rgba(var(--tv-offer-rgb),.4),0 0 17px rgba(var(--tv-offer-rgb),.17),inset 0 0 16px rgba(var(--tv-offer-rgb),.06)}
#services [data-tv-pricing-card]::after{border-color:rgba(var(--tv-offer-rgb),.5)!important}
[data-tv-offer-badge]{background:rgba(var(--tv-offer-rgb),.1)!important}
[data-tv-offer-price]{background:rgba(var(--tv-offer-rgb),.065)!important}
[data-tv-offer-best]{background:rgba(var(--tv-offer-rgb),.045)!important}
[data-tv-offer-badge]::after,[data-tv-offer-price]::after,[data-tv-offer-best]::after{border-color:rgba(var(--tv-offer-rgb),.25)!important}
[data-tv-offer-badge] p,[data-tv-offer-price] p{color:var(--tv-offer-soft)!important;--framer-text-color:var(--tv-offer-soft)!important}
[data-tv-offer-features] svg{color:var(--tv-offer-soft)!important;--21h8s6:var(--tv-offer-soft)!important}
[data-tv-offer-cta]{background:linear-gradient(135deg,rgba(var(--tv-offer-rgb),.23),rgba(var(--tv-offer-rgb),.1))!important;outline-color:var(--tv-offer-accent)}
[data-tv-offer-cta]::after{border-color:rgba(var(--tv-offer-rgb),.45)!important}
[data-tv-offer-cta] p{color:var(--tv-offer-soft)!important;--framer-text-color:var(--tv-offer-soft)!important}
[data-tv-pricing-card] [data-tv-offer-cta]:is(:hover,:focus-visible){box-shadow:0 0 22px -8px rgba(var(--tv-offer-rgb),.5)}
[data-tv-pricing-card] .tv-button-sheen{background:linear-gradient(90deg,transparent,rgba(var(--tv-offer-rgb),.17),#ffffff22,transparent)}
[data-tv-pricing-card] .tv-offer-guarantee{border-color:rgba(var(--tv-offer-rgb),.3);background:rgba(var(--tv-offer-rgb),.07)}
[data-tv-pricing-card] .tv-offer-guarantee p{color:var(--tv-offer-soft)!important}

/* Keep the violet booking CTA free of a contrasting outer rim. */
a.tv-accent-button[href*="calendly.com"]:not(.tv-menu-booking){background:transparent!important;border:0!important}
a.tv-accent-button[href*="calendly.com"]:not(.tv-menu-booking):is(:hover,:focus-visible){box-shadow:0 0 20px -9px #a23bff99,0 0 9px -5px #c84bff66}

/* Fit both English hero lines comfortably inside narrow mobile viewports. */
@media(max-width:809px){
  .tv-clean-title{font-size:clamp(28px,9.2vw,40px)!important;text-align:center!important;width:100%!important;max-width:100%;box-sizing:border-box}
  .tv-clean-title .tv-clean-line-1,.tv-clean-title .tv-clean-line-2{text-align:center!important;white-space:nowrap!important}
}

/* One shared violet treatment for booking, contact and referral actions. */
.tv-primary-cta.tv-accent-button{background:linear-gradient(100deg,#130050 0%,#34108a 25%,#6a26e8 55%,#a23bff 80%,#c84bff 100%)!important;border:0!important;border-radius:999px!important;color:#fff!important;font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:600;box-shadow:0 0 16px #a23bff59,0 0 28px #c84bff38!important;--border-color:transparent!important}
a.tv-primary-cta.tv-accent-button[href*="calendly.com"]{background:linear-gradient(100deg,#130050 0%,#34108a 25%,#6a26e8 55%,#a23bff 80%,#c84bff 100%)!important}
.tv-primary-cta [data-framer-name="Inner Container"],.tv-primary-cta [data-framer-name="container"]{background:transparent!important;--border-color:transparent!important}
.tv-primary-cta::after{border:0!important}
.tv-primary-cta p{color:#fff!important;--framer-text-color:#fff!important}
.tv-primary-cta.tv-accent-button:is(:hover,:focus-visible){box-shadow:0 0 20px #a23bff70,0 0 32px #c84bff45!important}

/* Remove the old Framer chrome so booking matches the clean introduction CTA. */
a.tv-accent-button[data-reset="button"] :is([data-framer-name="White Glow"],[data-framer-name="White Top"],[data-framer-name="white"]),
.tv-primary-cta>.tv-button-sheen,
a.tv-accent-button[data-reset="button"]>.tv-button-sheen{display:none!important}
a.tv-accent-button[data-reset="button"]:not(.tv-primary-cta):not([data-tv-offer-cta]){background:#0e0c14!important;border:1px solid #ffffff26!important;box-shadow:none!important}
a.tv-accent-button[data-reset="button"]:not(.tv-primary-cta):not([data-tv-offer-cta]) :is([data-framer-name="Inner Container"],[data-framer-name="container"]){background:transparent!important;--border-color:transparent!important;box-shadow:none!important}
a.tv-accent-button[data-reset="button"]:not(.tv-primary-cta):not([data-tv-offer-cta]):is(:hover,:focus-visible){background:#191322!important;border-color:#b584df66!important}

/* Mobile rhythm follows content rather than desktop-sized spacers. */
@media(max-width:809px){
  #hero [data-framer-name="Header+Main"]{height:auto!important;min-height:0!important}
  [data-framer-root]>section:not(#hero):not([data-framer-name="Referral"]){padding-top:48px!important;padding-bottom:48px!important;margin-top:0!important;margin-bottom:0!important}
  [data-framer-name="Referral"] section{padding-top:48px!important;padding-bottom:48px!important}
  #about-me{gap:28px!important}
  [data-framer-root]>.ssr-variant:has(>div>[data-framer-background-image-wrapper]){display:none!important}
}

/* The complete hero occupies the current visible viewport, including browser chrome changes. */
#hero{box-sizing:border-box;height:100vh!important;height:100dvh!important;min-height:0!important;padding-top:max(88px,10dvh)!important;padding-bottom:24px!important}
#hero [data-framer-name="Header+Main"]{height:100%!important;min-height:0!important;justify-content:center!important}
#hero main[data-framer-name="Main"]{height:auto!important;min-height:0!important;padding-top:0!important;padding-bottom:0!important;gap:clamp(16px,4dvh,48px)!important}
@media(max-height:700px){
  #hero{padding-top:88px!important;padding-bottom:16px!important}
  #hero [data-framer-name="H1+Body"]{gap:12px!important}
  #hero .tv-hero-title-wrap{height:auto!important;min-height:0!important}
  #hero .tv-vice-title{font-size:clamp(28px,8vw,38px)!important;line-height:1.05!important}
  #hero [data-framer-name="Companies"]{height:52px!important}
  #hero [data-tv-ticker="logos"]{height:52px!important}
}
@media(max-height:450px){
  #hero{padding-top:76px!important;padding-bottom:12px!important}
  #hero main[data-framer-name="Main"]{gap:12px!important}
  #hero [data-framer-name="H1+Body"]{gap:8px!important}
  #hero .tv-vice-title{font-size:28px!important;line-height:1!important}
  #hero [data-framer-name="Buttons"]{flex-direction:row!important;gap:12px!important}
  #hero [data-framer-name="H1+Body"]>div:has(>p){max-width:640px!important}
  #hero [data-framer-name="H1+Body"]>div>p{font-size:14px!important;line-height:1.35!important}
  #hero [data-framer-name="Companies"],#hero [data-tv-ticker="logos"]{height:36px!important}
}
@media(max-height:350px){#hero main[data-framer-name="Main"]{zoom:.82}}

/* Both language choices stay inside even the narrowest mobile header. */
@media(max-width:809px){
  header[data-framer-name="Tablet/ Mobile"]{box-sizing:border-box;width:100vw!important;max-width:100vw!important;min-width:0!important;padding-left:18px!important;padding-right:18px!important;gap:12px!important}
  header[data-framer-name="Tablet/ Mobile"]>[data-framer-name="Nav Wrapper"]{flex:1 1 0!important;width:auto!important;min-width:0!important}
  header [data-framer-name="Mobile Language Switcher"]{display:flex!important;flex:0 0 auto!important;min-width:76px!important;width:auto!important;gap:6px!important}
  header [data-framer-name="Mobile Language Switcher"] .tv-language-switch{min-width:28px;min-height:32px}
}

/* Give the three desktop neon offers enough room to breathe. */
@media(min-width:1200px){#services [data-framer-name="Offer cards"]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:40px!important}#services [data-framer-name="Offer cards"]>[data-tv-pricing-card]{width:auto!important;min-width:0!important}}

/* Shared type scale across languages, components and responsive variants. */
:root{--tv-type-h1:64px;--tv-type-h2:48px;--tv-type-h3:28px;--tv-type-h4:20px;--tv-type-stat:36px;--tv-type-button:16px;--tv-heading-font:Satoshi,"Inter Display",Inter,Arial,sans-serif}
h1,h2,h3,h4{font-family:var(--tv-heading-font)!important;font-weight:500!important;letter-spacing:-.025em!important}
h1,#hero .tv-vice-title{font-size:var(--tv-type-h1)!important;line-height:1.08!important}
h2{font-size:var(--tv-type-h2)!important;line-height:1.12!important}
h3{font-size:var(--tv-type-h3)!important;line-height:1.2!important}
h4{font-size:var(--tv-type-h4)!important;line-height:1.25!important}
[data-framer-name="Stats"] h3{font-size:var(--tv-type-stat)!important}
.tv-clean-title .tv-clean-line-1,.tv-clean-title .tv-clean-line-2{line-height:1.08!important}
.tv-accent-button,.tv-accent-button p,.tv-menu-booking{font-family:Inter,Arial,sans-serif!important;font-size:var(--tv-type-button)!important;font-weight:600!important;line-height:1.4!important;letter-spacing:normal!important;--framer-font-size:var(--tv-type-button)!important;--framer-line-height:1.4em!important}
.tv-accent-button{min-height:44px;max-width:100%!important;box-sizing:border-box;white-space:normal!important}
.tv-accent-button p{white-space:normal!important;text-align:center!important}
a.tv-accent-button[data-reset="button"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:max-content!important;height:auto!important;padding:12px 24px!important}
a.tv-accent-button[data-reset="button"] :is([data-framer-name="container"],[data-framer-name="Inner Container"],[data-framer-name="text"]){width:auto!important;max-width:100%!important;height:auto!important;padding:0!important;flex-shrink:1!important}
button.tv-accent-button[type="submit"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;align-self:center;width:max-content!important;height:auto!important;padding:12px 24px!important}
button.tv-accent-button[type="submit"]>div{width:auto!important;max-width:100%!important;height:auto!important}
[data-tv-more]{width:max-content!important;height:auto!important;padding:12px 20px!important}
[data-tv-more] [data-framer-component-type="RichTextContainer"]{width:auto!important;height:auto!important}
[data-tv-offer-cta]{height:auto!important;padding-top:12px!important;padding-bottom:12px!important}
@media(max-width:1199px){:root{--tv-type-h1:56px;--tv-type-h2:40px;--tv-type-h3:26px;--tv-type-h4:20px}}
@media(max-width:809px){:root{--tv-type-h1:clamp(28px,9.2vw,40px);--tv-type-h2:34px;--tv-type-h3:24px;--tv-type-h4:18px;--tv-type-stat:32px}}
@media(max-height:700px){#hero .tv-vice-title{font-size:clamp(28px,8vw,38px)!important;line-height:1.05!important}}
@media(max-height:450px){#hero .tv-vice-title{font-size:28px!important;line-height:1!important}}
