/* style.css — vanilla CSS replicate of previous look */

/* variables */
:root{
  --gold: #d4af37;
  --gold-2: #b88e2b;
  --bg-1: #060607;
  --bg-2: #0d0d0f;
  --card-bg: rgba(255,255,255,0.02);
  --muted: #cfcfcf;
  --text: #e9e9e9;
  --container: 1100px;
  --radius-lg: 14px;
}

/* reset & base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:
    radial-gradient(1200px 500px at 10% 10%, rgba(212,175,55,0.03), transparent 6%),
    linear-gradient(180deg,var(--bg-1) 0%, var(--bg-2) 60%);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.5;
}

/* utility */
.container{max-width:var(--container);margin:0 auto;padding:0 1rem}
.center{text-align:center}
.muted{color:#cfcfcf}
.small{font-size:.9rem}

/* NAV */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:60;background:rgba(10,10,10,0.55);backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,0.03)}
.nav-inner{height:64px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand-badge{width:46px;height:46px;border-radius:999px;padding:4px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02))}
.brand-badge img{height:36px;display:block}
.brand-text{display:inline-block;color:var(--muted);font-weight:600;letter-spacing:.4px}
.nav-links{display:flex;gap:1.1rem;align-items:center}
.nav-link{text-decoration:none;color:#dcdcdc;font-size:.95rem;position:relative;padding:.35rem .45rem}
.nav-link::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .22s}
.nav-link:hover{color:var(--gold)}
.nav-link:hover::after{width:100%}

