@font-face{
    font-family:"FUP Begin";
    src:url("assets/fonts/FUP_Begin.woff2") format("woff2");
    font-weight:400;
    font-style:normal;
    font-display:swap;
}

:root{
    --bg:#FEF8ED;
    --bg-2:#f2ecdf;
    --surface:rgba(255,255,255,.60);
    --surface-2:rgba(255,255,255,.88);

    --text:#0f172a;
    --muted:#475569;
    --muted-2:#64748b;

    --gold:#caa24b;
    --gold-2:#e6c26a;
    --gold-ink:#7a5a16;

    --navy:#0b1324;
    --navy-2:#101a33;

    --border:rgba(15,23,42,.10);
    --border-2:rgba(15,23,42,.16);
    --pill-bg:rgba(255,255,255,.75);
    --text-dark:#1f120b;
    --text-muted:var(--muted);
    --shadow-soft:0 24px 60px rgba(15,23,42,.16);

    --shadow-xs:0 2px 10px rgba(15,23,42,.06);
    --shadow-sm:0 8px 24px rgba(15,23,42,.10);
    --shadow-md:0 18px 55px rgba(15,23,42,.12);

    --radius-sm:12px;
    --radius:18px;
    --radius-lg:26px;
    --radius-pill:999px;

    --container:1180px;
    --gutter:24px;

    --h1:clamp(34px,4vw,58px);
    --h2:clamp(26px,3vw,40px);
    --h3:clamp(20px,2.2vw,28px);
    --p:clamp(15px,1.1vw,18px);

    --lh-tight:1.12;
    --lh:1.5;

    --ease:cubic-bezier(.2,.9,.2,1);
    --dur:220ms;

    --ring:0 0 0 4px rgba(202,162,75,.22);
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    scroll-behavior:smooth;
}

.wrap {
    overflow: hidden;
}

html.lenis,
html.lenis body{
    height:auto;
}

.lenis.lenis-smooth{
    scroll-behavior:auto !important;
}

.lenis.lenis-stopped{
    overflow:hidden;
}

.lenis.lenis-scrolling iframe{
    pointer-events:none;
}

*{
    scrollbar-width:thin;
    scrollbar-color:rgba(15,23,42,.35) transparent;
}

*::-webkit-scrollbar{
    width:10px;
    height:10px;
}

*::-webkit-scrollbar-track{
    background:transparent;
}

*::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,rgba(15,23,42,.45),rgba(15,23,42,.25));
    border-radius:999px;
    border:2px solid transparent;
    background-clip:padding-box;
}

*::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,rgba(15,23,42,.6),rgba(15,23,42,.35));
}

body{
    margin:0;
    font-family:"FUP Begin","Noto Sans Hebrew","Noto Sans",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
    background:var(--bg);
    color:var(--text);
    line-height:var(--lh);
    direction:rtl;
    text-rendering:geometricPrecision;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
    -webkit-user-select:none;
    user-select:none;
}

body.nav-open{
    overflow:hidden;
}

body.hero-video-open{
    overflow:hidden;
}

body.contact-modal-open{
    overflow:hidden;
}

img,
svg,
video,
canvas{
    display:block;
    max-width:100%;
}

a{
    color:inherit;
    text-decoration:none;
}

button,
input,
textarea,
select{
    font:inherit;
    color:inherit;
    -webkit-user-select:text;
    user-select:text;
}

button{
    border:0;
    background:none;
    cursor:pointer;
}

::selection{
    background:rgba(202,162,75,.25);
}

:focus-visible{
    outline:none;
    box-shadow:var(--ring);
    border-radius:12px;
}

.container{
    width:100%;
    max-width:var(--container);
    padding-inline:var(--gutter);
    margin-inline:auto;
}

.section{
    width:100%;
    padding:96px 0;
}

.hero{
    position:relative;
    overflow:hidden;
}

.hero-inner{
    position:relative;
    min-height:520px;
    padding:80px 0 180px;
}

.hero-backdrop{
    position:absolute;
    inset:0;
    border-radius:48px;
    filter:saturate(1.2);
    transform:translateY(0);
    transition:transform .8s var(--ease),opacity .8s var(--ease);
    z-index:1;
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:640px;
    margin-inline:auto;
    text-align:center;
    transition:transform .6s var(--ease),opacity .6s var(--ease);
    margin-top: -100px;
}

.hero-actions{
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
    margin-top:16px;
}

.hero-video-shell{
    position:absolute;
    top:50%;
    left:50%;
    width:min(720px,90vw);
    max-width:90vw;
    max-height:90vh;
    aspect-ratio:9/16;
    border-radius:36px;
    overflow:hidden;
    transform:translate(-50%,-50%) scale(.55);
    opacity:0;
    box-shadow:0 25px 80px rgba(11,19,36,.35);
    background:#000;
    transition:transform .8s var(--ease),opacity .8s var(--ease);
    z-index:20;
    pointer-events:none;
}

.hero-overlay{
    position:fixed;
    inset:0;
    background:rgba(4,6,18,.8);
    opacity:0;
    transition:opacity .6s var(--ease);
    z-index:10;
    pointer-events:none;
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
}

.hero-video-shell::after{
    content:"";
    position:absolute;
    inset:0;
    border:1px solid rgba(255,255,255,.15);
    border-radius:inherit;
    pointer-events:none;
}

.hero-video-close{
    position:absolute;
    top:16px;
    inset-inline-end:16px;
    width:42px;
    height:42px;
    border-radius:50%;
    border:0;
    background:rgba(0,0,0,.6);
    color:#fff;
    font-size:1.8rem;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 24px rgba(0,0,0,.3);
    transition:background .2s ease,transform .2s ease;
    cursor:pointer;
    z-index:1;
}

.hero-video-close:hover{
    background:rgba(0,0,0,.8);
    transform:translateY(-1px);
}

.hero-video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.hero-play{
    position:absolute;
    bottom: -20%;
    left:50%;
    transform:translate(-50%,-50%);
    width:94px;
    height:94px;
    border-radius:50%;
    background:linear-gradient(135deg,#0b1324,#182544);
    border:3px solid rgba(255,255,255,.65);
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),opacity .4s var(--ease);
    animation:heroPulseScale 4s ease-in-out infinite;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    background: rgba(0, 0, 0, 0.004);
    mix-blend-mode: normal;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.25);
    border-radius: 96px;
    z-index:4;
}

.hero-play::after{
    content:"";
    position:absolute;
    inset:-14px;
    border-radius:inherit;
    background:rgba(11,19,36,.13);
    filter:blur(12px);
    z-index:-1;
    animation:heroPulse 3s ease-in-out infinite;
}

.hero-play:hover{
    animation-play-state:paused;
    transform:translate(-50%,-50%) scale(1.06);
    box-shadow:0 22px 50px rgba(11,19,36,.32);
}

.hero-play-icon{
    width:0;
    height:0;
    border-top:14px solid transparent;
    border-bottom:14px solid transparent;
    border-left:24px solid #fff;
    transform:translateX(2px);
}

