/* global React */
/* global I, Placeholder, useRoute, useToast, useCart, PACKAGES, PACKAGE_LANES */
const { useMemo: useServicesMemo } = React;

function PackagesSection() {
  const { goto } = useRoute();
  const cart = useCart();
  const toast = useToast();
  const [activeLane, setActiveLane] = React.useState("nights");
  const lanes = window.PACKAGE_LANES;
  const filtered = window.PACKAGES.filter((p) => p.lane === activeLane);

  const addPackage = (pkg, e) => {
    e.stopPropagation();
    cart.add({ id: pkg.id, name: `${pkg.name} · deposit`, variant: pkg.code, price: pkg.price, qty: 1, kind: "package" });
    cart.setOpen(true);
    toast(`${pkg.name} deposit added.`);
  };

  return (
    <section className="container" style={{ paddingTop: "80px", paddingBottom: "64px" }}>
      <div style={{ display: "grid", gridTemplateColumns: "1fr 1.4fr", gap: 56, marginBottom: 36, alignItems: "end" }}>
        <div>
          <span className="eyebrow eyebrow-gold">§ Packages</span>
          <h2 className="serif" style={{ fontSize: "clamp(36px, 4.6vw, 60px)", lineHeight: 1.0, margin: "16px 0 0", letterSpacing: "-0.01em" }}>
            Curated. Bookable.<br/>Three ways to start.
          </h2>
        </div>
        <p className="pretty" style={{ fontSize: 15.5, lineHeight: 1.65, color: "var(--text-1)", maxWidth: 580, justifySelf: "end" }}>
          Don't know exactly what you need? Pick a package. Each one has a fixed scope, a deposit you can pay today, and a real human reading the brief within a working day. If your project is bigger than what's here, the open brief is one tab over.
        </p>
      </div>

      {/* Lane tabs */}
      <div style={{ display: "flex", gap: 8, flexWrap: "wrap", marginBottom: 28 }}>
        {lanes.map((l) => (
          <button key={l.key} className="chip" data-active={activeLane === l.key} onClick={() => setActiveLane(l.key)} style={{ padding: "10px 16px" }}>
            <I name={l.icon} size={13} stroke="currentColor" /> &nbsp;{l.label}
          </button>
        ))}
      </div>
      <p style={{ fontSize: 14, color: "var(--text-2)", margin: "0 0 28px", maxWidth: 640 }}>
        {lanes.find((l) => l.key === activeLane)?.blurb}
      </p>

      {/* Cards */}
      <div style={{ display: "grid", gridTemplateColumns: `repeat(${Math.min(filtered.length, 2)}, 1fr)`, gap: 24 }}>
        {filtered.map((pkg) => (
          <article key={pkg.id} style={{
            border: "1px solid var(--border)", borderRadius: 12, padding: 28,
            background: "linear-gradient(180deg, #0e0e0e, #0a0a0a)",
            display: "flex", flexDirection: "column", gap: 18,
          }}>
            <div style={{ display: "flex", justifyContent: "space-between", alignItems: "start" }}>
              <span className="num">{pkg.code}</span>
              <span className="mono" style={{ fontSize: 11, color: "var(--gold)", letterSpacing: "0.12em", textTransform: "uppercase" }}>
                {lanes.find((l) => l.key === pkg.lane)?.label}
              </span>
            </div>
            <div>
              <h3 className="serif" style={{ fontSize: 30, margin: "0 0 6px", lineHeight: 1.05 }}>{pkg.name}</h3>
              <p style={{ fontSize: 14, color: "var(--text-2)", margin: 0 }}>{pkg.subtitle}</p>
            </div>

            <div style={{ display: "grid", gap: 12, paddingTop: 8, borderTop: "1px solid var(--border-1)" }}>
              <div style={{ display: "flex", justifyContent: "space-between", fontSize: 13, color: "var(--text-1)" }}>
                <span className="mono" style={{ color: "var(--text-3)" }}>Duration</span><span>{pkg.duration}</span>
              </div>
              <div style={{ display: "flex", justifyContent: "space-between", fontSize: 13, color: "var(--text-1)", gap: 16 }}>
                <span className="mono" style={{ color: "var(--text-3)", flexShrink: 0 }}>Delivery</span><span style={{ textAlign: "right" }}>{pkg.deliver}</span>
              </div>
              <div style={{ display: "flex", justifyContent: "space-between", fontSize: 13, color: "var(--text-1)" }}>
                <span className="mono" style={{ color: "var(--text-3)" }}>Pricing</span><span>{pkg.totalLabel}</span>
              </div>
            </div>

            <ul style={{ margin: 0, padding: 0, listStyle: "none", display: "grid", gap: 6 }}>
              {pkg.highlights.map((h) => (
                <li key={h} style={{ fontSize: 13, color: "var(--text-2)", display: "flex", gap: 8 }}>
                  <I name="check" size={13} stroke="var(--gold)" /> {h}
                </li>
              ))}
            </ul>

            <div style={{ marginTop: "auto", display: "flex", gap: 10, flexWrap: "wrap" }}>
              <button className="btn btn-gold" onClick={(e) => addPackage(pkg, e)}>
                Reserve · ${pkg.deposit} deposit <I name="arrow" size={14} />
              </button>
              <button className="btn btn-line" onClick={() => goto("booking", { package: pkg.id })}>
                Book this package
              </button>
            </div>
          </article>
        ))}
      </div>

      <div style={{ marginTop: 40, paddingTop: 32, borderTop: "1px solid var(--border-1)", display: "flex", justifyContent: "space-between", alignItems: "center", gap: 24, flexWrap: "wrap" }}>
        <p className="serif-it" style={{ fontSize: 18, color: "var(--text-1)", margin: 0, maxWidth: 520 }}>
          Just know you want photography or video? Skip the package and start an open brief.
        </p>
        <button className="btn btn-ghost" onClick={() => goto("booking")}>Open brief instead <I name="arrow" size={14} /></button>
      </div>
    </section>
  );
}

