/* v8: sculptural service gallery, connected-system stage and a single process line. */
:root{--display:'ReCal Sans',sans-serif;--body:'ReCal Sans',sans-serif;--code:'ReCal Sans',sans-serif;--ember:#efab76;--line:#ffffff26;--section-title-size:clamp(38px,5vw,68px);--section-copy-size:15px;--section-copy-color:#b9beb3;--section-title-muted:#a9ada3}
body{font-family:var(--body)}
.brand{font-family:var(--body)}
h1,h2,h3{font-weight:500;letter-spacing:-.02em}
.header,.service-page .header{height:80px}
.moon-content h1{font-family:var(--display);font-weight:500;font-size:clamp(44px,5.4vw,76px);line-height:1.02;letter-spacing:-.02em}
.moon-eyebrow{font-family:var(--code);text-transform:none;letter-spacing:-.02em;font-size:11px;font-weight:400;color:#dddcd3;margin-bottom:26px}
.moon-content p{font-size:15px;line-height:1.7;font-weight:400}
#moon-phrases{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.moon-phrase-svg{position:absolute;max-width:none;overflow:visible;pointer-events:none}
.moon-phrase{font-family:var(--body);font-weight:400;letter-spacing:1.2px;fill:#f5eee3;paint-order:stroke;stroke:#111211;stroke-width:2px;stroke-linejoin:round;opacity:0}
.services{padding-block:94px 105px}
.services-intro{display:block;margin-bottom:58px}
.services-intro h2{font-family:var(--display);font-size:var(--section-title-size);line-height:1.02;max-width:16ch;margin:0 0 22px;letter-spacing:-.02em}
.services-intro h2 em{color:var(--section-title-muted)}
.services-intro>p{font-size:var(--section-copy-size);line-height:1.75;max-width:42ch;margin:0;color:var(--section-copy-color)}
.service-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:start;padding-top:35px}
.sculpture-card{position:relative;display:flex;flex-direction:column;min-width:0;min-height:490px;border:1px solid #ffffff21;border-radius:16px;background:#181916;overflow:hidden;color:#f3f1ec;isolation:isolate;transition:border-color .4s,box-shadow .4s;transform:translateY(var(--card-shift,0));}
.sculpture-card:nth-child(2){--card-shift:-35px}.sculpture-card:nth-child(3){--card-shift:20px}.sculpture-card:nth-child(4){--card-shift:-12px}
.sculpture-card:hover,.sculpture-card:focus-visible{color:#fff;border-color:#efab7680;box-shadow:0 12px 50px #08090845}
.sculpture-card:focus-visible{outline:2px solid #efab76;outline-offset:6px}
.sculpture-scene{position:relative;height:270px;overflow:hidden;flex:none;background:#151612}
.sculpture-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,#181916 100%);pointer-events:none}
.sculpture-scene img{height:100%;width:100%;object-fit:cover;object-position:center;transform:scale(1.03);transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.sculpture-card:hover .sculpture-scene img{transform:translate(var(--art-x,0px),var(--art-y,0px)) scale(1.1)}
.sculpture-card:focus-visible .sculpture-scene img{transform:scale(1.1)}
.service-card-index{position:absolute;left:23px;top:20px;z-index:1;font-family:var(--code);font-size:11px;color:#dfdfd6}
.sculpture-copy{padding:16px 24px 24px;display:flex;flex-direction:column;flex:1;min-height:220px}
.sculpture-title{display:flex;gap:12px;justify-content:space-between;align-items:end;margin-bottom:18px}
.sculpture-title h3{font-family:var(--display);font-size:clamp(27px,2.5vw,36px);font-weight:400;line-height:1.02;letter-spacing:-.02em}
.sculpture-title h3 br::after{content:" "}
.sculpture-arrow{display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffffff30;border-radius:50%;flex:none;margin-bottom:3px;transition:background .3s,color .3s,transform .3s}
.sculpture-arrow svg{width:17px;height:17px}
.sculpture-card:hover .sculpture-arrow,.sculpture-card:focus-visible .sculpture-arrow{background:#efab76;color:#171811;transform:rotate(45deg);border-color:#efab76}
.sculpture-copy p{font-size:12px;line-height:1.8;letter-spacing:0;max-width:26ch;color:#b9bcb2;margin:0}
.sculpture-explore{font-family:var(--code);font-size:10px;line-height:1.4;color:#eeece2;margin-top:auto;padding-top:24px}
.sculpture-explore span{color:#efab76;display:inline-block;margin-left:7px;transition:transform .3s}
.sculpture-card:hover .sculpture-explore span{transform:translateX(4px)}
.ecosystem-section{background:#121310;overflow:hidden}
.ecosystem-section .section{padding-block:82px 72px}
.system-heading h2{font-family:var(--display);font-size:clamp(42px,6vw,78px);line-height:1.02;letter-spacing:-.02em;margin-bottom:18px}
.system-heading p{font-size:15px;line-height:1.7;color:#b9beb3;max-width:40ch}
.system-stage{position:relative;margin:24px auto 0;max-width:1220px;isolation:isolate}
.system-visual{position:relative;aspect-ratio:3/2;width:100%;overflow:hidden;margin:0;mask-image:linear-gradient(180deg,transparent,#000 12%,#000 90%,transparent)}
.system-art{height:100%;width:100%;object-fit:cover;display:block}
.system-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.system-circuit path{fill:none;stroke:#efab76;stroke-width:2}
.system-branch{opacity:.15;transition:opacity .6s}
.system-flow{stroke-dasharray:18 400;stroke-dashoffset:0;opacity:0;transition:opacity .4s}
.system-stage[data-active="0"] [data-branch="0"],.system-stage[data-active="1"] [data-branch="1"],.system-stage[data-active="2"] [data-branch="2"],.system-stage[data-active="3"] [data-branch="3"]{opacity:1}
.system-stage[data-active="0"] [data-branch="0"] .system-flow,.system-stage[data-active="1"] [data-branch="1"] .system-flow,.system-stage[data-active="2"] [data-branch="2"] .system-flow,.system-stage[data-active="3"] [data-branch="3"] .system-flow{opacity:1;stroke:#fff4d9;stroke-width:3}
.system-core{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);color:#201e19;text-align:center;pointer-events:none}
.system-core .brand{justify-content:center;color:#201e19;font-size:clamp(28px,4vw,53px);gap:2px;font-weight:400}
.system-core img{width:50px;height:50px;filter:url("#flint-monochrome") invert(1);border-radius:0}
.system-core small{display:block;font-family:var(--code);font-size:10px;letter-spacing:.04em;margin-top:10px}
.system-tabs{position:absolute;inset:0;pointer-events:none}
.system-tabs button{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid #ffffff26;border-radius:40px;background:#111211d9;color:#edece2;min-height:62px;min-width:180px;padding:10px 23px;pointer-events:auto;transform:translateX(-50%);transition:border-color .3s,background .3s,color .3s;box-shadow:none;text-align:center}
.system-tabs button[data-step="0"]{left:24%;top:8%}.system-tabs button[data-step="1"]{left:77%;top:8%}.system-tabs button[data-step="2"]{left:24%;bottom:9%}.system-tabs button[data-step="3"]{left:77%;bottom:9%}
.system-tabs button>span{font-size:13px;font-weight:500;line-height:1.5}
.system-tabs button small{font-family:var(--code);font-size:9px;line-height:1.7;color:#b6bbae}
.system-tabs button[aria-selected="true"]{border-color:#efab76;color:#ffe9cb;background:#312820e6}
.system-tabs button[aria-selected="true"] small{color:#ecd0a5}
.system-tabs button:hover{border-color:#efab76a3;background:#24251f}
.system-tabs button:focus-visible{outline:2px solid #efab76;outline-offset:5px}
.system-panel{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;margin:-12px auto 0;max-width:1060px;border-top:1px solid #ffffff26;padding-top:32px}
.system-panel h3{font-family:var(--display);font-size:28px;line-height:1.18;letter-spacing:-.035em;margin:0 0 16px}
.system-panel p{font-size:13px;line-height:1.8;max-width:43ch;color:#b8bcb1}
.system-panel .text-link{color:#f2eee3;font-size:12px;min-height:44px;margin-top:14px;border-color:#efab7666;gap:32px}
.system-panel .text-link:hover{color:#efab76}
.system-example{padding-left:34px;border-left:1px solid #ffffff26}
.system-example .system-example-label{font-family:var(--code);font-size:10px;color:#efab76;margin:0 0 18px}
.system-example .journey-event{font-size:19px;font-weight:400;margin:0 0 12px;letter-spacing:-.015em}
.system-example .journey-result{font-size:12px;color:#c6cbbd;margin:0;line-height:1.7;gap:10px}
.system-example .journey-result svg{color:#efab76;width:18px}
.approach-band{background:#111211;color:#f3f1ec;overflow:hidden}
.process-section{padding-block:88px 68px}
.process-heading h2{font-family:var(--display);font-size:clamp(36px,5vw,64px);line-height:1.04;letter-spacing:-.02em;max-width:24ch;margin-bottom:22px}
.process-heading p{font-size:15px;line-height:1.8;max-width:49ch;color:#b9beb3}
.process-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;padding:0;margin:60px auto 0;list-style:none;max-width:1180px}
.process-steps li{text-align:center;padding:0;border:0;min-width:0}
.process-steps .process-number{font-family:var(--code);font-size:12px;color:#efab76;display:block;margin-bottom:16px}
.process-steps h3{font-family:var(--display);font-size:23px;font-weight:400;letter-spacing:-.025em;margin-bottom:15px}
.process-steps p{font-size:13px;line-height:1.8;max-width:24ch;margin:auto;color:#b9beb3}
.process-visual{position:relative;aspect-ratio:3/1;max-height:400px;overflow:hidden;margin:0 -12px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.process-visual img{height:100%;width:100%;object-fit:cover;display:block}
.process-circuit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;stroke:#fff1d4;stroke-width:3}
.process-circuit path{stroke-dasharray:20 1000;opacity:0}
.process-section.is-in-view .process-circuit path{opacity:.8}
.process-next{display:flex;align-items:center;justify-content:center;font-size:12px;color:#b9beb3;margin-top:5px}
.process-next a{display:flex;align-items:center;min-height:44px;gap:22px;color:#f2eee3;border-bottom:1px solid #efab7659}
.process-next svg{width:17px;height:17px}
.contact-section{background:#191b17;color:#f3f1ec;padding-block:82px;border-top:1px solid #ffffff1c}
.contact-grid h2{font-family:var(--display);font-size:clamp(36px,4.5vw,62px);line-height:1.06;color:#f3f1ec}
.contact-grid>div>p{color:#b9beb3}
.contact-email{color:#f3f1ec;border-color:#efab7680}
.contact-section label{color:#c7ccc0}
.contact-section input,.contact-section select,.contact-section textarea{color:#f3f1ec;border-color:#ffffff4d;caret-color:#f3f1ec}
.contact-section input::placeholder,.contact-section textarea::placeholder{color:#9da694}
.contact-section input:focus,.contact-section textarea:focus,.contact-section select:focus{border-color:#efab76}
.contact-section select option{background:#191b17;color:#f3f1ec}
.contact-section .button.dark{background:#f3f1ec;color:#171913;white-space:nowrap}
.contact-section .button.dark:hover{background:#efab76;color:#171913}
.contact-section .form-note{color:#b5bcaa}
.detail-copy h1,.legal-page h1{font-family:var(--display);font-weight:500;letter-spacing:-.02em}
.detail-image img{border-radius:16px;object-fit:contain;background:#161712}
.detail-cta{background:#1b1d18;color:#f3f1ec}
.detail-cta h2{color:#f3f1ec}
.detail-cta .button.dark{background:#f3f1ec;color:#171913}
.site-footer .footer-statement{font-family:var(--display);font-weight:400;letter-spacing:-.02em}
.brand{position:relative}
.flint-carousel [role="region"]{scrollbar-width:none;border-radius:0;scroll-padding-inline:0;outline-color:#efab76}
.flint-carousel [role="region"]>ul{list-style:none;padding:18px 0;margin:0;gap:20px}
.flint-carousel [role="region"]>ul>li{flex:none;padding:0}
.flint-carousel [data-slot="carousel-card"]{width:330px;height:510px;padding:30px;box-shadow:none;border:1px solid #ffffff24;background:#171915;color:#f3f1ec;isolation:isolate;transition:border-color .3s}
.flint-carousel [data-slot="carousel-card"]:hover{border-color:#efab7680}
.flint-carousel .carousel-cover{object-fit:contain;object-position:center;height:58%;top:42%;transform:scale(1.05);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 88%,transparent)}
.flint-carousel .carousel-shade{background:linear-gradient(180deg,#171915 0%,#171915e8 20%,#17191500 47%,#17191500 80%,#171915 100%)}
.carousel-category{font-family:var(--code);font-size:10px;font-weight:400;color:#c3c7bb}
.flint-carousel .carousel-title{font-family:var(--display);font-size:34px;font-weight:400;line-height:1.05;letter-spacing:-.02em;max-width:10ch;margin-top:15px}
.flint-carousel [data-slot="carousel-card"]>span:last-child{width:40px;height:40px;background:#f1eee4;color:#191b17;box-shadow:none}
.flint-carousel [data-slot="carousel-card"]>span:last-child svg{width:18px;height:18px}
.flint-carousel>div:last-child{margin-top:16px;padding:0;gap:9px}
.flint-carousel>div:last-child button{width:44px;height:44px;border:1px solid #ffffff38;box-shadow:none;background:#191b17;color:#f3f1ec}
.flint-carousel>div:last-child button:hover{background:#303429}
.flint-carousel>div:last-child button svg{width:18px;height:18px}
[data-slot="carousel-modal"]{z-index:1000;color:#f3f1ec}
[data-slot="carousel-modal"] [role="dialog"]{background:#191b17;border:1px solid #ffffff26;max-width:820px}
.carousel-dialog-cover{min-height:320px}
.carousel-dialog-cover .carousel-cover{object-fit:contain;object-position:90% 50%;height:100%;width:60%;left:auto;right:0}
.carousel-dialog-cover .carousel-shade{background:linear-gradient(90deg,#191b17 25%,#191b1790 55%,#191b1700 90%)}
.carousel-dialog-cover .carousel-title{font-family:var(--display);font-size:45px;font-weight:400;line-height:1.07;letter-spacing:-.02em;max-width:10ch;margin-top:20px}
.carousel-dialog-cover>button{width:44px;height:44px;border:1px solid #ffffff40;z-index:2;box-shadow:none}
.carousel-dialog-cover>button svg{width:20px;height:20px}
.carousel-story{font-family:var(--body);font-size:15px;padding-top:0}
.carousel-story p{color:#bdc2b5;line-height:1.8}
.carousel-story .service-story-intro{font-size:23px;color:#f3f1ec;line-height:1.35;letter-spacing:-.025em;margin-bottom:16px}
.service-story-capabilities{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:0 28px}
.service-story-capabilities li{font-size:13px;line-height:1.6;color:#d2d6cb;padding:16px 0;border-top:1px solid #ffffff26}
.service-story-actions{display:flex;flex-wrap:wrap;gap:16px 30px;align-items:center;margin-top:26px}
.service-story-link{display:inline-flex;align-items:center;gap:24px;padding:14px 20px;border-radius:28px;background:#f3f1ec;color:#191b17;font-size:12px;font-weight:500;min-height:48px}
.service-story-enquire{display:inline-flex;align-items:center;gap:24px;color:#f3f1ec;border-bottom:1px solid #efab7666;min-height:48px;font-size:12px}
.service-story-link:hover{background:#efab76;color:#191b17}.service-story-enquire:hover{color:#efab76}
@media(max-width:700px){
 .flint-carousel [data-slot="carousel-card"]{width:calc(100vw - 82px);max-width:340px;height:470px;padding:26px}
 .flint-carousel [role="region"]>ul{gap:14px;padding-block:0 8px}
 .flint-carousel .carousel-title{font-size:32px}
 [data-slot="carousel-modal"]{padding:12px}
 .carousel-dialog-cover{min-height:280px;padding:26px}
 .carousel-dialog-cover .carousel-cover{width:100%;object-position:75% 95%;top:50px;height:230px;opacity:.55}
 .carousel-dialog-cover .carousel-shade{background:linear-gradient(180deg,#191b17,#191b1780 75%,#191b17)}
 .carousel-dialog-cover .carousel-title{font-size:35px}
 .carousel-category{font-size:9px}
 .carousel-story{font-size:13px;padding:0 26px 30px}
 .carousel-story .service-story-intro{font-size:21px}
 .service-story-capabilities{grid-template-columns:1fr;margin-block:24px}
 .service-story-actions{gap:14px}.service-story-link{width:100%;justify-content:space-between;font-size:11px}
 .service-story-enquire{font-size:11px;width:100%;justify-content:space-between}
}
@media(prefers-reduced-transparency:reduce){.footer-glass{background:#171815}.system-tabs button{background:#171815}}
@media(min-width:701px) and (max-width:1050px){.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px}.sculpture-card{min-height:470px;--card-shift:0!important}.sculpture-scene{height:265px}.sculpture-card:nth-child(even){transform:translateY(20px)}.system-tabs button{min-width:155px;padding-inline:15px}.system-panel{gap:32px}.process-steps{gap:28px}}
@media(max-width:700px){
 .moon-content h1{font-family:var(--display);font-size:clamp(23px,7.05vw,40px);font-weight:500;line-height:1.05;letter-spacing:-.02em}
 .moon-eyebrow{font-family:var(--code);font-size:clamp(6px,1.8vw,9px);letter-spacing:-.02em;margin-bottom:20px}
 .moon-content p{font-size:clamp(10px,2.85vw,14px);line-height:1.75}
 :root{--section-title-size:40px;--section-copy-size:13px}
 .services{padding-block:62px 60px}.services-intro{margin-bottom:28px}.services-intro h2{font-size:var(--section-title-size);max-width:16ch;line-height:1.03;margin-bottom:21px}.services-intro>p{font-size:var(--section-copy-size);line-height:1.8;max-width:33ch}
 .service-gallery{grid-template-columns:1fr;gap:20px;padding:0}.sculpture-card{min-height:440px;transform:none!important;--card-shift:0!important}.sculpture-scene{height:235px}.sculpture-scene img{object-fit:cover;object-position:50% 42%}.sculpture-copy{min-height:190px;padding:10px 24px 23px}.sculpture-title h3{font-size:34px}.sculpture-title{margin-bottom:15px;align-items:center}.sculpture-title h3 br{display:none}.sculpture-title h3{max-width:8ch}.sculpture-arrow{width:38px;height:38px}.sculpture-copy p{font-size:13px;max-width:27ch}.sculpture-explore{padding-top:19px;font-size:10px}
 .ecosystem-section .section{padding-block:58px}.system-heading h2{font-size:46px;max-width:11ch}.system-heading p{font-size:13px;max-width:29ch}.system-stage{margin-top:20px}.system-visual{aspect-ratio:1.08;mask-image:linear-gradient(180deg,transparent,#000 10%,#000 90%,transparent)}.system-art{object-fit:cover;object-position:center}.system-circuit{display:none}.system-core{top:44%}.system-core .brand{font-size:29px}.system-core img{width:30px;height:30px}.system-core small{font-size:8px;margin-top:6px}.system-tabs{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:0;pointer-events:auto}.system-tabs button{position:static;transform:none;width:100%;min-width:0;min-height:62px;padding:10px 7px;border-radius:12px}.system-tabs button>span{font-size:12px}.system-tabs button small{font-size:8px}.system-panel{grid-template-columns:1fr;gap:25px;margin-top:26px;padding-top:25px}.system-panel h3{font-size:26px;line-height:1.15;margin-bottom:15px}.system-panel p{font-size:13px;max-width:32ch}.system-panel .text-link{margin-top:14px}.system-example{border:0;border-top:1px solid #ffffff21;padding:22px 0 0}.system-example .system-example-label{margin-bottom:12px}.system-example .journey-event{font-size:16px}.system-example .journey-result{font-size:12px}
 .process-section{padding-block:58px 48px}.process-heading h2{font-size:36px;line-height:1.07;max-width:18ch}.process-heading p{font-size:13px;max-width:31ch}.process-steps{gap:13px;margin-top:35px}.process-steps .process-number{font-size:10px;margin-bottom:12px}.process-steps h3{font-size:15px;margin-bottom:12px;letter-spacing:-.02em}.process-steps p{font-size:11px;line-height:1.8;max-width:14ch}.process-visual{aspect-ratio:2.2;margin:0 -10px}.process-next{font-size:11px}
 .contact-section{padding-block:58px}.contact-grid h2{font-size:40px}.contact-grid>div>p{font-size:18px}.contact-email{font-size:15px}.contact-section input,.contact-section textarea,.contact-section select{font-size:16px}
}
@media(prefers-reduced-motion:no-preference){
 .system-stage.is-in-view .system-flow{animation:system-signal 4s linear infinite}
 .process-section.is-in-view .process-circuit path{animation:process-signal 3.5s cubic-bezier(.2,.7,.2,1) 1 both}
}
@keyframes system-signal{to{stroke-dashoffset:-418}}
@keyframes process-signal{from{stroke-dashoffset:0}to{stroke-dashoffset:-1010;opacity:0}}
@media(prefers-reduced-motion:reduce){.sculpture-card,.sculpture-scene img,.system-branch,.system-flow,.process-circuit path{animation:none!important;transition:none!important}.sculpture-card:hover .sculpture-scene img{transform:scale(1.03)}.system-flow{stroke-dasharray:none}.process-circuit path{opacity:0!important}}

/* One typeface across live text, form controls, card dialogs and the static wordmark. */
html,body,button,input,textarea,select,option{font-family:var(--body)}
.carousel-category{font-size:12px;letter-spacing:0}
.moon-eyebrow{letter-spacing:0}
@media(max-width:700px){.carousel-category{font-size:11px}}

/* A soft cinematic halo preserves the clear letter shapes. */
.carousel-category{color:#e9d4b9;text-shadow:0 0 9px #efab7638}
.carousel-title{text-shadow:0 0 18px #fff5df25,0 0 36px #efab7619;transition:text-shadow .65s ease}
.flint-feature-card:hover .carousel-title,.flint-feature-card:focus-visible .carousel-title{text-shadow:0 0 16px #fff5df55,0 0 36px #efab7633}
@media(prefers-reduced-motion:reduce){.carousel-title{transition:none}}

/* Minimal diagram: full artwork stays visible, with live labels and a quiet hub. */
.system-stage{max-width:1000px}
.system-visual{aspect-ratio:3/2;mask-image:none}
.system-art{object-fit:contain}
.system-core{top:47.7%}
.system-core .brand{font-size:38px;gap:1px}
.system-core img{width:36px;height:36px}
.system-core small{font-size:9px;letter-spacing:0;margin-top:5px}
.system-tabs button{background:#121310;border-radius:20px;min-height:56px}
@media(max-width:700px){
 .system-visual{aspect-ratio:3/2;mask-image:none}
 .system-core{top:47.7%}
 .system-core .brand{font-size:15px}
 .system-core img{width:12px;height:12px}
 .system-core small{font-size:6px;line-height:1.1;margin-top:3px}
 .system-tabs{margin-top:18px}
}

/* Phone hero: closer lunar framing and a stronger, wider foreground message. */
@media(max-width:700px){
 .header,.service-page .header{top:16px;width:calc(100% - 32px);height:48px;padding:0;gap:16px;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
 .header .brand,.header .menu-button{position:relative;isolation:isolate;overflow:hidden;height:48px;min-height:48px;border:1px solid #ffffff30;border-radius:28px;background:linear-gradient(145deg,#ffffff0e,#ffffff00 55%),#151a16b8;box-shadow:inset 0 1px 0 #ffffff1a,inset 0 -1px 0 #ffffff08,0 4px 16px #0002;backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%);transition:background-color .3s ease,box-shadow .3s ease}
 .header .brand{font-size:27px;gap:3px;padding:0 15px 0 11px}
 .header .brand img{width:27px;height:27px}
 .header .menu-button{width:48px;padding:12px}
 .header .brand::before,.header .menu-button::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,transparent 34%,#ffffff0a 44%,#ffffff20 49%,#ffffff09 54%,transparent 64%);background-size:300% 100%;background-position:100% 0;animation:mobile-glass-reflection 10s ease-in-out infinite}
 .header .menu-button::before{animation-delay:-3s}
 .header .brand:active,.header .menu-button:active{background-color:#30382dcc;box-shadow:inset 0 1px 0 #ffffff25,0 2px 8px #0002}
 .header .nav{top:60px;border-radius:24px;max-height:calc(100dvh - 100px)}
 .moon-stage{--moon-mobile-scale:1.27;--moon-mobile-x:-12%;--moon-mobile-origin:50% 80%}
 .moon-camera,#moon-phrases{transform:translateX(var(--moon-mobile-x)) scale(var(--moon-mobile-scale));transform-origin:var(--moon-mobile-origin)}
 .moon-content.hero-content{left:59%;top:37%;width:80%;max-width:500px;min-height:305px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;text-align:center}
 .moon-content h1{font-size:clamp(36px,10.8vw,54px);font-weight:600;line-height:1.04;letter-spacing:-.025em;color:#fff;text-shadow:none;filter:drop-shadow(0 2px 4px #0009) drop-shadow(0 5px 18px #0005);background:linear-gradient(110deg,#f5f5f2 35%,#fff 43%,#ffe4c8 47%,#fff 51%,#f5f5f2 60%);background-size:260% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:moon-copy-glow 9s ease-in-out infinite}
 .moon-eyebrow{font-size:clamp(10.5px,2.7vw,12.5px);font-weight:500;color:#fff;line-height:1.5;letter-spacing:0;margin:0;text-shadow:0 1px 8px #000}
 .moon-content p{font-size:clamp(14.5px,4vw,18px);font-weight:400;line-height:1.6;color:#fff;margin:0 auto;max-width:100%;text-shadow:0 1px 4px #000,0 3px 14px #0008}
 .moon-content .button{font-size:clamp(14px,3.8vw,16px);font-weight:500;min-height:54px;width:max-content;max-width:100%;justify-content:center;padding:15px 22px;gap:14px;margin:0 auto;box-shadow:0 5px 24px #0003}
 .moon-content .button svg{width:18px;height:18px}
 .moon-camera::after{background:radial-gradient(ellipse at 55% 43%,#0008 0%,#0005 30%,#0001 63%,transparent 85%)}
}
@keyframes mobile-glass-reflection{0%,20%{background-position:100% 0}65%,100%{background-position:0% 0}}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.header .brand,.header .menu-button{transition:none}.header .brand::before,.header .menu-button::before{animation:none;background-position:50% 0}}
@media(max-width:700px) and (prefers-reduced-transparency:reduce){.header .brand,.header .menu-button{background:#171c18;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:700px){
 .moon-content.hero-content h1,.moon-content.hero-content p,.moon-content.hero-content .moon-eyebrow{background:linear-gradient(110deg,#e9ebe6 35%,#fff 43%,#fff2da 47%,#fff 51%,#e9ebe6 60%);background-size:260% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;animation:moon-copy-glow 8s ease-in-out infinite}
 .moon-content.hero-content .moon-eyebrow{animation-delay:-1s}
 .moon-content.hero-content p{animation-delay:-.5s}
}
@keyframes moon-copy-glow{
 0%,20%{background-position:100% 0;filter:drop-shadow(0 2px 4px #0009) drop-shadow(0 0 2px #fff1)}
 45%{filter:drop-shadow(0 2px 4px #0009) drop-shadow(0 0 7px #fff5)}
 70%,100%{background-position:0% 0;filter:drop-shadow(0 2px 4px #0009) drop-shadow(0 0 2px #fff1)}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.moon-content.hero-content h1,.moon-content.hero-content p,.moon-content.hero-content .moon-eyebrow{animation:none;background:none;filter:none;-webkit-text-fill-color:currentColor}}
/* Keep the native video visible to Safari before its first playing event. */
.moon-stage.is-static .moon-frames,.moon-stage.is-blocked .moon-frames{opacity:0}
@media(prefers-reduced-motion:reduce){.moon-frames{opacity:0}}
/* OS autoplay restrictions still get a restrained ambient scene, without a tap. */
@media(prefers-reduced-motion:no-preference){
 .moon-stage.is-blocked.is-in-view .moon-image{animation:moon-ambient-fallback 20s ease-in-out infinite alternate;transform-origin:70% 45%}
 .moon-stage:not(.is-in-view) .moon-content h1,.moon-stage:not(.is-in-view) .moon-content p,.moon-stage:not(.is-in-view) .moon-eyebrow{animation-play-state:paused}
}
@keyframes moon-ambient-fallback{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.009) translate3d(-2px,1px,0)}}
/* Improve the fine-print contrast and phone readability without changing desktop type. */
.cosmic-signoff{color:#a9a598}
@media(max-width:700px){.cosmic-signoff{font-size:8px}}
/* Match the enhanced carousel footprint before its optional library loads. */
.fallback-controls{height:44px}
.fallback-plus{position:absolute;right:24px;bottom:16px;display:grid;place-items:center;border-radius:50%;font-size:24px}
/* Pause cinematic decoration while the section is outside the phone viewport. */
@media(max-width:700px){
 .cosmic-ecosystem:not(.is-in-view) .cosmic-web,.cosmic-ecosystem:not(.is-in-view) .cosmic-galaxy,.cosmic-ecosystem:not(.is-in-view) .cosmic-orb{animation-play-state:paused}
}
