:root {
  --ink: #07162f;
  --ink-soft: #0c234a;
  --blue: #123cf3;
  --cyan: #39e7ff;
  --yellow: #ffe43b;
  --cream: #f7f3e8;
  --white: #fffdf8;
  --line: rgba(7, 22, 47, 0.15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
::selection { background: var(--yellow); color: var(--ink); }

.site-header {
  position: absolute;
  z-index: 20;
  top: 0;
  left: 50%;
  width: min(100% - 48px, 1440px);
  height: 100px;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.18);
  color: white;
}
.brand { display: inline-flex; align-items: center; gap: 12px; width: fit-content; }
.brand-mark {
  position: relative;
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--yellow);
}
.brand-mark::before, .brand-mark::after {
  content: "";
  position: absolute;
  left: 50%; top: -5px;
  width: 1px; height: 51px;
  background: currentColor;
}
.brand-mark::after { transform: rotate(90deg); }
.brand-mark span { z-index: 1; padding: 3px; background: var(--ink); font-size: 9px; font-weight: 900; letter-spacing: -.06em; }
.brand-name { font-size: 16px; font-weight: 300; letter-spacing: .16em; }
.brand-name strong { color: var(--yellow); font-weight: 900; }
.main-nav { display: flex; align-items: center; gap: 34px; font-size: 12px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.main-nav a { opacity: .75; transition: .2s ease; }
.main-nav a:hover, .main-nav a:focus-visible { opacity: 1; color: var(--yellow); }
.header-cta { justify-self: end; display: flex; align-items: center; gap: 22px; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.header-cta span { display: grid; width: 35px; height: 35px; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; transition: .2s ease; }
.header-cta:hover span { transform: rotate(45deg); background: var(--yellow); border-color: var(--yellow); color: var(--ink); }

.hero {
  min-height: 820px;
  height: 100svh;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(400px, .95fr);
  align-items: center;
  gap: 32px;
  padding: 132px max(7vw, 40px) 80px;
  overflow: hidden;
  background:
    radial-gradient(circle at 74% 42%, rgba(18,60,243,.42), transparent 25%),
    linear-gradient(125deg, #07162f 0%, #081a39 58%, #030a18 100%);
  color: white;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .16;
  background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px);
  background-size: 90px 90px;
  mask-image: linear-gradient(to right, transparent, #000 45%, #000);
}
.hero-glow { position: absolute; border-radius: 50%; filter: blur(80px); opacity: .4; pointer-events: none; }
.hero-glow-one { width: 360px; height: 360px; top: -160px; right: -80px; background: var(--cyan); }
.hero-glow-two { width: 260px; height: 260px; bottom: -100px; left: 25%; background: var(--blue); }
.hero-copy { position: relative; z-index: 2; max-width: 800px; padding-top: 24px; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 28px; color: var(--yellow); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.pulse-dot { position: relative; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 16px currentColor; }
.pulse-dot::after { content: ""; position: absolute; inset: -5px; border: 1px solid currentColor; border-radius: 50%; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{ transform:scale(.75); opacity:.3 } 50%{ transform:scale(1.25); opacity:.8 } }
.hero h1 { margin: 0; max-width: 860px; font-size: clamp(72px, 9.2vw, 156px); line-height: .76; letter-spacing: -.075em; font-weight: 950; text-transform: uppercase; }
.hero h1 span { display: block; margin-left: .38em; color: transparent; -webkit-text-stroke: 2px var(--yellow); font-family: Georgia, 'Times New Roman', serif; font-style: italic; font-weight: 700; letter-spacing: -.055em; }
.hero-lead { max-width: 590px; margin: 40px 0 0 10%; color: rgba(255,255,255,.72); font-size: clamp(17px, 1.45vw, 22px); line-height: 1.6; }
.hero-actions { display: flex; align-items: center; gap: 14px; margin: 34px 0 0 10%; }
.button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 0 24px; border: 1px solid transparent; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; transition: .25s ease; }
.button-primary { background: var(--yellow); color: var(--ink); }
.button-primary:hover { transform: translateY(-3px); background: white; box-shadow: 0 12px 32px rgba(0,0,0,.2); }
.button-primary span { font-size: 17px; }
.button-ghost { border-color: rgba(255,255,255,.28); color: white; }
.button-ghost:hover { border-color: white; background: rgba(255,255,255,.08); }
.hero-note { margin: 22px 0 0 10%; color: rgba(255,255,255,.42); font-size: 10px; letter-spacing: .06em; }

.hero-art { position: relative; z-index: 2; width: min(44vw, 640px); aspect-ratio: 1; justify-self: center; }
.orbit { position: absolute; inset: 5%; border: 1px solid rgba(57,231,255,.25); border-radius: 50%; box-shadow: inset 0 0 50px rgba(57,231,255,.05); }
.orbit::before, .orbit::after { content:""; position:absolute; left:50%; top:-2%; width:1px; height:104%; background:linear-gradient(transparent,rgba(57,231,255,.35),transparent); }
.orbit::after { transform: rotate(90deg); }
.orbit-mid { inset: 17%; border-style: dashed; animation: spin 34s linear infinite; }
.orbit-mid::before, .orbit-mid::after { display:none; }
@keyframes spin { to { transform: rotate(360deg); } }
.orbit-label { position:absolute; font-size:8px; font-weight:800; letter-spacing:.18em; color:rgba(255,255,255,.55); background:var(--ink); padding:5px 9px; }
.orbit-label-n { top:-13px; left:50%; transform:translateX(-50%); }
.orbit-label-e { right:-29px; top:50%; transform:rotate(90deg); }
.orbit-label-s { bottom:-13px; left:50%; transform:translateX(-50%); }
.orbit-label-w { left:-27px; top:50%; transform:rotate(-90deg); }
.compass-lines { position:absolute; inset:10%; border-radius:50%; background:conic-gradient(from 45deg, transparent 0 11%, rgba(255,228,59,.5) 11.2% 11.5%, transparent 11.7% 36%, rgba(255,228,59,.5) 36.2% 36.5%, transparent 36.7% 61%, rgba(255,228,59,.5) 61.2% 61.5%, transparent 61.7% 86%, rgba(255,228,59,.5) 86.2% 86.5%, transparent 86.7%); }
.vinyl { position:absolute; inset:23%; display:grid; place-items:center; border-radius:50%; background:radial-gradient(circle at center,#101d36 0 8%,#ffe43b 8.4% 9.6%,#07162f 10% 37%,#0d295b 38%,#061228 40% 44%,#123cf3 45% 45.5%,#07162f 46% 100%); box-shadow:0 0 70px rgba(18,60,243,.6), 0 0 0 1px rgba(255,255,255,.18); animation: float 5s ease-in-out infinite; }
@keyframes float { 0%,100% { transform:translateY(-5px) rotate(-2deg) } 50% { transform:translateY(8px) rotate(2deg) } }
.vinyl-lines { position:absolute; inset:8%; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 10px rgba(255,255,255,.025),0 0 0 22px rgba(255,255,255,.025),0 0 0 34px rgba(255,255,255,.02); }
.vinyl-core { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; width:42%; aspect-ratio:1; border-radius:50%; background:var(--yellow); color:var(--ink); box-shadow:0 0 30px rgba(255,228,59,.3); font-size:clamp(8px,1vw,12px); letter-spacing:.18em; }
.vinyl-core strong { font-size:clamp(12px,1.5vw,22px); letter-spacing:.04em; }
.art-caption { position:absolute; right:-10px; bottom:9%; display:flex; flex-direction:column; gap:5px; align-items:flex-end; font-size:8px; font-weight:800; letter-spacing:.2em; color:rgba(255,255,255,.6); }
.art-caption span:nth-child(2) { color:var(--yellow); }
.scroll-cue { position:absolute; left:48px; bottom:38px; z-index:3; display:flex; align-items:center; gap:14px; color:rgba(255,255,255,.45); font-size:8px; font-weight:800; letter-spacing:.18em; transform:rotate(-90deg); transform-origin:left center; }
.scroll-cue i { font-style:normal; color:var(--yellow); font-size:14px; }

.rhythm-strip { overflow:hidden; background:var(--yellow); color:var(--ink); transform:rotate(-1deg) scale(1.02); position:relative; z-index:4; margin-top:-4px; }
.strip-track { width:max-content; display:flex; align-items:center; gap:24px; padding:15px 0; font-size:13px; font-weight:950; letter-spacing:.1em; animation: marquee 28s linear infinite; }
.strip-track i { font-style:normal; font-size:9px; }
@keyframes marquee { to { transform:translateX(-50%); } }

.section { display:grid; grid-template-columns:130px 1fr; gap:70px; padding:140px max(6vw,32px); }
.section-label { display:flex; gap:12px; align-items:flex-start; color:var(--blue); writing-mode:vertical-rl; transform:rotate(180deg); }
.section-label span { font-size:10px; font-weight:900; }
.section-label p { margin:0; font-size:9px; font-weight:900; letter-spacing:.25em; }
.kicker { margin:0 0 20px; color:var(--blue); font-size:10px; font-weight:900; letter-spacing:.18em; text-transform:uppercase; }
.kicker.light { color:var(--yellow); }
.kicker.dark { color:var(--ink); }
.concept-content { max-width:1180px; }
.concept h2, .journey h2, .events-heading h2, .process-heading h2 { max-width:1040px; margin:0; font-size:clamp(46px,6.2vw,94px); line-height:.98; letter-spacing:-.055em; font-weight:900; }
.concept-columns { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin:70px 0; max-width:1050px; }
.concept-columns p { margin:0; color:#41506a; font-size:16px; line-height:1.8; }
.concept-columns strong { color:var(--ink); }
.concept blockquote { margin:0; max-width:1080px; padding:38px 0 38px 38px; border-left:4px solid var(--yellow); font-family:Georgia,'Times New Roman',serif; font-size:clamp(25px,3vw,44px); line-height:1.3; font-style:italic; }
.concept blockquote strong { color:var(--blue); }

.voices { position:relative; padding:130px max(6vw,32px); background:var(--ink); color:white; overflow:hidden; }
.voices::before { content:"VOICES"; position:absolute; top:25%; left:-1%; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.05); font-size:22vw; font-weight:950; letter-spacing:-.08em; }
.voices-heading { position:relative; display:grid; grid-template-columns:1fr 370px; gap:60px; align-items:end; margin-bottom:70px; }
.voices-heading h2, .why-title h2, .media-copy h2, .faq-heading h2 { margin:0; font-size:clamp(52px,7vw,104px); line-height:.84; letter-spacing:-.065em; font-weight:950; }
.voices-heading > p { margin:0 0 6px; color:rgba(255,255,255,.58); line-height:1.7; }
.voice-grid { position:relative; display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.voice-card { position:relative; min-height:440px; display:flex; flex-direction:column; justify-content:flex-end; padding:34px; overflow:hidden; background:linear-gradient(150deg,#0e2a57,#091a37); border:1px solid rgba(255,255,255,.1); transition:.35s ease; }
.voice-card::before { content:""; position:absolute; width:260px; height:260px; top:40px; left:50%; transform:translateX(-50%); border:1px solid rgba(57,231,255,.2); border-radius:50%; box-shadow:0 0 80px rgba(18,60,243,.25); }
.voice-card-2::before { border-color:rgba(255,228,59,.24); box-shadow:0 0 80px rgba(255,228,59,.12); }
.voice-card-3::before { border-color:rgba(57,231,255,.2); box-shadow:0 0 80px rgba(57,231,255,.12); }
.voice-card:hover { z-index:2; transform:translateY(-10px); border-color:var(--yellow); }
.voice-number { position:absolute; top:26px; left:28px; color:var(--yellow); font-size:10px; font-weight:900; }
.voice-wave { position:absolute; top:130px; left:50%; height:90px; display:flex; align-items:center; gap:5px; transform:translateX(-50%); }
.voice-wave i { width:3px; height:var(--h,40%); background:linear-gradient(var(--cyan),var(--blue)); box-shadow:0 0 10px rgba(57,231,255,.5); }
.voice-wave i:nth-child(2n){height:75%}.voice-wave i:nth-child(3n){height:35%}.voice-wave i:nth-child(5n){height:100%}.voice-wave i:nth-child(7n){height:55%}
.voice-name { position:relative; display:flex; flex-direction:column; font-size:clamp(38px,4vw,62px); line-height:.83; letter-spacing:-.05em; font-weight:300; }
.voice-name strong { color:var(--yellow); font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:700; }
.voice-card > p { position:relative; margin:22px 0 0; color:rgba(255,255,255,.42); font-size:8px; font-weight:800; letter-spacing:.2em; }
.voices-disclaimer { position:relative; margin:24px 0 0; color:rgba(255,255,255,.34); font-size:10px; }

.journey { background:var(--white); }
.journey-intro { display:grid; grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; margin-bottom:80px; }
.journey-intro > p { margin:0 0 5px; color:#5c6678; line-height:1.7; }
.rhythm-list { border-top:1px solid var(--line); }
.rhythm-row { display:grid; grid-template-columns:50px 1.1fr 1fr 1.25fr; gap:30px; align-items:center; padding:34px 0; border-bottom:1px solid var(--line); transition:.2s ease; }
.rhythm-row:hover { padding-left:12px; background:linear-gradient(90deg,rgba(255,228,59,.15),transparent); }
.rhythm-number { color:var(--blue); font-size:10px; font-weight:900; }
.rhythm-place { color:#697386; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
.rhythm-row h3 { margin:0; font-size:22px; letter-spacing:-.025em; }
.rhythm-text { margin:0; color:#697386; font-size:13px; line-height:1.65; }

.worldwide { min-height:660px; position:relative; display:grid; grid-template-columns:1.1fr .9fr; align-items:center; padding:100px max(8vw,40px); background:var(--yellow); overflow:hidden; }
.world-grid { position:absolute; inset:0; opacity:.24; background-image:linear-gradient(var(--ink) 1px,transparent 1px),linear-gradient(90deg,var(--ink) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,#000 30%,#000); }
.world-copy { position:relative; z-index:2; max-width:730px; }
.eyebrow.dark { color:var(--ink); }
.world-copy h2, .contact h2 { margin:0; font-size:clamp(64px,8vw,128px); line-height:.82; letter-spacing:-.07em; font-weight:950; }
.world-copy h2 em, .contact h2 em { display:block; color:var(--blue); font-family:Georgia,'Times New Roman',serif; font-weight:700; }
.world-copy > p { max-width:650px; margin:34px 0 26px; font-size:17px; line-height:1.75; }
.text-link { display:inline-flex; align-items:center; gap:20px; padding-bottom:7px; border-bottom:2px solid var(--ink); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.world-compass { position:relative; justify-self:center; width:min(38vw,490px); aspect-ratio:1; border:1px solid rgba(7,22,47,.35); border-radius:50%; box-shadow:0 0 0 25px rgba(7,22,47,.05),0 0 0 80px rgba(7,22,47,.025); }
.world-compass::before,.world-compass::after { content:""; position:absolute; left:50%; top:-7%; width:1px; height:114%; background:rgba(7,22,47,.35); }
.world-compass::after { transform:rotate(90deg); }
.world-compass > span { position:absolute; font-size:10px; font-weight:950; }
.north{top:4%;left:50%}.east{right:5%;top:50%}.south{bottom:4%;left:50%}.west{left:5%;top:50%}
.world-compass i { position:absolute; left:50%; top:18%; width:2px; height:64%; background:var(--blue); transform-origin:center; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); }
.world-compass .needle-two { transform:rotate(90deg); background:var(--ink); }
.world-compass b { position:absolute; z-index:2; left:50%; top:50%; display:grid; width:88px; height:88px; place-items:center; transform:translate(-50%,-50%); border-radius:50%; background:var(--ink); color:var(--yellow); font-size:25px; letter-spacing:-.08em; }

.events { background:var(--cream); }
.events-heading { margin-bottom:65px; }
.event-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.event-card { position:relative; min-height:280px; padding:30px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); transition:.3s ease; }
.event-card:hover { background:var(--ink); color:white; transform:translateY(-5px); }
.event-card > span { color:var(--blue); font-size:10px; font-weight:900; }
.event-card h3 { margin:58px 0 14px; font-size:23px; letter-spacing:-.025em; }
.event-card p { max-width:270px; margin:0; color:#697386; font-size:13px; line-height:1.65; }
.event-card:hover p { color:rgba(255,255,255,.6); }
.event-card i { position:absolute; right:26px; bottom:24px; display:grid; width:34px; height:34px; place-items:center; border:1px solid var(--line); border-radius:50%; font-style:normal; }
.event-card:hover i { border-color:var(--yellow); color:var(--yellow); }

.why { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; padding:140px max(8vw,40px); background:var(--blue); color:white; }
.why-title { position:sticky; top:60px; align-self:start; }
.why-list article { display:grid; grid-template-columns:60px 1fr; gap:30px; padding:35px 0; border-top:1px solid rgba(255,255,255,.22); }
.why-list article:last-child { border-bottom:1px solid rgba(255,255,255,.22); }
.why-list span { color:var(--yellow); font-size:10px; font-weight:900; }
.why-list h3 { margin:0 0 10px; font-size:24px; }
.why-list p { max-width:540px; margin:0; color:rgba(255,255,255,.62); line-height:1.7; }

.media-section { padding:50px; background:var(--ink); }
.media-card { min-height:650px; position:relative; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:60px; padding:80px 8%; overflow:hidden; border:1px solid rgba(255,255,255,.14); background:radial-gradient(circle at 24% 50%,rgba(18,60,243,.55),transparent 24%),linear-gradient(135deg,#0b2147,#050d1d); color:white; }
.media-card::before { content:""; position:absolute; inset:0; opacity:.15; background:repeating-radial-gradient(circle at 25% 50%,transparent 0 30px,rgba(57,231,255,.5) 31px 32px); }
.media-orb { position:relative; z-index:2; justify-self:center; display:grid; width:min(35vw,420px); aspect-ratio:1; place-items:center; border:1px solid rgba(57,231,255,.5); border-radius:50%; box-shadow:0 0 70px rgba(18,60,243,.7),inset 0 0 70px rgba(18,60,243,.35); }
.media-orb::before,.media-orb::after { content:""; position:absolute; inset:13%; border:1px dashed rgba(255,228,59,.35); border-radius:50%; animation:spin 20s linear infinite; }
.media-orb::after { inset:28%; border-style:solid; animation-direction:reverse; }
.media-orb span { z-index:2; display:grid; width:88px; height:88px; place-items:center; padding-left:6px; border-radius:50%; background:var(--yellow); color:var(--ink); box-shadow:0 0 40px rgba(255,228,59,.4); }
.media-copy { position:relative; z-index:2; }
.media-copy > p:not(.kicker) { max-width:530px; margin:32px 0; color:rgba(255,255,255,.62); font-size:16px; line-height:1.75; }

.process { background:var(--white); }
.process-content { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; }
.process-content ol { margin:0; padding:0; list-style:none; }
.process-content li { display:grid; grid-template-columns:55px 1fr; gap:25px; padding:30px 0; border-top:1px solid var(--line); }
.process-content li:last-child { border-bottom:1px solid var(--line); }
.process-content li > span { color:var(--blue); font-size:10px; font-weight:900; }
.process-content h3 { margin:0 0 8px; font-size:22px; }
.process-content p { margin:0; color:#697386; line-height:1.6; }

.faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; padding:140px max(8vw,40px); background:#e9e4d7; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { min-height:85px; display:flex; align-items:center; justify-content:space-between; gap:30px; cursor:pointer; list-style:none; font-size:17px; font-weight:700; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary i { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; border:1px solid var(--line); border-radius:50%; font-style:normal; transition:.25s ease; }
.faq-list details[open] summary i { transform:rotate(45deg); background:var(--yellow); }
.faq-list details p { max-width:720px; margin:0; padding:0 55px 30px 0; color:#596477; line-height:1.75; }

.contact { position:relative; overflow:hidden; padding:150px max(8vw,40px); background:var(--yellow); text-align:center; }
.contact::before { content:""; position:absolute; inset:-40%; opacity:.11; background:repeating-radial-gradient(circle,transparent 0 42px,var(--ink) 43px 44px); }
.contact > * { position:relative; z-index:2; }
.contact-light { position:absolute; z-index:1; top:20%; left:50%; width:600px; height:600px; transform:translateX(-50%); border-radius:50%; background:white; filter:blur(100px); opacity:.35; }
.contact h2 em { color:var(--blue); }
.contact-lead { max-width:760px; margin:38px auto 42px; font-size:17px; line-height:1.75; }
.brief-items { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:18px; margin-bottom:38px; font-size:9px; font-weight:950; letter-spacing:.18em; }
.brief-items i { color:var(--blue); font-style:normal; }
.contact-button { width:min(100%,700px); min-height:100px; display:flex; align-items:center; justify-content:space-between; margin:0 auto; padding:0 38px; background:var(--ink); color:white; font-size:13px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; box-shadow:12px 12px 0 var(--blue); transition:.25s ease; }
.contact-button:hover { transform:translate(-4px,-4px); box-shadow:18px 18px 0 var(--blue); }
.contact-button i { display:grid; width:46px; height:46px; place-items:center; border:1px solid rgba(255,255,255,.4); border-radius:50%; color:var(--yellow); font-style:normal; font-size:18px; }
.contact-handle { margin:30px 0 0; font-size:11px; letter-spacing:.05em; }

footer { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:30px; align-items:center; padding:55px max(6vw,32px) 85px; background:var(--ink); color:white; }
.footer-brand .brand-mark span { background:var(--ink); }
footer > p { margin:0; color:rgba(255,255,255,.5); font-size:11px; line-height:1.6; }
.footer-links { display:flex; justify-content:flex-end; gap:22px; font-size:9px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.footer-links a:hover { color:var(--yellow); }
.copyright { grid-column:1/-1; padding-top:34px; border-top:1px solid rgba(255,255,255,.14); text-align:center; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns:1fr auto; }
  .main-nav { display:none; }
  .hero { grid-template-columns:1.1fr .9fr; padding-inline:40px; }
  .hero h1 { font-size:clamp(68px,10vw,110px); }
  .section { grid-template-columns:70px 1fr; gap:35px; }
  .event-grid { grid-template-columns:repeat(2,1fr); }
  .rhythm-row { grid-template-columns:40px .8fr 1fr; }
  .rhythm-text { grid-column:3; }
  .why { gap:50px; }
  .process-content { gap:55px; }
}

@media (max-width: 760px) {
  .site-header { width:calc(100% - 32px); height:82px; }
  .brand-name { font-size:13px; }
  .brand-mark { width:36px; height:36px; }
  .brand-mark::before,.brand-mark::after { height:42px; }
  .header-cta { font-size:0; gap:0; }
  .header-cta span { font-size:14px; }
  .hero { min-height:890px; height:auto; display:flex; flex-direction:column; align-items:stretch; justify-content:center; padding:130px 20px 85px; }
  .hero::before { background-size:55px 55px; }
  .hero-copy { padding-top:0; }
  .hero h1 { font-size:clamp(58px,19vw,92px); line-height:.79; }
  .hero h1 span { margin-left:.04em; -webkit-text-stroke-width:1px; }
  .hero-lead,.hero-actions,.hero-note { margin-left:0; }
  .hero-lead { margin-top:28px; font-size:16px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .hero-note { line-height:1.6; }
  .hero-art { width:min(86vw,390px); margin:-18px auto 0; }
  .art-caption,.scroll-cue { display:none; }
  .strip-track { padding:12px 0; font-size:11px; }
  .section { display:block; padding:95px 20px; }
  .section-label { display:none; }
  .concept h2,.journey h2,.events-heading h2,.process-heading h2 { font-size:clamp(44px,13vw,68px); }
  .concept-columns { grid-template-columns:1fr; gap:24px; margin:45px 0; }
  .concept blockquote { padding-left:22px; }
  .voices { padding:95px 20px; }
  .voices-heading { grid-template-columns:1fr; gap:28px; margin-bottom:48px; }
  .voices-heading h2,.why-title h2,.media-copy h2,.faq-heading h2 { font-size:clamp(49px,15vw,76px); }
  .voice-grid { grid-template-columns:1fr; gap:12px; }
  .voice-card { min-height:360px; }
  .journey-intro { grid-template-columns:1fr; gap:26px; margin-bottom:50px; }
  .rhythm-row { grid-template-columns:34px 1fr; gap:10px 15px; padding:28px 0; }
  .rhythm-place { margin:0; }
  .rhythm-row h3,.rhythm-text { grid-column:2; }
  .rhythm-text { margin-top:4px; }
  .worldwide { min-height:790px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:90px 20px; }
  .world-copy h2,.contact h2 { font-size:clamp(57px,17vw,90px); }
  .world-compass { width:72vw; align-self:center; margin-top:45px; }
  .event-grid { grid-template-columns:1fr; }
  .event-card { min-height:240px; }
  .why { display:block; padding:95px 20px; }
  .why-title { position:static; margin-bottom:48px; }
  .why-list article { grid-template-columns:42px 1fr; gap:15px; }
  .media-section { padding:20px; }
  .media-card { min-height:760px; grid-template-columns:1fr; gap:30px; padding:70px 24px; }
  .media-orb { width:min(76vw,330px); }
  .process-content { grid-template-columns:1fr; gap:50px; }
  .faq { grid-template-columns:1fr; gap:60px; padding:95px 20px; }
  .faq-list summary { min-height:95px; font-size:15px; }
  .contact { padding:105px 20px 115px; }
  .contact-button { min-height:82px; padding:0 20px; box-shadow:8px 8px 0 var(--blue); font-size:10px; }
  .contact-button i { width:38px; height:38px; }
  footer { grid-template-columns:1fr; padding:55px 20px; text-align:center; }
  .footer-brand { justify-self:center; }
  .footer-links { justify-content:center; flex-wrap:wrap; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}