.hero-video-active .hero-backdrop{
    transform:translateY(140%);
    opacity:0;
}

.hero-video-active .hero-overlay{
    opacity:1;
    pointer-events:auto;
}

.hero-video-active .hero-content{
    transform:translateY(-80px) !important;
    opacity:0 !important;
    pointer-events:none;
}

.hero-video-active .hero-video-shell{
    position:fixed;
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
    pointer-events:auto;
    width:min(520px,90vw);
    max-width:90vw;
    max-height:90vh;
    z-index: 9999999;
}

.hero-video-active .hero-play{
    opacity:0;
    transform:translate(-50%,-50%) scale(.85);
    pointer-events:none;
}

.site-nav{
    position: absolute;
    top:0;
    left:0;
    right:0;
    z-index:100;
    padding:18px 0;
}

.nav-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
    min-height:96px;
}

.nav-links{
    flex:1 1 auto;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:8px 10px;
    justify-self:end;
    grid-area:links;
    text-align:left;
    margin-left: auto;
}

.nav-links a{
    color:#fff;
    transition:color .3s var(--ease);
}

.nav-links a {
    color: #fff;
}

.nav-social{
    display:flex;
    align-items:center;
    gap:12px;
}

.nav-right{
    display:flex;
    align-items:center;
    gap:14px;
    justify-self:start;
    grid-area:social;
    margin-right: auto;
}

.nav-social a{
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.35);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    transition:background var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease);
}

.nav-social a:hover,
.nav-social a:focus-visible{
    background:rgba(255,255,255,.18);
    transform:translateY(-2px);
}

.nav-menu{
    position:fixed;
    top:0;
    inset-inline:0;
    z-index:110;
    pointer-events:auto;
    transition:background .3s var(--ease),box-shadow .3s var(--ease);
}

.nav-menu-inner{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    grid-template-areas:"links logo social";
    align-items:center;
    gap:32px;
    column-gap:48px;
    margin-inline:auto;
    width:100%;
    max-width:var(--container);
    padding-inline:var(--gutter);
    height: 110px;
}

.nav-logo-desktop{
    display:inline-flex;
    justify-content:center;
    justify-self:center;
    grid-area:logo;
}

.nav-logo-mobile{
    display:none;
}

.nav-toggle{
    display:none;
    width:48px;
    height:48px;
    border-radius:16px;
    border:1px solid rgba(15,23,42,.14);
    background:rgba(255,255,255,.92);
    box-shadow:var(--shadow-xs);
    align-items:center;
    justify-content:center;
    gap:6px;
    flex-direction:column;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
}

.nav-phone{
    display:none;
    width:44px;
    height:44px;
    border-radius:14px;
    border:1px solid rgba(15,23,42,.12);
    background:rgba(255,255,255,.92);
    color:var(--navy);
    align-items:center;
    justify-content:center;
    box-shadow:var(--shadow-xs);
}

.nav-phone i{
    font-size:18px;
    line-height:1;
}

.nav-toggle-line{
    width:24px;
    height:2px;
    border-radius:999px;
    background:var(--navy);
    transition:transform .3s var(--ease),opacity .3s var(--ease);
}

body.nav-open .nav-toggle{
    background:var(--navy);
    box-shadow:0 12px 30px rgba(11,19,36,.25);
}

body.nav-open .nav-toggle-line{
    background:#fff;
}

body.nav-open .nav-toggle-line:first-child{
    transform:translateY(5px) rotate(-45deg);
}

body.nav-open .nav-toggle-line:last-child{
    transform:translateY(-5px) rotate(45deg);
}

.nav-overlay{
    display:none;
}

body.nav-enhanced .nav-overlay{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(5,8,16,.55);
    opacity:0;
    pointer-events:none;
    transition:opacity .3s var(--ease);
    z-index:60;
}

body.nav-open .nav-overlay{
    opacity:1;
    pointer-events:auto;
}

.site-nav.is-scrolled ~ .nav-menu{
    background:#ffffffc4;
    box-shadow:0 15px 40px rgba(15,23,42,.15);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.site-nav.is-scrolled ~ .nav-menu .nav-links a{
    color:#0b1324;
}

.site-nav.is-scrolled ~ .nav-menu .nav-social a{
    border-color:rgba(11,19,36,.16);
    color:#0b1324;
    background:rgba(255,255,255,.85);
}

.nav-cta{
    padding:10px 24px;
    font-size:15px;
    white-space:nowrap;
    box-shadow:0 10px 18px rgba(11,19,36,.12);
}
.center{
    text-align:center;
}

.muted{
    color:var(--muted);
}

.muted-2{
    color:var(--muted-2);
}

h1,h2,h3{
    margin:0 0 14px;
    line-height:var(--lh-tight);
    font-weight:600;
    letter-spacing:-.02em;
}

h1{
    font-size:var(--h1);
}

h2{
    font-size:var(--h2);
}

h3{
    font-size:var(--h3);
}
p {
  margin: 0;
}

.small{
    font-size:14px;
}

.stack-8>*+*{ margin-top:8px; }
.stack-12>*+*{ margin-top:12px; }
.stack-16>*+*{ margin-top:16px; }
.stack-24>*+*{ margin-top:24px; }
.stack-32>*+*{ margin-top:32px; }
.stack-40>*+*{ margin-top:40px; }

.row{
    display:flex;
    align-items:center;
    gap:12px;
}

.grid{
    display:grid;
    gap:24px;
}

.feature-visual{
    position:relative;
    width:fit-content;
    margin-inline:auto;
    margin-top:32px;
    padding:0;
    display: flex;
    justify-content: center;
    width: 100%;
    overflow: hidden;
}

.feature-visual img{
    max-height: 500px;
    margin-bottom: -60px;
}

.feature-callout{
    position:absolute;
    width:0;
    height:0;
    pointer-events:none;
}

.callout-dot{
    position:absolute;
    top:0;
    left:0;
    width:14px;
    height:14px;
    border-radius:50%;
    background:var(--gold);
    box-shadow:0 0 0 6px rgba(202,162,75,.2),0 8px 16px rgba(11,19,36,.2);
    transform:translate(-50%,-50%);
    animation:calloutPulse 3.2s ease-in-out infinite;
}

.callout-body{
    position:absolute;
    top:0;
    display:flex;
    align-items:center;
    gap:12px;
    font-size:14px;
    font-weight:600;
    color:var(--navy);
}

.callout-right .callout-body{
    left:14px;
    transform:translate(0,-50%);
}

.callout-left .callout-body{
    right:14px;
    transform:translate(0,-50%);
    flex-direction:row;
    text-align:right;
}

.callout-line{
    width:78px;
    border-top:1px dashed rgba(15,23,42,.45);
    opacity:.75;
}

.callout-label{
    padding:8px 16px;
    border-radius:var(--radius-pill);
    border:1px solid rgba(15,23,42,.18);
    background:rgba(255,255,255,.92);
    box-shadow:var(--shadow-xs);
    white-space:nowrap;
}

.callout-top-right{ top:28%; left:64%; }
.callout-bottom-right{ top:70%; left:54%; }
.callout-top-left{     top: 6%; left: 36%; }
.callout-bottom-left{ top: 57%; left: 47%; }

.card{
    background:var(--surface-2);
    border:1px solid var(--border);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-sm);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.card-pad{
    padding:22px;
}

.value-section{
    background:
        radial-gradient(900px 520px at 15% 20%,rgba(202,162,75,.16),rgba(202,162,75,0)),
        radial-gradient(900px 520px at 85% 70%,rgba(121,86,255,.10),rgba(121,86,255,0)),
        var(--bg);
    position:relative;
    overflow:hidden;
}

.value-section::after{
    content:"";
    position:absolute;
    inset:auto 0 0 0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(15,23,42,.12),transparent);
    opacity:.6;
}

