
:root{--bg:#111c2c;--ink:#e4e7ef;--accent:#b7bce0;--surface:#1c2b3e;--muted:#aeb7c8;--line:#38475e;--button-ink:#17243a;--forest:#b7bce0;--cream:#111c2c;--sage:#1c2b3e;--gold:#b7bce0}
body.tl,body.nx{background:var(--bg)!important;color:var(--ink);font-family:Be,Arial,sans-serif!important;margin:0}
body.nx .tl-shell{margin:0}body.nx .tl-main{max-width:none;padding:34px 4vw 65px}
body.nx .tl-main:has(.nx-hero){padding:0 4vw 65px}.nx main,.nx section,.nx aside,.nx figure{min-width:0}
.nx a{color:inherit}.nx a:hover{color:var(--accent)}
.nx-header{position:relative;z-index:10;border-bottom:1px solid var(--line);margin:0 4vw}
.nx-mast{display:flex;align-items:center;gap:24px;justify-content:space-between;padding:23px 0}
.nx-brand{display:flex;align-items:center;gap:13px;color:var(--ink)}.nx-brand img{width:52px;height:52px;object-fit:contain}
.nx-brand strong{display:block;font:600 25px/1.2 Lora,Georgia,serif}.nx-brand small{display:block;font:10px/1.7 Be,sans-serif;letter-spacing:.14em;margin-top:5px;color:var(--muted);text-transform:uppercase}
.nx-session{display:flex;gap:20px;align-items:center;font-size:12px}.nx-session a:last-child{padding:10px 17px;border:1px solid var(--line)}
.nx-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:0;border-top:1px solid var(--line);padding:0}
.nx-nav a{padding:15px 22px;font-size:12px;white-space:nowrap;border-right:1px solid var(--line)}
.nx-nav a:last-child{border:0}.nx-nav a:hover{background:var(--surface)}
.nx-menu{display:none;background:transparent;color:var(--ink);border:1px solid var(--line);padding:9px 13px}
.nx-title h1,.nx-hero h1{font:500 clamp(36px,4.6vw,68px)/1.15 Lora,Georgia,serif;letter-spacing:-.04em;white-space:pre-line;margin:18px 0 23px;color:var(--ink)}
.nx-eyebrow{font:600 10px/1.6 Be,sans-serif;letter-spacing:.19em;color:var(--accent);text-transform:uppercase}
.nx-lead{font:14px/1.9 Be,sans-serif;color:var(--muted);max-width:490px;margin:0 0 25px}
.nx-hero{position:relative;margin:35px auto 55px;max-width:1500px}.nx-art{margin:0;position:relative;overflow:hidden}
.nx-art img{width:100%;height:100%;object-fit:cover;object-position:var(--hero-position,center);display:block}
.nx-art figcaption{position:absolute;bottom:20px;left:20px;padding:8px 12px;background:var(--surface);color:var(--ink);font-size:10px;letter-spacing:.12em}
.nx-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:24px}
.nx .nx-button{display:inline-flex;padding:15px 25px;align-items:center;justify-content:center;gap:20px;background:var(--accent);color:var(--button-ink);border:1px solid var(--accent);font:600 13px/1.6 Be,Arial,sans-serif}
.nx .nx-button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.nx .nx-button:hover{filter:brightness(1.12)}
.nx-service{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid var(--line);background:var(--surface)}
.nx-service b{font:500 21px/1.3 Lora,Georgia,serif}.nx-service small{display:block;color:var(--muted);font:11px/1.8 Be,sans-serif;margin-top:6px}
.nx-service i{font:16px Lora,serif;color:var(--accent)}
.nx-board{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;margin:0 auto;max-width:1500px}
.nx-board>section{border-top:2px solid var(--accent);padding:25px 0;min-width:0}
.nx-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.nx-section-title h2{font:500 29px Lora,serif;margin:0}.nx-section-title a{font-size:11px}
.nx .inner-main{max-width:1320px}.nx .home-main{max-width:none;margin:0;padding:0 4vw}.nx .home-content{padding:0;background:none;border:0}
.nx-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 4vw;margin-top:30px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.nx-footer strong{font:600 20px Lora,serif;color:var(--ink)}
.nx .tl-panel,.nx .tl .tl-panel,.nx .tl-content .x_panel,.nx .tl-content .fm-detail-news{background:var(--surface)!important;border-color:var(--line);border-radius:2px;color:var(--ink)}
.nx .tl-note{background:var(--surface);color:var(--muted);border-color:var(--accent);font-size:11px}
.nx .tl-content input,.nx .tl-content select,.nx .tl-content textarea{background:var(--bg);color:var(--ink);border-color:var(--line)}
.nx .tl-button,.nx button[type=submit],.nx input[type=submit]{background:var(--accent);color:var(--button-ink);border-color:var(--accent);border-radius:2px}
.nx .tl-button.light{color:var(--ink);background:var(--surface);border-color:var(--line)}
.nx .tl-account-links a{border-radius:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink)}
.nx .tl-content .posts,.nx .tl-content .posts__list{background:var(--surface)!important;color:var(--ink)!important}
.nx table{color:var(--ink)}.nx .table-striped>tbody>tr:nth-of-type(odd){background:var(--surface)}
.nx .news,.nx .dacsac{background:transparent!important;border:0!important;color:var(--ink)!important}
.nx .news-tab,.nx .dacsac-tab{display:flex;gap:16px;flex-wrap:wrap;padding:0 0 10px;list-style:none;border-bottom:1px solid var(--line)}
.nx .news-tab a,.nx .dacsac-tab a{font:12px/1.7 Be,sans-serif;color:var(--muted)}.nx .news-tab .active,.nx .dacsac-tab .active{color:var(--accent)}
.nx .news-list{list-style:none;padding:0}.nx .news-list li{border-bottom:1px solid var(--line);padding:10px 0}
.nx .news-title{display:flex;gap:20px;justify-content:space-between}.nx .news-time{font-size:11px;color:var(--muted)}
.nx .rank-medal{width:24px;height:28px;object-fit:contain}
.nx .preview-badge{font-size:10px}.nx [aria-disabled=true]{opacity:.6}
.nx-header .session-links{font-size:12px}.nx-board table{width:100%}.nx .news-empty{color:var(--muted)}
.nx-2 .nx-navigation-bar{margin:0 4vw}.nx-2 .nx-nav{border:0;background:var(--surface)}.nx-orbit{display:grid;grid-template-columns:1fr 1.25fr .6fr;gap:35px;align-items:center;padding:20px 0}.nx-orbit .nx-art{aspect-ratio:1;border-radius:50%;border:10px double var(--line)}.nx-orbit h1{font-size:47px}.nx-orbit aside{display:flex;flex-direction:column;gap:20px}.nx-orbit .nx-service{background:none;border:0;border-bottom:1px solid var(--line);padding:20px 0}.nx-orbit .nx-service i{display:none}.nx-orbit .nx-orbit-actions{grid-column:2;justify-self:center}.nx-orbit .nx-actions{margin:0}.nx-2 .nx-board{background:var(--surface);padding:30px;gap:50px}.nx-2 .nx-board>section{border-top:1px solid var(--line)}

