@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root{--accent:#0a74da;--muted:#6b7280;--bg:#f8f9fb;--card:#ffffff;--heading:'Playfair Display',serif;--body:'Inter',sans-serif}
/* Basic reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;font-family:var(--body);color:#111;background:#fff;line-height:1.6}
h1,h2,h3,h4,h5,h6{font-family:var(--heading);font-weight:700;line-height:1.2;letter-spacing:-.5px}
.container{width:min(1100px,94%);margin:0 auto}

.site-header{position:fixed;left:0;right:0;top:0;background:rgba(0,0,0,0.95);border-bottom:1px solid #222;z-index:60;backdrop-filter:saturate(120%) blur(4px);transition:transform .36s ease,opacity .36s ease}
.site-header.hidden{transform:translateY(-120%);opacity:0}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:16px}
.site-header .logo{display:flex;align-items:center;min-width:fit-content}
/* .site-header .logo img{height:40px;width:auto;max-width:150px;display:block} */
.site-header .logo img{display:block;max-width:100%;height:auto}
.site-header .nav{display:flex;align-items:center;flex-wrap:wrap;gap:16px}
.site-header .nav a{color:#fff;text-decoration:none;font-size:15px;font-weight:500;transition:color .24s ease}
.site-header .nav a:hover{color:var(--accent)}

.hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.hero .bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-large{height:100vh}
.hero-medium{height:60vh}
.hero-inner{position:relative;z-index:10;display:flex;align-items:center;justify-content:center;height:100%}
.logo-big,.logo-medium{filter:drop-shadow(0 8px 30px rgba(0,0,0,0.35));animation:logoPop .9s ease both;display:flex;align-items:center;justify-content:center}
/* .logo-big img,.logo-medium img{max-width:100%;height:auto;display:block} */
.logo-big img,.logo-medium img{height:auto;display:block}
.logo-big{max-width:200px;width:90vw;margin:0 auto}
.logo-medium{max-width:150px;width:85vw;margin:0 auto}
@keyframes logoPop{from{transform:translateY(8px) scale(.96);opacity:0}to{transform:none;opacity:1}}

.services{position:relative;min-height:70vh;color:#fff;overflow:visible}
.services .bg-video-blur{filter:brightness(.85);position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;object-fit:cover;z-index:0}
.services-inner{position:relative;display:flex;gap:24px;padding:60px 0;z-index:10;margin:0}
.tabs-vertical{width:220px;display:flex;flex-direction:column;gap:8px}
.tabs-vertical .tab{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);color:#fff;padding:12px;text-align:left;cursor:pointer;border-radius:8px;transition:all .28s ease;font-weight:500;font-family:var(--body)}
.tabs-vertical .tab:hover{transform:translateY(-2px);background:rgba(255,255,255,0.12)}
.tabs-vertical .tab.active{background:var(--card);color:#111;box-shadow:0 6px 22px rgba(0,0,0,.12);font-weight:600}
.tab-content{flex:1;background:rgba(255,255,255,0.04);padding:24px;border-radius:8px;min-height:220px}
.tab-pane{display:none;opacity:0;transform:translateY(8px);transition:all .36s ease}
.tab-pane.active{display:block;opacity:1;transform:none}
.tab-pane h2{font-size:24px;margin-bottom:12px;color:#fff}
.tab-pane p{font-size:16px;line-height:1.7;color:rgba(255,255,255,0.9)}

.gallery-section{padding:60px 0;background:var(--bg);position:relative;z-index:5;clear:both;margin-top:0}
.gallery-section h2{font-size:36px;margin-bottom:24px;color:#111;text-align:center}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.gallery-item{border:0;padding:0;background:transparent;cursor:pointer}
.gallery-item img{width:100%;height:140px;object-fit:cover;display:block;border-radius:8px;transition:transform .36s ease}
.gallery-item:hover img{transform:scale(1.04)}

.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.8);z-index:120;opacity:1;transition:opacity .24s ease}
.modal.hidden{opacity:0;pointer-events:none}
.modal img{max-width:92%;max-height:86%;border-radius:8px;transform:scale(.96);transition:transform .36s cubic-bezier(.2,.9,.2,1)}
.modal.open img{transform:scale(1)}
.modal-close{position:absolute;top:18px;right:18px;background:transparent;color:#fff;font-size:36px;border:0;cursor:pointer}

.contact-section{padding:60px 0;position:relative;z-index:5}
.contact-section h2{font-size:36px;margin-bottom:24px;color:#111;text-align:center}
form{max-width:700px;background:var(--card);padding:20px;border-radius:10px;box-shadow:0 8px 40px rgba(13,21,30,0.06)}
form label{display:block;margin-bottom:12px;font-size:14px;color:#333;font-weight:600}
form input,form textarea{width:100%;padding:10px 12px;border:1px solid #e6e9ee;border-radius:8px;margin-top:6px;font-size:15px;font-family:var(--body)}
form button{background:var(--accent);color:#fff;border:0;padding:10px 14px;border-radius:8px;cursor:pointer;font-weight:600;font-family:var(--body);font-size:15px;transition:all .24s ease}
form button:hover{background:#0860b3;transform:translateY(-2px);box-shadow:0 6px 20px rgba(10,116,218,.25)}
.form-status{margin-top:12px;font-size:14px;color:var(--muted)}
.hidden-field{position:absolute;left:-5000px;top:auto;width:1px;height:1px;overflow:hidden}

/* small screens first */
@media (max-width:900px){
  .services{min-height:60vh}
  .services-inner{flex-direction:column;padding:40px 0}
  .tabs-vertical{width:100%;flex-direction:row;overflow:auto}
  .tabs-vertical .tab{flex:1 0 auto;text-align:center}
  .gallery-item img{height:120px}
  .hero-medium{height:46vh}
  .logo-big{max-width:160px;width:80vw}
  .logo-medium{max-width:120px;width:75vw}
  .site-header .logo img{height:36px;max-width:130px}
}

@media (max-width:640px){
  .hero-large{height:80vh}
  .hero-medium{height:50vh}
  .logo-big{max-width:120px;width:70vw}
  .logo-medium{max-width:100px;width:65vw}
  .gallery-section h2,.contact-section h2{font-size:28px}
  .site-header .logo img{height:32px;max-width:120px}
  .site-header .nav a{font-size:13px}
}

@media (min-width:1100px){
  .hero-large{height:100vh}
  .logo-big{max-width:200px}
  .logo-medium{max-width:150px}
}

.site-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(10px);
  z-index:9999;
  transition:all 0.4s ease;
}

.site-header.hidden{
  transform:translateY(-100%);
  opacity:0;
}

/* .site-header .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 20px;
} */


.site-header .container{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 20px;
      line-height: 3.6;

}


.center-logo{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  z-index:9999;
  text-align:center;
  pointer-events:none; /* allows clicking elements behind */
}

.center-logo img{
  width:200px;
  max-width:80vw;
  height:auto;
}
.nav{
  opacity:0;
 
}

.nav.show{
  opacity:0;
}