:root{color-scheme:light;--ink:#161618;--grey:#74747c;--paper:#f5f5f7;--ease:cubic-bezier(.22,1,.36,1);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-synthesis:none;color:var(--ink);background:#000}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-snap-type:y mandatory;scroll-padding-top:0}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid #598cff;outline-offset:6px}::selection{background:#aac7fa;color:#111}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:white;color:#111;padding:15px;z-index:100}.skip-link:focus{top:10px}.header{height:76px;padding:0 5.5%;position:fixed;top:0;left:0;width:100%;z-index:20;display:flex;justify-content:space-between;align-items:center;color:#fff;border-bottom:1px solid #ffffff15;background:#0005;backdrop-filter:blur(16px);transition:background .4s,color .4s,border-color .4s}.brand{display:inline-flex;gap:12px;align-items:center;font-size:12px;font-weight:600;letter-spacing:.13em;white-space:nowrap}.brand-mark{width:28px;height:28px;display:inline-block;flex:none;background:url('/assets/lunar-mark.png') center/150% no-repeat;filter:invert(1)}.header nav{display:flex;gap:30px;font-size:11px;color:#c7c7cc}.header nav a{padding:15px 0;transition:color .2s}.header nav a:hover{color:white}.header.light{background:#ffffffc9;color:var(--ink);border-color:#0000000c}.header.light .brand-mark{filter:none}.header.light nav{color:#62626a}.header.light nav a:hover{color:#111}.chapter{min-height:100svh;scroll-snap-align:start;scroll-snap-stop:always;position:relative}.hero{height:100svh;min-height:650px;color:white;background:#000}.hero-stage{height:100%;min-height:650px;position:relative;overflow:hidden;isolation:isolate}.moon-scene{position:absolute;inset:0;z-index:-1;overflow:hidden}.moon{width:100%;height:100%;object-fit:cover;object-position:70% 50%;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0) scale(var(--moon-scale,1));will-change:transform;transition:opacity 1s}.lunar-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.has-webgl .moon{opacity:0}.moon-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0009 0%,#0003 35%,transparent 58%),linear-gradient(0deg,#000 0%,transparent 18%);pointer-events:none;z-index:1}.hero-copy{position:absolute;left:8.3%;top:50%;transform:translateY(calc(-40% - var(--copy-rise,0px)));opacity:var(--copy-opacity,1);width:56%;max-width:800px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.5;margin:0 0 26px;color:#7b7b84}.hero .eyebrow{color:#c7c7ce;font-size:9px;letter-spacing:.18em}.hero h1{font-size:clamp(66px,7.1vw,112px);line-height:.99;letter-spacing:-.065em;font-weight:600;margin:0 0 27px;text-wrap:balance}.period{color:#a6c7d4}.hero-description{font-size:18px;line-height:1.5;color:#b4b4bb;margin:0 0 34px;letter-spacing:-.02em}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:17px 23px;border-radius:40px;font-size:13px;font-weight:500;transition:transform .35s var(--ease),background .3s;min-height:50px}.button:hover{transform:translateY(-3px)}.button-light{background:#fff;color:#151517}.button-light:hover{background:#dfeaf0}.button-dark{background:#17171a;color:#fff}.button-dark:hover{background:#36363c}.button span[aria-hidden]{font-size:19px;line-height:1}.hero-bottom{position:absolute;bottom:38px;left:8.3%;right:7%;display:flex;justify-content:space-between;align-items:center;color:#a8a8b0;font-size:10px}.scroll-cue{display:flex;align-items:center;gap:13px;padding:12px 0}.scroll-line{height:35px;width:1px;background:linear-gradient(#ffffff20,#fff);display:block}.perspective{display:flex;align-items:center;gap:11px;color:#c2c2c8;background:#ffffff0a;border:1px solid #ffffff25;border-radius:40px;padding:11px 17px;min-height:44px;font-size:11px;transition:background .3s}.perspective:hover{background:#ffffff18}.perspective-icon{font-size:21px}.section-pad{padding:120px 8.3% 70px}.idea{background:white;display:flex;flex-direction:column;justify-content:center}.idea-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.idea-top .eyebrow{margin:0}.small-moon{display:block;width:28px;height:28px;border-radius:50%;background:linear-gradient(125deg,#f0f0f3 10%,#bbbcc4 60%,#32323b 100%);box-shadow:inset 0 0 2px #c0c0ca}.manifesto{font-size:clamp(52px,6vw,94px);font-weight:600;line-height:1.06;letter-spacing:-.06em;margin:0 0 45px;color:var(--ink)}.manifesto .word{opacity:var(--word-opacity,1);transition:opacity .2s}.idea-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12%}.idea-bottom p{max-width:390px;font-size:18px;line-height:1.55;letter-spacing:-.025em;margin:0}.idea-bottom p:last-child{color:#74747b;font-size:16px;max-width:370px}.chapter-next{display:inline-flex;align-items:center;gap:24px;width:fit-content;padding:10px 0;font-size:10px;color:#777780;letter-spacing:.02em;margin-top:38px}.chapter-next span{font-size:17px}.step{display:grid;grid-template-columns:53% 47%;background:#f5f5f7;min-height:100svh}.step-photo{position:relative;min-height:100%;overflow:hidden}.step-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:49% 50%;transition:transform 2s var(--ease)}.step-photo:hover img{transform:scale(1.025)}.photo-location{position:absolute;bottom:34px;left:10.5%;font-size:9px;letter-spacing:.12em;color:#fff;text-shadow:0 1px 8px #0009}.step-story{padding:140px 14% 70px 13%;display:flex;flex-direction:column;justify-content:center}.step-story .eyebrow{color:#6a8590;margin-bottom:28px}.step h2{font-size:clamp(38px,4.1vw,65px);line-height:1.04;letter-spacing:-.055em;font-weight:600;margin:0 0 26px}.brand-description{font-size:18px;letter-spacing:-.03em;line-height:1.45;max-width:310px;margin:0 0 18px}.story-body{font-size:14px;line-height:1.65;color:#777780;max-width:315px;margin:0 0 30px}.step .chapter-next{margin-top:60px}.starwars{background:#030406;color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate;text-align:center}.sw-story{position:relative;z-index:1}.sw-story .eyebrow{color:#b9bcc6;font-size:9px;letter-spacing:.22em;margin-bottom:35px}.starwars h2{font-weight:400;margin:0 0 32px}.starwars h2 img{width:clamp(250px,34vw,510px);height:auto;display:block;margin:auto}.starwars h2>span{display:block;font-size:13px;letter-spacing:.6em;margin-top:15px;padding-left:.6em;color:#d1d4dd}.sw-description{font-size:clamp(28px,3vw,46px);font-weight:500;letter-spacing:-.05em;line-height:1.15;margin:0 0 16px}.sw-body{font-size:15px;color:#9ca3b1;margin:0 0 24px;line-height:1.5}.status{display:inline-flex;align-items:center;gap:9px;border:1px solid #ffffff28;padding:10px 16px;border-radius:25px;color:#c8ccd6;font-size:10px}.status i{width:4px;height:4px;background:#c1c8d9;border-radius:50%}.starwars>.chapter-next{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);margin:0;color:#a3a9b6}.enquiries{background:#fff;display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding-bottom:190px}.enquiries-content>h2{font-size:clamp(52px,6vw,90px);font-weight:600;line-height:1.03;letter-spacing:-.06em;margin:0 0 30px}.enquiries-content>p:not(.eyebrow):not(.email-note){font-size:17px;line-height:1.6;color:#7a7a84;margin:0 0 35px}.email-placeholder{display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid #c7c7cf;padding:10px 0 18px;max-width:520px;font-size:clamp(18px,2.3vw,34px);font-weight:500;letter-spacing:-.04em}.email-note{font-size:10px;color:#8e8e98;margin:12px 0 28px}.instagram-link{font-size:12px;display:inline-flex;gap:25px;align-items:center;padding:8px 0;color:#5d5d69}.footer{position:absolute;left:8.3%;right:8.3%;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #e8e8ee;padding-top:25px;color:#84848f;font-size:10px}.footer .brand{color:#32323a;font-size:10px}.footer .brand-mark{filter:none;width:22px;height:22px}.footer small{font-size:10px}.back-top{padding:10px 0;color:#53535d}.credits{flex-basis:100%;font-size:8px;margin:0;opacity:.8}.credits a{text-decoration:underline;text-underline-offset:2px}.chapter-dots{position:fixed;z-index:21;right:25px;top:50%;display:flex;flex-direction:column;transform:translateY(-50%);mix-blend-mode:difference;gap:2px}.chapter-dots a{display:block;width:24px;height:24px;position:relative}.chapter-dots a::after{content:"";position:absolute;left:9px;top:9px;width:5px;height:5px;border:1px solid #aaa;border-radius:50%;transition:background .25s,transform .25s}.chapter-dots a[aria-current]::after{background:#fff;border-color:#fff;transform:scale(1.3)}.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js .reveal.visible{opacity:1;transform:translateY(0)}.js .hero-reveal{animation:hero-in 1.1s var(--ease) both}.hero-reveal:nth-child(2){animation-delay:.08s}.hero-reveal:nth-child(3){animation-delay:.16s}.hero-reveal:nth-child(4){animation-delay:.24s}@keyframes hero-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.section-pad{padding-left:max(8.3%,calc((100vw - 1360px)/2));padding-right:max(8.3%,calc((100vw - 1360px)/2))}}
@media(max-width:1000px){.header nav{gap:20px;font-size:10px}.hero h1{font-size:76px}.hero-copy{left:7%;width:65%}.section-pad{padding-left:7%;padding-right:7%}.step{grid-template-columns:48% 52%}.step-story{padding-left:11%;padding-right:13%}.step h2{font-size:43px}.step .button{font-size:11px;gap:15px}.chapter-dots{right:10px}.footer{left:7%;right:7%}}
@media(max-width:600px){.header{height:68px;padding:0 6%}.brand{font-size:10px;gap:9px;letter-spacing:.1em}.brand-mark{width:24px;height:24px}.header nav a{font-size:11px}.header nav a:not(:last-child){display:none}.hero{height:100svh;min-height:690px}.hero-stage{min-height:690px}.moon-scene{inset:25% -37% -4% -63%}.moon{object-fit:contain;object-position:50% 50%}.has-webgl .moon-scene{inset:0}.moon-shade{background:linear-gradient(#000 0%,transparent 25%,transparent 75%,#000 100%)}.hero-copy{left:7%;top:132px;transform:translateY(calc(0px - var(--copy-rise,0px)));width:86%}.hero h1{font-size:clamp(54px,12.8vw,76px);letter-spacing:-.06em;line-height:1.01;margin-bottom:18px}.hero .eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:20px}.hero-description{font-size:15px;line-height:1.5;margin-bottom:23px;max-width:230px}.button{font-size:12px;padding:15px 20px;min-height:47px}.hero-bottom{left:7%;right:7%;bottom:22px;align-items:flex-end}.scroll-cue{font-size:9px;gap:9px;max-width:100px;line-height:1.4}.perspective{font-size:9px;padding:8px 12px;gap:8px;min-height:42px;max-width:175px}.perspective-icon{font-size:18px}.section-pad{padding:110px 7% 55px}.idea-top{margin-bottom:40px}.eyebrow{font-size:9px}.manifesto{font-size:clamp(41px,10.7vw,64px);line-height:1.1;letter-spacing:-.055em;margin-bottom:35px}.idea-bottom{grid-template-columns:1fr;gap:23px}.idea-bottom p{font-size:16px}.idea-bottom p:last-child{font-size:14px;max-width:310px}.chapter-next{margin-top:30px;font-size:9px}.step{display:flex;flex-direction:column;padding-top:68px}.step-photo{height:38svh;min-height:240px;flex:none}.step-photo img{object-position:50% 43%}.photo-location{bottom:20px;left:7%;font-size:8px}.step-story{padding:38px 7% 30px;flex:1;justify-content:center}.step-story .eyebrow{font-size:9px;margin-bottom:18px}.step h2{font-size:44px;margin-bottom:19px}.brand-description{font-size:17px;margin-bottom:13px}.story-body{font-size:13px;line-height:1.55;margin-bottom:22px}.step .button{font-size:12px}.step .chapter-next{margin-top:24px}.starwars{min-height:100svh;padding-top:110px;padding-bottom:100px}.starwars h2 img{width:78vw;max-width:370px}.starwars h2>span{font-size:11px;letter-spacing:.5em;margin-top:15px}.sw-story .eyebrow{font-size:8px;margin-bottom:30px}.sw-description{font-size:34px}.sw-body{font-size:13px;max-width:270px;margin:0 auto 25px}.starwars>.chapter-next{bottom:28px}.enquiries{padding:115px 7% 205px;min-height:100svh}.enquiries h2{font-size:48px}.enquiries-content>p:not(.eyebrow):not(.email-note){font-size:15px;line-height:1.6;margin-bottom:28px}.email-placeholder{font-size:20px;gap:10px}.email-note{font-size:9px;line-height:1.5;max-width:230px}.footer{left:7%;right:7%;bottom:22px;gap:15px;padding-top:22px}.footer .brand{font-size:9px}.footer small{font-size:8px}.back-top{font-size:9px}.credits{font-size:7px;line-height:1.5}.chapter-dots{right:2px;gap:0}.chapter-dots a{width:17px;height:22px}.chapter-dots a::after{left:6px;top:8px;width:4px;height:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;scroll-snap-type:none}*,*::before,*::after{animation:none!important;transition:none!important}.moon{transform:none!important}.hero-copy{opacity:1!important;--copy-rise:0px!important}.manifesto .word{opacity:1!important}.js .reveal{opacity:1;transform:none}}
/* Project directory and navigation */
.header-actions{display:flex;align-items:center;gap:30px}.menu-toggle,.menu-close{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 14px;background:transparent;color:inherit;border:1px solid #ffffff40;border-radius:30px;font-size:11px}.header.light .menu-toggle{border-color:#0002}.menu-toggle span{font-size:16px}.site-menu{position:fixed;inset:16px 16px auto auto;margin:0;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:35px 40px 45px;border:1px solid #ddd;border-radius:12px;background:#fff;color:#17171a;box-shadow:0 20px 100px #0005;overflow:auto}.site-menu::backdrop{background:#0009;backdrop-filter:blur(8px)}.menu-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.menu-top .eyebrow{margin:0}.menu-close{border-color:#ddd}.menu-close span{font-size:22px}.site-menu nav{display:flex;flex-direction:column}.site-menu nav>a{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-bottom:1px solid #e7e7ec;font-size:clamp(21px,3vw,30px);font-weight:500;letter-spacing:-.04em}.site-menu nav small{display:block;font-size:12px;line-height:1.5;color:#777780;letter-spacing:0;font-weight:400;margin-top:7px}.menu-open{overflow:hidden}@media(max-width:760px){.header-actions nav{display:none}.menu-toggle{font-size:11px;padding:8px 12px}.site-menu{padding:25px;inset:12px 12px auto auto;width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.site-menu nav>a{font-size:25px;padding:22px 0}.site-menu nav small{font-size:11px}}
/* Finite cinematic entrances; content is always available without animation. */
.cinematic .reveal,.cinematic .reveal.visible{opacity:1;transform:none;transition:none}
.cinematic .step-photo img{transition:none;transform:scale(1.02)}
.cinematic .step-photo:hover img{transform:scale(1.02)}
.projects,.step,.enquiries{overflow-x:clip}

@media(prefers-reduced-motion:reduce){.cinematic .step-photo img{transform:none!important}}

/* One logo, reversible from arrival through the next chapter. */
#sw-title img{transform-origin:50% 50%;will-change:transform,opacity;transition:none}
@media(prefers-reduced-motion:reduce){#sw-title img{transform:none!important;opacity:1!important;will-change:auto}.sw-story .eyebrow,#sw-title>span,.sw-description,.sw-body,.status{opacity:1!important}}

/* One contemporary visual language, carried across every chapter. */
:root{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;--ink:#f2f2f0;--grey:#a6a6a8;--paper:#08090b;color-scheme:dark;background:#08090b}
body,.hero,.starwars,.projects,.step,.enquiries{background:#08090b;color:#f2f2f0}
.hero-stage{background:#08090b}
h1,h2,h3{font-weight:500!important;letter-spacing:-.045em!important}
.header{background:#08090bb8;border-bottom-color:#ffffff12}
.header::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:#d7d8dc;opacity:.65;transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.eyebrow,.step-story .eyebrow{color:#b2b3b8}
.period{color:#d5d6d9}
.button-light:hover{background:#dedee0}
.button-dark{background:#f2f2f0;color:#111}
.button-dark:hover{background:#d8d8db}
.story-body,.enquiries-content>p:not(.eyebrow):not(.email-note){color:#b1b2b8}
.step-photo img{filter:none}
.chapter-next{color:#b1b2b8}
.projects{display:flex;flex-direction:column;justify-content:center;padding:115px 8.3% 55px;gap:38px}
.projects-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}
.projects-heading .eyebrow{margin:0 0 14px;font-size:9px}
.projects h2{font-size:clamp(48px,5.8vw,84px);line-height:1;margin:0}
.group-intro{font-size:clamp(22px,2.4vw,34px);font-weight:400;line-height:1.18;letter-spacing:-.025em;color:#b9babf;margin:0;max-width:390px}
.brand-scenes{display:grid;grid-template-rows:repeat(2,210px);gap:16px}
.brand-scene{position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-columns:30% 1fr;align-items:center;gap:5%;padding:25px 6%;width:100%;height:100%;background:transparent;border:0}
.scene-identity{justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:180px;max-width:100%}
.oss-sign{width:155px}
.oss-logo-crop{display:block;width:100%;aspect-ratio:528 / 400;overflow:hidden}
.oss-logo-crop img{display:block;width:100%;height:auto;filter:none;opacity:1}
.sw-scene-logo img{display:block;width:100%;height:auto;filter:none;opacity:1}
.sw-scene-logo span{font-size:7px;letter-spacing:.5em;margin-top:6px;padding-left:.5em;color:#cccdd2}
.scene-copy .eyebrow{font-size:8px;letter-spacing:.16em;margin:0 0 13px;color:#c0c1c7}
.scene-copy h3{font-size:clamp(25px,2.7vw,38px);font-weight:400!important;letter-spacing:-.035em!important;line-height:1.08;margin:0 0 10px}
.scene-links{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.scene-links a{display:inline-flex;align-items:center;gap:20px;font-size:10px;color:#c0c1c6;min-height:36px;padding:8px 0;border-bottom:1px solid #ffffff30}
.scene-links a:hover{color:white;border-color:#fff}
.footer{border-color:#ffffff1c;color:#9899a2}
.footer .brand,.back-top{color:#d0d1d6}.footer .brand-mark{filter:invert(1)}
.email-placeholder{border-color:#ffffff40}.email-note,.instagram-link{color:#a7a8b0}
.site-menu{color-scheme:light;color:#17171a}
/* Continuous scroll-linked movement replaces separate entrance sequences. */
.cinematic .projects-heading,.cinematic .brand-scenes,.cinematic .step-story>.reveal,.cinematic .enquiries-content{transform:translate3d(0,var(--chapter-drift,0px),0);opacity:var(--chapter-opacity,1);transition:none}
@media(max-width:760px){
.projects{padding:100px 7% 40px;gap:29px}
.projects-heading{display:block}
.projects h2{font-size:clamp(43px,9vw,62px);margin-bottom:23px}
.group-intro{font-size:25px;line-height:1.2;letter-spacing:-.025em}
.group-intro br{display:none}
.brand-scenes{grid-template-rows:repeat(2,190px);gap:13px}
.brand-scene{grid-template-columns:32% 1fr;gap:7%;padding:20px 6%}
.scene-identity{width:117px}.oss-sign{width:95px}
.scene-copy h3{font-size:25px}.scene-copy .eyebrow{font-size:7px;letter-spacing:.09em;margin-bottom:12px}
.scene-links{gap:12px}.scene-links a{gap:10px;font-size:9px;min-height:35px}
.sw-scene-logo span{font-size:6px;letter-spacing:.3em}
}
@media(max-width:380px){.brand-scenes{grid-template-rows:repeat(2,200px)}.scene-copy h3{font-size:23px}.scene-links{gap:9px}.scene-links a{font-size:8px}.group-intro{font-size:23px}}
@media(prefers-reduced-motion:reduce){.cinematic .projects-heading,.cinematic .brand-scenes,.cinematic .step-story>.reveal,.cinematic .enquiries-content{transform:none;opacity:1}.header::after{display:none}}

.site-menu .eyebrow{color:#62636a}

/* The identity travels from the hero into the navigation; no header strip. */
.header,.header.light{height:0;padding:0;background:none;border:0;backdrop-filter:none;pointer-events:none;transition:none}
.header::after{display:none}
.floating-logo{position:fixed;left:0;top:0;width:40px;height:40px;transform:translate3d(5.5vw,22px,0);display:block;pointer-events:auto;will-change:transform,width,height;color:#fff}
.floating-logo .brand-mark{width:100%;height:100%;display:block;filter:invert(1);background-size:150%}
.header .menu-toggle{position:fixed;right:calc(5.5% - 10px);left:auto;top:13px;width:62px;height:62px;min-height:62px;padding:15px 10px;display:flex;flex-direction:column;justify-content:center;gap:8px;border:0;border-radius:0;background:none;pointer-events:auto;mix-blend-mode:difference}
.header .menu-toggle span{display:block;flex:none;width:38px;height:2px;background:#fff;border-radius:0;transition:width .2s}
.header .menu-toggle:hover span:nth-child(2){width:29px}
.hero-copy{top:clamp(70px,11svh,130px);transform:translateY(calc(0px - var(--copy-rise,0px)))}
.hero-logo-slot{width:112px;height:112px;margin-bottom:25px}
@media(max-width:600px){.hero-copy{top:104px}.hero-logo-slot{width:96px;height:96px;margin-bottom:25px}.hero .eyebrow{font-size:8px;letter-spacing:.12em}.header .menu-toggle{right:calc(6% - 10px);left:auto;top:9px}.floating-logo{transform:translate3d(6vw,20px,0)}}
@media(prefers-reduced-motion:reduce){.floating-logo{will-change:auto}.hero-logo-slot{display:none}.hero-copy{top:132px}}

.header{mix-blend-mode:difference}.header .menu-toggle{mix-blend-mode:normal}

/* Shared black → white → black canvas; the two light chapters have no seam. */
.projects,.step{background:#fff;color:#161618}
.projects-heading .eyebrow,.step-story .eyebrow{color:#64646d}
.group-intro,.step .story-body{color:#64646d}
.step .chapter-next{color:#64646d}
.step .button-dark{background:#161618;color:#fff}
.cinematic,.cinematic body{background:var(--chapter-surface,#080808)}
.cinematic .hero,.cinematic .hero-stage,.cinematic .projects,.cinematic .step,.cinematic .starwars,.cinematic .enquiries{background:transparent}
.cinematic .projects-heading,.cinematic .step-story{color:var(--chapter-ink,#161618)}
.cinematic .group-intro,.cinematic .projects-heading .eyebrow,.cinematic .step-story .eyebrow,.cinematic .step .story-body,.cinematic .step .chapter-next{color:var(--chapter-muted,#64646d)}
.cinematic .step .button-dark{background:var(--chapter-ink,#161618);color:var(--chapter-surface,#fff)}
.cinematic .moon-scene{opacity:var(--moon-visibility,1)}
.brand-scene{color:#f2f2f0}

/* Keep parallax content within its own chapter at the snap endpoints. */
.projects,.step,.enquiries{overflow:clip}

/* Open brand compositions: colour belongs to the identities, not panels. */
.oss-scene,.sw-scene{background:none;border:0;box-shadow:none}
.oss-scene{color:#5a7a8a}
.oss-scene .scene-copy .eyebrow,.oss-scene .scene-links a{color:#5a7a8a}
.oss-scene .scene-links a{border-color:#a6c7d4}
.oss-scene .scene-links a:hover{color:#38667c;border-color:#5a7a8a}
.sw-scene{color:#161618}
.sw-scene .scene-copy .eyebrow,.sw-scene-logo span{color:#64646d}
.sw-scene .scene-links a{color:#4d4d55;border-color:#bfc0c5}
.sw-scene .scene-links a:hover{color:#161618;border-color:#161618}
.step{background:#a6c7d4;color:#38667c}
.step-story .eyebrow,.step .story-body,.step .chapter-next{color:#28536b}
.cinematic .step{background:transparent}
.step .button-dark,.cinematic .step .button-dark{background:#38667c;color:#fff}
.step .button-dark:hover,.cinematic .step .button-dark:hover{background:#28536b}

/* Keep the Lunar identity neutral over brand-coloured sections. */
.header{mix-blend-mode:normal}
.floating-logo .brand-mark{filter:invert(var(--nav-invert,1))}
.header .menu-toggle span{background:var(--nav-ink,#fff)}

/* A clear group descriptor beneath the name; the scroll cue is the hero action. */
.hero .identity-descriptor,.enquiries-content>.identity-descriptor{font-size:14px;line-height:1.5;font-weight:400;letter-spacing:.08em;color:#d5d6db;margin:0 0 17px}
.hero h1{margin-bottom:20px}.hero-description{font-size:17px}
.enquiries-content>h2{margin-bottom:20px}
.enquiries-content>p.identity-descriptor{font-size:14px;line-height:1.5;letter-spacing:.08em;margin-bottom:28px;color:#d5d6db}
/* Reversible experiment. All rules are gated by the moon-landing class. */
.moon-landing main{position:relative;z-index:1}
.moon-landing>.moon-scene,.moon-landing body>.moon-scene{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden}
.moon-scene.has-webgl .moon{opacity:0}
.moon-landing .moon-scene::after{content:"";position:absolute;inset:0;z-index:3;background:#fff;opacity:var(--landing-white,0);pointer-events:none}
.moon-landing .hero-stage{background:transparent}
@media(max-width:600px){.hero .identity-descriptor{font-size:12px;letter-spacing:.055em;margin-bottom:14px}.hero-description{font-size:15px}.enquiries-content>p.identity-descriptor{font-size:12px;letter-spacing:.055em}}
@media(prefers-reduced-motion:reduce){.moon-landing .moon-scene::after{display:none}}

/* Quiet, accessible Instagram controls in each brand's own colour. */
.social-icon-link{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;flex:none;color:inherit;vertical-align:middle;border-radius:50%;transition:opacity .2s,background .2s}
.social-icon-link:hover{background:color-mix(in srgb,currentColor 8%,transparent)}
.instagram-icon{width:36px;height:36px;display:block}
.venue-actions{display:flex;align-items:center;gap:22px;color:#355e64}
.observatory .venue-actions{color:#695440}
.sw-social{margin-top:18px;color:#e5e5e7}
.lunar-instagram{color:#d5d6db;margin-left:-10px}
@media(prefers-reduced-motion:reduce){.social-icon-link{transition:none}}

/* The closing signature receives the same floating Lunar mark. */
.enquiries{padding:88px 8.3% 140px;text-align:center}
.enquiries-content{width:100%;margin:auto}
.cinematic .enquiries-content{transform:none;opacity:var(--chapter-opacity,1)}
.closing-logo-slot{width:140px;height:140px;margin:0 auto 24px;background:url('/assets/lunar-mark.png') center/150% no-repeat;filter:invert(1)}
.js .closing-logo-slot{background:none}
.enquiries-content>h2{font-size:clamp(48px,6.5vw,90px);line-height:1.03;margin:0 0 16px}
.enquiries-content>p.identity-descriptor{margin-bottom:26px}
.enquiries-content>p:not(.eyebrow):not(.email-note):not(.identity-descriptor){font-size:16px;line-height:1.5;margin:0 0 20px}
.enquiries .email-placeholder{margin:0 auto;max-width:490px;font-size:clamp(18px,2.1vw,28px);padding:8px 0 14px;text-align:left}
.enquiries .email-note{max-width:none;margin:10px auto 12px}
.enquiries .lunar-instagram{margin:0}
.enquiries .footer{text-align:left}
@media(max-width:600px){.enquiries{padding:90px 7% 145px}.closing-logo-slot{width:112px;height:112px;margin-bottom:22px}.enquiries-content>h2{font-size:clamp(40px,10.8vw,60px)}.enquiries-content>p.identity-descriptor{margin-bottom:24px}.enquiries-content>p:not(.eyebrow):not(.email-note):not(.identity-descriptor){font-size:14px}.enquiries .email-placeholder{font-size:19px}.enquiries .email-note{font-size:9px}}
@media(min-width:601px) and (max-height:800px){.enquiries{padding-top:75px;padding-bottom:120px}.closing-logo-slot{width:112px;height:112px;margin-bottom:18px}.enquiries-content>h2{font-size:64px}.enquiries-content>p.identity-descriptor{margin-bottom:18px}.enquiries-content>p:not(.eyebrow):not(.email-note):not(.identity-descriptor){margin-bottom:14px}}
@media(prefers-reduced-motion:reduce){.js .closing-logo-slot{background:url('/assets/lunar-mark.png') center/150% no-repeat}.cinematic .enquiries-content{opacity:1}}

/* Quiet navigation; hover and focus provide the cue. */
.site-menu nav>a{border-radius:8px;padding-left:14px;padding-right:14px;transition:background .2s,color .2s}
.site-menu nav>a:hover,.site-menu nav>a:focus-visible{background:#ededf0;color:#3d3d44}
.open-editor{position:fixed;z-index:25;left:16px;bottom:14px;padding:8px 12px;background:#222c;color:#fff;border:1px solid #ffffff30;border-radius:20px;font:11px/1.2 system-ui;backdrop-filter:blur(12px)}

/* Keep the approved mark within its frame, with room for the complete circular edge. */
.brand-mark,.floating-logo .brand-mark{background-size:142%}
.closing-logo-slot{background-size:142%}
@media(prefers-reduced-motion:reduce){.js .closing-logo-slot{background-size:142%}}

@media(pointer:coarse){html,body{touch-action:pan-y}}

.sw-website-link{display:table;margin:18px auto 0;padding:12px 18px;border:1px solid #ffffff3d;border-radius:30px;font-size:12px;color:#d5d6db;transition:background .2s}
.sw-website-link:hover,.sw-website-link:focus-visible{background:#ffffff15}
.email-note:empty{display:none}
