@font-face { font-family: 'Space Grotesk'; src: url('assets/space-grotesk-var.woff2') format('woff2'); font-weight: 300 700; font-display: swap; }
@font-face { font-family: 'Space Mono'; src: url('assets/space-mono-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Space Mono'; src: url('assets/space-mono-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; }
a { color: inherit; }
button { background: none; border: 0; font: inherit; color: inherit; cursor: pointer; }
.rv { opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.6,.2,1); }
.rv-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .rv { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
}
.st { background: #ffffff; color: #000000; font-family: 'Space Grotesk', sans-serif; }
.st ::selection { background: #ff4d00; color: #fff; }
.st-frame { border: 2px solid #000; margin: 14px; min-height: calc(100vh - 28px); }
.st-bar { position: sticky; top: 0; z-index: 50; background: #fff; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 22px; border-bottom: 2px solid #000; }
.st-brand { display: flex; align-items: flex-end; gap: 8px; text-decoration: none;  font-family: 'Space Mono', monospace; font-weight: 700; font-size: 20px; }
.st-nav { display: flex; gap: 4px; }
.st-nav button, .st-nav a { font-family: 'Space Mono', monospace; font-size: 11.5px; letter-spacing: .12em; text-transform: uppercase; padding: 8px 10px; color: #000; text-decoration: none; background: none; border: 0; cursor: pointer; transition: background .12s, color .12s; }
.st-nav button:hover, .st-nav a:hover { background: #000; color: #fff; }
.st button:focus-visible, .st a:focus-visible { outline: 2px dashed #ff4d00; outline-offset: 2px; }
.st-btn { display: inline-block; background: #000; color: #fff; text-decoration: none; font-family: 'Space Mono', monospace; font-weight: 700; font-size: 12.5px; letter-spacing: .08em; padding: 14px 24px; border: 2px solid #000; box-shadow: 5px 5px 0 #ff4d00; transition: transform .15s, box-shadow .15s; }
.st-btn:hover { transform: translate(2px, 2px); box-shadow: 3px 3px 0 #ff4d00; }
.st-btn-s { padding: 10px 16px; font-size: 11px; box-shadow: 4px 4px 0 #ff4d00; }
.st-btn-a { background: #ff4d00; color: #000; box-shadow: 5px 5px 0 #000; }
.st-btn-a:hover { box-shadow: 3px 3px 0 #000; }
.st-btn-w { background: #fff; color: #000; box-shadow: 5px 5px 0 #000; }
.st-btn-w:hover { box-shadow: 3px 3px 0 #000; }
.st-hero { padding: 64px 22px 52px; border-bottom: 2px solid #000; }
.st-chips { display: flex; gap: 10px; flex-wrap: wrap; }
.st-chip { font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: .1em; border: 2px solid #000; padding: 6px 12px; background: #fff; }
.st-chip-o { background: #ff4d00; color: #000; }
.st-hero h1 { font-weight: 700; font-size: clamp(38px, 7vw, 92px); line-height: .98; letter-spacing: -0.03em; text-transform: uppercase; margin: 26px 0 36px; max-width: 1060px; }
.st-hero h1 em { font-style: normal; background: #ff4d00; color: #000; padding: 0 .14em; border: 2px solid #000; display: inline-block; }
.st-hero-b { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: start; }
.st-lede { font-size: 16px; line-height: 1.55; max-width: 420px; }
.st-ctas { display: flex; gap: 18px; margin-top: 30px; flex-wrap: wrap; }
.st-ctac { justify-content: center; }
.st-hero-p { max-width: 320px; margin: 0 auto; text-align: center; }
.st-hero-p a { display: inline-block; border-radius: 50%; }
.st-hero-p img { width: 280px; height: 280px; vertical-align: top; object-fit: cover; border-radius: 50%; border: 3px solid #000; display: block; transition: transform .15s; }
.st-hero-p:hover img { transform: translate(-2px, -2px); }
.st-hero-p figcaption { font-family: 'Space Mono', monospace; font-size: 10.5px; letter-spacing: .1em; padding: 12px 0 0; }
.st-sq { color: #ff4d00; }
.st-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 2px solid #000; }
.st-stat { padding: 24px 22px; border-left: 2px solid #000; }
.st-stat:first-child { border-left: 0; }
.st-stat b { font-family: 'Space Mono', monospace; font-size: 46px; display: block; line-height: 1; }
.st-stat b::after { content: ''; display: block; width: 28px; height: 4px; background: #ff4d00; margin-top: 10px; }
.st-stat span { font-size: 12.5px; display: block; margin-top: 10px; }
.st-sec { padding: 72px 22px 8px; scroll-margin-top: 66px; border-top: 2px solid #000; }
#about.st-sec, #newsletter.st-sec { border-top: 0; }
.st-sechead { display: flex; align-items: baseline; gap: 14px; background: #000; color: #fff; padding: 12px 16px; margin-bottom: 36px; }
.st-sechead span { font-family: 'Space Mono', monospace; font-size: 12px; color: #ff4d00; }
.st-sechead h2 { font-weight: 700; font-size: clamp(24px, 3.6vw, 40px); letter-spacing: -0.02em; text-transform: uppercase; }
.st-secline { font-family: 'Space Mono', monospace; font-size: 13px; margin: -16px 0 30px; }
.st-p { font-size: 15.5px; line-height: 1.6; margin-bottom: 16px; max-width: 560px; }
.st-about { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; }
.st-career { border: 2px solid #000; align-self: start; }
.st-career-h { background: #000; color: #fff; font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: .12em; padding: 10px 14px; }
.st-crow { display: flex; justify-content: space-between; gap: 14px; padding: 13px 14px; border-bottom: 2px solid #000; font-size: 13.5px; transition: background .12s; }
.st-crow:hover { background: #fff3ec; }
.st-crow:last-child { border-bottom: 0; }
.st-crow span { font-family: 'Space Mono', monospace; font-size: 11.5px; text-align: left; flex: 1; line-height: 1.5; }
.st-crow b { min-width: 150px; }
.st-talks, .st-svcs, .st-rooms, .st-books, .st-faqs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.st-books { grid-template-columns: repeat(3, 1fr); }
.st-card { border: 2px solid #000; padding: 22px; background: #fff; box-shadow: 6px 6px 0 #e8e4dc; transition: transform .15s, box-shadow .15s; }
.st-card:hover { transform: translate(-2px, -2px); box-shadow: 8px 8px 0 #ff4d00; }
.st-mono { font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: .12em; color: #ff4d00; text-transform: uppercase; }
.st-card h3 { font-size: 21px; font-weight: 700; letter-spacing: -0.01em; margin: 10px 0 8px; text-transform: uppercase; }
.st-card h4 { font-size: 17px; font-weight: 700; margin: 10px 0 8px; }
.st-card p { font-size: 13px; line-height: 1.55; color: #333; margin-bottom: 8px; }
.st-pts { font-size: 12px !important; color: #777 !important; }
.st-card em { display: block; font-style: normal; font-family: 'Space Mono', monospace; font-size: 11px; margin-top: 12px; }
a.st-card { text-decoration: none; color: inherit; display: block; cursor: pointer; }
a.st-card .st-arr { color: #000; transition: color .12s; }
a.st-card:hover .st-arr { color: #ff4d00; }
.st-lnk { font-family: 'Space Mono', monospace; font-size: 11.5px; font-weight: 700; color: #000; text-decoration: underline; text-underline-offset: 3px; background: none; padding: 0; }
.st-lnk:hover { color: #ff4d00; }
.st-cen { text-align: center; margin: 40px 0 8px; }
.st-sub3 { font-size: 22px; font-weight: 700; margin: 48px 0 20px; text-transform: uppercase; }
.st-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.st-step { border-top: 2px solid #000; padding-top: 14px; }
.st-step b { font-family: 'Space Mono', monospace; font-size: 12px; }
.st-step p { font-size: 13px; color: #444; margin-top: 8px; line-height: 1.5; }
.st-wrow { display: grid; grid-template-columns: 130px 1fr 30px; gap: 20px; align-items: baseline; padding: 20px 10px; border-top: 2px solid #000; text-decoration: none; transition: background .12s, color .12s; }
.st-wrow:hover { background: #000; color: #fff; }
.st-wrow:hover p { color: #ddd; }
.st-wrow:hover .st-arr { color: #ff4d00; }
.st-wrow h3 { font-size: 21px; font-weight: 700; text-transform: uppercase; margin-bottom: 6px; }
.st-wrow p { font-size: 13px; color: #444; }
.st-arr { font-family: 'Space Mono', monospace; font-weight: 700; }
.st-prow { display: grid; grid-template-columns: 220px 1fr 30px; gap: 18px; align-items: baseline; padding: 14px 10px; border-top: 2px solid #000; text-decoration: none; font-size: 14px; transition: background .12s, color .12s; }
.st-prow:hover { background: #000; color: #fff; }
.st-prow:hover .st-arr { color: #ff4d00; }
.st-prow b { font-weight: 400; }
.st-cta { background: #ff4d00; border-top: 2px solid #000; border-bottom: 2px solid #000; color: #000; text-align: center; padding: 88px 22px; margin-top: 88px; }
.st-cta-k { font-family: 'Space Mono', monospace; font-size: 12px; font-weight: 700; letter-spacing: .18em; margin-bottom: 20px; }
.st-cta h2 { font-weight: 700; font-size: clamp(36px, 6vw, 72px); letter-spacing: -0.02em; text-transform: uppercase; }
.st-cta h2 em { font-style: normal; background: #000; color: #ff4d00; padding: 0 .14em; display: inline-block; }
.st-cta .st-btn { box-shadow: 5px 5px 0 #fff; }
.st-cta .st-btn:hover { box-shadow: 3px 3px 0 #fff; }
.st-cta .st-btn-w { box-shadow: 5px 5px 0 #000; }
.st-cta .st-btn-w:hover { box-shadow: 3px 3px 0 #000; }
.st-foot { border-top: 2px solid #000; display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center; padding: 20px 22px 36px; font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: .08em; }
.st-flinks { display: flex; gap: 16px; flex-wrap: wrap; }
.st-flinks a { text-decoration: underline; text-underline-offset: 3px; }
.st-flinks a:hover { color: #ff4d00; }
.st-top { font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-decoration: underline; text-underline-offset: 3px; }
.st-top:hover { color: #ff4d00; }
@media (max-width: 860px) {
  .st-frame { margin: 8px; }
  .st-bar { padding: 12px 14px; }
  .st-brand { font-size: 18px; }
  .st-nav { display: none; }
  .st-hero-p { max-width: 220px; }
  .st-hero-p img { width: 120px; height: 120px; }
  .st-hero { padding: 44px 16px 40px; }
  .st-hero-b, .st-about, .st-talks, .st-svcs, .st-rooms, .st-books, .st-faqs, .st-steps { grid-template-columns: 1fr; }
  .st-stats { grid-template-columns: 1fr; }
  .st-stat { border-left: 0; border-top: 2px solid #000; }
  .st-stat:first-child { border-top: 0; }
  .st-sec { padding: 48px 16px 4px; scroll-margin-top: 58px; }
  .st-wrow, .st-prow { grid-template-columns: 1fr 24px; padding: 16px 6px; }
  .st-wrow .st-mono, .st-prow .st-mono { grid-column: 1 / -1; }
  .st-cta { padding: 64px 16px; margin-top: 64px; }
}

.st-logo { height: 52px; width: auto; display: block; }
@media (max-width: 860px) { .st-logo { height: 36px; } 
 }

.st-mail { border: 2px solid #000; background: #fff; padding: 26px; box-shadow: 6px 6px 0 #e8e4dc; margin: 26px 0; }
.st-mail-h { font-family: 'Space Mono', monospace; font-weight: 700; font-size: 12px; letter-spacing: .14em; margin-bottom: 10px; }
.st-mail p { font-size: 14px; line-height: 1.55; margin-bottom: 14px; }
.st-intro { max-width: 720px; }
.st-intro .st-p { font-size: 16px; line-height: 1.6; margin-bottom: 18px; }
.st-tl { border-top: 2px solid #000; }
.st-tlrow { display: grid; grid-template-columns: 130px 1fr; gap: 22px; padding: 20px 0; border-bottom: 2px solid #000; }
.st-tlyr { font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: .12em; color: #ff4d00; padding-top: 3px; }
.st-tlrow b { text-transform: uppercase; font-size: 15px; letter-spacing: -0.01em; }
.st-tlrow p { font-size: 13px; line-height: 1.55; color: #333; margin: 5px 0 0; }
.st-about2 > .rv:nth-child(3) { border-top: 2px solid #000; margin-top: 40px; }
.st-awards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 26px; }
@media (min-width: 861px) {
  .st-about2 { display: grid; grid-template-columns: 1.1fr .9fr; gap: 0 56px; align-items: start; }
  .st-about2 > .rv:nth-child(1) { grid-column: 1; grid-row: 1; }
  .st-about2 > .rv:nth-child(2) { grid-column: 2; grid-row: 1; }
  .st-about2 > .rv:nth-child(3) { grid-column: 1 / -1; grid-row: 2; }
  .st-about2 > .rv:nth-child(2) .st-sub3 { margin-top: 0; }
  .st-about2 .st-tlrow { padding: 12px 0; }
  .st-about2 > .rv:nth-child(1) .st-intro .st-p { font-size: 17px; line-height: 1.7; }
  #about.st-sec { padding-bottom: 40px; }
}
.st-award { display: flex; gap: 14px; align-items: flex-start; border: 2px solid #000; background: #fff; padding: 16px 18px; box-shadow: 5px 5px 0 #e8e4dc; transition: transform .15s, box-shadow .15s; }
.st-award:hover { transform: translate(-2px,-2px); box-shadow: 7px 7px 0 #ff4d00; }
.st-award .st-sq { color: #ff4d00; font-size: 10px; padding-top: 4px; }
.st-award b { font-size: 14px; text-transform: uppercase; letter-spacing: -0.01em; }
.st-award p { font-size: 12.5px; line-height: 1.5; color: #333; margin: 4px 0 0; }
@media (max-width: 860px) { .st-tlrow { grid-template-columns: 1fr; gap: 6px; } .st-awards { grid-template-columns: 1fr; } }

.st-proc { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; }
.st-pcard { border: 2px solid #000; background: #fff; padding: 24px; box-shadow: 6px 6px 0 #e8e4dc; transition: transform .15s, box-shadow .15s; }
.st-pcard:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 #ff4d00; }
.st-pnum { font-family: 'Space Mono', monospace; font-size: 26px; font-weight: 700; color: #ff4d00; display: block; margin-bottom: 10px; }
.st-pcard h4 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.st-pcard p { font-size: 13px; line-height: 1.55; color: #333; }
@media (max-width: 860px) { .st-proc { grid-template-columns: 1fr; } }

.st-h4s { font-size: 17px; font-weight: 700; margin: 10px 0 8px; }
.st-pcard h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }

#ckbar { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 90; background: #fff; border: 2px solid #000; box-shadow: 6px 6px 0 #000; padding: 16px 18px; display: flex; gap: 18px; align-items: center; justify-content: space-between; flex-wrap: wrap; max-width: 880px; margin: 0 auto; }
#ckbar p { font-family: 'Space Mono', monospace; font-size: 11.5px; line-height: 1.55; margin: 0; flex: 1; min-width: 260px; }
#ckbar a { color: #ff4d00; }
.ck-btns { display: flex; gap: 10px; }
.st-subnote { font-family: 'Space Mono', monospace; font-size: 12px; }
.st-subnote a { color: #ff4d00; }

#ckbar[hidden] { display: none !important; }

.st-page { max-width: 720px; margin: 0 auto; padding: 48px 20px 80px; font-family: 'Space Grotesk', sans-serif; }
.st-page .st-h1s { font-size: clamp(34px, 6vw, 52px); font-weight: 700; letter-spacing: -0.02em; margin: 18px 0 14px; }
.st-page .st-h2s { font-size: 17px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin: 34px 0 8px; }
.st-page p { font-size: 15px; line-height: 1.65; margin: 0 0 6px; }
.st-page .st-lede { font-size: 16px; }
.st-page a { color: #ff4d00; }
.st-page .st-mono { font-family: 'Space Mono', monospace; font-size: 12px; }
.st-page .st-foot-note { margin-top: 48px; }
.st-wlist { border-bottom: 2px solid #000; margin-top: 22px; }
.st-page .st-wrow { color: #000; }

#mlform { display: flex; gap: 10px; margin: 4px 0 12px; }
#mlform input[type=email] { flex: 1; min-width: 0; height: 48px; border: 2px solid #000; padding: 0 14px; font-family: 'Space Mono', monospace; font-size: 14px; background: #fff; color: #000; }
#mlform input[type=email]:focus { outline: 2px solid #ff4d00; outline-offset: 1px; }
#mlform button { height: 48px; min-width: 52px; border: 2px solid #000; background: #ff4d00; color: #fff; font-size: 20px; line-height: 1; cursor: pointer; padding: 0 16px; }
#mlform button:disabled { opacity: .55; cursor: default; }
.ml-honey { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; opacity: 0; }
.ml-sr { position: absolute; left: -9999px; top: -9999px; width: 1px; height: 1px; overflow: hidden; }
#mlform input[type=email]:disabled { background: #f2efe9; color: #777; }
