@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
:root { --font-ui:'Poppins',sans-serif; --orange:#F7591F; }
* { box-sizing:border-box; }
html { background:#0A0A0A; scroll-padding-top:90px; }
body { margin:0; color:#fff; background:#0A0A0A; font-family:'Poppins',sans-serif; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; }
::selection { background:var(--orange); color:#fff; }
:focus-visible { outline:2px solid #FFAA79; outline-offset:5px; }
.zion-header { position:sticky; top:0; z-index:500; height:72px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:12px 32px; background:rgba(10,10,10,.94); backdrop-filter:blur(20px); border-bottom:1px solid rgba(255,255,255,.06); }
.zion-header nav { display:flex; gap:28px; font-size:14px; font-weight:500; }
.zion-header nav a { min-height:44px; display:inline-flex; align-items:center; }
.zion-logo { display:flex; justify-content:center; align-items:center; }
.zion-logo img { height:38px; width:auto; }
.book-pill { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px; background:var(--orange); color:#fff; font-size:13px; font-weight:700; padding:12px 23px; text-transform:uppercase; letter-spacing:.06em; min-height:44px; }
.header-book { justify-self:end; }
.book-pill:hover { background:#ff6630; box-shadow:0 0 24px rgba(247,89,31,.35); }
.hero-zion { margin:0 0 18px; font-weight:800; letter-spacing:.22em; font-size:clamp(20px,2.5vw,32px); }
.hero-proof { margin:0 0 28px; line-height:1.65; font-weight:500; font-size:clamp(12px,1.15vw,15px); color:rgba(255,255,255,.85); text-shadow:0 2px 15px #000; }
.section-title { font-size:clamp(36px,6.3vw,88px); line-height:1.04; font-weight:900; text-align:center; margin:0 auto 28px; letter-spacing:-.025em; text-transform:uppercase; }
.reel-section { padding:76px 0 0; overflow:hidden; background:radial-gradient(ellipse 55% 36% at 50% 54%,rgba(247,89,31,.08),transparent); }
.about-section { padding:66px 24px 56px; text-align:center; }
.about-section .section-title { font-size:clamp(29px,4.3vw,60px); }
.intro { font-size:clamp(16px,1.5vw,20px); line-height:1.65; color:rgba(255,255,255,.74); max-width:630px; margin:0 auto 30px; }
.available-label { color:var(--orange); font-weight:600; font-size:13px; margin:0 0 13px; }
.event-types { display:flex; justify-content:center; gap:12px 25px; list-style:none; padding:0; margin:0; flex-wrap:wrap; color:rgba(255,255,255,.78); font-size:14px; }
.credibility { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); max-width:1180px; padding:30px 24px 70px; margin:0 auto; text-align:center; gap:20px; }
.credibility div { display:flex; align-items:center; flex-direction:column; }
.credibility strong { font-size:clamp(28px,4.3vw,62px); color:var(--orange); letter-spacing:-.025em; font-weight:800; line-height:1.3; text-shadow:0 0 32px rgba(247,89,31,.14); }
.credibility span { font-size:11px; letter-spacing:.08em; font-weight:600; color:rgba(255,255,255,.65); max-width:160px; }
.portfolio-section { padding:50px 0 0; overflow:hidden; }
.event-photo-strip { display:flex; width:100%; height:clamp(300px,39vw,560px); margin:26px 0 40px; mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%); }
.event-photo-strip figure { flex:1; min-width:0; margin:0; overflow:hidden; mask-image:linear-gradient(90deg,transparent 0%,#000 14%,#000 86%,transparent 100%); }
.event-photo-strip figure+figure { margin-left:-9%; }
.event-photo-strip img { display:block; height:100%; width:100%; object-fit:cover; }
.action-strip { margin-bottom:0; }
.booking-section { padding:88px 24px 70px; text-align:center; background:radial-gradient(ellipse 65% 90% at 50% 100%,#2A0B05,transparent); }
.booking-section .section-title { font-size:clamp(36px,6.5vw,88px); }
.booking-section p { color:rgba(255,255,255,.65); font-size:14px; margin:0 0 12px; }
.booking-email { color:var(--orange); font-size:clamp(20px,3vw,36px); font-weight:600; overflow-wrap:anywhere; }
.booking-button { width:fit-content; display:flex; margin:28px auto 0; padding:17px 35px; font-size:13px; box-shadow:0 8px 28px rgba(247,89,31,.3); }
.zion-footer { background:#0A0A0A; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); }
.footer-copy { max-width:720px; margin:auto; padding:0 24px 24px; display:flex; justify-content:space-between; font-size:12px; color:rgba(255,255,255,.55); }
.booking-form-wrap { max-width:620px; margin:30px auto 0; }
.booking-form { text-align:left; }
.booking-form fieldset { margin:0; padding:0; border:0; min-width:0; }
.booking-field-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.booking-form label { display:flex; flex-direction:column; gap:8px; min-width:0; margin-bottom:18px; font-size:13px; font-weight:500; color:rgba(255,255,255,.85); }
.optional-label { color:rgba(255,255,255,.45); font-size:12px; }
.booking-form input,.booking-form textarea { width:100%; min-width:0; max-width:100%; min-height:50px; padding:12px 14px; border-radius:10px; border:1px solid rgba(255,255,255,.19); background:#141210; color:#fff; font-family:inherit; font-size:16px; line-height:1.5; color-scheme:dark; }
.booking-form textarea { resize:vertical; min-height:108px; }
.booking-form input::placeholder,.booking-form textarea::placeholder { color:rgba(255,255,255,.34); opacity:1; }
.booking-form input:focus,.booking-form textarea:focus { outline:2px solid rgba(247,89,31,.55); outline-offset:1px; border-color:var(--orange); }
.booking-form fieldset:disabled { opacity:.65; }
.enquiry-submit { border:0; cursor:pointer; width:100%; margin-top:6px; min-height:54px; }
.booking-form fieldset:disabled .enquiry-submit { cursor:wait; }
.booking-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.booking-section .booking-email-fallback { max-width:none; margin:24px 0 0; color:rgba(255,255,255,.55); font-size:14px; }
.booking-email-fallback a { color:var(--orange); white-space:nowrap; display:inline-block; padding:6px 0; }
.booking-section .booking-error { max-width:none; margin:0 0 14px; font-size:13px; line-height:1.6; color:#ffb097; }
.booking-error { padding:16px; border:1px solid #9b5830; border-radius:10px; background:#28180f; }
.booking-section .booking-error p { max-width:none; margin:6px 0 0; color:inherit; font-size:13px; }
.booking-section .booking-progress { max-width:none; margin:12px 0 0; font-size:13px; text-align:center; }
.enquiry-confirmation { border:1px solid rgba(247,89,31,.28); border-radius:14px; padding:34px 24px; background:rgba(247,89,31,.04); }
.enquiry-check { width:44px; height:44px; border-radius:50%; background:var(--orange); display:inline-grid; place-items:center; font-size:24px; }
.enquiry-confirmation h3 { font-size:24px; margin:18px 0 12px; }
.booking-section .enquiry-confirmation p { max-width:420px; margin:0 auto 10px; line-height:1.65; }
.booking-section .enquiry-confirmation .enquiry-note { font-size:12px; color:rgba(255,255,255,.45); }
@media(min-width:701px) {
  .reel-card { width:clamp(235px,24vw,360px)!important; }
  .reel-stage { height:calc(clamp(235px,24vw,360px) * 16 / 9 + 52px)!important; mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)!important; -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)!important; }
  .reel-dots { margin-top:12px!important; }
}
@media(max-width:700px) {
  html { scroll-padding-top:76px; }
  .zion-header { height:68px; padding:10px 20px; grid-template-columns:auto 1fr; gap:12px; }
  .zion-header nav { display:none; }
  .zion-logo img { height:36px; }
  .header-book { font-size:12px; padding:11px 16px; letter-spacing:0; }
  .original-hero { overflow:hidden; }
  .original-hero .z-collage { position:absolute; inset:0 0 auto; height:480px!important; display:block!important; }
  .z-collage figure { display:none; }
  .z-collage figure:nth-child(2) { display:block; width:100%; height:100%; }
  .z-collage figure:nth-child(2) img { object-position:center 32%!important; }
  .original-hero .hero-shade { background:linear-gradient(180deg,transparent 0,rgba(10,10,10,.06) 185px,rgba(10,10,10,.8) 335px,#0A0A0A 470px)!important; }
  .original-hero .hero-content { position:relative!important; inset:auto!important; padding:290px 22px 28px!important; align-items:flex-start!important; text-align:left!important; }
  .original-hero h1 { max-width:540px; font-size:clamp(35px,10vw,56px)!important; line-height:1.02!important; letter-spacing:-.025em!important; }
  .hero-zion { margin-bottom:12px; font-size:17px; color:#ff8655; }
  .original-hero .hero-subtitle { font-size:17px!important; line-height:1.5; margin:20px 0 12px!important; max-width:310px; }
  .hero-proof { font-size:13px; line-height:1.75; margin-bottom:24px; color:rgba(255,255,255,.7); }
  .original-hero .hero-book { width:100%; min-height:54px; border-radius:999px; font-size:13px!important; letter-spacing:.045em!important; padding:0 18px!important; }
  .section-title { font-size:clamp(28px,8vw,42px); padding:0 20px; line-height:1.1; }
  .reel-section { padding-top:32px; }
  .reel-section .section-title { margin-bottom:18px; }
  .original-reels { margin-bottom:24px!important; }
  .reel-stage { height:calc(min(76vw,310px) * 16 / 9 + 32px)!important; mask-image:none!important; -webkit-mask-image:none!important; }
  .reel-card { width:min(76vw,310px)!important; border-radius:14px!important; }
  .reel-dots { margin-top:8px!important; gap:4px!important; }
  .about-section { padding:40px 22px 36px; }
  .about-section .section-title { padding:0; font-size:clamp(26px,7.5vw,38px); margin-bottom:20px; }
  .intro { font-size:16px; }
  .event-types { display:grid; grid-template-columns:1fr 1fr; gap:14px 12px; max-width:400px; margin:auto; font-size:13px; }
  .event-types li { padding:12px 0; border-bottom:1px solid rgba(255,255,255,.12); }
  .credibility { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:28px; padding:18px 22px 40px; }
  .credibility strong { font-size:38px; }
  .credibility span { font-size:11px; }
  .portfolio-section { padding-top:24px; }
  .event-photo-strip { display:grid; gap:14px; height:auto; padding:0 16px; margin:26px 0 32px; mask-image:none; }
  .event-photo-strip figure { mask-image:none; border-radius:12px; aspect-ratio:3/2; }
  .event-photo-strip figure+figure { margin-left:0; }
  .action-strip figure { aspect-ratio:4/3; }
  .booking-section { padding:48px 22px 40px; }
  .booking-section .section-title { padding:0; font-size:clamp(32px,9vw,48px); line-height:1.05; }
  .booking-section p { max-width:300px; font-size:15px; line-height:1.65; margin:0 auto 18px; }
  .booking-email { font-size:clamp(18px,5.2vw,25px); }
  .booking-button { width:100%; min-height:54px; padding:14px 16px; font-size:13px; letter-spacing:.045em; }
  .footer-copy { font-size:11px; flex-wrap:wrap; justify-content:center; gap:6px 18px; }
  .booking-field-row { grid-template-columns:1fr; gap:0; }
  .booking-form-wrap { margin-top:26px; }
  .booking-form label { margin-bottom:15px; }
  .booking-section .booking-email-fallback { font-size:13px; margin-top:18px; }
  .booking-section .booking-intro { margin-bottom:0; }
}