.value-grid{
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:24px;
    counter-reset:value;
}

.value-card{
    position:relative;
    overflow:hidden;
    padding-top:34px;
    text-align:right;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
    background:rgba(255,255,255,.9);
    border:1px solid rgba(15,23,42,.08);
}

.value-card::before{
    counter-increment:value;
    content:counter(value);
    position:absolute;
    top:16px;
    inset-inline-end:16px;
    width:38px;
    height:38px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:.9rem;
    color:#1b1405;
    background:linear-gradient(180deg,var(--gold-2),var(--gold));
    box-shadow:0 10px 26px rgba(202,162,75,.28);
}

.value-card::after{
    content:"";
    position:absolute;
    inset:-40% -10% auto;
    height:140px;
    background:radial-gradient(220px 140px at 15% 40%,rgba(202,162,75,.18),rgba(202,162,75,0));
    opacity:.7;
    pointer-events:none;
}

.value-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
}

.value-card h3{
    margin-top:6px;
}

.value-card p{
    color:var(--muted-2);
}

.value-section .eyebrow{
    background:rgba(202,162,75,.16);
    border:1px solid rgba(202,162,75,.28);
}

.process-section{
    background:var(--bg-2);
}

.process-grid{
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:24px;
}

.process-card{
    text-align:right;
    position:relative;
    overflow:hidden;
    border:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.92);
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.process-card::after{
    content:"";
    position:absolute;
    inset:-30% -10% auto;
    height:120px;
    background:radial-gradient(200px 120px at 20% 40%,rgba(121,86,255,.12),rgba(121,86,255,0));
    opacity:.8;
    pointer-events:none;
}

.process-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
}

.process-icon{
    width:42px;
    height:42px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    color:#1b1405;
    background:linear-gradient(180deg,var(--gold-2),var(--gold));
    box-shadow:0 12px 28px rgba(202,162,75,.28);
    margin-bottom:12px;
}

.process-actions{
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}

.stats-section{
    background:
        radial-gradient(900px 520px at 20% 20%,rgba(34,211,238,.12),rgba(34,211,238,0)),
        radial-gradient(900px 520px at 80% 70%,rgba(202,162,75,.16),rgba(202,162,75,0)),
        #ffffff;
}

.stats-grid{
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
    gap:20px;
}

.stats-card{
    text-align:center;
    border:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.9);
    box-shadow:var(--shadow-sm);
}

.stats-number{
    display:block;
    font-size:clamp(28px,4vw,40px);
    font-weight:700;
    color:var(--navy);
    margin-bottom:6px;
}

.stats-label{
    display:block;
    color:var(--muted-2);
    font-size:.98rem;
}

.ltr{
    direction:ltr;
    unicode-bidi:bidi-override;
    display:inline-block;
}

.testimonials-section{
    background:var(--bg);
}

.testimonials-grid{
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:22px;
}

.testimonial-card{
    text-align:right;
    border:1px solid rgba(15,23,42,.08);
    background:rgba(255,255,255,.95);
    box-shadow:var(--shadow-sm);
    position:relative;
}

.testimonial-card::before{
    content:"“";
    position:absolute;
    top:16px;
    inset-inline-end:18px;
    font-size:48px;
    color:rgba(202,162,75,.35);
    line-height:1;
}

.testimonial-card blockquote{
    margin:0 0 18px;
    color:var(--text);
    font-size:1.02rem;
    line-height:1.7;
}

.testimonial-name{
    display:block;
    font-weight:700;
    color:var(--navy);
}

.testimonial-meta{
    display:block;
    color:var(--muted-2);
    font-size:.92rem;
}

.gallery-section{
    background:
        radial-gradient(900px 520px at 80% 20%,rgba(202,162,75,.16),rgba(202,162,75,0)),
        radial-gradient(900px 520px at 20% 80%,rgba(121,86,255,.10),rgba(121,86,255,0)),
        var(--bg);
}

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    grid-auto-rows:150px;
    gap:16px;
}

.gallery-tile{
    border-radius:22px;
    background-size:cover;
    background-position:center;
    box-shadow:var(--shadow-sm);
    border:1px solid rgba(15,23,42,.08);
    position:relative;
    overflow:hidden;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.gallery-tile::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.35));
    opacity:.55;
}

.gallery-tile:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
}

.gallery-tile.is-wide{
    grid-column:span 2;
}

.gallery-tile.is-tall{
    grid-row:span 2;
}

@media (max-width:900px){
    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:160px;
    }
}


.partners-section{
    background:#fff;
}

.partners-strip{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
}

.partner-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.8);
    border:1px solid rgba(15,23,42,.08);
    box-shadow:var(--shadow-xs);
    font-weight:600;
    color:var(--navy);
}

.timeline-section{
    background:var(--bg-2);
}

.timeline{
    display:grid;
    gap:20px;
    position:relative;
    margin-top:8px;
}

.timeline::before{
    content:"";
    position:absolute;
    inset-inline-start:16px;
    top:0;
    bottom:0;
    width:2px;
    background:linear-gradient(180deg,rgba(202,162,75,.6),rgba(121,86,255,.4));
}

.timeline-step{
    position:relative;
    padding-inline-start:52px;
}

.timeline-dot{
    position:absolute;
    inset-inline-start:6px;
    top:18px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:linear-gradient(180deg,var(--gold-2),var(--gold));
    box-shadow:0 10px 26px rgba(202,162,75,.28);
    border:2px solid #fff;
}

.timeline-card{
    background:rgba(255,255,255,.92);
    border:1px solid rgba(15,23,42,.08);
    border-radius:18px;
    padding:18px 20px;
    box-shadow:var(--shadow-sm);
}

.timeline-card h3{
    margin-bottom:8px;
}

.event-types-section{
    background:#fff;
}

.event-types-carousel{
    position:relative;
    padding: 20px;
}

.carousel-btn{
    display:none;
}

.event-types-grid{
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:22px;
}

.event-type-card{
    text-align:center;
    background:rgba(255,255,255,.95);
    border:1px solid rgba(15,23,42,.08);
    border-radius:20px;
    padding:20px 22px;
    box-shadow:var(--shadow-sm);
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.event-types-grid [data-clone="true"]{
    display:none;
}

.event-type-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-md);
}

.event-type-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    background:rgba(202,162,75,.18);
    margin-bottom:12px;
}

.pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:var(--radius-pill);
    border:1px solid var(--border);
    background:rgba(255,255,255,.55);
    box-shadow:var(--shadow-xs);
    gap:8px;
    white-space:nowrap;
}

.badge-gold{
    border-color:rgba(202,162,75,.35);
    background:rgba(202,162,75,.22);
    color:var(--gold-ink);
}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:12px 18px;
    border-radius:var(--radius-pill);
    border:1px solid transparent;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease),border-color var(--dur) var(--ease),opacity var(--dur) var(--ease);
    user-select:none;
    -webkit-tap-highlight-color:transparent;
}

.btn:active{
    transform:translateY(1px);
}

.btn-primary{
    background:var(--navy);
    color:#fff;
    box-shadow:0 12px 30px rgba(11,19,36,.18);
}

.btn-primary:hover{
    background:var(--navy-2);
}

.btn-ghost{
    background:rgba(255,255,255,.55);
    border-color:var(--border);
    color:var(--text);
}

.btn-ghost:hover{
    background:rgba(255,255,255,.72);
    border-color:var(--border-2);
}

.btn-gold{
    background:linear-gradient(180deg,var(--gold-2),var(--gold));
    color:#1b1405;
    box-shadow:0 14px 34px rgba(202,162,75,.22);
}

.btn-gold:hover{
    opacity:.95;
}

.input-shell{
    display:flex;
    align-items:center;
    gap:12px;
    width:100%;
    max-width:620px;
    padding:10px;
    border-radius:var(--radius-pill);
    background:var(--surface-2);
    border:1px solid var(--border);
    box-shadow:var(--shadow-sm);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    margin: auto;
}

.form-feedback{
    margin-top:12px;
    min-height:22px;
    display:flex;
    justify-content:center;
}

.form-consent{
    margin-top:12px;
    text-align:right;
    font-size:14px;
    color:var(--muted);
}

.consent-label{
    display:flex;
    gap:8px;
    align-items:flex-start;
    justify-content: center;
    padding-top: 10px;
}

.consent-label input{
    margin-top:4px;
    accent-color:var(--gold);
}

.form-consent a{
    color:var(--navy);
    text-decoration:underline;
}

.form-feedback-message{
    font-size:0.98rem;
    padding:6px 14px;
    border-radius:999px;
    border:1px solid transparent;
    background:rgba(255,255,255,.9);
    box-shadow:var(--shadow-xs);
}

.form-feedback-message.is-success{
    color:#0f5132;
    background:rgba(34,197,94,.12);
    border-color:rgba(34,197,94,.35);
}

.form-feedback-message.is-error{
    color:#7f1d1d;
    background:rgba(239,68,68,.12);
    border-color:rgba(239,68,68,.35);
}

.input{
    flex:1;
    min-width:0;
    border:0;
    background:transparent;
    padding:12px 14px;
    outline:none;
    color:var(--text);
}

.input::placeholder{
    color:rgba(71,85,105,.75);
}

.hr{
    width:100%;
    height:1px;
    background:var(--border);
    border:0;
    margin:0;
}

.bg-soft{
    background:
        radial-gradient(900px 520px at 20% 20%,rgba(202,162,75,.18),rgba(202,162,75,0)),
        radial-gradient(900px 520px at 80% 70%,rgba(121,86,255,.12),rgba(121,86,255,0)),
        radial-gradient(900px 520px at 15% 75%,rgba(34,211,238,.10),rgba(34,211,238,0)),
        linear-gradient(#ffffff, #ffffff);
}

.faq-section{
    padding-bottom: 0;
    position:relative;
    z-index:2;
    background:
        url('assets/images/faq-bg.png') center/cover no-repeat,
        radial-gradient(900px 520px at 20% 20%,rgba(202,162,75,.18),rgba(202,162,75,0)),
        radial-gradient(900px 520px at 80% 70%,rgba(121,86,255,.12),rgba(121,86,255,0)),
        radial-gradient(900px 520px at 15% 75%,rgba(34,211,238,.10),rgba(34,211,238,0)),
        linear-gradient(#ffffff, #ffffff);
    overflow: hidden
}

.reel-showcase{
    padding-top:0;
    overflow: hidden;
}

.reel-showcase .cta-row{
    justify-content:center !important;
}

.reel-showcase .cta-primary{
    background:#030202;
    color:#fefefe !important;
}

.reel-showcase .cta-ghost{
    background:transparent;
    border:1px solid rgba(31,18,11,.25);
    color:var(--text-dark);
    justify-content: center;
}

.showcase-header{
    text-align:center;
    padding-top:20px;
}

.eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 16px;
    border-radius:var(--radius-pill);
    background:var(--pill-bg);
    font-size:.9rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.showcase-header h1{
    font-size:clamp(2.6rem,6vw,4rem);
    margin:24px 0 16px;
    line-height:1.15;
}

.showcase-header .highlight{
    display:block;
    font-size:clamp(3rem,7vw,4.5rem);
}

.showcase-header .subhead{
    max-width:640px;
    margin:0 auto 32px;
    font-size:1.1rem;
    color:var(--text-muted);
    line-height:1.6;
}

.cta-row{
    display:flex;
    justify-content: unset !important;
    gap:16px;
    flex-wrap:wrap;
}

.cta-primary,
.cta-ghost{
    border:none;
    border-radius:var(--radius-pill);
    font-size:1rem;
    padding:14px 30px;
    cursor:pointer;
    font-weight:600;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
}

.cta-primary{
    background:#fefefe;
    color:#030202 !important;
    box-shadow:var(--shadow-soft);
}

.cta-ghost{
    background:transparent;
    border:1px solid rgba(255, 255, 255, 0.25);
    color:var(--text-dark);
}

.cta-primary span{
    margin-left:8px;
    font-size:1.2rem;
}

.cta-primary:hover,
.cta-ghost:hover{
    transform:translateY(-2px);
}

.cta-play{
    display:inline-flex;
    align-items:center;
    gap:10px;
}

.cta-play .cta-icon{
    width:24px;
    height:24px;
    border-radius:50%;
    background:rgba(15,23,42,.08);
    display:grid;
    place-items:center;
    position:relative;
}

.cta-play .cta-icon::before{
    content:"";
    width:0;
    height:0;
    border-top:6px solid transparent;
    border-bottom:6px solid transparent;
    border-left:10px solid #fefefe;
    transform:translateX(1px);
}

.orbit-carousel{
    display:flex;
    justify-content:center;
    margin-top:122px;
    width:100%;
    margin-left:0;
    margin-right:0;
    padding-inline:clamp(16px,6vw,180px);
    overflow:visible;
}

.orbit-controls{
    display:flex;
    justify-content:center;
    gap:16px;
    margin-top: 90px;
}

.orbit-btn{
    width:56px;
    height:56px;
    border-radius:50%;
    border:1px solid #121212;
    background:transparent;
    color:#121212;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--shadow-sm);
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
}

.orbit-btn span{
    font-size:22px;
    line-height:1;
}

.orbit-btn:hover{
    transform:translateY(-2px);
    box-shadow:var(--shadow-md);
    background:rgba(18,18,18,.06);
}

.orbit-btn:active{
    transform:translateY(0);
}

.orbit-container{
    position:relative;
    width:100%;
    height:200px;
    margin-inline:auto;
    perspective:2400px;
    border-radius:60px;
}

.orbit-ring{
    position:absolute;
    inset:0;
    transform-style:preserve-3d;
}

.orbit-img{
    position:absolute;
    top:50%;
    left:50%;
    width:300px;
    height:420px;
    border-radius: 20px;
    background:rgba(15,23,42,.08);
    background-size:cover !important;
    background-position:center !important;
    overflow:hidden;
    /* box-shadow:0 20px 70px rgba(15, 23, 42, 0.051); */
    /* box-shadow:0 35px 70px rgba(15,23,42,.25); */
    transform:translate(-50%,-50%);
    will-change:transform;
}

.orbit-img::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,0));
    mix-blend-mode:multiply;
    opacity:.6;
}