@media(max-width:1100px){.nx-0 .nx-header{display:block}.nx-0 .nx-nav{width:auto;justify-content:center}.nx-nav a{padding:13px 14px}.nx-hero h1{font-size:43px}.nx-orbit{gap:20px;grid-template-columns:1fr 1fr}.nx-orbit aside{grid-column:1/-1;flex-direction:row}.nx-orbit aside>*{flex:1}.nx-orbit .nx-orbit-actions{grid-column:1/-1}.nx-rain-home{min-height:620px}.nx-rain-scroll{margin-left:5%}.nx-market-heading{display:block}.nx-market-services{width:200px}.nx-market{grid-template-columns:200px 1fr}.nx-leaves{gap:35px}}
@media(max-width:760px){
.nx-header{margin:0 20px!important;display:block!important;padding:0!important}.nx-mast{padding:17px 0!important;flex-wrap:wrap;gap:14px!important;min-height:0!important}.nx-brand img{width:42px!important;height:42px!important}.nx-brand strong{font-size:22px!important}.nx-brand small{font-size:8px}.nx-session,.nx-header .session-links{font-size:11px;gap:14px}.nx-session{order:3!important;width:100%;justify-content:flex-end}.nx-menu{display:inline-flex!important;order:2;margin-left:auto;background:var(--surface);color:var(--ink)}
.nx .nx-nav{display:none!important}.nx.nav-open .nx-nav{display:flex!important;position:fixed!important;inset:110px 12px 25px!important;width:auto!important;height:auto!important;z-index:100;overflow-y:auto;background:var(--surface)!important;flex-direction:column!important;align-items:stretch;justify-content:flex-start!important;padding:20px!important;border:1px solid var(--line)}
.nx.nav-open .nx-nav a{padding:14px 16px!important;border:0;border-bottom:1px solid var(--line);flex:none;text-align:left}
.nx .home-main{padding:0 20px}.nx.tl .tl-main,.nx.tl .tl-main:has(.nx-hero){padding:22px 20px 35px}.nx-header-lower{display:flex!important;flex-wrap:wrap;padding:0 0 15px!important}.nx-topline{padding:15px 0}.nx-topline>.nx-eyebrow{display:none}
.nx-library .nx-brand{padding:15px 0}.nx-library .nx-brand img{width:50px!important;height:50px!important}
.nx-hero{margin:22px auto 35px!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:22px!important;min-height:0!important;align-items:stretch}
.nx-hero .nx-title,.nx-cloud-intro{padding:0!important}.nx-hero h1{font-size:38px!important;line-height:1.2;letter-spacing:-.04em;margin:12px 0 20px}.nx-lead{font-size:13px;margin-bottom:20px}
.nx-hero>.nx-art,.nx-leaves>.nx-art,.nx-cloud-home>.nx-art,.nx-stone-home>.nx-art{height:340px!important;width:100%;margin:0!important;clip-path:none!important;border-radius:0;order:0}
.nx-pass .nx-title{order:1}.nx-pass-index{order:2}.nx-pass-index,.nx-tide-services,.nx-sand-services,.nx-cloud-services,.nx-stone-services{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin:0!important}
.nx-service{padding:17px!important}.nx-service b{font-size:20px}.nx-service small{font-size:11px}.nx-actions{gap:10px}.nx .nx-button{padding:13px 18px}
.nx-library-home .nx-library-heading{display:block;padding:0}.nx-library-grid{display:flex;flex-direction:column-reverse;gap:20px}.nx-library-grid .nx-art{height:280px}.nx-library-grid .nx-actions{display:flex;margin-top:10px}.nx-library-grid .nx-button{width:auto}
.nx-orbit .nx-art{width:100%;max-width:330px;align-self:center;aspect-ratio:1;height:auto!important;border-radius:50%}.nx-orbit aside{flex-direction:column;gap:0}.nx-orbit .nx-orbit-actions{align-self:flex-start}
.nx-leaves .nx-art{height:400px!important;border-radius:45% 45% 0 0}.nx-leaf-actions .nx-actions{margin-bottom:20px}
.nx-tide .nx-title{padding:30px 23px!important}.nx-tide>.nx-art{height:280px!important}.nx-tide-services .nx-service{border:1px solid var(--line)}
.nx-triptych-pictures{gap:6px;grid-template-columns:.35fr 1fr .35fr}.nx-triptych .nx-art{height:200px}.nx-triptych .center{height:290px}.nx-triptych figcaption{font-size:8px;left:5px;right:5px;bottom:10px}.nx-sand-copy{display:block;padding:0}
.nx-rain{padding:18px 0!important}.nx-rain>.nx-brand{margin-bottom:18px}.nx-rain .nx-header-lower{justify-content:space-between}.nx-rain .session-links{order:1}.nx-rain-home>.nx-art{position:relative!important;height:280px!important}.nx-rain-scroll{width:auto;margin:-55px 14px 0;padding:28px 23px;box-shadow:none;z-index:1}.nx-rain-services{width:auto;margin:0;display:grid;gap:10px}.nx-rain-scroll .nx-lead{color:#62786b}.nx-rain-scroll h1{font-size:34px!important}
.nx-cloud-services>*{transform:none!important}.nx-market-heading{display:block}.nx-market-services{width:auto;display:flex;flex-direction:row;padding:0;gap:8px;order:3}.nx-market-services .nx-service{flex:1;padding:12px!important;gap:8px}.nx-market-services .nx-service b{font-size:15px}.nx-market-services .nx-service small,.nx-market-services .nx-service>span:last-child{display:none}.nx-market>.nx-art{height:290px!important}.nx-market-services i{font-size:15px}
.nx-stone .nx-brand{position:static;transform:none;order:0}.nx-stone-inscription{writing-mode:horizontal-tb;letter-spacing:.13em;align-self:flex-start}.nx-stone-home>.nx-art{height:350px!important;clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%)!important}.nx-stone-copy h1{font-size:36px!important}
.nx-board{grid-template-columns:1fr!important;padding:0!important;gap:22px!important;border:0!important}.nx-board>section{padding:22px 0!important;border-right:0!important;border-left:0!important}.nx-section-title h2{font-size:26px}.nx-footer{flex-direction:column;align-items:flex-start;padding:25px 20px 50px}.nx .inner-main{margin:28px auto}
.nx-hero figcaption{max-width:calc(100% - 30px)}.nx-art img{max-width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Final readability pass: headings keep their serif face; selected tabs remain legible. */
.nx.tl .nx-hero h1,.nx.tl .nx-board h2,.nx.tl .nx-service b{font-family:Lora,Georgia,serif!important}
.nx .news-tab a.active,.nx .dacsac-tab a.active,.nx .news-tab li.active>a,.nx .dacsac-tab li.active>a{background:var(--accent)!important;color:var(--button-ink)!important;padding:6px 10px}
.nx .news-tab a:not(.active),.nx .dacsac-tab a:not(.active){color:var(--muted)}
@media(min-width:761px){
.nx-2{padding-bottom:70px}.nx-2 .nx-navigation-bar{position:fixed;bottom:0;left:0;right:0;z-index:90;margin:0;padding:0 4vw;background:var(--surface);border-top:1px solid var(--line)}.nx-2 .nx-nav{padding:3px 0}.nx-2 .nx-nav a{padding:19px 22px}.nx-2 .nx-orbit{margin-top:30px}
.nx-cloud-home{grid-template-columns:1.5fr .8fr;gap:20px 50px}.nx-cloud-home .nx-cloud-intro{padding:5px 0 25px}.nx-cloud-home .nx-art{grid-column:1/-1;grid-row:2;height:370px;clip-path:polygon(0 8%,100% 0,100% 92%,0 100%)}.nx-cloud-home .nx-cloud-services{grid-column:2;grid-row:1;display:grid;gap:10px;margin:0;align-self:center}.nx-cloud-home .nx-cloud-services>*{transform:none;padding:14px 20px}.nx-cloud-home{margin-bottom:40px}
.nx-stone-home{display:block;min-height:650px;padding:10px 0 25px}.nx-stone-home .nx-art{width:68%;height:600px;margin:0 auto;clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%)}.nx-stone-inscription{position:absolute;right:0;top:35px;z-index:1}.nx-stone-copy{position:absolute;bottom:0;right:0;width:46%;padding:28px 35px;background:var(--surface);border:1px solid var(--line)}.nx-stone-copy h1{font-size:40px}.nx-stone-copy .nx-lead{font-size:12px;margin:0}.nx-stone-copy .nx-actions{margin-top:18px}.nx-stone-services{position:absolute;left:0;top:70px;width:210px;display:flex;flex-direction:column;gap:12px;border:0;padding:0}.nx-stone-services .nx-service{padding:22px;background:var(--surface);border:1px solid var(--line);gap:12px}.nx-stone-services .nx-service small{font-size:10px}
}

body.tl:not(.nx) .tl-brand img{background:var(--surface);border-radius:50%;width:80px;height:80px;padding:8px;margin-bottom:12px}

.nx-social .tl-rail-bottom{display:flex;flex-wrap:wrap;gap:12px 22px;border:0;padding:0;margin:0}.nx-social .tl-eyebrow{display:none}.nx-social .tl-rail-bottom a{font-size:11px}

/* R2: apply the public customization fields used by the original kit. */
:root{--bg:var(--cream);--accent:var(--forest);--surface:var(--sage)}
body.tl.nx{background-image:var(--brand-background,none)!important;background-position:center top!important;background-repeat:repeat!important;background-size:cover!important}
.nx-eyebrow{color:var(--gold)}
@font-face{font-family:Lora;src:url(../thanlong/fonts/Lora-Variable.ttf);font-weight:400 700;font-display:swap}
