/* N0MAD6 — n0mad6.com. Huisstijl van de game (startscherm public/solids-clau-city.html
   en title_scene.rs): Barlow, logo wit→ijsblauw met gloeilijn, blauwe candy-knop met
   lip, glazen knoppen met 5 px radius, nachtblauw verloop. */
@font-face{font-family:Barlow;font-weight:500;src:url('nomad/Barlow-Medium.ttf') format('truetype');font-display:swap}
@font-face{font-family:Barlow;font-weight:700;src:url('nomad/Barlow-Bold.ttf') format('truetype');font-display:swap}

:root{
  --navy:#0a1430;--deep:#03060f;
  --ice:#9ad8ff;--glow:rgba(128,217,255,.9);
  --blue-a:#4ea6ff;--blue-b:#1646c4;--lip:#0f2f8a;--dot:#3d8bff;
  --text:#fff;--muted:rgba(255,255,255,.62);--faint:rgba(255,255,255,.42);
  --glass:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));
  --glass-hover:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.09));
  --edge:rgba(255,255,255,.12);
  --r:5px;--pad:clamp(20px,4vw,56px);--nav:68px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav);background:var(--deep)}
body{margin:0;background:var(--deep);color:var(--text);font-family:Barlow,Inter,-apple-system,system-ui,sans-serif;font-weight:500;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
img,video{display:block}
:focus-visible{outline:2px solid rgba(255,255,255,.9);outline-offset:3px;box-shadow:0 0 22px rgba(77,134,230,.45)}
.site{overflow:clip}
.skip{position:fixed;top:-80px;left:20px;z-index:110;padding:12px 16px;border-radius:var(--r);background:#fff;color:#000;font-weight:700}
.skip:focus{top:10px}

/* Gedeelde bouwstenen */
.label{font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted)}
.ice{background:linear-gradient(180deg,#fff 10%,var(--ice) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--dot);box-shadow:0 0 8px var(--dot);margin-right:10px;vertical-align:middle;animation:pulse 1.6s ease-in-out infinite}
.logo{font-weight:700;letter-spacing:.14em;padding-left:.14em;line-height:1;white-space:nowrap;background:linear-gradient(180deg,#fff 20%,var(--ice) 95%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 rgba(0,5,25,.5)) drop-shadow(0 0 28px rgba(61,139,255,.3))}
.glow-line{height:1.5px;background:linear-gradient(90deg,rgba(128,217,255,0),var(--glow),rgba(128,217,255,0))}
.logo-sub{font-size:clamp(11px,1.1vw,15px);font-weight:700;letter-spacing:.3em;padding-left:.3em;color:var(--muted)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:var(--r);font-size:15px;font-weight:700;line-height:1;letter-spacing:1.6px;text-transform:uppercase;white-space:nowrap;transition:transform .12s ease,filter .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}
.btn-candy{color:#fff;background:linear-gradient(135deg,var(--blue-a),var(--blue-b));box-shadow:0 4px 0 var(--lip),0 10px 30px rgba(77,134,230,.35),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-candy:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-candy:active{transform:translateY(3px);box-shadow:0 1px 0 var(--lip),0 6px 18px rgba(77,134,230,.3),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-glass{color:#fff;border:1px solid rgba(255,255,255,.14);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.btn-glass:hover{background:var(--glass-hover);border-color:rgba(255,255,255,.3)}
.btn-sm{min-height:38px;padding:0 16px;font-size:12px;letter-spacing:1.3px}
.btn-candy.btn-sm{box-shadow:0 3px 0 var(--lip),0 6px 18px rgba(77,134,230,.3),inset 0 1px 0 rgba(255,255,255,.35)}
.play-icon{width:0;height:0;border-left:9px solid currentColor;border-top:6px solid transparent;border-bottom:6px solid transparent}

/* Navigatie: glazen balk met gloeilijn eronder */
.nav{position:sticky;top:0;z-index:50;height:var(--nav);display:flex;align-items:center;gap:36px;padding:0 var(--pad);background:rgba(3,6,15,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(128,217,255,0),rgba(128,217,255,.55),rgba(128,217,255,0))}
.nav-brand{font-size:22px;font-weight:700;letter-spacing:.14em;background:linear-gradient(180deg,#fff 20%,var(--ice) 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;gap:30px}
.nav-links a{font-size:13px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;color:var(--muted);padding:8px 0;transition:color .12s}
.nav-links a:hover{color:#fff}
.nav-actions{margin-left:auto;display:flex;gap:10px}
.menu-toggle{display:none}

/* Hero: groot logo zoals op het titelscherm */
.hero{position:relative;isolation:isolate;overflow:hidden;min-height:760px;height:calc(100svh - var(--nav));max-height:1250px;display:flex;flex-direction:column}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 64%;z-index:-3;animation:drift 24s ease-in-out infinite alternate}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(10,20,48,.55) 0%,rgba(10,20,48,.05) 45%,rgba(3,6,15,.85) 100%)}
.hero-meta{display:flex;justify-content:space-between;padding:26px var(--pad)}
.hero-logo{margin:clamp(10px,4vh,60px) auto 0;text-align:center;width:max-content;max-width:100%}
.hero-logo .logo{font-size:clamp(76px,16.5vw,320px)}
.hero-logo .glow-line{margin:clamp(10px,1.6vw,26px) 4% 0}
.hero-logo .logo-sub{margin-top:clamp(12px,1.6vw,24px)}
.hero-bottom{margin-top:auto;padding:0 var(--pad) 110px;display:flex;justify-content:center}
.hero-intro{text-align:center}
.hero-intro p{font-size:clamp(17px,1.5vw,22px);line-height:1.45;margin-bottom:26px}
.hero-intro p span{color:var(--muted)}
.hero-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero-buttons .btn{min-height:62px;font-size:17px;padding:0 34px}
.hero-scroll{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);color:var(--faint);transition:color .12s}
.hero-scroll:hover{color:#fff}

/* Toetsen-strook, zoals onder de speelknop in de game */
.keys{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:22px var(--pad);background:linear-gradient(180deg,var(--deep),var(--navy) 160%);border-bottom:1px solid var(--edge)}
.keys .label{margin-right:10px;color:var(--faint)}
.key{border:1px solid var(--edge);border-radius:var(--r);padding:6px 12px;font-size:13px;color:var(--muted);background:rgba(255,255,255,.04)}

/* Secties */
.section{padding:70px var(--pad) 80px;background:linear-gradient(180deg,var(--deep),var(--navy) 140%)}
.section-index{display:flex;justify-content:space-between;gap:20px;padding-bottom:20px;position:relative}
.section-index:after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,rgba(128,217,255,.6),rgba(128,217,255,.08))}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:60px 0 44px}
.section h2,.transmission h2{font-size:clamp(54px,7vw,124px);font-weight:700;line-height:.95;letter-spacing:.02em;text-transform:uppercase}
.section-heading p{max-width:340px;font-size:17px;line-height:1.6;color:var(--muted);padding-bottom:8px}

/* Wereld-tabs = keuzekaarten uit het startscherm */
.world-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.world-tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 18px;border-radius:var(--r);border:1px solid var(--edge);background:var(--glass);text-align:left;transition:border-color .12s,background .12s,box-shadow .12s}
.world-tabs button:hover{border-color:rgba(255,255,255,.3)}
.world-tabs button[aria-selected=true]{border-color:rgba(255,255,255,.6);box-shadow:0 0 0 1px rgba(255,255,255,.25),0 0 22px rgba(77,134,230,.35)}
.world-tabs b{font-size:16px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}
.world-tabs small{font-size:13px;color:var(--faint)}
.location-panel{position:relative;height:clamp(420px,46vw,680px);border-radius:var(--r);border:1px solid var(--edge);overflow:hidden;background:var(--navy)}
.location-panel>img{width:100%;height:100%;object-fit:cover;animation:appear .4s ease}
.location-panel:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 40%,rgba(3,6,15,.92) 100%)}
.location-caption{position:absolute;left:28px;bottom:28px;z-index:2;max-width:460px}
.location-caption .label{display:block;margin-bottom:12px}
.location-caption h3{font-size:clamp(30px,3vw,44px);font-weight:700;line-height:1;margin-bottom:10px}
.location-caption p{font-size:16px;line-height:1.6;color:rgba(255,255,255,.75)}
.world-foot{display:flex;justify-content:space-between;gap:20px;margin-top:16px;color:var(--faint)}

