
:root{
  --bg:#0a0a0a; --panel:#151515; --text:#f5f5f5; --muted:#999;
  --accent:#d4af37; --accent-dark:#b8941f; --border:rgba(212,175,55,0.15)
}

/* Reset / base */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}

/* ------------------ IMAGE SIZING (no squish) ------------------ */
/* For inline <img> logos, use max-height with auto width to preserve natural aspect */
.nav-logo{
  max-height:36px;   /* size in the fixed nav */
  height:auto;
  width:auto;        /* preserves intrinsic ratio */
  transition:transform 0.3s,opacity 0.3s;
  opacity:0; visibility:hidden;
}
.hero-logo{
  max-height:52px;   /* brand row inside hero */
  height:auto;
  width:auto;
  object-fit:contain; /* safe if source has large transparent bounds */
}
.bio-photo{
  width:100%;
  height:auto;       /* let intrinsic ratio control the shape */
  object-fit:cover;
}

/* Layout */
.container{padding:0 6%;max-width:1600px;margin:0 auto}
section{padding:140px 0;position:relative}
.section-header{text-align:center;margin-bottom:5rem}
.section-label{font-size:0.75rem;letter-spacing:0.3em;color:var(--accent);font-weight:700;text-transform:uppercase;margin-bottom:1rem}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:900;margin-bottom:1.5rem;line-height:1.1}
.section-subtitle{font-size:1.15rem;color:var(--muted);max-width:700px;margin:0 auto;font-weight:300}
.gold{color:var(--accent)}

/* NAV */
.nav{
  position:fixed;top:0;width:100%;z-index:1000;
  padding:1.5rem 0;transition:all 0.3s;
  background:transparent;border-bottom:1px solid transparent
}
.nav.scrolled{background:rgba(10,10,10,1);border-bottom:1px solid var(--border);padding:1rem 0}
.nav-content{display:flex;justify-content:space-between;align-items:center}
.nav-logo:hover{transform:scale(1.05)}
.nav.scrolled .nav-logo{opacity:1;visibility:visible}
.nav-links{display:flex;gap:3rem;list-style:none}
.nav-links a{color:var(--text);text-decoration:none;font-size:0.9rem;font-weight:500;letter-spacing:0.05em;transition:color 0.3s;position:relative}
.nav-links a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent);transition:width 0.3s}
.nav-links a:hover{color:var(--accent)}
.nav-links a:hover::after{width:100%}
.nav-cta{background:var(--accent);color:#000;padding:0.75rem 2rem;border-radius:4px;font-weight:700;text-decoration:none;transition:all 0.3s;font-size:0.85rem;letter-spacing:0.05em}
.nav-cta:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 10px 30px rgba(212,175,55,0.3)}

/* ------------------ HERO ------------------ */
.hero{
  min-height:100vh;          /* fallback */
  min-height:100svh;         /* avoids URL bar cropping on mobile */
  position:relative;display:flex;align-items:center;overflow:hidden;
  padding-top:96px;          /* clears fixed nav */
}
.hero-bg{
  position:absolute;inset:0;
  background-image:
    linear-gradient(135deg, rgba(10,10,10,0.6) 0%, rgba(10,10,10,0.35) 100%),
    url("../images/hero-bg.png");
  background-size:cover;background-position:center;background-repeat:no-repeat;
  z-index:0;
}
/* Slight right bias helps framing at wider screens; adjust if needed */
@media (min-width: 601px){
  .hero-bg{ background-position: 60% center; }
}
.hero-pattern{
  position:absolute;inset:0;
  background-image:
    radial-gradient(circle at 20% 50%, rgba(212,175,55,0.05) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(212,175,55,0.08) 0%, transparent 50%);
  z-index:1
}
.hero-grid{
  position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(212,175,55,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(212,175,55,0.03) 1px, transparent 1px);
  background-size:100px 100px;z-index:1;opacity:0.3
}

/* Content & spacing above the stats band */
.hero-content{position:relative;z-index:10;max-width:1000px;padding-bottom:120px;}
@media (min-width:601px) and (max-width:1024px){ .hero-content{padding-bottom:180px;} }
@media (max-width:600px){ .hero-content{padding-bottom:220px;} } /* phone clearance fix */

/* Stats band overlay */
.hero-stats-band{
  position:absolute;left:0;right:0;bottom:32px;z-index:9;padding:16px 0;
}
@media (min-width:601px) and (max-width:1024px){ .hero-stats-band{bottom:24px;} }
@media (max-width:600px){ .hero-stats-band{bottom:14px;} }

