:root{--bg:#07080a;--s:#111316;--t:#f4f4f2;--m:#9ba0a8;--o:#F07102;--e:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:70px;background:var(--bg)}
body{font:400 17px/1.7 Poppins,system-ui,sans-serif;color:var(--t);background:var(--bg);overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
:focus-visible{outline:3px solid var(--o);outline-offset:3px}
.wrap{width:min(1180px,90%);margin:auto}
header{position:fixed;inset:0 0 auto;z-index:30;transition:background .4s,backdrop-filter .4s}
header.solid{background:rgba(7,8,10,.72);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4)}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo img{height:26px;width:auto}
nav{display:flex;gap:30px;align-items:center}
nav a:not(.btn){text-decoration:none;font-size:14px;color:#d6d8dc;transition:color .2s}
nav a:not(.btn):hover{color:var(--t)}
#burger{display:none;background:none;border:0;font-size:26px;cursor:pointer;color:var(--t)}
.btn{display:inline-block;background:var(--o);color:#fff!important;padding:14px 32px;border-radius:999px;font-weight:500;text-decoration:none;transition:transform .3s var(--e),box-shadow .3s}
.btn:hover{transform:translateY(-3px);box-shadow:0 10px 40px -8px var(--o)}
.btn.sm{padding:8px 20px;font-size:14px}
/* hero */
.hero{position:relative;height:100vh;min-height:620px;display:flex;align-items:center;overflow:hidden}
.bg{position:absolute;inset:0;will-change:transform}
.bg img{width:100%;height:100%;object-fit:cover;animation:kb 24s ease-out both}
.hero:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(120% 90% at 20% 60%,rgba(7,8,10,.78),rgba(7,8,10,.15) 70%),linear-gradient(0deg,var(--bg),transparent 30%)}
.hc{position:relative;z-index:2;will-change:transform,opacity;padding-top:60px}
h1{font-size:clamp(2.3rem,5.6vw,5rem);line-height:1.04;font-weight:600;letter-spacing:-.035em;max-width:14ch;margin-bottom:26px}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em}
.w>span{display:inline-block;transform:translateY(110%);animation:up 1s var(--e) calc(.2s + var(--i)*.12s) forwards}
.lead{max-width:46ch;font-size:1.15rem;color:#d9dbe0;margin-bottom:36px;animation:fade 1s 1s both}
.hc .btn{animation:fade 1s 1.2s both}
.hud{position:absolute;z-index:2;left:0;right:0;width:min(1180px,90%);margin:auto;bottom:34px;display:flex;gap:30px;flex-wrap:wrap;font:500 12px/1 Poppins,sans-serif;letter-spacing:.08em;color:#cfd2d8;animation:fade 1s 1.6s both}
.hud b{color:var(--o);font-weight:500;display:inline-block;min-width:3ch;text-align:right}
.hud i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e5322d;margin-right:8px;animation:blink 1.4s infinite}
@keyframes kb{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes up{to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes blink{50%{opacity:.15}}
/* sections */
.sec{padding:120px 0}
h2{font-size:clamp(1.9rem,4.2vw,3.4rem);line-height:1.1;font-weight:600;letter-spacing:-.03em;margin-bottom:48px;max-width:20ch}
.rv{opacity:0;transform:translateY(46px);transition:opacity 1s var(--e),transform 1s var(--e)}
.rv.in{opacity:1;transform:none}
.ph.rv,.track figure.rv{opacity:1;transform:none;clip-path:inset(14% 10% 14% 10% round 8px);transition:clip-path 1.4s var(--e)}
.ph.rv.in,.track figure.rv.in{clip-path:inset(0 round 8px)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.split p{color:var(--m);margin-bottom:18px;max-width:52ch}
.ph{overflow:hidden}.ph img{width:100%;aspect-ratio:4/5;object-fit:cover}
.stats{display:flex;gap:44px;flex-wrap:wrap;margin-top:44px}
.stats dt{font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.stats dd{font-size:.85rem;color:var(--m);margin:0}
.rows{list-style:none;padding:0;border-top:1px solid #23262b}
.rows li{display:grid;grid-template-columns:1fr 1fr;gap:20px 50px;padding:38px 0;border-bottom:1px solid #23262b;position:relative;transition:padding .5s var(--e)}
.rows li:after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:0;background:var(--o);transition:width .7s var(--e)}
.rows li:hover{padding-left:22px}.rows li:hover:after{width:100%}
.rows h3{font-size:clamp(1.4rem,3vw,2.1rem);font-weight:500;letter-spacing:-.02em;line-height:1.2}
.rows p{color:var(--m);align-self:center}
.intro{color:var(--m);margin:-26px 0 48px;max-width:50ch}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:20px}
.rate{position:relative;background:var(--s);border:1px solid #23262b;border-radius:18px;padding:36px;overflow:hidden;--mx:50%;--my:0%}
.rate:before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx) var(--my),rgba(240,113,2,.22),transparent 60%);opacity:0;transition:opacity .4s}
.rate:hover:before{opacity:1}
.rate>*{position:relative}
.rate h3{font-size:1rem;font-weight:500;color:var(--m)}
.price{font-size:2.6rem;font-weight:600;letter-spacing:-.03em;line-height:1.2;margin-top:10px}
.unit{color:var(--o);font-size:.9rem;margin-bottom:22px}
.rate ul{padding-left:18px;color:var(--m);font-size:.93rem}
.sub{margin:80px 0 14px;font-size:1.5rem;font-weight:500;letter-spacing:-.02em}
.pkgs{list-style:none;padding:0}
.pkgs li{display:flex;align-items:baseline;gap:16px;padding:18px 0;border-bottom:1px solid #23262b}
.pkgs span:first-child{flex:1;font-size:1.1rem}
.from{color:var(--m);font-size:.85rem}
.pkgs strong{font-size:1.35rem;font-weight:600;min-width:90px;text-align:right}
.note{margin-top:22px;color:var(--m);font-size:.85rem;max-width:80ch}
.track{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 5% 24px;scrollbar-width:thin;scrollbar-color:var(--o) #1a1c20}
.track figure{flex:0 0 min(80vw,880px);aspect-ratio:16/10;scroll-snap-align:center;overflow:hidden}
.track img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e)}
.track figure:hover img{transform:scale(1.05)}
.gt{width:min(1180px,90%);margin:auto}
.contact{position:relative;padding:160px 0;overflow:hidden;text-align:center}
.contact:before{content:"";position:absolute;left:50%;top:50%;width:900px;height:900px;margin:-450px;background:radial-gradient(circle,rgba(240,113,2,.32),transparent 62%);animation:drift 14s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(8%,-6%) scale(1.15)}}
.contact .wrap{position:relative}
.contact h2{margin:0 auto 24px;max-width:13ch}
.contact p{color:#d1d4d9;max-width:48ch;margin:0 auto 34px}
.contact .call{margin:26px auto 0;font-size:.95rem}.contact .call a{font-weight:600;text-decoration:none}
footer{border-top:1px solid #1d2024;padding:40px 0;font-size:.88rem;color:var(--m)}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 30px}
.foot img{height:22px;width:auto}.foot p{margin:0}
@media(max-width:800px){
#burger{display:block}
nav{position:absolute;top:68px;left:0;right:0;background:rgba(7,8,10,.96);flex-direction:column;align-items:flex-start;padding:22px 5%;gap:18px;display:none}
nav.open{display:flex}
.split,.rows li{grid-template-columns:1fr;gap:30px}
.sec{padding:90px 0}.contact{padding:110px 0}
.hud{gap:16px;bottom:22px}.from{display:none}.pkgs li{gap:10px}.stats{gap:30px}
}
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
*{animation:none!important;transition:none!important}
.w>span,.rv{transform:none!important;opacity:1!important}
.ph.rv,.track figure.rv{clip-path:none!important}
}

/* ---------- Added for the PHP version: background video, photo + video gallery, viewer ---------- */
.bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.bgvid.on{opacity:1}
.hero:not(:has(img)) .bg{background:radial-gradient(120% 90% at 70% 30%,#2a1606,var(--bg) 70%)}
.track figure a{display:block;position:relative;width:100%;height:100%;cursor:zoom-in}
.track figure video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.track figure a[data-lb="video"],.track figure a[data-lb="embed"]{cursor:pointer}
.nothumb{display:grid;place-items:center;width:100%;height:100%;background:var(--s);color:var(--m);padding:20px;text-align:center}
.play{position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(240,113,2,.92);color:#fff;display:grid;place-items:center;padding-left:4px;box-shadow:0 10px 40px rgba(0,0,0,.5);transition:transform .3s var(--e)}
.track figure:hover .play{transform:scale(1.12)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(4,5,6,.95);display:none;align-items:center;justify-content:center;padding:56px 70px}
.lb.open{display:flex}
.lb-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center}
.lb-stage img,.lb-stage video{max-width:100%;max-height:100%;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.6);background:#000}
.lb-stage iframe{width:min(1100px,100%);aspect-ratio:16/9;border:0;border-radius:8px;background:#000}
.lb-cap{position:absolute;left:0;right:0;bottom:16px;text-align:center;color:var(--m);font-size:.9rem;padding:0 70px}
.lb-count{position:absolute;top:20px;left:26px;color:var(--m);font-size:.85rem}
.lb button{position:absolute;background:rgba(255,255,255,.08);border:1px solid #2a2d33;color:var(--t);width:46px;height:46px;border-radius:50%;font-size:1.4rem;cursor:pointer;display:grid;place-items:center;transition:background .2s}
.lb button:hover{background:var(--o)}
.lb-close{top:14px;right:18px}.lb-prev{left:14px;top:50%;transform:translateY(-50%)}.lb-next{right:14px;top:50%;transform:translateY(-50%)}
@media(max-width:720px){.lb{padding:60px 10px}.lb-prev{left:6px;top:auto;bottom:10px;transform:none}.lb-next{right:6px;top:auto;bottom:10px;transform:none}.lb-cap{bottom:70px;padding:0 10px}.play{width:58px;height:58px;margin:-29px 0 0 -29px}}
@media(prefers-reduced-motion:reduce){.bgvid{transition:none}}