/* ─────────────────────────────────────────────────────────────────
   Services index, three disciplines, one team
   ───────────────────────────────────────────────────────────────── */
function Services() {
  const { route, goto } = useRoute();
  const services = Object.values(window.SERVICES);
  return (
    <main className="page-services">
      {/* Header */}
      <section className="container page-services-hero">
        <span className="eyebrow eyebrow-gold">§ Services</span>
        <h1 className="serif page-services-h1">
          Image, film, and web.<br/>One team. No handoffs.
        </h1>
        <div className="page-services-hero-grid">
          <p className="pretty page-services-lede">
            A boutique studio led by Simeon Reid, with a trusted bench of camera, sound, and edit collaborators that scale up per shoot. The same hand reads the brief, runs the set, and signs off the final cut. That closeness is the work. It's why the cut, the grade, and the page feel like one hand.
          </p>
          <ul className="services-stats">
            <li><b>2021</b><span>Founded · still operator-led</span></li>
            <li><b>3</b><span>Disciplines, one calendar</span></li>
            <li><b>1</b><span>Project lead, start to finish</span></li>
          </ul>
        </div>
      </section>

      <hr className="rule" />

      {/* Three service cards */}
      <section className="container" style={{ paddingTop: "64px", paddingBottom: "64px" }}>
        <div className="services-grid">
          {services.map((s, i) => (
            <article key={s.key} className="service-card" onClick={() => goto("service", { key: s.key })}>
              {(() => {
                const ms = window.MEDIA?.home?.services?.[s.key];
                return (
                  <Placeholder
                    label={s.name.toLowerCase()}
                    variant={i === 0 ? "warm" : i === 1 ? "deep" : "cool"}
                    code={`EV-S-${s.key.slice(0, 2).toUpperCase()}`}
                    src={ms?.kind === "image" ? ms.file : undefined}
                    video={ms?.kind === "video" ? ms.file : undefined}
                    poster={ms?.kind === "video" ? ms.poster : undefined}
                    focal={ms?.focal}
                  />
                );
              })()}
              <div className="service-card-body">
                <div className="service-card-num mono">0{i + 1} / 03</div>
                <div style={{ display: "flex", justifyContent: "space-between", alignItems: "flex-start", gap: 16, marginBottom: 14 }}>
                  <h2 className="serif" style={{ fontSize: 44, margin: 0, letterSpacing: "-0.015em", lineHeight: 1 }}>{s.name}</h2>
                  <I name={s.icon} size={28} stroke="var(--gold)" style={{ flexShrink: 0, marginTop: 6 }} />
                </div>
                <p className="serif" style={{ fontSize: 20, color: "var(--text-1)", lineHeight: 1.4, margin: "0 0 18px", fontStyle: "italic" }}>
                  {s.tagline}
                </p>
                <p style={{ fontSize: 14.5, lineHeight: 1.65, color: "var(--text-2)", margin: "0 0 28px", maxWidth: 560 }}>
                  {s.lede}
                </p>
                <div className="service-card-meta">
                  <div>
                    <span className="eyebrow">Tiers</span>
                    <p className="mono" style={{ fontSize: 12, color: "var(--text-1)", margin: "8px 0 0" }}>{s.tiers.length} engagements</p>
                  </div>
                  <div>
                    <span className="eyebrow">Starts at</span>
                    <p className="mono" style={{ fontSize: 12, color: "var(--gold)", margin: "8px 0 0" }}>{s.tiers[0].priceBand.replace("from ", "")}</p>
                  </div>
                  <div>
                    <span className="eyebrow">Sample work</span>
                    <p className="mono" style={{ fontSize: 12, color: "var(--text-1)", margin: "8px 0 0" }}>
                      {window.WORK.filter(w => w.discipline.some(d => s.descriptors.some(dd => dd.toLowerCase().includes(d.toLowerCase().split(" ")[0])))).length || 2} cases
                    </p>
                  </div>
                </div>
                <div className="service-card-cta">
                  <span>Read the discipline</span>
                  <I name="arrow" size={16} stroke="var(--gold)" />
                </div>
              </div>
            </article>
          ))}
        </div>
      </section>

      <hr className="rule" />

      {/* CURATED PACKAGES */}
      <PackagesSection />

      <hr className="rule" />

      {/* Cross-discipline band */}
      <section className="container" style={{ paddingTop: "80px", paddingBottom: "80px" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1fr 1.6fr", gap: 64 }}>
          <div>
            <span className="eyebrow eyebrow-gold">§ The whole studio</span>
            <h2 className="serif" style={{ fontSize: "clamp(36px, 4.5vw, 56px)", lineHeight: 1, margin: "16px 0 0", letterSpacing: "-0.01em" }}>
              Most of our best work crosses two rooms.
            </h2>
          </div>
          <div>
            <p className="pretty" style={{ fontSize: 15, lineHeight: 1.6, color: "var(--text-1)", maxWidth: 620, margin: "0 0 24px" }}>
              A capsule launch is rarely just photography, it's image, motion, and a microsite that holds them.
              When we pitch, we pitch the whole project. One scope, one timeline, one fee.
            </p>
            <ul className="combo-list">
              <li>
                <I name="cam" size={16} stroke="var(--gold)" /><span>+</span><I name="film" size={16} stroke="var(--gold)" />
                <strong>Capsule launch</strong>
                <span className="mono">Stills + 60s social + microsite · 4 weeks</span>
              </li>
              <li>
                <I name="film" size={16} stroke="var(--gold)" /><span>+</span><I name="monitor" size={16} stroke="var(--gold)" />
                <strong>Brand film + landing</strong>
                <span className="mono">Hero film + dedicated page · 8 weeks</span>
              </li>
              <li>
                <I name="cam" size={16} stroke="var(--gold)" /><span>+</span><I name="monitor" size={16} stroke="var(--gold)" />
                <strong>Editorial + e-comm</strong>
                <span className="mono">Lookbook + storefront build · 12 weeks</span>
              </li>
            </ul>
          </div>
        </div>
      </section>

      <hr className="rule" />

      {/* Calendar / intake */}
      <section className="container" style={{ paddingTop: "72px", paddingBottom: "96px" }}>
        <div className="calendar-band">
          <div>
            <span className="eyebrow eyebrow-gold">§ Calendar · {new Date().getFullYear()}</span>
            <h2 className="serif" style={{ fontSize: "clamp(36px, 4.5vw, 56px)", lineHeight: 1, margin: "16px 0 12px", letterSpacing: "-0.01em" }}>
              Booking briefs now.
            </h2>
            <p style={{ fontSize: 14, color: "var(--text-2)", margin: 0, maxWidth: 520, lineHeight: 1.6 }}>
              The studio reads every inquiry by hand and writes back inside a working day. Quarter-by-quarter intake; we'll tell you the soonest available date on the first reply.
            </p>
          </div>
          <div className="calendar-grid">
            {[
              ["Q1", "Open", "open"],
              ["Q2", "Open", "open"],
              ["Q3", "Open", "open"],
              ["Q4", "Open", "open"],
            ].map(([q, label, state]) => (
              <div key={q} className={`cal-cell cal-${state}`}>
                <span className="mono">{q}</span>
                <span>{label}</span>
              </div>
            ))}
          </div>
          <button className="btn btn-gold btn-lg" onClick={() => goto("booking")}>
            Submit a brief <I name="arrow" size={16} />
          </button>
        </div>
      </section>
    </main>
  );
}

/* ─────────────────────────────────────────────────────────────────
   Service detail, discipline page
   ───────────────────────────────────────────────────────────────── */
function ServiceDetail() {
  const { route, goto } = useRoute();
  const key = route.params?.key || "photography";
  const s = window.SERVICES[key] || window.SERVICES.photography;
  const related = useServicesMemo(
    () => window.WORK.filter(p => p.discipline.some(d => s.descriptors.some(dd => dd.toLowerCase().includes(d.toLowerCase().split(" ")[0])))).slice(0, 3),
    [key]
  );
  const disciplineList = Object.values(window.SERVICES);
  const idx = disciplineList.findIndex(x => x.key === key);
  const next = disciplineList[(idx + 1) % disciplineList.length];

  return (
    <main className="page-service-detail">
      {/* Discipline header */}
      <section className="container" style={{ paddingTop: "56px", paddingBottom: "16px" }}>
        <div className="crumbs">
          <a onClick={() => goto("home")}>Home</a>
          <I name="chev" size={11} />
          <a onClick={() => goto("services")}>Services</a>
          <I name="chev" size={11} />
          <span>{s.name}</span>
        </div>
      </section>

      <section className="container" style={{ paddingTop: "24px", paddingBottom: "56px" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1.4fr 1fr", gap: 64, alignItems: "end" }}>
          <div>
            <div style={{ display: "flex", alignItems: "center", gap: 14, marginBottom: 20 }}>
              <I name={s.icon} size={28} stroke="var(--gold)" />
              <span className="mono" style={{ fontSize: 11, letterSpacing: "0.18em", color: "var(--text-3)", textTransform: "uppercase" }}>
                Discipline · 0{idx + 1} of 0{disciplineList.length}
              </span>
            </div>
            <h1 className="serif" style={{ fontSize: "clamp(56px, 8vw, 112px)", lineHeight: 0.94, letterSpacing: "-0.02em", margin: 0 }}>
              {s.name}.
            </h1>
            <p className="serif" style={{ fontSize: 24, lineHeight: 1.35, color: "var(--text-1)", margin: "28px 0 0", maxWidth: 620, fontStyle: "italic" }}>
              {s.tagline}
            </p>
          </div>
          <div>
            <p style={{ fontSize: 15, lineHeight: 1.65, color: "var(--text-2)", margin: 0, maxWidth: 460 }}>{s.lede}</p>
            <div style={{ display: "flex", flexWrap: "wrap", gap: 8, marginTop: 22 }}>
              {s.descriptors.map(d => <span key={d} className="chip">{d}</span>)}
            </div>
          </div>
        </div>
      </section>

      {/* Hero — pulls real media from MEDIA.home.services[<service key>] */}
      <section className="container" style={{ paddingTop: "0", paddingBottom: "80px" }}>
        {(() => {
          const ms = window.MEDIA?.home?.services?.[s.key];
          return (
            <Placeholder
              label={s.name.toLowerCase()}
              variant={idx === 0 ? "warm" : idx === 1 ? "deep" : "cool"}
              code={`EV-${s.key.slice(0, 2).toUpperCase()}-HERO`}
              src={ms?.kind === "image" ? ms.file : undefined}
              video={ms?.kind === "video" ? ms.file : undefined}
              poster={ms?.kind === "video" ? ms.poster : undefined}
              focal={ms?.focal || "center"}
              fit="cover"
              style={{ aspectRatio: "21/9" }} />
          );
        })()}
      </section>

      <hr className="rule" />

      {/* Studio note */}
      <section className="container" style={{ paddingTop: "80px", paddingBottom: "80px" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1fr 1.6fr", gap: 64 }}>
          <span className="eyebrow eyebrow-gold">§ The studio note</span>
          <p className="serif" style={{ fontSize: "clamp(24px, 2.4vw, 32px)", lineHeight: 1.35, color: "var(--text)", margin: 0, letterSpacing: "-0.005em", maxWidth: 780 }}>
            {s.blurb}
          </p>
        </div>
      </section>

      <hr className="rule" />

      {/* For whom + Outcomes, two columns */}
      <section className="container" style={{ paddingTop: "80px", paddingBottom: "80px" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: 64 }}>
          <div>
            <span className="eyebrow eyebrow-gold">§ Who this is for</span>
            <h3 className="serif" style={{ fontSize: 32, lineHeight: 1.15, margin: "16px 0 24px", letterSpacing: "-0.01em" }}>
              The brief that fits this room.
            </h3>
            <ul className="dot-list">
              {s.forWhom.map((w, i) => <li key={i}>{w}</li>)}
            </ul>
          </div>
          <div>
            <span className="eyebrow eyebrow-gold">§ What you walk away with</span>
            <h3 className="serif" style={{ fontSize: 32, lineHeight: 1.15, margin: "16px 0 24px", letterSpacing: "-0.01em" }}>
              The outcomes we underwrite.
            </h3>
            <ul className="num-list">
              {s.outcomes.map((o, i) => <li key={i}><span className="mono">0{i + 1}</span><span>{o}</span></li>)}
            </ul>
          </div>
        </div>
      </section>

      <hr className="rule" />

      {/* Process */}
      <section className="container" style={{ paddingTop: "80px", paddingBottom: "80px" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1fr 1.8fr", gap: 64, marginBottom: 48 }}>
          <span className="eyebrow eyebrow-gold">§ Process</span>
          <h3 className="serif" style={{ fontSize: "clamp(32px, 4vw, 48px)", lineHeight: 1.05, margin: 0, letterSpacing: "-0.01em" }}>
            Four stages, never more, never less.
          </h3>
        </div>
        <div className="process-grid">
          {s.process.map(([n, name, body], i) => (
            <div key={n} className="process-step">
              <div className="process-step-head">
                <span className="mono">{n}</span>
                <h4 className="serif">{name}</h4>
              </div>
              <p>{body}</p>
              {i < s.process.length - 1 && <div className="process-step-rule" />}
            </div>
          ))}
        </div>
      </section>

      <hr className="rule" />

      {/* Tiers / pricing */}
      <section className="container" style={{ paddingTop: "80px", paddingBottom: "80px" }}>
        <div style={{ display: "grid", gridTemplateColumns: "1fr 1.8fr", gap: 64, marginBottom: 48 }}>
          <span className="eyebrow eyebrow-gold">§ Engagements</span>
          <div>
            <h3 className="serif" style={{ fontSize: "clamp(32px, 4vw, 48px)", lineHeight: 1.05, margin: 0, letterSpacing: "-0.01em" }}>
              Three tiers. The bands are honest.
            </h3>
            <p style={{ fontSize: 14, color: "var(--text-2)", margin: "16px 0 0", maxWidth: 580, lineHeight: 1.6 }}>
              Entry tiers publish a starting band. Senior tiers vary too widely to print —
              every proposal is fixed-fee, scoped, and sent within three working days.
            </p>
          </div>
        </div>
        <div className="tiers-grid">
          {s.tiers.map((t, i) => (
            <div key={t.key} className={`tier-card ${i === 0 ? "tier-card-feat" : ""}`}>
              <div className="tier-head">
                <span className="mono">0{i + 1} · {t.priceLabel}</span>
                <h4 className="serif">{t.name}</h4>
              </div>
              <div className="tier-price">
                <span className="serif">{t.priceBand}</span>
                {!t.public && <span className="chip chip-gold">Bespoke</span>}
              </div>
              <dl className="tier-meta">
                <div><dt>Duration</dt><dd>{t.duration}</dd></div>
                <div><dt>Deliverable</dt><dd>{t.deliver}</dd></div>
              </dl>
              <ul className="tier-highlights">
                {t.highlights.map(h => <li key={h}><I name="check" size={13} stroke="var(--gold)" />{h}</li>)}
              </ul>
              <button className={`btn ${i === 0 ? "btn-gold" : "btn-line"} btn-md`} style={{ width: "100%" }} onClick={() => goto("booking", { service: s.key, tier: t.key })}>
                {t.public ? "Start a brief" : "Inquire"}
                <I name="arrow" size={14} />
              </button>
            </div>
          ))}
        </div>
      </section>

      {/* Related work */}
      {related.length > 0 && (
        <>
          <hr className="rule" />
          <section className="container" style={{ paddingTop: "80px", paddingBottom: "80px" }}>
            <div style={{ display: "flex", justifyContent: "space-between", alignItems: "end", marginBottom: 32 }}>
              <div>
                <span className="eyebrow eyebrow-gold">§ Recent {s.name.toLowerCase()}</span>
                <h3 className="serif" style={{ fontSize: "clamp(32px, 4vw, 48px)", lineHeight: 1.05, margin: "16px 0 0", letterSpacing: "-0.01em" }}>
                  In the room.
                </h3>
              </div>
              <a className="lk lk-arrow" onClick={() => goto("work")}>All work <I name="arrow" size={13} /></a>
            </div>
            <div className="related-grid">
              {related.map(p => (
                <article key={p.id} className="related-card" onClick={() => goto("project", { id: p.id })}>
                  <Placeholder
                    label={p.title.toLowerCase()}
                    variant={p.cover.v}
                    code={p.cover.code}
                    src={p.cover.image}
                    video={p.cover.video}
                    poster={p.cover.poster}
                    focal={p.cover.focal || "center"}
                    fit="contain"
                    style={{ aspectRatio: "4/3", marginBottom: 16 }} />
                  <div className="mono" style={{ fontSize: 10, letterSpacing: "0.16em", color: "var(--text-3)", textTransform: "uppercase", marginBottom: 6 }}>
                    {p.client} · {p.year}
                  </div>
                  <h4 className="serif" style={{ fontSize: 22, margin: 0, letterSpacing: "-0.005em" }}>{p.title}</h4>
                  <p style={{ fontSize: 13, color: "var(--text-2)", margin: "8px 0 0", lineHeight: 1.5 }}>{p.summary}</p>
                </article>
              ))}
            </div>
          </section>
        </>
      )}

      {/* CTA + Next discipline */}
      <hr className="rule" />
      <section className="container" style={{ paddingTop: "80px", paddingBottom: "96px" }}>
        <div className="service-bottom">
          <div className="service-cta">
            <span className="eyebrow eyebrow-gold">§ Begin</span>
            <h3 className="serif" style={{ fontSize: "clamp(40px, 5vw, 64px)", lineHeight: 0.98, margin: "16px 0 20px", letterSpacing: "-0.02em" }}>
              Have a {s.name.toLowerCase()} brief?
            </h3>
            <p style={{ fontSize: 15, color: "var(--text-2)", lineHeight: 1.6, margin: "0 0 28px", maxWidth: 520 }}>
              The booking flow takes about six minutes. We read every brief by hand and write back within one working day.
            </p>
            <div style={{ display: "flex", gap: 12, flexWrap: "wrap" }}>
              <button className="btn btn-gold btn-lg" onClick={() => goto("booking", { service: s.key })}>
                Submit a brief <I name="arrow" size={16} />
              </button>
              <button className="btn btn-line btn-lg" onClick={() => goto("contact", { topic: "project" })}>
                Or write directly <I name="mail" size={14} />
              </button>
            </div>
          </div>
          <div className="next-discipline" onClick={() => goto("service", { key: next.key })}>
            <span className="eyebrow">Next discipline</span>
            <div style={{ display: "flex", justifyContent: "space-between", alignItems: "end", marginTop: 12 }}>
              <h4 className="serif" style={{ fontSize: 36, margin: 0, letterSpacing: "-0.01em" }}>{next.name}</h4>
              <I name={next.icon} size={26} stroke="var(--gold)" />
            </div>
            <p style={{ fontSize: 13, color: "var(--text-2)", margin: "12px 0 18px", lineHeight: 1.55 }}>{next.tagline}</p>
            <span className="lk lk-arrow">Open the room <I name="arrow" size={14} /></span>
          </div>
        </div>
      </section>
    </main>
  );
}

Object.assign(window, { Services, ServiceDetail });
