/* ============================================================
   HourHub — home page styles (landing only)
   ============================================================ */

/* ── Hero ── */
.hero{padding:64px 0 40px;overflow:hidden;position:relative}
.hero-glow{
  position:absolute;top:-160px;left:50%;transform:translateX(-50%);
  width:720px;height:520px;pointer-events:none;
  background:radial-gradient(closest-side,var(--glow),transparent 70%);
  filter:blur(10px);
}
.hero-grid{display:grid;gap:44px;align-items:center;position:relative}
@media(min-width:900px){.hero-grid{grid-template-columns:1.05fr .95fr;gap:40px;padding-top:36px}}
.hero-copy h1{font-size:clamp(38px,6.2vw,60px);margin-top:18px}
.hero-lede{color:var(--text-2);font-size:clamp(17px,2.2vw,20px);margin-top:20px;max-width:36ch;line-height:1.55}
.store-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero-note{font-family:var(--mono);font-size:12.5px;color:var(--muted);margin-top:20px;letter-spacing:.02em}

/* ── Phone mockup ── */
.hero-phone{display:flex;justify-content:center}
.phone{
  width:280px;aspect-ratio:9/19.5;border-radius:44px;
  background:#0A0A0A;border:1px solid var(--line);
  padding:10px;position:relative;box-shadow:var(--shadow);
}
.phone.sm{width:200px;border-radius:32px;padding:8px}
.phone-notch{
  position:absolute;top:14px;left:50%;transform:translateX(-50%);
  width:110px;height:22px;background:#0A0A0A;border-radius:0 0 14px 14px;z-index:2;
}
.phone.sm .phone-notch{width:78px;height:16px;top:12px}
.phone-screen{
  width:100%;height:100%;border-radius:34px;overflow:hidden;
  background:#121212;position:relative;
}
.phone.sm .phone-screen{border-radius:26px}
.shot-fill{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;padding:26px 18px;
  background:linear-gradient(160deg,#151515,#0F0F0F);
  color:var(--muted);font-family:var(--mono);font-size:12px;text-align:center;
}
.shot-fill img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}

/* mock content in hero phone */
.mock-timer{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:8px}
.mock-time{font-family:var(--display);font-weight:800;font-size:34px;color:var(--green);letter-spacing:-.02em}
.mock-label{font-size:12px;color:var(--muted)}
.mock-card{
  width:100%;background:#1C1C1C;border-radius:14px;padding:14px;
  display:flex;align-items:center;gap:10px;margin-top:12px;
}
.mock-card strong{display:block;color:#EDEDED;font-family:var(--display);font-size:14px;font-weight:700}
.mock-card em{color:var(--muted);font-style:normal;font-size:12px}
.mock-dot{width:10px;height:10px;border-radius:50%;background:#FF9500;flex:none}
.mock-badge{
  margin-left:auto;font-size:9px;color:var(--green);
  background:var(--glow);padding:4px 8px;border-radius:6px;font-weight:600;
}
.mock-hint{margin-top:auto;opacity:.5;font-size:10px}

/* ── About ── */
.about-grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
@media(min-width:760px){.about-grid{grid-template-columns:repeat(3,1fr)}}
.about-cell{background:var(--surface);padding:30px 26px}
.about-cell h3{font-size:17px;font-weight:700;color:var(--green)}
.about-cell p{color:var(--text-2);font-size:15px;margin-top:10px;line-height:1.6}

/* ── Features ── */
.features{background:var(--surface-2)}
.feat-grid{display:grid;gap:18px;grid-template-columns:1fr}
@media(min-width:560px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.feat-grid{grid-template-columns:repeat(4,1fr)}}
.feat-grid .card{background:var(--ink)}
:root[data-theme="light"] .feat-grid .card{background:var(--surface)}

/* ── How it works ── */
.steps{list-style:none;display:grid;gap:20px;counter-reset:st;max-width:760px;margin:0 auto}
@media(min-width:680px){.steps{grid-template-columns:repeat(2,1fr)}}
.step{
  display:flex;gap:18px;align-items:flex-start;
  background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:24px;
}
.step-n{
  font-family:var(--mono);font-size:14px;font-weight:500;
  color:var(--green);border:1px solid var(--green);border-radius:10px;
  width:42px;height:42px;display:grid;place-items:center;flex:none;
}
.step h3{font-size:17px;font-weight:700}
.step p{color:var(--text-2);font-size:15px;margin-top:6px;line-height:1.55}

/* ── Screenshots ── */
.screens{background:var(--surface-2)}
.shot-gallery{
  display:grid;gap:24px;grid-template-columns:repeat(2,1fr);justify-items:center;
}
@media(min-width:760px){.shot-gallery{grid-template-columns:repeat(4,1fr)}}
.shot{background:none;border:0;cursor:pointer;padding:0;transition:transform .2s var(--ease)}
.shot:hover{transform:translateY(-6px)}

/* ── FAQ ── */
.wrap.narrow{max-width:760px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}
.faq-q{
  width:100%;background:none;border:0;cursor:pointer;color:var(--text);
  font-family:var(--display);font-size:16px;font-weight:600;text-align:left;
  padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.faq-x{position:relative;width:16px;height:16px;flex:none}
.faq-x::before,.faq-x::after{
  content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:var(--green);transition:transform .25s var(--ease);
}
.faq-x::before{width:16px;height:2px}
.faq-x::after{width:2px;height:16px}
.faq-item.open .faq-x::after{transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.faq-item.open .faq-a{max-height:320px}
.faq-a p{color:var(--text-2);font-size:15px;line-height:1.65;padding:0 22px 22px}
.faq-a a{color:var(--green)}

/* ── Contact CTA ── */
.contact-card{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);
  padding:clamp(36px,6vw,64px);text-align:center;position:relative;overflow:hidden;
}
.contact-card::before{
  content:'';position:absolute;top:-120px;left:50%;transform:translateX(-50%);
  width:400px;height:300px;background:radial-gradient(closest-side,var(--glow),transparent 70%);
}
.contact-card>*{position:relative}
.contact-card h2{margin-top:14px}
.contact-card p{color:var(--text-2);font-size:17px;margin-top:14px;max-width:44ch;margin-inline:auto}
.contact-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px}

/* ── Lightbox ── */
.lightbox{
  position:fixed;inset:0;z-index:100;
  background:rgba(0,0,0,.85);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;padding:24px;
}
.lightbox img{max-width:min(92vw,420px);max-height:88vh;border-radius:24px;box-shadow:var(--shadow)}
.lb-close{
  position:absolute;top:20px;right:24px;width:44px;height:44px;
  background:var(--surface);border:1px solid var(--line);border-radius:50%;
  color:var(--text);font-size:24px;cursor:pointer;line-height:1;
}
