:root{--bg:#0b0d10;--panel:#12161b;--panel2:#171c22;--text:#f1f0ec;--muted:#a5a8ac;--gold:#c9a86a;--line:#2a2f35;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}.site-header{height:86px;max-width:var(--max);padding:0 28px;margin:auto;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5}.wordmark{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:.09em;font-size:16px;line-height:1.1}.wordmark span{color:var(--gold)}.wordmark small{display:block;color:#aeb0b1;font-size:9px;letter-spacing:.32em;margin-top:7px}.site-header nav{display:flex;gap:27px;align-items:center;font-size:12px;color:#c7c8c8}.site-header nav a:hover,.text-link:hover{color:var(--gold)}.nav-contact{border:1px solid #66583e;padding:10px 17px;color:var(--gold)}.menu-toggle{display:none;background:none;color:white;border:0;font-size:25px}.hero{min-height:650px;max-width:var(--max);margin:auto;padding:90px 28px 70px;position:relative;display:flex;align-items:center;overflow:hidden}.hero-glow{position:absolute;width:700px;height:600px;right:0;top:10px;background:radial-gradient(ellipse,rgba(173,132,66,.16),transparent 67%);pointer-events:none}.hero-copy{position:relative;z-index:2;width:57%}.eyebrow{font-size:10px;letter-spacing:.24em;color:var(--gold);font-weight:700;margin:0 0 22px}.hero h1{font:800 clamp(54px,8vw,100px)/.94 Manrope,sans-serif;letter-spacing:-.065em;margin:0}.gold{color:var(--gold)}.aka{font:500 22px Manrope,sans-serif;color:#aaa;margin:16px 0}.aka strong{color:var(--gold);font-weight:600}.hero-lead{font-size:17px;color:#c2c4c5;line-height:1.7;margin:26px 0 32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:22px;padding:14px 20px;font-size:12px;font-weight:700;letter-spacing:.04em}.btn-gold{background:var(--gold);color:#101113}.btn-gold:hover{background:#e0c18a}.btn-ghost{border:1px solid #4a4f54;color:#eee}.hero-meta{display:flex;align-items:center;gap:14px;margin-top:65px;font-size:9px;letter-spacing:.14em;color:#92979b}.hero-meta i{width:4px;height:4px;border-radius:50%;background:var(--gold)}.portrait-wrap{position:absolute;right:5%;bottom:0;width:42%;height:94%;display:flex;align-items:flex-end;justify-content:center}.portrait{position:relative;z-index:1;height:100%;max-width:100%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 15px 40px #000)}.portrait-ring{position:absolute;width:78%;aspect-ratio:1;border:1px solid rgba(201,168,106,.28);border-radius:50%;bottom:8%;right:8%;box-shadow:0 0 90px rgba(201,168,106,.08)}.hero-index{position:absolute;right:28px;bottom:26px;color:#aaa;font-size:10px;letter-spacing:.15em}.hero-index span{color:var(--gold)}.section-pad{padding:110px max(28px,calc((100% - var(--max))/2 + 28px))}.intro{background:#11151a;text-align:center}.intro h2,.story h2,.consulting h2,.chapter h2,.contact h2{font:700 clamp(36px,5vw,58px)/1.12 Manrope,sans-serif;letter-spacing:-.05em;margin:0}.intro h2 em,.story h2 em,.consulting h2 em,.chapter h2 em{color:var(--gold);font-style:normal}.intro-text{max-width:650px;margin:27px auto 0;color:var(--muted);font-size:15px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding-top:34px;padding-bottom:110px}.feature-card{min-height:350px;background:linear-gradient(145deg,#1b2229,#101317);border:1px solid #252c33;padding:27px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.feature-card:after{content:'';position:absolute;width:240px;height:240px;border:1px solid rgba(201,168,106,.15);border-radius:50%;right:-100px;top:-100px;box-shadow:0 0 0 25px rgba(201,168,106,.025),0 0 0 50px rgba(201,168,106,.02)}.tech-card{background:linear-gradient(145deg,#20242a,#111418)}.studio-card{background:linear-gradient(145deg,#20201d,#111317)}.card-no{font-size:10px;letter-spacing:.18em;color:#888}.feature-card .eyebrow{margin-bottom:12px}.feature-card h3{font:700 30px Manrope,sans-serif;margin:0 0 12px}.feature-card p:not(.eyebrow){font-size:13px;color:#aeb2b5;max-width:330px}.text-link{display:inline-block;margin-top:14px;color:var(--gold);font-size:12px;font-weight:700}.story{background:#11151a}.story-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}.story-intro{max-width:380px;color:var(--muted);font-size:14px}.timeline{max-width:850px;margin-left:auto;border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:25px;padding:27px 0;border-bottom:1px solid var(--line)}.timeline-item>span{font:700 13px Manrope;color:var(--gold);letter-spacing:.05em}.timeline-item h3{font:600 19px Manrope;margin:0 0 7px}.timeline-item p{color:var(--muted);font-size:13px;margin:0;max-width:650px}.timeline-item.current{background:linear-gradient(90deg,rgba(201,168,106,.08),transparent);padding-left:16px}.source-note{font-size:10px;color:#777;margin:25px 0 0 175px}.consulting{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.consulting-image{height:500px;overflow:hidden;background:#171c22}.consulting-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.75)}.consulting-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;margin:25px 0}.consulting ul{padding-left:18px;color:#d5d5d1;font-size:13px;line-height:2.2;margin-bottom:30px}.consulting li::marker{color:var(--gold)}.new-chapter{background:#12161b;display:grid;grid-template-columns:.7fr 1.3fr;gap:60px;align-items:center}.chapter-mark{font:800 clamp(45px,7vw,82px)/.9 Manrope,sans-serif;color:#30363c;letter-spacing:-.08em}.chapter-mark span{font-size:.47em;color:var(--gold);letter-spacing:.05em}.chapter-copy>p:not(.eyebrow){max-width:680px;color:#b5b9bd;font-size:14px}.chapter-copy blockquote{margin:30px 0 0;padding:4px 0 4px 22px;border-left:2px solid var(--gold);font:600 18px/1.5 Manrope;color:#eee;max-width:650px}.contact{text-align:center;background:radial-gradient(ellipse at center,#1b1c1b,#0b0d10 65%)}.contact h2{font-size:clamp(42px,6vw,70px)}.contact>p:not(.eyebrow){color:var(--muted);font-size:14px;margin:22px 0 28px}.contact-note{font-size:10px!important;color:#777!important;margin-top:18px!important}footer{border-top:1px solid var(--line);max-width:var(--max);margin:auto;padding:30px 28px;display:flex;justify-content:space-between;align-items:center;color:#85898d;font-size:11px}footer>a:last-child{color:var(--gold)}
@media(max-width:800px){.site-header{height:72px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:#11151a;padding:20px 28px;flex-direction:column;align-items:stretch;gap:18px;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.hero{min-height:780px;padding-top:65px;align-items:flex-start}.hero-copy{width:100%}.hero h1{font-size:clamp(50px,12vw,82px)}.hero-lead{font-size:15px}.portrait-wrap{width:72%;height:48%;right:2%;bottom:0;opacity:.88}.hero-meta{margin-top:35px;max-width:250px;flex-wrap:wrap}.hero-index{z-index:3}.section-pad{padding-top:78px;padding-bottom:78px}.cards{grid-template-columns:1fr;padding-top:20px}.feature-card{min-height:280px}.story-head{display:block}.story-intro{margin-top:25px}.timeline-item{grid-template-columns:100px 1fr;gap:15px}.source-note{margin-left:115px}.consulting{grid-template-columns:1fr;gap:35px}.consulting-image{height:330px}.new-chapter{grid-template-columns:1fr;gap:28px}.chapter-mark{font-size:60px}footer{gap:20px;flex-wrap:wrap}}@media(max-width:420px){.hero{min-height:740px}.hero-meta{font-size:8px}.timeline-item{grid-template-columns:82px 1fr}.source-note{margin-left:0}.hero-actions .btn{padding:12px 15px}}

/* Selected project image gallery */
.project-gallery { margin: 2rem 0 1rem; }
.project-gallery figure { margin: 0; overflow: hidden; border: 1px solid rgba(212,174,101,.35); border-radius: 12px; background: #111318; }
.project-gallery img { display: block; width: 100%; max-height: 520px; object-fit: cover; }
.project-gallery figcaption { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: baseline; padding: 1rem 1.2rem; color: #d8d8d8; }
.project-gallery figcaption strong { color: #d5b36c; letter-spacing: .12em; }
.project-gallery figcaption span { color: #aaa; font-size: .9rem; }

.project-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; }
.project-gallery figure { min-width: 0; }
.project-gallery img { width: 100%; height: 260px; object-fit: cover; }
.project-gallery figure:first-child { grid-column: 1 / -1; }
.project-gallery figure:first-child img { height: 340px; }

.history-cover { margin: 1.5rem 0 2rem 5rem; max-width: 420px; overflow: hidden; border: 1px solid rgba(212,174,101,.35); border-radius: 12px; background: #111318; }
.history-cover img { display: block; width: 100%; height: auto; }
.history-cover figcaption { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1rem; color: #d5b36c; letter-spacing: .04em; }
.history-cover figcaption span { color: #aaa; font-size: .85rem; }
@media (max-width: 640px) { .history-cover { margin-left: 0; } }

.history-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1.5rem 0 2rem 5rem; }
.history-gallery figure { margin: 0; overflow: hidden; border: 1px solid rgba(212,174,101,.35); border-radius: 12px; background: #111318; }
.history-gallery img { display: block; width: 100%; height: 230px; object-fit: cover; }
.history-gallery figure.wide { grid-column: 1 / -1; }
.history-gallery figure.wide img { height: auto; max-height: 520px; object-fit: contain; background: #08090b; }
.history-gallery figcaption { display: flex; flex-direction: column; gap: .35rem; padding: .9rem 1rem; color: #d5b36c; letter-spacing: .04em; }
.history-gallery figcaption span { color: #aaa; font-size: .85rem; letter-spacing: 0; }
@media (max-width: 640px) { .history-gallery { margin-left: 0; grid-template-columns: 1fr; } .history-gallery figure.wide { grid-column: auto; } }

/* Updated photo presentation: landscape frames, full image visible */
.consulting { grid-template-columns: minmax(0, 1fr); }
.consulting-copy { width: 100%; max-width: 100%; }
.project-gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}
.project-gallery figure:first-child { grid-column: auto; }
.project-gallery img,
.project-gallery figure:first-child img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #08090b;
}
.history-gallery {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.history-gallery img,
.history-gallery figure.wide img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-height: none;
  object-fit: contain;
  background: #08090b;
}
@media (max-width: 640px) {
  .project-gallery,
  .history-gallery { grid-template-columns: 1fr; }
}


/* Sticky navigation: keep the main menu available while scrolling */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  max-width: none;
  padding-left: max(28px, calc((100% - var(--max) + 56px) / 2));
  padding-right: max(28px, calc((100% - var(--max) + 56px) / 2));
  background: rgba(11, 13, 16, 0.94);
  border-bottom: 1px solid rgba(201, 168, 106, 0.16);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
@media (max-width: 800px) {
  .site-header {
    padding-left: 22px;
    padding-right: 22px;
  }
}


/* Spotify discography */
.spotify-section { border-top: 1px solid rgba(212,174,101,.2); }
.spotify-head { max-width: 760px; margin: 0 auto 3rem; text-align: center; }
.spotify-head h2 { margin: .5rem 0 1rem; }
.spotify-head p:last-child { color: #aaa; line-height: 1.7; }
.spotify-year { max-width: var(--max); margin: 0 auto 2.5rem; }
.spotify-year > h3 { color: #d5b36c; font: 700 1.15rem Manrope, sans-serif; letter-spacing: .14em; margin: 0 0 1rem; padding-bottom: .65rem; border-bottom: 1px solid rgba(212,174,101,.22); }
.spotify-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.spotify-item { min-width: 0; padding: 1rem; border: 1px solid rgba(212,174,101,.22); border-radius: 14px; background: rgba(255,255,255,.025); }
.spotify-label { display: flex; flex-direction: column; gap: .25rem; margin: 0 0 .8rem; }
.spotify-label strong { color: #e2c17c; font-size: .88rem; letter-spacing: .08em; }
.spotify-label span { color: #aaa; font-size: .84rem; }
.spotify-item iframe { display: block; border: 0; border-radius: 12px; }
@media (max-width: 720px) { .spotify-grid { grid-template-columns: 1fr; } }
