/* Interior rooms: carries the homepage's cinematic studio look onto every inner page. */
.room-page { --room-pos:left top; --room-glow:#ff2b45; }
.room-careers { --room-pos:left bottom; }
.room-resources { --room-pos:right top; }
.journal-page,.room-contact { --room-pos:right bottom; }

/* Cinematic hero band: studio artwork bleeds in from the right, as on the homepage. */
.room-page .room-intro,.room-page .cyber-corner-intro,.room-page .interior-hero,.room-page .contact-story { position:relative; isolation:isolate; }
.room-page .room-intro,.room-page .cyber-corner-intro,.room-page .interior-hero { padding-top:clamp(56px,8vw,110px); padding-bottom:clamp(48px,6vw,90px); min-height:min(62vh,560px); display:flex; flex-direction:column; justify-content:center; }
.room-page .room-intro::before,.room-page .cyber-corner-intro::before,.room-page .interior-hero::before {
  content:''; position:absolute; z-index:-2; top:0; bottom:0; right:calc(50% - 50vw); aspect-ratio:3/2; max-width:72vw;
  background:url('../images/cyber-studio-features.webp') var(--room-pos)/200% 200% no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%); mask-image:linear-gradient(90deg,transparent 0%,#000 45%);
  opacity:.85; transform:scale(1.04) translate3d(calc(var(--px,0) * -14px),calc(var(--py,0) * -10px),0); transition:transform .5s ease-out;
}
.room-page .room-intro::after,.room-page .cyber-corner-intro::after,.room-page .interior-hero::after {
  content:''; position:absolute; z-index:-1; inset:0 calc(50% - 50vw);
  background:linear-gradient(90deg,#100d11 0%,#100d11f0 28%,#100d1199 55%,#100d1133 100%),linear-gradient(0deg,#100d11 0%,transparent 30%);
  border-bottom:1px solid #9c434d44; top:0; right:auto; width:auto; height:auto; opacity:1; -webkit-mask-image:none; mask-image:none; background-size:auto;
}
.room-page .room-intro > :not(.room-net):not(.room-scan),.room-page .cyber-corner-intro > :not(.room-net):not(.room-scan),.room-page .interior-hero > :not(.room-net):not(.room-scan) { max-width:min(680px,100%); position:relative; }
.room-page .room-intro > a,.room-page .interior-hero > a,.room-page .cyber-corner-intro > a { align-self:flex-start; }
/* Clip the full-bleed art vertically so it never spills below the band. */
.room-page .room-intro,.room-page .cyber-corner-intro,.room-page .interior-hero { clip-path:inset(0 -100vw); }
.room-page .room-intro h1,.room-page .interior-hero h1 { text-shadow:0 2px 30px #000; }
.room-page .room-intro h1 em,.room-page .interior-hero h1 em,.room-page .contact-story h1 em,.room-page .about-story h1 em {
  font-family:"Great Vibes",cursive; font-style:normal; font-weight:400; font-size:1.18em; letter-spacing:0; color:#ff8e98;
  text-shadow:0 0 18px #ff2b4566; display:inline-block; padding-right:.1em;
}
.room-page .cyber-corner-intro h1 { letter-spacing:2px; }

/* Living circuit canvas and scan sweep inside each hero. */
.room-net { position:absolute; inset:0 calc(50% - 50vw); width:100vw!important; max-width:none!important; height:100%; z-index:-1; pointer-events:none; opacity:.9; }
.room-scan { position:absolute; inset:0 calc(50% - 50vw); max-width:none!important; z-index:-1; pointer-events:none; overflow:hidden; }
.room-scan::before { content:''; position:absolute; left:0; right:0; height:120px; top:-120px; background:linear-gradient(180deg,transparent,#ff2b4512 70%,#ff4d6266 100%); border-bottom:1px solid #ff4d6288; animation:room-scan 7s cubic-bezier(.5,0,.5,1) 0.4s infinite; }
@keyframes room-scan { 0% { top:-120px; } 45%,100% { top:105%; } }

/* Decrypting eyebrow with terminal caret. */
.room-page .room-eyebrow.is-typing::after,.room-page .eyebrow.is-typing::after { content:'_'; margin-left:2px; animation:room-blink .8s steps(1) infinite; color:#ff8e98; }
@keyframes room-blink { 50% { opacity:0; } }

/* Pointer spotlight that follows the visitor through the room. */
.room-page .room-spot { position:fixed; inset:0; pointer-events:none; z-index:0; background:radial-gradient(420px circle at var(--mx,50%) var(--my,30%),#ff2b4514,transparent 60%); transition:opacity .4s; }
.room-page main,.room-page .world-footer { position:relative; z-index:1; }

/* Reading / scroll progress line under the header. */
.room-progress { position:fixed; top:0; left:0; height:2px; width:100%; transform-origin:0 50%; transform:scaleX(var(--progress,0)); background:linear-gradient(90deg,#b3132b,#ff6b7c,#ffc2c8); box-shadow:0 0 12px #ff2b45; z-index:60; pointer-events:none; }

/* Glass cards with tilt, glow border and a light sheen that tracks the pointer. */
.room-page .world-project,.room-page .story-chapters > *,.room-page .about-columns > *,.room-page .case-study-body aside,.room-page .world-contact-form,.room-page .featured-case .case-evidence-preview {
  position:relative; border-radius:14px; transform-style:preserve-3d;
  transform:perspective(900px) rotateX(var(--ry,0deg)) rotateY(var(--rx,0deg)) translateY(var(--lift,0));
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.room-page .world-project { background:linear-gradient(160deg,#1d1218e6,#0d0a0ee6); border:1px solid #ab586244; padding:26px 24px 24px; overflow:hidden; counter-increment:room-card; }
.room-page .world-project-grid { counter-reset:room-card; }
.room-page .world-project::before { content:counter(room-card,decimal-leading-zero); position:absolute; top:14px; right:18px; font:400 34px/1 "Great Vibes",cursive; color:#ff8e9855; }
.room-page .world-project::after,.room-page .world-contact-form::after {
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .35s;
  background:radial-gradient(260px circle at var(--cx,50%) var(--cy,50%),#ff6b7c26,transparent 65%);
}
.room-page .world-project:hover,.room-page .world-project:focus-within { --lift:-6px; border-color:#ff6b7c99; box-shadow:0 18px 40px -18px #ff2b4588,0 0 0 1px #ff6b7c33; }
.room-page .world-project:hover::after,.room-page .world-project:focus-within::after,.room-page .world-contact-form:hover::after { opacity:1; }
.room-page .world-project h3 { transition:color .3s; }
.room-page .world-project:hover h3 { color:#ffb3bb; }
.room-page .featured-case .case-evidence-preview:hover { --lift:-4px; box-shadow:0 24px 60px -24px #ff2b45aa; }
.room-page .world-contact-form { border:1px solid #ab586255; overflow:hidden; }
.room-page .world-contact-form input:focus,.room-page .world-contact-form textarea:focus { border-color:#ff6b7c; box-shadow:0 0 0 3px #ff2b4533,0 0 22px -6px #ff2b45; outline:none; }

/* Filter chips and career list feel like controls on the studio console. */
.room-page .world-filters button { position:relative; transition:color .25s; }
.room-page .world-filters button::after { content:''; position:absolute; left:0; right:0; bottom:-4px; height:1px; background:#ff6b7c; transform:scaleX(0); transition:transform .3s; }
.room-page .world-filters button:hover::after { transform:scaleX(1); }
.room-page .field-guide nav button,.room-page .field-guide nav a { transition:background .25s,padding-left .25s,color .25s; }
.room-page .field-guide nav button:hover,.room-page .field-guide nav a:hover { padding-left:30px; background:#2a1219; color:#ffb3bb; }

/* Buttons pick up the glowing pill from the homepage "Explore my world". */
.room-page .world-button,.room-page .button { border-color:#ff6b7c; box-shadow:0 0 0 0 #ff2b4500; letter-spacing:1.5px; text-transform:uppercase; font-size:12px; padding:14px 30px; transition:background .3s,box-shadow .3s,transform .3s; }
.room-page .world-button:hover,.room-page .button:hover { box-shadow:0 0 24px -2px #ff2b4599; transform:translateY(-2px); }

/* Keep exploring: the homepage destination tiles, reused at the end of each room. */
.room-next { width:min(1400px,97%); margin:70px auto 0; }
.room-next > p { font:500 11px var(--sans); letter-spacing:3px; text-transform:uppercase; color:#ff8e98; margin:0 0 14px 1.5%; }
.room-next .studio-destinations { grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; gap:6px; background:none; }
.room-next .studio-destination { min-height:220px; border-radius:12px; text-decoration:none; }
.room-next .studio-destination h2 { font:400 clamp(34px,3vw,46px)/1.1 "Great Vibes",cursive; color:#ff9ba4; margin-bottom:6px; }
.room-next .studio-destination p { font:500 15px/1.5 var(--serif); margin-bottom:10px; }
.room-next .studio-destination:hover .studio-destination-action { text-decoration:underline; text-underline-offset:5px; }

/* Resources: a styled holding room rather than an empty page. */
.room-resources main.resources-blank { flex:1; }
.room-resources .world-header,.room-resources .world-footer { width:100%; align-self:stretch; }

@media (max-width:850px) {
  .room-page .room-intro::before,.room-page .cyber-corner-intro::before,.room-page .interior-hero::before { max-width:none; left:calc(50% - 50vw); right:calc(50% - 50vw); aspect-ratio:auto; opacity:.45; -webkit-mask-image:none; mask-image:none; }
  .room-page .room-intro,.room-page .cyber-corner-intro,.room-page .interior-hero { min-height:0; }
  .room-next .studio-destinations { grid-template-columns:1fr; }
  .room-page .room-spot { display:none; }
}
@media (hover:none) { .room-page .room-spot { display:none; } }
@media (prefers-reduced-motion:reduce) {
  .room-scan,.room-net { display:none; }
  .room-page .room-intro::before,.room-page .cyber-corner-intro::before,.room-page .interior-hero::before { transform:none; transition:none; }
  .room-page .world-project,.room-page .world-contact-form,.room-page .featured-case .case-evidence-preview { transform:none!important; transition:none; }
}

/* Blog library: one card per story; the whole card opens the story. */
.story-library { width:min(1220px,90%); margin:20px auto 0; }
.story-library-head { display:flex; justify-content:space-between; align-items:baseline; gap:20px; border-bottom:1px solid #ab586244; padding-bottom:14px; margin-bottom:26px; }
.story-library-head h2 { font:500 clamp(28px,3vw,38px)/1.1 var(--serif); margin:0; color:#fff4ef; }
.story-library-head p { margin:0; color:#c8bab8; font-size:14px; }
.story-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; }
.story-card { position:relative; display:flex; flex-direction:column; border:1px solid #ab586244; border-radius:16px; overflow:hidden; background:linear-gradient(170deg,#1b1016,#0d0a0e); transition:transform .35s ease,border-color .35s,box-shadow .35s; }
.story-card-art { width:100%; height:230px!important; aspect-ratio:auto; object-fit:cover; display:block; transition:transform .7s ease,filter .5s; filter:brightness(.85); }
.story-card-copy { padding:20px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1; }
.story-card-meta { margin:0; font:600 10px/1.4 ui-monospace,Menlo,monospace; letter-spacing:2px; text-transform:uppercase; color:#ff8e98; }
.story-card h3 { margin:0; font:500 clamp(24px,2.2vw,30px)/1.15 var(--serif); color:#fff4ef; }
.story-card h3 em { font-family:"Great Vibes",cursive; font-style:normal; color:#ff9ba4; font-size:1.15em; }
.cyber-world main .story-card h3 a { color:inherit; text-decoration:none; }
.story-card h3 a::after { content:''; position:absolute; inset:0; z-index:1; border-radius:inherit; }
.story-card p:not(.story-card-meta) { margin:0; color:#d9cbc9; font-size:14px; line-height:1.65; }
.story-card-action { margin-top:auto; padding-top:8px; font:500 11px var(--sans); letter-spacing:2px; text-transform:uppercase; color:#ff9ba4; }
.story-card-action::after { content:' →'; display:inline-block; transition:transform .3s; }
.story-card:not(.story-card-soon):hover,.story-card:not(.story-card-soon):focus-within { transform:translateY(-6px); border-color:#ff6b7c99; box-shadow:0 22px 50px -22px #ff2b45aa; }
.story-card:not(.story-card-soon):hover .story-card-art { transform:scale(1.05); filter:brightness(1); }
.story-card:hover .story-card-action::after { transform:translateX(5px); }
.story-card:focus-within { outline:2px solid #ffa0aa; outline-offset:4px; }
.story-card h3 a:focus-visible { outline:none; }
.story-card-soon { border-style:dashed; opacity:.75; }
.story-card-soon .story-card-art { filter:grayscale(.4) brightness(.6); }

/* Single story page. */
.story-main { padding-top:30px; }
.story-crumbs { width:min(1100px,88%); margin:10px auto 0; display:flex; gap:10px; font:500 11px var(--sans); letter-spacing:2px; text-transform:uppercase; color:#c8bab8; }
.story-next { width:min(1100px,88%); margin:10px auto 0; padding:0 6%; }
.story-page .journal-heading .corner-post-title em { font-family:"Great Vibes",cursive; font-style:normal; font-size:1.15em; }
@media (prefers-reduced-motion:reduce) { .story-card,.story-card-art { transition:none; } }

/* Story page: blog-style cover, tags, drop cap, pull quote, share and author box. */
.story-cover { width:min(1100px,92%); margin:18px auto 0; height:clamp(200px,32vw,380px); border-radius:18px; overflow:hidden; position:relative; }
.story-cover img { width:100%; height:100%; object-fit:cover; object-position:center 60%; display:block; }
.story-cover::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#100d11 0%,transparent 55%); }
.story-page .journal-article { position:relative; margin-top:-70px; }
.story-tags { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:16px 0 0; padding:0; }
.story-tags li { padding:5px 12px; border:1px solid #ff8e9866; border-radius:20px; font:500 11px/1 var(--sans); letter-spacing:1px; color:#ffc6cc; background:#2a111a88; }
.story-page .journal-opening::first-letter { float:left; font:400 4.4em/.8 "Great Vibes",cursive; color:#ff8e98; padding:8px 12px 0 0; }
.story-quote { margin:38px 0; padding:8px 0 8px 26px; border-left:3px solid #ff6b7c; }
.story-quote p { margin:0; font:italic 500 clamp(24px,2.6vw,32px)/1.35 var(--serif); color:#fff4ef!important; }
.story-after { width:min(1100px,88%); margin:30px auto 0; padding:0 6%; display:grid; gap:22px; }
.story-share { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:16px 0; border-top:1px solid #ab586244; border-bottom:1px solid #ab586244; }
.story-share span { font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:2px; text-transform:uppercase; color:#c8bab8; margin-right:6px; }
.cyber-world main .story-share a,.story-share button { padding:8px 16px; border:1px solid #ff8e9888; border-radius:20px; background:#1a0d12; color:#ffe3e6; font:500 12px var(--sans); text-decoration:none; cursor:pointer; transition:background .25s; }
.story-share a:hover,.story-share button:hover { background:#5c2632; text-decoration:none; }
.story-author { display:flex; gap:18px; align-items:flex-start; padding:22px; border:1px solid #ab586244; border-radius:16px; background:linear-gradient(160deg,#1b1016,#0d0a0e); }
.story-author img { width:56px; height:56px; flex:none; padding:8px; border-radius:50%; background:#2a111a; box-shadow:0 0 0 1px #ff8e9866; }
.story-author p { margin:0 0 8px; color:#d9cbc9; font-size:14px; line-height:1.6; }
.story-author .story-author-kicker { font:600 10px/1 ui-monospace,Menlo,monospace; letter-spacing:2px; text-transform:uppercase; color:#ff8e98; margin-bottom:4px; }
.story-author .story-author-name { font:400 34px/1 "Great Vibes",cursive; color:#ff9ba4; }
.story-more { width:min(1100px,88%); margin:50px auto 0; padding:0 6%; }
.story-more h2 { font:500 clamp(26px,3vw,34px)/1.1 var(--serif); margin:0 0 20px; color:#fff4ef; }
.story-more .story-grid { margin-bottom:24px; }
@media (max-width:700px) { .story-page .journal-article { margin-top:-40px; } }

/* Full-bleed hero art must never widen the page. */
.room-page main { overflow-x:clip; }

/* Cover crops: keep the character's face in frame; the upcoming-story card keeps its colour. */
.story-cover img { object-position:center 28%; }
.story-card-art[src*="cyber-studio-warm-hero"] { object-position:center 22%; }
.story-card-soon .story-card-art { filter:brightness(.8); }

/* Case-study showcase pages: readable intro copy and the same script accent as other rooms. */
.cyber-world .showcase-story > p:not(.showcase-kicker):not(.showcase-tools):not(.game-chip) { color:#e6d9d7; }
.room-page .showcase-story h1 em { font-family:"Great Vibes",cursive; font-style:normal; font-weight:400; font-size:1.18em; color:#ff8e98; text-shadow:0 0 18px #ff2b4566; }
.room-page .room-intro + .case-study-body { margin-top:48px; }

/* Logo butterfly: use the transparent artwork so no dark square shows behind it. */
.brand-butterfly { background-image:url("../images/lab-butterfly.webp")!important; }

/* Contact: reasons to reach out, suggestion box, and nudges to it from other pages. */
.suggest-room { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:40px; align-items:start; margin-top:70px; padding-top:50px; border-top:1px solid #ab586244; scroll-margin-top:100px; }
.suggest-intro h2 { margin:6px 0 12px; font:500 clamp(32px,3.6vw,46px)/1.1 var(--serif); color:#fff4ef; }
.suggest-intro h2 em { font:400 1.2em "Great Vibes",cursive; color:#ff8e98; }
.suggest-intro p:not(.room-eyebrow) { color:#d9cbc9; line-height:1.7; max-width:46ch; }
.suggest-form fieldset { border:0; margin:0 0 6px; padding:0; }
.suggest-form legend { margin-bottom:10px; color:#f6eeea; font-size:14px; }
.suggest-types { display:flex; flex-wrap:wrap; gap:8px; }
.suggest-types label { cursor:pointer; margin:0; }
.suggest-types input { position:absolute; opacity:0; pointer-events:none; }
.suggest-types span { display:inline-block; padding:9px 15px; border:1px solid #ab586277; border-radius:30px; background:#140c10; color:#f1e4e2; font:500 13px var(--sans); transition:background .25s,border-color .25s; }
.suggest-types input:checked + span { background:#ff8e98; border-color:#ff8e98; color:#25090f; }
.suggest-types input:focus-visible + span { outline:2px solid #ffa0aa; outline-offset:3px; }
.suggest-optional { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.suggest-optional label small { color:#a8969a; font-size:11px; }
.suggest-nudge { margin:30px 0 0; padding:16px 20px; border:1px dashed #ab586266; border-radius:14px; color:#d9cbc9; font-size:14.5px; }
.cyber-world main .suggest-nudge a { color:#ff9ba4; font-weight:500; }
@media (max-width:850px) { .suggest-room { grid-template-columns:1fr; gap:20px; } }
@media (max-width:520px) { .suggest-optional { grid-template-columns:1fr; } }

/* Lab walkthrough links: overview button and Projects card link. */
.lab-cta { display:flex; flex-direction:column; gap:4px; align-self:flex-start; width:fit-content; max-width:100%; margin:20px 0 18px; padding:16px 22px; border:1px solid #ff6b7c; border-radius:14px; background:linear-gradient(135deg,#2a0f17,#140a0e); box-shadow:0 0 30px -12px #ff2b45; text-decoration:none!important; transition:transform .3s,box-shadow .3s; }
.lab-cta:hover { transform:translateY(-3px); box-shadow:0 0 40px -8px #ff2b45; }
.lab-cta-kicker { font:600 10px/1.3 ui-monospace,Menlo,monospace; letter-spacing:2.5px; text-transform:uppercase; color:#ff8e98; }
.lab-cta-title { font:500 20px/1.25 var(--serif); color:#fff4ef; }
.world-project > a.card-walk { position:relative; z-index:2; display:inline-block; margin-top:8px; color:#ffd2d7!important; font-weight:600; }
.world-project > a.card-walk::after { content:none; }

/* Walkthrough pages */
.lab-start { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:6px 0 10px; }
.lab-start > div { padding:20px 22px; border:1px solid #ab586244; border-radius:14px; background:#140d11; }
.lab-start h2 { margin-top:0!important; font-size:24px!important; }
.lab-start ul { margin:0; padding-left:18px; }
.lab-steps { list-style:none; margin:10px 0 0; padding:0; counter-reset:labstep; display:grid; gap:14px; }
.lab-step { position:relative; padding:20px 22px 18px 74px; border:1px solid #ab586244; border-radius:16px; background:linear-gradient(165deg,#1a1015,#0e0a0d); counter-increment:labstep; min-width:0; }
.lab-step::before { content:counter(labstep); position:absolute; left:20px; top:18px; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; border:1px solid #ff6b7c; color:#ff8e98; font:600 15px ui-monospace,Menlo,monospace; box-shadow:0 0 16px -4px #ff2b45; }
.lab-step h3 { margin:4px 0 8px!important; font:500 23px/1.2 var(--serif)!important; color:#fff4ef!important; }
.lab-step p,.lab-step li { color:#e2d6d4!important; }
.lab-step code,.lab-tip code,.lab-start code { padding:1px 6px; border-radius:5px; background:#2a161d; color:#ffd2d7; font:500 .9em ui-monospace,Menlo,monospace; }
.lab-code { margin:12px 0; border:1px solid #ff8e9844; border-radius:12px; overflow:hidden; background:#0a0709; }
.lab-code-bar { display:flex; justify-content:space-between; align-items:center; padding:6px 10px 6px 14px; border-bottom:1px solid #ff8e9822; font:600 10px ui-monospace,Menlo,monospace; letter-spacing:1.5px; text-transform:uppercase; color:#ff8e98; }
.lab-copy { padding:5px 12px; border:1px solid #ff8e9866; border-radius:20px; background:#1a0d12; color:#ffe3e6; font:500 11px var(--sans); cursor:pointer; }
.lab-copy:hover { background:#5c2632; }
.lab-code pre { margin:0; padding:14px 16px; overflow-x:auto; font:13px/1.6 ui-monospace,Menlo,monospace; color:#f3e6e4; white-space:pre; }
.lab-code pre code { padding:0; background:none; color:inherit; font:inherit; }
.lab-tip { padding:12px 16px; border-left:3px solid #e8c27a; border-radius:0 10px 10px 0; background:#1a130c; color:#f2e4cc!important; }
.lab-tip strong { margin-right:6px; color:#e8c27a; font:600 10px ui-monospace,Menlo,monospace; letter-spacing:2px; text-transform:uppercase; }
.lab-checks { list-style:none; padding:0; display:grid; gap:8px; }
.lab-checks li { position:relative; padding:12px 16px 12px 48px; border:1px solid #7ed3a144; border-radius:12px; background:#0f1a14; color:#e6f4ec!important; }
.lab-checks li::before { content:'✓'; position:absolute; left:16px; top:11px; width:22px; height:22px; display:grid; place-items:center; border-radius:6px; background:#13281d; border:1px solid #7ed3a188; color:#c8f5da; font-size:12px; font-weight:700; }
.lab-cleanup { padding:14px 18px; border:1px dashed #ab586266; border-radius:12px; }
.lab-interview { margin:34px 0 20px; padding:24px 26px; border:1px solid #e8c27a66; border-radius:18px; background:radial-gradient(ellipse at 100% 0%,#e8c27a1f,transparent 55%),#140f0b; }
.lab-interview-kicker { margin:0!important; font:600 10px ui-monospace,Menlo,monospace!important; letter-spacing:2.5px; text-transform:uppercase; color:#e8c27a!important; }
.lab-interview h2 { margin-top:6px!important; }
.lab-source { font-size:13px!important; color:#bca9ab!important; }
@media (max-width:700px) {
 .lab-start { grid-template-columns:1fr; }
 .lab-step { padding:18px 16px 16px 16px; }
 .lab-step::before { position:static; margin-bottom:10px; }
}
.world-project > a.card-walk { display:block; margin-top:10px; }
.lab-page .interior-hero > .text-link { margin-bottom:14px; display:inline-block; }

/* Walkthrough intro notes and interview highlight */
.lab-why { margin:8px 0 14px; padding:20px 24px; border:1px solid #ab586255; border-radius:16px; background:linear-gradient(165deg,#1d1117,#100b0e); }
.lab-why p { margin:6px 0 0; }
.lab-why-kicker,.lab-star .lab-why-kicker { margin:0!important; font:600 10px/1.4 ui-monospace,Menlo,monospace!important; letter-spacing:2.5px; text-transform:uppercase; color:#ff8e98!important; }
.lab-star { margin:8px 0 14px; padding:20px 24px; border:1px solid #e8c27a88; border-radius:16px; background:radial-gradient(ellipse at 100% 0%,#e8c27a24,transparent 55%),#160f0b; box-shadow:0 0 40px -18px #e8c27a; }
.lab-star .lab-why-kicker { color:#e8c27a!important; }
.lab-star p { margin:6px 0 0; color:#f2e4cc!important; }
.lab-adjust { padding:14px 18px; border-left:3px solid #ff6b7c; border-radius:0 12px 12px 0; background:#1a0d12; }
.lab-adjust strong { color:#fff4ef; }
.interview-star { display:inline-block; margin:0 0 12px; padding:6px 12px; border:1px solid #e8c27a88; border-radius:20px; background:#211709; color:#f6dfa8!important; font:600 11px/1.3 ui-monospace,Menlo,monospace; letter-spacing:1px; }
.interview-star.small { font-size:9.5px; padding:4px 10px; margin-bottom:10px; }
.world-project.is-star { border-color:#e8c27a77!important; }

/* Practice scenario (risk assessment walkthrough) */
.lab-scenario { margin:26px 0 10px; padding:26px 28px; border:1px solid #e8c27a66; border-radius:18px; background:radial-gradient(ellipse at 100% 0%,#e8c27a1a,transparent 55%),#140f0c; }
.lab-scenario h2 { margin-top:6px!important; }
.lab-scenario .lab-why-kicker { color:#e8c27a!important; }
.scenario-grid { display:grid; grid-template-columns:1fr 1.25fr; gap:22px; margin-top:12px; }
.scenario-grid h3 { margin:0 0 8px!important; font:500 21px/1.2 var(--serif)!important; color:#fff4ef!important; }
.scenario-notes li { margin-bottom:8px; }
.lab-scenario code { padding:1px 6px; border-radius:5px; background:#2a161d; color:#ffd2d7; font:500 .9em ui-monospace,Menlo,monospace; }
.scenario-downloads { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-top:18px; padding-top:18px; border-top:1px solid #e8c27a33; }
.scenario-downloads p { flex-basis:100%; margin:0; font-size:13px; color:#c8bab8; }
.cyber-world main a.lab-download { padding:10px 18px; border:1px solid #e8c27a; border-radius:30px; background:#211709; color:#ffe6b8; font:500 13px var(--sans); text-decoration:none; }
.lab-download:hover { background:#3a2a14; }
.scenario-key { margin-top:18px; border:1px dashed #e8c27a66; border-radius:14px; }
.scenario-key summary { padding:14px 18px; cursor:pointer; color:#ffe6b8; font-weight:600; }
.scenario-key-body { padding:0 18px 16px; overflow-x:auto; }
.scenario-key table { width:100%; border-collapse:collapse; font-size:14px; }
.scenario-key th,.scenario-key td { padding:8px 10px; border-bottom:1px solid #e8c27a22; text-align:left; vertical-align:top; color:#efe2d6; }
.scenario-key th { color:#e8c27a; font:600 11px ui-monospace,Menlo,monospace; letter-spacing:1px; text-transform:uppercase; }
@media (max-width:760px) { .scenario-grid { grid-template-columns:1fr; } .lab-scenario { padding:20px 18px; } }
.portfolio-nudge { margin:0 0 34px; }

/* Phones: shorter pages. Hide decorative extras on Contact; compact Keep exploring tiles. */
@media (max-width:600px) {
 .room-contact .contact-butterfly,.room-contact .contact-story::after,.room-contact .contact-story::before { display:none!important; }
 .room-next { margin-top:40px; }
 .room-next .studio-destinations { grid-template-columns:1fr; gap:6px; }
 .room-next .studio-destination { min-height:118px; }
 .room-next .studio-destination p { display:none; }
 .room-next .studio-destination h2 { font-size:34px; margin-bottom:2px; }
 .room-next .studio-destination-copy { padding:14px 16px; }
}

/* Paths in Tech: Meet the Teams photo cards, quiz, and path folders. */
.room-careers .field-guide { display:block; }
.team-explainer { margin-bottom:54px; }
.team-explainer-head h2, .paths-heading { margin:4px 0 8px; font:400 clamp(44px,4.6vw,60px)/1 "Great Vibes",cursive; color:#ff8e98; }
.team-explainer-head p:last-child { color:#c8bab8; max-width:680px; margin:0 0 26px; }
.team-posters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.team-poster { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:flex-end; min-height:420px; padding:24px; border:1px solid #ab586244; border-radius:18px; box-shadow:0 30px 60px -30px #000; transition:transform .35s,box-shadow .35s; }
.team-poster img { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; filter:saturate(.9) brightness(.75); transition:transform .8s; }
.team-poster::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,transparent 12%,#0b070acc 52%,#0b070a 90%); }
.team-poster::after { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:var(--c); box-shadow:0 0 22px 2px var(--c); }
.team-poster:hover { transform:translateY(-5px); box-shadow:0 30px 60px -26px var(--c); }
.team-poster:hover img { transform:scale(1.05); }
.team-poster-n { margin:0; font:600 11px ui-monospace,Menlo,monospace; letter-spacing:2px; color:var(--c); }
.team-poster h3 { margin:2px 0 8px; font:400 54px/1 "Great Vibes",cursive; color:#fff4ef; text-shadow:0 0 24px var(--c); }
.team-poster p { margin:0 0 12px; color:#e6d8d4; font-size:14.5px; line-height:1.55; }
.team-poster ul { margin:0 0 14px; padding:0; list-style:none; display:grid; gap:4px; color:#c8bab8; font-size:13px; }
.team-poster li::before { content:"✦ "; color:var(--c); }
.room-careers .team-jump { color:#ff8e98; font:600 11px ui-monospace,Menlo,monospace; letter-spacing:1.2px; text-transform:uppercase; text-decoration:none; }
.room-careers .team-jump:hover { text-decoration:underline; }

.team-quiz { margin-top:18px; border:1px solid #ff8e9855; border-radius:30px; background:linear-gradient(90deg,#2a1420,#0e0a0d); }
.team-quiz[open] { border-radius:20px; padding-bottom:22px; }
.team-quiz summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 22px; cursor:pointer; list-style:none; }
.team-quiz summary::-webkit-details-marker { display:none; }
.team-quiz summary strong { display:block; font:500 20px var(--serif); color:#fff4ef; }
.team-quiz summary small { color:#c8bab8; font-size:14px; }
.quiz-start { flex:none; padding:10px 18px; border:1px solid #ff8e98; border-radius:30px; background:#ff4d6233; color:#fff4ef; font:600 12px ui-monospace,Menlo,monospace; letter-spacing:1px; text-transform:uppercase; }
.team-quiz[open] .quiz-start { display:none; }
.quiz-q, .quiz-result { margin:0 22px; }
.quiz-q { border:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.quiz-q legend { width:100%; margin-bottom:10px; color:#f6eeea; font:500 17px/1.4 var(--serif); }
.quiz-n { margin-right:8px; color:#ff8e98; font:600 11px ui-monospace,Menlo,monospace; letter-spacing:1px; }
.quiz-a, .quiz-retry { padding:9px 14px; border:1px solid #ff8e9855; border-radius:30px; background:#140c11; color:#f6eeea; font:inherit; font-size:14px; cursor:pointer; text-align:left; transition:background .2s,border-color .2s; }
.quiz-a:hover, .quiz-a:focus-visible, .quiz-retry:hover { border-color:#ff8e98; background:#2a1420; }
.quiz-result { animation:quiz-pop .45s ease-out; }
.quiz-result p { margin:0 0 12px; color:#e6d8d4; }
.quiz-match { font:600 12px ui-monospace,Menlo,monospace; letter-spacing:1.2px; text-transform:uppercase; color:#ff8e98 !important; }
.quiz-match strong { color:#fff4ef; }
.quiz-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
@keyframes quiz-pop { from { opacity:0; transform:scale(.97); } to { opacity:1; transform:none; } }

.room-careers .field-guide-index.path-folders { display:block; border:0; margin-bottom:34px; }
.path-folder { border-top:1px solid #ab586233; scroll-margin-top:90px; }
.path-folder:last-child { border-bottom:1px solid #ab586233; }
.path-folder summary { display:flex; align-items:center; gap:16px; padding:20px 0; cursor:pointer; list-style:none; }
.path-folder summary::-webkit-details-marker { display:none; }
.path-folder summary h3 { margin:0; font:400 clamp(32px,3vw,42px)/1.1 "Great Vibes",cursive; color:#ff8e98; }
.path-folder-dot { flex:none; width:9px; height:9px; border-radius:50%; background:var(--c); box-shadow:0 0 10px var(--c); }
.path-folder-count { flex:none; padding:5px 11px; border:1px solid #ff8e9866; border-radius:20px; font:600 11px ui-monospace,Menlo,monospace; color:#f6eeea; }
.path-folder-x { margin-left:auto; position:relative; width:16px; height:16px; flex:none; }
.path-folder-x::before, .path-folder-x::after { content:""; position:absolute; left:0; right:0; top:7px; height:2px; background:#ff8e98; transition:transform .3s; }
.path-folder-x::after { transform:rotate(90deg); }
.path-folder[open] .path-folder-x::before { transform:rotate(45deg); }
.path-folder[open] .path-folder-x::after { transform:rotate(135deg); }
.path-folder.is-match summary h3 { text-shadow:0 0 22px var(--c); }
.path-folder-desc { margin:-6px 0 14px 25px; color:#c8bab8; font-size:14.5px; max-width:75ch; }
.path-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding-bottom:24px; }
.room-careers .field-guide-index button.path-card { position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:0; padding:18px; border:1px solid #ab586244; border-radius:14px; background:linear-gradient(165deg,#1b1016,#0d0a0e); color:#f6eeea; text-align:left; cursor:pointer; transition:transform .3s,box-shadow .3s,border-color .3s; }
.room-careers .field-guide-index button.path-card:hover { transform:translateY(-4px); padding-left:18px; background:linear-gradient(165deg,#24131b,#120c10); border-color:#ff8e9888; box-shadow:0 18px 34px -18px #000; }
.room-careers .field-guide-index button.path-card[aria-pressed="true"] { border-color:#ff8e98; box-shadow:0 0 0 1px #ff8e98,0 0 30px -10px #ff4d62; }
.path-icon { position:absolute; top:14px; right:14px; width:34px; height:34px; padding:7px; border-radius:50%; fill:none; stroke:#ff8e98; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; background:#0c080b; box-shadow:0 0 0 1px #ff8e9833; }
.path-fit { max-width:calc(100% - 40px); font:600 10px/1.35 ui-monospace,Menlo,monospace; letter-spacing:1.3px; text-transform:uppercase; color:#ff8e98; }
.path-name { font:500 21px/1.15 var(--serif); color:#fff4ef; }
.path-desc { flex:1; color:#c8bab8; font-size:13.5px; line-height:1.5; }
.path-go { margin-top:4px; font:600 11px ui-monospace,Menlo,monospace; letter-spacing:1px; color:#ff8e98; }
.room-careers .path-folders, .path-cards, .team-posters { min-width:0; max-width:100%; }

@media (max-width:900px) {
 .team-posters { grid-template-columns:1fr; }
 .team-poster { min-height:300px; }
 .path-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
 .team-posters { grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:84%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px; }
 .team-poster { scroll-snap-align:start; min-height:380px; }
 .team-quiz summary { flex-wrap:wrap; }
 .path-cards { grid-template-columns:1fr; }
 .path-folder summary { gap:10px; }
 .path-desc { display:none; }
}
@media (prefers-reduced-motion:reduce) { .team-poster,.team-poster img,.quiz-result,.room-careers .field-guide-index button.path-card { transition:none; animation:none; } }
.room-careers .field-guide-content { padding:26px 28px; border:1px solid #ab586255; border-radius:18px; background:linear-gradient(165deg,#1a1015,#0e0a0d); scroll-margin-top:100px; }
.room-careers .career-panel { scroll-margin-top:100px; }
.room-careers .career-panel h2 { font:400 clamp(40px,4.5vw,56px)/1.05 "Great Vibes",cursive!important; color:#ff8e98; margin:2px 0 8px; }
@media (max-width:600px) { .room-careers .field-guide-content { padding:20px 18px; } }
.role-chips { list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin:6px 0 0; padding:0; }
.role-chips li { padding:7px 14px; border:1px solid #ab586277; border-radius:30px; background:#1a0d12; color:#f1e4e2; font-size:13.5px; }
.role-source { margin:8px 0 0; font-size:12px; color:#a8969a; }
