/* funon-refined-v11 */

:root{
  --funon-cyan:#20cfe8;
  --funon-blue:#4776e6;
  --funon-violet:#7d5ce7;
  --funon-pink:#e33f96;
  --funon-warm:#e88c55;
  --funon-bg:#090812;
  --funon-bg-2:#0d0b16;
  --funon-text:#ffffff;
  --funon-muted:#c8c4cf;
  --funon-gradient:linear-gradient(105deg,#20cfe8 0%,#4776e6 24%,#7d5ce7 48%,#e33f96 72%,#e88c55 100%);
}

/* Remove all original template accent colours */
*{--bs-primary:var(--funon-violet)!important}
html,
body{background:var(--funon-bg)!important;color:var(--funon-text)!important;overflow-x:hidden}
body{
  background:
    radial-gradient(circle at 10% 8%,rgba(32,207,232,.07),transparent 24%),
    radial-gradient(circle at 88% 14%,rgba(125,92,231,.08),transparent 26%),
    radial-gradient(circle at 92% 84%,rgba(227,63,150,.07),transparent 28%),
    linear-gradient(145deg,#07060d 0%,#0c0914 55%,#08070e 100%)!important;
}

/* Keep the purchased template as one continuous visual flow */
.main,
.services-sec,
.portfolio-sec,
.contact-sec,
footer{
  background:transparent!important;
  border:0!important;
}
.services-sec,
.portfolio-sec,
.contact-sec{
  position:relative;
}
.services-sec:before,
.portfolio-sec:before,
.contact-sec:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(circle at 12% 20%,rgba(32,207,232,.035),transparent 25%),
    radial-gradient(circle at 88% 76%,rgba(227,63,150,.035),transparent 27%);
}
.services-sec:after,
.portfolio-sec:after,
.contact-sec:after{
  content:"";position:absolute;left:8%;right:8%;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
}

/* Header and menu */
header,
.inner-header,
.side-menu,
.side-menu .inner-wrapper{background:rgba(8,7,14,.97)!important}
.inner-header{border-bottom:1px solid rgba(255,255,255,.05)!important;box-shadow:none!important}
.navbar-brand{width:82px!important;height:82px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.navbar-brand img{width:74px!important;max-width:74px!important;height:74px!important;object-fit:contain!important;
  transform:scale(1.35)!important;display:block!important}
.nav-link,
.side-nav-menu .nav-link{color:rgba(255,255,255,.82)!important}
.nav-link:hover,
.nav-link.active,
.side-nav-menu .nav-link:hover,
.side-nav-menu .nav-link.active{color:#fff!important;text-shadow:none!important}
.sidemenu_btn span{background:#fff!important}

/* Hero: subtle FunOn signature, no aggressive colours */
.main,
.main .container-fluid,
.main .row,
.main .col-12{
  background:
    radial-gradient(circle at 18% 26%,rgba(32,207,232,.08),transparent 28%),
    radial-gradient(circle at 80% 24%,rgba(125,92,231,.09),transparent 30%),
    radial-gradient(circle at 88% 78%,rgba(227,63,150,.08),transparent 30%),
    linear-gradient(145deg,#07060d,#0d0a16 60%,#09070f)!important;
}

/* Typography */
.heading,
.heading-area .heading,
.work-heading,
.service-card h3,
.service-card h4{color:#fff!important}
p,
.text,
.service-card p,
.work-detail p,
.copywrite{color:var(--funon-muted)!important}
.heading-area .sub-heading,
.service-card i,
.quote-icon-left,
.quote-icon-right{color:var(--funon-pink)!important}

/* No boxed text */
.service-card,
.work-detail,
.contact-inner,
.contact-form{
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
}
.service-card:hover,
.work-detail:hover{transform:none!important;box-shadow:none!important}

/* Images keep original skeleton, no colour frames */
.image-holder,
.funon-placeholder{
  background:#11101a!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:hidden!important;
}
.image-holder:before,
.image-holder:after,
.funon-placeholder:before,
.funon-placeholder:after{display:none!important;content:none!important}
.image-holder img,
.funon-placeholder img{
  display:block!important;width:100%!important;height:auto!important;opacity:1!important;filter:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;
}

/* Buttons */
.btn-main,
.work-btn,
.contact_btn,
.btn-sec-inverse{
  color:#fff!important;background:var(--funon-gradient)!important;border:0!important;box-shadow:none!important;
}
.btn-main:hover,
.work-btn:hover,
.contact_btn:hover,
.btn-sec-inverse:hover{filter:brightness(1.05)!important}

/* Form */
.form-control{
  color:#fff!important;background:transparent!important;
  border:0!important;border-bottom:1px solid rgba(255,255,255,.13)!important;
  border-radius:0!important;box-shadow:none!important;
}
.form-control:focus{border-bottom-color:rgba(227,63,150,.6)!important;box-shadow:none!important}

/* Company information – plain, no box */
.funon-company-details{
  display:grid;gap:3px;margin:0 0 18px;padding:0;
  background:transparent!important;border:0!important;box-shadow:none!important;
  color:rgba(255,255,255,.58);font-size:10px;line-height:1.35;
}
.funon-company-details strong{color:#fff;font-size:14px;margin-bottom:4px}
.funon-company-details span{display:block}
.social-icons a{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important}
.social-icons a:hover{color:var(--funon-pink)!important}

/* Original carousel and section skeleton retained */
.portfolio-carousel .work-detail{padding-top:24px!important}

/* Mobile: preserve original order and prevent rearrangement */
@media (max-width:991px){
  .funon-competition-image img{transform:scale(1)!important;}
}
@media (max-width:767px){
  .navbar-brand{width:64px!important;height:64px!important}
  .navbar-brand img{width:58px!important;max-width:58px!important;height:58px!important}
  .services-sec .row,
.contact-sec .row{
    display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;
  }
  .services-sec .row>[class*="col-"],
.contact-sec .row>[class*="col-"]{
    width:100%!important;max-width:100%!important;flex:0 0 100%!important;
  }
  .portfolio-sec .container-fluid,
.contact-sec .container-fluid{
    padding-left:20px!important;padding-right:20px!important;
  }
  .work-detail .row{display:flex!important;flex-direction:column!important}
  .work-detail [class*="col-"]{
    width:100%!important;max-width:100%!important;flex:0 0 100%!important;
  }
  .work-heading,
.work-detail p{text-align:left!important}
  .work-btn{margin-top:16px!important}
  .side-menu .inner-wrapper{overflow-y:auto!important;padding-bottom:24px!important}
}

/* funon-direct-edit-v13 */

header .navbar-brand{
    width:82px!important;
    height:82px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}
header .navbar-brand img{
    display:block!important;
    width:74px!important;
    max-width:74px!important;
    height:74px!important;
    object-fit:contain!important;
  transform:scale(1.35)!important;
    opacity:1!important;
    visibility:visible!important;
}

.funon-footer{
    padding:72px 24px 38px;
    background:
        radial-gradient(circle at 12% 18%,rgba(32,207,232,.06),transparent 25%),
        radial-gradient(circle at 88% 78%,rgba(227,63,150,.06),transparent 28%),
        linear-gradient(145deg,#05040b,#0b0712);
    border-top:1px solid rgba(255,255,255,.07);
    text-align:center;
}
.funon-footer-inner{
    width:min(980px,100%);
    margin:0 auto;
}
.funon-footer-company{
    display:grid;
    gap:4px;
    margin:0 auto 28px;
    color:rgba(255,255,255,.62);
    font-size:13px;
    line-height:1.45;
}
.funon-footer-company strong{
    margin-bottom:7px;
    color:#fff;
    font-size:20px;
}
.funon-footer-company span{
    display:block;
}
.funon-footer-socials{
    display:flex;
    justify-content:center;
    gap:18px;
    margin-bottom:24px;
}
.funon-footer-socials a,
.funon-footer-socials span{
    width:44px;
    height:44px;
    display:grid;
    place-items:center;
    border-radius:50%;
    color:#fff;
    background:transparent;
    border:1px solid rgba(255,255,255,.16);
    transition:border-color .2s ease,color .2s ease,transform .2s ease;
}
.funon-footer-socials .is-disabled{
    opacity:.48;
}
.funon-footer-socials a:hover{
    color:#e33f96;
    border-color:#e33f96;
    transform:translateY(-2px);
}
.funon-footer-copy{
    color:rgba(255,255,255,.42);
    font-size:12px;
}
@media (max-width:991px){
  .funon-competition-image img{transform:scale(1)!important;}
}
@media (max-width:767px){
    header .navbar-brand{
        width:64px!important;
        height:64px!important;
    }
    header .navbar-brand img{
        width:58px!important;
        max-width:58px!important;
        height:58px!important;
    }
    .funon-footer{
        padding:58px 18px 34px;
    }
    .funon-footer-company{
        font-size:11px;
    }
}

/* funon-v15-preloader-fix */

.funon-logo-preloader{
 position:fixed;inset:0;display:flex;align-items:center;justify-content:center;
 background:#05040b;z-index:99999;
 animation:funonHide 1s forwards;
}
.funon-preloader-logo-wrap{position:relative;width:150px;height:150px;display:flex;align-items:center;justify-content:center}
.funon-preloader-logo-wrap img{width:132px;height:132px;object-fit:contain;animation:pulse .9s ease-in-out infinite}
.funon-preloader-glow{position:absolute;inset:8px;border-radius:50%;
background:radial-gradient(circle,rgba(32,207,232,.30),rgba(125,92,231,.18),transparent 72%);
filter:blur(16px)}
@keyframes pulse{0%,100%{transform:scale(.95)}50%{transform:scale(1.03)}}
@keyframes funonHide{
 0%{opacity:1;visibility:visible}
 99%{opacity:1;visibility:visible}
 100%{opacity:0;visibility:hidden;pointer-events:none}
}
.portfolio-sec .work-detail,
.portfolio-sec .work-detail *{text-align:center!important}
.portfolio-sec .work-detail .d-flex{justify-content:center!important}

/* funon-v17-refinement */

:root{
    --funon-cyan:#00d8f7;
    --funon-blue:#2b70ff;
    --funon-purple:#7c3cff;
    --funon-pink:#ff168f;
    --funon-orange:#ff7a38;
    --funon-yellow:#ffd45f;
    --funon-gradient:linear-gradient(
        105deg,
        var(--funon-cyan) 0%,
        var(--funon-blue) 20%,
        var(--funon-purple) 42%,
        var(--funon-pink) 63%,
        var(--funon-orange) 82%,
        var(--funon-yellow) 100%
    );
}

/* Slightly lighter, smoky FUN ON background using the full logo palette */
html,
body{
    background:
        radial-gradient(circle at 8% 8%, rgba(0,216,247,.13), transparent 24%),
        radial-gradient(circle at 28% 22%, rgba(43,112,255,.10), transparent 28%),
        radial-gradient(circle at 58% 18%, rgba(124,60,255,.10), transparent 30%),
        radial-gradient(circle at 86% 30%, rgba(255,22,143,.11), transparent 28%),
        radial-gradient(circle at 78% 82%, rgba(255,122,56,.09), transparent 26%),
        radial-gradient(circle at 18% 86%, rgba(255,212,95,.055), transparent 25%),
        linear-gradient(145deg, #0a0811 0%, #100b17 48%, #0b0810 100%) !important;
}

.main,
.services-sec,
.portfolio-sec,
.contact-sec,
.funon-footer{
    position:relative;
    background:
        radial-gradient(circle at 10% 18%, rgba(0,216,247,.08), transparent 28%),
        radial-gradient(circle at 34% 8%, rgba(43,112,255,.06), transparent 26%),
        radial-gradient(circle at 64% 20%, rgba(124,60,255,.065), transparent 28%),
        radial-gradient(circle at 90% 70%, rgba(255,22,143,.08), transparent 30%),
        radial-gradient(circle at 74% 92%, rgba(255,122,56,.05), transparent 26%),
        radial-gradient(circle at 18% 92%, rgba(255,212,95,.035), transparent 25%),
        linear-gradient(145deg, rgba(12,9,18,.98), rgba(16,10,22,.98)) !important;
}

/* Add a very soft smoke layer */
.main::before,
.services-sec::before,
.portfolio-sec::before,
.contact-sec::before,
.funon-footer::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.55;
    background:
        radial-gradient(circle at 15% 30%, rgba(0,216,247,.08), transparent 18%),
        radial-gradient(circle at 42% 24%, rgba(124,60,255,.07), transparent 19%),
        radial-gradient(circle at 78% 38%, rgba(255,22,143,.07), transparent 18%),
        radial-gradient(circle at 68% 78%, rgba(255,122,56,.05), transparent 17%);
    filter:blur(18px);
}

/* All primary buttons use the complete FUN ON colour spectrum */
.btn-main,
.work-btn,
.contact_btn,
.btn-sec-inverse,
button,
input[type="submit"]{
    color:#08030a !important;
    background:var(--funon-gradient) !important;
    border:0 !important;
    box-shadow:none !important;
}

.btn-main:hover,
.work-btn:hover,
.contact_btn:hover,
.btn-sec-inverse:hover,
button:hover,
input[type="submit"]:hover{
    color:#08030a !important;
    background:var(--funon-gradient) !important;
    filter:brightness(1.07) saturate(1.08);
}

/* Remove any old two-colour / yellow button styling */
.btn-yellow,
.btn-red,
.btn-blue,
.btn-purple,
.btn-pink,
.btn-orange{
    background:var(--funon-gradient) !important;
    color:#08030a !important;
    border:0 !important;
}

/* Gastro: force desktop content to be fully centered */

/* Keep attractions centered too */
.portfolio-sec .work-detail,
.portfolio-sec .work-detail .row,
.portfolio-sec .work-detail [class*="col-"],
.portfolio-sec .work-heading,
.portfolio-sec .work-detail p{
    text-align:center !important;
}

.portfolio-sec .work-detail .d-flex{
    justify-content:center !important;
}

@media (max-width:991px){
  .funon-competition-image img{transform:scale(1)!important;}
}
@media (max-width:767px){
    html,
body{
        background:
            radial-gradient(circle at 10% 8%, rgba(0,216,247,.12), transparent 24%),
            radial-gradient(circle at 40% 18%, rgba(43,112,255,.08), transparent 26%),
            radial-gradient(circle at 72% 22%, rgba(124,60,255,.08), transparent 28%),
            radial-gradient(circle at 88% 70%, rgba(255,22,143,.09), transparent 28%),
            radial-gradient(circle at 72% 92%, rgba(255,122,56,.06), transparent 24%),
            linear-gradient(145deg,#0a0811,#100b17) !important;
    }
}

/* funon-v18-css-smoke */

:root{
    --funon-teal:#10b8b5;
    --funon-cyan:#19bfc7;
    --funon-blue:#27579d;
    --funon-indigo:#332974;
    --funon-violet:#4f2a7d;
    --funon-magenta:#b11f92;
    --funon-pink:#f0008f;
    --funon-rose:#f36a92;
    --funon-peach:#f6b7a8;
    --funon-cream:#f8efad;
    --funon-logo-gradient:linear-gradient(
        103deg,
        var(--funon-teal) 0%,
        var(--funon-cyan) 12%,
        var(--funon-blue) 27%,
        var(--funon-indigo) 39%,
        var(--funon-violet) 49%,
        var(--funon-magenta) 61%,
        var(--funon-pink) 72%,
        var(--funon-rose) 82%,
        var(--funon-peach) 91%,
        var(--funon-cream) 100%
    );
}

/* Buttons now follow the actual logo progression */
.btn-main,
.work-btn,
.contact_btn,
.btn-sec-inverse,
button,
input[type="submit"]{
    color:#09050b!important;
    background:var(--funon-logo-gradient)!important;
    border:0!important;
    box-shadow:none!important;
}

.btn-main:hover,
.work-btn:hover,
.contact_btn:hover,
.btn-sec-inverse:hover,
button:hover,
input[type="submit"]:hover{
    color:#09050b!important;
    background:var(--funon-logo-gradient)!important;
    filter:brightness(1.035) saturate(1.02)!important;
}

/* Remove any remaining original template button colours */
.btn-yellow,
.btn-red,
.btn-blue,
.btn-purple,
.btn-pink,
.btn-orange,
.btn-green,
.btn-primary,
.btn-secondary{
    background:var(--funon-logo-gradient)!important;
    color:#09050b!important;
    border:0!important;
}

/* CSS-only realistic smoke:
   several blurred, overlapping vapour lobes with uneven opacity and motion */
.main,
.services-sec,
.portfolio-sec,
.contact-sec,
.funon-footer{
    position:relative!important;
    isolation:isolate;
    overflow:hidden;
    background:linear-gradient(145deg,#0e0b14 0%,#15101c 48%,#0f0b14 100%)!important;
}

.main::before,
.services-sec::before,
.portfolio-sec::before,
.contact-sec::before,
.funon-footer::before{
    content:"";
    position:absolute;
    inset:-12%;
    z-index:-2;
    pointer-events:none;
    opacity:.82;
    filter:blur(34px) saturate(1.08);
    background:
        radial-gradient(ellipse 18% 28% at 10% 28%, rgba(16,184,181,.24) 0%, rgba(16,184,181,.12) 34%, transparent 72%),
        radial-gradient(ellipse 22% 32% at 22% 68%, rgba(39,87,157,.22) 0%, rgba(39,87,157,.10) 38%, transparent 74%),
        radial-gradient(ellipse 24% 36% at 43% 35%, rgba(79,42,125,.22) 0%, rgba(79,42,125,.10) 38%, transparent 74%),
        radial-gradient(ellipse 19% 30% at 62% 74%, rgba(177,31,146,.22) 0%, rgba(177,31,146,.10) 38%, transparent 73%),
        radial-gradient(ellipse 22% 34% at 78% 34%, rgba(240,0,143,.22) 0%, rgba(240,0,143,.10) 38%, transparent 73%),
        radial-gradient(ellipse 18% 28% at 91% 68%, rgba(243,106,146,.18) 0%, rgba(243,106,146,.08) 36%, transparent 72%),
        radial-gradient(ellipse 15% 24% at 85% 12%, rgba(248,239,173,.10) 0%, rgba(248,239,173,.04) 34%, transparent 70%);
    animation:funonSmokeDriftA 26s ease-in-out infinite alternate;
}

.main::after,
.services-sec::after,
.portfolio-sec::after,
.contact-sec::after,
.funon-footer::after{
    content:"";
    position:absolute;
    inset:-18%;
    z-index:-1;
    pointer-events:none;
    opacity:.58;
    filter:blur(52px) contrast(1.12);
    mix-blend-mode:screen;
    background:
        radial-gradient(ellipse 12% 20% at 14% 56%, rgba(25,191,199,.22) 0%, transparent 72%),
        radial-gradient(ellipse 14% 24% at 30% 22%, rgba(51,41,116,.24) 0%, transparent 72%),
        radial-gradient(ellipse 18% 26% at 52% 62%, rgba(177,31,146,.23) 0%, transparent 72%),
        radial-gradient(ellipse 14% 22% at 72% 28%, rgba(240,0,143,.22) 0%, transparent 72%),
        radial-gradient(ellipse 11% 18% at 88% 52%, rgba(246,183,168,.16) 0%, transparent 72%);
    animation:funonSmokeDriftB 34s ease-in-out infinite alternate;
}

/* Fine smoke wisps without changing template structure */
body::before{
    content:"";
    position:fixed;
    inset:-8%;
    z-index:-3;
    pointer-events:none;
    opacity:.32;
    filter:blur(70px);
    background:
        conic-gradient(from 210deg at 18% 42%,
            transparent 0 18deg,
            rgba(16,184,181,.18) 26deg,
            transparent 48deg 110deg,
            rgba(79,42,125,.18) 132deg,
            transparent 158deg 220deg,
            rgba(240,0,143,.16) 242deg,
            transparent 268deg 360deg);
    animation:funonSmokeRotate 70s linear infinite;
}

@keyframes funonSmokeDriftA{
    0%{transform:translate3d(-2%,-1%,0) scale(1.02) rotate(-1deg)}
    50%{transform:translate3d(1.5%,1%,0) scale(1.07) rotate(1deg)}
    100%{transform:translate3d(3%,-1.5%,0) scale(1.04) rotate(-.5deg)}
}
@keyframes funonSmokeDriftB{
    0%{transform:translate3d(2%,1%,0) scale(1.02)}
    100%{transform:translate3d(-3%,-2%,0) scale(1.10)}
}
@keyframes funonSmokeRotate{
    from{transform:rotate(0deg) scale(1.05)}
    to{transform:rotate(360deg) scale(1.05)}
}

/* Keep content above smoke */
.main > *,
.services-sec > *,
.portfolio-sec > *,
.contact-sec > *,
.funon-footer > *{
    position:relative;
    z-index:2;
}

/* Preserve exact desktop centering in Gastro */

@media (max-width:991px){
  .funon-competition-image img{transform:scale(1)!important;}
}
@media (max-width:767px){
    .main::before,
.services-sec::before,
.portfolio-sec::before,
.contact-sec::before,
.funon-footer::before{
        opacity:.66;
        filter:blur(28px) saturate(1.04);
    }
    .main::after,
.services-sec::after,
.portfolio-sec::after,
.contact-sec::after,
.funon-footer::after{
        opacity:.42;
        filter:blur(42px);
    }
}

/* funon-v19-softer-buttons */

:root{
    --funon-button-gradient:linear-gradient(
        103deg,
        rgba(16,184,181,.82) 0%,
        rgba(25,191,199,.80) 12%,
        rgba(39,87,157,.82) 27%,
        rgba(51,41,116,.84) 39%,
        rgba(79,42,125,.84) 49%,
        rgba(177,31,146,.80) 61%,
        rgba(240,0,143,.78) 72%,
        rgba(243,106,146,.76) 82%,
        rgba(246,183,168,.74) 91%,
        rgba(248,239,173,.72) 100%
    );
}

/* Softer FUN ON buttons while preserving the full colour sequence */
.btn-main,
.work-btn,
.contact_btn,
.btn-sec-inverse,
button,
input[type="submit"],
.btn-yellow,
.btn-red,
.btn-blue,
.btn-purple,
.btn-pink,
.btn-orange,
.btn-green,
.btn-primary,
.btn-secondary{
    color:#ffffff!important;
    background:var(--funon-button-gradient)!important;
    border:1px solid rgba(255,255,255,.10)!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 6px 18px rgba(0,0,0,.16)!important;
    filter:saturate(.78) brightness(.88)!important;
}

.btn-main:hover,
.work-btn:hover,
.contact_btn:hover,
.btn-sec-inverse:hover,
button:hover,
input[type="submit"]:hover,
.btn-yellow:hover,
.btn-red:hover,
.btn-blue:hover,
.btn-purple:hover,
.btn-pink:hover,
.btn-orange:hover,
.btn-green:hover,
.btn-primary:hover,
.btn-secondary:hover{
    color:#ffffff!important;
    background:var(--funon-button-gradient)!important;
    filter:saturate(.84) brightness(.94)!important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 8px 22px rgba(0,0,0,.20)!important;
}

/* Keep icon colour readable on softer buttons */
.btn-main i,
.work-btn i,
.contact_btn i,
.btn-sec-inverse i,
button i{
    color:inherit!important;
}

/* merged from desktop-wide-fix.css */
/*
FUN ON v24 — bezpečný desktopový patch pre široké monitory.

Rozsah:
- aktivuje sa iba od 1600 px,
- nemení mobil ani bežné notebookové rozloženie,
- nemení HTML štruktúru, texty, obrázky ani animácie,
- rieši iba desktopové zarovnanie menu, nadpisov a obrazových sekcií.
*/

@media screen and (min-width:1600px){

    /* ------------------------------------------------------------
       1. Spoločná bezpečná šírka obsahu na širokých monitoroch
       ------------------------------------------------------------ */
    .services-sec > .container{
        width:min(1480px, calc(100% - 120px))!important;
        max-width:1480px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .portfolio-sec > .container-fluid,
.contact-sec > .container-fluid{
        width:min(1660px, calc(100% - 120px))!important;
        max-width:1660px!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .services-sec .row,
.portfolio-sec .row,
.contact-sec .row{
        margin-left:0!important;
        margin-right:0!important;
    }

    /* ------------------------------------------------------------
       2. Vyskakovacie menu — samostatný ľavý panel
       ------------------------------------------------------------ */
    .side-menu{
        position:fixed!important;
        inset:0!important;
        width:100vw!important;
        height:100vh!important;
        background:transparent!important;
        overflow:hidden!important;
    }

    .side-menu .bg-overlay{
        display:block!important;
        position:fixed!important;
        inset:0!important;
        width:100vw!important;
        height:100vh!important;
        background:rgba(4,3,9,.72)!important;
        backdrop-filter:blur(5px)!important;
        -webkit-backdrop-filter:blur(5px)!important;
        pointer-events:auto!important;
    }

    .side-menu .inner-wrapper{
        position:absolute!important;
        top:0!important;
        bottom:0!important;
        left:0!important;
        right:auto!important;
        width:clamp(460px,31vw,600px)!important;
        min-width:460px!important;
        max-width:600px!important;
        height:100vh!important;
        padding:0!important;
        overflow-y:auto!important;
        background:
            radial-gradient(circle at 18% 18%,rgba(16,184,181,.08),transparent 28%),
            radial-gradient(circle at 82% 76%,rgba(240,0,143,.08),transparent 30%),
            rgba(8,7,14,.985)!important;
        border-right:1px solid rgba(255,255,255,.07)!important;
        box-shadow:28px 0 70px rgba(0,0,0,.32)!important;
    }

    .side-menu .inner-wrapper > .container{
        width:100%!important;
        max-width:none!important;
        height:100%!important;
        margin:0!important;
        padding:110px 58px 70px!important;
    }

    .side-menu .side-menu-inner-content{
        width:100%!important;
        min-height:calc(100vh - 180px)!important;
        margin:0!important;
        display:flex!important;
        align-items:center!important;
        justify-content:flex-start!important;
    }

    .side-menu .nav-icon{
        width:100%!important;
        max-width:100%!important;
        flex:0 0 100%!important;
        margin-left:0!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .side-menu .navbar,
.side-menu .side-nav-menu{
        width:100%!important;
        align-items:flex-start!important;
        text-align:left!important;
    }

    .side-menu .side-nav-menu .nav-link{
        display:block!important;
        width:100%!important;
        margin:0!important;
        padding:.09em 0!important;
        font-size:clamp(38px,2.65vw,54px)!important;
        line-height:1.08!important;
        letter-spacing:-.025em!important;
        white-space:normal!important;
        transform:none!important;
    }

    .side-menu .menu-line{
        left:-34px!important;
        right:auto!important;
    }

    .side-menu .btn-close{
        position:absolute!important;
        top:42px!important;
        right:38px!important;
        z-index:5!important;
    }

    /* ------------------------------------------------------------
       3. O projekte — text a obrázok v pevnej mriežke
       ------------------------------------------------------------ */
    .services-sec .row.align-items-center{
        display:grid!important;
        grid-template-columns:minmax(360px, .82fr) minmax(0, 1.18fr)!important;
        column-gap:72px!important;
        align-items:center!important;
    }

    .services-sec .row.align-items-center > .col-12.col-lg-6{
        width:auto!important;
        max-width:none!important;
        flex:none!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .services-sec .heading-area{
        position:static!important;
        inset:auto!important;
        width:100%!important;
        max-width:520px!important;
        margin:0!important;
        padding:0!important;
        transform:none!important;
        text-align:left!important;
    }

    .services-sec .heading-area .heading{
        position:static!important;
        width:auto!important;
        max-width:100%!important;
        margin:0!important;
        transform:none!important;
        font-size:clamp(44px,3.15vw,64px)!important;
        line-height:1.08!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }

    .services-sec .image-holder{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
    }

    .services-sec .row.align-items-center > .col-12.padding-top-half{
        grid-column:1 / -1!important;
        width:100%!important;
        max-width:none!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    /* ------------------------------------------------------------
       4. Atrakcie — nadpis zostáva celý vo vlastnom stĺpci
       ------------------------------------------------------------ */
    .portfolio-sec > .container-fluid > .row{
        display:grid!important;
        grid-template-columns:minmax(330px, .72fr) minmax(0, 2.28fr)!important;
        column-gap:64px!important;
        align-items:center!important;
    }

    .portfolio-sec .col-12.col-lg-3,
.portfolio-sec .col-12.col-lg-9{
        width:auto!important;
        max-width:none!important;
        flex:none!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .portfolio-sec .heading-area.long-area{
        position:static!important;
        inset:auto!important;
        width:100%!important;
        max-width:340px!important;
        margin:0!important;
        padding:0!important;
        transform:none!important;
        text-align:left!important;
    }

    .portfolio-sec .heading-area.long-area .heading{
        position:static!important;
        width:auto!important;
        max-width:100%!important;
        margin:0!important;
        transform:none!important;
        font-size:clamp(46px,3.35vw,68px)!important;
        line-height:1.08!important;
        overflow-wrap:normal!important;
        word-break:normal!important;
    }

    .portfolio-sec .portfolio-carousel,
.portfolio-sec .portfolio-carousel .item,
.portfolio-sec .portfolio-carousel .image-holder{
        width:100%!important;
        max-width:100%!important;
    }

    .portfolio-sec .work-navigation{
        left:0!important;
        right:auto!important;
        bottom:18px!important;
        transform:none!important;
    }

    .portfolio-sec .work-detail{
        padding-left:0!important;
        padding-right:0!important;
    }

    /* ------------------------------------------------------------
       5. Gastro — nadpis v normálnom toku nad obrázkom
       ------------------------------------------------------------ */
    

    

    

    

    

    

    

    /* ------------------------------------------------------------
       6. Kontakt — spoločná os a kontrolované medzery
       ------------------------------------------------------------ */
    .contact-sec > .container-fluid > .row{
        display:grid!important;
        grid-template-columns:minmax(300px,.68fr) minmax(0,2.32fr)!important;
        column-gap:64px!important;
        align-items:start!important;
    }

    .contact-sec .col-12.col-lg-3,
.contact-sec .col-12.col-lg-9{
        width:auto!important;
        max-width:none!important;
        flex:none!important;
        padding-left:0!important;
        padding-right:0!important;
    }

    .contact-sec .heading-area.long-area{
        position:static!important;
        inset:auto!important;
        width:100%!important;
        max-width:300px!important;
        margin:12px 0 0!important;
        padding:0!important;
        transform:none!important;
        text-align:left!important;
    }

    .contact-sec .heading-area.long-area .heading{
        position:static!important;
        width:auto!important;
        max-width:100%!important;
        margin:0!important;
        transform:none!important;
        font-size:clamp(46px,3.35vw,68px)!important;
        line-height:1.08!important;
    }

    .contact-sec .contact-inner{
        width:100%!important;
        max-width:100%!important;
        margin:0!important;
        padding:0!important;
    }

    .contact-sec .contact-details ul{
        display:flex!important;
        flex-wrap:wrap!important;
        align-items:center!important;
        gap:22px 34px!important;
        margin:0!important;
        padding:0!important;
    }

    .contact-sec .contact-form-sec{
        width:min(760px,100%)!important;
        margin:0 auto!important;
    }

    /* ------------------------------------------------------------
       7. Animácie nesmú meniť konečné zarovnanie
       ------------------------------------------------------------ */
    .services-sec .heading-area,
.portfolio-sec .heading-area,
.contact-sec .heading-area{
        will-change:opacity,transform;
    }

    .services-sec .heading-area .heading,
.portfolio-sec .heading-area .heading,
.contact-sec .heading-area .heading{
        left:auto!important;
        right:auto!important;
        top:auto!important;
        bottom:auto!important;
    }
}

/* ------------------------------------------------------------
   v25: zatvorené bočné menu nesmie byť viditeľné
   ------------------------------------------------------------ */
@media screen and (min-width:1600px){
    .side-menu.hidden{
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
    }

    .side-menu.hidden .bg-overlay{
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
    }

    .side-menu.hidden .inner-wrapper{
        visibility:hidden!important;
        opacity:0!important;
        pointer-events:none!important;
        transform:translateX(-105%)!important;
    }

    .side-menu:not(.hidden){
        visibility:visible!important;
        opacity:1!important;
        pointer-events:auto!important;
    }

    .side-menu:not(.hidden) .bg-overlay{
        visibility:visible!important;
        opacity:1!important;
        pointer-events:auto!important;
    }

    .side-menu:not(.hidden) .inner-wrapper{
        visibility:visible!important;
        opacity:1!important;
        pointer-events:auto!important;
        transform:translateX(0)!important;
    }
}

/* merged from media-layout-v28.css */
/*
FUN ON v28
- jeden statický úvodný obrázok,
- gastro obrázok má rovnaký štandardný obrazový pomer ako obrázky atrakcií.
*/

.funon-static-hero{
    width:100%;
    overflow:hidden;
}

.funon-static-hero .slider-img{
    width:100%;
    overflow:hidden;
}

.funon-static-hero img{
    display:block;
    width:100%;
    height:auto;
}

/* Atrakcie aj Gastro používajú rovnaký obrazový rám 1350 : 874. */
.portfolio-sec .portfolio-carousel .image-holder{
    aspect-ratio:1350 / 874;
    overflow:hidden!important;
}

.portfolio-sec .portfolio-carousel .image-holder img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
}

/* Gastro obrázok má na desktope rovnakú maximálnu vizuálnu šírku
   ako obrazová časť atrakcií, ale zostáva vycentrovaný. */

/* Mobil zostáva na plnej šírke. */

/* funon-v29-documents-footer */

.funon-footer-links{
    display:flex;
    justify-content:center;
    margin:0 0 20px;
}
.funon-footer-links a{
    color:rgba(255,255,255,.72);
    font-size:13px;
    text-decoration:none;
    transition:color .2s ease;
}
.funon-footer-links a:hover{
    color:#fff;
}

/* funon-v30-mobile-menu-font */

/* Mobilné hamburger menu: všetky položky o 20 % menšie. */
@media screen and (max-width:767px){
    .side-menu .side-nav-menu .nav-link{
        font-size:80%!important;
        line-height:1.12!important;
        letter-spacing:-.015em!important;
        white-space:normal!important;
        overflow-wrap:anywhere!important;
    }
}

/* funon-v43-main-visual */

.funon-hero-main{
  padding:0!important;
  margin:0!important;
}
.funon-hero{
  position:relative;
  width:100%;
  min-height:82vh;
  overflow:hidden;
  background:#07050c;
}
.funon-hero > img{
  width:100%;
  height:82vh;
  min-height:620px;
  display:block;
  object-fit:cover;
  object-position:center center;
}
.funon-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(4,3,8,.70) 0%,rgba(4,3,8,.18) 38%,rgba(4,3,8,.08) 65%,rgba(4,3,8,.30) 100%),
    linear-gradient(0deg,rgba(4,3,8,.58) 0%,transparent 42%);
}
.funon-hero-copy{
  position:absolute;
  left:clamp(28px,6vw,110px);
  bottom:clamp(42px,8vh,105px);
  z-index:2;
  max-width:720px;
}
.funon-hero-copy span{
  display:block;
  margin-bottom:12px;
  text-transform:uppercase;
  letter-spacing:.30em;
  font-size:13px;
  font-weight:700;
  color:#f5c4d9;
}
.funon-hero-copy h1{
  margin:0 0 26px;
  color:#fff;
  font-size:clamp(42px,5.2vw,82px);
  line-height:.98;
  font-weight:800;
  text-shadow:0 8px 35px rgba(0,0,0,.55);
}
.funon-attraction-image{
  width:100%;
  height:clamp(430px,52vw,680px)!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#08060d;
}
.funon-attraction-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.funon-attraction-detail{
  min-height:175px;
  align-items:center;
}

@media (max-width:991px){
  .funon-hero{min-height:72vh}
  .funon-hero > img{height:72vh;min-height:540px}
  .funon-hero-copy{left:28px;right:28px;bottom:42px}
  .funon-attraction-image{height:56vw!important;min-height:390px}
}
@media (max-width:991px){
  .funon-competition-image img{transform:scale(1)!important;}
}
@media (max-width:767px){
  .funon-hero{min-height:auto}
  .funon-hero > img{
    height:68vh;
    min-height:520px;
    object-position:center center;
  }
  .funon-hero-shade{
    background:linear-gradient(0deg,rgba(4,3,8,.82) 0%,rgba(4,3,8,.18) 68%);
  }
  .funon-hero-copy{
    left:22px;
    right:22px;
    bottom:34px;
  }
  .funon-hero-copy h1{
    font-size:clamp(38px,12vw,56px);
  }
  .funon-attraction-image{
    height:62vw!important;
    min-height:300px;
  }
  .funon-attraction-detail{
    min-height:auto;
    padding-top:22px;
  }
  
}
@media (max-width:480px){
  .funon-hero > img{
    height:62vh;
    min-height:470px;
  }
  .funon-attraction-image{
    height:68vw!important;
    min-height:270px;
  }
}

/* funon-v50-competition-balanced */

.funon-competition-wrap{
  width:min(1180px,calc(100% - 36px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.funon-second-copy{
  margin-bottom:22px;
}
.funon-second-copy .heading{
  font-size:clamp(42px,4.2vw,68px)!important;
  line-height:1.04!important;
  margin:0!important;
}
.funon-competition-image{
  position:relative;
  width:100%;
  max-width:1180px;
  margin:0 auto;
  height:auto!important;
  overflow:hidden!important;
  background:#08060d;
}
.funon-competition-image img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:680px!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
}
.funon-join-button{
  position:absolute!important;
  left:50%!important;
  bottom:24px!important;
  transform:translateX(-50%)!important;
  z-index:3!important;
  min-width:190px!important;
  text-align:center!important;
  box-shadow:0 12px 35px rgba(0,0,0,.35)!important;
}
@media (min-width:1400px){
  .funon-competition-wrap,
.funon-competition-image{
    max-width:1240px!important;
  }
  .funon-competition-image img{
    max-height:700px!important;
  }
}
@media (max-width:991px){
  .funon-competition-wrap{
    width:min(100% - 28px,920px)!important;
  }
  .funon-competition-image img{
    max-height:none!important;
  }
}
@media (max-width:767px){
  .funon-competition-wrap{
    width:calc(100% - 24px)!important;
  }
  .funon-second-copy .heading{
    font-size:clamp(38px,11vw,56px)!important;
  }
  .funon-join-button{
    bottom:18px!important;
  }
}

/* funon-v56-button-below-image */

.funon-join-button{
  display:none!important;
}
.funon-join-below{
  display:flex;
  justify-content:center;
  width:100%;
  margin-top:22px;
}
.funon-join-below .btn{
  min-width:220px;
  text-align:center;
}

/* funon-v58-intro-copy */

.funon-intro-copy{
  width:100%;
  padding:34px 20px 26px;
}
.funon-intro-copy-inner{
  width:min(980px,100%);
  margin:0 auto;
  text-align:center;
}
.funon-intro-copy h2{
  margin:0 0 14px;
  color:#fff;
  font-size:clamp(34px,3.6vw,58px);
  line-height:1.08;
  font-weight:800;
}
.funon-intro-copy p{
  margin:0 auto;
  max-width:920px;
  color:#c9c2cd;
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.65;
  font-weight:400;
}
.services-sec{
  padding-top:18px!important;
}
@media (max-width:767px){
  .funon-intro-copy{
    padding:26px 18px 20px;
  }
  .funon-intro-copy h2{
    font-size:clamp(30px,9vw,42px);
    line-height:1.12;
  }
  .funon-intro-copy p{
    font-size:16px;
    line-height:1.6;
  }
  .services-sec{
    padding-top:12px!important;
  }
}

/* funon-v61-attractions-copy */

.funon-attractions-copy{
  width:100%;
  padding:30px 20px 34px;
}
.funon-attractions-copy-inner{
  width:min(980px,100%);
  margin:0 auto;
  text-align:center;
}
.funon-attractions-copy h2{
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(34px,3.6vw,58px);
  line-height:1.08;
  font-weight:800;
}
.funon-attractions-copy p{
  margin:0 auto 12px;
  max-width:920px;
  color:#c9c2cd;
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.65;
  font-weight:400;
}
.funon-attractions-copy p:last-child{
  margin-bottom:0;
}
@media (max-width:767px){
  .funon-attractions-copy{
    padding:24px 18px 28px;
  }
  .funon-attractions-copy h2{
    font-size:clamp(30px,9vw,42px);
    line-height:1.12;
  }
  .funon-attractions-copy p{
    font-size:16px;
    line-height:1.6;
  }
}

/* funon-v63-from-v62-ui-tweaks */

/* Výraznejšie tlačidlo Zapoj sa – farby ostávajú bez zmeny. */
.funon-join-below .btn{
  min-width:270px!important;
  padding:17px 34px!important;
  font-size:20px!important;
  line-height:1.2!important;
  font-weight:700!important;
}

/* Lepšia čitateľnosť hamburgerového menu na mobile. */
@media (max-width:767px){
  .side-menu .side-nav-menu .nav-link,
.side-menu .navbar-nav .nav-link,
.side-menu .nav-link{
    font-size:26px!important;
    line-height:1.35!important;
    padding-top:7px!important;
    padding-bottom:7px!important;
  }
  .funon-join-below .btn{
    min-width:240px!important;
    padding:15px 28px!important;
    font-size:18px!important;
  }
}

/* funon-v64-transparent-white-buttons */

/* Druhý obrázok a tlačidlo bez vizuálneho rámu alebo samostatného okna. */
.funon-competition-image,
.funon-competition-image.image-holder,
.funon-competition-wrap,
.funon-competition-wrap .row,
.funon-competition-wrap [class*="col-"],
.funon-join-below{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.funon-competition-image{
  overflow:visible!important;
}
.funon-competition-image:before,
.funon-competition-image:after{
  display:none!important;
  content:none!important;
}

/* Všetky hlavné tlačidlá na bielo, bez zmeny ich rozmerov. */
.btn-main,
.work-btn,
.contact_btn,
.btn-sec-inverse,
.funon-join-below .btn,
button,
input[type="submit"]{
  background:#fff!important;
  background-image:none!important;
  color:#09050b!important;
  border-color:#fff!important;
  box-shadow:none!important;
}
.btn-main:hover,
.work-btn:hover,
.contact_btn:hover,
.btn-sec-inverse:hover,
.funon-join-below .btn:hover,
button:hover,
input[type="submit"]:hover{
  background:#fff!important;
  background-image:none!important;
  color:#09050b!important;
  filter:brightness(.94)!important;
}

/* Mobilné menu zmenšené na 80 % predchádzajúcej veľkosti 26 px. */
@media (max-width:767px){
  .side-menu .side-nav-menu .nav-link,
.side-menu .navbar-nav .nav-link,
.side-menu .nav-link{
    font-size:20.8px!important;
    line-height:1.35!important;
  }
}

/* funon-v66-transparent-second-section */

/* Iba obal druhej sekcie je úplne priehľadný.
   Obrázok a tlačidlo zostávajú bez zmeny. */
#services-sec,
#services-sec::before,
#services-sec::after,
#services-sec .funon-competition-wrap,
#services-sec .funon-competition-wrap::before,
#services-sec .funon-competition-wrap::after,
#services-sec .row,
#services-sec .col-12{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}

#services-sec::before,
#services-sec::after,
#services-sec .funon-competition-wrap::before,
#services-sec .funon-competition-wrap::after{
  display:none!important;
  content:none!important;
}

/* Zachovať samotný obrázok a tlačidlo bez zásahu. */
#services-sec .funon-competition-image img{
  opacity:1!important;
  visibility:visible!important;
}

/* funon-v70-marketing-conversion */

.funon-hero-copy{max-width:760px!important}
.funon-hero-copy .funon-hero-eyebrow{margin-bottom:13px;color:#fff;font-size:13px;line-height:1.3;letter-spacing:.26em;text-transform:uppercase;font-weight:700}
.funon-hero-copy h1{max-width:760px;margin-bottom:18px!important;font-size:clamp(42px,5vw,76px)!important;line-height:1.01!important}
.funon-hero-copy .funon-hero-lead{max-width:690px;margin:0 0 24px;color:rgba(255,255,255,.90)!important;font-size:clamp(17px,1.45vw,22px);line-height:1.55}
.funon-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.funon-hero-actions .btn{min-width:190px;padding:14px 25px!important;text-align:center}
.funon-hero-actions .funon-btn-outline{color:#fff!important;background:rgba(5,4,11,.32)!important;border:1px solid rgba(255,255,255,.56)!important;backdrop-filter:blur(8px)}
.funon-hero-note{display:block;max-width:660px;margin-top:14px;color:rgba(255,255,255,.67);font-size:12px;line-height:1.5}
.funon-proof{position:relative;z-index:3;width:100%;padding:30px 20px;background:linear-gradient(180deg,rgba(11,8,16,.98),rgba(14,10,20,.98))!important}
.funon-proof-grid{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.funon-proof-item{padding:24px 18px;text-align:center;border-right:1px solid rgba(255,255,255,.09)}
.funon-proof-item:last-child{border-right:0}.funon-proof-item strong{display:block;margin-bottom:5px;color:#fff;font-size:clamp(27px,3vw,44px);line-height:1}.funon-proof-item span{color:#aaa3b0;font-size:13px;line-height:1.4}
.funon-marketing-section{position:relative;z-index:2;padding:76px 20px;background:transparent!important}.funon-marketing-inner{width:min(1120px,100%);margin:0 auto}
.funon-marketing-heading{max-width:840px;margin:0 auto 35px;text-align:center}.funon-marketing-heading .eyebrow{display:block;margin-bottom:10px;color:#f0a5c9;text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700}
.funon-marketing-heading h2{margin:0 0 14px;color:#fff;font-size:clamp(33px,4vw,58px);line-height:1.08;font-weight:800}.funon-marketing-heading p{margin:0 auto;max-width:790px;color:#c9c2cd!important;font-size:clamp(16px,1.35vw,20px);line-height:1.65}
.funon-benefit-grid,
.funon-process-grid,
.funon-trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.funon-benefit-card,
.funon-process-card,
.funon-trust-card{min-height:190px;padding:24px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:18px}
.funon-benefit-card .number,
.funon-process-card .number{display:inline-grid;place-items:center;width:38px;height:38px;margin-bottom:18px;border-radius:50%;color:#09050b;background:#fff;font-size:14px;font-weight:800}
.funon-benefit-card h3,
.funon-process-card h3,
.funon-trust-card h3{margin:0 0 10px;color:#fff;font-size:19px;line-height:1.25}
.funon-benefit-card p,
.funon-process-card p,
.funon-trust-card p{margin:0;color:#bcb5c1!important;font-size:14px;line-height:1.6}
.funon-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.funon-trust-card{min-height:145px}.funon-trust-card h3:before{content:"✓";display:inline-block;margin-right:9px;color:#64d8d3}
.funon-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:28px}.funon-timeline-step{padding:15px 10px;text-align:center;color:#aaa3b0;border-top:2px solid rgba(255,255,255,.13);font-size:12px}
.funon-timeline-step.done{color:#fff;border-top-color:#64d8d3}.funon-timeline-step.current{color:#fff;border-top-color:#f0a5c9}
.funon-final-cta{padding:72px 20px;text-align:center;background:radial-gradient(circle at 20% 20%,rgba(16,184,181,.10),transparent 30%),radial-gradient(circle at 80% 70%,rgba(240,0,143,.10),transparent 30%),rgba(255,255,255,.025)!important;border-top:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.funon-final-cta-inner{width:min(820px,100%);margin:0 auto}.funon-final-cta h2{margin:0 0 14px;color:#fff;font-size:clamp(34px,4vw,60px);line-height:1.08}.funon-final-cta p{margin:0 auto 26px;max-width:720px;color:#c9c2cd!important;font-size:clamp(16px,1.35vw,20px);line-height:1.6}
@media (max-width:991px){.funon-proof-grid,
.funon-benefit-grid,
.funon-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.funon-trust-grid{grid-template-columns:1fr}.funon-timeline{grid-template-columns:1fr}.funon-timeline-step{text-align:left;padding-left:14px}}
@media (max-width:767px){.funon-hero-copy{left:22px!important;right:22px!important;bottom:28px!important}.funon-hero-copy .funon-hero-eyebrow{font-size:10px;letter-spacing:.20em}.funon-hero-copy h1{font-size:clamp(34px,10.5vw,49px)!important;line-height:1.04!important}.funon-hero-copy .funon-hero-lead{margin-bottom:18px;font-size:15px;line-height:1.5}.funon-hero-actions{gap:8px}.funon-hero-actions .btn{width:100%;min-width:0;padding:12px 18px!important}.funon-hero-note{font-size:10px}.funon-proof{padding:20px 14px}.funon-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.funon-proof-item{padding:18px 10px;border-bottom:1px solid rgba(255,255,255,.09)}.funon-proof-item:nth-child(2){border-right:0}.funon-proof-item:nth-child(n/**/+3){border-bottom:0}.funon-marketing-section{padding:54px 16px}.funon-benefit-grid,
.funon-process-grid{grid-template-columns:1fr}.funon-benefit-card,
.funon-process-card,
.funon-trust-card{min-height:0;padding:20px}.funon-final-cta{padding:56px 18px}}

/* funon-v71-clean-hero-story */

/* Hero image remains completely clean. Text starts in a separate section below it. */
.funon-v71-hero-intro{
  position:relative;
  z-index:3;
  padding:58px 20px 48px;
  background:
    radial-gradient(circle at 16% 20%,rgba(16,184,181,.07),transparent 27%),
    radial-gradient(circle at 85% 80%,rgba(240,0,143,.07),transparent 29%),
    linear-gradient(180deg,#0b0811,#0f0a16)!important;
}
.funon-v71-hero-intro-inner{
  width:min(980px,100%);
  margin:0 auto;
  text-align:center;
}
.funon-v71-eyebrow{
  display:block;
  margin-bottom:12px;
  color:#f0a5c9;
  font-size:12px;
  line-height:1.3;
  letter-spacing:.24em;
  text-transform:uppercase;
  font-weight:700;
}
.funon-v71-hero-intro h1{
  margin:0 auto 18px;
  max-width:920px;
  color:#fff;
  font-size:clamp(38px,4.7vw,68px);
  line-height:1.06;
  font-weight:800;
}
.funon-v71-hero-intro p{
  margin:0 auto 26px;
  max-width:840px;
  color:#c9c2cd!important;
  font-size:clamp(17px,1.45vw,22px);
  line-height:1.65;
}
.funon-v71-hero-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
}
.funon-v71-hero-actions .btn{
  min-width:205px;
  padding:14px 27px!important;
  text-align:center;
}
.funon-v71-outline-btn{
  color:#fff!important;
  background:transparent!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:none!important;
}
.funon-v71-outline-btn:hover{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
}
.funon-v71-hero-intro small{
  display:block;
  max-width:720px;
  margin:15px auto 0;
  color:rgba(255,255,255,.57);
  font-size:11px;
  line-height:1.55;
}

/* Human, text-led story section. */
.funon-v71-story{
  position:relative;
  z-index:2;
  padding:86px 20px;
  background:
    radial-gradient(circle at 12% 16%,rgba(16,184,181,.06),transparent 25%),
    radial-gradient(circle at 90% 84%,rgba(240,0,143,.06),transparent 28%),
    linear-gradient(145deg,rgba(12,9,18,.98),rgba(16,10,22,.98))!important;
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.funon-v71-story-inner{
  width:min(1020px,100%);
  margin:0 auto;
}
.funon-v71-story-heading{
  max-width:820px;
  margin:0 auto 36px;
  text-align:center;
}
.funon-v71-story-heading h2{
  margin:0;
  color:#fff;
  font-size:clamp(36px,4.3vw,62px);
  line-height:1.08;
  font-weight:800;
}
.funon-v71-story-copy{
  max-width:880px;
  margin:0 auto;
}
.funon-v71-story-copy p{
  margin:0 0 20px;
  color:#c9c2cd!important;
  font-size:clamp(16px,1.25vw,19px);
  line-height:1.78;
}
.funon-v71-story-copy h3{
  margin:42px 0 12px;
  color:#fff;
  font-size:clamp(23px,2vw,30px);
  line-height:1.25;
  font-weight:750;
}
.funon-v71-story-signoff{
  margin-top:34px!important;
  color:#fff!important;
  font-size:clamp(19px,1.6vw,23px)!important;
  font-weight:700;
  text-align:center;
}

@media (max-width:767px){
  .funon-v71-hero-intro{
    padding:42px 18px 36px;
  }
  .funon-v71-hero-intro h1{
    font-size:clamp(32px,9.5vw,44px);
    line-height:1.1;
  }
  .funon-v71-hero-intro p{
    font-size:16px;
    line-height:1.6;
  }
  .funon-v71-hero-actions{
    flex-direction:column;
  }
  .funon-v71-hero-actions .btn{
    width:100%;
    min-width:0;
    padding:13px 20px!important;
  }
  .funon-v71-story{
    padding:58px 18px;
  }
  .funon-v71-story-heading{
    margin-bottom:28px;
  }
  .funon-v71-story-copy p{
    font-size:16px;
    line-height:1.72;
  }
  .funon-v71-story-copy h3{
    margin-top:34px;
  }
}

/* funon-v75-language-header-and-hero-credit */

/* The former top-right credit button is now the language selector. */
header .funon-header-language > summary{
  min-width:132px;
}
/* Credit CTA sits at the lower edge of the main hero image, never in its centre. */
.funon-hero-credit-cta{
  position:absolute;
  left:50%;
  bottom:26px;
  z-index:4;
  transform:translateX(-50%);
  display:flex;
  justify-content:center;
  width:auto;
}
.funon-hero-credit-cta .btn{
  min-width:205px;
  padding:14px 27px!important;
  text-align:center;
  white-space:nowrap;
}
@media (max-width:767px){
  header .funon-header-language > summary{min-width:96px}
  .funon-hero-credit-cta{bottom:18px}
  .funon-hero-credit-cta .btn{min-width:205px;padding:13px 20px!important}
}

/* v89 cleanup: desktop menu stability and collapsible story */
@media screen and (min-width:768px){
  .side-menu .inner-wrapper{
    width:min(620px,48vw)!important;
    min-width:min(520px,100vw)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .side-menu .side-menu-inner-content .col-12.col-lg-8.offset-lg-2,
.side-menu .side-menu-inner-content .nav-icon{
    flex:0 0 100%!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    padding-left:48px!important;
    padding-right:48px!important;
  }
  .side-menu .side-nav-menu,
.side-menu .navbar-nav{width:100%!important;max-width:100%!important;}
  .side-menu .side-nav-menu .nav-link,
.side-menu .navbar-nav .nav-link,
.side-menu .nav-link{
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(36px,3.35vw,58px)!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    text-overflow:clip!important;
  }
}
@media screen and (min-width:1600px){
  .side-menu .inner-wrapper{width:min(680px,42vw)!important;min-width:600px!important;}
  .side-menu .side-nav-menu .nav-link,
.side-menu .navbar-nav .nav-link,
.side-menu .nav-link{font-size:clamp(48px,3vw,60px)!important;}
}
@media screen and (max-width:767px){
  .side-menu .inner-wrapper{overflow-y:auto!important;overflow-x:hidden!important;}
  .side-menu .side-nav-menu .nav-link,
.side-menu .navbar-nav .nav-link,
.side-menu .nav-link{
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

.funon-v71-story-copy{position:relative;transition:max-height .55s ease;}
.funon-v71-story-copy.funon-story-collapsed{max-height:10.2em;overflow:hidden;}
.funon-v71-story-copy.funon-story-expanded{max-height:5000px;overflow:visible;}
.funon-story-fade{
  position:absolute;left:0;right:0;bottom:0;height:6.4em;z-index:2;pointer-events:none;
  background:linear-gradient(to bottom,rgba(15,10,22,0),rgba(15,10,22,.86) 55%,rgba(15,10,22,1) 100%);
  transition:opacity .3s ease;
}
.funon-story-expanded .funon-story-fade{opacity:0;}
.funon-story-toggle-wrap{text-align:center;margin-top:18px;}
.funon-story-toggle{
  appearance:none!important;-webkit-appearance:none!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  padding:9px 16px!important;background:transparent!important;color:#fff!important;border:0!important;
  box-shadow:none!important;font-size:13px!important;font-weight:700!important;letter-spacing:.02em!important;
  cursor:pointer!important;filter:none!important;
}
.funon-story-toggle:hover{background:transparent!important;color:#fff!important;filter:none!important;}
.funon-story-toggle-arrow{display:inline-block;font-size:22px;line-height:1;transition:transform .3s ease;transform-origin:center;}
.funon-story-toggle[aria-expanded="true"] .funon-story-toggle-arrow{transform:rotate(180deg);}
@media (max-width:767px){
  .funon-v71-story-copy.funon-story-collapsed{max-height:10.5em;}
  .funon-story-toggle-wrap{margin-top:14px;}
}


/* V90 — Collapsible marketing sections */
.funon-collapsible-shell{
  position:relative;
}
.funon-collapsible-preview{
  position:relative;
  max-height:340px;
  overflow:hidden;
  transition:max-height .45s ease;
}
.funon-collapsible-shell.is-open .funon-collapsible-preview{
  max-height:5000px;
}
.funon-collapsible-fade{
  position:absolute;
  left:0;
  right:0;
  bottom:54px;
  height:110px;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(13,10,19,0),rgba(13,10,19,.96));
  opacity:1;
  transition:opacity .25s ease;
}
.funon-collapsible-shell.is-open .funon-collapsible-fade{
  opacity:0;
}
.funon-collapsible-toggle{
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:14px auto 0;
  padding:10px 16px!important;
  min-width:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.04em;
  cursor:pointer;
}
.funon-collapsible-toggle:hover{
  background:transparent!important;
  color:#fff!important;
  filter:none!important;
}
.funon-collapsible-arrow{
  display:inline-block;
  font-size:22px;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .25s ease;
}
.funon-collapsible-shell.is-open .funon-collapsible-arrow{
  transform:rotate(180deg) translateY(1px);
}
@media(max-width:767px){
  .funon-collapsible-preview{max-height:390px}
  .funon-collapsible-fade{height:120px}
  .funon-collapsible-toggle{font-size:12px!important}
}
