:root { --bg:#0e0f10; --surface:#141517; --gold:#dab77b; --text:#f0ede6; --muted:#a9aaac; --border:#ffffff18; --serif:Georgia,'Times New Roman',serif; --sans:Arial,'Segoe UI',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:28px; }
body { margin:0; background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.7; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
button { font:inherit; cursor:pointer; }
a,button { touch-action:manipulation; }
a:focus-visible,button:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
h1,h2,h3,p,figure { margin:0; }
h1,h2 { font-family:var(--serif); font-weight:400; line-height:1.03; letter-spacing:-.045em; }
h1 { font-size:clamp(48px,5.25vw,77px); }
h2 { font-size:clamp(35px,3.7vw,52px); }
h3 { font-size:20px; font-weight:500; letter-spacing:-.45px; line-height:1.35; }
em { color:var(--gold); font-weight:400; font-style:normal; }
p { color:var(--muted); }
.wrap { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.section { padding:104px 0; }
.eyebrow { font-size:9px; letter-spacing:.22em; color:var(--gold); line-height:1.8; margin-bottom:25px; font-weight:500; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:30px; min-height:48px; padding:12px 23px; border-radius:30px; background:linear-gradient(110deg,#ebcc93,#c49b5f); color:#19160f; font-size:12px; font-weight:600; transition:transform .2s,filter .2s; line-height:1.5; }
.button:hover { transform:translateY(-2px); filter:brightness(1.1); }
.button span { font-size:19px; font-weight:400; }
.button-small { font-size:11px; min-height:40px; padding:9px 18px; gap:20px; }
.text-link { display:inline-flex; align-items:center; gap:15px; font-size:12px; padding:10px 0; color:var(--gold); }
.text-link span { font-size:20px; }
.text-link:hover { color:#f4dcb0; }
.skip { position:fixed; top:-100px; left:15px; z-index:50; padding:12px 20px; background:var(--gold); color:var(--bg); }
.skip:focus { top:10px; }
.header { position:relative; z-index:10; }
.header-inner { height:96px; display:flex; align-items:center; justify-content:space-between; gap:30px; border-bottom:1px solid var(--border); }
.brand { display:inline-flex; align-items:center; gap:12px; }
.brand>img { border-radius:10px; }
.brand>span { font-size:20px; letter-spacing:.2em; line-height:1.3; }
.brand small { display:block; color:var(--gold); font-size:7px; letter-spacing:.45em; margin-top:5px; }
nav { display:flex; align-items:center; gap:30px; font-size:12px; }
nav>a:not(.button) { color:#bfc0c1; padding:8px 0; }
nav>a:hover { color:var(--gold); }
nav>.button { margin-left:10px; }
.menu-toggle { display:none; }
.hero { overflow:hidden; background:radial-gradient(ellipse at 80% 40%,#39312422,transparent 60%); }
.hero-grid { display:grid; grid-template-columns:1.08fr 1fr; gap:25px; padding-top:61px; padding-bottom:69px; align-items:center; }
.hero-copy { position:relative; z-index:1; }
.hero .eyebrow { font-size:8px; letter-spacing:.18em; display:flex; align-items:center; gap:11px; }
.hero .eyebrow>span { width:23px; height:1px; background:var(--gold); flex:none; }
.lead { font-size:15px; line-height:1.9; max-width:410px; margin:26px 0 28px; }
.hero-actions { display:flex; gap:25px; align-items:center; flex-wrap:wrap; }
.hero-art { position:relative; width:100%; }
.hero-art>img { position:relative; width:100%; height:auto; mask-image:radial-gradient(ellipse at center,#000 38%,transparent 71%); }
.art-lines { position:absolute; inset:0; border:1px solid #d8b37b16; border-radius:50%; }
.art-lines:before { content:''; position:absolute; inset:25px; border:1px solid #d8b37b0d; border-radius:50%; }
.art-lines:after { content:''; position:absolute; left:50%; top:-25px; bottom:-25px; width:1px; background:linear-gradient(transparent,#d8b37b1c,transparent); }
.hero-art figcaption { display:flex; align-items:center; justify-content:center; gap:19px; font-size:8px; letter-spacing:.23em; color:#b9a789; margin-top:19px; }
.hero-art figcaption i { width:3px; height:3px; background:#bba079; border-radius:50%; }
.hero-bottom { display:flex; align-items:center; gap:30px; justify-content:space-between; border-top:1px solid var(--border); padding-block:24px; }
.hero-bottom>span { font-size:8px; letter-spacing:.2em; color:#c5b28f; }
.hero-bottom p { font-size:11px; }
.hero-bottom>a { border:1px solid #d8b37b44; color:var(--gold); border-radius:50%; width:36px; height:36px; display:grid; place-items:center; }
.solutions { background:#121315; border-block:1px solid #ffffff08; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:60px; margin-bottom:52px; }
.section-heading>p { font-size:14px; max-width:290px; line-height:1.8; }
.services { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #ab8f602e; border-radius:12px; overflow:hidden; }
.services article { padding:30px; }
.services article+article { border-left:1px solid #ab8f602e; }
.service-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:31px; }
.service-top>span { font-size:10px; font-family:monospace; color:#978972; }
.service-top svg { width:30px; height:30px; stroke:var(--gold); stroke-width:1.3; }
.services h3 { min-height:54px; margin-bottom:17px; }
.services p { font-size:13px; line-height:1.85; }
.service-caption { display:block; font-size:8px; letter-spacing:.13em; color:#bfa783; margin-top:30px; }
.product { background:#0e0f10; }
.product-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:105px; }
.product-visual { padding:27px 30px; background:radial-gradient(ellipse at center,#31382b44,transparent 70%),#131715; border:1px solid #6a785542; border-radius:12px; }
.product-visual-top { display:flex; align-items:center; justify-content:space-between; color:#a8b2a0; font-size:8px; letter-spacing:.12em; }
.product-visual-top>span:last-child { font-size:22px; }
.nodeaccess-brand { display:flex; justify-content:center; align-items:center; gap:13px; padding-top:62px; }
.nodeaccess-brand strong { font-size:33px; letter-spacing:-1.7px; font-weight:600; }
.nodeaccess-brand strong>span { font-weight:400; }
.product-visual>p { text-align:center; font-size:11px; margin-top:17px; color:#b2b9ab; }
.connection { display:flex; justify-content:center; align-items:center; margin-block:38px 49px; font-size:9px; color:#bec6b7; }
.connection>span { border:1px solid #77846844; border-radius:5px; padding:9px; }
.connection .connection-center { background:#d2dba814; color:#d3e0b8; }
.connection>i { width:24px; height:1px; background:#77846866; }
.product-tags { border-top:1px solid #77846833; padding-top:19px; display:flex; justify-content:space-between; gap:10px; font-size:8px; letter-spacing:.08em; color:#a8b79b; }
.product-copy>p:not(.eyebrow) { margin-top:25px; font-size:14px; line-height:1.9; }
.product-copy ul { margin:23px 0 29px; padding:0; list-style:none; }
.product-copy li { font-size:12px; color:#c1c0bb; padding-block:5px; display:flex; gap:11px; }
.product-copy li:before { content:'↗'; color:var(--gold); }
.about { border-top:1px solid var(--border); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.about-copy>p { font-size:14px; margin-bottom:20px; max-width:465px; line-height:1.9; }
.about-copy .about-intro { font-size:23px; color:#e0ddd5; letter-spacing:-.45px; line-height:1.5; }
.contact { background:#191815; padding:74px 0; border-block:1px solid #c5a56e2a; }
.contact-inner { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.contact h2 { font-size:44px; }
.contact-action { display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.email { font-size:14px; color:#e2cfaa; border-bottom:1px solid #d8b37b40; padding-bottom:5px; }
.email:hover { color:#fff1d5; }
.contact-action>span { font-size:10px; color:#a9a59d; }
footer { padding:29px 0; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:25px; }
.footer-inner .brand>span { font-size:15px; }
.footer-inner .brand small { font-size:6px; }
.footer-inner p { font-size:10px; color:#b1a692; }
.footer-inner>span { font-size:9px; color:#929290; }
@media(max-width:1000px) {
  .wrap { width:calc(100% - 64px); }
  nav { gap:22px; }
  nav>.button { margin-left:0; }
  .hero h1 { font-size:59px; }
  .hero-grid { gap:0; }
  .hero .eyebrow { font-size:7px; letter-spacing:.12em; }
  .product-grid,.about-grid { gap:55px; }
  .services article { padding:25px; }
  .nodeaccess-brand strong { font-size:27px; }
  .nodeaccess-brand img { width:36px; height:36px; }
  .product-visual { padding:24px; }
  .contact h2 { font-size:38px; }
}
@media(max-width:760px) {
  .wrap { width:calc(100% - 40px); }
  .header-inner { height:80px; }
  .brand>span { font-size:18px; }
  .brand>img { width:32px; height:32px; }
  .menu-toggle { display:flex; align-items:center; gap:10px; border:1px solid #d8b37b44; background:transparent; color:#e4d2b2; padding:9px 13px; border-radius:5px; font-size:12px; min-height:42px; }
  nav { position:absolute; top:80px; left:0; right:0; padding:14px 20px 25px; flex-direction:column; align-items:stretch; gap:0; background:#171718; border-bottom:1px solid #d8b37b33; box-shadow:0 16px 30px #0006; }
  nav>a:not(.button) { padding:13px 0; }
  nav>.button { margin-top:10px; }
  .js nav:not(.is-open) { display:none; }
  body:not(.js) .header-inner { height:auto; padding-block:20px; flex-wrap:wrap; }
  body:not(.js) nav { position:static; flex-basis:100%; box-shadow:none; border:0; }
  body:not(.js) .menu-toggle { display:none; }
  .hero-grid { grid-template-columns:1fr; padding-top:49px; padding-bottom:35px; }
  .hero h1 { font-size:clamp(47px,9.4vw,66px); }
  .hero .eyebrow { font-size:7px; letter-spacing:.1em; }
  .lead { font-size:14px; max-width:480px; margin:23px 0; }
  .hero-actions { gap:19px; }
  .button { font-size:12px; padding:12px 19px; gap:20px; }
  .hero-art { max-width:470px; margin:28px auto 0; }
  .hero-art img { max-height:360px; width:100%; object-fit:contain; }
  .art-lines { inset:10px 45px 35px; }
  .hero-art figcaption { margin-top:0; font-size:7px; }
  .hero-bottom { gap:14px; padding-block:21px; }
  .hero-bottom>span { font-size:7px; max-width:95px; }
  .hero-bottom p { font-size:10px; max-width:170px; }
  .hero-bottom>a { flex:none; width:32px; height:32px; }
  .section { padding:65px 0; }
  h2 { font-size:39px; }
  .eyebrow { font-size:8px; letter-spacing:.16em; margin-bottom:22px; }
  .section-heading { display:block; margin-bottom:33px; }
  .section-heading>p { margin-top:22px; max-width:400px; font-size:13px; }
  .services { grid-template-columns:1fr; }
  .services article { padding:27px; }
  .services article+article { border-left:0; border-top:1px solid #ab8f602e; }
  .services h3 { min-height:0; font-size:21px; margin-bottom:15px; }
  .service-top { margin-bottom:22px; }
  .service-caption { margin-top:22px; }
  .product-grid { grid-template-columns:1fr; gap:39px; }
  .product-copy { grid-row:1; }
  .product-visual { max-width:500px; width:100%; margin:auto; }
  .nodeaccess-brand strong { font-size:32px; }
  .product-copy>p:not(.eyebrow) { font-size:14px; }
  .about-grid { grid-template-columns:1fr; gap:30px; }
  .about-copy .about-intro { font-size:22px; }
  .about-copy>p { font-size:14px; }
  .contact { padding:57px 0; }
  .contact-inner { flex-direction:column; align-items:flex-start; gap:31px; }
  .contact h2 { font-size:clamp(32px,8.6vw,41px); }
  .email { font-size:13px; }
  .footer-inner { flex-wrap:wrap; gap:22px; }
  .footer-inner p { max-width:155px; font-size:9px; text-align:right; }
  .footer-inner>span { flex-basis:100%; font-size:9px; padding-top:15px; border-top:1px solid var(--border); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { transition:none!important; animation:none!important; }
}