/* In beweging */
.transmission{position:relative;isolation:isolate;overflow:hidden;min-height:760px;height:95svh;padding:40px var(--pad)}
.transmission>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3}
.transmission-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,6,15,.82),rgba(3,6,15,.1) 70%),linear-gradient(0deg,rgba(3,6,15,.7),transparent 50%)}
.transmission .section-index{color:#fff}
.transmission-content{margin-top:clamp(80px,14vh,150px)}
.transmission-content .label{margin-bottom:18px}
.transmission h2{margin-bottom:40px;font-size:clamp(64px,9vw,160px)}
.transmission-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:28px;display:flex;justify-content:space-between;align-items:center;gap:20px}

/* Oorsprong */
.origin-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,100px);align-items:center;padding-top:70px}
.origin-shot{position:relative;border-radius:var(--r);border:1px solid var(--edge);overflow:hidden;box-shadow:0 0 60px rgba(61,139,255,.18);aspect-ratio:9/10;max-width:560px}
.origin-shot img{width:100%;height:100%;object-fit:cover}
.origin-shot figcaption{position:absolute;left:14px;bottom:12px;padding:6px 10px;border-radius:var(--r);background:rgba(3,6,15,.7);border:1px solid var(--edge);font-size:11px}
.origin-copy .label{margin-bottom:18px}
.origin-copy h2{margin-bottom:28px;font-size:clamp(48px,5vw,92px)}
.origin-copy>p:not(.label){font-size:17px;line-height:1.65;color:var(--muted);max-width:440px;margin-bottom:16px}
.origin-copy .btn{margin-top:14px}

