@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=Sora:wght@400;500;600;700&display=swap');
:root{--ink:#151b25;--night:#0e131b;--blue:#eef5ff;--steel:#9eb8d9;--tech:#7c93c3;--mauve:#a25772;--line:rgba(238,245,255,.15);--muted:#aab6c7;--white:#f7faff;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--night);color:var(--blue);font-family:'IBM Plex Sans',sans-serif;line-height:1.6;font-size:16px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea{font:inherit}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.eyebrow{font-family:'Sora';font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--steel)}h1,h2,h3,h4{font-family:'Sora',sans-serif;line-height:1.08;letter-spacing:-.04em;margin:0}h1{font-size:clamp(3.25rem,8vw,7.6rem);max-width:920px}h2{font-size:clamp(2rem,4vw,4.4rem)}h3{font-size:1.35rem;letter-spacing:-.02em}p{color:var(--muted);max-width:680px}.btn{display:inline-flex;align-items:center;gap:14px;padding:14px 20px;border:1px solid rgba(238,245,255,.36);border-radius:3px;font-family:'Sora';font-size:.85rem;transition:.25s ease}.btn:hover{background:var(--blue);color:var(--ink);transform:translateY(-2px)}.btn.primary{background:var(--blue);color:var(--ink);border-color:var(--blue)}.btn.primary:hover{background:var(--steel)}.btn .arrow{font-size:1.2rem}.site-header{position:fixed;top:0;z-index:10;width:100%;border-bottom:1px solid var(--line);backdrop-filter:blur(16px);background:rgba(14,19,27,.72)}.nav{height:82px;display:flex;align-items:center;justify-content:space-between}.brand img{width:220px;height:auto}.navlinks{display:flex;align-items:center;gap:28px;font-family:'Sora';font-size:.78rem;color:#c9d3e0;text-transform:uppercase;letter-spacing:.08em}.navlinks a{transition:.2s}.navlinks a:hover,.navlinks a.active{color:var(--blue)}.menu{display:none;background:transparent;color:var(--blue);border:1px solid var(--line);padding:8px 10px}.hero{min-height:740px;padding:190px 0 110px;position:relative;overflow:hidden;background:radial-gradient(circle at 82% 16%,rgba(124,147,195,.25),transparent 31%),linear-gradient(120deg,#0e131b 20%,#111c2c 100%)}.hero:before,.hero:after{content:'';position:absolute;pointer-events:none;border:1px solid rgba(158,184,217,.16);transform:rotate(45deg);width:300px;height:300px;right:7%;top:160px}.hero:after{width:210px;height:210px;right:14%;top:270px;border-color:rgba(162,87,114,.35)}.hero-content{position:relative;z-index:1}.hero h1{margin:18px 0 30px}.hero h1 span{color:var(--steel)}.hero p{font-size:1.18rem;line-height:1.65;margin-bottom:34px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.hero-meta{display:flex;gap:48px;margin-top:90px;padding-top:24px;border-top:1px solid var(--line);font-family:'Sora';font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.hero-meta strong{display:block;color:var(--blue);font-size:1.7rem;letter-spacing:-.05em;margin-bottom:4px}.section{padding:120px 0}.section.light{background:var(--blue);color:var(--ink)}.section.light p{color:#566475}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:54px}.section-head p{margin:0}.grid{display:grid;gap:2px}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card{min-height:290px;border:1px solid var(--line);padding:28px;position:relative;transition:.3s;background:rgba(255,255,255,.02)}.service-card:hover{background:rgba(158,184,217,.12);transform:translateY(-5px)}.service-card .num{font-family:'Sora';color:var(--mauve);font-size:.85rem}.service-card h3{margin:70px 0 12px}.service-card p{font-size:.95rem}.service-card:after{content:'↗';position:absolute;right:24px;top:23px;color:var(--steel);font-size:1.4rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.media{min-height:480px;background-image:linear-gradient(145deg,rgba(14,19,27,.08),rgba(14,19,27,.65)),var(--photo-1);background-size:cover;background-position:center;position:relative}.media .stamp{position:absolute;bottom:24px;left:24px;background:var(--mauve);padding:18px 20px;color:var(--white);font-family:'Sora';font-size:.8rem}.line-list{margin-top:35px;border-top:1px solid rgba(21,27,37,.2)}.line-list div{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid rgba(21,27,37,.2);font-family:'Sora';font-size:.9rem}.line-list span:last-child{color:var(--mauve)}.image-band{height:420px;background-image:linear-gradient(90deg,rgba(14,19,27,.85),rgba(14,19,27,.22)),var(--photo-2);background-size:cover;background-position:center;display:flex;align-items:end}.image-band h2{max-width:680px;margin-bottom:55px}.quote{font-family:'Sora';font-size:clamp(1.5rem,3vw,2.8rem);color:var(--ink);max-width:850px}.footer{padding:50px 0 24px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;padding-bottom:55px}.footer img{width:210px;margin-bottom:20px}.footer h4{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px;color:var(--steel);letter-spacing:.12em}.footer p,.footer a{font-size:.9rem;color:var(--muted);display:block;margin:5px 0}.footer a:hover{color:var(--blue)}.copyright{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;color:#738195;font-size:.78rem}.page-hero{padding:170px 0 92px;background:linear-gradient(120deg,#0e131b,#172335);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(3rem,7vw,6.5rem);margin:16px 0 22px}.page-hero p{font-size:1.1rem}.article{max-width:880px}.article h2{font-size:2rem;margin:45px 0 15px}.article h3{margin:26px 0 8px}.article p,.article li{max-width:780px}.article ul{color:var(--muted);padding-left:22px}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-details{border-top:1px solid var(--line);margin-top:36px}.contact-item{padding:20px 0;border-bottom:1px solid var(--line)}.contact-item small{display:block;text-transform:uppercase;letter-spacing:.12em;color:var(--steel);font-family:'Sora';font-size:.72rem;margin-bottom:5px}.form{display:grid;gap:16px}.field label{display:block;font-family:'Sora';font-size:.78rem;color:var(--steel);margin-bottom:7px}.field input,.field textarea{width:100%;border:1px solid var(--line);background:rgba(238,245,255,.04);color:var(--blue);padding:14px;border-radius:2px;outline:none}.field input:focus,.field textarea:focus{border-color:var(--steel)}.field textarea{min-height:150px;resize:vertical}.form-note{font-size:.8rem;color:#758398}.reveal{animation:rise .8s both}.delay{animation-delay:.15s}@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.pulse{animation:pulse 3.5s infinite ease-in-out}@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}@media(max-width:800px){.wrap{width:min(var(--max),calc(100% - 32px))}.nav{height:70px}.brand img{width:185px}.menu{display:block}.navlinks{display:none;position:absolute;top:70px;left:0;right:0;background:var(--night);padding:22px 16px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.navlinks.open{display:flex}.hero{min-height:auto;padding:145px 0 75px}.hero-meta{margin-top:60px;gap:25px;flex-wrap:wrap}.hero-meta strong{font-size:1.3rem}.section{padding:78px 0}.section-head,.split,.contact-grid{display:block}.section-head p{margin-top:18px}.services-grid{grid-template-columns:1fr}.service-card{min-height:235px}.service-card h3{margin-top:48px}.split .media{margin-bottom:45px;min-height:330px}.image-band{height:330px}.image-band h2{margin-bottom:35px}.footer-grid{grid-template-columns:1fr;gap:30px;padding-bottom:35px}.copyright{display:block}.copyright span{display:block;margin-top:7px}.page-hero{padding:130px 0 70px}.contact-grid .form{margin-top:50px}}

/* GENETRIX visual refresh */
:root{--mauve:#A25772;--photo-1:url('https://images.unsplash.com/photo-1593687395549-400945fed803?q=80&w=735&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');--photo-2:url('https://images.unsplash.com/photo-1762163516269-3c143e04175c?q=80&w=1476&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');--photo-3:url('https://images.unsplash.com/photo-1604005366359-2f8f2a044336?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');--photo-4:url('https://images.unsplash.com/photo-1782094673136-5198a372980c?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');--photo-5:url('https://images.unsplash.com/photo-1552585155-f5c1efa32555?q=80&w=764&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');--photo-6:url('https://images.unsplash.com/photo-1576269076940-31c888bebb3e?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');--photo-7:url('https://images.unsplash.com/photo-1581092162384-8987c1d64718?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');--photo-8:url('https://images.unsplash.com/photo-1667906962043-a3e82dea23a3?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D')}
body{position:relative}
body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:url('assets/genetrix-brand-mark.png') no-repeat 82% 52%;background-size:min(52vw,680px);opacity:.055;mix-blend-mode:screen}
.site-header,main,.footer{position:relative;z-index:1}
.site-header{background:#EEF5FF;border-bottom:1px solid rgba(21,27,37,.12);backdrop-filter:blur(18px)}
.navlinks{color:#293241}.navlinks a:hover,.navlinks a.active{color:var(--mauve)}
.brand img{filter:drop-shadow(0 1px 0 rgba(10,20,36,.06))}
.menu{color:var(--ink);border-color:rgba(21,27,37,.25)}
.hero:after{border-color:rgba(162,87,114,.78);box-shadow:0 0 55px rgba(162,87,114,.13)}
.eyebrow,.footer h4,.contact-item small,.field label{color:var(--mauve)}
.btn.primary{background:var(--mauve);border-color:var(--mauve);color:#fff}.btn.primary:hover{background:#85445c}
.service-card .num,.line-list span:last-child,.service-card:after{color:var(--mauve)}
.service-card:hover{background:rgba(162,87,114,.12);border-color:rgba(162,87,114,.42)}
.media{background-image:linear-gradient(145deg,rgba(14,19,27,.02),rgba(14,19,27,.58)),var(--photo-1)}
.image-band{background-image:linear-gradient(90deg,rgba(14,19,27,.84),rgba(14,19,27,.15)),var(--photo-2)}
.media .stamp{background:var(--mauve)}
.footer-grid{grid-template-columns:1.25fr .7fr .7fr 1.2fr;gap:36px}
.footer a:hover{color:var(--mauve)}
.footer-legal a{color:var(--muted)}
.copyright .legal-bottom{display:none}
.photo-section{padding-top:0}
.photo-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}
.photo-card{position:relative;min-height:310px;overflow:hidden;background:#1b2431}
.photo-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .7s ease,filter .5s ease;filter:saturate(.78)}
.photo-card:hover img{transform:scale(1.045);filter:saturate(1)}
.photo-card:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(11,15,22,.7))}
.photo-card figcaption{position:absolute;z-index:1;left:20px;bottom:18px;font:500 .78rem 'Sora';letter-spacing:.12em;text-transform:uppercase;color:white}
.capability-visuals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:48px}
.capability-visuals img{width:100%;height:250px;object-fit:cover;filter:saturate(.78);transition:filter .35s,transform .5s}
.capability-visuals img:hover{filter:saturate(1);transform:translateY(-4px)}
@media(max-width:800px){body:before{background-position:85% 44%;background-size:95vw;opacity:.045}.navlinks{background:#EEF5FF}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.photo-grid,.capability-visuals{grid-template-columns:1fr}.photo-card{min-height:260px}.capability-visuals img{height:240px}}

/* Page-specific image compositions, card imagery and timeline */
.home-hero{background-image:linear-gradient(90deg,rgba(10,15,23,.94) 0%,rgba(10,15,23,.78) 50%,rgba(10,15,23,.45) 100%),var(--photo-1);background-position:center 48%;background-size:cover}
.about-hero{background-image:linear-gradient(90deg,rgba(10,15,23,.92),rgba(10,15,23,.55)),var(--photo-4);background-position:center 48%;background-size:cover}
.services-hero{background-image:linear-gradient(90deg,rgba(10,15,23,.92),rgba(10,15,23,.52)),var(--photo-6);background-position:center 48%;background-size:cover}
.contact-hero{background-image:linear-gradient(90deg,rgba(10,15,23,.93),rgba(10,15,23,.5)),var(--photo-8);background-position:center 52%;background-size:cover}
.image-band.home-image-band{background-image:linear-gradient(90deg,rgba(14,19,27,.84),rgba(14,19,27,.15)),var(--photo-8)}
.hero-meta{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:0;padding-top:32px;max-width:none}
.hero-meta:before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:linear-gradient(90deg,var(--mauve),rgba(238,245,255,.55))}
.hero-meta>div{position:relative;padding:17px 24px 0 0;line-height:1.45}
.hero-meta>div:before{content:"";position:absolute;top:-28px;left:0;width:11px;height:11px;border-radius:50%;background:var(--mauve);box-shadow:0 0 0 5px rgba(162,87,114,.18)}
.hero-meta strong{font-size:.75rem;color:#f2c4d2;letter-spacing:.14em;margin-bottom:8px}
.home-services-grid .service-card{min-height:390px;overflow:hidden;padding-top:0}
.service-card-image{display:block;height:180px;margin:0 -28px 24px;overflow:hidden;background:#253246}
.service-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease,filter .45s ease;filter:saturate(.8)}
.home-services-grid .service-card:hover .service-card-image img{transform:scale(1.05);filter:saturate(1)}
.home-services-grid .service-card h3{margin:0 0 12px}
.about-method-card{padding:0 22px 24px;overflow:hidden}
.about-method-card .service-card-image{margin:0 -22px 24px;height:190px}
.about-method-card h3{margin:0 0 12px}
.about-method-card .num{display:block;margin-bottom:10px}
.service-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:26px;border:1px solid rgba(162,87,114,.44);border-radius:50%;color:var(--mauve)}
.service-icon .material-symbols-outlined{font-size:25px;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
.services-page-grid .service-card h3{margin:0 0 12px}
.services-page-grid .service-card{min-height:270px;padding-top:26px}
.cta-section{background:linear-gradient(135deg,#172335,#0e131b 64%,#291923);overflow:hidden}
.cta-section .media{min-height:390px;background-image:linear-gradient(145deg,rgba(14,19,27,.08),rgba(14,19,27,.5)),var(--photo-5);background-position:center}
.cta-section h2{max-width:610px}
.cta-section .btn{margin-top:8px}
.article h2{color:var(--blue)}
.article h3{color:var(--steel);font-size:1.15rem;letter-spacing:-.015em}
.article li{margin:8px 0;color:var(--muted)}
.article a{color:#d493aa;text-decoration:underline;text-underline-offset:3px}
.legal-notice{padding:18px 20px;border-left:3px solid var(--mauve);background:rgba(162,87,114,.1);color:#d7dce5;margin:24px 0 36px}
@media(max-width:800px){.hero-meta{grid-template-columns:1fr;gap:18px;margin-top:52px;padding-top:28px}.hero-meta:before{left:5px;right:auto;top:0;bottom:0;width:1px;height:auto;background:linear-gradient(var(--mauve),rgba(238,245,255,.25))}.hero-meta>div{padding:0 0 4px 28px}.hero-meta>div:before{top:4px;left:0}.home-services-grid .service-card{min-height:0;padding-bottom:26px}.service-card-image{height:190px}.about-method-card{padding:0 18px 22px}.about-method-card .service-card-image{margin-left:-18px;margin-right:-18px}.services-page-grid .service-card{min-height:0;padding:24px}.cta-section .media{min-height:280px;margin:0 0 32px}.home-hero,.about-hero,.services-hero,.contact-hero{background-position:center;background-size:cover}}

/* Update: high contrast light navigation and supplied photography */
.site-header{background:#EEF5FF;border-bottom-color:rgba(21,27,37,.14);backdrop-filter:blur(16px)}
.navlinks{color:#273448}
.navlinks a:hover,.navlinks a.active{color:#A25772}
.menu{color:#273448;border-color:rgba(21,27,37,.28);cursor:pointer}
.menu:hover,.menu:focus-visible{background:#A25772;color:#fff;border-color:#A25772}
.about-point-media{background-image:linear-gradient(145deg,rgba(14,19,27,.08),rgba(14,19,27,.55)),url('https://images.unsplash.com/photo-1714846201700-35b42d937158?q=80&w=687&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D')}
.services-approach-media{background-image:linear-gradient(145deg,rgba(14,19,27,.08),rgba(14,19,27,.58)),url('https://images.unsplash.com/photo-1779782213027-363d45acccab?q=80&w=1074&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D')}
.contact-hero{background-image:linear-gradient(100deg,rgba(14,19,27,.91),rgba(14,19,27,.5)),url('https://images.unsplash.com/photo-1650526565103-20462d622488?q=80&w=1336&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=NHwxMjA3fDA%3D');background-size:cover;background-position:center 48%}
.form-note{font-size:.82rem;color:var(--steel)}
@media(max-width:800px){.navlinks{background:#EEF5FF;box-shadow:0 12px 22px rgba(12,20,33,.12)}.navlinks a{color:#273448;padding:9px 0}.menu[aria-expanded="true"]{background:#A25772;color:#fff}}
@media(min-width:801px){.footer-grid{grid-template-columns:1.4fr 1fr 1.15fr 1.55fr}}

/* Let the brand mark show through the legal page heroes. */
.legal-hero{background:transparent}

/* Keep the header above page content so the mobile menu is never covered. */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:50}
@media(max-width:800px){
  .navlinks.open{display:flex;position:absolute;top:100%;left:0;right:0;z-index:51;background:#EEF5FF;color:#273448;visibility:visible;opacity:1;pointer-events:auto;border-bottom:1px solid rgba(21,27,37,.14);box-shadow:0 12px 22px rgba(12,20,33,.12)}
}
