:root{--cream:#FBF4E8;--cream-2:#F3E9D4;--cream-3:#EADFC5;--ink:#1A1226;--ink-soft:#4A4060;--magenta:#E03A8A;--magenta-deep:#B81F6A;--magenta-light:#FFD3E6;--coral:#FF7A59;--sky:#3DB8E0;--sky-deep:#1E7FA8;--sky-light:#D4F0FA;--sun:#FFC64D;--mint:#7CD9B6;--lilac:#C9A8E9;--grass:#4FA86A}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:'Plus Jakarta Sans',system-ui,sans-serif;background:var(--cream);color:var(--ink);font-size:17px;line-height:1.55;overflow-x:hidden;-webkit-font-smoothing:antialiased}.display{font-family:Fraunces,serif;font-weight:600;font-style:italic;letter-spacing:-.025em;line-height:.93}.eyebrow{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase}img,video{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;background:0 0;color:inherit}a{color:inherit;text-decoration:none}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 40px;display:flex;align-items:center;justify-content:space-between;transition:all .35s ease}.nav.scrolled{background:rgba(251,244,232,.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:8px 40px;box-shadow:0 1px 0 rgba(31,26,46,.08)}.nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}.nav-logo-img{height:64px;width:auto;display:block;filter:brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0,0,0,.3));transition:all .35s ease}.nav.scrolled .nav-logo-img{filter:none;height:52px}.nav-logo-text{font-family:Fraunces,serif;font-style:italic;font-weight:700;font-size:17px;line-height:1.15;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);transition:color .35s ease}.nav.scrolled .nav-logo-text{color:var(--ink);text-shadow:none}@keyframes spin{to{transform:rotate(360deg)}}.nav-links{display:flex;gap:4px;align-items:center;background:rgba(255,255,255,.6);border:1px solid rgba(31,26,46,.08);border-radius:999px;padding:4px;backdrop-filter:blur(10px)}.nav-links a{padding:10px 18px;border-radius:999px;font-weight:500;font-size:14.5px;transition:all .2s}.nav-links a:hover{background:rgba(31,26,46,.06)}.nav-cta{background:var(--ink);color:var(--cream);padding:12px 22px;border-radius:999px;font-weight:600;font-size:14.5px;transition:all .25s;display:inline-flex;align-items:center;gap:8px}.nav-cta:hover{background:var(--magenta);transform:translateY(-1px)}.nav-burger{display:none}@media (max-width:960px){.nav{padding:14px 18px}.nav.scrolled{padding:10px 18px}.nav-links,.nav>.nav-cta{display:none}.nav-burger{display:flex;flex-direction:column;gap:5px;width:46px;height:46px;justify-content:center;align-items:center;border-radius:50%;background:var(--ink)}.nav-burger span{width:18px;height:2px;background:var(--cream);border-radius:2px}.mobile-menu{position:fixed;inset:0;background:var(--ink);color:var(--cream);z-index:200;padding:90px 28px 40px;display:flex;flex-direction:column;gap:4px;animation:menu-in .3s cubic-bezier(.2,.8,.2,1);overflow-y:auto}@keyframes menu-in{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.mobile-menu a{font-family:Fraunces,serif;font-style:italic;font-size:clamp(32px, 9vw, 44px);padding:12px 0;border-bottom:1px solid rgba(251,244,232,.08);transition:color .2s,padding-left .2s}.mobile-menu a:active{color:var(--sun);padding-left:12px}.mobile-menu a:last-child{border-bottom:none;color:var(--magenta);margin-top:12px}.mobile-menu-close{position:absolute;top:18px;right:18px;width:48px;height:48px;border-radius:50%;background:var(--cream);color:var(--ink);font-size:20px;display:grid;place-items:center;transition:all .2s}.mobile-menu-close:active{background:var(--magenta);color:#fff}}.hero{position:relative;min-height:100vh;padding:120px 40px 60px;overflow:hidden}.hero-video-wrap{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-video-wrap video{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}.hero-video-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,18,38,.5) 0,rgba(26,18,38,.2) 40%,rgba(251,244,232,.95) 90%),linear-gradient(90deg,rgba(26,18,38,.35) 0,transparent 60%)}.hero-content{position:relative;z-index:2;max-width:1360px;margin:0 auto;padding-top:60px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;min-height:calc(100vh - 180px)}.hero-text{color:#fff}.hero-text h1{font-size:clamp(56px, 9vw, 150px);margin-bottom:32px;color:#fff;text-shadow:0 4px 40px rgba(0,0,0,.2)}.hero-text h1 .accent{color:var(--sun)}.hero-text h1 .accent-2{position:relative;display:inline-block}.hero-text h1 .accent-2::after{content:'';position:absolute;left:-4%;right:-4%;bottom:6%;height:18%;background:var(--magenta);z-index:-1;transform:skewX(-6deg);border-radius:4px}.hero-lede{font-size:clamp(17px, 1.4vw, 21px);max-width:560px;color:rgba(255,255,255,.92);margin-bottom:36px;text-shadow:0 2px 20px rgba(0,0,0,.25)}.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:40px}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:9px 18px;border-radius:999px;margin-bottom:28px;color:#fff;font-size:13px;font-weight:600;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(124,217,182,.25);animation:pulse 2s infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}.hero-side{display:flex;flex-direction:column;gap:14px;align-items:flex-end}.hero-badge-card{background:rgba(255,255,255,.96);border:none;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:22px 28px;border-radius:20px;color:var(--ink);max-width:340px;box-shadow:0 8px 32px rgba(26,18,38,.18),0 2px 8px rgba(26,18,38,.08)}.hero-badge-card .big{font-family:Fraunces,serif;font-style:italic;font-size:48px;line-height:.95;color:var(--magenta);margin-bottom:6px}.hero-badge-card .label{font-size:13px;font-weight:600;color:var(--ink-soft);letter-spacing:.01em}.hero-scroll{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);z-index:2;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.3em;opacity:.85;display:flex;flex-direction:column;align-items:center;gap:10px}.hero-scroll::after{content:'';width:1px;height:40px;background:#fff;animation:drop 2.4s ease-in-out infinite;transform-origin:top}@keyframes drop{0%{transform:scaleY(0);opacity:1}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1) translateY(40px);opacity:0}}.btn-primary{background:var(--magenta);color:#fff;padding:17px 32px;border-radius:999px;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:10px;transition:all .25s;box-shadow:0 14px 40px -12px var(--magenta)}.btn-primary:hover{background:var(--magenta-deep);transform:translateY(-2px);box-shadow:0 20px 50px -12px var(--magenta-deep)}.btn-primary::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);background-size:200%;opacity:0;transition:opacity .3s;pointer-events:none}.btn-primary{position:relative;overflow:hidden}.btn-primary:hover::after{opacity:1;animation:btn-shimmer .6s ease}@keyframes btn-shimmer{from{background-position:200% 0}to{background-position:-200% 0}}.btn-primary .arrow{transition:transform .25s}.btn-primary:hover .arrow{transform:translateX(4px)}.btn-ghost{padding:17px 32px;border-radius:999px;font-weight:600;font-size:15px;border:1.5px solid rgba(255,255,255,.7);color:#fff;display:inline-flex;align-items:center;gap:10px;transition:all .2s;backdrop-filter:blur(8px);background:rgba(255,255,255,.06)}.btn-ghost:hover{background:#fff;color:var(--ink)}.btn-dark{background:var(--ink);color:var(--cream);padding:17px 32px;border-radius:999px;font-weight:700;font-size:15px;display:inline-flex;align-items:center;gap:10px;transition:all .25s}.btn-dark:hover{background:var(--magenta);transform:translateY(-2px)}@media (max-width:960px){.hero{padding:100px 20px 40px}.hero-content{grid-template-columns:1fr;gap:40px}.hero-side{align-items:flex-start;flex-direction:row;flex-wrap:wrap}.hero-badge-card{padding:18px 22px;max-width:100%}.hero-badge-card .big{font-size:42px}.hero-scroll{display:none}}.marquee{background:var(--ink);color:var(--cream);padding:26px 0;overflow:hidden;position:relative;z-index:1}.marquee-track{display:flex;gap:48px;animation:scroll 30s linear infinite;white-space:nowrap;width:max-content}.marquee-item{font-family:Fraunces,serif;font-style:italic;font-size:32px;display:flex;align-items:center;gap:48px}.marquee-item::after{content:'✦';color:var(--magenta);font-style:normal;font-size:20px}@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.section{padding:90px 40px;max-width:1360px;margin:0 auto;position:relative}.section-head{display:grid;grid-template-columns:auto 1fr;gap:40px;margin-bottom:70px;align-items:end}.section-head .label{display:flex;align-items:center;gap:12px;color:var(--magenta)}.section-head .label-num{font-family:Fraunces,serif;font-style:italic;font-size:14px}.section-head h2{font-size:clamp(44px, 6vw, 96px);max-width:1000px}.section-head .trail{max-width:360px;color:var(--ink-soft);font-size:17px;justify-self:end;text-align:left}@media (max-width:960px){.section{padding:60px 20px}.section-head{grid-template-columns:1fr;gap:16px;margin-bottom:40px}.section-head .trail{justify-self:start;max-width:100%}}.about{background:var(--cream-2);border-radius:40px;padding:80px 70px;margin:0 40px;max-width:1440px;position:relative;overflow:hidden}.about::before{content:'✦';position:absolute;top:40px;right:60px;font-size:120px;color:var(--magenta);opacity:.1;font-family:Fraunces,serif;animation:star-spin 20s linear infinite}@keyframes star-spin{from{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15);opacity:.15}to{transform:rotate(360deg) scale(1)}}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}.about-copy h2{font-size:clamp(40px, 4.5vw, 76px);margin-bottom:28px}.about-copy p{color:var(--ink-soft);margin-bottom:18px;font-size:18px;line-height:1.6}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px;padding-top:36px;border-top:1px solid rgba(31,26,46,.12)}.stat-num{font-family:Fraunces,serif;font-style:italic;font-size:clamp(40px, 4vw, 56px);color:var(--magenta);line-height:1}.stat-label{font-size:12px;color:var(--ink-soft);margin-top:8px;text-transform:uppercase;letter-spacing:.14em;font-weight:600}.about-media{position:relative;aspect-ratio:4/5}.about-media-main{width:100%;height:100%;border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -30px rgba(31,26,46,.35)}.about-media-main img{width:100%;height:100%;object-fit:cover}.about-media-float{position:absolute;width:180px;height:230px;border-radius:20px;overflow:hidden;bottom:-30px;left:-30px;box-shadow:0 30px 60px -20px rgba(31,26,46,.4);border:6px solid var(--cream-2);transform:rotate(-5deg)}.about-media-float img{width:100%;height:100%;object-fit:cover}.about-caption{position:absolute;right:-20px;top:30px;background:var(--ink);color:var(--cream);padding:14px 20px;border-radius:16px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px -10px rgba(0,0,0,.3);transform:rotate(3deg)}.about-caption .ball{width:10px;height:10px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px rgba(124,217,182,.3);animation:pulse 2s infinite}@media (max-width:960px){.about{padding:50px 24px;margin:0 20px;border-radius:28px}.about-grid{grid-template-columns:1fr;gap:40px}.about-stats{grid-template-columns:1fr 1fr;gap:16px}.about-media-float{width:120px;height:150px;left:-10px;bottom:-15px}.about-caption{right:10px;top:10px;font-size:11px;padding:10px 14px}}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{background:#fff;border-radius:32px;padding:36px;display:flex;flex-direction:column;gap:20px;transition:all .4s cubic-bezier(.2,.8,.2,1);border:1px solid rgba(31,26,46,.06);cursor:pointer;min-height:420px;position:relative;overflow:hidden}.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.1) 100%);pointer-events:none}.service-card:hover{transform:translateY(-8px);box-shadow:0 40px 80px -30px rgba(31,26,46,.3)}.service-card.dark{background:var(--ink);color:var(--cream)}.service-card.magenta{background:var(--magenta);color:#fff}.service-card.sky{background:var(--sky);color:#fff}.service-card.sun{background:var(--sun);color:var(--ink)}.service-card.grass{background:var(--grass);color:#fff}.service-card.lilac{background:var(--lilac);color:var(--ink)}.service-icon{width:72px;height:72px;border-radius:22px;background:var(--cream-2);display:grid;place-items:center;font-size:32px;position:relative}.service-card.dark .service-icon{background:rgba(255,255,255,.12)}.service-card.grass .service-icon,.service-card.magenta .service-icon,.service-card.sky .service-icon{background:rgba(255,255,255,.22)}.service-card.lilac .service-icon,.service-card.sun .service-icon{background:rgba(31,26,46,.12)}.service-num{position:absolute;top:28px;right:32px;font-family:Fraunces,serif;font-style:italic;font-size:22px;opacity:.3}.service-card h3{font-family:Fraunces,serif;font-weight:600;font-style:italic;font-size:34px;line-height:1;letter-spacing:-.02em}.service-card p{font-size:15.5px;opacity:.82;flex:1;line-height:1.55}.service-features{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.service-features span{padding:6px 13px;border-radius:999px;background:rgba(31,26,46,.07);font-size:12.5px;font-weight:600}.service-card.dark .service-features span,.service-card.grass .service-features span,.service-card.magenta .service-features span,.service-card.sky .service-features span{background:rgba(255,255,255,.18)}.service-card.lilac .service-features span,.service-card.sun .service-features span{background:rgba(31,26,46,.12)}.service-arrow{position:absolute;bottom:32px;right:32px;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--cream);display:grid;place-items:center;font-size:18px;transition:all .3s;opacity:0;transform:translate(-8px,8px)}.service-card:hover .service-arrow{opacity:1;transform:translate(0,0)}.service-card.dark .service-arrow{background:var(--magenta);color:#fff}@media (max-width:960px){.services-grid{grid-template-columns:1fr;gap:14px}.service-card{padding:28px;min-height:340px}.service-card h3{font-size:28px}}.video-showcase{background:var(--ink);color:var(--cream);padding:80px 40px;border-radius:40px;margin:0 40px;max-width:1440px;position:relative;overflow:hidden}.video-showcase-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:60px}.video-showcase h2{font-size:clamp(40px, 5vw, 84px)}.video-showcase-head p{color:rgba(251,244,232,.7);font-size:18px}.video-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:16px;height:540px}.video-tile{border-radius:24px;overflow:hidden;position:relative;cursor:pointer;background:rgba(255,255,255,.06)}.video-tile video{width:100%;height:100%;object-fit:cover}.video-tile::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55));pointer-events:none}.video-tile-label{position:absolute;left:24px;bottom:24px;color:#fff;z-index:2;font-family:Fraunces,serif;font-style:italic;font-size:22px}.video-tile-label small{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-style:normal;font-size:11px;text-transform:uppercase;letter-spacing:.14em;opacity:.8;margin-bottom:4px;font-weight:600}.video-play-btn{position:absolute;top:24px;right:24px;width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(10px);display:grid;place-items:center;color:#fff;font-size:16px;z-index:2;border:1px solid rgba(255,255,255,.3)}.video-column-stack{display:flex;flex-direction:column;gap:16px}.video-column-stack .video-tile{flex:1}@media (max-width:960px){.video-showcase{padding:50px 24px;margin:0 20px;border-radius:28px}.video-showcase-head{grid-template-columns:1fr;gap:16px;margin-bottom:30px}.video-grid{grid-template-columns:1fr;height:auto}.video-grid>.video-tile:first-child{height:340px}.video-column-stack{flex-direction:row}.video-column-stack .video-tile{height:200px}}.xp-strip{background:var(--magenta);color:#fff;padding:100px 60px;border-radius:40px;margin:0 40px;max-width:1440px;display:grid;grid-template-columns:1fr 1.3fr;gap:80px;align-items:center;position:relative;overflow:hidden}.xp-strip::before{content:'';position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 70%)}.xp-strip h2{font-size:clamp(40px, 4vw, 68px);margin-bottom:20px}.xp-strip>div:first-child{position:relative;z-index:1}.xp-strip p{color:rgba(255,255,255,.88);margin-bottom:32px;max-width:500px;font-size:18px}.xp-list{display:flex;flex-direction:column;gap:0;position:relative;z-index:1}.xp-row{display:grid;grid-template-columns:60px 1fr auto;gap:24px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.18);align-items:center;transition:padding .3s}.xp-row:last-child{border-bottom:none}.xp-row:hover{padding-left:8px}.xp-num{font-family:Fraunces,serif;font-style:italic;font-size:24px;color:var(--sun)}.xp-title{font-family:Fraunces,serif;font-style:italic;font-weight:600;font-size:28px;line-height:1.1}.xp-kind{font-size:12px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.14em;font-weight:600;text-align:right}@media (max-width:960px){.xp-strip{grid-template-columns:1fr;padding:50px 28px;margin:0 20px;gap:40px;border-radius:28px}.xp-row{grid-template-columns:40px 1fr;gap:16px;padding:16px 0}.xp-title{font-size:22px}.xp-kind{grid-column:2;text-align:left}}.gallery-filter{display:flex;gap:8px;margin-bottom:40px;flex-wrap:wrap}.gallery-filter button{padding:11px 20px;border-radius:999px;font-weight:600;font-size:14px;background:0 0;color:var(--ink-soft);border:1px solid rgba(31,26,46,.15);transition:all .2s}.gallery-filter button:hover{background:var(--cream-2);color:var(--ink)}.gallery-filter button.active{background:var(--ink);color:var(--cream);border-color:var(--ink)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:120px;gap:14px}.gallery-item{border-radius:20px;overflow:hidden;cursor:zoom-in;position:relative;background:var(--cream-2)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.gallery-item:hover img{transform:scale(1.08)}.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),transparent 55%);opacity:0;transition:opacity .25s}.gallery-item:hover::after{opacity:1}.gallery-tag{position:absolute;left:16px;bottom:16px;background:#fff;color:var(--ink);padding:7px 14px;border-radius:999px;font-size:12px;font-weight:700;opacity:0;transform:translateY(10px);transition:all .3s;z-index:2}.gallery-item:hover .gallery-tag{opacity:1;transform:translateY(0)}.g-wide{grid-column:span 6;grid-row:span 3}.g-tall{grid-column:span 4;grid-row:span 4}.g-sm{grid-column:span 3;grid-row:span 2}.g-md{grid-column:span 4;grid-row:span 2}.g-lg{grid-column:span 5;grid-row:span 3}.g-xl{grid-column:span 8;grid-row:span 2}@media (max-width:960px){.gallery-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:90px;gap:8px}.g-lg,.g-md,.g-sm,.g-tall,.g-wide,.g-xl{grid-column:span 2;grid-row:span 2}.g-tall,.g-wide{grid-row:span 3}}@media (max-width:480px){.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:110px;gap:8px}.g-lg,.g-md,.g-sm,.g-tall,.g-wide,.g-xl{grid-column:span 1;grid-row:span 1}.g-tall,.g-wide,.g-xl{grid-column:span 2;grid-row:span 2}}.lightbox{position:fixed;inset:0;background:rgba(15,10,25,.94);backdrop-filter:blur(16px);z-index:300;display:grid;place-items:center;padding:40px;animation:fadein .25s ease}@keyframes fadein{from{opacity:0}to{opacity:1}}.lightbox img{max-width:90vw;max-height:85vh;border-radius:16px}.lightbox-close,.lightbox-nav{width:56px;height:56px;border-radius:50%;background:var(--cream);color:var(--ink);font-size:22px;display:grid;place-items:center;transition:all .2s}.lightbox-close:hover,.lightbox-nav:hover{background:var(--magenta);color:#fff}.lightbox-close{position:absolute;top:24px;right:24px}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav.prev{left:24px}.lightbox-nav.next{right:24px}@media (max-width:600px){.lightbox{padding:20px}.lightbox-nav{width:44px;height:44px;font-size:16px}.lightbox-nav.prev{left:10px}.lightbox-nav.next{right:10px}.lightbox-close{top:14px;right:14px;width:44px;height:44px}}.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.event-card{border-radius:32px;overflow:hidden;position:relative;aspect-ratio:4/5;cursor:pointer;transition:transform .4s}.event-card:hover{transform:translateY(-6px)}.event-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.event-card:hover img{transform:scale(1.06)}.event-card::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(15,10,25,.9),transparent 55%);z-index:1}.event-meta{position:absolute;left:24px;right:24px;bottom:24px;color:#fff;z-index:2}.event-meta .tag{display:inline-block;background:var(--magenta);color:#fff;padding:5px 13px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.event-meta h4{font-family:Fraunces,serif;font-style:italic;font-size:28px;line-height:1.05;margin-bottom:6px}.event-meta .date{font-size:13px;opacity:.8}@media (max-width:960px){.events-grid{grid-template-columns:1fr 1fr;gap:12px}.event-meta h4{font-size:20px}.event-meta{left:16px;right:16px;bottom:16px}}.testimonials{background:var(--magenta);color:#fff;padding:110px 70px;border-radius:40px;margin:0 40px;max-width:1440px;position:relative;overflow:hidden}.testimonials::before{content:'"';position:absolute;font-family:Fraunces,serif;font-size:700px;line-height:1;top:-140px;right:-40px;color:rgba(255,255,255,.08);font-weight:700}.testimonial-carousel{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}.testimonial-quote{font-family:Fraunces,serif;font-weight:400;font-style:italic;font-size:clamp(28px, 2.8vw, 48px);line-height:1.25;margin-bottom:40px;letter-spacing:-.01em}.testimonial-author{display:flex;align-items:center;gap:16px}.testimonial-avatar{width:56px;height:56px;border-radius:50%;background:var(--cream);color:var(--magenta);display:grid;place-items:center;font-weight:700;font-size:20px;font-family:Fraunces,serif;font-style:italic}.testimonial-name{font-weight:700;font-size:16px}.testimonial-detail{font-size:13px;opacity:.75}.testimonial-nav{display:flex;gap:10px;margin-top:44px}.testimonial-nav button{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);color:#fff;font-size:18px;display:grid;place-items:center;transition:all .2s}.testimonial-nav button:hover{background:#fff;color:var(--magenta);border-color:#fff}.review-strip{background:var(--cream);padding:0 40px;max-width:1440px;margin:0 auto}.review-strip-inner{background:#fff;border-radius:28px;padding:36px 48px;display:flex;align-items:center;gap:28px;box-shadow:0 8px 40px -16px rgba(31,26,46,.14);border:1px solid rgba(31,26,46,.06);flex-wrap:wrap}.review-strip-stars{display:flex;gap:4px;flex-shrink:0}.review-strip-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:200px}.review-strip-text strong{font-size:18px;font-family:Fraunces,serif;font-style:italic;color:var(--ink)}.review-strip-text span{font-size:14.5px;color:var(--ink-soft)}.review-strip-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border-radius:999px;background:var(--ink);color:var(--cream);font-size:15px;font-weight:700;text-decoration:none;transition:all .25s cubic-bezier(.2,.8,.2,1);white-space:nowrap;flex-shrink:0}.review-strip-btn:hover{background:#1a1a2e;transform:translateY(-2px);box-shadow:0 12px 32px -8px rgba(31,26,46,.35);color:var(--cream)}@media (max-width:960px){.review-strip{padding:0 20px}.review-strip-inner{padding:28px 24px;gap:20px}}@media (max-width:600px){.review-strip-inner{flex-direction:column;align-items:flex-start}.review-strip-btn{width:100%;justify-content:center}}.testimonial-pill-stack{display:flex;flex-direction:column;gap:14px}.testimonial-pill{background:rgba(255,255,255,.14);padding:22px 26px;border-radius:20px;font-size:15px;line-height:1.5;backdrop-filter:blur(4px);cursor:pointer;transition:all .25s;border:1px solid rgba(255,255,255,.1)}.testimonial-pill:hover{background:rgba(255,255,255,.22);transform:translateX(6px)}.testimonial-pill.active{background:#fff;color:var(--magenta);border-color:#fff}.testimonial-pill strong{display:block;margin-bottom:4px;font-family:Fraunces,serif;font-style:italic;font-size:18px}@media (max-width:960px){.testimonials{padding:60px 28px;margin:0 20px;border-radius:28px}.testimonial-carousel{grid-template-columns:1fr;gap:30px}}.booking-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:60px;align-items:start}.booking-intro{padding-top:20px;position:sticky;top:120px}.booking-intro h2{font-size:clamp(40px, 5vw, 80px);margin-bottom:24px}.booking-intro p{color:var(--ink-soft);margin-bottom:32px;font-size:17px}.booking-contacts{display:flex;flex-direction:column;gap:12px}.booking-contact-row{display:flex;align-items:center;gap:16px;padding:18px 22px;background:#fff;border-radius:18px;border:1px solid rgba(31,26,46,.06);transition:all .2s}.booking-contact-row:hover{transform:translateX(4px);box-shadow:0 12px 30px -12px rgba(31,26,46,.15)}.booking-contact-row .icon{width:48px;height:48px;border-radius:14px;background:var(--ink);color:var(--cream);display:grid;place-items:center;font-size:20px;flex-shrink:0}.booking-contact-row .lbl{font-size:11px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.14em;font-weight:700}.booking-contact-row .val{font-weight:700;font-size:16px;margin-top:2px}.booking-form{background:#fff;padding:48px;border-radius:36px;box-shadow:0 40px 80px -40px rgba(31,26,46,.25);border:1px solid rgba(31,26,46,.05)}.booking-step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.booking-step-pills{display:flex;gap:6px}.booking-step-pill{width:36px;height:4px;border-radius:2px;background:rgba(31,26,46,.1);transition:background .3s}.booking-step-pill.active{background:var(--magenta)}.booking-step-label{font-size:13px;color:var(--ink-soft);font-weight:600}.form-group{margin-bottom:22px}.form-group label{display:block;font-size:12px;font-weight:700;margin-bottom:10px;color:var(--ink);text-transform:uppercase;letter-spacing:.1em}.form-group input,.form-group select,.form-group textarea{width:100%;max-width:100%;min-width:0;padding:16px 18px;border-radius:14px;border:1.5px solid rgba(31,26,46,.12);font-size:15px;font-family:inherit;background:var(--cream);color:var(--ink);transition:all .2s;box-sizing:border-box}input[type=date]{-webkit-appearance:none;appearance:none;width:100%;max-width:100%;min-width:0}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:0;border-color:var(--magenta);background:#fff;box-shadow:0 0 0 3px var(--magenta-light)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.form-row .form-group{min-width:0;overflow:hidden}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:11px 18px;border-radius:999px;border:1.5px solid rgba(31,26,46,.15);background:#fff;font-size:14px;font-weight:600;transition:all .2s;color:var(--ink)}.chip:hover{background:var(--cream-2)}.chip.selected{background:var(--ink);color:var(--cream);border-color:var(--ink)}.chip.selected.magenta{background:var(--magenta);border-color:var(--magenta);color:#fff}.booking-actions{display:flex;justify-content:center;gap:12px;margin-top:32px}.btn-back{padding:15px 24px;border-radius:999px;border:1.5px solid rgba(31,26,46,.15);font-weight:600;font-size:14px;background:#fff}.btn-back:hover{background:var(--cream-2)}.btn-next{padding:15px 30px;border-radius:999px;background:var(--ink);color:var(--cream);font-weight:700;font-size:14px;margin-left:auto;display:inline-flex;align-items:center;gap:10px;transition:all .25s}.btn-next:hover{background:var(--magenta);transform:translateY(-1px)}.btn-next:disabled{opacity:.5;cursor:not-allowed}.booking-success{text-align:center;padding:40px 20px}.booking-success-icon{width:86px;height:86px;border-radius:50%;background:var(--mint);color:var(--ink);display:grid;place-items:center;margin:0 auto 24px;font-size:36px;animation:scalein .5s cubic-bezier(.2,.8,.2,1)}@keyframes scalein{from{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.booking-success h3{font-family:Fraunces,serif;font-style:italic;font-size:40px;margin-bottom:14px}.booking-success p{color:var(--ink-soft)}@media (max-width:960px){.booking-wrap{grid-template-columns:1fr;gap:30px}.booking-intro{position:static;padding-top:0}.booking-form{padding:28px 22px;border-radius:24px}.form-row{grid-template-columns:1fr}}.contact-block{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.map-wrap{border-radius:32px;overflow:hidden;aspect-ratio:4/3;position:relative;box-shadow:0 30px 60px -30px rgba(31,26,46,.25)}.map-wrap iframe{width:100%;height:100%;border:0}.map-pin{position:absolute;top:20px;left:20px;background:var(--ink);color:var(--cream);padding:12px 18px;border-radius:14px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;box-shadow:0 10px 30px -10px rgba(0,0,0,.3);z-index:1}.contact-cards{display:flex;flex-direction:column;gap:14px}.contact-card{background:#fff;padding:26px;border-radius:22px;border:1px solid rgba(31,26,46,.06);display:flex;gap:18px;align-items:flex-start;transition:all .25s}.contact-card:hover{transform:translateY(-3px);box-shadow:0 20px 40px -20px rgba(31,26,46,.15);border-color:var(--magenta)}.contact-card .icon{width:52px;height:52px;border-radius:16px;background:var(--magenta);color:#fff;display:grid;place-items:center;font-size:22px;flex-shrink:0}.contact-card h4{font-weight:700;margin-bottom:4px;font-size:16px}.contact-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.55}.contact-card a{color:inherit;font-weight:600}.contact-card a:hover{color:var(--magenta)}@media (max-width:960px){.contact-block{grid-template-columns:1fr}}.social-feed{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:40px}.social-post{aspect-ratio:1/1;border-radius:18px;overflow:hidden;position:relative;cursor:pointer}.social-post img,.social-post video{width:100%;height:100%;object-fit:cover;transition:transform .5s}.social-post:hover img,.social-post:hover video{transform:scale(1.08)}.social-post::after{content:'';position:absolute;inset:0;background:rgba(224,58,138,.92);opacity:0;transition:opacity .25s}.social-post-icon{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:28px;opacity:0;transition:opacity .25s;z-index:2}.social-post:hover::after{opacity:1}.social-post:hover .social-post-icon{opacity:1}@media (max-width:960px){.social-feed{grid-template-columns:repeat(3,1fr)}}.faq-list{max-width:900px;margin:0 auto}.faq-item{border-top:1px solid rgba(31,26,46,.1);padding:26px 0;cursor:pointer}.faq-item:last-child{border-bottom:1px solid rgba(31,26,46,.1)}.faq-q{display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:Fraunces,serif;font-style:italic;font-size:clamp(22px, 2.2vw, 30px);font-weight:500;letter-spacing:-.01em}.faq-toggle{width:40px;height:40px;border-radius:50%;background:var(--cream-2);display:grid;place-items:center;transition:all .3s;flex-shrink:0;font-style:normal;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:18px}.faq-item.open .faq-toggle{background:var(--magenta);color:#fff;transform:rotate(45deg)}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,margin .3s ease;color:var(--ink-soft);font-size:16.5px;line-height:1.6}.faq-item.open .faq-a{max-height:300px;margin-top:16px}.cta-banner{background:var(--ink);color:var(--cream);padding:90px 60px;border-radius:40px;margin:60px 40px 0;max-width:1440px;text-align:center;position:relative;overflow:hidden}.cta-banner::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,var(--magenta) 0,transparent 70%);opacity:.3;top:-250px;left:50%;transform:translateX(-50%)}.cta-banner h2{font-size:clamp(48px, 7vw, 120px);margin-bottom:24px;position:relative}.cta-banner h2 .accent{color:var(--sun)}.cta-banner p{max-width:600px;margin:0 auto 36px;color:rgba(251,244,232,.75);font-size:18px;position:relative}.cta-banner-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative}@media (max-width:960px){.cta-banner{padding:60px 28px;margin:40px 20px 0;border-radius:28px}}.footer{background:var(--ink);color:var(--cream);padding:90px 40px 40px;margin-top:0;position:relative}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(251,244,232,.1);max-width:1360px;margin:0 auto}.footer h4{font-size:12px;text-transform:uppercase;letter-spacing:.14em;opacity:.6;margin-bottom:16px;font-weight:700}.footer ul{list-style:none;display:flex;flex-direction:column;gap:10px;font-size:15px}.footer a:hover{color:var(--magenta)}.footer-brand{font-family:Fraunces,serif;font-style:italic;font-size:56px;line-height:.9;margin-bottom:18px}.footer-brand .dot-accent{color:var(--magenta)}.footer-lede{opacity:.7;max-width:320px;font-size:15px;line-height:1.55}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:30px;font-size:13px;opacity:.6;max-width:1360px;margin:0 auto;flex-wrap:wrap;gap:12px}.footer-madeby{display:inline-flex;align-items:baseline;gap:9px;text-decoration:none;opacity:1!important;position:relative;padding:4px 2px}.fmb-label{font-family:Fraunces,serif;font-style:italic;font-weight:400;font-size:14px;color:rgba(251,244,232,.5);letter-spacing:0;transition:color .3s ease}.fmb-brand{font-family:'Plus Jakarta Sans',sans-serif;font-size:13px;font-weight:800;color:var(--cream);letter-spacing:.08em;text-transform:uppercase;position:relative;transition:color .3s ease}.fmb-brand::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1.5px;background:linear-gradient(90deg,var(--magenta),var(--lilac));transform:scaleX(0);transform-origin:left center;transition:transform .4s cubic-bezier(.65, 0, .35, 1)}.fmb-arrow{font-family:'Plus Jakarta Sans',sans-serif;font-size:14px;font-weight:600;color:var(--magenta);display:inline-block;transition:transform .3s cubic-bezier(.65, 0, .35, 1)}.footer-madeby:hover .fmb-label{color:rgba(251,244,232,.75)}.footer-madeby:hover .fmb-brand{color:var(--magenta-light)}.footer-madeby:hover .fmb-brand::after{transform:scaleX(1)}.footer-madeby:hover .fmb-arrow{transform:translateX(4px)}@media (max-width:600px){.footer-madeby{justify-content:center}}.footer-socials{display:flex;gap:10px;flex-wrap:wrap}.footer-socials a.soc{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;transition:all .25s cubic-bezier(.2,.8,.2,1);color:#fff;position:relative;overflow:hidden}.footer-socials a.soc::before{content:'';position:absolute;inset:0;opacity:.9;transition:opacity .25s,transform .25s}.footer-socials a.soc svg{position:relative;z-index:1}.footer-socials a.soc.instagram::before{background:linear-gradient(135deg,#feda75 0,#fa7e1e 20%,#d62976 45%,#962fbf 70%,#4f5bd5 100%)}.footer-socials a.soc.facebook::before{background:#1877f2}.footer-socials a.soc.tiktok::before{background:#010101;box-shadow:inset 2px 2px 0 #25f4ee,inset -2px -2px 0 #fe2c55}.footer-socials a.soc.whatsapp::before{background:#25d366}.footer-socials a.soc:hover{transform:translateY(-3px) scale(1.05)}.footer-socials a.soc:hover::before{opacity:1}.social-row-hero{display:inline-flex;gap:10px}@media (max-width:960px){.footer-top{grid-template-columns:1fr 1fr;gap:30px;padding-bottom:30px}.footer-brand{font-size:42px}.footer{padding:60px 22px 28px}}@media (max-width:600px){.footer-top{grid-template-columns:1fr;gap:26px}.footer-brand{font-size:40px}.footer-bottom{flex-direction:column;text-align:center;gap:6px}}.floating-socials{position:fixed;right:20px;bottom:150px;z-index:90;display:flex;flex-direction:column;gap:12px}.floating-socials a{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;color:#fff;position:relative;overflow:visible;box-shadow:0 10px 30px -10px rgba(0,0,0,.35);opacity:0;transform:translateX(80px) scale(.6);animation:fs-enter .7s cubic-bezier(.2,.9,.3,1.4) forwards,fs-breathe 5s ease-in-out 1.2s infinite;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,filter .25s ease}.floating-socials a:first-child{animation-delay:.15s,1.2s}.floating-socials a:nth-child(2){animation-delay:.28s,1.5s}.floating-socials a:nth-child(3){animation-delay:.41s,1.8s}.floating-socials a:nth-child(4){animation-delay:.54s,2.1s}@keyframes fs-enter{0%{opacity:0;transform:translateX(80px) scale(.6) rotate(15deg)}60%{transform:translateX(-6px) scale(1.05) rotate(-3deg)}100%{opacity:1;transform:translateX(0) scale(1) rotate(0)}}@keyframes fs-breathe{0%,100%{box-shadow:0 10px 30px -10px rgba(0,0,0,.35),0 0 0 0 rgba(224,58,138,0)}50%{box-shadow:0 14px 36px -10px rgba(0,0,0,.4),0 0 0 5px rgba(224,58,138,.1)}}.floating-socials a::before{content:'';position:absolute;inset:0;border-radius:inherit;transition:transform .4s cubic-bezier(.2,.8,.2,1);z-index:0}.floating-socials a::after{content:attr(aria-label);position:absolute;right:calc(100% + 14px);top:50%;transform:translateY(-50%) translateX(10px);background:var(--ink);color:var(--cream);padding:7px 13px;border-radius:10px;font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:0 8px 24px -8px rgba(0,0,0,.5);z-index:2}.floating-socials a svg{position:relative;z-index:1;transition:transform .4s cubic-bezier(.2,.8,.2,1)}.floating-socials a.whatsapp::before{background:#25d366}.floating-socials a.instagram::before{background:linear-gradient(135deg,#feda75 0,#fa7e1e 20%,#d62976 45%,#962fbf 70%,#4f5bd5 100%)}.floating-socials a.facebook::before{background:#1877f2}.floating-socials a.tiktok::before{background:#010101;box-shadow:inset 2px 2px 0 #25f4ee,inset -2px -2px 0 #fe2c55}.floating-socials a:hover{transform:translateY(-5px) scale(1.12) rotate(-4deg);filter:brightness(1.08) saturate(1.15);animation-play-state:paused;box-shadow:0 18px 38px -10px rgba(0,0,0,.45),0 0 0 6px rgba(224,58,138,.18)}.floating-socials a:hover::before{transform:scale(1.15)}.floating-socials a:hover svg{transform:scale(1.15) rotate(8deg)}.floating-socials a:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}.floating-socials a:active{transform:translateY(-2px) scale(1.05) rotate(-2deg);transition:transform .1s ease}@media (max-width:600px){.floating-socials{right:14px;bottom:110px;gap:9px}.floating-socials a{width:46px;height:46px;border-radius:14px}.floating-socials a::after{display:none}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}.global-particles{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden}.gp{position:absolute;bottom:-20px;opacity:0;animation:gp-rise linear infinite}@keyframes gp-rise{0%{opacity:0;transform:translateY(0) translateX(0) rotate(0) scale(.5)}8%{opacity:.75}50%{transform:translateY(-50vh) translateX(var(--drift,0)) rotate(180deg) scale(1)}85%{opacity:.5}100%{opacity:0;transform:translateY(-110vh) translateX(calc(var(--drift,0) * 1.5)) rotate(360deg) scale(.8)}}.gp-star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:var(--color,var(--sun))}.gp-dot{border-radius:50%;background:var(--color,var(--magenta-light))}.gp-balloon{border-radius:50% 50% 50% 50%/40% 40% 60% 60%;background:var(--color,var(--magenta));opacity:0;animation-name:gp-balloon-rise}.gp-balloon::after{content:'';position:absolute;bottom:-8px;left:50%;width:1px;height:10px;background:var(--color,var(--magenta));opacity:.5;transform:translateX(-50%)}@keyframes gp-balloon-rise{0%{opacity:0;transform:translateY(0) translateX(0) rotate(-5deg) scale(.4)}8%{opacity:.6}25%{transform:translateY(-25vh) translateX(calc(var(--drift) * .5)) rotate(5deg) scale(.9)}50%{transform:translateY(-50vh) translateX(var(--drift)) rotate(-3deg) scale(1)}75%{transform:translateY(-75vh) translateX(calc(var(--drift) * .8)) rotate(4deg) scale(.95)}85%{opacity:.4}100%{opacity:0;transform:translateY(-110vh) translateX(calc(var(--drift) * 1.2)) rotate(-2deg) scale(.7)}}.gp-sparkle{border-radius:50%;background:var(--color,#fff);box-shadow:0 0 6px 2px var(--color,var(--sun));animation-name:gp-sparkle-rise}@keyframes gp-sparkle-rise{0%{opacity:0;transform:translateY(0) translateX(0) scale(.3)}10%{opacity:.9}20%{opacity:.3}30%{opacity:.8}50%{transform:translateY(-50vh) translateX(var(--drift)) scale(1.1);opacity:.5}60%{opacity:.9}70%{opacity:.3}85%{opacity:.6}100%{opacity:0;transform:translateY(-110vh) translateX(calc(var(--drift) * 1.5)) scale(.5)}}@media (max-width:768px){.gp:nth-child(n+16){display:none}}@media (max-width:480px){.gp:nth-child(n+10){display:none}}.hero-particles{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.hero-particle{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--sun);opacity:0;animation:particle-float 7s ease-in-out infinite}.hero-particle.star{width:13px;height:13px;border-radius:0;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:rgba(255,255,255,.75)}.hero-particle.pink{background:var(--magenta-light)}.hero-particle.mint{background:var(--mint)}@keyframes particle-float{0%{opacity:0;transform:translateY(0) rotate(0) scale(.4)}18%{opacity:.9}82%{opacity:.65}100%{opacity:0;transform:translateY(-70px) rotate(360deg) scale(1.3)}}.hero-text h1 .accent{background:linear-gradient(90deg,var(--sun) 0,#fffab0 38%,#ffd770 55%,var(--sun) 80%);background-size:220%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:hero-shimmer 3.5s linear infinite;display:inline}@keyframes hero-shimmer{0%{background-position:120% 50%}100%{background-position:-100% 50%}}.service-card.magenta:hover{box-shadow:0 40px 80px -18px rgba(224,58,138,.55),0 0 0 1px rgba(255,255,255,.1)}.service-card.sky:hover{box-shadow:0 40px 80px -18px rgba(61,184,224,.55)}.service-card.sun:hover{box-shadow:0 40px 80px -18px rgba(255,198,77,.52)}.service-card.grass:hover{box-shadow:0 40px 80px -18px rgba(79,168,106,.5)}.service-card.lilac:hover{box-shadow:0 40px 80px -18px rgba(201,168,233,.5)}.service-card.dark:hover{box-shadow:0 40px 80px -18px rgba(224,58,138,.4)}@keyframes card-slide-up{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.section.in .services-grid .service-card{animation:card-slide-up .55s cubic-bezier(.2,.8,.2,1) both}.section.in .services-grid .service-card:first-child{animation-delay:80ms}.section.in .services-grid .service-card:nth-child(2){animation-delay:.16s}.section.in .services-grid .service-card:nth-child(3){animation-delay:.24s}.section.in .services-grid .service-card:nth-child(4){animation-delay:.32s}.section.in .services-grid .service-card:nth-child(5){animation-delay:.4s}.section.in .services-grid .service-card:nth-child(6){animation-delay:.48s}.cta-banner::after{content:'';position:absolute;width:700px;height:300px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,198,77,.18),transparent 70%);bottom:-120px;right:-80px;animation:glow-drift 8s ease-in-out infinite alternate;pointer-events:none}@keyframes glow-drift{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-60px,-30px) scale(1.15)}}.marquee:hover .marquee-track{animation-play-state:paused}@media (min-width:500px) and (max-width:960px){.services-grid{grid-template-columns:1fr 1fr;gap:14px}.service-card{min-height:310px}.service-card h3{font-size:26px}}@media (max-width:960px){.video-grid>div:last-child{height:200px}}@media (max-width:600px){.video-column-stack{flex-direction:column}.video-column-stack .video-tile{height:170px}.video-grid>.video-tile:first-child{height:260px}.video-grid>div:last-child{height:170px}}@media (max-width:480px){body{font-size:16px}.nav{padding:12px 14px}.nav-logo{font-size:17px}.nav-logo-mark{width:36px;height:36px;font-size:17px}.hero{padding:80px 16px 36px!important}.hero-content{gap:28px!important}.hero-text h1{font-size:clamp(42px, 11vw, 62px)!important}.hero-badge-card{padding:14px 18px}.hero-badge-card .big{font-size:36px}.hero-lede{font-size:15px}.hero-ctas{gap:10px}.hero-ctas .btn-ghost,.hero-ctas .btn-primary{padding:14px 22px;font-size:14px}.marquee-item{font-size:22px;gap:28px}.marquee-track{gap:28px}.section{padding:56px 16px}.section-head h2{font-size:clamp(34px, 9vw, 52px)}.section-head{gap:12px;margin-bottom:32px}.about{margin:0 12px;padding:40px 20px;border-radius:22px}.about-copy h2{font-size:clamp(36px, 9vw, 52px)}.about-copy p{font-size:16px}.about-stats{gap:10px}.stat-num{font-size:32px}.about-media-float{width:100px;height:130px;left:-8px;bottom:-10px}.about-caption{right:8px;top:8px;font-size:11px;padding:9px 12px}.services-grid{grid-template-columns:1fr;gap:12px}.service-card{padding:24px 22px;min-height:280px}.service-card h3{font-size:26px}.service-icon{width:58px;height:58px;font-size:26px;border-radius:16px}.video-showcase{margin:0 12px;padding:40px 18px;border-radius:22px}.xp-strip{margin:0 12px;padding:44px 20px;border-radius:22px;gap:30px}.xp-strip h2{font-size:clamp(32px, 9vw, 50px)}.xp-title{font-size:18px}.xp-num{font-size:18px}.xp-row{padding:14px 0;gap:12px}.testimonials{margin:0 12px;padding:50px 20px;border-radius:22px}.testimonial-quote{font-size:clamp(22px, 5.5vw, 32px)}.booking-form{padding:20px 16px;border-radius:20px}.booking-intro h2{font-size:clamp(34px, 9vw, 52px)}.chip{padding:9px 14px;font-size:13px}.contact-card{padding:18px}.contact-card .icon{width:44px;height:44px;font-size:18px;border-radius:12px}.social-feed{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:28px}.social-post{border-radius:14px}.faq-q{font-size:clamp(18px, 5vw, 24px)}.faq-toggle{width:34px;height:34px;font-size:15px}.cta-banner{margin:28px 12px 0;padding:48px 20px;border-radius:22px}.cta-banner h2{font-size:clamp(40px, 10vw, 58px)}.cta-banner-ctas{flex-direction:column;align-items:center;gap:12px}.cta-banner-ctas a{width:100%;text-align:center;justify-content:center}.footer{padding:50px 16px 24px}.footer-top{grid-template-columns:1fr;gap:28px;padding-bottom:28px}.footer-brand{font-size:38px}.footer-bottom{flex-direction:column;text-align:center;gap:6px}.floating-socials{right:12px;bottom:90px;gap:8px}.floating-socials a{width:42px;height:42px;border-radius:12px}}@media (hover:none){.btn-primary:active{transform:scale(.97)}.btn-ghost:active{transform:scale(.97)}.btn-next:active{transform:scale(.97)}.service-card:active{transform:translateY(-4px)}.gallery-item:active img{transform:scale(1.05)}.gallery-item:active::after{opacity:1}.gallery-tag{opacity:1;transform:translateY(0)}.service-arrow{opacity:1;transform:translate(0,0)}}@keyframes fade-up{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{animation:fade-up .8s cubic-bezier(.2,.8,.2,1) .15s both}.hero-text h1{animation:fade-up 1s cubic-bezier(.16,1,.3,1) .3s both}.hero-lede{animation:fade-up .8s cubic-bezier(.2,.8,.2,1) .5s both}.hero-ctas{animation:fade-up .7s cubic-bezier(.2,.8,.2,1) .68s both}.hero-side{animation:fade-up .9s cubic-bezier(.2,.8,.2,1) .45s both}.hero-scroll{animation:fade-up .7s cubic-bezier(.2,.8,.2,1) 1.1s both}.about-stats>div{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.2,.8,.2,1)}.reveal.in .about-stats>div:first-child{opacity:1;transform:translateY(0);transition-delay:0.15s}.reveal.in .about-stats>div:nth-child(2){opacity:1;transform:translateY(0);transition-delay:0.28s}.reveal.in .about-stats>div:nth-child(3){opacity:1;transform:translateY(0);transition-delay:0.41s}@keyframes stat-pop{0%{transform:scale(.7) translateY(8px);opacity:0}65%{transform:scale(1.07)}100%{transform:scale(1);opacity:1}}.reveal.in .stat-num{animation:stat-pop .65s cubic-bezier(.2,.8,.2,1) both}.reveal.in .about-stats>div:first-child .stat-num{animation-delay:.15s}.reveal.in .about-stats>div:nth-child(2) .stat-num{animation-delay:.28s}.reveal.in .about-stats>div:nth-child(3) .stat-num{animation-delay:.41s}@keyframes card-in{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.reveal.in .events-grid .event-card:first-child{animation:card-in .65s cubic-bezier(.2,.8,.2,1) 50ms both}.reveal.in .events-grid .event-card:nth-child(2){animation:card-in .65s cubic-bezier(.2,.8,.2,1) .15s both}.reveal.in .events-grid .event-card:nth-child(3){animation:card-in .65s cubic-bezier(.2,.8,.2,1) .25s both}.reveal.in .events-grid .event-card:nth-child(4){animation:card-in .65s cubic-bezier(.2,.8,.2,1) .35s both}.reveal.in .events-grid .event-card:nth-child(5){animation:card-in .65s cubic-bezier(.2,.8,.2,1) .45s both}.reveal.in .events-grid .event-card:nth-child(6){animation:card-in .65s cubic-bezier(.2,.8,.2,1) .55s both}.reveal.in .gallery-item{animation:card-in .55s cubic-bezier(.2,.8,.2,1) both}.reveal.in .gallery-item:nth-child(2){animation-delay:70ms}.reveal.in .gallery-item:nth-child(3){animation-delay:.14s}.reveal.in .gallery-item:nth-child(4){animation-delay:.21s}.reveal.in .gallery-item:nth-child(5){animation-delay:.28s}.reveal.in .gallery-item:nth-child(6){animation-delay:.35s}.reveal.in .gallery-item:nth-child(7){animation-delay:.42s}.reveal.in .gallery-item:nth-child(8){animation-delay:.49s}@keyframes t-fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.testimonial-quote-anim{animation:t-fadein .45s cubic-bezier(.2,.8,.2,1) both}.service-showcase{display:grid;grid-template-columns:1fr 1.1fr;gap:0;background:#fff;border-radius:40px;overflow:hidden;box-shadow:0 40px 100px -40px rgba(31,26,46,.22);border:1px solid rgba(31,26,46,.06);min-height:500px;transition:box-shadow .5s cubic-bezier(.2,.8,.2,1),transform .5s cubic-bezier(.2,.8,.2,1)}.service-showcase:hover{transform:translateY(-6px);box-shadow:0 60px 120px -40px rgba(31,26,46,.28)}.service-showcase-left{padding:56px 60px;display:flex;flex-direction:column;gap:22px;position:relative}.service-showcase-badge{display:inline-flex;align-items:center;gap:8px;background:var(--sun);color:var(--ink);padding:7px 16px;border-radius:999px;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;width:fit-content}.service-showcase-left h3{font-family:Fraunces,serif;font-weight:600;font-style:italic;font-size:clamp(44px, 5vw, 72px);line-height:.93;letter-spacing:-.025em;color:var(--ink)}.service-showcase-left p{font-size:17px;color:var(--ink-soft);line-height:1.65;max-width:460px}.service-showcase-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.service-showcase-features span{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:999px;background:var(--cream-2);color:var(--ink);font-size:13px;font-weight:700}.service-showcase-features span::before{content:'✓';color:var(--grass);font-weight:900;font-size:11px}.service-showcase-cta{display:flex;align-items:center;gap:16px;margin-top:6px}.service-showcase-right{position:relative;overflow:hidden}.service-showcase-right img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.service-showcase:hover .service-showcase-right img{transform:scale(1.05)}.service-showcase-right::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.25) 0,transparent 35%);z-index:1;pointer-events:none}@media (max-width:960px){.service-showcase{grid-template-columns:1fr}.service-showcase-left{padding:40px 32px}.service-showcase-right{height:300px}.service-showcase:hover{transform:none}}@media (max-width:480px){.service-showcase-left{padding:32px 24px;gap:18px}.service-showcase-left h3{font-size:clamp(40px, 10vw, 56px)}.service-showcase-right{height:240px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}.global-particles{display:none}.hero-ctas,.hero-eyebrow,.hero-lede,.hero-scroll,.hero-side,.hero-text h1{animation:none}}.about,.cta-banner,.footer,.testimonials,.video-showcase{content-visibility:auto;contain-intrinsic-size:auto 600px}.section{content-visibility:auto;contain-intrinsic-size:auto 800px}