:root{
  --bg:#0d1011;
  --bg-soft:#121617;
  --panel:#15191a;
  --text:#f2eee6;
  --muted:#a9a49a;
  --line:#262c2e;
  --amber:#f0a43b;
  --amber-soft:#ffd58f;
  --max:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 22% 0%,rgba(240,164,59,.055),transparent 28rem),
    linear-gradient(180deg,#0d1011 0%,#0b0e0f 100%);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
p,h1,h2{margin-top:0}

.site-header{
  width:min(calc(100% - 48px),var(--max));
  min-height:84px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
  border-bottom:1px solid var(--line);
}

.brand{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.18em;
  color:#f5f0e8;
}

nav{
  display:flex;
  gap:30px;
  color:#b9b3a8;
  font-size:.9rem;
}

nav a,.site-footer a{transition:color .18s ease}
nav a:hover,.site-footer a:hover{color:var(--amber-soft)}

.brand-stage{
  width:100%;
  min-height:420px;
  margin:0;
  display:grid;
  place-items:center;
  padding:64px 28px 58px;
  background:
    radial-gradient(circle at 36% 24%,rgba(249,221,164,.96),transparent 32%),
    linear-gradient(112deg,#e5c68b 0%,#bd945c 45%,#805d39 100%);
  border-bottom:1px solid rgba(255,213,143,.2);
  box-shadow:inset 0 -45px 90px rgba(45,29,13,.08);
  overflow:hidden;
}

.brand-stage img{
  display:block;
  width:min(720px,82vw);
  height:auto;
  mix-blend-mode:multiply;
  filter:contrast(1.06) saturate(1.02);
}

.section-shell{
  width:min(calc(100% - 48px),var(--max));
  margin:0 auto;
}

.intro{
  padding:96px 0 108px;
  max-width:900px;
  margin-left:max(24px,calc((100vw - var(--max))/2));
  margin-right:max(24px,calc((100vw - var(--max))/2));
}

.eyebrow{
  margin-bottom:18px;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.75rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:var(--amber);
}

h1{
  max-width:780px;
  margin-bottom:26px;
  font-size:clamp(3rem,6.4vw,6.6rem);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:650;
}

.intro-copy{
  max-width:690px;
  margin-bottom:0;
  color:#c9c4ba;
  font-size:clamp(1.05rem,1.6vw,1.28rem);
}

.section-rule{
  height:1px;
  background:var(--line);
}

.project-section,
.about-section{
  padding-bottom:118px;
}

.project-grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:72px;
  align-items:center;
  padding-top:92px;
}

.project-divider{
  height:1px;
  margin-top:92px;
  background:linear-gradient(90deg,transparent,var(--line) 12%,var(--line) 88%,transparent);
}

.project-copy h2,
.about-heading h2{
  margin-bottom:10px;
  font-size:clamp(2.8rem,5vw,5rem);
  line-height:.98;
  letter-spacing:-.048em;
  font-weight:650;
}

.project-subtitle{
  margin-bottom:26px;
  color:var(--amber-soft);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.9rem;
}

.project-description{
  max-width:520px;
  margin-bottom:20px;
  color:#c3beb4;
  font-size:1.04rem;
}

.quiet-note{
  margin-bottom:0;
  color:#777a77;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.8rem;
}

.walk-scene{
  position:relative;
  min-height:390px;
  border:1px solid var(--line);
  background:
    linear-gradient(180deg,#1b2224 0%,#161b1d 54%,#413c31 54%,#2e2c27 100%);
  overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.23);
}

.sky-glow{
  position:absolute;
  top:34px;
  right:52px;
  width:150px;
  height:150px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(244,191,101,.18),rgba(244,191,101,.035) 50%,transparent 72%);
}

.horizon{
  position:absolute;
  left:-8%;
  right:-8%;
  height:80px;
  bottom:46%;
  background:#20282a;
  transform:skewY(-2deg);
  opacity:.8;
}

.horizon-two{
  bottom:41%;
  background:#27302f;
  transform:skewY(2deg);
  opacity:.55;
}

