*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%}
body{margin:0;background:#0a0f1a;color:#f2efe7;font-family:'Geist',-apple-system,sans-serif;font-size:18px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#be9346;text-decoration:none}
a:hover{color:#d6ac66}
::selection{background:#be9346;color:#051129}
h1,h2,h3{font-family:'Newsreader',Georgia,serif;margin:0}
img{max-width:100%}
button{font-family:inherit}

.vpp-h2{font-size:clamp(32px,4vw,44px);color:#f2efe7;line-height:1.15}
.vpp-eyebrow{color:#be9346;letter-spacing:.16em;text-transform:uppercase;font-size:14px;font-weight:600;margin-bottom:14px}
.vpp-eyebrow-dark{color:#be9346;letter-spacing:.16em;text-transform:uppercase;font-size:14px;font-weight:600;margin-bottom:18px}

/* header */
.vpp-header{position:sticky;top:0;z-index:500;background:rgba(254,254,254,0.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(5,31,98,0.1)}
.vpp-header-inner{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:16px}
.vpp-logo{display:flex;align-items:center;flex-shrink:0}
.vpp-logo img{height:156px;width:auto;display:block}
.vpp-nav{display:flex;align-items:center;flex:1;justify-content:space-between;gap:16px;min-width:0;position:relative}
.vpp-nav-links{display:flex;align-items:center;gap:22px;margin:0 auto}
.vpp-nav-item{position:relative;display:flex;align-items:center}
.vpp-nav-link{font-size:15px;font-weight:500;color:#051f62;white-space:nowrap}
.vpp-nav-link.active,.vpp-nav-link:hover{color:#be9346}
.vpp-dropdown{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(-6px);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;background:#fff;border:1px solid rgba(5,31,98,.12);border-radius:4px;box-shadow:0 20px 40px -12px rgba(0,0,0,.18);padding:10px;min-width:230px;z-index:600}
.vpp-nav-item:hover .vpp-dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.vpp-dropdown a{display:block;padding:10px 14px;font-size:14px;font-weight:500;color:#051f62;border-radius:3px;white-space:nowrap}
.vpp-dropdown a:hover{background:#f5f1e8;color:#be9346}
.vpp-cta-desktop{display:flex;align-items:center;gap:16px;flex-shrink:0}
.vpp-phone-link{font-size:14px;font-weight:500;color:#051f62;display:flex;align-items:center;gap:6px}
.vpp-phone-link:hover{color:#be9346}
.vpp-hamburger{display:none;width:44px;height:44px;border:none;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;flex-shrink:0}
.vpp-hamburger span{display:block;width:24px;height:2px;background:#051f62}

.vpp-drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:9999;background:#070b13;overflow-y:auto}
.vpp-drawer.open{display:block}
.vpp-drawer-inner{max-width:440px;margin:0 auto;padding:24px 24px 60px;display:flex;flex-direction:column;gap:28px;min-height:100%}
.vpp-drawer-close{align-self:flex-end;width:44px;height:44px;border:none;background:transparent;color:#f2efe7;font-size:28px;cursor:pointer;line-height:1}
.vpp-drawer-links{display:flex;flex-direction:column;gap:22px}
.vpp-drawer-link{font-family:'Newsreader',serif;font-size:28px;color:#f2efe7;display:block}
.vpp-drawer-sublinks{display:flex;flex-direction:column;gap:12px;margin-top:12px;padding-left:18px}
.vpp-drawer-sublinks a{font-size:16px;color:#c9cedb}
.vpp-drawer-contact{display:flex;flex-direction:column;gap:14px;border-top:1px solid rgba(190,147,70,.2);padding-top:24px}

@media (max-width:768px){
  .vpp-logo img{height:64px !important}
  .vpp-nav-links,.vpp-cta-desktop{display:none}
  .vpp-nav{justify-content:flex-end}
  .vpp-hamburger{display:flex;margin-left:auto}
}
@media (min-width:769px){
  /* .vpp-drawer display handled by base rule */
}

/* hero */
.vpp-hero-home{position:relative;min-height:92vh;padding-bottom:120px;overflow:hidden;display:flex;align-items:center}
.vpp-hero-home-bg{position:absolute;inset:0;z-index:0;background-image:url('assets/hero-home.jpg');background-size:cover;background-position:center 60%;animation:kenburns 26s ease-out infinite alternate;transform-origin:center}
@keyframes kenburns{0%{transform:scale(1)}100%{transform:scale(1.15)}}
@keyframes paintWipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}
.vpp-loader{position:fixed;inset:0;z-index:1000;background:#070b13;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:1;transition:opacity .35s cubic-bezier(.22,1,.36,1)}
.vpp-loader.vpp-loader-hide{opacity:0;pointer-events:none}
.vpp-loader-word{font-family:'Newsreader',serif;font-size:clamp(28px,6vw,44px);letter-spacing:.06em;color:rgba(242,239,231,.15);white-space:nowrap;position:relative}
.vpp-loader-word-gold{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 100% 0 0);animation:paintWipe 1100ms cubic-bezier(.22,1,.36,1) 250ms forwards;color:#be9346}
.vpp-loader-sub{font-family:'Geist',sans-serif;letter-spacing:.2em;font-size:12px;color:#7c8296;text-transform:uppercase;margin-top:18px}
.vpp-hero-home-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(5,10,20,0.5) 0%, rgba(5,10,20,0.68) 55%, #0a0f1a 100%)}
.vpp-hero-home-content{position:relative;z-index:2;max-width:640px}
.vpp-hero-home-outer{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 24px;width:100%}
.vpp-hero{position:relative;padding:180px 24px 64px;overflow:hidden}
.vpp-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 55%}
.vpp-hero-overlay-light{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.25),rgba(255,255,255,.35))}
.vpp-hero-overlay-dark{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,20,.72),rgba(5,10,20,.82))}
.vpp-hero-content{position:relative;z-index:1;max-width:1280px;margin:0 auto}
@media (max-width:768px){
  .vpp-hero{padding:140px 20px 44px}
  .vpp-hero-home-outer{padding:0 20px}
  .vpp-hero-home-content{max-width:100%}
}

/* grids */
.vpp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;max-width:1280px;margin:0 auto}
.vpp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.vpp-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.vpp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;max-width:1280px;margin:0 auto}
.vpp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.vpp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;max-width:1280px;margin:0 auto 48px}
.vpp-services-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:64px 0;border-top:1px solid rgba(190,147,70,.14);scroll-margin-top:100px}
.vpp-services-row.reverse .vpp-services-row-img{order:2}
.vpp-services-row.reverse .vpp-services-row-text{order:1}
@media (max-width:768px){
  .vpp-grid-2,.vpp-contact-grid,.vpp-form-row{grid-template-columns:1fr;gap:40px}
  .vpp-grid-3,.vpp-gallery-grid{grid-template-columns:1fr}
  .vpp-footer-grid{grid-template-columns:1fr;gap:36px}
  .vpp-services-row{grid-template-columns:1fr;gap:28px;padding:48px 0}
  .vpp-services-row.reverse .vpp-services-row-img,.vpp-services-row.reverse .vpp-services-row-text{order:initial}
}

/* cards */
.vpp-card{background:#0f1626;border:1px solid rgba(190,147,70,.16);border-radius:4px;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s}
.vpp-card:hover{transform:translateY(-6px);border-color:rgba(190,147,70,.55);box-shadow:0 24px 48px -12px rgba(0,0,0,.55)}
.vpp-card img{transition:transform .7s}
.vpp-card:hover img{transform:scale(1.06)}
.vpp-gallery-item{border-radius:4px;overflow:hidden;border:1px solid rgba(190,147,70,.16);cursor:zoom-in}
.vpp-gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .7s}
.vpp-gallery-item:hover img{transform:scale(1.06)}
.vpp-why-card{transition:transform .35s}
.vpp-why-card:hover{transform:translateY(-4px)}
.vpp-testimonial{background:#fff;border:1px solid rgba(5,31,98,.12);border-radius:4px;padding:32px;display:flex;flex-direction:column;gap:20px;transition:transform .35s,box-shadow .35s}
.vpp-testimonial:hover{transform:translateY(-6px);box-shadow:0 24px 48px -12px rgba(0,0,0,.15)}

/* buttons */
.vpp-btn-solid{background:#be9346;color:#051129;font-weight:600;font-size:16px;padding:16px 32px;border-radius:2px;border:1px solid #be9346;display:inline-block}
.vpp-btn-solid:hover{background:transparent;color:#be9346}
.vpp-btn-outline{color:#f2efe7;font-weight:500;font-size:16px;padding:16px 8px;border-bottom:1px solid rgba(242,239,231,.3);display:inline-block}
.vpp-btn-outline:hover{border-color:#be9346;color:#be9346}
.vpp-btn-gold{background:#be9346;color:#051129;font-weight:600;font-size:14px;padding:10px 18px;border-radius:2px;border:1px solid #be9346;display:inline-block}
.vpp-btn-gold:hover{background:transparent;color:#be9346}

/* forms */
.vpp-input{width:100%;padding:14px;background:#0a0f1a;border:1px solid rgba(190,147,70,.25);border-radius:2px;color:#f2efe7;font-size:16px;font-family:'Geist',-apple-system,sans-serif}
.vpp-input::placeholder{color:#7c8296}
.vpp-label{display:block;font-size:14px;color:#a9b0c2;margin-bottom:6px}
.vpp-btn-submit{background:#be9346;color:#051129;font-weight:600;font-size:16px;padding:16px;border-radius:2px;border:1px solid #be9346;cursor:pointer;width:100%}
.vpp-btn-submit:hover{background:transparent;color:#be9346}

/* footer */
.vpp-footer{background:#fefefe;border-top:1px solid rgba(5,31,98,.1);padding:64px 24px 32px}
.vpp-footer-links a{font-size:15px;color:#4a5578;display:block;margin-bottom:12px}
.vpp-footer-links a:hover{color:#be9346}
.vpp-footer-bottom{max-width:1280px;margin:0 auto;border-top:1px solid rgba(5,31,98,.08);padding-top:24px;font-size:13px;color:#7c86a3}

/* lightbox */
.vpp-lightbox{display:none;position:fixed;inset:0;z-index:2000;background:rgba(5,10,20,.92);align-items:center;justify-content:center;padding:40px;cursor:zoom-out}
.vpp-lightbox.open{display:flex}
.vpp-lightbox img{max-width:100%;max-height:100%;object-fit:contain;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.vpp-lightbox-close{position:absolute;top:24px;right:24px;width:44px;height:44px;border:none;background:rgba(255,255,255,.1);color:#f2efe7;font-size:28px;line-height:1;border-radius:50%;cursor:pointer}

/* reveal on scroll */
[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}
[data-reveal].revealed{opacity:1;transform:translateY(0)}

@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}
