/* styles/main.css */

/* Import Roboto */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

:root{
  --brand-1: #4073ff;
  --brand-2: #21d4bc;
  --bg-page: #fafafa;
  --panel: #ffffff;
  --muted: #666666;
  --text: #111111;
}

/* Base */
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Roboto', Arial, sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  background:var(--bg-page);
}

/* Container */
main{
  max-width:1200px;
  margin:0 auto;
  padding:1rem;
}

/* Header */
.site-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:rgb(41,37,37);
  color:#fff;
  padding:0.75rem 1rem;
  position:relative;
  z-index:9999;
}
.logo h1{margin:0;font-size:1.5rem;font-weight:700}
.menu-toggle{font-size:1.5rem;background:none;border:none;color:#fff;cursor:pointer;padding:0.25rem;line-height:1}
.site-nav{display:none;position:absolute;top:100%;right:0;background:#353434;width:220px;border-radius:4px;box-shadow:0 6px 18px rgba(0,0,0,0.12)}
.site-nav ul{list-style:none;margin:0;padding:0}
.site-nav li{border-bottom:1px solid #413f3f}
.site-nav a{display:block;padding:0.75rem 1rem;color:#fff;text-decoration:none}
.site-nav a:hover,.site-nav a:focus{background:#2f2e2e}
.site-nav.active{display:block}
@media(min-width:768px){
  .menu-toggle{display:none}
  .site-nav{display:block;position:static;background:none;width:auto}
  .site-nav ul{display:flex;gap:1rem;align-items:center}
  .site-nav li{border:none}
  .site-nav a{padding:0;color:#fff}
}

/* Hero */
.hero{
  border-radius:10px;
  background:linear-gradient(135deg,var(--brand-1),var(--brand-2));
  color:#fff;
  margin:1rem 0;
  padding:2rem 1rem;
  box-shadow:0 6px 18px rgba(64,115,255,0.08);
}
.hero-inner{
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
  text-align:center;
}
.hero-copy{max-width:640px}
.hero-heading{font-size:2rem;margin:0;font-weight:700}
.hero-text{max-width:600px;margin:0 auto;color:rgba(255,255,255,0.95)}

/* Hero visual: taller container and hard-top-aligned crop */
.hero-visual{
  width:100%;
  max-width:420px;
  margin-top:0.5rem;
  display:block;
  height:360px;    /* taller so more of the head/hair can appear */
  overflow:hidden;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(16,24,40,0.12);
}

/* Image: cover + force top-aligned crop */
.hero-photo{
  width:100%;
  height:100%;
  object-fit:cover;        /* fill and crop */
  object-position:center 0%; /* anchor crop at the very top to show hair */
  display:block;
}

/* Buttons */
.btn{
  display:inline-block;
  text-decoration:none;
  padding:0.5em 0.8em;
  border-radius:6px;
  font-weight:700;
  margin-right:0.5rem;
  margin-top:0.5rem;
  cursor:pointer;
  border:none;
  transition:transform .12s ease,box-shadow .12s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(0,0,0,0.08)}
.btn.primary{background:#fff;color:var(--brand-1)}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.18)}
.about .btn,.projects .btn,.contact .btn{background:var(--brand-1);color:#fff}

/* About */
.about{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}
.about-left,.about-right{background:var(--panel);padding:1rem;border-radius:8px;box-shadow:0 3px 10px rgba(16,24,40,0.03)}
.skills{list-style:none;padding:0;margin:0;color:var(--muted)}
.skills li{padding:0.25rem 0}

/* Projects */
.projects{display:flex;flex-direction:column;gap:1rem;margin:2rem 0}
.project{background:var(--panel);padding:1rem;border-radius:8px;box-shadow:0 3px 10px rgba(16,24,40,0.03)}
.project-thumb{width:100%;height:200px;object-fit:cover;border-radius:6px;display:block;background:#f2f2f2}
.project-copy h3{font-size:1.25rem;margin:0.5rem 0;font-weight:700}

/* Contact */
.contact{margin:2rem 0}
.contact-inner{background:var(--panel);padding:1rem;border-radius:8px;text-align:center;box-shadow:0 3px 10px rgba(16,24,40,0.03)}
.contact-inner h3{font-size:1.25rem;margin-bottom:0.5rem}

/* Typography */
/* Make bold headers white */
h1, h2, h3, h4, h5, h6,
h1 strong, h2 strong, h3 strong, h4 strong, h5 strong, h6 strong,
b, strong,
.bold, .heading--bold {
  color: #ffffff !important;
  font-weight: 700;
}

/* Preserve existing heading display behavior */
h1,h2,h3{color:var(--text);margin:0 0 0.5rem 0;display:inherit}
p{color:var(--muted);margin:0 0 0.75rem 0}

/* Responsive adjustments */
@media(min-width:768px){
  .hero-inner{flex-direction:row;justify-content:space-between;text-align:left;align-items:center;gap:1.5rem}
  .hero-copy{width:60%}
  .hero-visual{width:36%;margin-top:0;height:300px} /* desktop container height */
  .hero-photo{height:100%}
  .about{flex-direction:row}
  .about-left,.about-right{flex:1}
  .projects{flex-direction:row}
  .project{flex:1}
}

/* Accessibility */
.menu-toggle:focus,.btn:focus,.site-nav a:focus{outline:3px solid rgba(64,115,255,0.2);outline-offset:2px}