:root{
  --bg:#050505;--fg:#f4f4f0;--muted:rgba(244,244,240,.57);--line:rgba(244,244,240,.17);--line2:rgba(244,244,240,.09);--soft:rgba(244,244,240,.055);--pad:clamp(20px,4vw,64px);--hero-light:.54
}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;color:var(--fg);background:var(--bg);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img,video{display:block;max-width:100%}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:44px 44px;opacity:.18;mask-image:linear-gradient(to bottom,transparent,black 14%,black 88%,transparent)}
.grain{position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}
.eyebrow,.system-readout,.hero-coordinate,.visual-label,.project-role,.exhibition-note span,.brand-line,.footer-system{font:9px ui-monospace,SFMono-Regular,Menlo,monospace;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
h1,h2{margin:0;font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(56px,10.2vw,156px);line-height:.86}h2{font-size:clamp(44px,7vw,104px);line-height:.92}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);padding:13px 17px;font:9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;transition:.25s ease}.button:hover{background:var(--soft);border-color:rgba(255,255,255,.45)}.button-solid{background:var(--fg);color:var(--bg);border-color:var(--fg)}.button-solid:hover{background:transparent;color:var(--fg)}.button-large{padding:16px 22px}
.site-nav{position:fixed;top:0;left:0;right:0;height:76px;padding:0 var(--pad);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;border-bottom:1px solid var(--line);background:rgba(5,5,5,.73);backdrop-filter:blur(16px);z-index:90}.logo-button{width:48px;height:48px;padding:2px;border:0;background:transparent;cursor:pointer;border-radius:50%}.logo-button img{width:100%;height:100%;object-fit:contain}.logo-button.logo-burst{animation:logoBurst 1.15s cubic-bezier(.2,.8,.2,1)}@keyframes logoBurst{45%{transform:rotate(360deg) scale(1.28);filter:drop-shadow(0 0 28px white)}100%{transform:none;filter:none}}
.system-readout{justify-self:start;display:flex;gap:10px;align-items:center;white-space:nowrap}.site-nav nav{display:flex;gap:20px;align-items:center}.site-nav nav a{font:9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.site-nav nav a:hover{color:var(--fg)}
.mini-compass{width:26px;height:26px;border:1px solid var(--line);border-radius:50%;position:relative;display:inline-grid;place-items:center;color:var(--muted);flex:0 0 auto}.mini-compass span,.mini-compass b,.mini-compass em,.mini-compass small{position:absolute;font:5px ui-monospace,monospace;font-style:normal;font-weight:400}.mini-compass span{top:1px}.mini-compass em{bottom:1px}.mini-compass b{right:2px}.mini-compass small{left:2px}.mini-compass i{width:1px;height:15px;background:var(--fg);display:block;transform-origin:50% 70%;animation:needle 11s ease-in-out infinite alternate}@keyframes needle{to{transform:rotate(16deg)}}
.hero{height:100svh;min-height:700px;position:relative;display:flex;align-items:flex-end;padding:120px var(--pad) 80px;overflow:hidden;border-bottom:1px solid var(--line)}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover;filter:brightness(var(--hero-light)) saturate(.82);transform:scale(1.025);transition:filter .2s linear}.hero-shade{background:linear-gradient(to top,rgba(5,5,5,.92) 0%,rgba(5,5,5,.2) 53%,rgba(5,5,5,.58) 100%),linear-gradient(90deg,rgba(5,5,5,.35),transparent 55%)}.hero-copy{position:relative;z-index:2;max-width:1280px}.hero-copy .eyebrow{margin-bottom:20px}.hero-actions{display:flex;gap:9px;margin-top:38px}.scroll-cue{position:absolute;right:var(--pad);bottom:26px;z-index:2;font:8px ui-monospace,monospace;letter-spacing:.12em;color:var(--muted)}.hero-coordinate{position:absolute;right:var(--pad);top:112px;z-index:2;text-align:right;line-height:1.65}
.space-scene{min-height:66svh;padding:var(--pad);display:grid;place-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.space-copy{text-align:center;position:relative;z-index:2}.space-copy .eyebrow{margin-bottom:17px}.space-copy p{font:9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-top:24px}.trace{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--fg),transparent);opacity:.22;transform-origin:left center}.trace-a{width:76vw;left:-18vw;top:40%;transform:rotate(16deg)}.trace-b{width:72vw;right:-24vw;bottom:38%;transform:rotate(-18deg)}.space-scene.visible .trace-a{animation:traceFlow 5s ease-in-out infinite}.space-scene.visible .trace-b{animation:traceFlow 5s 1s ease-in-out infinite reverse}@keyframes traceFlow{50%{opacity:.55;transform:rotate(16deg) scaleX(1.12)}}
.featured-section,.work-section,.mapping-section,.capabilities,.about-section,.book-section,.final-screen{padding:clamp(92px,11vw,180px) var(--pad)}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:14px}.section-heading>p{font:9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);max-width:420px;text-align:right}.feature-head{margin-bottom:65px}.feature-side-meta{font:9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);display:grid;gap:7px;text-align:right}
.featured-section{border-bottom:1px solid var(--line)}.featured-story{display:grid;grid-template-columns:minmax(280px,.55fr) minmax(0,1.45fr);gap:clamp(40px,7vw,110px);align-items:start}.featured-copy{position:sticky;top:112px}.featured-copy p{max-width:600px;color:var(--muted);line-height:1.65;font-size:clamp(14px,1.25vw,18px)}.featured-copy .feature-lead{color:var(--fg);font-size:clamp(20px,2vw,30px);line-height:1.25}.exhibition-note{margin-top:36px;padding:17px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:7px}.exhibition-note strong{font-size:13px;font-weight:400}.exhibition-note small{font:9px ui-monospace,monospace;color:var(--muted)}.project-role{margin-top:20px}.featured-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feature-media{position:relative;overflow:hidden;border:1px solid var(--line);background:#0a0a0a;min-height:320px}.feature-media:first-child{grid-column:1/-1;min-height:min(76svh,790px)}.feature-media video,.feature-media img{width:100%;height:100%;object-fit:cover}.feature-media::after{content:attr(data-index);position:absolute;left:12px;bottom:12px;font:7px ui-monospace,monospace;letter-spacing:.14em;color:rgba(255,255,255,.65);background:rgba(0,0,0,.35);padding:5px 7px;backdrop-filter:blur(5px)}
.mapping-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(440px,1.2fr);gap:clamp(50px,8vw,120px);align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.015),transparent)}.mapping-copy .eyebrow{margin-bottom:16px}.mapping-copy h2{font-size:clamp(42px,5.2vw,78px);max-width:800px}.mapping-defs{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:38px 0 0}.mapping-defs p,.mapping-value{color:var(--muted);line-height:1.55;font-size:14px}.mapping-defs strong{color:var(--fg);font-weight:400}.mapping-value{max-width:540px;padding-top:22px;border-top:1px solid var(--line)}.brand-line{margin-top:40px;display:flex;gap:15px;align-items:flex-start;flex-wrap:wrap}.brand-line>span{opacity:.65}.brand-line #brandExamples{display:flex;gap:12px;flex-wrap:wrap}.brand-line a{color:var(--fg);border-bottom:1px solid var(--line);padding-bottom:2px}.mapping-visual{border:1px solid var(--line);min-height:520px;position:relative;display:grid;place-items:center;background:radial-gradient(circle at 65% 43%,rgba(255,255,255,.07),transparent 30%)}.mapping-visual svg{width:100%;height:auto;color:var(--fg)}.scan-line{animation:scan 3.8s ease-in-out infinite;filter:drop-shadow(0 0 8px white)}@keyframes scan{0%,100%{transform:translateY(-80px);opacity:0}25%,75%{opacity:.8}50%{transform:translateY(85px)}}.visual-label{position:absolute;left:16px;right:16px;bottom:13px;display:flex;justify-content:space-between}
.work-section{border-bottom:1px solid var(--line)}.work-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;grid-auto-flow:dense}.work-card{grid-column:span 4;min-height:410px;position:relative;overflow:hidden;background:#0a0a0a;border:1px solid var(--line);cursor:pointer}.work-card:nth-child(8n+1){grid-column:span 7;min-height:620px}.work-card:nth-child(8n+2){grid-column:span 5;min-height:620px}.work-card:nth-child(8n+4){grid-column:span 5}.work-card:nth-child(8n+5){grid-column:span 7}.work-card img,.work-card video{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .35s ease}.work-card:hover img,.work-card:hover video{transform:scale(1.025);filter:brightness(.55)}.work-overlay{position:absolute;inset:auto 0 0;padding:18px;background:linear-gradient(transparent,rgba(0,0,0,.78));opacity:0;transition:.25s ease}.work-card:hover .work-overlay,.work-card:focus .work-overlay{opacity:1}.work-title{font-size:13px}.work-meta{font:7px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.62);margin-top:6px}
.image-break{height:85svh;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.image-break img{width:100%;height:100%;object-fit:cover;filter:brightness(.64) saturate(.82)}.image-break::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.62),transparent 50%,rgba(5,5,5,.24))}.image-break-label{position:absolute;z-index:2;left:var(--pad);bottom:24px;font:8px ui-monospace,monospace;letter-spacing:.13em;color:rgba(255,255,255,.68)}
.capability-list{border-top:1px solid var(--line)}.capability-item{border-bottom:1px solid var(--line)}.capability-list button{width:100%;border:0;background:transparent;color:var(--fg);display:flex;justify-content:space-between;text-align:left;padding:24px 0;cursor:pointer;font-size:clamp(13px,1.25vw,18px)}.capability-list button::after{content:"+";color:var(--muted)}.capability-item.open button::after{content:"−"}.capability-detail{max-height:0;overflow:hidden;color:var(--muted);max-width:700px;font-size:14px;line-height:1.6;transition:max-height .3s ease,padding .3s ease}.capability-item.open .capability-detail{max-height:150px;padding:0 0 26px}
.light-play{min-height:84svh;padding:var(--pad);display:grid;grid-template-columns:1fr 1fr;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.light-play p{max-width:520px;color:var(--muted);line-height:1.5}.light-target{justify-self:center;width:min(32vw,390px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;position:relative;color:var(--muted);font:9px ui-monospace,monospace;letter-spacing:.14em}.target-ring{position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;box-shadow:0 0 120px rgba(255,255,255,.025) inset;animation:targetPulse 4s ease-in-out infinite}@keyframes targetPulse{50%{transform:scale(.88);opacity:.35}}
.about-section{display:grid;grid-template-columns:minmax(220px,.55fr) minmax(0,1fr);gap:clamp(50px,10vw,150px);align-items:center}.about-mark{display:grid;place-items:center}.about-mark img{width:min(340px,75%)}.about-copy p{color:var(--muted);line-height:1.6;max-width:720px}.inline-links{display:flex;gap:24px;margin-top:34px;font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em}.inline-links a{border-bottom:1px solid var(--line);padding-bottom:5px}
.book-section{border-top:1px solid var(--line)}.book-section>h2{font-size:clamp(54px,9vw,132px);max-width:1100px}.book-sub{color:var(--muted);font-size:clamp(18px,2vw,28px);margin:14px 0 55px}.booking-builder{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0}.booking-question>span{display:block;margin-bottom:18px;font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em;color:var(--muted)}.choice-row{display:flex;flex-wrap:wrap;gap:8px}.choice-row button{background:transparent;color:var(--fg);border:1px solid var(--line);padding:10px 12px;font-size:8px;cursor:pointer}.choice-row button.selected{background:var(--fg);color:var(--bg);border-color:var(--fg)}.book-actions{display:flex;gap:9px;margin-top:35px;flex-wrap:wrap}
.final-screen{min-height:82svh;display:grid;grid-template-columns:1fr auto;gap:60px;align-content:center;border-top:1px solid var(--line);position:relative;padding-bottom:180px}.final-logo{width:118px;height:118px;object-fit:contain}.final-screen p{color:var(--muted);max-width:600px}.status{align-self:start;padding-top:12px}.status span{display:block;color:var(--muted);font:8px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em;margin-bottom:10px}.status strong{font-size:13px;font-weight:400}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#f4f4f0;box-shadow:0 0 15px white;margin-right:7px;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{50%{opacity:.28}}.final-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:22px;font:10px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em}
.dreamland-portal{position:absolute;right:var(--pad);bottom:22px;width:180px;text-align:center;transition:transform .35s ease,filter .35s ease}.dreamland-portal:hover{transform:translateY(-5px);filter:drop-shadow(0 0 18px rgba(255,255,255,.2))}.dreamland-portal svg{width:100%;height:auto}.dream-curve{fill:var(--fg);font:8px ui-monospace,monospace;letter-spacing:.16em}.globe-mesh{stroke:var(--fg);stroke-width:.75;opacity:.66}.dreamland-portal span{display:block;margin-top:-9px;font:8px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}
footer{padding:18px var(--pad);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:24px;color:var(--muted);font-size:8px}.footer-brand{display:flex;align-items:center;gap:10px}.footer-brand img{width:28px;height:28px;object-fit:contain}.footer-system{display:flex;align-items:center;gap:9px}
.pointer-light{position:fixed;z-index:70;pointer-events:none;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;opacity:0;transform:scale(.2);background:radial-gradient(circle,rgba(255,255,255,.22),rgba(255,255,255,.055) 32%,transparent 68%);mix-blend-mode:screen;filter:blur(4px);transition:opacity .22s ease,transform .42s cubic-bezier(.2,.8,.2,1)}.pointer-light.on{opacity:1;transform:scale(1)}
.project-modal{position:fixed;inset:0;z-index:120;background:rgba(5,5,5,.97);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:clamp(30px,5vw,80px);padding:clamp(70px,8vw,110px) var(--pad) 40px;opacity:0;pointer-events:none;transition:opacity .28s ease}.project-modal.open{opacity:1;pointer-events:auto}.modal-close{position:absolute;top:24px;right:var(--pad);background:transparent;color:var(--fg);border:0;font:9px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em;cursor:pointer}.modal-media{min-height:0;display:grid;place-items:center;overflow:hidden;background:#0d0d0d}.modal-media video,.modal-media img{width:100%;height:100%;max-height:calc(100svh - 140px);object-fit:contain}.modal-copy{align-self:end;padding-bottom:18px}.modal-copy h2{font-size:clamp(38px,5vw,78px)}.modal-copy p{color:var(--muted);line-height:1.6;max-width:520px}
.reveal-section{opacity:0;transform:translateY(22px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.8,.2,1)}.reveal-section.visible{opacity:1;transform:none}
@media(max-width:900px){.site-nav{grid-template-columns:auto 1fr auto;height:66px}.system-readout>span{display:none}.site-nav nav{gap:11px}.site-nav nav a{font-size:7px}.hero{padding-top:105px}.hero-coordinate{top:90px}.featured-story,.mapping-section{grid-template-columns:1fr}.featured-copy{position:relative;top:auto}.mapping-visual{min-height:430px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.work-card,.work-card:nth-child(n){grid-column:span 1;min-height:48svh}.work-card:nth-child(3n+1){grid-column:1/-1;min-height:66svh}.work-overlay{opacity:1;padding:14px}.light-play{grid-template-columns:1fr;min-height:78svh;gap:40px}.light-target{width:min(68vw,360px)}.about-section{grid-template-columns:1fr}.about-mark{order:2;justify-content:start}.about-mark img{width:180px}.booking-builder{grid-template-columns:1fr}.final-screen{grid-template-columns:1fr}.status{margin-top:10px}.project-modal{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:24px;overflow:auto}.modal-media{min-height:55svh}.modal-media video,.modal-media img{max-height:62svh}}
@media(max-width:560px){.site-nav{padding:0 14px;gap:10px}.logo-button{width:40px;height:40px}.site-nav nav a:nth-child(1),.site-nav nav a:nth-child(3){display:none}.system-readout{gap:6px}.mini-compass{width:23px;height:23px}.hero{min-height:100svh;padding-left:18px;padding-right:18px}.hero-media img{object-position:59% center}.hero-coordinate{display:none}.hero-actions{width:100%;flex-direction:column}.button{width:100%}.space-scene{min-height:58svh}.featured-section,.work-section,.mapping-section,.capabilities,.about-section,.book-section,.final-screen{padding-left:18px;padding-right:18px}.section-heading{display:block}.section-heading>p,.feature-side-meta{text-align:left;margin-top:16px}.featured-media-grid{grid-template-columns:1fr}.feature-media,.feature-media:first-child{grid-column:1;min-height:62svh}.feature-media:nth-child(n+4){min-height:46svh}.mapping-defs{grid-template-columns:1fr}.mapping-visual{min-height:330px}.work-grid{grid-template-columns:1fr}.work-card,.work-card:nth-child(n),.work-card:nth-child(3n+1){grid-column:1;min-height:62svh}.inline-links,.final-links{flex-direction:column;gap:14px;align-items:flex-start}.dreamland-portal{position:relative;right:auto;bottom:auto;display:block;margin:80px 0 0 auto;width:150px}.final-screen{padding-bottom:85px}footer{align-items:flex-start}.footer-system>span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal-section{opacity:1;transform:none}}

/* =========================================================
   V7 REFINEMENTS
   ========================================================= */
/* Keep core content visible even if a scroll observer is delayed by iPhone Safari. */
.reveal-section{opacity:1;transform:none}

/* VIDEO 01 in When the Light Returns is intentionally cropped square. */
.feature-media.feature-square{
  grid-column:span 1!important;
  min-height:0!important;
  aspect-ratio:1/1;
}
.feature-media.feature-square video,
.feature-media.feature-square img{object-fit:cover}
.feature-media.feature-flyer{background:#090909;min-height:0;aspect-ratio:3/4}
.feature-media.feature-flyer img{object-fit:contain;background:#090909}

/* Poster-first archive rendering: cards are visible immediately, videos hydrate nearby. */
.work-poster,.work-image{background:#0b0b0b}
.work-section{padding-top:clamp(72px,8vw,120px);padding-bottom:clamp(72px,8vw,120px)}

/* Let's Experiment is now the booking interface, so there is no repetitive second booking block. */
.experiment-booking{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
  margin-top:44px;
  padding-top:30px;
  border-top:1px solid var(--line);
}
.experiment-booking p{margin:10px 0 0;max-width:640px;color:var(--muted);line-height:1.55;font-size:14px}
.experiment-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.capability-detail{max-width:860px}
.capability-item.open .capability-detail{max-height:260px}

/* Keep the projection explainer and archive connected as one continuous chapter. */
.mapping-section{padding-bottom:clamp(70px,8vw,120px)}
.mapping-section + .work-section{padding-top:clamp(62px,7vw,100px)}

@media(max-width:900px){
  .experiment-booking{grid-template-columns:1fr;align-items:start}
  .experiment-actions{justify-content:flex-start}
}
@media(max-width:560px){
  .feature-media.feature-square{grid-column:1!important;min-height:0!important;aspect-ratio:1/1}
  .feature-media.feature-flyer{min-height:0!important;aspect-ratio:3/4}
  .experiment-actions{display:grid;grid-template-columns:1fr;width:100%}
  .experiment-actions .button{width:100%}
}

/* =========================================================
   V8 REFINEMENTS — compact archive / project protocol
   ========================================================= */
.hero-labline{
  font-size:clamp(11px,1.15vw,16px)!important;
  letter-spacing:.16em;
  color:rgba(244,244,240,.84)!important;
}

/* Featured project: narrative stays on the left; media behaves like a compact contact sheet. */
.featured-story{grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);gap:clamp(36px,6vw,90px)}
.featured-media-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:start;
}
.feature-media,
.feature-media:first-child,
.feature-media:nth-child(n){
  grid-column:span 1!important;
  min-height:0!important;
  aspect-ratio:4/5;
}
.feature-media.feature-square{aspect-ratio:1/1!important}
.feature-media video,.feature-media img{object-fit:cover}
.featured-flyer-inline{
  width:min(260px,82%);
  margin:24px 0 0;
  padding:0;
  border:1px solid var(--line);
  background:#0a0a0a;
}
.featured-flyer-inline img{width:100%;height:auto;display:block}

/* Projection process / lab protocol */
.process-section{
  padding:clamp(72px,9vw,130px) var(--pad);
  border-bottom:1px solid var(--line);
  background:
    linear-gradient(90deg,transparent 0 11%,rgba(244,244,240,.025) 11% 11.15%,transparent 11.15% 100%),
    linear-gradient(180deg,rgba(255,255,255,.012),transparent 65%);
}
.process-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,380px);
  gap:40px;
  align-items:end;
  margin-bottom:40px;
}
.process-heading h2{font-size:clamp(40px,5.2vw,78px)}
.process-heading>p{margin:0;color:var(--muted);font-size:13px;line-height:1.5;max-width:360px}
.process-timeline{border-top:1px solid var(--line);position:relative}
.process-timeline::before{
  content:"";
  position:absolute;
  left:31px;
  top:0;
  bottom:0;
  width:1px;
  background:linear-gradient(var(--fg),var(--line) 20%,var(--line) 80%,transparent);
  opacity:.35;
  pointer-events:none;
}
.process-step{border-bottom:1px solid var(--line);position:relative}
.process-step summary{
  list-style:none;
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto 24px;
  align-items:center;
  gap:18px;
  min-height:78px;
  cursor:pointer;
  padding:0 4px;
}
.process-step summary::-webkit-details-marker{display:none}
.process-step summary::after{
  content:"+";
  grid-column:4;
  color:var(--muted);
  font:16px ui-monospace,monospace;
  transition:transform .25s ease,color .25s ease;
}
.process-step[open] summary::after{transform:rotate(45deg);color:var(--fg)}
.process-index{
  width:62px;
  color:var(--muted);
  font:9px ui-monospace,monospace;
  letter-spacing:.12em;
  position:relative;
  z-index:1;
}
.process-index::after{
  content:"";
  position:absolute;
  width:7px;height:7px;border-radius:50%;
  border:1px solid var(--fg);
  background:var(--bg);
  right:27px;top:2px;
  box-shadow:0 0 12px rgba(255,255,255,.14);
}
.process-name{font-size:clamp(18px,2vw,28px);letter-spacing:-.02em}
.process-code{font:8px ui-monospace,monospace;letter-spacing:.13em;color:var(--muted);text-transform:uppercase}
.process-detail{
  margin-left:64px;
  padding:0 0 30px 18px;
  max-width:820px;
  border-left:1px solid var(--line2);
}
.process-detail p{color:var(--muted);line-height:1.65;font-size:14px;margin:0 0 12px}
.process-detail strong{color:var(--fg);font-weight:400}

/* Selected Works: smaller contact-sheet thumbnails, still tactile on hover/tap. */
.work-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  grid-auto-flow:dense;
}
.work-card,
.work-card:nth-child(n),
.work-card:nth-child(8n+1),
.work-card:nth-child(8n+2),
.work-card:nth-child(8n+4),
.work-card:nth-child(8n+5){
  grid-column:span 1!important;
  min-height:0!important;
  aspect-ratio:4/5;
}
.work-card:nth-child(9n+1){grid-column:span 2!important;aspect-ratio:16/9}
.work-card.work-card-square{grid-column:span 1!important;aspect-ratio:1/1!important}
.work-overlay{padding:12px}
.work-title{font-size:11px}
.work-meta{font-size:6px}

/* About becomes a portrait moving-image card rather than another logo moment. */
.about-section{grid-template-columns:minmax(240px,.7fr) minmax(0,1.1fr);gap:clamp(42px,8vw,110px)}
.about-media{
  margin:0;
  width:min(100%,430px);
  aspect-ratio:9/12;
  overflow:hidden;
  border:1px solid var(--line);
  background:#090909;
  position:relative;
}
.about-media::after{
  content:"ABOUT / MOVING IMAGE";
  position:absolute;
  left:12px;bottom:12px;
  padding:5px 7px;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(5px);
  color:rgba(255,255,255,.65);
  font:7px ui-monospace,monospace;
  letter-spacing:.13em;
}
.about-media video{width:100%;height:100%;object-fit:cover}
.about-copy strong{color:var(--fg);font-weight:400}
.about-services{
  font:10px ui-monospace,monospace!important;
  text-transform:uppercase;
  letter-spacing:.09em;
  line-height:1.65!important;
  color:rgba(244,244,240,.5)!important;
  border-top:1px solid var(--line);
  padding-top:18px;
  margin-top:24px;
}

.final-main p:first-of-type{font-size:15px;color:rgba(244,244,240,.72)}
.dreamland-portal{width:230px!important;bottom:16px}
.dream-curve{font-size:8px}

@media(max-width:900px){
  .featured-story{grid-template-columns:1fr}
  .featured-copy{position:relative;top:auto}
  .featured-flyer-inline{width:min(240px,62vw)}
  .featured-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .process-heading{grid-template-columns:1fr}
  .process-heading>p{max-width:560px}
  .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .work-card:nth-child(9n+1){grid-column:span 2!important}
  .about-section{grid-template-columns:minmax(220px,.7fr) minmax(0,1fr)}
}

@media(max-width:640px){
  .hero-labline{font-size:11px!important}
  .featured-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .feature-media,.feature-media:first-child,.feature-media:nth-child(n){grid-column:span 1!important;aspect-ratio:4/5;min-height:0!important}
  .feature-media.feature-square{aspect-ratio:1/1!important}
  .featured-flyer-inline{width:min(210px,64vw)}
  .process-section{padding-left:18px;padding-right:18px}
  .process-step summary{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;min-height:72px}
  .process-step summary::after{grid-column:3;grid-row:1}
  .process-code{display:none}
  .process-index{width:46px}
  .process-index::after{right:17px}
  .process-detail{margin-left:48px;padding-left:14px}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .work-card,.work-card:nth-child(n),.work-card:nth-child(9n+1){grid-column:span 1!important;aspect-ratio:4/5!important;min-height:0!important}
  .work-card.work-card-square{aspect-ratio:1/1!important}
  .work-title{font-size:10px}
  .about-section{grid-template-columns:1fr!important}
  .about-media{width:min(72vw,330px)}
  .dreamland-portal{width:190px!important}
}

/* =========================================================
   V9 REFINEMENTS — moving hero / business signal / sun test
   ========================================================= */
.hero-media video{
  width:100%;height:100%;object-fit:cover;
  filter:brightness(var(--hero-light)) saturate(.88);
  transform:scale(1.025);
  transition:filter .2s linear;
}

/* Header: logo + Naaz Lab + Detroit clock + business-hours signal. */
.system-readout{gap:12px!important;color:rgba(244,244,240,.72)}
.header-lab-name{font-size:10px;color:var(--fg);letter-spacing:.16em}
.detroit-time{font-variant-numeric:tabular-nums}
.business-signal{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font:8px ui-monospace,monospace;letter-spacing:.13em}
.signal-dot{width:7px;height:7px;border:1px solid rgba(244,244,240,.34);border-radius:50%;display:inline-block;background:transparent}
.business-signal.is-on .signal-dot{background:var(--fg);border-color:var(--fg);box-shadow:0 0 12px rgba(255,255,255,.75);animation:businessSignal 1.4s steps(2,end) infinite}
.business-signal.is-on .signal-label{color:var(--fg)}
.business-signal.is-off{opacity:.48}
@keyframes businessSignal{0%,42%{opacity:1}43%,67%{opacity:.16}68%,100%{opacity:1}}

/* Featured copy remains compact, with exhibition credit only. */
.featured-copy .exhibition-note{margin-top:30px}
.featured-flyer-inline,.project-role{display:none!important}

/* Small mapping diagram sits beside the headline rather than becoming a second giant panel. */
.mapping-section{
  display:block!important;
  padding-top:clamp(78px,9vw,128px)!important;
  padding-bottom:clamp(78px,9vw,128px)!important;
}
.mapping-copy{max-width:1180px}
.mapping-title-row{display:flex;align-items:flex-end;gap:clamp(18px,3vw,42px);margin-bottom:34px}
.mapping-title-row h2{max-width:900px!important;flex:1}
.mapping-visual-mini{
  flex:0 0 clamp(120px,14vw,185px);
  width:clamp(120px,14vw,185px);
  min-height:0!important;
  aspect-ratio:220/150;
  border:1px solid var(--line);
  background:radial-gradient(circle at 67% 48%,rgba(255,255,255,.07),transparent 38%);
  display:grid;place-items:center;
}
.mapping-visual-mini svg{width:100%;height:auto;color:var(--fg)}
.mapping-defs{max-width:940px}
.mapping-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:36px}
.mapping-benefits>div{min-height:175px;padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.mapping-benefits span{display:block;font:7px ui-monospace,monospace;letter-spacing:.13em;color:var(--muted);margin-bottom:22px}
.mapping-benefits strong{display:block;font-size:14px;font-weight:400;margin-bottom:8px}
.mapping-benefits p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}

.process-book{display:flex;justify-content:flex-end;margin-top:34px}

/* Surface studies keep their full composition inside a square tile. */
.work-card-contain img,.work-card-contain video{object-fit:contain!important;background:#070707;padding:6px}
.work-card-contain:hover img,.work-card-contain:hover video{transform:scale(1.01)!important}

/* Three-zap black-and-white mesh sun. */
.sun-play{min-height:82svh;padding:clamp(82px,9vw,140px) var(--pad);display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.85fr);gap:clamp(50px,10vw,150px);align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.sun-copy p{max-width:520px;color:var(--muted);line-height:1.6;font-size:14px}.sun-copy .eyebrow{margin-bottom:16px}.zap-readout{margin-top:28px;font:8px ui-monospace,monospace;letter-spacing:.14em;color:var(--muted)}
.mesh-sun{justify-self:center;width:min(34vw,400px);aspect-ratio:1;position:relative;border:0;background:transparent;color:var(--fg);cursor:pointer;display:grid;place-items:center;padding:0;outline:none;-webkit-tap-highlight-color:transparent}
.sun-core{width:54%;aspect-ratio:1;border:1px solid currentColor;border-radius:50%;position:relative;overflow:hidden;display:block;box-shadow:0 0 0 rgba(255,255,255,0);transition:box-shadow .45s ease,transform .28s ease,background .45s ease}
.sun-core::before,.sun-core::after{content:"";position:absolute;inset:12% 0;border-top:1px solid rgba(244,244,240,.45);border-bottom:1px solid rgba(244,244,240,.45);border-radius:50%}
.sun-core::after{inset:30% 0}
.sun-latitudes,.sun-longitudes{position:absolute;inset:0;border-radius:50%}
.sun-latitudes::before,.sun-latitudes::after{content:"";position:absolute;left:50%;top:0;width:32%;height:100%;transform:translateX(-50%);border-left:1px solid rgba(244,244,240,.5);border-right:1px solid rgba(244,244,240,.5);border-radius:50%}
.sun-latitudes::after{width:66%}
.sun-longitudes::before,.sun-longitudes::after{content:"";position:absolute;left:0;top:50%;width:100%;height:32%;transform:translateY(-50%);border-top:1px solid rgba(244,244,240,.35);border-bottom:1px solid rgba(244,244,240,.35);border-radius:50%}
.sun-longitudes::after{height:66%}
.sun-rays{position:absolute;inset:0;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.sun-rays i{position:absolute;left:50%;top:50%;width:1px;height:18%;background:linear-gradient(to top,var(--fg),transparent);transform-origin:50% 0;opacity:.32;transition:height .5s ease,opacity .5s ease,filter .5s ease}
.sun-rays i:nth-child(1){transform:rotate(0deg) translateY(-165%)}.sun-rays i:nth-child(2){transform:rotate(30deg) translateY(-165%)}.sun-rays i:nth-child(3){transform:rotate(60deg) translateY(-165%)}.sun-rays i:nth-child(4){transform:rotate(90deg) translateY(-165%)}.sun-rays i:nth-child(5){transform:rotate(120deg) translateY(-165%)}.sun-rays i:nth-child(6){transform:rotate(150deg) translateY(-165%)}.sun-rays i:nth-child(7){transform:rotate(180deg) translateY(-165%)}.sun-rays i:nth-child(8){transform:rotate(210deg) translateY(-165%)}.sun-rays i:nth-child(9){transform:rotate(240deg) translateY(-165%)}.sun-rays i:nth-child(10){transform:rotate(270deg) translateY(-165%)}.sun-rays i:nth-child(11){transform:rotate(300deg) translateY(-165%)}.sun-rays i:nth-child(12){transform:rotate(330deg) translateY(-165%)}
.sun-label{position:absolute;font:8px ui-monospace,monospace;letter-spacing:.16em;color:rgba(244,244,240,.66)}
.mesh-sun.zap-hit .sun-core{transform:scale(.94)}
.mesh-sun.charged .sun-core{background:rgba(244,244,240,.08);box-shadow:0 0 46px rgba(255,255,255,.32),0 0 120px rgba(255,255,255,.13);transform:scale(1.08)}
.mesh-sun.charged .sun-rays{animation:sunOrbit 7s linear infinite}
.mesh-sun.charged .sun-rays i{height:30%;opacity:.88;filter:drop-shadow(0 0 5px white)}
.mesh-sun.charged .sun-label{opacity:.18}
@keyframes sunOrbit{to{transform:rotate(360deg)}}

/* Bottom contact area no longer repeats the large logo/tagline. */
.final-screen{min-height:58svh;grid-template-columns:auto 1fr;align-items:center;align-content:center;padding-bottom:170px}
.final-screen .status{grid-column:1}.final-links{grid-column:1/-1}.final-main{display:none!important}

@media(max-width:900px){
  .system-readout>span{display:inline-flex!important}
  .mapping-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sun-play{grid-template-columns:1fr;min-height:auto}
  .mesh-sun{width:min(58vw,360px)}
}
@media(max-width:640px){
  .site-nav{grid-template-columns:auto 1fr auto!important}
  .system-readout{gap:7px!important}.header-lab-name{font-size:7px}.business-signal{font-size:6px}.signal-dot{width:5px;height:5px}.detroit-time{font-size:7px}
  .site-nav nav{gap:8px}.site-nav nav a{font-size:6px}
  .hero-media video{object-position:center center}
  .mapping-title-row{align-items:center;gap:14px}.mapping-title-row h2{font-size:clamp(37px,11vw,58px)}.mapping-visual-mini{flex-basis:92px;width:92px}
  .mapping-benefits{grid-template-columns:1fr}.mapping-benefits>div{min-height:0}
  .process-book{justify-content:stretch}.process-book .button{width:100%}
  .sun-play{padding-left:18px;padding-right:18px}.mesh-sun{width:min(76vw,330px)}
  .final-screen{grid-template-columns:1fr;padding-bottom:90px}
}
/* Tiny V9 type adjustment after proofing. */
.header-lab-name{font-size:12px}
@media(max-width:640px){.header-lab-name{font-size:8px}}

/* =========================================================
   V10 — compact moving hero / touch-space / globe interaction
   ========================================================= */

/* HERO: smaller, brighter moving image with feathered edges. */
.hero{isolation:isolate;background:#050505;align-items:flex-end}
.hero-media{display:grid;place-items:center;pointer-events:none;z-index:0}
.hero-video-shell{
  position:absolute;
  top:47%;
  right:clamp(4vw,7vw,110px);
  width:min(68vw,920px);
  aspect-ratio:1080/632;
  transform:translateY(-50%);
  opacity:.9;
  filter:drop-shadow(0 0 42px rgba(255,255,255,.05));
}
.hero-video-shell video{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1;
  filter:brightness(var(--hero-light)) saturate(.9) contrast(1.03)!important;
  transform:none!important;
  -webkit-mask-image:radial-gradient(ellipse 72% 74% at 50% 50%,#000 43%,rgba(0,0,0,.98) 57%,rgba(0,0,0,.62) 72%,transparent 100%);
  mask-image:radial-gradient(ellipse 72% 74% at 50% 50%,#000 43%,rgba(0,0,0,.98) 57%,rgba(0,0,0,.62) 72%,transparent 100%);
}
.hero-video-shell::before,.hero-video-shell::after{content:"";position:absolute;pointer-events:none;width:34px;height:34px;opacity:.36;z-index:2}
.hero-video-shell::before{left:8%;top:7%;border-left:1px solid var(--fg);border-top:1px solid var(--fg)}
.hero-video-shell::after{right:8%;bottom:7%;border-right:1px solid var(--fg);border-bottom:1px solid var(--fg)}
.hero-video-node{position:absolute;width:5px;height:5px;border:1px solid var(--fg);border-radius:50%;opacity:.45}
.node-a{left:8%;top:7%;transform:translate(-2px,-2px)}.node-b{right:8%;bottom:7%;transform:translate(2px,2px)}
.hero-shade{z-index:1;background:linear-gradient(to top,rgba(5,5,5,.94) 0%,rgba(5,5,5,.14) 52%,rgba(5,5,5,.42) 100%),linear-gradient(90deg,rgba(5,5,5,.58),transparent 54%)}
.hero-grid{position:absolute;inset:76px 0 0;z-index:1;pointer-events:none;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,transparent,black 18%,black 75%,transparent)}
.hero-copy{z-index:3;max-width:1100px}
.hero-copy h1{font-size:clamp(54px,8vw,126px);line-height:.84;max-width:1020px}
.hero-protocol{display:flex;gap:7px;flex-wrap:wrap;margin-top:24px}
.hero-protocol span{border:1px solid var(--line);padding:5px 8px;font:7px ui-monospace,monospace;letter-spacing:.14em;color:rgba(244,244,240,.56);background:rgba(5,5,5,.4);backdrop-filter:blur(5px)}
.hero-actions .button{gap:11px;justify-content:flex-start;min-width:180px;background:rgba(5,5,5,.22);backdrop-filter:blur(8px);border-color:rgba(244,244,240,.26)}
.hero-actions .button span{font-size:7px;opacity:.5;padding-right:10px;border-right:1px solid var(--line)}
.hero-actions .button-solid{background:var(--fg);border-color:var(--fg)}
.interact-rail{position:absolute;right:18px;top:50%;z-index:5;transform:translateY(-50%);display:grid;place-items:center;gap:13px;padding:13px 8px;border:1px solid var(--line);background:rgba(5,5,5,.42);backdrop-filter:blur(9px);font:7px ui-monospace,monospace;letter-spacing:.15em;color:var(--fg);writing-mode:vertical-rl;text-orientation:mixed;transition:.25s ease}
.interact-rail:hover{background:var(--fg);color:var(--bg)}
.interact-rail i{font-style:normal;font-size:12px}

/* TAKE UP SPACE: touch/pointer-generated wire cube. */
.space-scene{--cube-x:72%;--cube-y:46%;--cube-size:104px;--cube-rx:-8deg;--cube-ry:18deg;min-height:72svh;touch-action:pan-y}
.space-copy{pointer-events:none}
.space-copy .space-subline{margin-top:12px!important;font-size:10px!important;letter-spacing:.06em!important;text-transform:none!important;color:rgba(244,244,240,.64)!important}
.cube-field{position:absolute;inset:0;z-index:1;pointer-events:none;perspective:700px}
.cube-instruction{position:absolute;right:var(--pad);bottom:24px;font:7px ui-monospace,monospace;letter-spacing:.13em;color:rgba(244,244,240,.36)}
.wire-cube{position:absolute;left:var(--cube-x);top:var(--cube-y);width:var(--cube-size);height:var(--cube-size);transform:translate(-50%,-50%) rotateX(var(--cube-rx)) rotateY(var(--cube-ry));opacity:.2;transition:opacity .35s ease,width .18s ease,height .18s ease;filter:drop-shadow(0 0 0 transparent)}
.wire-cube.cube-live{opacity:.86;filter:drop-shadow(0 0 8px rgba(255,255,255,.22))}
.cube-face{position:absolute;width:76%;height:76%;border:1px solid rgba(244,244,240,.72);left:12%;top:12%}
.cube-back{transform:translate(18px,-18px);opacity:.55}
.cube-edge{position:absolute;width:26px;height:1px;background:rgba(244,244,240,.62);transform-origin:left center}
.edge-1{left:12%;top:12%;transform:rotate(-45deg)}
.edge-2{right:8%;top:12%;transform:rotate(-45deg)}
.edge-3{left:12%;bottom:12%;transform:rotate(-45deg)}
.edge-4{right:8%;bottom:12%;transform:rotate(-45deg)}

/* FEATURED: contact sheet remains compact; exhibition flyer replaces duplicate video. */
.feature-media.feature-flyer{aspect-ratio:3/4!important;background:#070707}
.feature-media.feature-flyer img{object-fit:contain!important;background:#070707;padding:4px}

/* WHY MAP IT: one-line lower-case title + collapsed detail panels. */
.mapping-section{padding-top:clamp(70px,8vw,116px)!important;padding-bottom:clamp(70px,8vw,116px)!important}
.mapping-title-row{align-items:center;margin-bottom:28px;gap:clamp(10px,2vw,26px)}
.mapping-title-row h2{font-size:clamp(22px,4.1vw,58px)!important;line-height:1!important;letter-spacing:-.045em;white-space:nowrap;max-width:none!important}
.mapping-visual-mini{flex:0 0 clamp(74px,8vw,116px);width:clamp(74px,8vw,116px);border-color:rgba(244,244,240,.18)}
.mapping-visual-mini svg{display:block}
.mini-scan{filter:drop-shadow(0 0 5px white);animation:miniScan 2.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center;opacity:.85}
@keyframes miniScan{0%,100%{transform:translateY(-26px);opacity:0}20%,80%{opacity:.8}50%{transform:translateY(34px);opacity:1}}
.mapping-accordions{border-top:1px solid var(--line);max-width:980px}
.mapping-detail{border-bottom:1px solid var(--line)}
.mapping-detail summary{list-style:none;cursor:pointer;min-height:74px;display:grid;grid-template-columns:minmax(0,1fr) auto 22px;align-items:center;gap:18px;padding:0 3px}
.mapping-detail summary::-webkit-details-marker{display:none}
.mapping-detail summary::after{content:"+";font:16px ui-monospace,monospace;color:var(--muted);transition:transform .2s ease,color .2s ease}
.mapping-detail[open] summary::after{transform:rotate(45deg);color:var(--fg)}
.mapping-detail summary span{font-size:clamp(16px,1.8vw,25px)}
.mapping-detail summary small{font:7px ui-monospace,monospace;letter-spacing:.13em;color:var(--muted)}
.mapping-detail-body{padding:0 0 28px;max-width:920px}
.mapping-detail-body>p{color:var(--muted);line-height:1.65;font-size:13px;max-width:770px;margin:0 0 12px}
.mapping-benefits{margin-top:24px!important}
.mapping-benefits>div{min-height:155px!important}
.brand-line{margin-top:30px}

/* LIGHT / BODY / SPACE: swipeable three-image field. */
.image-break.light-body-carousel{height:auto;min-height:72svh;background:#050505;overflow:hidden}
.light-body-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.light-body-track::-webkit-scrollbar{display:none}
.light-body-slide{position:relative;flex:0 0 100%;height:78svh;scroll-snap-align:start;scroll-snap-stop:always;margin:0;background:#050505}
.light-body-slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.84)}
.light-body-surface img{object-fit:contain;padding:clamp(18px,4vw,60px);filter:brightness(.9) saturate(.75)}
.light-body-carousel::after{pointer-events:none;z-index:1}
.light-body-ui{position:absolute;z-index:3;right:var(--pad);bottom:24px;display:flex;gap:18px;font:7px ui-monospace,monospace;letter-spacing:.14em;color:rgba(255,255,255,.66)}

/* WORLD IS YOURS: drag/touch globe with continent + internal line work. */
.world-section{padding:clamp(96px,11vw,170px) var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr);gap:clamp(50px,9vw,140px);align-items:center;background:radial-gradient(circle at 75% 50%,rgba(255,255,255,.028),transparent 34%)}
.world-copy h2{font-size:clamp(48px,7.5vw,112px);max-width:800px}
.world-copy>p{max-width:570px;color:var(--muted);font-size:14px;line-height:1.65}
.world-prompt{margin-top:48px;padding-top:20px;border-top:1px solid var(--line);max-width:560px}
.world-prompt>span{font:7px ui-monospace,monospace;letter-spacing:.14em;color:var(--muted)}
.world-prompt p{font-size:clamp(18px,2vw,27px);line-height:1.25;margin:14px 0 22px;max-width:520px}
.world-stage{display:grid;place-items:center;position:relative;min-height:560px;perspective:900px}
.world-readout{position:absolute;top:0;right:0;font:7px ui-monospace,monospace;letter-spacing:.13em;color:rgba(244,244,240,.42)}
.world-instruction{position:absolute;bottom:0;right:0;font:7px ui-monospace,monospace;letter-spacing:.13em;color:rgba(244,244,240,.42)}
.interactive-globe{position:relative;width:min(42vw,520px);aspect-ratio:1;display:grid;place-items:center;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;user-select:none}
.interactive-globe.is-dragging{cursor:grabbing}
.globe-core{width:100%;height:100%;transform-style:preserve-3d;transition:transform .08s linear;will-change:transform;filter:drop-shadow(0 0 20px rgba(255,255,255,.05))}
.globe-core svg{width:100%;height:100%;display:block;color:var(--fg);overflow:visible}
.world-land{filter:drop-shadow(0 0 2px rgba(255,255,255,.12))}
.world-axis{position:absolute;pointer-events:none;opacity:.12}
.axis-x{width:82%;height:1px;background:var(--fg)}
.axis-y{height:82%;width:1px;background:var(--fg)}
.interactive-globe::after{content:"";position:absolute;inset:17%;border-radius:50%;box-shadow:inset -35px -18px 55px rgba(0,0,0,.7),inset 24px 12px 45px rgba(255,255,255,.035);pointer-events:none}

/* About now flows directly into the interactive project example. */
.about-section{border-bottom:0}

@media(max-width:900px){
  .hero-video-shell{width:min(78vw,760px);right:4vw;top:43%}
  .mapping-title-row h2{font-size:clamp(20px,4.5vw,42px)!important}
  .mapping-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}
  .world-section{grid-template-columns:1fr;gap:34px}
  .world-stage{min-height:480px}
  .interactive-globe{width:min(66vw,450px)}
}

@media(max-width:640px){
  .hero{padding-bottom:64px}
  .hero-video-shell{width:86vw;right:50%;top:42%;transform:translate(50%,-50%);opacity:.94}
  .hero-video-shell video{-webkit-mask-image:radial-gradient(ellipse 75% 74% at 50% 50%,#000 40%,rgba(0,0,0,.96) 58%,rgba(0,0,0,.5) 77%,transparent 100%);mask-image:radial-gradient(ellipse 75% 74% at 50% 50%,#000 40%,rgba(0,0,0,.96) 58%,rgba(0,0,0,.5) 77%,transparent 100%)}
  .hero-copy h1{font-size:clamp(48px,15vw,76px);line-height:.86}
  .hero-protocol{max-width:82vw}.hero-protocol span{font-size:6px;padding:4px 6px}
  .hero-actions{gap:7px}.hero-actions .button{min-width:0}
  .interact-rail{right:7px;top:46%;padding:10px 6px;font-size:6px}
  .space-scene{min-height:64svh;padding-left:18px;padding-right:18px}.cube-instruction{right:18px;font-size:6px}
  .mapping-title-row{gap:8px;margin-bottom:20px}
  .mapping-title-row h2{font-size:15px!important;letter-spacing:-.035em;white-space:nowrap}
  .mapping-visual-mini{flex-basis:58px;width:58px}
  .mapping-detail summary{grid-template-columns:minmax(0,1fr) 18px;min-height:68px;gap:8px}.mapping-detail summary small{display:none}.mapping-detail summary::after{grid-column:2}
  .mapping-benefits{grid-template-columns:1fr}.mapping-benefits>div{min-height:0!important;padding:16px}
  .light-body-slide{height:68svh}.light-body-ui{right:18px;bottom:18px}.image-break-label{left:18px;bottom:18px}
  .world-section{padding-left:18px;padding-right:18px}.world-stage{min-height:390px}.interactive-globe{width:min(88vw,360px)}.world-readout{right:0}.world-instruction{right:0}
}

@media(prefers-reduced-motion:reduce){
  .mini-scan{animation:none}.globe-core,.wire-cube{transition:none}.hero-video-shell video{transform:none}
}

/* =========================================================
   V11 FLOW + INTERACTION OVERRIDES
   ========================================================= */

/* Featured title image: mobile companion for IMAGE 01. */
.feature-title-image{
  display:none;
  width:92px;
  aspect-ratio:1;
  object-fit:cover;
  border:1px solid var(--line);
  background:#090909;
}

/* Let About + Process read as one continuous editorial block. */
.about-section{
  border-top:1px solid var(--line);
  border-bottom:0;
  padding-bottom:clamp(64px,7vw,110px);
}
.about-section + .process-section{
  padding-top:clamp(46px,5vw,76px);
  border-top:1px solid var(--line2);
}
.process-section + .capabilities{
  border-top:1px solid var(--line);
}

/* Interactive Naaz object. Chrome image is treated as a monochrome mesh core. */
.logo-world-stage{min-height:590px}
.interactive-logo-world{
  position:relative;
  width:min(43vw,520px);
  aspect-ratio:1;
  display:grid;
  place-items:center;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  perspective:1000px;
}
.interactive-logo-world.is-dragging{cursor:grabbing}
.naaz-mesh-object{
  position:relative;
  width:58%;
  aspect-ratio:1;
  border-radius:50%;
  overflow:hidden;
  transform-style:preserve-3d;
  transition:transform .08s linear;
  will-change:transform;
  border:1px solid rgba(244,244,240,.35);
  box-shadow:0 0 0 1px rgba(244,244,240,.05), inset 0 0 45px rgba(255,255,255,.035);
  background:#050505;
  z-index:4;
}
.naaz-mesh-object img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:grayscale(1) contrast(1.55) brightness(1.2);
  opacity:.82;
  mix-blend-mode:screen;
  pointer-events:none;
}
.naaz-mesh-grid{
  position:absolute;
  inset:0;
  border-radius:50%;
  pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg, transparent 0 15px, rgba(244,244,240,.13) 15px 16px),
    repeating-linear-gradient(90deg, transparent 0 15px, rgba(244,244,240,.13) 15px 16px);
  -webkit-mask-image:radial-gradient(circle,#000 0 72%,transparent 73%);
  mask-image:radial-gradient(circle,#000 0 72%,transparent 73%);
  mix-blend-mode:screen;
  opacity:.55;
}
.naaz-scan{
  position:absolute;
  left:7%;right:7%;height:1px;top:22%;
  background:rgba(255,255,255,.9);
  box-shadow:0 0 9px rgba(255,255,255,.55);
  animation:naazScan 3.1s ease-in-out infinite;
  opacity:.55;
}
@keyframes naazScan{0%,100%{transform:translateY(0);opacity:.12}50%{transform:translateY(150px);opacity:.8}}
.logo-orbit-ring{
  position:absolute;
  border:1px solid rgba(244,244,240,.17);
  border-radius:50%;
  pointer-events:none;
}
.ring-one{width:79%;height:79%;transform:rotateX(66deg) rotateZ(-10deg)}
.ring-two{width:91%;height:56%;transform:rotateX(70deg) rotateZ(38deg);opacity:.48}
.people-orbit{
  position:absolute;
  inset:5%;
  border-radius:50%;
  animation:peopleOrbit 16s linear infinite;
  pointer-events:none;
  z-index:6;
}
@keyframes peopleOrbit{to{transform:rotate(360deg)}}
.orbit-person{
  position:absolute;
  width:18px;
  height:34px;
  transform-origin:50% 50%;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.18));
}
.orbit-person i{
  position:absolute;
  left:6px;top:0;
  width:6px;height:6px;
  border:1px solid rgba(244,244,240,.72);
  border-radius:50%;
}
.orbit-person b{
  position:absolute;
  left:8px;top:7px;
  width:1px;height:21px;
  background:rgba(244,244,240,.72);
  transform-origin:50% 3px;
}
.orbit-person b::before,.orbit-person b::after{
  content:"";
  position:absolute;
  left:0;top:6px;
  width:12px;height:1px;
  background:rgba(244,244,240,.66);
  transform-origin:left center;
}
.orbit-person b::before{transform:rotate(32deg)}
.orbit-person b::after{transform:rotate(148deg)}
.p1{left:50%;top:-2%;transform:translateX(-50%)}
.p2{right:11%;top:12%;transform:rotate(45deg)}
.p3{right:-1%;top:49%;transform:translateY(-50%) rotate(90deg)}
.p4{right:12%;bottom:10%;transform:rotate(135deg)}
.p5{left:50%;bottom:-3%;transform:translateX(-50%) rotate(180deg)}
.p6{left:11%;bottom:11%;transform:rotate(225deg)}
.p7{left:-1%;top:49%;transform:translateY(-50%) rotate(270deg)}
.p8{left:11%;top:12%;transform:rotate(315deg)}
.logo-book-button{
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-height:50px;
  padding:7px 15px 7px 7px;
  border:1px solid rgba(244,244,240,.28);
  background:linear-gradient(110deg,rgba(255,255,255,.08),rgba(255,255,255,.01) 42%,rgba(255,255,255,.11));
  font:8px ui-monospace,monospace;
  letter-spacing:.14em;
  transition:.25s ease;
}
.logo-book-button img{width:36px;height:36px;object-fit:contain}
.logo-book-button:hover{border-color:rgba(255,255,255,.58);background:rgba(255,255,255,.08)}

/* Follow-social modal. Once-per-browser-session behavior is handled in JS. */
.social-popup{
  position:fixed;
  inset:0;
  z-index:180;
  display:grid;
  place-items:center;
  padding:22px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .26s ease,visibility .26s ease;
}
.social-popup.open{opacity:1;visibility:visible;pointer-events:auto}
.social-popup-backdrop{
  position:absolute;inset:0;border:0;background:rgba(0,0,0,.74);backdrop-filter:blur(8px);cursor:pointer;
}
.social-popup-card{
  position:relative;
  z-index:2;
  width:min(92vw,480px);
  padding:clamp(28px,5vw,52px);
  border:1px solid rgba(244,244,240,.27);
  background:#070707;
  box-shadow:0 28px 90px rgba(0,0,0,.7);
  overflow:hidden;
}
.social-popup-card::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);
  background-size:26px 26px;opacity:.25;mask-image:linear-gradient(135deg,black,transparent 76%);
}
.social-popup-card>*{position:relative;z-index:1}
.social-popup-card h2{font-size:clamp(38px,7vw,68px);margin:12px 0 18px;line-height:.92}
.social-popup-card p{color:var(--muted);line-height:1.55;font-size:13px;max-width:370px}
.social-popup-close{
  position:absolute;right:12px;top:10px;z-index:3;width:38px;height:38px;border:1px solid var(--line);background:#050505;color:var(--fg);cursor:pointer;font-size:21px;line-height:1;
}
.chrome-social-button{
  margin-top:20px;
  display:inline-flex;
  align-items:center;
  gap:13px;
  padding:7px 16px 7px 7px;
  border:1px solid rgba(255,255,255,.34);
  background:linear-gradient(115deg,#efefef 0%,#777 18%,#fafafa 37%,#4f4f4f 58%,#f7f7f7 79%,#858585 100%);
  color:#050505;
  font:8px ui-monospace,monospace;
  letter-spacing:.14em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);
}
.chrome-social-button img{width:40px;height:40px;object-fit:contain}
.chrome-social-button:hover{filter:brightness(1.12)}

@media(max-width:640px){
  .feature-head{grid-template-columns:minmax(0,1fr) 82px!important;align-items:start!important;gap:14px!important}
  .feature-head .feature-side-meta{display:none}
  .feature-title-image{display:block;width:82px;height:82px;justify-self:end}
  .feature-head h2{font-size:clamp(42px,13vw,64px);line-height:.88}
  .interactive-logo-world{width:min(88vw,380px)}
  .logo-world-stage{min-height:420px}
  .naaz-mesh-object{width:61%}
  .world-copy>p{font-size:13px}
  .social-popup{padding:14px}
  .social-popup-card{width:100%;padding:30px 24px}
}

@media(prefers-reduced-motion:reduce){
  .people-orbit,.naaz-scan{animation:none}
}

/* =========================================================
   V12 REFINEMENTS — compact feature archive / clean canvas
   ========================================================= */

/* No companion house image beside the featured title. */
.feature-title-image{display:none!important}
.feature-head{grid-template-columns:minmax(0,1fr) auto!important}

/* Make When the Light Returns media match the compact Selected Works contact sheet. */
.featured-media-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.feature-media,
.feature-media:first-child,
.feature-media:nth-child(n){
  grid-column:span 1!important;
  min-height:0!important;
  aspect-ratio:4/5!important;
}
.feature-media.feature-square{aspect-ratio:1/1!important}
.feature-media.feature-flyer{aspect-ratio:4/5!important}
.feature-media.feature-flyer img{object-fit:contain!important;padding:4px}

/* New Light / Body / Space photographs should read as full photographs, not hard crops. */
.light-body-slide.light-body-surface img{
  object-fit:contain!important;
  padding:clamp(14px,3vw,44px)!important;
  filter:brightness(.94) saturate(.92)!important;
}

/* About copy is intentionally editorial and unbolded. */
.about-copy p{font-weight:400}
.about-copy strong{font-weight:400;color:inherit}

/* Process now flows directly into Let's Experiment. */
.process-book{display:none!important}

/* The world is your canvas: object-first, single-column interaction. */
.world-section{
  display:block!important;
  padding:clamp(96px,11vw,170px) var(--pad)!important;
  background:
    radial-gradient(circle at 50% 52%,rgba(255,255,255,.035),transparent 30%),
    #050505!important;
}
.world-canvas-heading{max-width:1100px}
.world-canvas-heading h2{
  font-size:clamp(48px,8vw,122px);
  line-height:.9;
  margin:0;
  max-width:1000px;
}
.mesh-world-stage{
  min-height:clamp(440px,58vw,720px)!important;
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  perspective:1100px;
  margin-top:clamp(28px,5vw,72px);
}
.interactive-logo-world{
  width:min(62vw,620px)!important;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  perspective:1100px;
}
.interactive-logo-world.is-dragging{cursor:grabbing}
.mesh-globe-core{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  transform-style:preserve-3d;
  will-change:transform;
  transition:transform .08s linear;
  filter:drop-shadow(0 0 18px rgba(255,255,255,.08));
}
.mesh-globe-core img{
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.world-control-stack{
  width:min(62vw,620px);
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-top:1px solid var(--line);
  padding-top:12px;
  font:7px ui-monospace,monospace;
  letter-spacing:.14em;
  color:rgba(244,244,240,.55);
}
.world-control-stack .world-instruction,
.world-control-stack .world-readout{
  position:static!important;
  font:inherit!important;
  color:inherit!important;
}
.world-brand-question{
  margin:clamp(36px,5vw,72px) 0 0;
  max-width:900px;
  font-size:clamp(25px,3.8vw,54px);
  line-height:1.04;
  letter-spacing:-.025em;
}

@media(max-width:900px){
  .featured-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:560px){
  .feature-head{display:block!important}
  .featured-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .feature-media,.feature-media:first-child,.feature-media:nth-child(n){aspect-ratio:4/5!important}
  .interactive-logo-world{width:min(88vw,390px)!important}
  .world-control-stack{width:min(88vw,390px);flex-direction:column;align-items:flex-start;gap:6px}
  .mesh-world-stage{min-height:430px!important;margin-top:26px}
  .world-section{padding-left:18px!important;padding-right:18px!important}
  .world-brand-question{font-size:clamp(28px,9vw,44px);margin-top:46px}
}

@media(prefers-reduced-motion:reduce){
  .mesh-globe-core{transition:none}
}


/* =========================================================
   V13 REFINEMENTS — full-width featured archive + mesh canvas
   ========================================================= */

/* Give When the Light Returns the same full-width contact-sheet rhythm as Selected Works. */
.featured-story{
  grid-template-columns:1fr!important;
  gap:clamp(28px,4vw,54px)!important;
}
.featured-copy{
  position:relative!important;
  top:auto!important;
  max-width:760px;
}
.featured-media-grid{
  width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.feature-media,
.feature-media:first-child,
.feature-media:nth-child(n),
.feature-media.feature-square,
.feature-media.feature-flyer{
  grid-column:span 1!important;
  min-height:0!important;
  aspect-ratio:4/5!important;
}
.feature-media video,
.feature-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.feature-media.feature-flyer img{
  object-fit:contain!important;
  background:#070707!important;
  padding:4px!important;
}

/* Only the draggable World Is Your Canvas mark gets the wire/mesh treatment. */
.mesh-globe-core{
  position:relative!important;
  isolation:isolate;
  filter:drop-shadow(0 0 12px rgba(255,255,255,.045))!important;
}
.mesh-globe-core img{
  opacity:.12!important;
  filter:grayscale(1) contrast(1.55) brightness(1.15)!important;
}
.mesh-globe-core::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    repeating-linear-gradient(24deg,transparent 0 8px,rgba(255,255,255,.82) 8px 9px,transparent 9px 16px),
    repeating-linear-gradient(-24deg,transparent 0 10px,rgba(255,255,255,.48) 10px 11px,transparent 11px 20px),
    repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.20) 0 1px,transparent 1px 15px);
  -webkit-mask:url("assets/images/naaz-mesh-globe.png") center/contain no-repeat;
  mask:url("assets/images/naaz-mesh-globe.png") center/contain no-repeat;
  opacity:.95;
}
.mesh-globe-core::after{
  content:"";
  position:absolute;
  inset:9%;
  z-index:3;
  pointer-events:none;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 0 42px rgba(255,255,255,.025);
}

@media(max-width:900px){
  .featured-media-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:560px){
  /* Match Selected Works exactly on phones: two 4:5 tiles per row. */
  .featured-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .feature-media,
  .feature-media:first-child,
  .feature-media:nth-child(n),
  .feature-media.feature-square,
  .feature-media.feature-flyer{aspect-ratio:4/5!important;min-height:0!important}
}


/* =========================================================
   V14 REFINEMENTS — email booking channel + wire world
   ========================================================= */
.mesh-social-button,.mesh-popup-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid rgba(244,244,240,.28);background:linear-gradient(135deg,transparent 0 46%,rgba(255,255,255,.08) 46% 48%,transparent 48% 100%),repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 12px),#070707;color:var(--fg);font:8px ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,background .2s ease,opacity .2s ease}
.mesh-social-button::after,.mesh-popup-button::after{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.07);pointer-events:none}
.mesh-social-button:hover,.mesh-popup-button:hover{border-color:rgba(255,255,255,.62);background-color:#0b0b0b}
.chrome-social-button{display:none!important}
.booking-popup{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
.booking-popup.open{opacity:1;visibility:visible;pointer-events:auto}
.booking-popup-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.80);backdrop-filter:blur(8px);cursor:pointer}
.booking-popup-card{position:relative;z-index:2;width:min(92vw,590px);padding:clamp(28px,5vw,54px);border:1px solid rgba(244,244,240,.30);background:#060606;box-shadow:0 30px 100px rgba(0,0,0,.72);overflow:hidden}
.booking-popup-card::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:24px 24px;opacity:.42;mask-image:linear-gradient(135deg,black,transparent 80%)}
.booking-popup-card>*{position:relative;z-index:1}.booking-popup-card h2{font-size:clamp(44px,7vw,78px);line-height:.9;margin:12px 0 20px}.booking-popup-card p{max-width:500px;color:var(--muted);font-size:13px;line-height:1.65}
.booking-popup-close{position:absolute;right:12px;top:10px;z-index:3;width:38px;height:38px;border:1px solid var(--line);background:#050505;color:var(--fg);cursor:pointer;font-size:21px;line-height:1}
.booking-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:26px}.booking-popup-actions .booking-email{grid-column:1/-1}.mesh-popup-button.acknowledged{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.62)}.mesh-popup-button.disabled{opacity:.28;cursor:not-allowed;pointer-events:auto}
.interactive-wire-world{width:min(58vw,560px)!important}.wire-world-core{background:none!important;filter:drop-shadow(0 0 18px rgba(255,255,255,.07))!important}.wire-world-core::before,.wire-world-core::after{display:none!important}.wire-world-core img{display:none!important}.canvas-world-svg{width:100%;height:100%;overflow:visible}.canvas-world-mesh{stroke:rgba(244,244,240,.78);stroke-width:1;vector-effect:non-scaling-stroke}.canvas-world-mesh circle,.canvas-world-mesh ellipse{opacity:.78}.canvas-world-mesh path{opacity:.60}.canvas-world-mesh .canvas-land{opacity:.88;stroke-width:1.2}.world-drag-arrows{display:flex;gap:clamp(56px,12vw,130px);align-items:center;justify-content:center;color:rgba(244,244,240,.62);font:26px ui-monospace,monospace;line-height:1;letter-spacing:.2em;margin-top:-8px}.world-control-stack{border-top:0!important;justify-content:center!important;flex-direction:column!important;gap:7px!important;text-align:center!important;padding-top:0!important}.world-control-stack .world-instruction{font-size:8px!important;color:rgba(244,244,240,.72)!important}.world-control-stack .world-readout{font-size:7px!important;color:rgba(244,244,240,.42)!important}
@media(max-width:640px){.booking-popup{padding:12px}.booking-popup-card{width:100%;padding:30px 22px}.booking-popup-actions{grid-template-columns:1fr}.booking-popup-actions .booking-email{grid-column:1}.interactive-wire-world{width:min(84vw,390px)!important}.world-drag-arrows{gap:90px}}