.orbit-vignette{
    position:absolute;
    inset:-18%;
    border-radius:50%;
    background:radial-gradient(circle at center,rgba(254,248,237,.1),rgba(254,248,237,0) 55%);
    box-shadow:inset 0 0 80px rgba(15,23,42,.45);
    pointer-events:none;
    mix-blend-mode:multiply;
}

.orbit-dragger{
    position:absolute;
    inset:0;
    cursor:grab;
    border-radius:60px;
    touch-action:pan-y;
    user-select:none;
    -webkit-user-select:none;
}

.orbit-dragger:active{
    cursor:grabbing;
}

.feature-grid{
    margin-top:70px;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:28px;
}

.feature-grid .feature{
    background:#fffdf8;
    padding:24px;
    border-radius:26px;
    box-shadow:var(--shadow-soft);
}

.feature-grid .feature h3{
    font-size:1.25rem;
    margin-bottom:12px;
}

.feature-grid .feature p{
    color:var(--text-muted);
    line-height:1.6;
    font-size:1rem;
}

.faq-panel{
    position:relative;
    overflow:hidden;
    padding-right: 60px;
}

.faq-inner {
    position: relative;
    height: 100%;
    width: 100%;
    min-height:520px;
}

.faq-positioned {
    position: absolute;
    left: -62px;
    top: -25px;
}

.faq-positioned h2 {
    margin-top: -40px;
}

.faq-visual {
    position: relative;
    z-index: 1;
    transform: rotate(-12deg) translateY(18px) translateX(-8px);
    transform-origin: bottom left;
    will-change: transform;
    margin-bottom: -110px;
}

.faq-visual.is-visible{
    animation:
        faqVisualWave 2.2s cubic-bezier(.22,.61,.36,1) both,
        faqVisualFloat 7s ease-in-out 2.2s infinite;
}

.faq-visual img {
    max-height: 600px;
    object-fit: contain;
}

.faq-item:before {
    content: "+";
    font-size: 35px;
    text-align: center;
    line-height: 49px;
    height: 100%;
    width: auto;
    aspect-ratio: 1 / 1;
    background-color: #fff;
    position: absolute;
    right: -70px;
    top: 0;
    border-radius: 50%;
    transition:transform var(--dur) var(--ease),background var(--dur) var(--ease),color var(--dur) var(--ease);
    transform-origin:center;
}

.faq-item[aria-expanded="true"]:before{
    content:"–";
    transform:rotate(180deg) scale(1.05);
}

.faq-item{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:12px 22px;
    border-radius:999px;
    background:#fff;
    color:var(--navy);
    font-size:1.05rem;
    font-weight:600;
    border:0;
    box-shadow:0 14px 32px rgba(15,23,42,.12);
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease);
    margin: 10px;
}

.faq-item:hover{
    transform:translateY(-2px);
    box-shadow:0 18px 40px rgba(15,23,42,.18);
}

.faq-question{
    flex:1;
    text-align:right;
}

.faq-answer{
    max-height:0;
    opacity:0;
    overflow:hidden;
    margin:0 10px;
    padding:0 22px;
    color:var(--muted);
    font-size:0.98rem;
    line-height:1.6;
    max-width: 300px;
    transition:max-height .35s var(--ease),opacity .35s var(--ease),margin .35s var(--ease),padding .35s var(--ease);
}

.faq-item[aria-expanded="true"] + .faq-answer{
    max-height:220px;
    opacity:1;
    margin:0 10px 12px;
    padding:0 22px 16px;
}

.faq-icon{
    width:44px;
    height:44px;
    border-radius:50%;
    background:linear-gradient(135deg,#ffeede,#ffd2f5);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#0b1324;
    font-size:1.6rem;
    box-shadow:0 10px 24px rgba(15,23,42,.18);
}

.hide{
    display:none !important;
}

.only-desktop{
    display:block;
}

.only-mobile{
    display:none;
}

@media (max-width:900px){
    .only-desktop{ display:none; }
    .only-mobile{ display:block; }
}


.contact-section {
    position: relative;
    z-index:3;
    padding: 56px 0;
}

.contact-modal{
    position:fixed;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    pointer-events:none;
    transition:opacity .3s var(--ease);
    z-index:999999;
}

.contact-modal.is-open{
    opacity:1;
    pointer-events:auto;
}

.contact-modal-overlay{
    position:absolute;
    inset:0;
    background:rgba(4,6,18,.75);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

.contact-modal-panel{
    position:relative;
    z-index:1;
    width:min(640px,92vw);
    border-radius:28px;
    background:rgba(255,255,255,.98);
    padding:28px 24px 26px;
    box-shadow:0 30px 80px rgba(15,23,42,.22);
    text-align:center;
}

.contact-modal-panel h2{
    margin-bottom:18px;
}

.contact-modal-close{
    position:absolute;
    top:14px;
    inset-inline-end:14px;
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid rgba(15,23,42,.12);
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.4rem;
    color:var(--navy);
    box-shadow:var(--shadow-xs);
}

.contact-section #floating-image-right {
    position: absolute;
    top: -100px;
    background-image: url("./assets/images/floating-contact-image-right.png");
    right: -50px;
    background-position: right;
    height: 300px;
    width: 300px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index:0;
    transform:translateX(96px) translateY(14px) rotate(6deg) scale(.97);
    opacity:0;
}

.contact-section #floating-image-left {
    position: absolute;
    top: 50%;
    background-image: url("./assets/images/floating-contact-image-left.png");
    left: -50px;
    background-position: left;
    height: 300px;
    width: 300px;
    background-size: contain;
    background-repeat: no-repeat;
    z-index:0;
    transform:translateX(-96px) translateY(14px) rotate(-6deg) scale(.97);
    opacity:0;
}

.contact-section.is-visible #floating-image-right{
    animation:
        floatingRightIn 1.9s cubic-bezier(.22,.61,.36,1) both,
        floatingFloatRight 6s ease-in-out 1.9s infinite;
}

.contact-section.is-visible #floating-image-left{
    animation:
        floatingLeftIn 1.9s cubic-bezier(.22,.61,.36,1) both,
        floatingFloatLeft 6.4s ease-in-out 1.9s infinite;
}

