body{--bg:#090a09;--accent:#e9a08c;background:#090a09}.site-header{height:95px}.site-header nav{background:#171916cc;border-radius:0}.site-header .header-cta{border-radius:0}.ascii-hero{height:100svh;min-height:760px;position:relative;overflow:hidden;background:#090a09}.ascii-hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.8;pointer-events:none}.ascii-topline{position:absolute;top:125px;left:4%;right:4%;display:flex;justify-content:space-between;font:10px monospace;letter-spacing:.1em;color:#a5ada4}.ascii-title{position:relative;padding:220px 5% 0;pointer-events:none}.ascii-title p{font:10px monospace;letter-spacing:.13em;margin:0 0 22px}.ascii-title h1{font-weight:400;font-size:clamp(70px,9.8vw,158px);line-height:.89;letter-spacing:-.065em;color:#e9a08c}.ascii-title h1 i{font-family:Georgia,serif;font-weight:400;color:#e5e9db}.ascii-caption{position:absolute;right:5%;bottom:135px;max-width:290px}.ascii-caption>span{font:9px monospace;color:#9baa97;letter-spacing:.04em}.ascii-caption p{font-size:21px;line-height:1.35;margin:15px 0 22px}.ascii-caption a{font:12px monospace;border-bottom:1px solid #e9a08c;padding-bottom:9px}.ascii-bottom{position:absolute;bottom:28px;left:4%;right:4%;display:flex;justify-content:space-between;gap:20px;align-items:center;border-top:1px solid #ffffff25;padding-top:16px;font:10px monospace;letter-spacing:.04em;color:#aeb6ab}.ascii-bottom button{background:transparent;border:1px solid #ffffff40;padding:9px 13px;font:inherit}.ascii-bottom button[aria-pressed=true]{background:#d9e0cd;color:#121612}.section{border-color:#ffffff20}.section .eyebrow{font-family:monospace;font-size:11px}.section h2{letter-spacing:-.045em}.capability-tabs button,.lab-frame{border-radius:0}.site-footer{background:#090a09}.ascii-hero:after{content:'+';position:absolute;top:170px;right:5%;font:18px monospace;color:#aeb6ab}@media(min-width:1600px){.ascii-title{padding-top:25vh}}@media(max-width:700px){.ascii-hero{min-height:830px}.ascii-topline{top:150px;font-size:8px;gap:15px}.ascii-title{padding:225px 6% 0}.ascii-title h1{font-size:clamp(65px,13vw,90px)}.ascii-title p{font-size:8px}.ascii-caption{bottom:125px;right:6%;max-width:235px}.ascii-caption p{font-size:19px}.ascii-bottom{font-size:8px;gap:10px}.ascii-bottom>span{display:none}.ascii-hero canvas{opacity:.65}}
.ascii-caption{isolation:isolate}.ascii-caption:before{content:"";position:absolute;inset:-35px;z-index:-1;background:radial-gradient(ellipse,#090a09ee 20%,#090a0900 72%);pointer-events:none}

.concept-options{position:absolute;z-index:4;top:164px;left:5%;display:flex;gap:6px}.concept-options a{font:10px monospace;color:#a7aea3;padding:10px 13px;border:1px solid #ffffff23;background:#090a09cc}.concept-options a[aria-current]{color:#edaa95;border-color:#e9a08c88;background:#e9a08c0c}.concept-options a:hover{color:#fff;border-color:#a5b19b}.concept-options a:focus-visible{outline:2px solid #edaa95;outline-offset:3px}.ascii-title{padding-top:245px}.ascii-hero canvas{opacity:.95}@media(max-width:700px){.concept-options{top:183px;left:6%;right:6%;gap:4px}.concept-options a{font-size:8px;padding:9px 6px;flex:1;text-align:center}.ascii-title{padding-top:253px}.ascii-title h1{font-size:60px}.ascii-caption{bottom:114px}.ascii-hero canvas{opacity:.85}}

.ascii-bottom{background:linear-gradient(transparent,#090a09 70%)}.ascii-caption:before{background:radial-gradient(ellipse,#090a09 15%,#090a09b0 45%,#090a0900 75%)}
.city-landmarks{position:absolute;inset:0;z-index:3;pointer-events:none}.city-landmarks button{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;border:1px solid #b9c4af55;background:#090a09e8;color:#d7ddce;font:10px monospace;letter-spacing:.04em;padding:8px 10px;white-space:nowrap}.city-landmarks button:before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#e9a08c;margin-right:8px}.city-landmarks button:after{content:'';height:20px;width:1px;background:#b9c4af55;position:absolute;top:100%;left:50%}.city-landmarks button:hover,.city-landmarks button[aria-pressed=true]{border-color:#e9a08c;color:#e9a08c}.city-landmarks button:focus-visible{outline:2px solid #e9a08c;outline-offset:3px}@media(max-width:700px){.city-landmarks button{font-size:8px;padding:6px}.city-landmarks button:after{height:12px}}

/* Fade artwork at the hero boundary, regardless of image crop or viewport. */
.ascii-hero #ascii-art{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 97%);mask-image:linear-gradient(to bottom,#000 0%,#000 65%,transparent 97%)}
