/* Nrọ Données visual identity — override layer on the original Prism Flux stylesheet.
   The original carousel geometry, card transitions and floating effects are retained. */
:root {
  --primary-black: #060D1D;
  --carbon-dark: #0D172B;
  --carbon-medium: #111D35;
  --carbon-light: #182943;
  --metal-dark: #263654;
  --metal-light: #426084;
  --accent-red: #3977EE;
  --accent-blue: #3977EE;
  --accent-green: #39D9CF;
  --accent-purple: #9673EC;
  --accent-cyan: #42D7F5;
  --text-primary: #F5F9FF;
  --text-secondary: #B8C9E3;
  --text-dim: #91A7C4;
}
html, body { max-width:100%; overflow-x:clip; }
body { font-family: 'Avenir Next', 'Segoe UI', system-ui, -apple-system, sans-serif; }
body::after { background-image: linear-gradient(rgba(66, 215, 245, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(66, 215, 245, .04) 1px, transparent 1px); background-size: 126px 126px; }
button, input, textarea { font: inherit; }
button:focus-visible, a:focus-visible, .indicator:focus-visible, .category-tab:focus-visible { outline: 3px solid var(--accent-cyan); outline-offset: 4px; }
.loader-caption { color: var(--accent-cyan); font-weight: 700; text-transform: uppercase; letter-spacing: .21em; font-size: .8rem; }
.prism-face:nth-child(1) { border-image: linear-gradient(45deg, var(--accent-blue), var(--accent-cyan)) 1; }
.header { background: linear-gradient(180deg, rgba(6,13,29,.98),rgba(6,13,29,.90) 65%,rgba(6,13,29,.1)); }
.header.scrolled { background: rgba(6,13,29,.95); }
.nav-container { max-width: 1440px; padding: 17px 34px; }
.nav-menu a { padding: 12px 16px; font-size: 11px; letter-spacing: .12em; }
.nav-menu a.active { color: #7DDFFF; }
.nro-logo-text { font-size: clamp(19px,2.2vw,27px); font-weight: 800; color: #F5F9FF; white-space: nowrap; letter-spacing: -.035em; }
.nro-logo-text em, .footer-wordmark em { color: #64C8FF; font-weight: 550; font-style: normal; }
.nro-logo-mark { width: 34px; height: 34px; margin-right: 12px; display: flex; align-items: flex-end; gap: 4px; transform: skew(-16deg); }
.nro-logo-mark span { background: linear-gradient(180deg,#63E2F2,#3977EE); box-shadow: 0 0 15px #3977EE55; width: 8px; border-radius: 2px; }
.nro-logo-mark span:nth-child(1) { height: 13px; }
.nro-logo-mark span:nth-child(2) { height: 24px; }
.nro-logo-mark span:nth-child(3) { height: 33px; }
/* Hero + bespoke headline sitting before the unmodified 3D coverflow */
.hero { display: flex; flex-direction: column; min-height: 1030px; height: auto; padding: 115px 20px 90px; justify-content: flex-start; background: radial-gradient(ellipse 46% 32% at 50% 38%,rgba(57,119,238,.16),transparent 83%), radial-gradient(ellipse 36% 22% at 55% 56%,rgba(150,115,236,.13),transparent 87%); isolation: isolate; }
.hero-intro { position: relative; z-index: 12; text-align: center; max-width: 1180px; margin: 0 auto; }
.hero-eyebrow { color: #98C3E8; font-weight: 800; font-size: 10px; letter-spacing: .15em; line-height: 2.2; }
.slash { padding: 0 12px; color: #3D5B83; }
.signal-dot { display: inline-block; width: 6px; height: 6px; background: #39D9CF; border-radius: 50%; box-shadow: 0 0 13px #39D9CF; vertical-align: 2px; margin-right: 12px; }
.hero h1 { font-size: clamp(48px,5.2vw,76px); line-height: 1.08; letter-spacing: -.065em; font-weight: 830; padding: 16px 0 14px; }
.hero h1 span { color: #64C8FF; background: linear-gradient(105deg,#3B83FF,#65E9E3 65%,#A08FFF); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.hero-copy { color: #C1D4EE; font-size: clamp(15px,1.65vw,19px); line-height: 1.65; max-width: 650px; margin: 0 auto; }
.hero-signature { color: #6EAEF7; font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; margin-top: 14px; }
.hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 23px; }
.primary-action,.secondary-action { text-decoration: none; padding: 14px 22px; border-radius: 7px; color: white; display: inline-flex; align-items: center; gap: 14px; font-weight: 750; font-size: 13px; transition: transform .25s,background .25s,box-shadow .25s; }
.primary-action { background: linear-gradient(125deg,#275AD0,#468DF0); box-shadow: 0 8px 35px #3977EE4b; }
.secondary-action { background: #11213B; border: 1px solid #395779; }
.primary-action:hover,.secondary-action:hover { transform: translateY(-3px); box-shadow: 0 10px 35px #3977EE55; }
.journey-label { display:flex; align-items:center;justify-content:center; gap:20px; color:#7BA6CD; letter-spacing:.22em; font-size:10px; margin-top:26px; font-weight:750; }
.journey-line { width:55px; height:1px; background:linear-gradient(90deg,transparent,#4B82BA); }
.journey-line:last-child { transform:scaleX(-1); }
.carousel-container { height: 545px; max-width: 1500px; padding-top: 10px; margin: 0 auto; }
.carousel-item { width: 390px; height: 468px; }
.carousel-item .card { background: linear-gradient(155deg,#15263F 0%,#0A142A 65%,#14152C 100%); border:1px solid #415A82; padding: 22px; box-shadow:0 30px 65px #030714c7,0 0 32px color-mix(in srgb, var(--card-accent), transparent 80%); }
.carousel-item .card::after { content:''; position:absolute; inset:0; border-radius:20px; border:1px solid color-mix(in srgb, var(--card-accent), transparent 45%); pointer-events:none; }
.card-image { height: 198px; border:1px solid #34506D; margin-bottom:15px; }
.card-image img { filter: saturate(1.12) contrast(1.04); }
.carousel-item:hover .card-image img { filter:saturate(1.2) contrast(1.1); }
.card-number { color: color-mix(in srgb,var(--card-accent),transparent 84%); font-size:60px; right:22px; }
.card-title { font-family:inherit; text-transform:uppercase; font-size:23px; letter-spacing:.06em; margin-bottom:10px; -webkit-text-fill-color: var(--card-accent); color:var(--card-accent); background:none; }
.card-description { color:#C4D4EE; line-height:1.52; min-height:68px; font-size:13px; margin-bottom:12px; }
.card-tech { gap:5px; margin-bottom:14px; }
.tech-badge { padding: 4px 9px; color:#C5DDFC; border-color:#335B92; background:#172B4A; font-size:9px; letter-spacing:.07em; }
.card-cta { letter-spacing:.11em; font-size:10px; padding:10px 17px; border-radius:6px; background:linear-gradient(130deg,#275BD4,#3D93CB); box-shadow:none; }
.carousel-controls { bottom: -18px; gap:13px; }
.carousel-btn { width:46px;height:46px; color:#98DFFF; border-color:#35557E; }
.carousel-indicators { top: 8px; }
.journey-note { margin-top:28px; color:#6388B4; font-weight:700; font-size:10px; letter-spacing:.18em; }
/* Shared sections */
.section-kicker { color:#59C9F8; font-weight:800; font-size:12px; letter-spacing:.18em; margin-bottom:18px; }
.section-kicker span { color:#5B7395; }
.section-title { font-family:inherit; text-transform:none; letter-spacing:-.042em; font-size:clamp(34px,4vw,54px); background:linear-gradient(135deg,#F5F9FF,#8FC9F9);-webkit-background-clip:text;background-clip:text; }
.section-subtitle { line-height:1.8; font-size:16px; max-width:660px; }
.philosophy-section { background:linear-gradient(180deg,#060D1D,#0B1730 40%,#060D1D); }
.philosophy-headline { font-family:inherit; font-size:clamp(39px,4.8vw,65px); line-height:1.15; letter-spacing:-.05em; text-transform:none; }
.philosophy-headline span { color:#81CFF8; }
.philosophy-subheading { max-width:700px; line-height:1.75; }
.pillar { text-align:left; position:relative; padding:35px 30px; background:linear-gradient(150deg,#12213B,#0D172B); border:1px solid #2B456B; border-radius:20px; }
.pillar-index { font-size:10px; color:#73B9FC; letter-spacing:.13em; font-weight:800; margin-bottom:28px; }
.pillar-icon { display:flex; align-items:center; justify-content:center; border:1px solid #285789; border-radius:15px; background:#0E2C51; width:64px;height:64px; font-size:32px; margin-bottom:22px; }
.pillar-title { font-family:inherit; font-size:21px; letter-spacing:-.02em; }
.pillar-description { font-size:14px;line-height:1.8;color:#B8C9E3; }
.pillar-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.pillar-tags span { padding:6px 9px; border-radius:4px; background:#172D4D; color:#9CCAF3; font-size:11px; }
.stats-section { background:linear-gradient(180deg,#060D1D,#0A162A); }
.stats-grid { max-width:1110px; grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.stat-card { background:linear-gradient(145deg,#17243E,#0B152A); border-color:#2B4061; }
.stat-icon { width:65px;height:65px; background:linear-gradient(135deg,#284A9E,#295E9D);border:1px solid #417CC8; box-shadow:0 10px 30px #2357AB33; }
.approach-step { color:#5CBAF1; font-size:11px; letter-spacing:.18em; font-weight:800; margin-bottom:14px; }
.approach-title { font-size:29px;margin-bottom:14px; font-weight:750; }
.stat-description { font-size:14px; line-height:1.8; }
.skills-section { background:linear-gradient(180deg,#0A162A,#0D172B); }
.category-tab { font-family:inherit; font-size:11px; letter-spacing:.08em; font-weight:750; }
.skills-hexagon-grid { gap:10px; }
.skill-hexagon { width:165px;height:188px; margin:22px 10px; }
.skill-icon-hex { font-size:37px; margin-bottom:12px; }
.skill-name-hex { font-family:inherit; font-size:13px; letter-spacing:.015em; }
.skill-detail-hex { color:#9CB8DA; font-size:10px; text-align:center; }
.tech-disclaimer { color:#6E8AAC; text-align:center; margin-top:50px; font-size:11px; }
.contact-section { background:linear-gradient(180deg,#0D172B,#060D1D); }
.contact-leading { color:#56C6FF;letter-spacing:.15em; font-size:12px;font-weight:800; }
.contact-leading span { margin-left:8px; }
.contact-proposition { font-size:clamp(25px,3vw,37px);line-height:1.2; font-weight:750; margin:25px 0 32px;max-width:460px;letter-spacing:-.04em; }
.contact-prelaunch { border-left:2px solid #438FD1; padding:12px 16px; font-size:12px; color:#99B9D6; line-height:1.7; margin-top:15px; }
.form-preview-note { color:#93A9C5; font-size:11px; line-height:1.5; margin-top:15px; }
.form-status { color:#7EDCFF; font-size:13px; line-height:1.5; margin-top:12px; }
.footer { border-top:1px solid #213858; }
.footer-wordmark { font-size:28px; text-decoration:none; color:#F5F9FF; font-weight:800;letter-spacing:-.05em; }
.footer-links a { text-transform:none; }
/* Responsive fixes for a more compact hero and wide-brand navigation. */
@media(max-width:1024px) {
  .hero { padding-top:130px; min-height:960px; }
  .nav-menu a { padding:10px 9px; }
  .carousel-container { height:535px; }
  .carousel-item { width:340px;height:446px; }
  .card-image { height:170px; }
  .stats-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:15px; }
  .stat-card { padding:26px 18px; }
}
@media(max-width:768px) {
  .nav-container { padding:16px 20px; }
  .nav-menu { top:72px; background:rgba(6,13,29,.98); }
  .hero { min-height:940px; padding:124px 8px 72px; }
  .hero-eyebrow { max-width:440px; margin:auto; font-size:9px; }
  .slash { padding:0 5px; }
  .hero h1 { font-size:clamp(44px,10vw,64px); }
  .hero-copy { padding:0 15px;font-size:14px; }
  .hero-actions { gap:10px; }
  .primary-action,.secondary-action { padding:12px 13px;font-size:11px; }
  .journey-label { margin-top:32px; font-size:9px; gap:9px; }
  .journey-line { width:27px; }
  .carousel-container { width:100%; height:470px; padding-top:0; }
  .carousel-item { width:min(282px,74vw);height:409px; }
  .carousel-item .card { padding:15px; }
  .card-image { height:132px; }
  .card-title { font-size:19px; }
  .card-description { font-size:11px; min-height:63px; }
  .tech-badge { font-size:8px; padding:3px 6px; }
  .card-cta { padding:9px 11px; }
  .carousel-controls { bottom:-10px; }
  .carousel-indicators { top:0; }
  .journey-note { margin-top:30px; }
  .philosophy-section,.stats-section,.skills-section,.contact-section { padding:85px 22px; }
  .section-header { margin-bottom:48px; }
  .stats-grid { grid-template-columns:1fr; }
  .stat-card { max-width:480px;width:100%;margin:0 auto; }
  .skill-hexagon { width:138px;height:161px;margin:13px 4px; }
  .skill-name-hex { font-size:12px; }
  .skill-detail-hex { font-size:9px; }
  .footer-content { gap:40px; }
}
@media(max-width:390px) {
  .nro-logo-text { font-size:20px; }
  .hero h1 { font-size:41px; }
  .hero { padding-top:113px; }
  .hero-eyebrow { font-size:8px; }
  .carousel-item { width:250px;height:392px; }
  .card-image { height:115px; }
  .card-description { font-size:10px; }
  .skill-hexagon { width:121px;height:141px; }
}
@media(prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important;scroll-behavior:auto !important; }
  .carousel-item { transition-duration:0.01ms !important; }
}
.company-logo {
  width: 180px;
  height: auto;
  display: block;
}
/* Modern, clean service section typography */

.philosophy-subheading {
  font-family: 'Segoe UI', sans-serif;
  font-size: clamp(24px, 3vw, 38px);
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 0;
  color: #BFC2CC;
  max-width: 1200px;
  opacity: 1;
  text-shadow: none;
}