.contact-section .container{
    position:relative;
    z-index:1;
    padding-block:8px;
}

.contact-section .input-shell{
    max-width:560px;
}

.whatsapp-float{
    position:fixed;
    bottom:24px;
    inset-inline-start:24px;
    width:56px;
    height:56px;
    border-radius:50%;
    background:#22c55e;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 18px 36px rgba(15,23,42,.25);
    z-index:200;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
}

.phone-float{
    position:fixed;
    bottom:24px;
    inset-inline-end:24px;
    width:56px;
    height:56px;
    border-radius:50%;
    background:#2563eb;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 18px 36px rgba(15,23,42,.25);
    z-index:200;
    transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease);
}

.whatsapp-float i,
.phone-float i{
    font-size:28px;
    line-height:1;
}

.whatsapp-float:hover{
    transform:translateY(-2px) scale(1.02);
    box-shadow:0 22px 44px rgba(15,23,42,.28);
    background:#16a34a;
}

.phone-float:hover{
    transform:translateY(-2px) scale(1.02);
    box-shadow:0 22px 44px rgba(15,23,42,.28);
    background:#1d4ed8;
}


#hero-section.hero-video-active {
    background-position-y: -113%;
}

.site-footer .container{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:28px;
    flex-wrap:wrap;
    text-align:left;
    position: relative;
}

.site-footer img {
    height: 50px;
    margin: 20px 0;
}

.footer-links{
    display:flex;
    align-items:center;
    gap:18px;
    font-weight:600;
    flex-wrap:wrap;
    position: absolute;
    right: 0;
}

.footer-links a{
    color:#0b1324;
    text-decoration:none;
    font-size:14px;
}

.footer-links a:hover,
.footer-links a:focus-visible{
    text-decoration:underline;
}

.footer-social{
    display:flex;
    align-items:center;
    gap:14px;
    position: absolute;
    left: 0;
}

.footer-social a{
    width:36px;
    height:36px;
    border-radius:50%;
    border:1px solid rgba(11,19,36,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#0b1324;
    transition:background .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}

.footer-social a:hover,
.footer-social a:focus-visible{
    background:#0b1324;
    color:#fff;
    border-color:#0b1324;
}

.hero-nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.hero-nav .pill{
    background:transparent;
}

.hero-title{
    margin-top:64px;
}

.hero-actions{
    display:flex;
    justify-content:center;
    gap:14px;
    margin-top:32px;
}

.access-section{
    max-width:560px;
    margin:0 auto;
}

.features-grid{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:48px;
    margin-top:56px;
}

.features-col{
    display:flex;
    flex-direction:column;
    gap:32px;
}

.features-col h3{
    margin-bottom:6px;
}

.stand-wrap img{
    max-width:320px;
    margin-inline:auto;
}

.faq-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:56px;
}

.faq-phone{
    max-width:320px;
}

.faq-list{
    display:flex;
    flex-direction:column;
    gap:14px;
}

#hero-section {
    background-image: url('./assets/images/hero-bg.png');
    background-size: cover;
    background-position-y: -19%;
    background-repeat: no-repeat;
    padding-bottom: 300px;
    transition: 0.3s ease-in-out
    /* background-attachment: fixed; */
}

.contact-section {
    background-image: url('./assets/images/contact-bg.png');
    background-size: cover;
}

.feature-section {
    padding-bottom: 0 !important;
}

.feature-hero{
    background:
        url('./assets/images/new-hero-bg.png') center/cover no-repeat,
        radial-gradient(900px 520px at 20% 20%,rgba(202,162,75,.16),rgba(202,162,75,0)),
        radial-gradient(900px 520px at 80% 70%,rgba(121,86,255,.10),rgba(121,86,255,0)),
        #ffffff;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    padding-top:96px;
    padding-bottom:96px !important;
    height: 72vh;
    background-position: bottom;
    box-shadow: inset 0 150px 81px 0 #0000005e;
}

.feature-hero .container.center{
    text-align:right;
    width:100%;
}

.feature-hero .cta-row{
    justify-content:flex-end;
    width:100%;
    border-radius:var(--radius-pill);
    margin-top: 10px;
}

.feature-hero .cta-row .cta-primary,
.feature-hero .cta-row .cta-ghost{
    color:#fff;
}

@media (min-width:901px){
    .feature-hero{
        background:
            url('./assets/images/new-hero-bg-desktop.png') center/cover no-repeat,
            radial-gradient(900px 520px at 20% 20%,rgba(202,162,75,.16),rgba(202,162,75,0)),
            radial-gradient(900px 520px at 80% 70%,rgba(121,86,255,.10),rgba(121,86,255,0)),
            #ffffff;
            height: 700px;
            background-size: cover;
            background-position: center;
    }
}

.feature-hero .scroll-cue{
    position:absolute;
    left:50%;
    bottom:26px;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    flex-direction:column;
    gap:8px;
    color:rgba(255,255,255,.86);
    font-size:.72rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    z-index:2;
    pointer-events:none;
}

.feature-hero .scroll-cue span:first-child{
    padding:6px 16px;
}

.feature-hero .scroll-cue-arrow{
    width:40px;
    height:40px;
    border-radius:999px;
    display:grid;
    place-items:center;
    position:relative;
}

.feature-hero .scroll-cue-arrow::before{
    content:"";
    width:10px;
    height:10px;
    border-right:2px solid rgba(255,255,255,.9);
    border-bottom:2px solid rgba(255,255,255,.9);
    transform:rotate(45deg);
    animation:scrollCue 1.8s ease-in-out infinite;
}

@keyframes scrollCue{
    0%{ transform:translateY(0) rotate(45deg); opacity:.5; }
    50%{ transform:translateY(8px) rotate(45deg); opacity:1; }
    100%{ transform:translateY(0) rotate(45deg); opacity:.5; }
}

.feature-hero h1{
    font-size:var(--h1);
    color: #fff;
}

.feature-hero p {
    color: #fff;
}

.feature-hero .cta-row{
    margin-top:12px;
}

.site-main, .site-header, .site-footer, .elementor-location-header, .elementor-location-footer {
    display: block !important;
}

.site-main, .site-header, .elementor-location-header, .elementor-location-footer {
    display: none !important;
}

@media (max-width:900px){
    .features-grid{
        grid-template-columns:1fr;
        gap:56px;
    }

    .faq-grid{
        grid-template-columns:1fr;
        gap:40px;
    }
}

@media (max-width:1200px){
    .orbit-carousel{
        width:115vw;
        padding-inline:6vw;
    }

    .orbit-container{
        height:620px;
    }

    .orbit-img{
        width:260px;
        height:360px;
    }
}