.hero-stats-surface{
  margin:0 6%;
  background:rgba(0,0,0,0.35);
  border:1px solid var(--border);
  border-radius:12px;
  padding:18px 22px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.hero-stats-row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:2rem;align-items:center;text-align:center;
}
.stat-item{display:flex;flex-direction:column;align-items:center}
.stat-number{font-size:clamp(1.6rem, 3.2vw, 2.4rem);font-weight:900;color:var(--accent);font-family:'Playfair Display',serif;line-height:1}
.stat-label{font-size:0.82rem;color:#ddd;text-transform:uppercase;letter-spacing:0.12em;margin-top:0.45rem;opacity:0.9}

/* Intro content */
@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.hero-brand{display:flex;align-items:center;gap:20px;margin-bottom:3rem;opacity:0;animation:fadeInUp 1s forwards 0.2s}
.brand-divider{width:1px;height:50px;background:linear-gradient(to bottom, transparent, var(--accent), transparent)}
.brand-tag{font-weight:700;letter-spacing:0.2em;color:var(--accent);font-size:0.75rem}
.hero h1{
  font-family:'Playfair Display',serif;font-weight:900;
  font-size:clamp(2.2rem, 6vw, 5.2rem);
  line-height:1.05;margin-bottom:1.6rem;
  opacity:0;animation:fadeInUp 1s forwards 0.4s
}
.hero h1 span{display:block}
.hero h1 .gold{
  background:linear-gradient(135deg, #d4af37 0%, #f4d03f 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text
}
.hero-description{
  font-size:clamp(1rem, 2.2vw, 1.25rem);
  color:#ccc;max-width:700px;margin-bottom:3rem;font-weight:300;line-height:1.8;
  opacity:0;animation:fadeInUp 1s forwards 0.6s
}

/* ------------------ CTAs (robust states) ------------------ */
a.cta,
a.cta:link,
a.cta:visited{
  display:inline-flex;align-items:center;justify-content:center;gap:0.75rem;
  padding:1.2rem 3rem;background:var(--accent);color:#000;
  font-weight:800;letter-spacing:0.05em;text-decoration:none;
  border-radius:4px;border:2px solid transparent;transition:all 0.3s
}
a.cta:hover{
  background:var(--accent-dark);color:#000;text-decoration:none;
  transform:translateY(-3px);box-shadow:0 15px 40px rgba(212,175,55,0.4)
}
a.cta.cta-secondary,
a.cta.cta-secondary:link,
a.cta.cta-secondary:visited{
  background:transparent;color:var(--text);border-color:var(--accent)
}
a.cta.cta-secondary:hover{background:var(--accent);color:#000}

/* CTA layout spacing */
.hero-ctas{display:flex;gap:1.5rem;flex-wrap:wrap;opacity:0;animation:fadeInUp 1s forwards 0.8s}
@media (min-width:768px) and (max-width:1024px){ .hero-ctas{gap:1rem;margin-bottom:8px;} }
@media (max-width:600px){
  .hero-ctas{display:flex;flex-direction:column;width:100%;gap:0.65rem;margin-bottom:10px;}
  .cta{width:100%;justify-content:center;}
}

/* ------------------ OTHER SECTIONS ------------------ */
.hook{background:var(--panel);position:relative;overflow:hidden}
.hook::before{content:'';position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle, rgba(212,175,55,0.08) 0%, transparent 70%);border-radius:50%}
.hook-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.hook-content h2{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,4vw,3.5rem);margin-bottom:2rem;line-height:1.2}
.hook-features{display:flex;flex-direction:column;gap:2rem;margin-top:2rem}
.feature-item{display:flex;gap:1.5rem;align-items:start}
.feature-icon{width:50px;height:50px;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-dark) 100%);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:900;color:#000;font-size:1.25rem}
.feature-text h4{font-size:1.15rem;margin-bottom:0.5rem;color:var(--accent)}
.feature-text p{color:var(--muted);line-height:1.7}
.hook-visual{position:relative;height:500px;background:linear-gradient(135deg, #1a1a1a 0%, #0f0f0f 100%);border-radius:16px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;overflow:hidden}
.magic-circle{width:300px;height:300px;border:2px solid var(--accent);border-radius:50%;position:relative;animation:rotate 20s linear infinite;opacity:0.3}
.magic-circle::before,.magic-circle::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);border:2px solid var(--accent);border-radius:50%}
.magic-circle::before{width:200px;height:200px;animation:rotate 15s linear infinite reverse}
.magic-circle::after{width:100px;height:100px;animation:rotate 10s linear infinite}
@keyframes rotate{to{transform:rotate(360deg)}}