/* Slot: het laadscherm — gloed + planeetrand */
.outro{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(620px,80vh,900px);display:flex;justify-content:center;background:linear-gradient(180deg,var(--navy) 0%,var(--deep) 100%)}
.outro-glow{position:absolute;left:18%;top:14%;width:60vh;height:60vh;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(61,139,255,.2),transparent 70%);z-index:-1}
.outro-planet{position:absolute;left:50%;top:68%;width:max(210vh,160vw);height:max(210vh,160vw);transform:translateX(-50%);border-radius:50%;background:linear-gradient(180deg,#2a5fd0 0%,#050c24 30%);box-shadow:0 0 0 3px rgba(154,214,255,.55),0 0 18vh rgba(47,125,255,.3);z-index:-1}
.outro-content{margin-top:clamp(90px,15vh,170px);text-align:center;padding:0 var(--pad)}
.outro .logo{font-size:clamp(46px,8.5vw,150px)}
.outro .glow-line{margin:18px 6% 0}
.outro .logo-sub{margin-top:18px}
.outro-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:40px}
.outro-buttons .btn{min-height:62px;font-size:17px;padding:0 34px}

.footer{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px var(--pad);background:var(--deep);border-top:1px solid var(--edge);color:var(--faint)}
.footer a:hover{color:#fff}
.footer-brand{font-size:18px;letter-spacing:.14em;color:#fff}

/* Preview-venster */
.preview-dialog{width:calc(100% - 40px);max-width:1100px;max-height:90svh;margin:auto;padding:18px;overflow:auto;border-radius:var(--r);border:1px solid var(--edge);background:linear-gradient(180deg,var(--navy),var(--deep));color:#fff;box-shadow:0 0 60px rgba(61,139,255,.25)}
.preview-dialog::backdrop{background:rgba(3,6,15,.85);backdrop-filter:blur(10px)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.dialog-top h2{color:#fff}
.preview-dialog video{width:100%;max-height:70svh;border-radius:var(--r);background:#000}
.preview-dialog>p{margin-top:14px;color:var(--faint)}

@keyframes drift{from{transform:scale(1)}to{transform:scale(1.04)}}
@keyframes appear{from{opacity:.5}to{opacity:1}}
@keyframes pulse{50%{opacity:.45}}

@media(max-width:1000px){
  .nav{gap:24px}.nav-links{gap:20px}
  .section-heading{align-items:flex-start}
  .origin-grid{gap:36px}
}
@media(max-width:760px){
  :root{--nav:60px}
  .nav-brand{font-size:19px}
  .nav-preview{display:none}
  .menu-toggle{display:inline-flex}
  .nav-links{display:none;position:absolute;top:var(--nav);left:0;right:0;flex-direction:column;gap:8px;padding:14px var(--pad) 18px;background:rgba(3,6,15,.96);border-bottom:1px solid var(--edge)}
  .nav-links.is-open{display:flex}
  .nav-links a{display:block;padding:14px 16px;border-radius:var(--r);border:1px solid var(--edge);background:var(--glass);color:#fff;text-align:center}
  .hero{min-height:680px;max-height:960px}
  .hero-art{object-position:72% 50%}
  .hero-meta{font-size:10px}
  .hero-logo{margin-top:6vh}
  .hero-logo .logo{font-size:clamp(46px,15vw,120px)}
  .hero-bottom{padding-bottom:84px}
  .hero-intro p{font-size:16px}
  .hero-buttons{flex-direction:column;align-items:stretch}
  .hero-buttons .btn{min-height:56px;font-size:15px}
  .keys .label{width:100%;text-align:center;margin:0 0 4px}
  .key{font-size:12px}
  .section{padding:44px var(--pad) 52px}
  .section-index{font-size:10px}
  .section-heading{display:block;padding:36px 0 28px}
  .section-heading p{margin-top:18px;font-size:16px}
  .world-tabs{gap:6px}
  .world-tabs button{padding:10px 12px}
  .world-tabs b{font-size:13px}
  .world-tabs small{font-size:11px}
  .location-panel{height:480px}
  .location-caption{left:18px;right:18px;bottom:20px}
  .world-foot{font-size:10px}
  .transmission{min-height:640px;height:85svh;padding:30px var(--pad)}
  .transmission-foot{font-size:10px}
  .origin-grid{grid-template-columns:1fr;padding-top:44px}
  .origin-shot{max-width:none}
  .outro .logo{font-size:clamp(34px,10vw,70px);letter-spacing:.1em;padding-left:.1em}
  .outro-buttons{flex-direction:column;align-items:stretch}
  .footer{display:grid;grid-template-columns:1fr 1fr;font-size:10px}
  .footer>:nth-child(even){text-align:right}
  .preview-dialog{width:calc(100% - 20px);padding:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