/* =========================================================
   V15 REFINEMENTS — popup marks + press + drawable mesh world
   ========================================================= */
.popup-logo{
  width:46px;
  height:46px;
  object-fit:contain;
  display:block;
  margin:0 0 18px;
  opacity:.72;
  filter:grayscale(1) contrast(1.45) brightness(1.15);
}
.social-popup-card .popup-logo,
.booking-popup-card .popup-logo{position:relative;z-index:2}
.project-popup-logo{
  position:absolute;
  top:20px;
  left:var(--pad);
  width:34px;
  height:34px;
  margin:0;
  z-index:3;
  opacity:.58;
}
.inline-links [data-press-link][aria-disabled="true"]{opacity:.48;cursor:default}
.mapping-detail summary span{text-transform:none}

/* The final mesh globe is a drawing surface, not a rotator. */
.interactive-wire-world{
  cursor:crosshair!important;
  touch-action:none!important;
}
.interactive-wire-world.is-drawing{cursor:crosshair!important}
.wire-world-core{
  position:relative!important;
  transform:none!important;
  transition:none!important;
}
.canvas-world-mesh{
  stroke:rgba(244,244,240,.76)!important;
  stroke-width:1!important;
}
.canvas-world-mesh path{opacity:.54!important}
.world-draw-canvas{
  position:absolute;
  inset:0;
  z-index:4;
  display:block;
  border-radius:50%;
  pointer-events:none;
  mix-blend-mode:screen;
  filter:drop-shadow(0 0 4px rgba(255,255,255,.15));
}
.world-flash{
  --flash-x:50%;
  --flash-y:50%;
  position:absolute;
  inset:0;
  z-index:5;
  pointer-events:none;
  overflow:hidden;
  border-radius:50%;
}
.world-flash::before{
  content:"";
  position:absolute;
  left:var(--flash-x);
  top:var(--flash-y);
  width:12px;
  height:12px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.9);
  background:rgba(255,255,255,.72);
  box-shadow:0 0 12px rgba(255,255,255,.85),0 0 38px rgba(255,255,255,.34);
  opacity:0;
  transform:translate(-50%,-50%) scale(.2);
}
.world-flash.flash-live::before{animation:worldFlashPulse 1s ease-out forwards}
.wire-world-core.long-draw-glow{animation:worldGlobeGlow 1s ease-out}
@keyframes worldFlashPulse{
  0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}
  18%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0;transform:translate(-50%,-50%) scale(10)}
}
@keyframes worldGlobeGlow{
  0%,100%{filter:drop-shadow(0 0 18px rgba(255,255,255,.07))!important}
  35%{filter:drop-shadow(0 0 28px rgba(255,255,255,.32)) drop-shadow(0 0 70px rgba(255,255,255,.08))!important}
}
.world-control-stack{
  width:min(58vw,560px)!important;
  flex-direction:row!important;
  justify-content:space-between!important;
  text-align:left!important;
  border-top:1px solid var(--line)!important;
  padding-top:11px!important;
}
.world-control-stack .world-instruction,
.world-control-stack .world-readout{font-size:7px!important}

@media(max-width:640px){
  .popup-logo{width:40px;height:40px;margin-bottom:14px}
  .project-popup-logo{left:18px;top:18px;width:30px;height:30px}
  .world-control-stack{width:min(84vw,390px)!important;flex-direction:row!important;align-items:center!important;gap:14px!important}
}
@media(prefers-reduced-motion:reduce){
  .world-flash.flash-live::before,.wire-world-core.long-draw-glow{animation:none!important}
}
