@import url("assets/fonts/noto-sans-sc.css");

:root {
  --rv-ink: #102c36;
  --rv-muted: #63777d;
  --rv-teal: #0b8d92;
  --rv-mint: #6bd4ca;
  --rv-line: #dbe5e4;
  --rv-soft: #f3f7f6;
  --rv-paper: #fbfdfc;
  --rv-blue: #0b6073;
}

html { scroll-behavior: smooth; }
body.revamp-page { margin: 0; color: var(--rv-ink); background: var(--rv-paper); font-family: "Noto Sans SC Variable", "Noto Sans SC", sans-serif; }
.revamp-page *, .revamp-page *::before, .revamp-page *::after { box-sizing: border-box; }
.revamp-page a { color: inherit; text-decoration: none; }
.revamp-page button { font: inherit; }
.rv-section { padding: clamp(76px, 9vw, 144px) max(5vw, calc((100vw - 1320px) / 2)); }
.rv-section-title { display: grid; grid-template-columns: minmax(150px, .6fr) 1.2fr 1fr; gap: 40px; align-items: end; margin-bottom: 70px; }
.rv-section-title > p, .rv-overline, .rv-block-heading p, .rv-about-intro > p, .rv-history-intro > p, .rv-contact-title > p { margin: 0; color: var(--rv-teal); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.rv-section-title h2, .rv-block-heading h2 { margin: 0; font-size: clamp(38px, 4.3vw, 68px); font-weight: 500; letter-spacing: -.04em; }
.rv-section-title > span { max-width: 340px; color: var(--rv-muted); line-height: 1.8; }
.rv-lead { color: var(--rv-ink) !important; font-size: clamp(21px, 2vw, 30px) !important; font-weight: 400; line-height: 1.65 !important; }
.rv-text-link, .rv-arrow-link { display: inline-flex; align-items: center; gap: 18px; width: fit-content; font-size: 14px; font-weight: 700; letter-spacing: .05em; }
.rv-text-link span, .rv-arrow-link span { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid currentColor; border-radius: 50%; transition: .25s ease; }
.rv-text-link:hover span, .rv-arrow-link:hover span { transform: translateX(5px); background: var(--rv-teal); border-color: var(--rv-teal); color: white; }
.reveal { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

/* Header and simple dropdown */
.revamp-page .site-header { position: fixed; inset: 0 0 auto; z-index: 100; height: 82px; display: flex; align-items: center; padding: 0 clamp(22px, 4vw, 72px); background: rgba(255,255,255,.97); border-bottom: 1px solid rgba(16,44,54,.1); transition: .3s ease; }
.revamp-page .site-header.is-over-hero:not(.is-scrolled) { background: linear-gradient(180deg, rgba(2,19,25,.72), transparent); border-color: rgba(255,255,255,.22); color: white; }
.revamp-page .brand { flex: 0 0 auto; display: block; width: 176px; }
.revamp-page .brand img { display: block; width: 100%; height: auto; }
.revamp-page .site-header.is-over-hero:not(.is-scrolled) .brand img { filter: brightness(0) invert(1); }
.revamp-page .main-nav { display: flex; align-items: stretch; justify-content: center; gap: clamp(12px, 2vw, 34px); height: 100%; margin: 0 auto; }
.revamp-page .nav-item { position: relative; display: flex; align-items: stretch; }
.revamp-page .nav-item-head { display: flex; align-items: center; gap: 7px; }
.revamp-page .nav-item-head > a { position: relative; display: flex; align-items: center; height: 100%; white-space: nowrap; font-size: 15px; }
.revamp-page .site-header.is-over-hero:not(.is-scrolled) .nav-item-head > a { color: white; }
.revamp-page .nav-item.is-current .nav-item-head > a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 19px; height: 2px; background: var(--rv-mint); }
.revamp-page .submenu-toggle { width: 17px; height: 22px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
.revamp-page .submenu-toggle span { display: block; width: 6px; height: 6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: translate(2px,-2px) rotate(45deg); }
.revamp-page .mega-menu { position: absolute; top: calc(100% - 1px); left: 50%; min-width: 220px; padding: 10px 0; background: white; color: var(--rv-ink); border: 1px solid var(--rv-line); box-shadow: 0 18px 45px rgba(16,44,54,.12); opacity: 0; visibility: hidden; transform: translate(-50%, 8px); transition: .2s ease; }
.revamp-page .mega-menu::before { content: ""; position: absolute; inset: -18px 0 auto; height: 18px; }
.revamp-page .has-mega-menu:hover .mega-menu, .revamp-page .has-mega-menu:focus-within .mega-menu, .revamp-page .has-mega-menu.qa-open .mega-menu { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.revamp-page .mega-menu-links { display: flex; flex-direction: column; }
.revamp-page .mega-menu-links a { display: block; padding: 12px 22px; white-space: nowrap; border-left: 2px solid transparent; }
.revamp-page .mega-menu-links a:hover { color: var(--rv-teal); background: var(--rv-soft); border-left-color: var(--rv-teal); }
.revamp-page .mega-menu-links b { font-size: 14px; font-weight: 500; }
.revamp-page .header-actions { display: flex; align-items: center; }
.revamp-page .contact-link { display: inline-flex; align-items: center; gap: 14px; padding: 13px 18px; border: 1px solid currentColor; font-size: 13px; white-space: nowrap; }
.revamp-page .site-header:not(.is-over-hero) .contact-link,
.revamp-page .site-header.is-scrolled .contact-link { color: white; background: var(--rv-ink); border-color: var(--rv-ink); }
.revamp-page .site-header.is-over-hero:not(.is-scrolled) .contact-link { color: white; background: rgba(5,24,30,.35); border-color: rgba(255,255,255,.72); }
.revamp-page .menu-toggle { display: none; }

/* Home */
.rv-hero { position: relative; min-height: 100svh; overflow: hidden; background: #062a35; color: white; }
.rv-hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.rv-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(1,18,23,.78) 0%, rgba(1,18,23,.34) 52%, rgba(1,18,23,.12)), linear-gradient(0deg, rgba(1,18,23,.35), transparent 50%); }
.rv-hero-copy { position: absolute; z-index: 2; left: max(6vw, calc((100vw - 1320px) / 2)); top: 50%; transform: translateY(-45%); }
.rv-overline { color: rgba(255,255,255,.74); }
.rv-hero h1 { display: flex; flex-direction: column; align-items: flex-start; margin: 28px 0 38px; font-size: clamp(38px, 4.7vw, 72px); font-weight: 300; line-height: 1.18; letter-spacing: -.04em; }
.rv-hero h1 span:first-child { font-weight: 600; }
.rv-hero h1 span:nth-child(2) { margin-left: clamp(20px, 7vw, 115px); }
.rv-hero h1 strong { margin-left: clamp(54px, 13vw, 210px); color: #a5efe3; font-weight: 600; }
.rv-hero h1.rv-hero-slogan { position: relative; gap: 8px; width: min(830px, 76vw); margin-top: 34px; padding: 18px 0 22px 30px; line-height: 1.08; }
.rv-hero h1.rv-hero-slogan::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(180deg, transparent, #77f5e9 22%, #77f5e9 78%, transparent); box-shadow: 0 0 18px rgba(119,245,233,.72); }
.rv-hero h1.rv-hero-slogan::after { content: "SURGICAL FORESIGHT / EMBODIED INTELLIGENCE"; margin-top: 20px; color: rgba(218,255,251,.62); font-size: 10px; font-weight: 600; letter-spacing: .32em; }
.rv-hero h1.rv-hero-slogan .rv-slogan-main { font-size: 1em; font-weight: 680; letter-spacing: .09em; text-shadow: 0 0 30px rgba(61,226,216,.16); }
.rv-hero h1.rv-hero-slogan .rv-slogan-sub { margin-left: clamp(38px, 7vw, 120px); color: #a5efe3; font-size: .78em; font-weight: 420; letter-spacing: .18em; }
.rv-hero .rv-arrow-link { color: white; }
.rv-scroll { position: absolute; z-index: 2; right: 4vw; bottom: 36px; display: flex; align-items: center; gap: 16px; color: rgba(255,255,255,.8); font-size: 11px; letter-spacing: .18em; writing-mode: vertical-rl; }
.rv-scroll i { width: 1px; height: 52px; background: rgba(255,255,255,.55); }
.rv-profile { background: var(--rv-paper); }
.rv-profile-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(50px, 8vw, 120px); align-items: center; }
.rv-profile-copy > p { margin: 0 0 24px; color: var(--rv-muted); font-size: 16px; line-height: 2; }
.rv-profile-copy .rv-text-link { margin-top: 25px; }
.rv-profile-visual { position: relative; min-height: 510px; overflow: hidden; background: #dceced; }
.rv-profile-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(30deg, rgba(10,76,85,.28), transparent 65%); }
.rv-profile-visual img { width: 100%; height: 100%; min-height: 510px; object-fit: cover; opacity: .88; }
.rv-profile-data { position: absolute; z-index: 2; right: 0; bottom: 0; display: flex; align-items: center; gap: 18px; padding: 28px 34px; background: rgba(8,99,105,.92); color: white; }
.rv-profile-data strong { font-size: 46px; font-weight: 300; }
.rv-profile-data span { padding-left: 18px; border-left: 1px solid rgba(255,255,255,.4); font-size: 13px; line-height: 1.7; }
.rv-products { background: #0b2f3b; color: white; }
.rv-products .rv-section-title > p { color: var(--rv-mint); }
.rv-products .rv-section-title > span { color: rgba(255,255,255,.58); }
.rv-product-preview { display: grid; grid-template-columns: minmax(270px,.6fr) 1.4fr; border-top: 1px solid rgba(255,255,255,.16); }
.rv-product-tabs { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.16); }
.rv-product-tabs button { display: flex; align-items: center; gap: 22px; min-height: 96px; padding: 20px 26px; color: rgba(255,255,255,.55); background: none; border: 0; border-bottom: 1px solid rgba(255,255,255,.14); text-align: left; cursor: pointer; transition: .25s ease; }
.rv-product-tabs button span { font-size: 11px; color: var(--rv-mint); }
.rv-product-tabs button.is-active, .rv-product-tabs button:hover { padding-left: 38px; background: rgba(255,255,255,.07); color: white; }
.rv-product-preview-panel { position: relative; min-height: 430px; display: grid; grid-template-columns: .5fr 1fr; gap: 60px; align-items: end; padding: clamp(40px,6vw,90px); overflow: hidden; background: radial-gradient(circle at 22% 42%, rgba(81,196,191,.24), transparent 24%), linear-gradient(135deg, rgba(255,255,255,.04), transparent); }
.rv-product-index { align-self: center; color: rgba(255,255,255,.1); font-size: clamp(110px,15vw,220px); font-weight: 200; line-height: 1; }
.rv-product-preview-panel p { color: rgba(255,255,255,.65); line-height: 1.8; }
.rv-product-preview-panel > div:last-child > p:first-child { color: var(--rv-mint); font-size: 11px; letter-spacing: .18em; }
.rv-product-preview-panel h3 { margin: 14px 0 22px; font-size: clamp(30px,3vw,48px); font-weight: 400; }
.title-line-note { display: block; margin-top: 10px; font-size: .52em; font-weight: 400; line-height: 1.35; letter-spacing: 0; }
.rv-product-preview-panel .rv-arrow-link { margin-top: 20px; }
.rv-news { background: white; }
.rv-news-portals { display: grid; grid-template-columns: 1fr 1fr; min-height: 470px; }
.revamp-page .rv-news-portal { position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(35px,5vw,72px); overflow: hidden; color: #f7ffff; isolation: isolate; }
.rv-news-portal::before { content: ""; position: absolute; inset: 0; z-index: -2; background: linear-gradient(145deg, #187f86, #0a3947); transition: transform .5s ease; }
.rv-news-media::before { background: linear-gradient(145deg, #438f99, #174f60); }
.rv-news-portal::after { content: ""; position: absolute; z-index: -1; width: 300px; height: 300px; right: -40px; top: -80px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.035), 0 0 0 95px rgba(255,255,255,.025); }
.rv-news-portal:hover::before { transform: scale(1.04); }
.rv-news-portal small { color: #bdf4ee; letter-spacing: .18em; opacity: 1; }
.rv-news-portal h3 { margin: 20px 0 10px; font-size: clamp(38px,4vw,60px); font-weight: 400; }
.rv-news-portal p { color: rgba(255,255,255,.78); opacity: 1; }
.rv-news-portal > span { margin-top: 45px; color: #d4fff9; font-size: 13px; font-weight: 700; }
.rv-career-home { min-height: clamp(340px,32vw,480px); display: grid; align-items: center; padding: 60px max(6vw,calc((100vw - 1320px)/2)); background-color: #eef2f3; background-position: right center; background-repeat: no-repeat; background-size: auto 100%; }
.rv-career-home-link { display: flex; flex-direction: column; align-items: flex-start; width: fit-content; color: #0b3150 !important; }
.rv-career-home-link strong { font-size: clamp(38px,4.3vw,66px); font-weight: 600; letter-spacing: -.035em; }
.rv-career-home-link span { margin-top: 12px; font-size: clamp(15px,1.3vw,20px); letter-spacing: .04em; }

/* Inner page hero */
.rv-page-hero { position: relative; min-height: 510px; display: grid; align-items: end; padding: 160px max(6vw, calc((100vw - 1320px) / 2)) 80px; overflow: hidden; color: white; background: linear-gradient(135deg,#0a3440,#176e78); }
.rv-page-hero::before, .rv-page-hero::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; }
.rv-page-hero::before { width: 520px; height: 520px; right: -90px; top: -180px; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 145px rgba(255,255,255,.02); }
.rv-page-hero::after { width: 10px; height: 10px; left: 55%; top: 36%; background: var(--rv-mint); box-shadow: 90px 70px 0 -3px rgba(255,255,255,.65), -130px 55px 0 -3px rgba(255,255,255,.5); }
.rv-page-hero > div { position: relative; z-index: 1; }
.rv-page-hero p { margin: 0 0 18px; color: var(--rv-mint); font-size: 12px; font-weight: 700; letter-spacing: .2em; }
.rv-page-hero h1 { margin: 0 0 22px; font-size: clamp(52px,6vw,88px); font-weight: 300; letter-spacing: -.045em; }
.rv-page-hero span { color: rgba(255,255,255,.72); line-height: 1.8; }

/* About */
.rv-centered-heading p, .rv-company-profile-lead > p { margin: 0 0 16px; color: var(--rv-teal); font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.rv-company-profile-new { background: var(--rv-paper); }
.rv-company-profile-panel { position: relative; max-width: 1120px; margin: 0 auto; padding: clamp(48px,6vw,78px) clamp(28px,7vw,92px); overflow: hidden; background-image: linear-gradient(rgba(255,255,255,.9),rgba(255,255,255,.94)),url("assets/medical-agent.png"); background-position: center; background-size: cover; border: 1px solid #e4ecec; }
.rv-company-profile-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(20,108,130,.035),transparent 25%,transparent 75%,rgba(20,108,130,.035)); }
.rv-company-profile-project, .rv-about-copy { position: relative; z-index: 1; }
.rv-company-profile-project { margin: 0 auto clamp(38px,5vw,58px); text-align: center; }
.rv-company-profile-project h2 { max-width: 900px; margin: 0 auto; color: #07529a; font-size: clamp(24px,3vw,38px); font-weight: 700; line-height: 1.35; }
.rv-company-profile-project p { margin: 12px 0 0; color: #07529a; font-size: clamp(18px,2.2vw,28px); font-weight: 700; }
.rv-inline-history { padding-top: 100px; background: #f6f9f8; }
.rv-centered-heading { margin-bottom: 60px; text-align: center; }
.rv-centered-heading h2 { margin: 0; font-size: clamp(42px,5vw,72px); font-weight: 400; letter-spacing: -.04em; }
.rv-inline-history .rv-history-list { max-width: 1050px; margin: 0 auto; }
.rv-about-main { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(60px,10vw,150px); }
.rv-about-intro h2, .rv-history-intro h2, .rv-contact-title h2 { margin: 25px 0 0; font-size: clamp(36px,4vw,62px); font-weight: 400; line-height: 1.35; letter-spacing: -.04em; }
.rv-about-project { display: flex; flex-direction: column; gap: 8px; margin-top: 54px; padding: 24px 0 24px 25px; border-left: 2px solid var(--rv-teal); }
.rv-about-project span { color: var(--rv-teal); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.rv-about-project strong { max-width: 430px; font-size: 19px; font-weight: 500; line-height: 1.55; }
.rv-about-project small { color: var(--rv-muted); font-size: 12px; line-height: 1.6; }
.rv-about-copy { max-width: 920px; margin: 0 auto; }
.rv-about-copy p { margin: 0 0 26px; color: #152e35; font-size: 16px; font-weight: 500; line-height: 1.9; }
.rv-about-copy p:last-child { margin-bottom: 0; }
.rv-about-copy .rv-company-profile-highlight { color: #123752; }
.rv-company-profile-highlight strong { color: #07529a; }
.rv-project-callout { margin-top: 42px; padding: 28px 30px; background: #e9f5f3; border-top: 2px solid var(--rv-teal); }
.rv-project-callout span { color: var(--rv-teal); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.rv-project-callout p { margin: 13px 0 0; color: #47666d; font-size: 14px; line-height: 1.85; }
.rv-metrics { display: grid; grid-template-columns: repeat(4,1fr); padding: 70px max(5vw,calc((100vw - 1320px)/2)); background: var(--rv-soft); border-top: 1px solid var(--rv-line); border-bottom: 1px solid var(--rv-line); }
.rv-metrics > div { padding: 15px 30px; border-right: 1px solid var(--rv-line); }
.rv-metrics > div:last-child { border: 0; }
.rv-metrics strong { display: block; font-size: clamp(36px,4vw,62px); font-weight: 300; }
.rv-metrics em { margin-left: 5px; color: var(--rv-teal); font-size: 14px; font-style: normal; }
.rv-metrics p { color: var(--rv-muted); font-size: 13px; }
.rv-team { background: white; }
.rv-team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.rv-team-grid article { display: grid; grid-template-columns: 190px 1fr; min-height: 280px; background: var(--rv-soft); }
.rv-team-avatar { display: grid; place-items: center; background: linear-gradient(145deg,#a9d6d3,#1b7b83); color: rgba(255,255,255,.9); font-size: 42px; font-weight: 200; letter-spacing: .08em; }
.rv-team-grid .founder-info { padding: 40px; }
.rv-team-grid .founder-info > p:first-child { margin: 0 0 10px; color: var(--rv-teal); font-size: 12px; }
.rv-team-grid h3 { margin: 0 0 24px; font-size: 31px; font-weight: 500; }
.rv-team-grid .founder-info > p:last-child { color: var(--rv-muted); line-height: 1.8; }

/* Milestones */
.rv-history { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(60px,10vw,150px); background: var(--rv-paper); }
.rv-history-intro { position: sticky; top: 130px; align-self: start; }
.rv-history-list { border-top: 1px solid var(--rv-line); }
.rv-history-list article { display: grid; grid-template-columns: 170px 1fr; gap: 35px; padding: 52px 0; border-bottom: 1px solid var(--rv-line); }
.rv-history-list time { color: var(--rv-teal); font-size: clamp(42px,5vw,72px); font-weight: 300; line-height: 1; }
.rv-history-list small { color: var(--rv-muted); font-size: 11px; letter-spacing: .16em; }
.rv-history-list ul { margin: 24px 0 0; padding: 0; list-style: none; }
.rv-history-list li { position: relative; margin: 14px 0; padding-left: 20px; line-height: 1.7; }
.rv-history-list li::before { content: ""; position: absolute; left: 0; top: .75em; width: 5px; height: 5px; border-radius: 50%; background: var(--rv-teal); }

/* Products */
.rv-product-detail[hidden], .rv-planning-content[hidden], .rv-product-art[hidden] { display: none !important; }
.rv-product-explorer { display: grid; grid-template-columns: 330px 1fr; gap: clamp(50px,7vw,110px); align-items: start; }
.rv-product-side { position: sticky; top: 118px; display: flex; flex-direction: column; border-top: 2px solid var(--rv-ink); }
.rv-product-side > p { margin: 0; padding: 22px 0; color: var(--rv-muted); font-size: 12px; letter-spacing: .14em; border-bottom: 1px solid var(--rv-line); }
.rv-product-side button { display: grid; grid-template-columns: 38px 1fr; gap: 8px; align-items: center; padding: 24px 12px; color: var(--rv-muted); background: none; border: 0; border-bottom: 1px solid var(--rv-line); text-align: left; cursor: pointer; }
.rv-product-side button span { font-size: 11px; }
.rv-product-side button b { font-weight: 500; line-height: 1.5; }
.rv-product-side button em { display: inline-block; margin-left: 8px; padding: 3px 6px; color: var(--rv-teal); background: #e5f3f1; font-size: 10px; font-style: normal; }
.rv-product-side button.is-active { color: var(--rv-ink); background: var(--rv-soft); border-left: 3px solid var(--rv-teal); }
.rv-product-detail { min-width: 0; }
.rv-product-detail-head { display: flex; align-items: start; justify-content: space-between; }
.rv-product-detail-head p { color: var(--rv-teal); font-size: 11px; letter-spacing: .17em; }
.rv-product-detail-head span { color: #d8e3e2; font-size: 70px; font-weight: 200; line-height: .8; }
.rv-product-detail h2 { max-width: 800px; margin: 28px 0 36px; font-size: clamp(42px,5vw,72px); font-weight: 400; line-height: 1.2; letter-spacing: -.045em; }
.rv-product-detail [data-product-body] { max-width: 880px; }
.rv-product-detail [data-product-body] p { margin: 0 0 23px; color: var(--rv-muted); font-size: 17px; line-height: 2; }
.rv-product-art { height: 420px; margin: 50px 0 35px; overflow: hidden; background: linear-gradient(135deg,#dcecea,#6faeb0); }
.rv-product-art img { width: 100%; height: 100%; object-fit: cover; }
.rv-product-art.is-medical img { object-position: center; }
.rv-product-art.is-center img { object-position: center; }
.rv-product-art.is-data { background: #edf5fa; }
.rv-product-art.is-data img { object-fit: contain; }
.rv-product-art.is-research { height: auto; background: none; }
.rv-product-art.is-research img { display: block; width: 100%; height: auto; object-fit: contain; }
.rv-product-art.is-gallery { height: auto; display: grid; gap: 24px; overflow: visible; background: none; }
.rv-product-art.is-gallery img { height: auto; object-fit: contain; border: 1px solid var(--rv-line); background: white; }
.rv-product-detail h2.is-navigation .navigation-rd-label { display: block; margin-top: 12px; color: var(--rv-teal); font-size: .48em; font-weight: 400; letter-spacing: 0; }
.rv-product-copy-section { max-width: 900px; margin: 0 0 36px; }
.rv-product-copy-section h3 { margin: 0 0 14px; color: var(--rv-ink); font-size: clamp(22px,2vw,30px); font-weight: 620; line-height: 1.45; letter-spacing: -.02em; }
.rv-product-copy-section p { margin-bottom: 18px !important; }
.rv-product-copy-section .rv-product-bullets { margin: 0 0 23px; padding-left: 1.4em; list-style: disc outside; color: var(--rv-muted); font-size: 17px; line-height: 2; }
.rv-product-bullets li { margin: 8px 0; padding-left: .2em; }
.rv-product-bullets li::marker { color: var(--rv-teal); }

/* Case sharing */
.rv-case-hero { background: linear-gradient(135deg,#082b38,#12727d); }
.rv-case-explorer { display: grid; grid-template-columns: minmax(220px,.42fr) minmax(0,1.58fr); gap: clamp(42px,7vw,110px); align-items: start; }
.rv-case-side { position: sticky; top: 118px; border-top: 2px solid var(--rv-ink); }
.rv-case-side > p { margin: 0; padding: 20px 4px; color: var(--rv-muted); font-size: 12px; letter-spacing: .14em; border-bottom: 1px solid var(--rv-line); }
.rv-case-side button { width: 100%; display: grid; grid-template-columns: 38px 1fr; gap: 8px; align-items: center; padding: 22px 12px; color: var(--rv-muted); background: transparent; border: 0; border-bottom: 1px solid var(--rv-line); text-align: left; cursor: pointer; }
.rv-case-side button span { color: var(--rv-teal); font-size: 11px; }
.rv-case-side button b { font-weight: 520; }
.rv-case-side button.is-active { color: var(--rv-ink); background: var(--rv-soft); border-left: 3px solid var(--rv-teal); }
.rv-case-panel-head { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 30px; padding-bottom: 22px; border-bottom: 1px solid var(--rv-line); }
.rv-case-panel-head p { margin: 0 0 9px; color: var(--rv-teal); font-size: 11px; letter-spacing: .18em; }
.rv-case-panel-head h2 { margin: 0; font-size: clamp(30px,4vw,56px); font-weight: 430; letter-spacing: -.035em; }
.rv-case-panel-head span { color: #d6e3e2; font-size: clamp(56px,7vw,92px); font-weight: 200; line-height: .8; }
.rv-case-image { display: block; width: 100%; height: auto; border: 1px solid var(--rv-line); background: white; }
.rv-pdf-page-gallery { display: grid; gap: clamp(24px,3vw,42px); margin: 55px 0 38px; }
.rv-pdf-page-gallery figure { margin: 0; overflow: hidden; background: white; border: 1px solid #e3eaea; box-shadow: 0 16px 36px rgba(16,44,54,.06); }
.rv-pdf-page-gallery img { display: block; width: 100%; height: auto; }
.rv-button { display: inline-flex; align-items: center; gap: 35px; padding: 17px 22px; background: var(--rv-ink); color: white !important; font-size: 13px; }

/* News */
.rv-news-page { display: flex; flex-direction: column; gap: 120px; }
.rv-block-heading { display: flex; align-items: end; justify-content: space-between; padding-bottom: 28px; border-bottom: 1px solid var(--rv-line); }
.rv-block-heading p { order: 2; }
.rv-empty { display: grid; place-items: center; min-height: 330px; margin-top: 34px; padding: 50px; color: var(--rv-muted); background: var(--rv-soft); text-align: center; }
.rv-empty i { display: grid; place-items: center; width: 50px; height: 50px; color: var(--rv-teal); border: 1px solid #aed5d2; border-radius: 50%; font-size: 25px; font-style: normal; }
.rv-empty h3 { margin: 20px 0 5px; color: var(--rv-ink); font-size: 24px; font-weight: 500; }
.rv-empty p { margin: 0; }
.rv-empty a { margin-top: 22px; color: var(--rv-teal); font-weight: 700; }
.revamp-page .rv-media-card { display: grid; grid-template-columns: .9fr 1.1fr; min-height: 400px; margin-top: 34px; background: #0e4552; color: #f8ffff; }
.rv-media-art { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; background: radial-gradient(circle,rgba(107,212,202,.3),transparent 34%),#092d38; }
.rv-media-art::before { content: ""; position: absolute; width: 230px; height: 230px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.035),0 0 0 84px rgba(255,255,255,.025); }
.rv-media-art span { position: relative; font-size: 74px; font-weight: 200; letter-spacing: .08em; }
.rv-media-art small { position: relative; color: var(--rv-mint); letter-spacing: .22em; }
.rv-media-card > div:last-child { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px,6vw,80px); }
.rv-media-card > div:last-child > p:first-child { color: #8de9df; font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.rv-media-card h3 { margin: 18px 0; font-size: clamp(28px,3vw,44px); font-weight: 400; line-height: 1.4; }
.rv-media-card h3 + p { color: rgba(255,255,255,.82); line-height: 1.8; }
.rv-media-card > div:last-child > span { margin-top: 30px; color: #bdf4ee; font-size: 13px; font-weight: 700; }
.rv-company-list article { position: relative; display: grid; grid-template-columns: 120px 1fr 40px; gap: 30px; align-items: center; padding: 34px 10px; border-bottom: 1px solid var(--rv-line); }
.rv-company-list time { color: var(--rv-teal); }
.rv-company-list h3 { margin: 8px 0; font-size: 24px; font-weight: 500; }
.rv-company-list p, .rv-company-list span { color: var(--rv-muted); }
.cms-news-overlay { position: absolute; inset: 0; }

/* Careers and contact */
.rv-recruit-channels { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid var(--rv-line); }
.rv-recruit-channels a { position: relative; min-height: 250px; padding: 38px; border-right: 1px solid var(--rv-line); transition: .25s ease; }
.rv-recruit-channels a:last-child { border: 0; }
.rv-recruit-channels a:hover { color: white; background: var(--rv-teal); }
.rv-recruit-channels span { color: var(--rv-teal); font-size: 12px; }
.rv-recruit-channels a:hover span { color: var(--rv-mint); }
.rv-recruit-channels h2 { margin-top: 85px; font-size: 28px; font-weight: 500; }
.rv-recruit-channels i { position: absolute; right: 30px; bottom: 35px; font-style: normal; }
.rv-departments { display: grid; grid-template-columns: 180px 1fr; margin: 80px 0 130px; padding: 30px 0; border-top: 1px solid var(--rv-line); border-bottom: 1px solid var(--rv-line); }
.rv-departments > p { color: var(--rv-muted); font-size: 13px; }
.rv-departments > div { display: flex; flex-wrap: wrap; gap: 12px; }
.rv-departments span { padding: 10px 16px; background: var(--rv-soft); font-size: 14px; }
.rv-contact { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(60px,10vw,150px); }
.rv-contact-list { border-top: 2px solid var(--rv-ink); }
.rv-contact-list > * { display: grid; grid-template-columns: 110px 1fr 30px; gap: 20px; align-items: center; min-height: 112px; padding: 24px 8px; border-bottom: 1px solid var(--rv-line); }
.rv-contact-list span { color: var(--rv-muted); font-size: 13px; }
.rv-contact-list strong { font-size: 18px; font-weight: 500; line-height: 1.7; word-break: break-word; }
.email-text { cursor: text; user-select: text; -webkit-user-select: text; overflow-wrap: anywhere; }
.phone-text { cursor: text; user-select: text; -webkit-user-select: text; }
.rv-contact-phone strong { grid-column: 2 / -1; }
.revamp-page .footer-links .phone-text { font-size: 12px; line-height: 1.55; }
.rv-contact-email strong { grid-column: 2 / -1; }
.revamp-page .footer-links .email-text { font-size: 12px; line-height: 1.55; }
.rv-contact-list i { color: var(--rv-teal); font-style: normal; }
.rv-contact-list .rv-contact-channel-heading { margin-top: 22px; min-height: 92px; color: white; background: linear-gradient(105deg,#0b6073,#0b8d92); border-bottom: 0; padding-inline: 20px; }
.rv-contact-list .rv-contact-channel-heading span, .rv-contact-list .rv-contact-channel-heading i { color: #c9fff8; }

/* Policy pages */
.rv-policy { max-width: 1040px; margin: 0 auto; padding: 150px 26px 120px; }
.rv-policy-header { padding-bottom: 48px; text-align: center; border-bottom: 1px solid var(--rv-line); }
.rv-policy-header p { margin: 0 0 14px; color: var(--rv-teal); font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.rv-policy-header h1 { margin: 0; font-size: clamp(40px,5vw,64px); font-weight: 400; letter-spacing: -.04em; }
.rv-policy-header time { display: block; margin-top: 18px; color: var(--rv-muted); font-size: 13px; }
.rv-policy-body { padding-top: 50px; color: #405960; font-size: 15px; line-height: 1.95; }
.rv-policy-body > p { margin: 0 0 20px; }
.rv-policy-body h2 { margin: 55px 0 20px; color: var(--rv-ink); font-size: 28px; font-weight: 500; }
.rv-policy-body h3 { margin: 30px 0 14px; color: var(--rv-ink); font-size: 19px; font-weight: 500; }
.rv-policy-body ul { margin: 14px 0 22px; padding-left: 1.4em; }
.rv-policy-body li { margin: 8px 0; }
.rv-policy-table-wrap { margin: 28px 0 35px; overflow-x: auto; }
.rv-policy-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 13px; line-height: 1.65; }
.rv-policy-table th, .rv-policy-table td { padding: 15px 14px; border: 1px solid var(--rv-line); text-align: left; vertical-align: top; }
.rv-policy-table th { color: var(--rv-ink); background: #eaf4f2; font-weight: 600; }
.rv-policy-contact { margin-top: 30px; padding: 25px 28px; background: var(--rv-soft); }
.rv-policy-contact p { margin: 5px 0; }

/* Footer */
.revamp-page .site-footer { padding: 70px max(4vw,calc((100vw - 1380px)/2)) 0; color: rgba(255,255,255,.7); background: #082a34; }
.revamp-page .footer-main { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: clamp(40px,4vw,70px); padding-bottom: 58px; }
.revamp-page .footer-brand { max-width: none; margin: 0; }
.revamp-page .footer-brand img { display: block; width: 180px; height: auto; padding: 0; background: transparent; filter: brightness(0) invert(1); }
.revamp-page .footer-policy { display: flex; gap: 18px; margin-top: 34px; color: rgba(255,255,255,.45); font-size: 12px; }
.revamp-page .footer-links { display: grid; grid-template-columns: 1.05fr 1.25fr .8fr .85fr 1fr minmax(210px,1.65fr); gap: clamp(16px,1.5vw,26px); width: 100%; max-width: none; margin: 0; padding: 0; }
.revamp-page .footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 13px; }
.revamp-page .footer-links strong { margin-bottom: 8px; color: white; font-size: 14px; }
.revamp-page .footer-links a { font-size: 12px; line-height: 1.55; }
.revamp-page .footer-links > div:last-child a { white-space: nowrap; }
.revamp-page .footer-links a:hover { color: var(--rv-mint); }
.revamp-page .footer-bottom { display: flex; justify-content: space-between; width: 100%; max-width: none; margin: 0; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.4); font-size: 11px; letter-spacing: .05em; }

@media (max-width: 1100px) {
  .revamp-page .main-nav { gap: 12px; }
  .revamp-page .nav-item-head > a { font-size: 13px; }
  .revamp-page .contact-link { display: none; }
  .revamp-page .footer-links { grid-template-columns: repeat(3,1fr); }
  .rv-team-grid article { grid-template-columns: 130px 1fr; }
}

@media (max-width: 820px) {
  .rv-section { padding: 72px 22px; }
  .rv-section-title { grid-template-columns: 1fr; gap: 16px; margin-bottom: 42px; }
  .rv-section-title > span { max-width: none; }
  .revamp-page .site-header { height: 68px; padding: 0 20px; }
  .revamp-page .brand { width: 145px; }
  .revamp-page .menu-toggle { display: flex; flex-direction: column; justify-content: center; gap: 6px; width: 42px; height: 42px; margin-left: auto; padding: 10px; border: 0; background: none; color: inherit; }
  .revamp-page .menu-toggle > span:not(.sr-only) { display: block; width: 22px; height: 1px; background: currentColor; }
  .revamp-page .main-nav { position: fixed; inset: 68px 0 auto; display: none; height: calc(100vh - 68px); padding: 18px 22px 50px; overflow: auto; background: white; color: var(--rv-ink); }
  .revamp-page .site-header.menu-open .main-nav { display: block; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
  .revamp-page .nav-item, .revamp-page .nav-item-head { display: block; }
  .revamp-page .nav-item-head { position: relative; border-bottom: 1px solid var(--rv-line); }
  .revamp-page .nav-item-head > a { height: auto; padding: 17px 0; font-size: 16px; }
  .revamp-page .nav-item.is-current .nav-item-head > a::after { display: none; }
  .revamp-page .submenu-toggle { position: absolute; right: 0; top: 13px; width: 34px; height: 34px; }
  .revamp-page .mega-menu { position: static; display: none; min-width: 0; padding: 4px 0 12px 16px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .revamp-page .has-mega-menu.is-open .mega-menu { display: block; }
  .revamp-page .mega-menu-links a { padding: 10px; border: 0; white-space: normal; overflow-wrap: anywhere; }
  .rv-hero-copy { left: 24px; right: 24px; }
  .rv-hero h1 { font-size: clamp(37px,10vw,58px); }
  .rv-hero h1 span:nth-child(2), .rv-hero h1 strong { margin-left: 0; }
  .rv-scroll { display: none; }
  .rv-profile-grid, .rv-about-main, .rv-history, .rv-contact { grid-template-columns: 1fr; gap: 50px; }
  .rv-case-explorer { grid-template-columns: 1fr; gap: 42px; }
  .rv-company-profile-panel { padding: 42px 24px; }
  .rv-company-profile-project { text-align: left; }
  .rv-profile-visual, .rv-profile-visual img { min-height: 330px; }
  .rv-product-preview { grid-template-columns: 1fr; }
  .rv-product-tabs { border-right: 0; }
  .rv-product-tabs button { min-height: 72px; }
  .rv-product-preview-panel { grid-template-columns: 1fr; min-height: 390px; padding: 40px 24px; }
  .rv-product-index { position: absolute; right: 20px; top: 30px; font-size: 120px; }
  .rv-news-portals { grid-template-columns: 1fr; }
  .rv-news-portal { min-height: 350px; }
  .rv-career-home { min-height: 380px; padding: 54px 24px; background-position: 62% center; background-size: auto 100%; }
  .rv-career-home-link { padding: 22px 26px; background: rgba(238,242,243,.88); }
  .rv-page-hero { min-height: 420px; padding: 140px 24px 60px; }
  .rv-metrics { grid-template-columns: 1fr 1fr; padding: 40px 20px; }
  .rv-metrics > div:nth-child(2) { border-right: 0; }
  .rv-team-grid { grid-template-columns: 1fr; }
  .rv-history-intro, .rv-product-side { position: static; }
  .rv-case-side { position: static; display: grid; grid-template-columns: repeat(3,1fr); }
  .rv-case-side > p { grid-column: 1/-1; }
  .rv-product-explorer { grid-template-columns: 1fr; gap: 55px; }
  .rv-product-side { display: grid; grid-template-columns: repeat(3,1fr); }
  .rv-product-side > p { grid-column: 1/-1; }
  .rv-product-side button { display: block; padding: 18px 10px; }
  .rv-product-side button span { display: block; margin-bottom: 8px; }
  .rv-product-art { height: 300px; }
  .rv-media-card { grid-template-columns: 1fr; }
  .rv-media-art { min-height: 300px; }
  .rv-recruit-channels { grid-template-columns: 1fr; }
  .rv-recruit-channels a { min-height: 170px; border-right: 0; border-bottom: 1px solid var(--rv-line); }
  .rv-recruit-channels h2 { margin-top: 45px; }
  .rv-departments { grid-template-columns: 1fr; }
  .revamp-page .footer-main { grid-template-columns: 1fr; }
  .revamp-page .footer-links { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 520px) {
  .rv-hero h1 { font-size: 36px; }
  .rv-overline { font-size: 10px; }
  .rv-metrics { grid-template-columns: 1fr; }
  .rv-metrics > div { border-right: 0; border-bottom: 1px solid var(--rv-line); }
  .rv-team-grid article { grid-template-columns: 1fr; }
  .rv-team-avatar { min-height: 180px; }
  .rv-history-list article { grid-template-columns: 1fr; gap: 20px; }
  .rv-product-side { grid-template-columns: 1fr; }
  .rv-case-side { grid-template-columns: 1fr; }
  .rv-case-side > p { grid-column: auto; }
  .rv-product-side > p { grid-column: auto; }
  .rv-product-detail h2 { font-size: 38px; }
  .rv-media-card h3 { font-size: 27px; }
  .rv-contact-list > * { grid-template-columns: 1fr 24px; }
  .rv-contact-list span { grid-column: 1/-1; }
  .rv-contact-email strong { grid-column: 1 / -1; }
  .rv-contact-phone strong { grid-column: 1 / -1; }
  .revamp-page .footer-links { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
  .revamp-page .footer-bottom { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}
