:root{
  --charcoal:#0e1013;
  --charcoal-2:#171a1e;
  --white:#ffffff;
  --warm-gray:#f5f5f2;
  --soft-gray:#e7e7e7;
  --blue:#7B49FF;
  --blue-deep:#5B2FD9;
  --blue-light:#20C4F2;
  --ink-on-light:#111214;
  --muted-on-light:#6d6d70;
  --muted-on-dark:#9a9ca3;
  --line-light:rgba(17,17,17,0.10);
  --line-dark:rgba(255,255,255,0.13);
  --ff-display:'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --ff-body:'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
body{
  background:var(--charcoal);
  color:var(--white);
  font-family:var(--ff-body);
  font-weight:300;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--blue);color:#fff;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;background:none;border:none;color:inherit;cursor:pointer;}
.wrap{width:100%;max-width:1800px;margin:0 auto;padding:0 clamp(24px,4vw,64px);box-sizing:border-box;}
.wrap-text{max-width:1360px;}
section{position:relative;}

.on-charcoal{background:var(--charcoal);color:var(--white);}
.on-warm-gray{background:var(--warm-gray);color:var(--ink-on-light);}
.on-white{background:var(--white);color:var(--ink-on-light);}
.on-soft-dark{background:var(--charcoal-2);color:var(--white);}
.on-warm-white{background:#faf9f6;color:var(--ink-on-light);}
.on-black{background:#000;color:var(--white);}

.eyebrow{font-family:var(--ff-body);font-weight:500;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;display:flex;align-items:center;gap:9px;}
.eyebrow.on-light{color:var(--blue-light);}
.eyebrow.on-dark{color:var(--muted-on-dark);}

.eyebrow .accent{color:var(--blue-light);}

.reveal{opacity:0;transform:translateY(46px);will-change:opacity,transform;}
body.dta-fallback .reveal{transition:opacity 1.05s ease,transform 1.1s cubic-bezier(.22,.61,.36,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.mask{overflow:hidden;}
.mask > span{display:inline-block;transform:translateY(112%);}

/* image frame + parallax + ken-burns reveal */
.img-frame{position:relative;overflow:hidden;border-radius:6px;}
.img-frame img{position:absolute;inset:0;width:100%;height:118%;top:-9%;object-fit:cover;transform:scale(1.08);will-change:transform;}
.img-frame.illustration{background:none;min-height:0 !important;align-self:center;position:static;overflow:visible;display:flex;align-items:center;justify-content:center;padding:48px;box-sizing:border-box;}
.img-frame.illustration img{position:static;width:100%;height:auto;object-fit:contain;transform:none;padding: 40px 0px 40px 20px;}
@media (max-width:700px){ .img-frame.illustration{padding:0px;} }
.img-frame .shade{position:absolute;inset:0;z-index:1;}
.img-frame.illustration .shade{display:none;}
.grain{position:fixed;inset:0;z-index:999;pointer-events:none;opacity:0.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.9'/%3E%3C/svg%3E");

}

/* ================= NAV ================= */
header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:28px 0;}
header.dark-nav{color:var(--white); background:rgba(14,16,19,0.72); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid rgba(255,255,255,0.06);}
header.light-nav{color:var(--ink-on-light); background:rgba(250,249,246,0.82); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid rgba(17,17,17,0.06);}
header .wrap{display:flex;align-items:center;justify-content:space-between;}
.logo{font-family:var(--ff-display);font-weight:600;font-size:20px;letter-spacing:-0.01em;display:flex;align-items:center;gap:9px;}
.logo img{height:45px;width:auto;display:block;}
.logo .logo-light, .logo .logo-dark{display:none;}
.dark-nav .logo .logo-light, footer .logo .logo-light{display:block;}
.light-nav .logo .logo-dark{display:block;}
.logo .dot{width:7px;height:7px;border-radius:50%;background:var(--blue-light);}
.nav-links{display:flex;align-items:center;gap:46px;}
nav ul{list-style:none;display:flex;gap:38px;}
nav a{font-size:14px;font-weight:400;position:relative;padding-bottom:3px;}
nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:currentColor;transition:width .4s cubic-bezier(.65,0,.35,1);}
nav a:hover::after{width:100%;}
.nav-cta{border:1px solid currentColor;padding:10px 22px;border-radius:100px;font-size:13px;font-weight:500;transition:background .3s,color .3s;}
.nav-cta:hover{background:currentColor;}
header.dark-nav .nav-cta:hover{color:var(--charcoal);}
header.light-nav .nav-cta:hover{color:var(--white);}
.menu-btn{display:none;flex-direction:column;gap:5px;}
.menu-btn span{width:22px;height:1px;background:currentColor;}


.btn-fill{background:var(--blue);color:#fff;padding:16px 30px;border-radius:100px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;transition:transform .35s cubic-bezier(.65,0,.35,1),background .35s,box-shadow .35s;box-shadow:0 8px 30px -8px rgba(123,73,255,0.7);}
.btn-fill:hover{transform:translateY(-2px);background:#4c85f5;}
.btn-line{border:1px solid var(--line-dark);color:var(--white);padding:16px 30px;border-radius:100px;font-size:14px;font-weight:500;transition:border-color .3s;}
.btn-line:hover{border-color:var(--white);}
.btn-line.on-light{border-color:var(--line-light);color:var(--ink-on-light);}
.btn-line.on-light:hover{border-color:var(--ink-on-light);}

.hero-strip{margin-top:70px;padding-top:26px;border-top:1px solid var(--line-dark);display:flex;gap:50px;flex-wrap:wrap;}
.hero-strip div{font-size:13px;color:var(--muted-on-dark);}
.hero-strip div b{display:block;font-family:var(--ff-display);font-weight:600;font-size:22px;color:#fff;margin-bottom:4px;letter-spacing:-0.01em;}

.scroll-cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:2;}
.scroll-cue .line{width:1px;height:44px;background:linear-gradient(var(--blue-light),transparent);animation:pulse 2.2s ease-in-out infinite;}
@keyframes pulse{0%{transform:scaleY(.3);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}100%{transform:scaleY(.3);transform-origin:bottom;}}
.scroll-cue span{font-size:11px;letter-spacing:.16em;color:var(--muted-on-dark);text-transform:uppercase;}

/* ================= generic section spacing ================= */
.section-pad{padding:170px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:90px;flex-wrap:wrap;}
.section-head h2{font-family:var(--ff-display);font-weight:600;font-size:clamp(32px,4.6vw,64px);line-height:1.03;letter-spacing:-0.02em;max-width:13ch;}
.section-head .desc{max-width:30ch;font-size:15.5px;line-height:1.7;color:var(--muted-on-light);}
.on-charcoal .section-head .desc, .on-soft-dark .section-head .desc, .on-black .section-head .desc{color:var(--muted-on-dark);}

/* ---- Unified heading system: every section uses this exact scale, no exceptions ---- */
.sec-h2{font-family:var(--ff-display);font-weight:600;font-size:clamp(32px,4.6vw,64px);line-height:1.08;letter-spacing:-0.02em;max-width:26ch;margin-bottom:20px;color:var(--ink-on-light);}
.sec-sub{font-size:16px;line-height:1.7;color:var(--muted-on-light);max-width:60ch;}
.on-charcoal .sec-h2, .on-soft-dark .sec-h2, .on-black .sec-h2{color:#fff;}
.on-charcoal .sec-sub, .on-soft-dark .sec-sub, .on-black .sec-sub{color:var(--muted-on-dark);}
section{scroll-margin-top:110px;}

footer{background:#000;padding:90px 0 40px;}
.footer-top{display:grid;grid-template-columns:1.4fr 0.6fr 0.6fr 0.6fr;gap:40px;padding-bottom:80px;border-bottom:1px solid var(--line-dark);}
.footer-brand p{color:var(--muted-on-dark);font-size:14.5px;line-height:1.7;max-width:30ch;margin-top:22px;}
.footer-col h5{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-on-dark);margin-bottom:20px;font-weight:500;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-col a{font-size:14.5px;color:#c9c9c5;transition:color .3s;}
.footer-col a:hover{color:var(--white);}
.footer-bottom{padding-top:28px;display:flex;justify-content:space-between;font-size:13px;color:var(--muted-on-dark);flex-wrap:wrap;gap:14px;}
.footer-bottom .socials{display:flex;gap:20px;}
.footer-bottom a:hover{color:var(--white);}


.testi-marquee-outer{overflow:hidden;margin-top:24px;position:relative;}
.testi-marquee-outer::before, .testi-marquee-outer::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:3;pointer-events:none;}
.testi-marquee-outer::before{left:0;background:linear-gradient(90deg, var(--charcoal), transparent);}
.testi-marquee-outer::after{right:0;background:linear-gradient(270deg, var(--charcoal), transparent);}
.testi-yt-track{display:flex;gap:18px;width:max-content;will-change:transform;}
.testi-yt-card{flex:0 0 auto;width:300px;position:relative;border-radius:10px;overflow:hidden;aspect-ratio:3/4;display:block;background:#111;border:1px solid var(--line-dark);cursor:pointer;}
.testi-yt-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.85;transition:opacity .3s ease, transform .5s ease;}
.testi-yt-card:hover img{opacity:1;transform:scale(1.05);}
.testi-yt-card .yt-shade{position:absolute;inset:0;background:linear-gradient(0deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.05) 45%, rgba(0,0,0,0.3) 100%);pointer-events:none;}
.testi-yt-card .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:45px;background:#ff0000;border-radius:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(0,0,0,0.45);transition:transform .25s ease;z-index:2;}
.testi-yt-card:hover .play-btn{transform:translate(-50%,-50%) scale(1.1);}
.testi-yt-card .play-btn svg{width:20px;height:20px;margin-left:3px;}
.testi-yt-card .yt-badge{position:absolute;top:14px;left:14px;z-index:2;background:rgba(0,0,0,0.55);backdrop-filter:blur(4px);color:#fff;font-size:10.5px;font-weight:600;padding:6px 10px;border-radius:5px;letter-spacing:.02em;}
.testi-yt-card .yt-info{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;}
.testi-yt-card .yt-info .name{font-family:var(--ff-display);font-weight:600;font-size:15.5px;color:#fff;}
.testi-yt-card .yt-info .role{font-size:12.5px;color:rgba(255,255,255,0.72);margin-top:3px;}
.testi-yt-card.playing img, .testi-yt-card.playing .yt-shade, .testi-yt-card.playing .play-btn, .testi-yt-card.playing .yt-badge, .testi-yt-card.playing .yt-info{opacity:0;pointer-events:none;}
.testi-yt-card{transition:transform .3s ease, box-shadow .3s ease;}
.testi-yt-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px -14px rgba(0,0,0,0.5);}
.testi-yt-card .yt-player-mount{position:absolute;inset:0;z-index:4;display:none;}
.testi-yt-card.playing .yt-player-mount{display:block;}
.testi-yt-card .yt-player-mount iframe{width:100%;height:100%;border:0;}
.testi-fallback{position:absolute;inset:0;z-index:5;display:none;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(160deg,#1c2030,#0e1013);padding:30px;text-align:center;}
.testi-yt-card.embed-blocked .testi-fallback{display:flex;}
.testi-fallback .fb-icon{width:50px;height:50px;border-radius:50%;background:rgba(255,0,0,0.12);border:1px solid rgba(255,60,60,0.35);display:flex;align-items:center;justify-content:center;}
.testi-fallback .fb-icon svg{width:20px;height:20px;}
.testi-fallback .fb-text{font-size:13px;color:rgba(255,255,255,0.6);line-height:1.55;}
.testi-fallback .fb-name{font-family:var(--ff-display);font-weight:600;font-size:16px;color:#fff;}
.testi-fallback a{font-size:13px;font-weight:600;color:var(--blue-light);border:1px solid rgba(32,196,242,0.4);padding:9px 18px;border-radius:100px;transition:background .25s;}
.testi-fallback a:hover{background:rgba(123,73,255,0.15);}
.hospi {
    width: 84%;
        margin: 0 auto;
    height: auto;
}
.apps{background:var(--white);padding-bottom:0 !important;}
.app-row{display:grid;grid-template-columns:2fr 1fr;gap:0;border-top:1px solid var(--line-light);align-items:stretch;}
.app-row:last-child{border-bottom:1px solid var(--line-light);}
.app-row.reverse{direction:rtl;}
.app-row.reverse > *{direction:ltr;}
.app-visual{min-height:460px;position:relative;overflow:hidden;}
.app-visual video{display:block;width:100%;height:100%;min-height:460px;object-fit:cover;}
.car-visual video{transform:scale(.92);transform-origin:center center;}
.img-frame.illustration.hospital-visual{padding:0;background:transparent;overflow:hidden;}
.hospital-visual video{width:100%;height:100%;object-fit:cover;object-position:center;}
.app-visual .shade{position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,14,20,0.05), rgba(10,14,20,0.35));}
.app-copy{padding:70px 60px;display:flex;flex-direction:column;justify-content:center;}
.app-copy .num{font-family:var(--ff-display);font-size:clamp(36px,3.2vw,50px);line-height:1.05;font-weight:600;color:var(--blue-light);margin-bottom:24px;letter-spacing:-0.02em;}
.app-copy p{font-size:15.5px;line-height:1.75;color:var(--muted-on-light);max-width:38ch;margin-bottom:24px;}
.app-copy p strong{font-weight:600;color:var(--muted-on-light);}
.chip-row.light{display:flex;gap:10px;flex-wrap:wrap;}
.chip-light{border:1px solid var(--line-light);padding:8px 16px;border-radius:100px;font-size:12.5px;color:var(--muted-on-light);background:var(--warm-gray);}
@media (max-width:980px){
  .app-row{grid-template-columns:1fr;}
  .app-row.reverse{direction:ltr;}
  .app-copy{padding:50px 30px;}
  .app-visual video {
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    object-fit: contain;
}
}

/* ---------- Responsive (nav + footer, shared across pages) ---------- */
@media (max-width:980px){
  .nav-links{display:none;}
  .menu-btn{display:flex;}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px;}
}
@media (max-width:560px){
  .section-pad{padding:110px 0;}
  .footer-top{grid-template-columns:1fr;}
}
