:root{
  --bg:#0b0b0b;
  --panel:#111214;
  --panel-2:#17191c;
  --paper:#f3f0eb;
  --paper-2:#ebe6de;
  --text:#f7f4ee;
  --muted:#c7c0b7;
  --dark:#111;
  --ink:#1b1b1b;
  --orange:#ff701f;
  --orange-2:#ff9f44;
  --pink:#ff3ec8;
  --line:rgba(255,255,255,.14);
  --shadow:0 20px 70px rgba(0,0,0,.35);
  --radius:18px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
  line-height:1.5;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
.container{width:min(var(--max),calc(100% - 40px));margin:0 auto}
.skip-link{position:absolute;left:-999px;top:0;background:var(--orange);padding:12px;color:#000;z-index:99}.skip-link:focus{left:12px}
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;background:linear-gradient(180deg,rgba(7,7,8,.88),rgba(7,7,8,.48));backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.site-header.is-scrolled{background:rgba(7,7,8,.94)}
.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;flex-direction:column;gap:5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.brand-box{font-size:1.45rem;line-height:1;border:3px solid #fff;padding:8px 9px 7px;background:#0b0b0b;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.brand-box span{color:var(--orange)}
.brand small{font-size:.72rem;letter-spacing:.19em;text-align:center;color:#fff}
.main-nav{display:flex;align-items:center;gap:28px;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.main-nav a{opacity:.92}.main-nav a:hover,.main-nav a.active{color:var(--orange);opacity:1}.nav-cta{border:1px solid var(--orange);border-radius:4px;padding:14px 22px;color:#fff!important}.nav-cta:hover{background:var(--orange);color:#111!important}
.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0}
.section-dark{background:#0b0b0b;color:var(--text)}.section-light{background:var(--paper);color:var(--ink)}
.hero{position:relative;min-height:790px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;padding-top:130px}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(255,112,31,.18),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.72) 45%,rgba(0,0,0,.35) 100%),url('../assets/images/workshop-bg.svg') center/cover;opacity:1}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:40px;padding:40px 0 54px}.hero-copy{padding-top:30px}.eyebrow{margin:0 0 10px;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.eyebrow.orange{color:var(--orange)}
h1{font-size:clamp(3.1rem,7vw,6.7rem);line-height:.9;margin:0 0 24px;text-transform:uppercase;letter-spacing:-.04em}h1 span{display:block;color:#fff;text-shadow:0 4px 0 rgba(255,255,255,.08)}h1 strong{display:block;color:var(--orange);font-weight:950}
.hero-intro{font-size:1.18rem;max-width:530px;margin:0 0 28px;color:#f4eee6}.button-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;border-radius:5px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;transition:.2s ease;border:1px solid transparent}.button:after{content:'→';margin-left:10px}.button-primary{background:var(--orange);color:white}.button-primary:hover{background:#ff8a35;transform:translateY(-1px)}.button-ghost{border-color:rgba(255,255,255,.42);color:#fff}.button-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}.button-dark{background:#111;color:#fff}.button-dark:hover{background:#2a2a2a}.button-pink{background:transparent;color:#fff;border-color:var(--pink)}.button-pink:hover{background:var(--pink);color:#111}.hero-media{filter:drop-shadow(0 40px 80px rgba(0,0,0,.55))}.hero-media img{width:100%;border-radius:10px}
.service-strip{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;padding:0 0 28px}.strip-item{display:flex;align-items:center;gap:10px;font-size:.73rem;text-transform:uppercase;font-weight:900;letter-spacing:.04em;color:#eee}.strip-icon{color:var(--orange);font-size:1.45rem}
.featured{padding:46px 0 30px;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1px);background-size:14px 14px}.featured-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}.featured-image img{border-radius:6px;box-shadow:var(--shadow)}.featured-copy h2,.section-heading h2,.section-title-row h2,.shop-copy h2,.astro-copy h2,.contact-copy h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1;margin:0 0 16px;text-transform:uppercase;letter-spacing:-.04em}.featured-copy p{font-size:1.02rem}.tick-list{list-style:none;padding:0;margin:20px 0 26px;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 16px}.tick-list li{font-size:.88rem;font-weight:800}.tick-list li:before{content:'✓';display:inline-grid;place-items:center;background:var(--orange);color:white;border-radius:50%;width:18px;height:18px;margin-right:8px;font-size:.72rem}.video-link{color:var(--orange);font-weight:900;text-transform:uppercase;font-size:.85rem}.compact{padding:30px 0 54px}.section-heading{text-align:center;max-width:780px;margin:0 auto 26px}.services-grid{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid #c8c1b8}.service-card{padding:27px 18px;text-align:center;border-right:1px solid #c8c1b8;background:rgba(255,255,255,.36);min-height:200px}.service-card:last-child{border-right:0}.service-card .icon{font-size:2.3rem;color:var(--orange);height:44px}.service-card h3{font-size:.92rem;text-transform:uppercase;margin:10px 0 8px}.service-card p{font-size:.82rem;margin:0;color:#3c3935}.projects{padding:60px 0}.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.text-link{color:var(--orange);font-weight:900;text-transform:uppercase;font-size:.85rem}.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.project-card{background:var(--panel);border:1px solid rgba(255,255,255,.15);border-radius:8px;overflow:hidden;transition:.2s ease}.project-card:hover{transform:translateY(-4px);border-color:rgba(255,112,31,.6)}.project-card img{width:100%;height:170px;object-fit:cover}.project-card-body{padding:16px}.project-card h3{font-size:1rem;line-height:1.1;margin:0 0 8px}.project-card small{color:var(--orange-2);font-size:.74rem}.project-card p{font-size:.84rem;color:#c7c0b7;margin:10px 0 0}.shop{padding:52px 0}.shop-grid{display:grid;grid-template-columns:.62fr 1.38fr;gap:30px;align-items:center}.shop-copy p{color:#3c3935}.shop-items{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.shop-item{background:#fff;border-radius:8px;box-shadow:0 9px 30px rgba(0,0,0,.08);overflow:hidden}.shop-item img{height:128px;width:100%;object-fit:cover}.shop-item div{padding:11px}.shop-item h3{font-size:.86rem;margin:0}.shop-item p{font-size:.76rem;margin:4px 0 0;color:var(--orange);font-weight:900}.astro{position:relative;overflow:hidden;padding:70px 0}.astro-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.55)),url('../assets/images/arcade-bg.svg') center/cover}.astro-grid{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:center}.sunset-logo{font-size:3.2rem;line-height:.9;font-weight:950;text-align:center;color:#4bf7ff;text-shadow:0 0 18px #4bf7ff,0 0 25px var(--pink);padding:50px 20px;border:1px solid rgba(255,255,255,.15);background:radial-gradient(circle at 50% 30%,rgba(255,114,31,.65),rgba(255,62,200,.25) 38%,rgba(0,0,0,.2) 39%),linear-gradient(transparent 62%,rgba(255,62,200,.35) 63%,transparent 64%);border-radius:8px}.sunset-logo span{color:#ff5dca}.astro-copy p{max-width:640px;color:#e7ddd6}.contact{padding:70px 0;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.78)),url('../assets/images/workshop-contact.svg') center/cover}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px}.contact-copy p{color:#e2d8ce}.steps{padding-left:20px;color:#f1e8dd}.steps li{margin:10px 0}.contact-meta{display:flex;gap:50px;margin-top:32px}.contact-meta a{color:var(--orange)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.18);padding:28px;border-radius:10px;box-shadow:var(--shadow)}.contact-form label{display:flex;flex-direction:column;gap:7px;font-size:.78rem;text-transform:uppercase;font-weight:900;letter-spacing:.05em;color:#ddd}.contact-form .full{grid-column:1/-1}.contact-form input,.contact-form textarea,.contact-form select{width:100%;background:#111;border:1px solid rgba(255,255,255,.22);border-radius:4px;color:#fff;padding:14px;font:inherit}.form-note{font-size:.78rem!important;color:#bfb6ad!important;text-transform:none!important;font-weight:500!important;letter-spacing:0!important}.site-footer{background:#050505;border-top:1px solid rgba(255,255,255,.1);padding:24px 0;color:#a9a29a}.footer-grid{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.86rem}.footer-links{display:flex;gap:18px}.footer-links a:hover{color:var(--orange)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:980px){.nav-toggle{display:block}.main-nav{position:fixed;top:88px;left:0;right:0;display:none;flex-direction:column;align-items:flex-start;gap:0;background:#090909;border-bottom:1px solid rgba(255,255,255,.12);padding:10px 20px 22px}.main-nav.is-open{display:flex}.main-nav a{padding:13px 0}.hero-grid,.featured-grid,.shop-grid,.astro-grid,.contact-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-media{order:-1;max-width:700px;margin:auto}.service-strip{grid-template-columns:repeat(2,1fr)}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{border-bottom:1px solid #c8c1b8}.project-grid{grid-template-columns:repeat(2,1fr)}.shop-items{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.container{width:min(var(--max),calc(100% - 24px))}.nav-wrap{height:76px}.brand-box{font-size:1.05rem}.brand small{font-size:.58rem}.main-nav{top:76px}.hero{padding-top:96px}.hero-grid{padding-top:20px}.service-strip,.services-grid,.project-grid,.shop-items{grid-template-columns:1fr}.service-card{border-right:0}.tick-list{grid-template-columns:1fr}.section-title-row{display:block}.contact-form{grid-template-columns:1fr;padding:18px}.contact-meta,.footer-grid,.footer-links{display:block}.footer-links a{display:inline-block;margin:8px 14px 0 0}h1{font-size:3rem}.hero-intro{font-size:1rem}}

/* Hidden anti-spam field for the contact form */
.hp-field {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.muted {
  color: var(--muted);
  font-weight: 500;
}


/* Project detail page */

.video-link-card {
  display: flex;
  align-items: center;      /* vertical centre */
  gap: 22px;
  margin: 32px 0;
  padding: 18px;
  background: #111;
  border: 1px solid rgba(255, 107, 0, 0.35);
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
}

.video-link-thumb {
  width: 180px;
  flex-shrink: 0;
}

.video-link-thumb img {
  width: 100%;
  display: block;
  border-radius: 12px;
}

.video-link-content {
  flex: 1;
}

.video-link-card-small {
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.video-link-card {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 22px;
  align-items: center;
  margin: 32px 0;
  padding: 18px;
  background: #111;
  border: 1px solid rgba(255, 107, 0, 0.35);
  border-radius: 18px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.video-link-card:hover {
  transform: translateY(-3px);
  border-color: rgba(255, 107, 0, 0.75);
  box-shadow: 0 24px 55px rgba(0, 0, 0, 0.32);
}

.video-link-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 12px;
  background: #000;
}

.video-link-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Dark overlay */
.video-link-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.18);
}

.video-play-button {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  padding-left: 4px;
  border-radius: 50%;
  background: rgba(255, 107, 0, 0.95);
  color: #111;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
}

.video-link-content h3 {
  margin: 0.2rem 0 0.5rem;
}

.video-link-content p {
  margin-bottom: 0;
  line-height: 1.6;
}

@media (max-width: 700px) {
  .video-link-card {
    grid-template-columns: 1fr;
  }

  .video-link-thumb {
    width: 100%;
  }
}

.video-row-single {
  grid-template-columns: 1fr;
}

.video-row-single .video-box {
  max-width: 900px;
}


.video-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 32px 0;
}

.video-box {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #0b0b0b;
  border: 1px solid rgba(255, 107, 0, 0.35);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}

.video-box iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 760px) {
  .video-row {
    grid-template-columns: 1fr;
  }
}

.project-overview p {
  margin-bottom: 1rem;
  line-height: 1.7;
}

.project-overview h3 {
  margin-top: 1.8rem;
  margin-bottom: 0.7rem;
  font-size: 1.2rem;
}

.project-overview ul {
  margin: 0 0 1.4rem 1.2rem;
  padding: 0;
}

.project-overview li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}

.project-overview strong {
  color: var(--accent);
}

.project-hero {
  position: relative;
  overflow: hidden;
  padding: 150px 0 70px;
  min-height: 650px;
  display: flex;
  align-items: end;
}
.project-hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: .52;
  filter: saturate(.95) contrast(1.05);
}
.project-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 46px;
  align-items: center;
}
.project-hero-copy h1 {
  font-size: clamp(2.8rem, 6vw, 5.8rem);
  line-height: .92;
  margin: 12px 0 22px;
  text-transform: uppercase;
  letter-spacing: -.05em;
}
.back-link {
  display: inline-block;
  margin-bottom: 20px;
  color: var(--orange);
  font-size: .82rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.project-hero-image img {
  width: 100%;
  border-radius: 10px;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255,255,255,.16);
}
.project-detail {
  padding: 70px 0;
}
.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 42px;
  align-items: start;
}
.detail-main,
.sidebar-card {
  background: rgba(255,255,255,.55);
  border: 1px solid #d5cec5;
  border-radius: 12px;
  box-shadow: 0 12px 45px rgba(0,0,0,.06);
}
.detail-main {
  padding: 38px;
}
.detail-main h2 {
  font-size: clamp(2rem, 3vw, 3.2rem);
  line-height: 1;
  margin: 0 0 18px;
  text-transform: uppercase;
  letter-spacing: -.04em;
}
.detail-main h3,
.sidebar-card h3 {
  margin: 28px 0 10px;
  text-transform: uppercase;
  letter-spacing: -.02em;
}
.detail-main p {
  color: #37332f;
}
.detail-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin: 28px 0;
}
.detail-split > div {
  background: #fff;
  border: 1px solid #ded7cf;
  border-radius: 10px;
  padding: 20px;
}
.detail-split h3 {
  margin-top: 0;
}
.process-list {
  counter-reset: item;
  list-style: none;
  padding: 0;
  margin: 18px 0 30px;
}
.process-list li {
  position: relative;
  background: #fff;
  border: 1px solid #ded7cf;
  border-radius: 10px;
  padding: 16px 18px 16px 58px;
  margin-bottom: 12px;
  color: #34302c;
}
.process-list li:before {
  counter-increment: item;
  content: counter(item);
  position: absolute;
  left: 16px;
  top: 14px;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--orange);
  color: #fff;
  font-weight: 900;
}
.detail-sidebar {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 112px;
}
.sidebar-card {
  padding: 24px;
}
.sidebar-card h3 {
  margin-top: 0;
}
.tag-cloud,
.spec-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.tag-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tag-cloud li {
  background: #111;
  color: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: .8rem;
  font-weight: 800;
}
.spec-list li {
  padding: 10px 0;
  border-bottom: 1px solid #ded7cf;
  color: #333;
}
.spec-list li:last-child {
  border-bottom: 0;
}
.cta-card {
  background: #111;
  color: #fff;
  border-color: #111;
}
.cta-card p {
  color: #ded6cc;
}
.project-gallery {
  padding: 64px 0;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.gallery-item {
  margin: 0;
  background: var(--panel);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  overflow: hidden;
}
.gallery-item img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}
.next-projects {
  padding: 60px 0;
}
.card-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--orange);
  font-size: .78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
}

@media(max-width: 980px) {
  .project-hero-grid,
  .detail-grid,
  .detail-split {
    grid-template-columns: 1fr;
  }
  .project-hero {
    padding-top: 115px;
  }
  .detail-sidebar {
    position: static;
  }
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media(max-width: 620px) {
  .project-hero-copy h1 {
    font-size: 2.8rem;
  }
  .detail-main {
    padding: 22px;
  }
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .gallery-item img {
    height: 210px;
  }
}
