:root{
  --bg:#f5f5f5;
  --fg:#1a1a1a;
  --accent:#c0c0c0;
  --gold:#d4af37;
  --muted:#6c757d;
  --border:#dee2e6;
  --pattern:url('https://www.transparenttextures.com/patterns/arabesque.png');
}
:root.dark{
  --bg:#121212;
  --fg:#f5f5f5;
  --accent:#adb5bd;
  --gold:#f5d27a;
  --muted:#9e9e9e;
  --border:#2c2c2c;
  --pattern:url('https://www.transparenttextures.com/patterns/arabesque-dark.png');
}

*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Georgia',serif;line-height:1.8;background:var(--bg);color:var(--fg);transition:all .3s;}
header{
  background:linear-gradient(90deg,var(--accent)0%,var(--gold)100%);
  color:#fff;text-align:center;padding:1.5rem;font-size:2rem;font-weight:bold;letter-spacing:1px;text-shadow:0 0 8px rgba(0,0,0,0.2);
}
nav{
  display:flex;justify-content:center;gap:2rem;padding:1rem 0;
  position:sticky;top:0;background:var(--bg);z-index:99;
  box-shadow:0 2px 12px rgba(0,0,0,0.08);
}
nav a{text-decoration:none;color:var(--fg);font-weight:600;transition:all .3s;}
nav a:hover{color:var(--gold);transform:scale(1.05);}
.hero{
  padding:6rem 1rem;text-align:center;
  background:var(--pattern) center/cover,linear-gradient(135deg,var(--accent)20%,var(--bg)80%);
  border-radius:1rem;margin:1rem;box-shadow:0 6px 20px rgba(0,0,0,0.1);position:relative;overflow:hidden;
}
.hero h1{font-size:3rem;margin-bottom:1rem;position:relative;z-index:1;animation:fadeInDown 1s ease forwards;}
.hero p{font-size:1.2rem;color:var(--muted);margin-bottom:.5rem;position:relative;z-index:1;opacity:0;animation:fadeInUp 1s ease forwards;animation-delay:.3s;}
.floating-patterns{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.floating-pattern{position:absolute;width:60px;height:60px;background:var(--pattern);opacity:0.08;border-radius:50%;animation:floatPattern linear infinite;}

.section{max-width:1200px;margin:3rem auto;padding:0 1rem;}
.section h2{text-align:center;font-size:2rem;margin-bottom:2rem;color:var(--fg);position:relative;}
.section h2::after{content:'';display:block;width:60px;height:2px;background:var(--gold);margin:0.5rem auto 0;border-radius:2px;}
.grid{display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
.card{
  border:1px solid var(--border);
  border-radius:1rem;
  background:var(--bg);
  overflow:hidden;
  text-align:center;
  box-shadow:0 5px 20px rgba(0,0,0,0.05);
  transition:all 0.5s;
  position:relative;
  cursor:pointer;
}
.card::before{
  content:'';
  position:absolute;top:0;left:0;width:100%;height:100%;
  background:var(--pattern);opacity:0.05;pointer-events:none;transition:opacity .3s;
}
.card:hover::before{opacity:0.12;}
.card:hover{transform:translateY(-10px) rotate(-1deg);box-shadow:0 15px 40px rgba(0,0,0,0.2);}
.card img{
  width:100%;height:300px;object-fit:cover;transition:all 0.5s;border-bottom:1px solid var(--border);
}
.card img:hover{transform:scale(1.05);}

/* Silver reflection effect */
.card::after{
  content:'';
  position:absolute;
  top:-50%;left:-50%;
  width:200%;height:200%;
  background:linear-gradient(
    120deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.25) 50%,
    rgba(255,255,255,0) 100%
  );
  transform:rotate(25deg);
  pointer-events:none;
}
.card:hover::after{
  animation:silverShine 2s linear infinite;
}
@keyframes silverShine{
  0%{transform:translateX(-100%) rotate(25deg);}
  50%{transform:translateX(100%) rotate(25deg);}
  100%{transform:translateX(-100%) rotate(25deg);}
}

.card h3{margin:1rem 0 0.5rem;font-size:1.3rem;color:var(--fg);}
.card p{padding:0 1rem 1rem;color:var(--muted);}
.btn{
  display:inline-block;margin:1rem 0;padding:.8rem 1.8rem;border:2px solid var(--gold);
  border-radius:1.2rem;color:var(--fg);text-decoration:none;font-weight:bold;transition:all .35s;
}
.btn:hover{background:var(--gold);color:#fff;transform:scale(1.05);}
footer{text-align:center;color:var(--muted);padding:2rem 1rem;border-top:1px solid var(--border);font-size:.9rem;}
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);justify-content:center;align-items:center;z-index:999;animation:fadeIn 0.5s;}
.modal img{max-width:90%;max-height:80%;border-radius:1rem;box-shadow:0 0 40px rgba(255,255,255,0.3);}
.modal.show{display:flex;}

@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px);}100%{opacity:1;transform:translateY(0);}}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px);}100%{opacity:1;transform:translateY(0);}}
@keyframes floatPattern{0%{transform:translateY(0) rotate(0deg);}50%{transform:translateY(-30px) rotate(180deg);}100%{transform:translateY(0) rotate(360deg);}}
@keyframes fadeIn{0%{opacity:0;}100%{opacity:1;}}