.road{
  position:absolute;
  left:0;
  right:0;
  bottom:25%;
  height:5px;
  background:#1a1d1e;
}

.walker{
  position:absolute;
  left:47%;
  bottom:calc(25% + 5px);
  width:13px;
  height:27px;
  border-radius:8px 8px 4px 4px;
  background:var(--amber);
  box-shadow:0 0 24px rgba(240,164,59,.22);
}

.walker::before{
  content:"";
  position:absolute;
  left:2px;
  top:-9px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--amber-soft);
}

.shell-scene{
  min-height:390px;
  display:grid;
  place-items:center;
  padding:48px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 72% 18%,rgba(255,240,202,.18),transparent 28%),
    linear-gradient(145deg,#b99b70 0%,#8c7254 100%);
  box-shadow:0 30px 70px rgba(0,0,0,.23);
  overflow:hidden;
}

.shell-board{
  width:min(330px,78%);
  aspect-ratio:1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  padding:16px;
  border:1px solid rgba(40,31,24,.28);
  background:rgba(224,201,159,.52);
  box-shadow:0 18px 42px rgba(40,28,18,.2);
  transform:rotate(-2deg);
}

.tile{
  position:relative;
  display:block;
  border-radius:8px;
  background:rgba(248,226,183,.56);
  border:1px solid rgba(75,55,38,.12);
}

.tile::after{
  content:"";
  position:absolute;
  inset:24%;
  border-radius:50% 42% 50% 44%;
  opacity:.9;
  box-shadow:inset -5px -5px 0 rgba(0,0,0,.08);
}

