/* Optical glass: a clear core, polished edges and a moving light field. */
:root {
  --glass: linear-gradient(145deg, #ffffff6b, #ffffff22 48%, #e9f7ff4a);
  --glass-border: #ffffffa8;
  --glass-shadow: inset 2px 2px 2px #fffffff2, inset -1px -2px 2px #617b9d28, inset 0 0 18px #ffffff66, 0 2px 3px #36577b12, 0 20px 48px #24467620;
}
body { background:#e6eef6; }
.glass-atmosphere { background:linear-gradient(130deg,#f0f5fc 12%,#d4e4f1 52%,#d5e9ed 80%,#eff3fa); }
.glass-atmosphere i { filter:blur(28px); opacity:.75; background:radial-gradient(ellipse,#8ec6f2 10%,#b0d3f56e 45%,transparent 68%); animation:light-drift 22s ease-in-out infinite alternate; }
.glass-atmosphere i:nth-child(2) { opacity:.68; background:radial-gradient(ellipse,#a9a4ec 5%,#b5b6ea80 38%,transparent 68%); animation-delay:-9s; }
.glass-atmosphere i:nth-child(3) { opacity:.7; background:radial-gradient(ellipse,#68cfdd 4%,#b8e6ec70 42%,transparent 68%); animation-delay:-16s; }
@keyframes light-drift { to { transform:translate3d(-6%,9%,0) scale(1.1); } }
:is(.hero-reel,.proof-grid>div,.case-rail>article,.service-list article,.faq details,.note-card,.video-rail>.video-feature,.button,.nav-cta,.rail-buttons button,.glass-arrow) {
  --shine-x:30%; --shine-y:0%;
  border:1px solid var(--glass-border);
  background:var(--glass);
  box-shadow:var(--glass-shadow);
  backdrop-filter:blur(20px) saturate(170%);
  -webkit-backdrop-filter:blur(20px) saturate(170%);
}
:is(.hero-reel,.proof-grid>div,.case-rail>article,.service-list article,.faq details,.note-card,.video-rail>.video-feature,.button,.nav-cta,.rail-buttons button,.glass-arrow) { position:relative; }
/* A masked double rim leaves the central viewing area completely clear. */
:is(header,.hero-reel,.proof-grid>div,.case-rail>article,.service-list article,.faq details,.note-card,.video-rail>.video-feature,.button,.nav-cta,.rail-buttons button,.glass-arrow)::before {
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px;
  background:linear-gradient(140deg,#fff 2%,#ffffff25 30%,#a5c9e85c 49%,#ffffffd9 74%,#ffffff15 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude;
  pointer-events:none; z-index:2;
}
:is(header,.hero-reel,.proof-grid>div,.video-rail>.video-feature)::after {
  content:"";position:absolute;inset:2px;border-radius:inherit;pointer-events:none;
  background:radial-gradient(ellipse 60% 24% at var(--shine-x) var(--shine-y),#ffffff7a,transparent 100%);
  mix-blend-mode:soft-light;
}
header { --shine-x:30%;--shine-y:0%;position:sticky;background:linear-gradient(125deg,#ffffffa6,#ffffff70 50%,#ffffff96);backdrop-filter:blur(32px) saturate(185%);-webkit-backdrop-filter:blur(32px) saturate(185%);box-shadow:inset 2px 2px 2px #fff,inset -2px -2px 4px #46678726,0 10px 35px #23456723,0 1px 2px #fff; }
header nav { border-radius:40px; padding:5px; gap:2px; background:#ffffff20; }
header nav a { padding:10px 14px; border-radius:30px; transition:background .25s,box-shadow .25s; }
header nav a:hover,header nav a:focus-visible { background:#ffffff80;box-shadow:inset 0 1px 1px #fff,0 3px 10px #35587916; }
.nav-cta { background:linear-gradient(145deg,#ffffffc9,#ffffff52);font-size:14px; }
.hero { min-height:900px; }
.hero-copy { z-index:3; }
.hero-copy>.eyebrow { color:#3d5778; }
.hero h1 span { background-image:linear-gradient(105deg,#1f5283,#3d719b 50%,#6677a6); }
.hero-top { color:#374c67; }
.hero-media { isolation:isolate; }
/* The colored field remains visible through the generous glass frame. */
.hero-media::before {
  content:"";position:absolute;z-index:-2;width:115%;height:76%;left:-3%;top:15%;border-radius:48%;
  background:radial-gradient(ellipse at 20% 65%,#68c9dbb3,transparent 52%),radial-gradient(ellipse at 85% 30%,#858ed2c9,transparent 64%),radial-gradient(ellipse at 65% 100%,#e4baab80,transparent 56%);
  filter:blur(28px);transform:rotate(-18deg);animation:media-light 16s ease-in-out infinite alternate;
}
.hero-media::after {
  content:"";position:absolute;z-index:-1;inset:18% -5% 13% 6%;border-radius:70px;transform:rotate(-9deg);
  background:linear-gradient(135deg,#ffffff50,#ffffff05 45%,#ffffff36);
  border:1px solid #ffffffab;box-shadow:inset 2px 2px 2px #ffffffd6,inset -1px -2px 2px #7698bd38,0 28px 60px #344f701a;
  backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);
}
@keyframes media-light { to { transform:translateY(18px) rotate(5deg) scale(1.07); } }
.hero-reel-strip { gap:20px;overflow:visible; }
.hero-reel { padding:15px;border-radius:38px;background:linear-gradient(145deg,#ffffff68,#ffffff24 46%,#ffffff5b);box-shadow:inset 2px 2px 2px #fffffff0,inset -2px -2px 3px #45638b35,inset 0 0 18px #ffffff7a,0 30px 60px #29476b30,0 3px 5px #29476b1a; }
.hero-reel-secondary { margin-top:65px; }
.hero-player { border-radius:24px;box-shadow:0 1px 0 #fff,0 -1px 3px #29416440; }
.hero-reel-top { font-size:12px;padding:7px 3px 15px;color:#293d58; }
.hero-reel-bottom { padding:20px 3px 7px; }
.hero-reel-bottom b { font-size:34px;color:#193452;text-shadow:0 1px 0 #ffffffb3; }
.hero-reel-bottom em { color:#314d6b;font-size:12px; }
.hero-reel-bottom small { font-size:12px; }
.hero-media-label { font-size:12px;color:#334f71;letter-spacing:.08em; }
.hero-media-label a { font-size:12px; }
.hero-bottom { font-size:12px; }
.glass-arrow { width:40px;height:40px;background:linear-gradient(140deg,#ffffffa1,#ffffff24); }
.button { font-size:14px;min-height:54px;transition:transform .25s,box-shadow .25s; }
.button.dark { background:linear-gradient(135deg,#3e6f9dcf,#143753e8);box-shadow:inset 2px 2px 2px #ffffff8a,inset -1px -2px 3px #081d4880,inset 0 0 12px #8bb7e244,0 10px 24px #284a7130;border-color:#b0cdec; }
.button.dark:hover { background:linear-gradient(135deg,#578bb1dc,#234d72ee);box-shadow:inset 2px 2px 2px #ffffffbd,0 14px 28px #284a7140; }
.proof-grid>div,.proof-grid>div+div { border-color:#ffffffb8;background:var(--glass);box-shadow:var(--glass-shadow);border-radius:30px; }
.proof-grid p { color:#3b536f;font-size:14px; }
.video-showcase { position:relative;isolation:isolate;background:linear-gradient(155deg,#10223a,#183858 46%,#0a172a);overflow:hidden; }
.video-showcase::before {
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 15% 60%,#35b9d866,transparent 48%),radial-gradient(ellipse at 88% 30%,#8090e277,transparent 45%),radial-gradient(ellipse at 65% 90%,#5879ac77,transparent 50%);
}
.video-intro p:last-child,.video-note { color:#c5d5e7; }
.video-rail { padding:12px 4px 36px;gap:28px; }
.video-rail>.video-feature,.video-rail .video-feature+.video-feature {
  padding:19px 19px 28px;border-radius:38px;border:1px solid #ffffff63;
  background:linear-gradient(145deg,#ffffff26,#c1d8ff0c 48%,#a6d3fc24);
  box-shadow:inset 2px 2px 2px #ffffffb3,inset -2px -2px 3px #08132050,inset 0 0 18px #ffffff17,0 16px 30px #03102135;
  backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);
}
.video-rail .video-frame { border-radius:25px;border:1px solid #ffffff4a;box-shadow:0 2px 2px #ffffff1a,0 -1px 6px #07101f40; }
.video-rail .video-description { padding:5px 7px; }
.video-kicker { font-size:14px;color:#d4ecff;letter-spacing:.04em; }
.video-rail .video-number { text-shadow:0 2px 24px #8acbff44; }
.rail-toolbar { font-size:14px; }
.rail-buttons { gap:12px;padding:6px;border-radius:40px;background:#ffffff14;border:1px solid #ffffff30;box-shadow:inset 0 1px 0 #ffffff7a,0 8px 25px #07162b17; }
.rail-count { min-width:54px;text-align:center;font-size:12px; }
.rail-buttons button,.video-showcase .rail-buttons button { width:44px;height:44px;background:linear-gradient(140deg,#ffffff66,#ffffff12);border:1px solid #ffffff8a;box-shadow:inset 1px 1px 1px #ffffffd9,inset -1px -1px 2px #27456444,0 4px 8px #0616281f; }
.video-showcase .rail-buttons button:hover:not(:disabled) { background:#ffffff50; }
.case-rail>article { border-radius:34px!important;background:var(--glass)!important; }
.case-rail { padding-top:12px;padding-left:4px;padding-right:4px; }
.service-list article { border-radius:28px; }
.faq details { border-radius:24px; }
.note-card { background:linear-gradient(140deg,#edf6ffd9,#d4e7f3b5); }
.contact { background:radial-gradient(ellipse at 25% 90%,#8ccef173,transparent 58%),radial-gradient(ellipse at 90% 25%,#9badeb70,transparent 58%); }
.cinematic { background:radial-gradient(ellipse at 80% 50%,#284668,transparent 65%),#0a1527; }
@media(hover:hover) and (pointer:fine) {
  .hero-reel:hover { box-shadow:inset 2px 2px 3px #fff,inset -2px -2px 3px #49699044,inset 0 0 20px #ffffff80,0 34px 68px #29476b3b; }
}
@media(max-width:1150px) {
  header nav a { padding:9px; }
  .hero { min-height:0; }
}
@media(max-width:900px) { header nav { display:none; } }
@media(max-width:700px) {
  .glass-atmosphere i { filter:blur(24px);animation:none; }
  header { backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%); }
  .hero-reel-strip { overflow-x:auto;gap:18px;padding:2px 6px 28px; }
  .hero-reel { padding:12px;border-radius:32px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px); }
  .hero-reel-secondary { margin-top:0; }
  .hero-media::after { inset:16% 0 10%;border-radius:45px; }
  .hero-media::before { animation:none; }
  .hero-media-label { font-size:12px;letter-spacing:0;flex-wrap:wrap; }
  .hero-media-label a { font-size:12px; }
  .hero-reel-bottom em,.hero-reel-top { font-size:12px; }
  .hero-actions .button,.hero-actions .text-link { font-size:14px; }
  .hero-description { font-size:16px; }
  .hero-bottom { font-size:12px; }
  .hero-reel-bottom b { font-size:32px; }
  .video-rail>.video-feature,.video-rail .video-feature+.video-feature { padding:14px 14px 24px;border-radius:32px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px); }
  .video-rail .video-frame { border-radius:22px; }
  .rail-toolbar { font-size:12px;gap:10px; }
  .rail-buttons { gap:4px;padding:4px; }
  .rail-buttons button,.video-showcase .rail-buttons button { width:38px;height:38px; }
  .rail-count { min-width:46px; }
  .proof-grid>div,.service-list article,.faq details { backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(140deg,#ffffffaa,#ffffff75); }
  .approach.cinematic h2 { font-size:clamp(24px,6.2vw,35px)!important; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  header,.hero-reel,.proof-grid>div,.case-rail>article,.service-list article,.faq details { background:#e6eff8!important; }
  .video-rail>.video-feature { background:#27425f; }
}
@media(prefers-reduced-motion:reduce) {
  .glass-atmosphere i,.hero-media::before { animation:none; }
}

/* White glass palette: bright backgrounds across the entire page. */
:root {
  --ink:#203249;
  --muted:#53657a;
  --line:#d7e2ec;
  --glass:linear-gradient(145deg,#ffffffa6,#ffffff50 48%,#f2faff80);
  --glass-shadow:inset 2px 2px 2px #fff,inset -1px -2px 2px #7693ad24,inset 0 0 18px #ffffff80,0 2px 3px #36577b0c,0 18px 42px #496d9014;
}
body { background:#fcfdff; }
.glass-atmosphere { background:linear-gradient(130deg,#fff 10%,#f6fafe 52%,#f2f9fb 80%,#fff); }
.glass-atmosphere i { opacity:.3; }
.glass-atmosphere i:nth-child(2) { opacity:.18; }
.glass-atmosphere i:nth-child(3) { opacity:.22; }
header { background:linear-gradient(125deg,#ffffffc9,#ffffff8c 50%,#ffffffad);box-shadow:inset 2px 2px 2px #fff,inset -2px -2px 4px #6688a520,0 10px 35px #4b739619,0 1px 2px #fff; }
.hero-media::before { opacity:.52; }
.hero-media::after { background:linear-gradient(135deg,#ffffff87,#ffffff10 45%,#ffffff6b); }
.hero-reel { background:linear-gradient(145deg,#ffffffa8,#ffffff4d 46%,#ffffff8c);box-shadow:inset 2px 2px 2px #fff,inset -2px -2px 3px #7391ac30,inset 0 0 18px #ffffff8c,0 24px 54px #56758f23,0 3px 5px #29476b12; }
.approach.cinematic { color:var(--ink);background:radial-gradient(ellipse at 85% 55%,#e3f0fa 0,transparent 58%),linear-gradient(145deg,#fff,#f5f9fd); }
.approach .word-reveal span { color:var(--ink)!important; }
.approach .word-reveal .accent { color:#3a7598!important; }
.approach p:not(.eyebrow) { color:var(--muted); }
.video-showcase { color:var(--ink);background:linear-gradient(155deg,#fff,#f2f8fc 48%,#f9fcff); }
.video-showcase::before { background:radial-gradient(ellipse at 15% 60%,#c6e9f34d,transparent 48%),radial-gradient(ellipse at 88% 30%,#dce4f366,transparent 45%),radial-gradient(ellipse at 65% 90%,#e5f2f766,transparent 50%); }
.video-intro p:last-child,.video-note,.video-description>p { color:var(--muted); }
.video-kicker { color:#44657e; }
.video-meta { color:#596e83!important; }
.video-rail>.video-feature,.video-rail .video-feature+.video-feature {
  background:linear-gradient(145deg,#ffffffb3,#ffffff4d 48%,#ecf8ff80);
  border-color:#ffffffed;
  box-shadow:inset 2px 2px 2px #fff,inset -2px -2px 3px #8ca6bd32,inset 0 0 18px #ffffff8a,0 16px 30px #47648019;
}
.video-rail .video-number { color:#284d6b;text-shadow:0 1px 0 #fff; }
.video-description .text-link { color:#284d6b;border-color:#a0b8cc; }
.video-rail .video-frame { border-color:#ffffffd9;box-shadow:0 2px 2px #ffffffa6,0 -1px 6px #6e8aa429; }
.video-frame .video-fallback { background:#f3f8fc;color:#385a74;border-top-color:#d6e3ed; }
.rail-buttons { background:#ffffff60;border-color:#fff;box-shadow:inset 0 1px 0 #fff,0 8px 25px #55738d14; }
.rail-buttons button,.video-showcase .rail-buttons button { color:#284d6b;background:linear-gradient(140deg,#ffffffed,#edf6fc70);border-color:#fff;box-shadow:inset 1px 1px 1px #fff,inset -1px -1px 2px #7191ac35,0 4px 8px #52718b14; }
.video-showcase .rail-buttons button:hover:not(:disabled) { background:#dcecf6; }
.impact-stage { background:linear-gradient(145deg,#fff,#f2f8fc);color:var(--ink); }
.impact-light { background:radial-gradient(ellipse at var(--light-x) 58%,#a3d6ec54,transparent 42%),radial-gradient(ellipse at 75% 30%,#c7d7ef4d,transparent 45%); }
.impact-eyebrow,.impact-intro,.impact-footer { color:#4f667e; }
.impact-future { color:#397a9c;text-shadow:0 1px 0 #fff,0 0 50px #7cc6df1c; }
.impact-rings { opacity:.85; }
.impact-rings i,.impact-rings i:nth-child(2),.impact-rings i:nth-child(3) { border-color:#fff;box-shadow:inset 1px 1px 2px #fff,inset -1px -1px 2px #91adc729,0 2px 8px #7b9bb41a;background:linear-gradient(135deg,#ffffff24,transparent 45%,#ffffff14); }
.impact-footer a { border-color:#a4bdcf; }
.impact-progress { background:#dce8f0; }
.impact-progress span { background:linear-gradient(90deg,#a8cbdf,#669dbe); }
.knowledge { color:var(--ink);background:radial-gradient(ellipse at 90% 50%,#e2f0fa,transparent 65%),linear-gradient(145deg,#fff,#f4f9fd); }
.knowledge-grid>div>p:not(.eyebrow) { color:var(--muted); }
.knowledge .text-link { color:#284d6b;border-color:#a0b8cc; }
.note-card { background:linear-gradient(140deg,#ffffffbd,#f5fbff66);color:var(--ink);box-shadow:var(--glass-shadow); }
.note-card p { color:var(--muted); }
.contact { background:radial-gradient(ellipse at 25% 90%,#ddecf66b,transparent 58%),radial-gradient(ellipse at 90% 25%,#e4ebf775,transparent 58%),#fff; }
footer.wrap { color:var(--ink);background:#fafcfe;border-top:1px solid #e2eaf1; }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  header,.hero-reel,.proof-grid>div,.case-rail>article,.service-list article,.faq details { background:#f6faff!important; }
  .video-rail>.video-feature { background:#f6faff; }
}
