body { margin:0; background:#0b121a; color:#edf5f7; color-scheme:dark; }
.cursor-interaction { cursor:pointer; }
#cg-directions { width:100%; }
#cg-directions .cg-site { --cg-bg:#111211; --cg-fg:#efede5; --cg-muted:#afafa4; --cg-line:#34362f; --cg-accent:#dfb57c; background:var(--cg-bg); color:var(--cg-fg); font-family:'Space Grotesk',sans-serif; font-size:16px; line-height:1.6; min-height:1920px; display:flex; flex-direction:column; overflow:clip; }
#cg-directions .cg-site, #cg-directions .cg-site * { box-sizing:border-box; }
#cg-directions .cg-site [hidden] { display:none!important; }
#cg-directions .cg-site a { color:inherit; text-decoration:none; }
#cg-directions .cg-site a:hover { color:var(--cg-accent); }
#cg-directions .cg-site a:focus-visible, #cg-directions .cg-site button:focus-visible, #cg-directions .cg-site summary:focus-visible { outline:2px solid var(--cg-accent); outline-offset:6px; }
#cg-directions .cg-site p, #cg-directions .cg-site h1, #cg-directions .cg-site h2, #cg-directions .cg-site h3 { margin:0; }
#cg-directions .cg-wrap { padding-inline:clamp(24px,5vw,64px); }
#cg-directions .cg-header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-block:28px; border-bottom:1px solid var(--cg-line); position:relative; z-index:2; }
#cg-directions .cg-brand { font-size:16px; font-weight:600; letter-spacing:-.04em; display:flex; align-items:center; gap:12px; }
#cg-directions .cg-brand-mark { color:var(--cg-accent); font-family:'IBM Plex Mono',monospace; font-size:30px; line-height:1; }
#cg-directions .cg-nav { display:flex; flex-wrap:wrap; gap:24px; font-size:13px; }
#cg-directions .cg-label { font-family:'IBM Plex Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.12em; line-height:1.7; }
#cg-directions .cg-muted { color:var(--cg-muted); }
#cg-directions .cg-accent { color:var(--cg-accent); }
#cg-directions .cg-hero { position:relative; isolation:isolate; min-height:535px; padding-block:70px 52px; }
#cg-directions .cg-hero-copy { position:relative; z-index:1; max-width:660px; }
#cg-directions .cg-hero h1 { font-size:clamp(56px,7.9vw,91px); font-weight:400; line-height:1.02; letter-spacing:-.04em; margin:22px 0 24px; }
#cg-directions .cg-hero .cg-deck { font-size:17px; color:var(--cg-muted); max-width:470px; line-height:1.75; }
#cg-directions .cg-actions { display:flex; flex-wrap:wrap; gap:14px 28px; align-items:center; margin-top:30px; }
#cg-directions .cg-action { font-size:13px; font-weight:500; padding:12px 0; display:inline-flex; gap:16px; align-items:center; border-bottom:1px solid var(--cg-line); }
#cg-directions .cg-action-primary { padding:12px 19px; color:var(--cg-bg)!important; background:var(--cg-accent); border:1px solid var(--cg-accent); }
#cg-directions .cg-action-primary:hover { filter:brightness(1.09); }
#cg-directions .cg-location { position:relative; z-index:1; margin-top:40px!important; }
#cg-directions .cg-field { position:absolute; inset:0; z-index:0; width:100%; height:100%; pointer-events:none; }
#cg-directions .cg-motion { position:absolute; right:28px; bottom:23px; z-index:2; border:1px solid var(--cg-line); border-radius:30px; padding:9px 13px; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--cg-muted); background:var(--cg-bg); }
#cg-directions .cg-motion:hover { color:var(--cg-fg); border-color:var(--cg-accent); }
#cg-directions .cg-section { position:relative; padding-block:48px; border-top:1px solid var(--cg-line); }
#cg-directions .cg-section-head { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:12px; margin-bottom:27px; }
#cg-directions .cg-section h2 { font-weight:400; font-size:37px; letter-spacing:-.045em; line-height:1.2; }
#cg-directions .cg-small-link { font-size:12px; border-bottom:1px solid var(--cg-line); padding:6px 0; }
#cg-directions .cg-about { display:grid; grid-template-columns:1fr 1.45fr; gap:48px; }
#cg-directions .cg-about h2 { max-width:260px; }
#cg-directions .cg-about-text p { color:var(--cg-muted); font-size:15px; margin-bottom:17px; }
#cg-directions .cg-about-text strong { color:var(--cg-fg); font-weight:500; }
#cg-directions .cg-focus-list { list-style:none; padding:0; margin:23px 0 0; display:flex; flex-wrap:wrap; gap:9px 18px; font-size:12px; color:var(--cg-accent); }
#cg-directions .cg-history { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:33px; padding-top:24px; border-top:1px solid var(--cg-line); }
#cg-directions .cg-history .cg-year { display:block; font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--cg-accent); margin-bottom:7px; }
#cg-directions .cg-history p { font-size:12px; color:var(--cg-muted); }
#cg-directions .cg-history h3 { font-size:13px; font-weight:500; margin-bottom:5px; }
#cg-directions .cg-contact { padding-block:48px 30px; margin-top:auto; }
#cg-directions .cg-contact-top { display:flex; justify-content:space-between; gap:28px; align-items:center; }
#cg-directions .cg-contact h2 { font-size:clamp(34px,4.8vw,52px); max-width:570px; }
#cg-directions .cg-contact p { font-size:14px; color:var(--cg-muted); max-width:470px; margin-top:16px; }
#cg-directions .cg-footer { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; border-top:1px solid var(--cg-line); margin-top:36px; padding-top:19px; }
#cg-directions .cg-footer-links { display:flex; flex-wrap:wrap; gap:18px; font-size:12px; }
#cg-directions .cg-lab { --cg-bg:#0b121a; --cg-fg:#edf5f7; --cg-muted:#a1b4c0; --cg-line:#273643; --cg-accent:#99dce7; font-family:'Space Grotesk',sans-serif; }
#cg-directions .cg-lab .cg-brand-mark { font-family:'IBM Plex Mono',monospace; font-size:23px; }
#cg-directions .cg-lab .cg-header { padding-block:24px; }
#cg-directions .cg-lab .cg-hero { min-height:550px; padding-top:63px; }
#cg-directions .cg-lab .cg-hero-copy { max-width:750px; }
#cg-directions .cg-lab .cg-hero h1 { font-size:clamp(48px,6.9vw,80px); font-weight:500; line-height:1.05; max-width:720px; margin-top:27px; }
#cg-directions .cg-lab .cg-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0b121ae8,#0b121a7f 63%,#0b121a0d); pointer-events:none; }
#cg-directions .cg-lab .cg-field { opacity:.55; }
#cg-directions .cg-lab .cg-action-primary { border-radius:3px; }
#cg-directions .cg-lab .cg-section-head h2 { font-size:30px; font-weight:500; }
#cg-directions .cg-lab-work { display:flex; flex-direction:column; }
#cg-directions .cg-lab-work details { border-top:1px solid var(--cg-line); }
#cg-directions .cg-lab-work details:last-child { border-bottom:1px solid var(--cg-line); }
#cg-directions .cg-lab-work summary { list-style:none; display:grid; grid-template-columns:40px 1.2fr 1fr 24px; gap:18px; align-items:center; padding:25px 0; }
#cg-directions .cg-lab-work summary::-webkit-details-marker { display:none; }
#cg-directions .cg-lab-work summary h3 { font-size:27px; letter-spacing:-.04em; font-weight:500; }
#cg-directions .cg-lab-work summary .cg-plus { font-size:24px; font-weight:400; color:var(--cg-accent); transition:transform .2s; }
#cg-directions .cg-lab-work details[open] .cg-plus { transform:rotate(45deg); }
#cg-directions .cg-lab-work .cg-detail { padding:0 45px 25px 58px; display:grid; grid-template-columns:1.3fr 1fr; gap:25px; }
#cg-directions .cg-lab-work .cg-detail p { color:var(--cg-muted); font-size:14px; line-height:1.75; }
#cg-directions .cg-lab-work .cg-detail .cg-detail-side { font-family:'IBM Plex Mono',monospace; font-size:11px; line-height:1.9; border-left:1px solid var(--cg-line); padding-left:22px; }
#cg-directions .cg-lab-work .cg-detail a { display:inline-block; margin-top:14px; }
#cg-directions .cg-lab .cg-about { grid-template-columns:1fr 1.4fr; }
#cg-directions .cg-lab .cg-about h2 { font-size:36px; line-height:1.12; }
#cg-directions .cg-lab .cg-history { grid-template-columns:1fr 1fr; gap:21px; }
#cg-directions .cg-lab .cg-history > div { padding-left:17px; border-left:1px solid var(--cg-line); }
#cg-directions .cg-lab .cg-contact { background:#101c27; }
#cg-directions .cg-lab .cg-contact h2 { font-weight:500; letter-spacing:-.05em; }
#cg-directions .cg-mini-note { font-size:12px; color:var(--cg-muted); margin-top:22px!important; }
@media (max-width:700px) {
  #cg-directions .cg-site { min-height:3050px; }
  #cg-directions .cg-wrap { padding-inline:24px; }
  #cg-directions .cg-header { flex-direction:column; align-items:flex-start; gap:15px; padding-block:23px; }
  #cg-directions .cg-nav { gap:22px; }
  #cg-directions .cg-hero, #cg-directions .cg-lab .cg-hero{ min-height:580px; padding-block:49px 62px; }
  #cg-directions .cg-hero h1, #cg-directions .cg-lab .cg-hero h1{ font-size:clamp(42px,10vw,66px); }
  #cg-directions .cg-hero .cg-deck { font-size:16px; }
  #cg-directions .cg-field { opacity:.32!important; }
  #cg-directions .cg-hero::after { background:linear-gradient(90deg,var(--cg-bg),transparent)!important; }
  #cg-directions .cg-motion { right:23px; bottom:16px; padding:11px 14px; }
  #cg-directions .cg-section { padding-block:36px; }
  #cg-directions .cg-section h2 { font-size:31px; }
 #cg-directions .cg-about, #cg-directions .cg-lab .cg-about{ grid-template-columns:1fr; gap:29px; }
  #cg-directions .cg-history { grid-template-columns:1fr 1fr; gap:24px; }
  #cg-directions .cg-contact-top { flex-direction:column; align-items:flex-start; gap:15px; }
  #cg-directions .cg-about h2 { max-width:100%; }
  #cg-directions .cg-lab-work summary { grid-template-columns:24px 1fr 20px; gap:12px; }
  #cg-directions .cg-lab-work summary h3 { font-size:24px; }
  #cg-directions .cg-lab-work summary .cg-summary-kind { display:none; }
  #cg-directions .cg-lab-work .cg-detail { padding:0 0 23px 36px; grid-template-columns:1fr; gap:18px; }
  #cg-directions .cg-lab .cg-history { grid-template-columns:1fr; }
  #cg-directions .cg-location { margin-top:30px!important; max-width:235px; }
  #cg-directions .cg-footer { gap:15px; }
}
@media (prefers-reduced-motion:reduce) {
  #cg-directions .cg-site * { scroll-behavior:auto!important; transition:none!important; }
}
