/* ── Hero ── */
.hero {
  position: relative; min-height: 62svh;
  display: flex; flex-direction: column; justify-content: center;
  padding: 64px 40px;
  overflow: hidden;
}
.hero-title { font-family: var(--ff-display); font-size: 66px; line-height: .94; letter-spacing: .02em; color: #f0ede6; margin-bottom: 22px; }
.hero-title em { color: #FF5C00; font-style: normal; }
.hero-video-bg { position: absolute; inset: 0; background: #141414; z-index: 0; }
.hero-video-bg video { width: 100%; height: 100%; object-fit: cover; opacity: .5; }
.hero-video-placeholder {
  width: 100%; height: 100%;
  background: repeating-linear-gradient(45deg,#181818 0,#181818 2px,#131313 2px,#131313 14px);
  opacity: .5;
}
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(13,13,13,1) 0%, rgba(13,13,13,.75) 18%, rgba(13,13,13,.28) 42%, rgba(13,13,13,.22) 100%); z-index: 1; }
.hero-content { position: relative; z-index: 2; }
.hero-eye { font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: #FF5C00; margin-bottom: 20px; }
.hero-logo { width: min(340px, 80vw); margin-bottom: 20px; }
.hero-tagline { font-size: 16px; color: rgba(240,237,230,.58); line-height: 1.7; max-width: 480px; margin-bottom: 32px; }
.hero-tagline strong { color: #f0ede6; font-weight: 400; }
.hero-actions { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }

/* ── Services ── */
.services { padding: 64px 40px; border-bottom: .5px solid rgba(240,237,230,.07); }
.svc-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; background: rgba(240,237,230,.06); }
.svc { background: #0d0d0d; padding: 34px 30px; display: block; transition: background .18s; }
.svc:hover { background: #111; }
.svc-we { font-family: var(--ff-mono); font-size: 11px; color: rgba(240,237,230,.35); margin-bottom: 4px; }
.svc-name { font-family: var(--ff-display); font-size: 34px; letter-spacing: .04em; color: #f0ede6; margin-bottom: 12px; }
.svc-desc { font-size: 13px; line-height: 1.7; color: rgba(240,237,230,.46); }
.svc-wit  { font-size: 12px; color: rgba(240,237,230,.3); margin-top: 9px; font-style: italic; }
.svc-arr  { display: block; margin-top: 20px; font-size: 16px; color: #FF5C00; opacity: .35; transition: opacity .18s; }
.svc:hover .svc-arr { opacity: 1; }

/* ── Fixes ── */
.fixes { padding: 64px 40px; border-bottom: .5px solid rgba(240,237,230,.07); background: #0a0a0a; }
.fixes-head { font-family: var(--ff-display); font-size: 38px; letter-spacing: .02em; color: #f0ede6; margin-bottom: 12px; display: flex; align-items: center; }
.fixes-sub  { font-size: 14px; line-height: 1.7; color: rgba(240,237,230,.44); margin-bottom: 40px; max-width: 480px; }
.fixes-row  { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(240,237,230,.06); }
.fix { background: #0a0a0a; padding: 26px 22px; }
.fix-label { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #FF5C00; margin-bottom: 9px; display: flex; align-items: center; }
.fix-title { font-family: var(--ff-display); font-size: 22px; letter-spacing: .03em; color: #f0ede6; margin-bottom: 7px; }
.fix-desc  { font-size: 13px; line-height: 1.7; color: rgba(240,237,230,.44); }

/* ── Why ── */
.why { padding: 64px 40px; border-bottom: .5px solid rgba(240,237,230,.07); }
.why-grid  { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.why-head  { font-family: var(--ff-display); font-size: 46px; line-height: 1.03; color: #f0ede6; margin-bottom: 18px; }
.why-head em { color: #FF5C00; font-style: normal; }
.why-body  { font-size: 14px; line-height: 1.8; color: rgba(240,237,230,.5); }
.why-items { display: flex; flex-direction: column; }
.why-item  { display: flex; gap: 18px; padding: 20px 0; border-bottom: .5px solid rgba(240,237,230,.06); }
.why-item:first-child { padding-top: 0; }
.why-item:last-child  { border-bottom: none; }
.why-num   { font-family: var(--ff-mono); font-size: 11px; color: #FF5C00; min-width: 20px; padding-top: 2px; flex-shrink: 0; }
.why-title { font-size: 14px; font-weight: 500; color: #f0ede6; margin-bottom: 4px; }
.why-text  { font-size: 13px; line-height: 1.65; color: rgba(240,237,230,.48); }

/* ── Reveal animations ── */
[data-reveal] {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1);
}
[data-reveal].is-visible {
  opacity: 1;
  transform: none;
}
[data-reveal][data-delay="1"] { transition-delay: .12s; }
[data-reveal][data-delay="2"] { transition-delay: .24s; }
[data-reveal][data-delay="3"] { transition-delay: .36s; }
[data-reveal][data-delay="4"] { transition-delay: .48s; }

/* ── Responsive ── */
@media (max-width: 900px) {
  .svc-grid   { grid-template-columns: 1fr; }
  .fixes-row  { grid-template-columns: 1fr; }
  .why-grid   { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 600px) {
  .hero       { padding: 40px 20px 36px; min-height: 60svh; }
  .hero-title { font-size: 46px; }
  .hero-logo  { width: min(260px, 70vw); }
  .services   { padding: 48px 20px; }
  .fixes      { padding: 48px 20px; }
  .fixes-head { font-size: 28px; }
  .why        { padding: 48px 20px; }
  .why-head   { font-size: 36px; }
}