/* mobile */
.mobile-btn{display:none;background:transparent;border:0;color:#e6e6e6;padding:.35rem}
.icon{width:22px;height:22px}
.mobile-menu{display:none;background:rgba(0,0,0,0.8);border-top:1px solid rgba(255,255,255,0.03);padding:.5rem}
.mobile-menu.open{display:block}
.mobile-link{display:block;padding:.6rem .8rem;color:#eaeaea;text-decoration:none}

/* hero */
.hero{padding-top:6.5rem;padding-bottom:3.5rem;position:relative}
.hero-inner{text-align:center;padding:3rem 0}
.hero-logo{height:112px;max-width:380px;filter:drop-shadow(0 14px 36px rgba(0,0,0,0.65));margin:0 auto 1rem;display:block}
.hero-title{font-family:"Cormorant Garamond", serif;font-weight:700;letter-spacing:2px;line-height:0.96;font-size:clamp(2rem,4.2vw,3.6rem);background:linear-gradient(90deg,var(--gold),var(--gold-2));-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase;margin:.35rem 0}
.hero-sub{color:rgba(230,230,230,0.82);letter-spacing:3px;font-size:0.92rem;margin-top:.5rem}

/* intro card */
.intro-card{margin:2.2rem auto 0;width:min(860px,94%);display:flex;align-items:center;gap:1.25rem;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));border-radius:var(--radius-lg);padding:1.1rem 1.4rem;border:1px solid rgba(255,255,255,0.04);box-shadow:0 8px 30px rgba(2,2,2,0.45)}
.intro-left{width:92px;height:92px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%, rgba(212,175,55,0.14), rgba(212,175,55,0.06));box-shadow:0 8px 24px rgba(0,0,0,0.6);animation:float 6s ease-in-out infinite}
.intro-left img{width:66px;height:auto;object-fit:contain}
@keyframes float{0%{transform:translateY(0) rotate(-0.6deg)}50%{transform:translateY(-8px) rotate(.6deg)}100%{transform:translateY(0) rotate(-0.6deg)}}
.intro-text{text-align:left}
.intro-name{font-family:"Cormorant Garamond", serif;font-size:1.18rem;color:var(--gold);margin:0}
.intro-role{margin:.1rem 0 .6rem;color:#f3e9d1;font-weight:600;font-size:.92rem}
.typing{display:inline-block;border-right:2px solid rgba(212,175,55,0.85);padding-right:6px;white-space:nowrap;overflow:hidden;color:#efe7cf;font-size:.96rem}

/* particles */
.particles{position:absolute;right:6%;top:8%;pointer-events:none;display:none}
.particle{width:8px;height:8px;border-radius:999px;background:var(--gold);opacity:.14;position:absolute;box-shadow:0 8px 20px rgba(0,0,0,0.6);animation:drift 9s infinite linear}
.particle:nth-child(1){left:6px;top:6px;animation-delay:0s}
.particle:nth-child(2){left:32px;top:36px;animation-delay:2s}
.particle:nth-child(3){left:10px;top:88px;animation-delay:4s}
@keyframes drift{from{transform:translateY(0) translateX(0) scale(1);opacity:.18}50%{transform:translateY(-26px) translateX(18px) scale(1.08);opacity:.9}to{transform:translateY(0) translateX(4px) scale(1);opacity:.18}}

/* sections */
.section{padding:3.25rem 0}
.section .section-head{margin-bottom:1.25rem;text-align:left}
.section .section-head.center{text-align:center}
.section h2{font-size:1.85rem;margin:0 0 .5rem}
.divider{height:4px;width:84px;margin:.5rem 0 1.15rem;border-radius:8px;background:linear-gradient(90deg,var(--gold),var(--gold-2))}
.lead{color:rgba(255,255,255,0.85);max-width:60rem;margin:0 auto}

/* two-column layout */
.two-col{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:860px){.two-col{grid-template-columns:1fr 1fr}}

/* cards */
.card{background:var(--card-bg);padding:1rem;border-radius:12px;border:1px solid rgba(255,255,255,0.04)}
.contact-card h3{margin:0 0 .5rem}
.person{display:flex;gap:1rem;align-items:center}
.person-badge{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg, rgba(212,175,55,0.12), rgba(0,0,0,0.04))}
.person-badge img{height:40px}

/* expertise grid */
.expert-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:1rem}
@media(min-width:640px){.expert-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.expert-grid{grid-template-columns:repeat(3,1fr)}}
.expert-card{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(0,0,0,0.02));border-radius:12px;padding:1.2rem;border:1px solid rgba(255,255,255,0.04);transition:transform .36s cubic-bezier(.2,.9,.2,1),box-shadow .36s,border-color .28s}
.expert-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 24px 48px rgba(2,2,2,0.6);border-color:rgba(212,175,55,0.9)}
.expert-row{display:flex;gap:1rem;align-items:flex-start}
.expert-icon{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(180deg, rgba(212,175,55,0.12), rgba(0,0,0,0.04));color:var(--gold);font-size:1.4rem}
.card-title{font-weight:600;color:#FFFFF0;margin-bottom:6px}

/* contact section */
.contact-list{display:flex;flex-direction:column;gap:1rem}
.contact-row{display:flex;gap:1rem;align-items:center}
.icon{width:44px;height:44px;border-radius:8px;background:rgba(255,255,255,0.03);display:flex;align-items:center;justify-content:center}
.muted-label{color:#d9d9d9;font-size:.9rem;margin:0}

/* form styles */
.form-card{background:#fff;padding:1rem;border-radius:14px}
.form-card h3{margin:0 0 .6rem;color:#111}
.form-label{display:block;font-size:.95rem;color:#666;margin-bottom:.55rem}
.form-label input,
.form-label textarea,
.form-label select{
  display:block;width:100%;padding:.65rem;border:1px solid #ddd;border-radius:8px;color:#000;font-size:1rem;background:#fff;box-sizing:border-box
}
.form-label textarea{min-height:110px;resize:vertical}
.cta{display:inline-block;width:100%;padding:.7rem;border-radius:10px;border:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));color:#0a0a0a;font-weight:600;cursor:pointer}

/* success message */
.success{background:#e6f7ea;border:1px solid #56b56a;padding:1rem;border-radius:8px;color:#06532a}

/* footer */
.site-footer{background:transparent;padding:2rem 0}
.footer-inner{text-align:center}
.brand-row{display:flex;align-items:center;gap:1rem;justify-content:center;margin-bottom:.6rem}
.footer-logo{height:40px}
.brand-name{color:var(--gold);font-weight:700}

/* fade-in helper */
.fade-in{opacity:0;transform:translateY(16px);transition:all .6s cubic-bezier(.2,.9,.2,1)}
.fade-in.visible{opacity:1;transform:none}

/* responsive tweaks */
@media(max-width:860px){
  .nav-links{display:none}
  .mobile-btn{display:inline-block}
  .hero-logo{height:96px}
  .intro-card{padding:.9rem}
  .brand-text{display:none}
  .particles{display:none}
}

/* Back to top button */
.back-to-top {
  position: fixed;
  right: 20px;
  bottom: 24px;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.04));
  color: var(--text, #e9e9e9);
  border: 1px solid rgba(255,255,255,0.06);
  box-shadow: 0 10px 24px rgba(2,2,2,0.45);
  cursor: pointer;
  font-size: 20px;
  transform: translateY(8px);
  opacity: 0;
  transition: opacity .28s ease, transform .28s ease, background .18s;
  z-index: 120;
}

/* visible when scrolled down */
.back-to-top.visible {
  opacity: 1;
  transform: translateY(0);
}

/* hover/focus states */
.back-to-top:hover,
.back-to-top:focus {
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  color: #070708;
  outline: none;
  box-shadow: 0 18px 36px rgba(2,2,2,0.6);
}

/* keyboard focus visible */
.back-to-top:focus {
  box-shadow: 0 0 0 4px rgba(212,175,55,0.16);
}

/* slightly smaller on very small screens */
@media (max-width:420px) {
  .back-to-top { right: 12px; bottom: 18px; width:44px; height:44px; font-size:18px; }
}

