:root {
  --tnm-ink: #10212b;
  --tnm-muted: #5d6b73;
  --tnm-accent: #0b7285;
  --tnm-accent-dark: #075968;
  --tnm-soft: #f4f7f8;
  --tnm-border: #e3e9ec;
  --tnm-white: #fff;
  --tnm-shadow: 0 18px 50px rgba(16, 33, 43, .10);
}
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--tnm-ink); background: #fff; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
a { color: var(--tnm-accent); }
a:hover { color: var(--tnm-accent-dark); }
.tnm-nav { background: rgba(255,255,255,.96); border-bottom: 1px solid var(--tnm-border); position: sticky; top: 0; z-index: 1000; backdrop-filter: blur(12px); }
.tnm-nav .navbar-brand img { width: 68px; height: auto; object-fit: contain; }
.tnm-nav .navbar-brand span { font-weight: 700; letter-spacing: -.02em; color: var(--tnm-ink); }
.tnm-nav .nav-link { color: var(--tnm-ink); font-weight: 600; padding: .75rem .9rem !important; }
.tnm-nav .nav-link:hover { color: var(--tnm-accent); }
.tnm-btn { display: inline-flex; align-items: center; justify-content: center; border-radius: 999px; padding: .8rem 1.25rem; font-weight: 700; text-decoration: none; border: 1px solid transparent; transition: .2s ease; }
.tnm-btn-primary { color: #fff; background: var(--tnm-accent); box-shadow: 0 8px 24px rgba(11,114,133,.22); }
.tnm-btn-primary:hover { color: #fff; background: var(--tnm-accent-dark); transform: translateY(-1px); }
.tnm-btn-light { color: var(--tnm-ink); background: #fff; border-color: var(--tnm-border); }
.tnm-btn-light:hover { color: var(--tnm-ink); border-color: #cbd6da; transform: translateY(-1px); }
.tnm-hero { min-height: 650px; display: flex; align-items: center; background: linear-gradient(90deg, rgba(8,28,38,.94) 0%, rgba(8,28,38,.82) 45%, rgba(8,28,38,.22) 100%), url('../media/software-development.jpg') center/cover no-repeat; color: #fff; }
.tnm-hero .eyebrow, .tnm-eyebrow { text-transform: uppercase; letter-spacing: .13em; font-size: .78rem; font-weight: 800; opacity: .82; }
.tnm-hero h1 { font-size: clamp(2.7rem, 6vw, 5.2rem); line-height: 1.02; letter-spacing: -.045em; font-weight: 800; max-width: 850px; margin: .7rem 0 1.25rem; }
.tnm-hero p { font-size: clamp(1.05rem, 2vw, 1.3rem); max-width: 720px; color: rgba(255,255,255,.9); }
.tnm-hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem; }
.tnm-section { padding: 100px 0; }
.tnm-section-soft { background: var(--tnm-soft); }
.tnm-section h2 { font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.035em; font-weight: 800; margin-bottom: 1rem; }
.tnm-lead { color: var(--tnm-muted); font-size: 1.12rem; max-width: 760px; }
.tnm-intro { max-width: 850px; }
.tnm-kicker { color: var(--tnm-accent); font-weight: 800; font-size: .85rem; text-transform: uppercase; letter-spacing: .12em; }
.tnm-feature { height: 100%; padding: 2rem; background: #fff; border: 1px solid var(--tnm-border); border-radius: 1.25rem; transition: .2s ease; }
.tnm-feature:hover { transform: translateY(-4px); box-shadow: var(--tnm-shadow); }
.tnm-feature h3 { font-size: 1.35rem; font-weight: 800; margin: .9rem 0 .6rem; }
.tnm-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 12px; background: #e4f3f5; color: var(--tnm-accent-dark); font-weight: 900; }
.tnm-process { position: relative; height: 100%; padding: 1.6rem 1.5rem; border-left: 2px solid #cbdde1; }
.tnm-process .number { font-size: .8rem; font-weight: 900; color: var(--tnm-accent); letter-spacing: .1em; }
.tnm-process h3 { font-size: 1.2rem; font-weight: 800; margin: .45rem 0; }
.tnm-card { height: 100%; border: 1px solid var(--tnm-border); border-radius: 1.25rem; overflow: hidden; background: #fff; box-shadow: 0 5px 20px rgba(16,33,43,.04); }
.tnm-card-body { padding: 1.7rem; }
.tnm-card h3 { font-weight: 800; }
.tnm-card-link { font-weight: 800; text-decoration: none; }
.tnm-cta { padding: 85px 0; background: var(--tnm-ink); color: #fff; }
.tnm-cta p { color: rgba(255,255,255,.78); max-width: 720px; font-size: 1.1rem; }
.tnm-footer { background: #0b171d; color: rgba(255,255,255,.72); padding: 60px 0 25px; }
.tnm-footer h5 { color: #fff; font-weight: 800; }
.tnm-footer a { color: rgba(255,255,255,.72); text-decoration: none; }
.tnm-footer a:hover { color: #fff; }
.tnm-footer .brand { color: #fff; font-weight: 800; }
@media (max-width: 991.98px) { .tnm-hero { min-height: 590px; } .tnm-section { padding: 75px 0; } }
@media (max-width: 575.98px) { .tnm-hero { min-height: 600px; background-position: 62% center; } .tnm-hero h1 { font-size: 2.65rem; } .tnm-section { padding: 60px 0; } .tnm-btn { width: 100%; } }
.tnm-page-hero{padding:100px 0 90px;background:var(--tnm-soft);border-bottom:1px solid var(--tnm-border)}
.tnm-page-hero h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:1.05;letter-spacing:-.045em;font-weight:800;max-width:900px;margin:.6rem 0 1rem}.tnm-page-hero p{font-size:1.2rem;color:var(--tnm-muted);max-width:760px}.tnm-person{display:flex;gap:1.5rem;align-items:center;padding:1.5rem;background:#fff;border:1px solid var(--tnm-border);border-radius:1.25rem}.tnm-person img{width:120px;height:120px;object-fit:cover;border-radius:1rem}.tnm-person h3{font-size:1.2rem;font-weight:800}.tnm-form .form-control{border-radius:.8rem;border-color:var(--tnm-border);padding:.8rem 1rem}.tnm-form .form-control:focus{border-color:var(--tnm-accent);box-shadow:0 0 0 .2rem rgba(11,114,133,.12)}.tnm-nav .nav-link.active{color:var(--tnm-accent)}

.tnm-mini-card{padding:1rem;border:1px solid var(--tnm-border,#dfe7ea);border-radius:1rem;background:#fff;display:flex;flex-direction:column;gap:.25rem}.tnm-mini-card span{font-size:.9rem;color:#66777d}.tnm-card.overflow-hidden img{max-height:300px;object-fit:cover}

/* TNM Premium Layer */
:root{--tnm-accent-2:#43c6d9;--tnm-dark:#07151c;--tnm-card:#10252f}
.tnm-nav{box-shadow:0 1px 0 rgba(16,33,43,.04)}
.tnm-btn{gap:.55rem;position:relative;overflow:hidden}.tnm-btn span{transition:transform .25s ease}.tnm-btn:hover span{transform:translate(2px,-2px)}
.tnm-btn-glass{color:#fff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.28);backdrop-filter:blur(12px)}.tnm-btn-glass:hover{color:#fff;background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.45)}
.tnm-hero-premium{min-height:760px;position:relative;overflow:hidden;background:radial-gradient(circle at 78% 50%,rgba(67,198,217,.18),transparent 28%),linear-gradient(120deg,#06151c 0%,#0a202a 55%,#09212a 100%)}
.tnm-hero-premium:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,17,23,.18),transparent 55%);pointer-events:none}.tnm-grid-glow{position:absolute;inset:0;opacity:.22;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(circle at 75% 50%,#000,transparent 62%)}
.tnm-hero-premium h1{font-size:clamp(3.4rem,7vw,6.5rem);max-width:780px;margin:1rem 0 1.5rem}.tnm-hero-premium h1 span{color:#7ee5f1}.tnm-hero-premium .hero-copy{font-size:clamp(1.15rem,2vw,1.4rem);max-width:650px}.pulse-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7ee5f1;box-shadow:0 0 0 7px rgba(126,229,241,.1);margin-right:8px}.hero-proof{display:flex;align-items:center;gap:14px;margin-top:2.2rem;color:rgba(255,255,255,.65);font-size:.84rem}.hero-proof i{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.35)}
.hero-visual{height:520px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid rgba(126,229,241,.18);border-radius:50%;animation:spin 18s linear infinite}.orbit-one{width:420px;height:420px}.orbit-two{width:300px;height:300px;animation-direction:reverse;animation-duration:13s}.orbit:before{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#7ee5f1;top:14%;left:7%;box-shadow:0 0 22px #7ee5f1}.code-panel{position:relative;width:min(430px,90%);padding:18px 18px 22px;border:1px solid rgba(255,255,255,.14);background:rgba(9,26,35,.88);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35);backdrop-filter:blur(18px);z-index:2}.code-top{display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:13px;margin-bottom:16px}.code-top span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.3)}.code-top b{margin-left:auto;font-size:.7rem;color:rgba(255,255,255,.42);font-weight:600}.code-lines{font:500 .78rem/2.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d5e2e6;white-space:nowrap}.code-lines em{font-style:normal;color:#52707a;display:inline-block;width:30px}.code-lines.indent{padding-left:24px}.code-blue{color:#76dbe8}.code-purple{color:#caa8ff}.code-green{color:#9de1b5}.floating-card{position:absolute;z-index:3;background:rgba(255,255,255,.96);color:var(--tnm-ink);border:1px solid rgba(255,255,255,.55);box-shadow:0 18px 45px rgba(0,0,0,.28);border-radius:16px;padding:16px 18px}.floating-card small{display:block;font-size:.62rem;letter-spacing:.12em;color:#71828a;font-weight:800}.floating-card strong{display:block;font-size:.88rem;margin-top:4px}.card-top{right:-8px;top:76px;width:165px}.card-top b{display:block;font-size:.68rem;text-align:right;color:var(--tnm-accent);margin-top:5px}.progress{height:5px;background:#e8eef0;border-radius:9px;margin-top:10px;overflow:hidden}.progress span{display:block;width:72%;height:100%;background:var(--tnm-accent);border-radius:9px}.card-bottom{left:-12px;bottom:74px;display:flex;align-items:center;gap:10px}.mini-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#e4f5f4;color:#087d70;font-weight:900}
@keyframes spin{to{transform:rotate(360deg)}}
.tnm-section-dark-process{background:#07151c;color:#fff;position:relative;overflow:hidden}.tnm-section-dark-process:before{content:"";position:absolute;width:520px;height:520px;right:-220px;top:-220px;border-radius:50%;background:rgba(67,198,217,.12);filter:blur(10px)}.tnm-section-dark-process h2{color:#fff}.tnm-section-dark-process .tnm-eyebrow{color:#7ee5f1}.tnm-section-dark-process .row>div>p{color:rgba(255,255,255,.65);font-size:1.08rem}.premium-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:60px}.timeline-line{position:absolute;left:5%;right:5%;top:15px;height:1px;background:linear-gradient(90deg,rgba(126,229,241,.1),rgba(126,229,241,.6),rgba(126,229,241,.1))}.premium-timeline article{position:relative;padding:0 22px 20px}.premium-timeline article>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(126,229,241,.6);border-radius:50%;background:#07151c;color:#7ee5f1;font-size:.7rem;font-weight:900;position:relative;z-index:2}.premium-timeline article h3{font-size:1.25rem;margin:28px 0 8px}.premium-timeline article p{color:rgba(255,255,255,.6);font-size:.94rem;max-width:240px}
.tnm-feature,.tnm-card{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,border-color .3s ease}.tnm-feature:hover,.tnm-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px rgba(16,33,43,.12);border-color:rgba(11,114,133,.24)}
@media(max-width:991.98px){.tnm-hero-premium{min-height:650px}.premium-timeline{grid-template-columns:repeat(2,1fr);gap:30px}.timeline-line{display:none}}
@media(max-width:575.98px){.tnm-hero-premium{min-height:650px}.tnm-hero-premium h1{font-size:3.15rem}.hero-proof{flex-wrap:wrap;gap:9px}.hero-proof i{display:none}.tnm-section-dark-process{padding-top:65px;padding-bottom:65px}.premium-timeline{grid-template-columns:1fr}.tnm-btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit{animation:none}.tnm-feature,.tnm-card,.tnm-btn span{transition:none}}
.reveal-item{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal-item.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal-item{opacity:1;transform:none;transition:none}}

/* Legal pages */
.legal-page-hero{padding-bottom:70px}
.tnm-legal-section{padding:72px 0 100px;background:var(--tnm-soft)}
.tnm-legal-card{max-width:980px;margin:0 auto;background:#fff;border:1px solid var(--tnm-border);border-radius:1.5rem;box-shadow:0 18px 55px rgba(16,33,43,.07);overflow:hidden}
.tnm-legal-body{padding:clamp(1.5rem,4vw,3.5rem)}
.tnm-legal-body h1,.tnm-legal-body h2,.tnm-legal-body h3,.tnm-legal-body h4{color:var(--tnm-ink);font-weight:800;line-height:1.2;margin-top:2rem;margin-bottom:.75rem}
.tnm-legal-body h1{font-size:2rem;margin-top:0}
.tnm-legal-body h4{font-size:1.08rem}
.tnm-legal-body p{color:var(--tnm-muted);line-height:1.75;margin-bottom:1rem}
.tnm-legal-body .sndocmheader,.tnm-legal-body .sndocmsubheader,.tnm-legal-body .sndocmpheader{color:var(--tnm-ink);font-weight:800;line-height:1.3}
.tnm-legal-body .sndocmheader{font-size:1.8rem}
.tnm-legal-body .sndocmsubheader{font-size:1.1rem;margin-top:2rem}
.tnm-legal-body a{color:var(--tnm-accent);text-decoration:underline;text-underline-offset:3px}
.tnm-contact-feature{height:auto;align-self:flex-start}
@media(max-width:575.98px){.tnm-legal-section{padding:48px 0 70px}.tnm-legal-body{padding:1.25rem}.tnm-legal-body p{font-size:.96rem}}
