/* ====== Design Tokens ====== */
:root{
  --color-primary: #F3EDE3;  /* warm gold (PRIMARY) */
  --color-accent:  #D5F2FD;  /* pale blue (ACCENT) */
  --color-text:    #211518;  /* deep charcoal */
  --color-muted:   #5A5A4D;  /* olive gray */
  --color-white:   #FFFFFF;

  --radius: 12px;
  --radius-sm: 8px;

  --container: 1200px;
  --shadow-sm: 0 1px 4px rgba(0,0,0,.06);
  --shadow-md: 0 6px 24px rgba(0,0,0,.08);
}

/* ====== Base ====== */
*{box-sizing:border-box}
html{
  scroll-behavior:smooth;
  scroll-padding-top: 84px; /* offset for sticky header */
}
body{
  margin:0;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--color-text);
  background: var(--color-white);
  line-height:1.6;
}

/* ====== Layout ====== */
.container{
  width:100%;
  max-width: var(--container);
  padding: 0 24px;
  margin: 0 auto;
}
.section{
  padding: 96px 0;
}
.section-head{
  margin-bottom: 32px;
}
.section-head h2{
  margin:0 0 8px;
  font-size: clamp(24px, 3vw, 36px);
}
.muted{ color: color-mix(in srgb, var(--color-muted) 80%, var(--color-white)); }

/* ====== Header / Nav ====== */
.site-header{
  background: var(--color-primary);
  border-bottom: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
  box-shadow: var(--shadow-sm);
}
.nav-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  height: 72px;
}
.brand{
  color: var(--color-text);
  font-weight:700;
  text-decoration:none;
  font-size: 20px;
}

/* desktop nav */
.site-nav ul{
  display:flex;
  align-items:center;
  gap: 40px;
  list-style:none;
  margin:0; padding:0;
}
.site-nav a{
  text-decoration:none;
  color: var(--color-text);
  font-weight:500;
}
.site-nav a:hover{ text-decoration: underline; }

/* mobile toggle */
.nav-toggle{
  display:none;
  background:none;
  border:0;
  padding:8px;
  border-radius:8px;
}
.nav-toggle-bar{
  display:block;
  width:24px; height:2px;
  background: var(--color-text);
  margin:5px 0;
  border-radius: 2px;
}

/* ====== Buttons ====== */
.btn{
  display:inline-block;
  padding: 10px 16px;
  border-radius: var(--radius-sm);
  text-decoration:none;
  font-weight:600;
  border: 1px solid transparent;
  transition: transform .04s ease, background-color .2s ease, border-color .2s ease;
}
.btn-accent{
  background: var(--color-accent);
  color: var(--color-text);
  border-color: color-mix(in srgb, var(--color-text) 8%, transparent);
}
.btn-accent:hover{
  background: #B7E4F9; /* darker accent on hover */
  transform: translateY(-1px);
}

/* ====== Hero ====== */
.hero{
  background: var(--color-primary);
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items:center;
}
.hero h1{
  margin:0 0 16px;
  font-size: clamp(32px, 4.5vw, 48px);
  line-height:1.15;
}
.hero p{ 
  margin: 0 0 20px; 
  padding: 16px 0;
}

.hero-media img{
  width:100%;
  height:100%;
  object-fit: cover;
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  background: transparent;
}

/* Socials */
.socials{
  display:flex;
  align-items:center;
  gap: 16px;
  margin-top: 20px;
}
.social-link{
  display:grid;
  place-items:center;
  width:60px; height:60px;
  border-radius: 50%;
  background: var(--color-accent);
  color: var(--color-text);
  border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
  text-decoration:none;
  font-weight:700;
}
.social-link:hover{
  background: #B7E4F9;
}
.social-link svg{
  width:28px; height:28px;
  fill: var(--color-text);
}

/* ====== Portfolio ====== */
.portfolio{
  background: var(--color-primary);
}

.portfolio-subsection{
  margin-bottom: 80px;
}

.subsection-title{
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 600;
  margin: 0 0 32px;
  text-align: center;
  color: var(--color-text);
}

.phone-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  justify-items: center;
}

.phone-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.phone-frame{
  width: 280px;
  height: 560px;
  background: #1a1a1a;
  border-radius: 35px;
  padding: 4px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.3);
  position: relative;
}

.phone-frame::before{
  content: '';
  position: absolute;
  top: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 6px;
  background: #333;
  border-radius: 3px;
}

.phone-screen{
  width: 100%;
  height: 100%;
  background: #000;
  border-radius: 30px;
  overflow: hidden;
  position: relative;
}

.video-placeholder{
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 14px;
}

.video-player{
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  background: #000;
}

.video-player::-webkit-media-controls-panel{
  background-color: rgba(0, 0, 0, 0.7);
}

.video-cover{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  cursor: pointer;
  z-index: 2;
  pointer-events: auto;
}

.video-cover.hidden{
  display: none;
}

.phone-caption{
  margin: 16px 0 0;
  font-size: 14px;
  color: var(--color-muted);
  font-weight: 500;
  max-width: 200px;
}

/* ====== Contact ====== */
.contact{
  background: var(--color-primary);
}
.contact-inner{
  max-width: 800px;
  text-align:center;
}
.contact h2{ margin-top:0; font-size: clamp(24px, 3vw, 36px); }
.cta-row{
  display:flex; gap:16px; align-items:center; justify-content:center; flex-wrap:wrap;
}
.socials-inline .social-link{
  display:grid;
  place-items:center;
  width:60px; height:60px;
  border-radius: 50%;
  background: var(--color-accent);
  color: var(--color-text);
  border: 1px solid color-mix(in srgb, var(--color-text) 8%, transparent);
  text-decoration:none;
  font-weight:700;
  margin: 0 8px;
}

/* ====== Footer ====== */
.site-footer{
  background: var(--color-primary);
  border-top: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
  padding: 24px 0;
  text-align:center;
}

/* ====== Responsive ====== */
@media (max-width: 980px){
  .hero-grid{ grid-template-columns: 1fr; }
}

@media (max-width: 800px){
  .site-nav{ display:none; }
  .nav-toggle{ display:block; }
  .site-nav.open{ 
    display:block; 
    position:absolute; right:24px; top:72px;
    background: var(--color-primary);
    border: 1px solid color-mix(in srgb, var(--color-text) 10%, transparent);
    border-radius: var(--radius);
    box-shadow: var(--shadow-md);
  }
  .site-nav ul{
    flex-direction: column;
    padding: 12px;
    gap: 8px;
  }
  .phone-grid{ 
    grid-template-columns: 1fr; 
    gap: 24px;
  }
  .phone-frame{
    width: 240px;
    height: 480px;
  }
}

@media (max-width: 540px){
  .phone-grid{ 
    grid-template-columns: 1fr; 
    gap: 20px;
  }
  .phone-frame{
    width: 200px;
    height: 400px;
  }
}
