/* Greek God Fitness – site styles.
   Colours and sizes are matched to the Figma design (1440px wide layout). */
:root{
  --gold:#c9a54a;
  --gold-bright:#f5c518;
  --bg-dark:#000;
  --bg-section:#1b1b1b;
  --bg-page:#212123;
  --text:#e9e9ea;
  --muted:#a9a9ad;
  --serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --sans:"Inter","Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{background:var(--bg-page);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1440px;margin:0 auto}
svg.i{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Navigation ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(14,14,15,.82);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.06)}
.nav-inner{max-width:1440px;margin:0 auto;height:56px;padding:0 56px;display:flex;align-items:center;justify-content:flex-end}
.nav ul{display:flex;gap:30px;list-style:none;align-items:center}
.nav a,.nav button{font:600 11px/1 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:#f1f1f1;text-decoration:none;background:none;border:0;cursor:pointer;padding:10px 0}
.nav a:hover,.nav button:hover{color:var(--gold)}
.has-sub{position:relative}
.has-sub button{display:flex;align-items:center;gap:5px}
.nav .sub{position:absolute;top:100%;right:-14px;min-width:200px;background:#141415;border:1px solid rgba(255,255,255,.08);padding:8px 0;list-style:none;display:none;flex-direction:column;gap:0}
.sub a{display:block;padding:11px 18px;white-space:nowrap}
.nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub,.nav .has-sub.open .sub{display:flex}
.burger{display:none!important}

/* ---------- Home: hero ---------- */
.hero{background:#000;padding-top:0}
.hero-video{width:100%;max-width:1440px;margin:0 auto;height:min(824px,max(460px,57.2vw))}
.hero-links{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:center;padding:90px 56px 110px}
.hero-links a{flex:1;text-align:center;font:400 clamp(22px,2.75vw,40px)/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);text-decoration:underline;text-underline-offset:6px;padding:14px 10px}
.hero-links a:hover{color:#e6c673}
.hero-links .sep{width:1px;height:96px;background:rgba(201,165,74,.55);flex:none}

/* ---------- Home: coach ---------- */
.coach{background:var(--bg-section)}
.coach-grid{max-width:1440px;margin:0 auto;padding:0 112px 96px;display:grid;grid-template-columns:600px 1fr;gap:48px;align-items:start}
.coach-photo{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:600/525;background:#111}
.coach-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.coach-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0,rgba(0,0,0,.35) 32%,transparent 55%)}
.coach-photo .cap{position:absolute;z-index:2;left:20px;bottom:22px}
.coach-photo h2{font:400 clamp(30px,3.3vw,44px)/1 var(--serif);text-transform:uppercase;letter-spacing:.02em;color:#fff}
.coach-photo .cap p{font:italic 400 16px/1.4 var(--serif);color:var(--gold);margin-top:8px}
.coach-text{padding-top:44px;max-width:610px}
.coach-text p{font-size:13px;line-height:1.7;color:#d2d2d4;margin-bottom:16px}
.coach-text .quote{font:italic 400 17px/1.5 var(--serif);color:var(--gold)}
.connect{margin-top:28px;font-size:12px;color:#d2d2d4}
.icons{display:flex;gap:10px;margin-top:10px}
.icons a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(201,165,74,.45);display:grid;place-items:center;color:var(--gold);font-size:15px;text-decoration:none}
.icons a:hover{background:rgba(201,165,74,.12)}

/* ---------- Home: studio / gallery ---------- */
.studio{background:#000;padding:52px 20px 20px;text-align:center}
.studio h2,.location h2{font:400 clamp(22px,2.2vw,30px)/1.2 var(--serif);letter-spacing:.2em;text-transform:uppercase;color:#f2f2f2}
.btn{display:inline-block;margin-top:24px;background:var(--gold);color:#111;font:700 10px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:14px 34px;border-radius:2px}
.btn:hover{background:#d8b65e}
.gallery{max-width:1154px;margin:36px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.gallery img{width:100%;aspect-ratio:283/223;object-fit:cover;border-radius:10px;background:#111}

.location{background:#000;text-align:center;padding:64px 20px 90px}
.location h2{font-size:clamp(30px,3.4vw,46px);letter-spacing:.02em}
.addr{text-decoration:none;display:inline-flex;align-items:center;gap:10px;margin-top:22px;font:400 16px/1.4 var(--serif);color:#d8d8da}
.addr .i{color:var(--gold);font-size:16px}
.map{max-width:1000px;height:400px;margin:34px auto 0;border-radius:10px;overflow:hidden;background:#111}
.map iframe{width:100%;height:100%;border:0}

/* ---------- Footer ---------- */
.footer{background:var(--bg-page);text-align:center;padding:60px 20px 40px}
.footer img{width:80px;height:auto;margin:0 auto 14px;border-radius:4px}
.footer .icons{justify-content:center;margin-top:6px}
.footer p{margin-top:20px;font-size:11px;color:#9b9b9f;letter-spacing:.03em}

/* ---------- Sub pages ---------- */
.page-top{padding-top:56px}
.page-title{font:400 clamp(36px,4.4vw,60px)/1.1 var(--serif);letter-spacing:.08em;text-align:center;color:#f3f3f3;padding:58px 20px 50px}
.pt-split{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:656px 1fr;align-items:center}
.pt-split img{width:100%;height:100%;min-height:600px;object-fit:cover}
.pt-split .txt{padding:40px 76px 40px 64px;max-width:760px}
.pt-split p{font-size:17px;line-height:1.65;color:#ececee;margin-bottom:22px}
.pt-split .free{color:var(--gold-bright);font-weight:700}
.pt-split .first{color:var(--gold)}
.banner{position:relative;height:319px;overflow:hidden;display:grid;place-items:center;text-align:center;padding:0 20px}
.banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banner p{position:relative;font:400 clamp(20px,2.2vw,28px)/1.35 var(--serif);letter-spacing:.1em;color:#f4f4f4;max-width:830px}
.contact-block{text-align:center;padding:60px 20px 64px}
.contact-block .lead{font:400 clamp(19px,1.9vw,24px)/1.45 var(--serif);letter-spacing:.08em;color:#f0f0f0;max-width:700px;margin:0 auto}
.textlinks{display:flex;justify-content:center;gap:30px;flex-wrap:wrap;margin-top:22px}
.textlinks a{font:500 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#c9c9cc;text-decoration:none}
.textlinks a:hover{color:var(--gold)}
.fullimg{width:100%;max-width:1440px;margin:0 auto;height:min(630px,52vw)}
.fullimg img{width:100%;height:100%;object-fit:cover}
.back{text-align:center;padding:60px 20px 20px}
.back a{display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);text-decoration:none}
.back a:hover{color:#e6c673}

.nutri{max-width:1440px;margin:0 auto;padding:0 20px;text-align:center}
.nutri .logo{width:172px;height:172px;border-radius:50%;margin:92px auto 0}
.nutri h1{font:400 clamp(30px,3vw,42px)/1.15 var(--serif);letter-spacing:.12em;color:var(--gold);margin-top:50px}
.nutri .tag{font-size:15px;color:var(--muted);margin-top:14px}
.copy{max-width:720px;margin:56px auto 0;text-align:left}
.copy p{font-size:17px;line-height:1.6;color:#ececee;margin-bottom:20px}
.foods{display:flex;justify-content:center;gap:17px;margin:56px auto 0;flex-wrap:wrap}
.foods img{width:243px;height:243px;border-radius:50%;object-fit:cover}
.nutri h2{font:400 clamp(24px,2.4vw,32px)/1.25 var(--serif);letter-spacing:.1em;color:var(--gold);max-width:800px;margin:64px auto 0}
.nutri .copy.bio{margin-top:34px}
.consult{max-width:760px;margin:30px auto 0}
.consult p{font-size:15px;line-height:1.6;color:#dcdcde}
.consult .cm{font:400 22px/1.2 var(--serif);letter-spacing:.1em;color:var(--gold);margin-top:36px}

/* ---------- Tablet / phone ---------- */
@media (max-width:1100px){
  .coach-grid{padding:0 40px 80px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pt-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pt-split .txt{padding:30px 40px 30px 40px}
}
@media (max-width:860px){
  .nav-inner{padding:0 20px;justify-content:space-between}
  .nav .brand{display:block;font:600 11px/1 var(--sans);letter-spacing:.2em;color:var(--gold);text-transform:uppercase}
  .burger{display:block!important;font-size:22px;color:#fff}
  .nav ul{position:absolute;top:56px;left:0;right:0;background:#0e0e0f;flex-direction:column;align-items:stretch;gap:0;padding:8px 20px 16px;display:none}
  .nav.open ul{display:flex}
  .nav li a,.nav li button{display:block;width:100%;text-align:left;padding:14px 0}
  .nav .sub{position:static;display:none;border:0;background:transparent;padding:0 0 0 14px;min-width:0}
  .nav .has-sub:hover .sub,.nav .has-sub:focus-within .sub{display:none}
  .nav .has-sub.open .sub{display:flex}
  .hero-links{padding:56px 20px 70px;flex-direction:column;gap:6px}
  .hero-links .sep{width:96px;height:1px;margin:8px 0}
  .coach-grid{grid-template-columns:1fr;gap:28px;padding:0 20px 64px}
  .coach-photo{aspect-ratio:600/560}
  .coach-text{padding-top:6px;max-width:none}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .pt-split{grid-template-columns:1fr}
  .pt-split img{min-height:0;aspect-ratio:4/4.2}
  .pt-split .txt{padding:36px 22px}
  .banner{height:280px}
  .foods img{width:calc(50% - 10px);height:auto;aspect-ratio:1}
  .foods{gap:14px}
  .map{height:320px}
}
@media (min-width:861px){ .nav .brand{display:none} }