.bio-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:6rem;align-items:center}
.bio-image-wrapper{position:relative}
.bio-image-frame{background:linear-gradient(135deg, #1a1a1a, #0f0f0f);padding:2rem;border-radius:16px;border:1px solid var(--border);position:relative;overflow:hidden}
.bio-image-frame::before{content:'';position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg, var(--accent), transparent, var(--accent));border-radius:16px;opacity:0;transition:opacity 0.5s;z-index:-1}
.bio-image-frame:hover::before{opacity:0.3}
.bio-accent{position:absolute;bottom:2rem;right:2rem;width:120px;height:120px;background:linear-gradient(135deg, var(--accent), var(--accent-dark));border-radius:50%;opacity:0.1;z-index:-1}
.bio-content h3{font-size:0.85rem;letter-spacing:0.2em;color:var(--accent);margin-bottom:1rem;text-transform:uppercase;font-weight:700}
.bio-content h2{font-family:'Playfair Display',serif;font-size:2.5rem;margin-bottom:2rem;line-height:1.2}
.bio-content p{font-size:1.05rem;margin-bottom:1.5rem;color:#ccc;line-height:1.8}

.keynotes-section{background:var(--panel)}
.keynotes-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:2rem}
.keynote-card{background:linear-gradient(135deg, #1a1a1a 0%, #151515 100%);border:1px solid var(--border);border-radius:16px;padding:3rem;position:relative;overflow:hidden;transition:all 0.5s;cursor:pointer}
.keynote-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--accent), var(--accent-dark));transform:scaleX(0);transform-origin:left;transition:transform 0.5s}
.keynote-card:hover::before{transform:scaleX(1)}
.keynote-card:hover{transform:translateY(-10px);border-color:var(--accent);box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.keynote-number{font-size:4rem;font-weight:900;color:rgba(212,175,55,0.1);line-height:1;margin-bottom:1rem;font-family:'Playfair Display',serif}
.keynote-category{font-size:0.75rem;letter-spacing:0.2em;color:var(--accent);font-weight:700;text-transform:uppercase;margin-bottom:1rem}
.keynote-title{font-family:'Playfair Display',serif;font-size:1.75rem;margin-bottom:1rem;line-height:1.3}
.keynote-problem{font-size:0.95rem;color:var(--muted);margin-bottom:2rem;line-height:1.7}
.keynote-divider{height:1px;background:var(--border);margin:2rem 0}
.keynote-takeaway{font-size:0.85rem;color:var(--muted);margin-bottom:0.5rem;text-transform:uppercase;letter-spacing:0.1em;font-weight:600}
.keynote-solution{font-size:1rem;color:#fff;line-height:1.7}

.guarantee{background:linear-gradient(135deg, #000 0%, #0f0f0f 100%);text-align:center;position:relative;overflow:hidden}
.guarantee::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle, rgba(212,175,55,0.08) 0%, transparent 70%);border-radius:50%}
.guarantee-content{position:relative;max-width:900px;margin:0 auto}
.guarantee-badge{width:120px;height:120px;background:linear-gradient(135deg, var(--accent), var(--accent-dark));border-radius:50%;margin:0 auto 3rem;display:flex;align-items:center;justify-content:center;font-size:3rem;box-shadow:0 20px 60px rgba(212,175,55,0.3)}
.guarantee h2{font-family:'Playfair Display',serif;font-size:3rem;margin-bottom:2rem}
.guarantee p{font-size:1.2rem;line-height:1.8;color:#ccc;margin-bottom:1.5rem}

.testimonials-section{background:var(--panel)}
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:2.5rem}
.testimonial-card{background:linear-gradient(135deg, #1a1a1a 0%, #151515 100%);border:1px solid var(--border);border-radius:16px;padding:2.5rem;position:relative;overflow:hidden;transition:all 0.5s}
.testimonial-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, var(--accent), var(--accent-dark));transform:scaleX(0);transform-origin:left;transition:transform 0.5s}
.testimonial-card:hover::before{transform:scaleX(1)}
.testimonial-card:hover{transform:translateY(-10px);border-color:var(--accent);box-shadow:0 20px 60px rgba(0,0,0,0.5)}
.testimonial-quote{font-size:1.05rem;color:#fff;line-height:1.8;margin-bottom:2rem;font-style:italic;font-weight:300}
.testimonial-author{border-top:1px solid var(--border);padding-top:1.5rem}
.author-name{font-weight:600;color:var(--accent);font-size:1rem;margin-bottom:0.25rem}
.author-title{font-size:0.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.05em;font-weight:500}

.clients-section{background:linear-gradient(135deg, #000 0%, #0f0f0f 100%);text-align:center;position:relative;overflow:hidden}
.clients-section::before{content:'';position:absolute;top:-50%;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle, rgba(212,175,55,0.05) 0%, transparent 70%);border-radius:50%}
.clients-heading{font-family:'Playfair Display',serif;font-size:2.2rem;margin-bottom:4rem;position:relative;z-index:2}
.clients-carousel{position:relative;z-index:2;margin:0 -6%}
.clients-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:3rem;padding:0 6%;align-items:center}
.client-logo{display:flex;align-items:center;justify-content:center;height:120px;opacity:0.6;transition:all 0.3s;filter:grayscale(100%)}
.client-logo:hover{opacity:1;filter:grayscale(0%);transform:scale(1.05)}
.client-logo img{max-height:100%;max-width:100%;object-fit:contain}

#contact{background:var(--panel)}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:6rem;align-items:start}
.contact-info h2{font-family:'Playfair Display',serif;font-size:3rem;margin-bottom:2rem;line-height:1.2}
.contact-info p{font-size:1.1rem;color:var(--muted);margin-bottom:3rem;line-height:1.8}
.contact-form{background:linear-gradient(135deg, #1a1a1a 0%, #151515 100%);border:1px solid var(--border);border-radius:16px;padding:3rem}
.form-group{margin-bottom:2rem}
label{display:block;font-size:0.85rem;color:var(--muted);margin-bottom:0.75rem;text-transform:uppercase;letter-spacing:0.05em;font-weight:600}
input,select,textarea{width:100%;padding:1rem 1.25rem;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:8px;font-family:inherit;font-size:1rem;transition:all 0.3s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(212,175,55,0.1)}
textarea{min-height:140px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
button{width:100%;background:linear-gradient(135deg, var(--accent), var(--accent-dark));color:#000;padding:1.25rem;border:none;font-weight:800;cursor:pointer;border-radius:8px;font-size:1rem;letter-spacing:0.05em;transition:all 0.3s}
button:hover{transform:translateY(-2px);box-shadow:0 15px 40px rgba(212,175,55,0.4)}
.form-links{display:flex;gap:1rem;margin-top:1.5rem}
.form-link{flex:1;text-align:center;padding:1rem;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);text-decoration:none;font-size:0.9rem;font-weight:600;transition:all 0.3s}
.form-link:hover{border-color:var(--accent);color:var(--accent)}

.footer{background:#000;padding:3rem 0 2rem;border-top:1px solid var(--border);text-align:center;color:var(--muted);font-size:0.9rem}

/* ------------------ MEDIA QUERIES ------------------ */
@media (max-width:900px){
  section{padding:100px 0}
  .nav-links{display:none}
  .hero{padding:120px 0 200px}
  .hook-grid{grid-template-columns:1fr;gap:3rem}
  .bio-grid{grid-template-columns:1fr;gap:3rem}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .hero-stats-row{gap:1.2rem}
  .stat-number{font-size:clamp(1.5rem, 3.6vw, 2.2rem)}
  .form-row{grid-template-columns:1fr}
}
@media (max-width:700px){
  .hero-stats-row{grid-template-columns:1fr;gap:0.75rem}
  .hero-stats-surface{padding:14px 16px}
}
@media (max-width:600px){
  .container{padding:0 5%}
  section{padding:80px 0}
  .hero{padding:100px 0 200px} /* synced to phone spacing */
  .hero-brand{flex-direction:column;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
  .brand-divider{display:none}

  /* Compact stats band on phones */
  .hero-stats-surface{padding:12px 14px;margin:0 5%}
  .stat-number{font-size:clamp(1.3rem, 5.2vw, 1.6rem)}
  .stat-label{font-size:0.78rem;letter-spacing:0.14em}
}
@supports not (height: 100svh){
  .hero{min-height:100vh}
}
