/* Rowens Inc. — original Living directory design */
:root {
  color-scheme: dark;
  --bg: #171e20;
  --surface: #20292b;
  --surface-raised: #263031;
  --ink: #f5f1e8;
  --muted: #b0b8b2;
  --copper: #c68e65;
  --copper-deep: #b8794e;
  --line: #3c4746;
  --page-width: 1240px;
  --gutter: clamp(22px, 5vw, 76px);
  --head-font: Arial, Helvetica, sans-serif;
  --body-font: "Segoe UI", Arial, sans-serif;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 106px; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body-font); -webkit-font-smoothing: antialiased; line-height: 1.6; }
body::selection { background: var(--copper); color: var(--bg); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--copper); outline-offset: 6px; border-radius: 3px; }
img { display: block; max-width: 100%; }
svg { display: block; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--head-font); font-weight: 400; }
p { margin-bottom: 20px; }
.container { width: min(var(--page-width), 100% - var(--gutter) * 2); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 12px; left: 18px; z-index: 100; padding: 12px 20px; background: var(--ink); color: var(--bg); transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(23,30,32,.88); border-bottom: 1px solid rgba(60,71,70,.8); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); transition: background .25s, box-shadow .25s; }
.site-header.is-scrolled { background: rgba(23,30,32,.97); box-shadow: 0 12px 32px rgba(0,0,0,.08); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 26px; }
.brand-logo { width: 155px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 30px; }
.nav-link { font-size: 13px; letter-spacing: .025em; padding: 10px 0; position: relative; white-space: nowrap; color: var(--muted); transition: color .2s; }
.nav-link:hover, .nav-link[aria-current="page"], .nav-link.is-current { color: var(--ink); }
.nav-link::after { content: ""; position: absolute; left: 0; right: 0; bottom: 3px; height: 1px; background: var(--copper); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.nav-link:hover::after, .nav-link[aria-current="page"]::after, .nav-link.is-current::after { transform: scaleX(1); }
.menu-toggle { display: none; border: 1px solid var(--line); padding: 9px 14px; min-height: 44px; background: transparent; font-size: 13px; }
.hero { position: relative; display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 44px; padding-block: clamp(75px,9vw,130px); min-height: min(700px, calc(100svh - 82px)); }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { font-family: Consolas, "Courier New", monospace; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); display: block; margin-bottom: 24px; line-height: 1.8; }
.hero-title { font-size: clamp(48px,5.8vw,88px); line-height: 1.02; letter-spacing: -.055em; margin-bottom: 28px; }
.accent { color: var(--copper); }
.lead { font-size: clamp(16px,1.5vw,19px); line-height: 1.7; color: var(--muted); max-width: 470px; margin-bottom: 0; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 35px; }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 48px; padding: 14px 20px; border: 1px solid transparent; font-size: 13px; line-height: 1.35; transition: transform .2s, background .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--ink); color: var(--bg); }
.button-primary:hover { background: #e6e1d5; }
.button-secondary { background: transparent; border-color: var(--line); color: var(--ink); }
.button-secondary:hover { border-color: var(--copper); }
.atom-scene { position: relative; width: 100%; min-width: 0; isolation: isolate; }
.atom-scene::before { content: ""; position: absolute; inset: 12% 2%; border-radius: 50%; background: radial-gradient(ellipse, rgba(184,121,78,.075), transparent 70%); z-index: -1; }
.atom-scene svg { width: 100%; height: auto; max-height: 470px; overflow: visible; }
.atom-track { fill: none; stroke: var(--copper-deep); stroke-width: .9; opacity: .65; }
.atom-track:nth-of-type(2) { opacity: .34; }
.atom-track:nth-of-type(3) { opacity: .5; }
[data-orbit-sphere] { filter: drop-shadow(0 0 6px rgba(198,142,101,.32)); }
.atom-caption { display: block; text-align: center; font: 10px Consolas, monospace; color: var(--muted); letter-spacing: .08em; margin-top: 16px; }
.status-dot { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: currentColor; margin-right: 7px; vertical-align: middle; }
.text-link { display: inline-flex; align-items: center; gap: 12px; padding-block: 8px; border-bottom: 1px solid var(--line); font-size: 13px; transition: color .2s, border-color .2s; }
.text-link:hover { color: var(--copper); border-color: var(--copper); }
.link-arrow { margin-left: 5px; }
.venture-content { display: flex; flex-direction: column; flex: 1; }
.venture-content .venture-category { display: block; margin-bottom: 10px; }
.copy-feedback { display: block; }
.server-label { font: 11px Consolas, monospace; letter-spacing: .06em; color: var(--muted); }
.error-hero .error-title { font-size: clamp(48px,5.8vw,88px); line-height: 1.02; letter-spacing: -.055em; color: var(--ink); }
.section { padding-block: 86px; }
.section-heading { display: flex; justify-content: space-between; gap: 32px; align-items: flex-end; margin-bottom: 34px; }
.section-title { font-size: clamp(30px,3.8vw,46px); line-height: 1.1; letter-spacing: -.04em; margin-bottom: 0; }
.section-intro { font-size: 14px; color: var(--muted); line-height: 1.7; max-width: 350px; margin: 0; }
.venture-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.venture-card { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 27px; background: var(--surface); border: 1px solid transparent; min-width: 0; min-height: 370px; transition: transform .3s, background .3s, border-color .3s; isolation: isolate; }
.venture-card::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0; background: radial-gradient(250px circle at var(--pointer-x,50%) var(--pointer-y,50%), rgba(198,142,101,.08), transparent 65%); transition: opacity .3s; }
a.venture-card:hover, a.venture-card:focus-visible { transform: translateY(-6px); border-color: #866349; background: var(--surface-raised); }
a.venture-card:hover::before { opacity: 1; }
.venture-category { font: 10px Consolas, "Courier New", monospace; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.venture-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: clamp(21px,2.1vw,29px); letter-spacing: -.035em; line-height: 1.2; margin-bottom: 14px; }
.venture-title .arrow, .venture-title > span:last-child:not(:first-child) { color: var(--copper); font-size: 24px; }
.venture-description { font-size: 13px; line-height: 1.7; color: var(--muted); margin-bottom: 22px; }
.venture-status { font: 10px Consolas, "Courier New", monospace; letter-spacing: .045em; color: var(--copper); display: block; margin-top: auto; }
.venture-art { height: 150px; position: relative; margin: 20px 0 26px; display: grid; place-items: center; }
.venture-art svg { width: 160px; height: 135px; stroke: var(--copper); fill: none; stroke-width: 1.1; opacity: .85; transition: transform .45s; }
a.venture-card:hover .venture-art svg { transform: translateY(-5px) rotate(-3deg); }
.venture-art i, .venture-art b { position: absolute; display: block; border: 1px solid var(--copper); width: 94px; height: 55px; transform: skewY(-15deg); left: calc(50% - 47px); top: 65px; opacity: .8; transition: transform .4s; }
.venture-art i:nth-child(2), .venture-art b:nth-child(2) { top: 47px; opacity: .55; }
.venture-art i:nth-child(3), .venture-art b:nth-child(3) { top: 29px; opacity: .3; }
.venture-art.technology i, .venture-art.technology b, .venture-art[data-art="technology"] i { height: 74px; border-radius: 50%; transform: rotateX(45deg) rotateY(15deg); }
.venture-art.books i, .venture-art.books b, .venture-art[data-art="books"] i { width: 40px; height: 85px; left: calc(50% - 65px); top: 39px; transform: skewY(-8deg); }
.venture-art.books i:nth-child(2), .venture-art.books b:nth-child(2), .venture-art[data-art="books"] i:nth-child(2) { left: calc(50% - 18px); top: 30px; }
.venture-art.books i:nth-child(3), .venture-art.books b:nth-child(3), .venture-art[data-art="books"] i:nth-child(3) { left: calc(50% + 29px); top: 45px; }
.section + .section { border-top: 1px solid var(--line); }
.about-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: start; }
.about-copy { max-width: 570px; }
.about-copy p { font-size: 16px; line-height: 1.8; color: var(--muted); }
.about-copy .button { margin-top: 12px; }
.community-callout { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 40px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.callout-copy h2, .callout-copy h3 { font-size: clamp(24px,3vw,34px); line-height: 1.2; letter-spacing: -.035em; margin: 0 0 12px; }
.callout-copy p { font-size: 14px; color: var(--muted); margin: 0; max-width: 490px; }
.page-hero { padding-block: 80px 55px; max-width: 850px; }
.page-title { font-size: clamp(42px,5.8vw,76px); line-height: 1.05; letter-spacing: -.05em; margin-bottom: 26px; }
.page-hero .lead { max-width: 650px; }
.page-section { padding-block: 20px 90px; }
.page-hero + .section { padding-top: 10px; }
.empty-state { padding: 50px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.empty-state h2 { font-size: 32px; letter-spacing: -.035em; margin-bottom: 12px; }
.empty-state p { color: var(--muted); max-width: 600px; }
.server-panel { background: var(--surface); padding: clamp(25px,4vw,48px); border: 1px solid var(--line); max-width: 840px; position: relative; }
.server-panel h2 { font-size: 30px; letter-spacing: -.04em; margin-bottom: 12px; }
.server-panel p { color: var(--muted); font-size: 14px; max-width: 550px; }
.server-address { display: block; font: clamp(19px,3.4vw,36px) Consolas, "Courier New", monospace; line-height: 1.4; color: var(--copper); overflow-wrap: anywhere; padding: 26px 0; }
[data-copy-feedback] { min-height: 24px; margin: 15px 0 0; font-size: 12px; color: var(--muted); }
.server-note { color: var(--muted); font-size: 12px; }
.community-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; margin-top: 26px; }
.community-link { padding: 27px; border: 1px solid var(--line); display: block; transition: border-color .2s; }
.community-link:hover { border-color: var(--copper); }
.community-link h3 { font-size: 23px; margin-bottom: 12px; }
.community-link p { font-size: 14px; color: var(--muted); margin: 0; }
.printing-layout { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 60px; padding-bottom: 85px; }
.printing-visual { min-height: 290px; position: relative; }
.printing-visual .venture-art { height: 230px; margin-top: 40px; }
.printing-visual .venture-art svg { width: min(280px,100%); height: auto; max-height: 240px; }
.printing-label { display: inline-flex; gap: 9px; align-items: center; border: 1px solid #68543f; padding: 7px 12px; color: var(--copper); font: 11px Consolas, monospace; margin-bottom: 22px; }
.printing-label::before { content: ""; width: 5px; height: 5px; background: var(--copper); border-radius: 50%; }
.site-footer { position: relative; overflow: hidden; isolation: isolate; background: #111719; margin-top: 70px; padding-top: 55px; color: var(--ink); }
[data-footer-field] { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; opacity: .8; }
.footer-top { display: flex; justify-content: space-between; align-items: start; gap: 40px; }
.footer-statement { max-width: 330px; font-size: 17px; line-height: 1.6; margin: 0; }
.footer-links { display: flex; gap: 24px; flex-wrap: wrap; justify-content: flex-end; max-width: 500px; }
.footer-links a { font-size: 12px; color: var(--muted); padding-block: 6px; transition: color .2s; }
.footer-links a:hover { color: var(--copper); }
.footer-word { display: flex; justify-content: space-between; font-family: var(--head-font); font-size: clamp(70px,16.5vw,245px); line-height: 1.25; letter-spacing: -.045em; user-select: none; margin: 32px -4px 20px; }
.footer-letter { display: inline-block; transform: translateY(var(--footer-lift,0px)); }
.footer-bottom { border-top: 1px solid var(--line); padding-block: 22px 26px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font: 10px Consolas, monospace; letter-spacing: .025em; color: var(--muted); }
.footer-bottom a { padding-block: 8px; }
.footer-bottom a:hover { color: var(--copper); }
.footer-meta { display: flex; gap: 25px; align-items: center; }
.error-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; padding-block: 85px; min-height: 550px; }
.error-title { font-size: clamp(110px,18vw,210px); line-height: .9; margin-bottom: 25px; letter-spacing: -.06em; color: var(--copper); }
.error-layout h2 { font-size: 34px; letter-spacing: -.035em; margin-bottom: 15px; }
.error-layout p { color: var(--muted); max-width: 400px; }
.reveal { transition: opacity .75s ease, translate .85s cubic-bezier(.22,1,.36,1), rotate .85s cubic-bezier(.22,1,.36,1), transform .3s, background .3s, border-color .3s; }
.js .reveal.will-reveal:not(.is-visible) { opacity: 0; translate: 0 24px; }
.js .reveal.is-visible { opacity: 1; translate: 0 0; rotate: 0deg; }
.js .reveal-swoop.will-reveal:not(.is-visible) { translate: -24px 38px; rotate: -.8deg; }
.js .reveal-swoop[data-reveal-direction="right"].will-reveal:not(.is-visible) { translate: 24px 38px; rotate: .8deg; }
.reveal-swoop[data-reveal-order="1"] { transition-delay: .07s, .07s, .07s, 0s, 0s, 0s; }
.reveal-swoop[data-reveal-order="2"] { transition-delay: .14s, .14s, .14s, 0s, 0s, 0s; }
.js .reveal:focus-within { opacity: 1 !important; translate: none !important; rotate: none !important; transition-delay: 0s !important; }
.book-card { animation: book-card-enter .6s cubic-bezier(.22,1,.36,1) both; }
.book-card[data-entrance="1"] { animation-delay: .035s; }
.book-card[data-entrance="2"] { animation-delay: .07s; }
.book-card[data-entrance="3"] { animation-delay: .105s; }
.book-card[data-entrance="4"] { animation-delay: .14s; }
.book-card[data-entrance="5"] { animation-delay: .175s; }
@keyframes book-card-enter { from { opacity: 0; translate: 0 19px; } to { opacity: 1; translate: 0 0; } }
@media(min-width:1500px) { .hero { min-height: 640px; } }
@media(max-width:1000px) {
  .site-nav { gap: 22px; }
  .hero { gap: 25px; min-height: 560px; }
  .venture-card { padding: 23px; min-height: 355px; }
  .about-layout { gap: 45px; }
  .section-intro { max-width: 290px; }
  .footer-links { gap: 20px; max-width: 410px; }
}
@media(max-width:820px) {
  .header-inner { min-height: 74px; }
  .brand-logo { width: 145px; }
  .menu-toggle { display: inline-flex; align-items: center; gap: 10px; }
  .site-nav { display: none; position: absolute; top: calc(100% + 1px); left: 0; right: 0; padding: 17px var(--gutter) 23px; background: #171e20; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; gap: 0; box-shadow: 0 20px 30px rgba(0,0,0,.12); }
  .site-nav.is-open { display: flex; }
  .nav-link { font-size: 15px; min-height: 46px; padding-block: 12px; }
  .nav-link::after { right: auto; width: 25px; }
  html:not(.js) .site-header { position: static; }
  html:not(.js) .menu-toggle { display: none; }
  html:not(.js) .header-inner { flex-wrap: wrap; padding-block: 15px; }
  html:not(.js) .site-nav { display: flex; position: static; padding: 0; flex-direction: row; flex-wrap: wrap; gap: 16px; background: none; border: 0; box-shadow: none; }
  .hero { gap: 20px; padding-block: 65px; min-height: 520px; }
  .hero-title { font-size: 52px; }
  .lead { font-size: 16px; }
  .venture-grid { gap: 14px; }
  .venture-card { padding: 18px; min-height: 330px; }
  .venture-art { height: 120px; margin-block: 15px 24px; }
  .venture-art svg { width: 125px; height: 115px; }
  .venture-title { font-size: 22px; }
  .venture-description { font-size: 12px; }
  .section { padding-block: 65px; }
  .section-heading { align-items: start; flex-direction: column; gap: 16px; }
  .section-intro { max-width: 550px; }
  .about-layout { grid-template-columns: 1fr; gap: 28px; }
  .about-copy { max-width: 100%; }
  .page-hero { padding-block: 60px 45px; }
  .printing-layout { gap: 30px; }
  .footer-links { max-width: 275px; gap: 14px 20px; }
}
@media(max-width:640px) {
  html { scroll-padding-top: 95px; }
  .hero { grid-template-columns: 1fr; gap: 34px; padding-block: 54px 25px; min-height: 0; }
  .hero-title { font-size: clamp(44px,11vw,62px); }
  .eyebrow { font-size: 10px; letter-spacing: .095em; margin-bottom: 22px; }
  .hero-copy .lead { max-width: 370px; }
  .hero-actions { gap: 12px; margin-top: 28px; }
  .button { font-size: 12px; padding-inline: 17px; gap: 20px; }
  .atom-scene { width: min(100%,390px); margin: 0 auto; }
  .atom-scene svg { max-height: 270px; }
  .atom-caption { margin-top: 6px; }
  .section { padding-block: 48px; }
  .section-title { font-size: 33px; }
  .venture-grid { grid-template-columns: 1fr; gap: 16px; }
  .venture-card { padding: 24px; min-height: 295px; }
  .venture-art { height: 100px; margin-block: 10px 28px; }
  .venture-art svg { width: 145px; height: 115px; }
  .venture-art i, .venture-art b { transform: scale(.9) skewY(-15deg); }
  .venture-title { font-size: 28px; }
  .venture-description { font-size: 14px; max-width: 350px; }
  .venture-category, .venture-status { font-size: 11px; }
  .community-callout { flex-direction: column; align-items: start; padding-block: 30px; gap: 22px; }
  .callout-copy h2, .callout-copy h3 { font-size: 28px; }
  .page-title { font-size: clamp(40px,10vw,58px); }
  .page-hero { padding-block: 52px 35px; }
  .page-section { padding-bottom: 50px; }
  .server-panel { padding: 26px 22px; }
  .server-panel h2 { font-size: 28px; }
  .server-address { font-size: clamp(18px,5.1vw,28px); padding-block: 23px; }
  .community-grid { grid-template-columns: 1fr; }
  .printing-layout { grid-template-columns: 1fr; padding-bottom: 45px; gap: 0; }
  .printing-visual { min-height: 240px; }
  .site-footer { margin-top: 40px; padding-top: 35px; }
  .footer-top { flex-direction: column; gap: 24px; }
  .footer-statement { font-size: 16px; }
  .footer-links { justify-content: flex-start; gap: 14px 22px; max-width: 100%; }
  .footer-links a { font-size: 12px; min-height: 44px; display: inline-flex; align-items: center; padding: 0; }
  .footer-word { font-size: 16.5vw; margin-block: 25px 20px; letter-spacing: -.06em; }
  .footer-bottom { align-items: start; gap: 12px; flex-direction: column; padding-block: 20px 24px; }
  .footer-meta { flex-wrap: wrap; gap: 15px; }
  .error-layout { grid-template-columns: 1fr; gap: 38px; padding-block: 55px; min-height: 0; }
  .error-title { font-size: 130px; }
  .error-layout h2 { font-size: 29px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition-duration: .01ms !important; }
  .reveal, .js .reveal:not(.is-visible) { opacity: 1 !important; translate: none !important; rotate: none !important; transform: none; }
  .button:hover, a.venture-card:hover, a.venture-card:hover .venture-art svg { transform: none; }
  .footer-letter { transform: none !important; }
}
@media print {
  :root { color-scheme: light; --bg:#fff; --surface:#fff; --ink:#20292b; --muted:#45514b; --line:#bbb; }
  .site-header { position: static; background:#fff; backdrop-filter:none; }
  .site-nav { display:flex !important; position:static; background:transparent; }
  .brand-logo { filter: invert(1); }
  .menu-toggle, [data-footer-field], .atom-scene, .hero-actions, .footer-word { display:none; }
  .hero { display:block; min-height:0; padding-block:30px; }
  .site-footer { background:transparent; color:var(--ink); }
  .venture-card { break-inside:avoid; border:1px solid #bbb; }
}

/* Detailed venture illustrations and expanded company story. */
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  pointer-events: none;
  background: var(--copper);
  opacity: .8;
  transform: scaleX(var(--page-progress,0));
  transform-origin: left center;
}
.venture-card { min-height: 470px; }
.venture-art {
  height: 245px;
  margin: 2px -6px 23px;
}
.venture-art::before {
  content: "";
  position: absolute;
  width: 225px;
  height: 185px;
  border-radius: 50%;
  background: radial-gradient(ellipse,rgba(184,121,78,.09),transparent 68%);
  z-index: -1;
}
.venture-art svg {
  width: min(100%,360px);
  height: 100%;
  max-height: 260px;
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 1;
  overflow: visible;
}
a.venture-card:hover .venture-art svg { transform: translateY(-3px); }
.venture-art [data-print-head],
.venture-art [data-print-gantry],
.venture-art [data-book-left],
.venture-art [data-book-right] {
  transition: none;
}
.venture-art [data-print-layer] { stroke-width: 1.2; }
.venture-content .venture-category { margin-bottom: 12px; }
.venture-status { padding-top: 7px; }
.shared-principles {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 28px;
  margin-top: 45px;
}
.shared-principle {
  border-top: 1px solid var(--line);
  padding-top: 22px;
}
.shared-principle h3 {
  font-size: 20px;
  letter-spacing: -.025em;
  margin-bottom: 11px;
}
.shared-principle p {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.8;
  max-width: 360px;
  margin-bottom: 0;
}
.about-principles {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 22px;
  margin-top: 34px;
}
.principle-card {
  position: relative;
  padding: 32px 28px;
  background: var(--surface);
  min-width: 0;
}
.principle-card::before {
  content: "";
  display: block;
  width: 27px;
  height: 2px;
  background: var(--copper);
  margin-bottom: 32px;
}
.principle-card h3 {
  font-size: 25px;
  letter-spacing: -.035em;
  line-height: 1.25;
  margin-bottom: 18px;
}
.principle-card p {
  font-size: 14px;
  line-height: 1.8;
  color: var(--muted);
  margin: 0;
}
.direction-list { margin-top: 38px; }
.direction-item {
  display: grid;
  grid-template-columns: 145px 1fr 160px;
  gap: 35px;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-block: 31px;
}
.direction-item:last-child { border-bottom: 1px solid var(--line); }
.direction-label {
  font: 11px Consolas,"Courier New",monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--muted);
  padding-top: 8px;
}
.direction-copy h3 {
  font-size: 28px;
  letter-spacing: -.03em;
  margin-bottom: 10px;
  line-height: 1.25;
}
.direction-copy p {
  color: var(--muted);
  font-size: 14px;
  max-width: 590px;
  margin: 0;
}
.direction-status {
  font: 11px Consolas,"Courier New",monospace;
  color: var(--copper);
  padding-top: 9px;
  text-align: right;
}
.about-closing {
  padding: 48px;
  background: radial-gradient(ellipse at right bottom,rgba(184,121,78,.055),transparent 65%),var(--surface);
}
.about-closing h2 {
  font-size: clamp(30px,4vw,48px);
  line-height: 1.1;
  letter-spacing: -.04em;
  max-width: 700px;
  margin-bottom: 22px;
}
.about-closing p {
  color: var(--muted);
  max-width: 600px;
  line-height: 1.8;
  font-size: 15px;
}
.printing-visual .venture-art { height: 305px; margin-top: 15px; }
.printing-visual .venture-art svg { width: min(400px,100%); height: 100%; max-height: 310px; }
.footer-copyright {
  font: 11px var(--body-font);
  color: var(--muted);
  line-height: 1.7;
}
@media(max-width:1000px) {
  .venture-card { padding: 22px; min-height: 445px; }
  .venture-art { height: 215px; }
  .shared-principles { gap: 23px; }
  .principle-card { padding: 26px 23px; }
  .principle-card h3 { font-size: 22px; }
  .direction-item { grid-template-columns: 105px 1fr 130px; gap: 26px; }
}
@media(max-width:820px) {
  .venture-card { padding: 19px; }
  .venture-art { height: 195px; }
  .about-principles { gap: 16px; }
  .principle-card { padding: 24px 20px; }
  .principle-card p { font-size: 13px; }
  .direction-item { grid-template-columns: 90px 1fr 118px; gap: 20px; }
  .direction-copy h3 { font-size: 25px; }
  .about-closing { padding: 36px; }
}
@media(max-width:640px) {
  .venture-card { padding: 24px; min-height: 425px; }
  .venture-art { height: 240px; margin: 0 -6px 24px; }
  .venture-art svg { width: min(100%,340px); height: 100%; max-height: 250px; }
  .venture-description { max-width: 100%; }
  .shared-principles,
  .about-principles { grid-template-columns: 1fr; }
  .shared-principles { gap: 28px; margin-top: 34px; }
  .shared-principle h3 { font-size: 22px; }
  .shared-principle p { font-size: 14px; max-width: 100%; }
  .principle-card { padding: 30px 26px; }
  .principle-card::before { margin-bottom: 24px; }
  .principle-card h3 { font-size: 25px; }
  .principle-card p { font-size: 14px; }
  .direction-item { grid-template-columns: 1fr auto; gap: 13px 15px; padding-block: 26px; }
  .direction-label { grid-column: 1; grid-row: 1; padding-top: 0; }
  .direction-status { grid-column: 2; grid-row: 1; padding-top: 0; }
  .direction-copy { grid-column: 1/-1; grid-row: 2; }
  .direction-copy h3 { font-size: 27px; }
  .direction-copy p { font-size: 14px; }
  .about-closing { padding: 32px 25px; }
  .about-closing h2 { font-size: 33px; }
  .printing-visual .venture-art { height: 275px; }
  .printing-visual .venture-art svg { width: min(350px,100%); height: 100%; max-height: 275px; }
  .footer-copyright { font-size: 11px; }
}
@media(prefers-reduced-motion:reduce) {
  a.venture-card:hover .venture-art svg { transform: none; }
}

/* Public sign-in chooser. Authentication is handled at each destination. */
.page-login .page-hero { max-width: none; }
.page-login .page-title { max-width: 760px; }
.page-login .page-hero .lead { max-width: 630px; }
.login-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.login-space { display: flex; flex-direction: column; position: relative; overflow: hidden; isolation: isolate; min-width: 0; min-height: 330px; padding: clamp(27px,3.8vw,48px); background: var(--surface); border: 1px solid var(--line); transition: border-color .25s, background .25s, transform .25s; }
.login-space::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 95% 0,rgba(198,142,101,.085),transparent 65%); opacity: .4; transition: opacity .3s; }
.login-space:hover, .login-space:focus-visible { border-color: var(--copper); background: var(--surface-raised); transform: translateY(-4px); }
.login-space:hover::before, .login-space:focus-visible::before { opacity: 1; }
.login-space-top { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 38px; }
.login-space-top .eyebrow { margin: 0; }
.login-space-icon { width: 56px; height: 56px; flex: 0 0 56px; color: var(--copper); }
.login-space h2 { font-size: clamp(29px,3.1vw,40px); line-height: 1.12; letter-spacing: -.035em; margin-bottom: 16px; }
.login-space-description { color: var(--muted); font-size: 15px; line-height: 1.75; max-width: 410px; margin-bottom: 35px; }
.login-space-bottom { margin-top: auto; }
.login-space-action { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 18px; border-top: 1px solid var(--line); font-size: 14px; }
.login-space-action .link-arrow { font-size: 23px; line-height: 1; color: var(--copper); transition: transform .25s; }
.login-space:hover .link-arrow { transform: translate(2px,-2px); }
.login-space-note { display: block; color: var(--muted); font-size: 12px; line-height: 1.6; }
.login-connection { display: flex; align-items: flex-start; gap: 28px; margin-top: 42px; padding: 30px 0; }
.login-connection-mark { display: grid; place-items: center; width: 72px; height: 72px; flex: 0 0 72px; border: 1px solid var(--line); border-radius: 50%; }
.login-connection-mark img { width: 42px; height: 42px; opacity: .85; }
.login-connection h2 { font-size: 24px; letter-spacing: -.025em; margin: 2px 0 10px; }
.login-connection p { font-size: 14px; line-height: 1.8; color: var(--muted); max-width: 730px; margin: 0; }
@media(max-width:640px) {
  .login-grid { grid-template-columns: 1fr; gap: 18px; }
  .login-space { padding: 28px 25px; min-height: 315px; }
  .login-space-top { margin-bottom: 28px; }
  .login-space h2 { font-size: 32px; }
  .login-space-description { font-size: 14px; margin-bottom: 28px; }
  .login-space-top .eyebrow { max-width: 180px; }
  .login-connection { gap: 20px; margin-top: 25px; padding-block: 25px 0; }
  .login-connection-mark { width: 48px; height: 48px; flex-basis: 48px; }
  .login-connection-mark img { width: 30px; height: 30px; }
  .login-connection h2 { font-size: 21px; }
  .login-connection p { font-size: 13px; }
}
@media(prefers-reduced-motion:reduce) {
  .login-space:hover, .login-space:focus-visible, .login-space:hover .link-arrow { transform: none; }
}

/* Workspace navigation stays available on every public page. */
.workspace-menu { position: relative; }
.workspace-menu > summary { display: flex; align-items: center; gap: 9px; cursor: pointer; list-style: none; }
.workspace-menu > summary::-webkit-details-marker { display: none; }
.workspace-menu > summary:focus-visible { outline: 2px solid var(--copper); outline-offset: 6px; border-radius: 3px; }
.workspace-chevron { color: var(--copper); font-size: 17px; line-height: 1; transition: transform .2s; }
.workspace-menu[open] .workspace-chevron { transform: rotate(180deg); }
.workspace-menu[open] > summary { color: var(--ink); }
.workspace-options { position: absolute; right: 0; top: calc(100% + 12px); width: 285px; padding: 8px; background: var(--surface); border: 1px solid var(--line); box-shadow: 0 20px 45px rgba(0,0,0,.25); }
.workspace-option { display: flex; flex-direction: column; gap: 4px; padding: 13px 14px; border: 1px solid transparent; }
.workspace-option:hover, .workspace-option:focus-visible { background: var(--surface-raised); border-color: var(--copper); }
.workspace-option > span { font-size: 14px; color: var(--ink); }
.workspace-option > small { font-size: 11px; color: var(--muted); line-height: 1.5; }
.login-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.login-space { padding: clamp(25px,2.7vw,38px); min-height: 385px; }
.login-space h2 { font-size: clamp(27px,2.6vw,35px); }
.login-space-top { align-items: flex-start; gap: 16px; }
.login-space-top .eyebrow { max-width: 155px; }

/* Branded destination for a signed-in account without workspace access. */
.denied-hero { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(200px,.65fr); gap: 65px; align-items: center; padding-block: clamp(70px,9vw,130px) 35px; }
.denied-title { font-size: clamp(40px,4.9vw,69px); letter-spacing: -.045em; line-height: 1.09; max-width: 770px; margin-bottom: 28px; }
.denied-copy .lead { max-width: 650px; }
.denied-orbit { position: relative; display: grid; place-items: center; width: min(100%,300px); aspect-ratio: 1; margin: auto; background: radial-gradient(ellipse,rgba(198,142,101,.08),transparent 65%); }
.denied-ring { position: absolute; inset: 8%; border: 1px solid var(--copper); border-radius: 50%; transform: rotate(-30deg) scaleY(.45); opacity: .7; }
.denied-ring-tilted { transform: rotate(45deg) scaleY(.65); opacity: .3; }
.denied-orbit > img { position: relative; width: 90px; }
.denied-lock { position: absolute; right: 12%; bottom: 15%; display: grid; place-items: center; background: var(--bg); color: var(--copper); border: 1px solid var(--line); border-radius: 50%; width: 48px; height: 48px; }
.denied-lock svg { width: 21px; height: 21px; }
.denied-help .shared-principles { margin-top: 0; }
.denied-help .shared-principle h2 { font-size: 24px; line-height: 1.2; letter-spacing: -.025em; }
.denied-help .shared-principle .text-link { margin-top: 18px; }
@media(max-width:1000px) {
  .login-space { padding: 26px 22px; }
  .login-space-icon { width: 43px; height: 43px; flex-basis: 43px; }
  .login-space h2 { font-size: 29px; }
  .login-space-description { font-size: 14px; }
}
@media(max-width:820px) {
  .workspace-menu > summary { justify-content: space-between; }
  .workspace-options { position: static; width: 100%; margin-block: 3px 12px; box-shadow: none; }
  .workspace-option { padding-inline: 14px; }
  .login-grid { grid-template-columns: 1fr; }
  .login-space { min-height: 290px; padding: 30px; }
  .login-space-top { margin-bottom: 24px; }
  .login-space-top .eyebrow { max-width: none; }
  .login-space-description { max-width: 640px; margin-bottom: 24px; }
  .login-space h2 { font-size: 34px; }
  .denied-hero { gap: 25px; grid-template-columns: minmax(0,1fr) 180px; }
}
@media(max-width:640px) {
  .login-space { padding: 28px 25px; }
  .login-space h2 { font-size: 32px; }
  .denied-hero { grid-template-columns: 1fr; padding-top: 55px; gap: 24px; }
  .denied-title { font-size: clamp(36px,9vw,51px); }
  .denied-orbit { width: 175px; margin: 0 auto; }
  .denied-orbit > img { width: 70px; }
  .denied-lock { right: 6%; bottom: 6%; width: 40px; height: 40px; }
}
@media print { .workspace-options { position: static; box-shadow: none; } .denied-orbit { display: none; } .denied-hero { display: block; } }
@media(max-width:820px) {
  .js .site-nav { max-height: calc(100dvh - 75px); overflow-y: auto; overscroll-behavior: contain; }
}
/* The phone pivots around its body while the surrounding support details stay put. */
[data-phone-body], [data-phone-ring] { transition: none; }
@media print { .reveal, .js .reveal.will-reveal:not(.is-visible) { opacity: 1 !important; translate: none !important; rotate: none !important; } }

.denied-destination { color: var(--copper); font: 11px/1.7 Consolas, monospace; letter-spacing: .06em; margin-bottom: 18px; }
@media(max-width:640px) {
  .js .reveal-swoop.will-reveal:not(.is-visible) { translate: -10px 28px; rotate: 0deg; }
  .js .reveal-swoop[data-reveal-direction="right"].will-reveal:not(.is-visible) { translate: 10px 28px; rotate: 0deg; }
}

/* Community welcome gives shared interests a place ahead of the game servers. */
.community-welcome { border-top: 1px solid var(--line); }
.community-welcome-heading { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: start; margin-bottom: 38px; }
.community-welcome-heading .section-title { max-width: 430px; }
.community-welcome-heading .text-link { margin-top: 18px; }
.community-interests { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.community-interest { min-width: 0; padding: 30px; border: 1px solid var(--line); background: linear-gradient(140deg,#c68e650a,transparent 75%); }
.community-interest-number { display: block; color: var(--copper); font: 11px Consolas,monospace; letter-spacing: .1em; margin-bottom: 32px; }
.community-interest h3 { font-size: 25px; line-height: 1.25; letter-spacing: -.02em; margin-bottom: 16px; }
.community-interest p { color: var(--muted); font-size: 14px; margin: 0; }
.public-server-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.public-server-card { min-width: 0; background: var(--surface); border: 1px solid var(--line); padding: clamp(25px,3.5vw,40px); }
.public-server-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.public-server-top .eyebrow { margin: 0; }
.public-server-status { font-size: 11px; color: var(--copper); border: 1px solid #c68e6550; padding: 5px 9px; }
.public-server-card h3 { font-size: 29px; line-height: 1.25; margin-bottom: 15px; overflow-wrap: anywhere; }
.public-server-description { color: var(--muted); font-size: 14px; white-space: pre-line; overflow-wrap: anywhere; }
.public-server-address { margin-block: 28px; }
.public-server-address .server-address { font-size: clamp(20px,2.4vw,28px); overflow-wrap: anywhere; white-space: normal; }
.public-server-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.public-server-actions .button { font-size: 12px; padding: 13px 16px; }
.public-server-card .copy-feedback { margin-block: 10px; min-height: 24px; }
.public-server-status-note { display: block; color: var(--muted); font-size: 11px; line-height: 1.7; }
.public-server-instructions { font-size: 13px; color: var(--muted); margin-bottom: 25px; }
.public-server-instructions summary { color: var(--copper); cursor: pointer; padding-block: 5px; }
.public-server-instructions summary:focus-visible { outline: 2px solid var(--copper); outline-offset: 4px; }
.public-server-instructions p { margin: 14px 0 0; white-space: pre-line; overflow-wrap: anywhere; }
.community-server-state { border: 1px solid var(--line); padding: 35px; color: var(--muted); }
.community-server-state h3 { font-size: 25px; color: var(--ink); }
.community-server-state p { max-width: 630px; }
@media(max-width:820px) {
  .community-welcome-heading { grid-template-columns: 1fr; gap: 12px; }
  .community-interests { grid-template-columns: 1fr; gap: 16px; }
  .community-interest { padding: 28px; }
  .community-interest-number { margin-bottom: 20px; }
  .public-server-grid { grid-template-columns: 1fr; }
}