@media (max-width:900px){
    .hero-inner{
        min-height:420px;
        padding:60px 0 140px;
    }

    .hero-content{
        padding-inline:16px;
    }

    .hero-video-shell{
        width:min(420px,86vw);
    }

    .hero-overlay{
        inset:0;
    }

    .feature-callout{
        display:block;
        transform:scale(.9);
        transform-origin:center;
    }

    .feature-visual{
        overflow:visible;
    }

    .orbit-carousel{
        width:100vw;
        margin-left:calc((100vw - 100%)/-2);
        margin-right:calc((100vw - 100%)/-2);
        padding-inline:32px;
        margin-top:32px;
    }

    .orbit-container{
        height:520px;
    }

    .orbit-img{
        width:220px;
        height:320px;
    }

    .feature-grid{
        margin-top:40px;
    }

    .faq-section .grid{
        grid-template-columns:1fr !important;
        gap:40px;
    }

    .faq-section{
        background-position:center;
    }

    .faq-inner{
        min-height:0;
    }

    .faq-positioned{
        position:static;
        left:auto;
        top:auto;
    }

    .faq-visual{
        order:1;
        text-align:center;
    }

    .faq-inner{
        order:-1;
    }

    .faq-visual img{
        max-width:280px;
        margin-inline:auto;
    }

    .faq-item{
        font-size:1rem;
        transition:max-height .35s var(--ease),opacity .35s var(--ease),margin .35s var(--ease),padding .35s var(--ease);
        padding:14px 18px;
        border-radius:18px;
        margin:8px 0;
        max-height:220px;
        opacity:1;
        margin:0 10px 12px;
        padding:0 22px 16px;
    }

    .faq-item:before{
        display:none;
    }

    .contact-section #floating-image-right,
    .contact-section #floating-image-left{
        display:block;
        width:140px;
        height:140px;
        opacity:1;
    }

    .contact-section #floating-image-right{
        top:-70px;
        right:-24px;
        transform:translateX(24px) translateY(0) rotate(4deg) scale(.92);
    }

    .contact-section #floating-image-left{
        bottom: -70px;
        top: auto;
        left: -24px;
        transform:translateX(-24px) translateY(0) rotate(-4deg) scale(.92);
    }

    .contact-section{
        padding:64px 0;
    }
}

@media (max-width:768px){
    body{
        padding-top:144px;
    }

    .orbit-controls {
        margin-top: 18px;
    }

    .wrap {
        margin-top: -144px;
    }

    .feature-hero .container.center {
        margin-bottom: 100%;
        margin-top: 300px;
    }

    .feature-hero h1, .feature-hero p {
        text-align: center;
    }

    .showcase-header h1, .showcase-header h1 .highlight {
        font-size: 20px;
        line-height: 1.3;
    }

    .showcase-header .subhead {
        font-size: 15px;
    }

    #hero-section {
        background-size: 100%;
        background-position: bottom;
        padding-bottom: 120px;
    }

    .hero-play {
        top: 113%;
        bottom: auto;
    }

    .hero-content {
        margin-top: -40px
    }

    .faq-positioned{
        position:static;
        left:auto;
        top:auto;
    }

    .faq-panel {
        padding-right: 0 !important;
    }
    .site-nav{
        position:fixed;
        top:0;
        left:0;
        right:0;
        z-index:120;
        background:rgba(254,248,237,0);
        border-bottom:1px solid transparent;
        box-shadow:none;
        transition:background .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
        padding: 0;
    }

    .site-nav.is-scrolled{
        border-bottom:1px solid rgba(15,23,42,.08);
        box-shadow:0 18px 36px rgba(11,19,36,.08);
        backdrop-filter:blur(7px);
        -webkit-backdrop-filter:blur(14px);
    }

    .nav-bar{
        display:grid;
        grid-template-columns:1fr auto 1fr;
        grid-template-areas:"toggle logo phone";
        align-items:center;
        gap:12px;
    }

    .nav-logo-desktop{
        display:none;
    }

    .nav-logo-mobile{
        display:flex;
        grid-area:logo;
        justify-self:center;
    }

    .nav-phone{
        display:flex;
        grid-area:phone;
        justify-self:end;
    }

    .nav-toggle{
        grid-area:toggle;
        justify-self:start;
    }

    .nav-menu-inner{
        width:100%;
        grid-template-columns:1fr;
        grid-template-areas:
            "logo"
            "links"
            "social";
        align-items:center;
        gap:12px;
    }

    .nav-links{
        width:100%;
        justify-content:center;
        flex-wrap:wrap;
        gap:10px 16px;
    }

    .nav-cta{
        width:100%;
    }

    body.nav-enhanced .nav-bar{
        display:grid;
        grid-template-columns:1fr auto 1fr;
        grid-template-areas:"toggle logo phone";
        align-items:center;
        gap:12px;
    }

    body.nav-enhanced .nav-toggle{
        display:flex;
    }

    body.nav-enhanced .nav-menu{
        position:fixed;
        inset-inline:16px;
        top:92px;
        background:rgba(255,255,255,.98);
        border:1px solid rgba(15,23,42,.08);
        border-radius:32px;
        padding:28px 24px;
        box-shadow:var(--shadow-soft);
        max-height:calc(100vh - 120px);
        overflow-y:auto;
        opacity:0;
        transform:translateY(-12px);
        pointer-events:none;
        z-index:120;
    }

    body.nav-enhanced .nav-menu-inner{
        grid-template-columns:1fr;
        grid-template-areas:
            "logo"
            "links"
            "social";
        align-items:flex-start;
        gap:18px;
        padding:0;
        width:100%;
        max-width:100%;
    }

    body.nav-enhanced .nav-links{
        flex-direction:column;
        align-items:flex-start;
        gap:6px;
    }

    body.nav-enhanced .nav-links a{
        width:100%;
        padding:12px 0;
        border-bottom:1px solid rgba(15,23,42,.08);
        font-weight:600;
    }

    body.nav-enhanced .nav-links a:last-child{
        border-bottom:0;
    }

    body.nav-enhanced .nav-social{
        width:100%;
        justify-content:flex-start;
        gap:16px;
    }

    body.nav-enhanced .nav-right{
        width:100%;
        justify-content:flex-start;
        flex-wrap:wrap;
    }

    body.nav-enhanced .nav-social a{
        border-color:rgba(11,19,36,.18);
        color:#0b1324;
        background:rgba(11,19,36,.04);
    }

    body.nav-enhanced .nav-cta{
        width:100%;
        justify-content:center;
        box-shadow:none;
    }

    body.nav-enhanced.nav-open .nav-menu{
        opacity:1;
        transform:translateY(0);
        pointer-events:auto;
        height: 400px;
    }

    .hero-inner{
        padding:48px 0 120px;
    }

    .orbit-container{
        height:460px;
    }

    .orbit-img{
        width:200px;
        height:290px;
    }

    .faq-panel{
        padding:20px;
    }

    .faq-positioned {
        position: unset !important;
    }

    .site-footer img {
        height: 40px;
        margin-top: 25px;
    }

    .site-footer .container {
        flex-direction: column;
        gap: 15px;
        padding: 10px;
    }

    .footer-social {
        position: unset;
        margin-top: -20px;
    }

    .footer-links {
        position: unset;
    }
}