.t2::after,.t7::after,.t13::after{background:#b04f3f}
.t4::after,.t10::after{background:#315d74}
.t6::after,.t15::after{background:#d2a43b}
.t9::after{background:#8b6ca0}
.t12::after{background:#ede6d6;border:2px solid rgba(35,35,35,.4)}
.t14::after{background:#313334}

.about-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:88px;
  padding-top:92px;
  align-items:start;
}

.about-heading h2{max-width:420px}

.name-story{
  max-width:680px;
  color:#c4bfb5;
  font-size:1.03rem;
}

.name-story p{margin-bottom:22px}
.name-story strong{color:var(--text)}

.word{
  margin-bottom:28px!important;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}

.word strong{
  display:block;
  margin-bottom:6px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.55rem,3vw,2.4rem);
  font-weight:500;
  letter-spacing:-.02em;
  color:var(--amber-soft);
}

.word span{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.8rem;
  color:#8f918d;
}

.punchline{
  margin-top:34px;
  margin-bottom:0!important;
  color:var(--amber-soft);
}

.site-footer{
  width:min(calc(100% - 48px),var(--max));
  margin:0 auto;
  padding:36px 0 48px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:26px;
  align-items:center;
  color:#7e827f;
  font-size:.8rem;
}

.site-footer div{
  display:flex;
  gap:14px;
  align-items:center;
}

.site-footer strong{
  color:#e9e4dc;
  font-size:.76rem;
  letter-spacing:.13em;
}

@media(max-width:860px){
  .site-header{width:min(calc(100% - 36px),var(--max));padding:18px 0;align-items:flex-start}
  nav{gap:18px;flex-wrap:wrap;justify-content:flex-end}
  .brand-stage{min-height:330px;padding:48px 20px}
  .section-shell{width:min(calc(100% - 36px),var(--max))}
  .intro{margin-left:18px;margin-right:18px;padding:74px 0 82px}
  .project-grid,.about-grid{grid-template-columns:1fr;gap:46px;padding-top:72px}
  .project-divider{margin-top:72px}
  .walk-scene,.shell-scene{min-height:320px}
  .project-section,.about-section{padding-bottom:88px}
  .site-footer{width:min(calc(100% - 36px),var(--max));grid-template-columns:1fr;gap:10px}
}

@media(max-width:560px){
  .site-header{display:block}
  nav{margin-top:12px;justify-content:flex-start}
  .brand-stage{min-height:250px;padding:34px 14px 30px}
  .brand-stage img{width:95vw}
  h1{font-size:clamp(2.7rem,14vw,4.2rem)}
  .intro{padding:62px 0 68px}
  .project-grid,.about-grid{padding-top:58px}
  .project-divider{margin-top:58px}
  .walk-scene,.shell-scene{min-height:260px}
  .shell-scene{padding:28px}
  .shell-board{width:min(280px,90%);gap:6px;padding:12px}
  .project-section,.about-section{padding-bottom:72px}
  .site-footer div{display:block}
  .site-footer div span{display:block;margin-top:4px}
}


/* Project links */
.project-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:6px;
  color:var(--amber-soft);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.82rem;
  letter-spacing:.03em;
  transition:color .18s ease,transform .18s ease;
}
.project-link:hover,.project-link:focus-visible{color:#fff1d5;transform:translateX(3px)}
.scene-link{display:block;transition:border-color .18s ease,transform .18s ease}
.scene-link:hover,.scene-link:focus-visible{border-color:rgba(255,213,143,.55);transform:translateY(-2px)}
a:focus-visible{outline:2px solid var(--amber-soft);outline-offset:4px}

/* Voy landing page */
.voy-page{
  --voy-paper:#f3ead5;
  --voy-ink:#312b24;
  --voy-muted:#736959;
  --voy-green:#66745b;
  --voy-rust:#9a5035;
  background:#efe5ce;
  color:var(--voy-ink);
}
.voy-page .site-header{
  border-bottom-color:rgba(49,43,36,.18);
}
.voy-page .brand{color:var(--voy-ink)}
.voy-page nav{color:#675f52}
.voy-page nav a:hover,.voy-page .site-footer a:hover{color:var(--voy-rust)}
.voy-hero{
  position:relative;
  min-height:670px;
  display:grid;
  align-items:end;
  overflow:hidden;
  background:
    radial-gradient(circle at 76% 17%,rgba(255,250,222,.96) 0 5%,transparent 18%),
    linear-gradient(180deg,#efe5c8 0%,#e7d8b3 42%,#aab18a 42%,#7e8b68 65%,#cbb88d 65%,#d7c49a 100%);
  border-bottom:1px solid rgba(49,43,36,.15);
}
.voy-hills,.voy-hills::before,.voy-hills::after{
  position:absolute;
  content:"";
  left:-8%;
  width:116%;
  height:210px;
  border-radius:50% 50% 0 0;
}
.voy-hills{bottom:31%;background:#9ca47c;transform:rotate(-2deg)}
.voy-hills::before{left:-4%;bottom:-72px;background:#84916c;transform:rotate(4deg)}
.voy-hills::after{left:12%;bottom:-128px;background:#6e7d5e;transform:rotate(-3deg)}
.voy-road{
  position:absolute;
  left:-4%;
  right:-4%;
  bottom:7%;
  height:138px;
  border-top:2px solid rgba(83,68,48,.2);
  background:linear-gradient(180deg,#d9c69b,#cbb487);
  transform:rotate(-1deg);
}
.voy-figure{
  position:absolute;
  left:66%;
  bottom:20%;
  width:28px;
  height:57px;
  border-radius:14px 14px 8px 8px;
  background:#b15c38;
  box-shadow:0 12px 0 -9px #332d27;
}
.voy-figure::before{
  content:"";
  position:absolute;
  left:4px;
  top:-18px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#e6b890;
}
.voy-figure::after{
  content:"";
  position:absolute;
  left:-6px;
  top:9px;
  width:17px;
  height:31px;
  border-radius:9px;
  background:#68775f;
}
.voy-hero-copy{
  position:relative;
  z-index:2;
  width:min(calc(100% - 48px),var(--max));
  margin:0 auto;
  padding:110px 0 92px;
}
.voy-kicker{
  margin:0 0 12px;
  color:var(--voy-rust);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.voy-title{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(6rem,18vw,14rem);
  font-weight:500;
  line-height:.72;
  letter-spacing:-.075em;
}
.voy-subtitle{
  margin:34px 0 0;
  color:#594f42;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:clamp(.9rem,1.5vw,1.08rem);
}
.voy-content{
  width:min(calc(100% - 48px),960px);
  margin:0 auto;
  padding:108px 0 126px;
}
.voy-lead{
  max-width:820px;
  margin:0 0 80px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4.4vw,4rem);
  line-height:1.08;
  letter-spacing:-.035em;
}
.voy-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin:0 0 92px;
  background:rgba(49,43,36,.16);
  border:1px solid rgba(49,43,36,.16);
}
.voy-principle{
  padding:34px 30px 38px;
  background:var(--voy-paper);
}
.voy-principle span{
  display:block;
  margin-bottom:13px;
  color:var(--voy-rust);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.voy-principle h2{margin-bottom:12px;font:500 1.65rem/1.08 Georgia,"Times New Roman",serif}
.voy-principle p{margin:0;color:var(--voy-muted)}
.voy-story{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:72px;
  padding-top:70px;
  border-top:1px solid rgba(49,43,36,.18);
}
.voy-story h2{font:500 clamp(2.4rem,5vw,4.8rem)/.96 Georgia,"Times New Roman",serif;letter-spacing:-.045em}
.voy-story-copy{color:#665d50;font-size:1.08rem}
.voy-story-copy strong{color:var(--voy-ink)}
.voy-quote{
  margin:42px 0 0;
  padding:24px 0 0;
  border-top:1px solid rgba(49,43,36,.16);
  color:var(--voy-rust);
  font:italic 1.35rem/1.5 Georgia,"Times New Roman",serif;
}
.voy-page .site-footer{
  color:#746b5f;
  border-top-color:rgba(49,43,36,.18);
}
.voy-page .site-footer strong{color:var(--voy-ink)}

@media(max-width:760px){
  .voy-hero{min-height:570px}
  .voy-hero-copy,.voy-content{width:min(calc(100% - 36px),960px)}
  .voy-principles{grid-template-columns:1fr}
  .voy-story{grid-template-columns:1fr;gap:28px}
  .voy-figure{left:74%;bottom:22%}
}


/* Cardback project preview */
.cardback-panel{
  min-height:390px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:14px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 42%,rgba(240,164,59,.11),transparent 38%),
    repeating-linear-gradient(135deg,#111516 0,#111516 18px,#151a1b 18px,#151a1b 36px);
  box-shadow:0 30px 70px rgba(0,0,0,.23),inset 0 0 0 10px #0d1011;
}
.cardback-panel img{
  display:block;
  width:min(58%,180px);
  height:auto;
  object-fit:contain;
}
.cardback-panel small{
  color:var(--amber);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.75rem;
  letter-spacing:.2em;
}
@media(max-width:860px){
  .cardback-panel{min-height:320px}
  .cardback-panel img{width:min(54%,165px)}
}
@media(max-width:560px){
  .cardback-panel{min-height:260px}
  .cardback-panel img{width:min(50%,145px)}
}


/* Mobile usability pass */
@media(max-width:760px){
  html,body{overflow-x:hidden}
  .site-header{gap:12px}
  .site-header nav{gap:4px 12px}
  .site-header nav a{min-height:44px;display:inline-flex;align-items:center}
  .brand{line-height:1.25}
  .project-grid,.about-grid{gap:34px}
  .cardback-panel{padding:22px 14px}
  .name-story,.project-description{overflow-wrap:anywhere}
  .site-footer a{overflow-wrap:anywhere}
}
@media(max-width:560px){
  .site-header{width:calc(100% - 28px)}
  .site-header nav{font-size:.82rem}
  .section-shell{width:calc(100% - 28px)}
  .intro{margin-inline:14px}
  .project-copy h2,.about-heading h2{font-size:clamp(2.35rem,13vw,3.4rem)}
  .word strong{font-size:clamp(1.25rem,7vw,1.75rem);overflow-wrap:anywhere}
  .cardback-panel img{width:140px!important;max-width:54%!important;height:auto!important}
  .site-footer{width:calc(100% - 28px)}
}