@media (max-width:640px){
    :root{
        --h1:clamp(28px,7vw,40px);
    }

    .hero-inner{
        padding:40px 0 100px;
    }

    .hero-video-shell{
        width:78vw;
        border-radius:24px;
    }

    .hero-backdrop{
        border-radius:28px;
    }

    .hero-content{
        padding-inline:10px;
    }

    .feature-callout{
        transform:scale(.8);
    }

    .callout-label{
        font-size:12px;
        padding:6px 10px;
    }

    .callout-line{
        width:56px;
    }

    .orbit-carousel{
        padding-inline:20px;
        margin-top:36px;
    }

    .orbit-container{
        height:420px;
    }

    .orbit-img{
        width:330px;
        height:460px;
    }

    .input-shell{
        flex-direction:row;
        align-items:center;
        gap:8px;
        padding:8px;
        border-radius:18px;
    }

    .input-shell .input{
        flex:1;
        width:auto;
        background:#fff;
        border:1px solid var(--border);
        border-radius:14px;
        padding:12px 14px;
    }

    .input-shell .btn{
        width:auto;
        justify-content:center;
        padding:12px 16px;
        border-radius:14px;
    }

    .faq-item{
        padding:12px 16px;
    }

    .whatsapp-float{
        bottom:18px;
        inset-inline-end:18px;
        width:52px;
        height:52px;
    }

    .phone-float{
        bottom:86px;
        inset-inline-end:18px;
        width:52px;
        height:52px;
    }

    .contact-section{
        text-align:center;
        padding:56px 0 64px;
    }

    .cta-primary,
    .cta-ghost{
        width:100%;
    }

    .feature-hero .cta-row{
        flex-wrap:nowrap;
    }

    .feature-hero .cta-row .cta-primary,
    .feature-hero .cta-row .cta-ghost{
        width:auto;
        white-space:nowrap;
        font-size:0.95rem;
        padding:12px 18px;
    }

    .event-types-carousel{
        overflow:hidden;
        width:100vw;
        margin-inline:calc((100vw - 100%)/-2);
        padding-inline:0;
        margin-bottom: -75px;
    }

    .event-types-grid{
        display:flex;
        gap:16px;
        padding:6px 0 10px;
        transition:transform .45s var(--ease);
        will-change:transform;
        direction:ltr;
        touch-action:pan-y;
        cursor:grab;
    }

    .event-types-grid.is-dragging{
        cursor:grabbing;
        transition:none;
    }

    .event-type-card{
        flex:0 0 70%;
        scroll-snap-align:none;
        direction:rtl;
    }

    .event-types-grid [data-clone="true"]{
        display:block;
    }

    .carousel-btn{
        display:none;
    }
}

@media (max-width:520px){
    .hero-inner{
        min-height:300px;
        padding:32px 0 80px;
    }

    .orbit-img{
        width:300px;
        height:420px;
    }

    .hero-video-shell{
        border-radius:18px;
    }

    .hero-video-close{
        width:38px;
        height:38px;
        font-size:1.4rem;
        top:12px;
        inset-inline-end:12px;
    }

    .faq-panel{
        padding:14px;
        gap:12px;
    }

    .faq-item{
        font-size:.95rem;
        padding:12px 14px;
    }

    .whatsapp-float{
        width:48px;
        height:48px;
        bottom:16px;
        inset-inline-start:16px;
    }

    .phone-float{
        width:48px;
        height:48px;
        bottom:76px;
        inset-inline-end:16px;
    }


    .contact-section{
        padding:48px 0 56px;
    }

    .contact-section h2{
        font-size:clamp(20px,7vw,26px);
    }

    .hero-actions{
        width:100%;
        flex-wrap:nowrap;
        gap:10px;
    }

    .hero-actions .btn{
        width:auto;
        white-space:nowrap;
        flex:0 0 auto;
    }

    .orbit-container{
        height:340px;
    }

    .orbit-carousel{
        padding-inline:12px;
    }

    .feature-visual img{
        max-height:320px;
        margin-bottom:-20px;
    }

    .cta-primary,
    .cta-ghost{
        width:100%;
    }
}

@keyframes heroPulse{
    0%{ opacity:.3; transform:scale(1); }
    50%{ opacity:.15; transform:scale(1.25); }
    100%{ opacity:0; transform:scale(1.45); }
}

@keyframes heroPulseScale{
    0%{ transform:translate(-50%,-50%) scale(1); }
    40%{ transform:translate(-50%,-50%) scale(1.08); }
    70%{ transform:translate(-50%,-50%) scale(1); }
    100%{ transform:translate(-50%,-50%) scale(1.05); }
}

@keyframes calloutPulse{
    0%{ transform:translate(-50%,-50%) scale(1); box-shadow:0 0 0 8px rgba(202,162,75,.2),0 10px 20px rgba(11,19,36,.25); }
    50%{ transform:translate(-50%,-50%) scale(1.14); box-shadow:0 0 0 14px rgba(202,162,75,.12),0 12px 26px rgba(11,19,36,.28); }
    100%{ transform:translate(-50%,-50%) scale(1); box-shadow:0 0 0 8px rgba(202,162,75,.2),0 10px 20px rgba(11,19,36,.25); }
}

@keyframes faqVisualWave{
    0%{ transform: rotate(-12deg) translateY(18px) translateX(-8px); }
    55%{ transform: rotate(-3.5deg) translateY(7px) translateX(-2px); }
    85%{ transform: rotate(0.8deg) translateY(2px) translateX(1px); }
    100%{ transform: rotate(0deg) translateY(0) translateX(0); }
}

@keyframes faqVisualFloat{
    0%{ transform: rotate(0deg) translateY(0) translateX(0); }
    50%{ transform: rotate(1.2deg) translateY(-6px) translateX(3px); }
    100%{ transform: rotate(0deg) translateY(0) translateX(0); }
}

@keyframes floatingRightIn{
    0%{ transform:translateX(96px) translateY(14px) rotate(6deg) scale(.97); opacity:0; }
    65%{ transform:translateX(-10px) translateY(-2px) rotate(-2deg) scale(1); opacity:1; }
    100%{ transform:translateX(0) translateY(0) rotate(0deg) scale(1); opacity:1; }
}

@keyframes floatingLeftIn{
    0%{ transform:translateX(-96px) translateY(14px) rotate(-6deg) scale(.97); opacity:0; }
    65%{ transform:translateX(10px) translateY(-2px) rotate(2deg) scale(1); opacity:1; }
    100%{ transform:translateX(0) translateY(0) rotate(0deg) scale(1); opacity:1; }
}

@keyframes floatingFloatRight{
    0%{ transform:translateX(0) translateY(0) rotate(0deg) scale(1); }
    50%{ transform:translateX(-6px) translateY(-6px) rotate(-1.2deg) scale(1.01); }
    100%{ transform:translateX(0) translateY(0) rotate(0deg) scale(1); }
}

@keyframes floatingFloatLeft{
    0%{ transform:translateX(0) translateY(0) rotate(0deg) scale(1); }
    50%{ transform:translateX(6px) translateY(-6px) rotate(1.2deg) scale(1.01); }
    100%{ transform:translateX(0) translateY(0) rotate(0deg) scale(1); }
}
