:root{--bg:#10171d;--panel:#1d2a34;--blue:#75bfff;--text:#f2f6f3;--muted:#a6b4bc;--line:#ffffff21}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;background-image:radial-gradient(ellipse at 95% 35%,#a4e1ff09,transparent 40%)}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}h1,h2,h3,p{margin:0}em{font-style:normal;color:var(--blue)}.wrap{width:min(1180px,calc(100% - 72px));margin:auto}.header{width:min(1280px,calc(100% - 64px));margin:24px auto 0;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 24px;border:1px solid var(--line);border-radius:22px;background:#1c28317a}.brand{font-size:31px;font-weight:800;letter-spacing:2px;line-height:1}.brand span{display:block;font-size:8px;letter-spacing:1.05px;font-weight:400;margin-top:9px}.brand img{width:150px;display:block;filter:brightness(0) invert(1)}.desktop{display:flex;gap:30px;font-size:14px}.desktop a:hover,.text-link:hover{color:var(--blue)}.header-contact{font-size:14px;display:flex;align-items:center;gap:18px}.header-contact span{background:var(--blue);color:var(--bg);border-radius:50%;height:34px;width:34px;display:grid;place-items:center;font-size:23px}.menu{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;padding-top:75px;padding-bottom:70px;gap:20px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:12px}.cross{color:var(--blue);font-size:23px;font-weight:400}h1{font-size:clamp(50px,6.2vw,86px);font-weight:500;letter-spacing:-4px;line-height:1.02;margin:23px 0}h1 em{font-weight:600}.hero-copy>p{max-width:345px;font-size:18px;color:var(--muted)}.hero-actions{display:flex;align-items:flex-start;flex-direction:column;gap:21px;margin-top:30px}.button{background:var(--blue);color:#141a20;padding:16px 21px;border-radius:100px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;transition:box-shadow .2s,transform .2s}.button span{font-size:24px;line-height:1}.button:hover{box-shadow:0 0 30px #75bfff33;transform:translateY(-2px)}.text-link{font-size:14px}.hero-visual{position:relative;min-width:0;aspect-ratio:1/1.09;border-radius:36px;overflow:hidden;border:1px solid #ffffff18;background:#111a20}.dna{width:100%;height:100%;object-fit:cover;display:block}.visual-top{position:absolute;top:25px;left:23px;right:23px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:1.4px;color:#c6d0d8}.glass-label{position:absolute;bottom:22px;left:20px;right:20px;display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #cde2f44d;background:linear-gradient(120deg,#c0d2e12e,#22323e91);border-radius:23px;backdrop-filter:blur(20px);box-shadow:inset 0 1px 0 #ffffff30}.glass-label small{display:block;font-size:10px;letter-spacing:1.7px;color:#c0c7ce}.glass-label strong{font-size:18px;font-weight:500}.label-icon{color:var(--blue);font-size:39px;line-height:1}.label-arrow{margin-left:auto;color:var(--blue);font-size:25px}.band{background:#223039;border-block:1px solid var(--line)}.band .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:23px;gap:20px}.band span{font-size:11px;letter-spacing:1.6px;color:var(--blue)}.band p{font-size:18px}.band b{color:var(--blue);font-weight:400;margin:0 20px}.section{padding-top:90px;padding-bottom:20px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}h2{font-size:clamp(32px,3.8vw,49px);line-height:1.14;font-weight:500;letter-spacing:-1.6px;margin-top:17px}.section-head>p{max-width:290px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:18px}.service-card{display:flex;flex-direction:column;justify-content:space-between;gap:28px;min-height:340px;padding:28px;background:linear-gradient(140deg,#273743,#19262f);border-radius:26px;border:1px solid var(--line);transition:transform .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);border-color:#75bfff90}.featured{background:radial-gradient(ellipse at 0 0,#6087a935,transparent 65%),linear-gradient(135deg,#293036,#1b292b)}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:25px;color:var(--blue)}.icon{display:grid;place-items:center;border:1px solid #90b5d540;border-radius:15px;width:55px;height:55px;font-size:36px;background:#75bfff09}.service-card small{color:var(--muted);font-size:11px;letter-spacing:1.8px}.service-card h3{font-size:28px;line-height:1.1;letter-spacing:-.8px;margin:9px 0 15px;font-weight:500}.service-card p{color:var(--muted);font-size:15px;line-height:1.5}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{border:1px solid #89a8c340;border-radius:20px;font-size:11px;padding:4px 9px;color:#cbd8e4}.approach{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.approach p{color:var(--muted);margin:25px 0;max-width:430px}.health-panel{border-radius:30px;border:1px solid var(--line);padding:28px;background:radial-gradient(ellipse at 100% 0,#70aadc20,transparent 70%),linear-gradient(130deg,#273540,#17212c);box-shadow:inset 0 1px 0 #ffffff18}.health-heading{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.8px;color:var(--blue);padding-bottom:20px}.health-row{display:flex;align-items:center;gap:18px;padding:23px 0;border-top:1px solid var(--line)}.health-row>span:first-child{font-size:12px;color:var(--blue)}.health-row h3{font-size:25px;letter-spacing:-.5px;font-weight:400}.health-row>span:last-child{margin-left:auto;font-size:12px;color:var(--muted)}.health-bottom{padding-top:18px;border-top:1px solid var(--line);font-size:13px;display:flex;align-items:center;justify-content:space-between;color:var(--muted)}.health-bottom span{font-size:30px;color:var(--blue)}.portfolio{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:26px;padding:26px 0}summary::-webkit-details-marker{display:none}.number{font-size:13px;color:var(--muted)}summary h3{font-size:24px;font-weight:400;line-height:1.25;letter-spacing:-.5px}.plus{margin-left:auto;flex-shrink:0;border-radius:50%;width:34px;height:34px;background:#27353c;display:grid;place-items:center;font-size:24px;color:var(--blue)}details[open] .plus{background:var(--blue);color:var(--bg);transform:rotate(45deg)}details>p{max-width:720px;padding:0 55px 28px;color:var(--muted)}.contact-panel{position:relative;overflow:hidden;border:1px solid #93bee333;background:radial-gradient(ellipse at 0 0,#7cadd825,transparent 65%),linear-gradient(120deg,#242b31,#1a2733);border-radius:34px;padding:55px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}.contact-panel h2{font-size:43px}.contact-panel p{color:var(--muted);margin:20px 0 28px}.contact-info a{display:block;padding:21px 0;border-bottom:1px solid var(--line)}.contact-info a:last-child{border:0}.contact-info small{display:block;letter-spacing:1.4px;font-size:10px;color:var(--muted);margin-bottom:9px}.contact-info span{font-size:17px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:55px}footer>div{display:flex;gap:25px;font-size:12px;color:var(--muted)}footer>span{font-size:12px;color:var(--muted)}.bottom-nav{display:none}.skip{position:fixed;left:12px;top:-100px;background:var(--blue);color:#111;padding:10px;z-index:100}.skip:focus{top:10px}#mobile-menu{position:absolute;z-index:30;top:100px;right:20px;left:20px;background:#26343cf5;backdrop-filter:blur(25px);border:1px solid var(--line);border-radius:22px;padding:16px}#mobile-menu a{display:block;padding:13px;border-bottom:1px solid var(--line)}#mobile-menu a:last-child{border:0}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{width:calc(100% - 32px);margin-top:16px;padding:17px 18px;border-radius:23px;gap:15px}.brand{font-size:27px;letter-spacing:1.7px}.brand span{font-size:7px;letter-spacing:.8px;margin-top:7px}.brand img{width:135px}.desktop,.header-contact{display:none}.menu{display:flex;background:#ffffff09;border:1px solid var(--line);border-radius:50%;height:43px;width:43px;align-items:center;justify-content:center;gap:5px;flex-direction:column;color:white}.menu span{width:17px;height:1px;background:currentColor}.hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:30px;gap:28px}.eyebrow{font-size:10px;letter-spacing:1.6px}.hero .eyebrow{font-size:10px}.cross{font-size:20px}h1{font-size:clamp(49px,13.7vw,76px);line-height:1.03;letter-spacing:-2.6px;margin:18px 0}.hero-copy>p{font-size:16px;max-width:290px;line-height:1.5}.hero-actions{gap:16px;margin-top:25px}.button{font-size:14px;padding:15px 19px}.text-link{font-size:13px}.hero-visual{aspect-ratio:1.12;border-radius:28px}.dna{object-position:center 48%}.visual-top{font-size:8px;top:18px;left:17px;right:17px;letter-spacing:.8px}.glass-label{bottom:15px;left:14px;right:14px;padding:13px 16px;gap:12px;border-radius:19px}.glass-label strong{font-size:16px}.glass-label small{font-size:8px}.label-icon{font-size:32px}.band .wrap{flex-wrap:wrap;gap:10px;padding-block:18px}.band span{font-size:9px;letter-spacing:1px}.band span:last-child{margin-left:auto}.band p{order:3;width:100%;font-size:17px}.band b{margin:0 12px}.section{padding-top:55px;padding-bottom:0}.section-head{display:block;margin-bottom:24px}h2{font-size:34px;letter-spacing:-1.3px;line-height:1.13;margin-top:13px}.section-head>p{font-size:15px;margin-top:19px;max-width:330px}.service-grid{grid-template-columns:1fr 1fr;gap:12px}.service-card{min-height:265px;padding:19px 17px;border-radius:23px;gap:25px}.service-card.featured{grid-column:1/-1;min-height:290px;padding:25px;background:radial-gradient(ellipse at 100% 0,#719abd40,transparent 70%),linear-gradient(135deg,#273037,#1b292b)}.card-top{font-size:23px}.icon{width:46px;height:46px;font-size:30px;border-radius:13px}.service-card h3{font-size:23px;letter-spacing:-.6px;margin:9px 0 14px}.service-card p{font-size:14px}.service-card small{font-size:9px;letter-spacing:1px}.featured h3{font-size:30px}.featured p{max-width:260px;font-size:16px}.tags span{font-size:11px;padding:4px 10px}.approach{grid-template-columns:1fr;gap:27px}.approach p{font-size:15px;margin:20px 0}.health-panel{padding:24px;border-radius:25px}.health-row{gap:13px;padding:22px 0}.health-row h3{font-size:23px}.health-row>span:last-child{font-size:11px}.health-bottom{font-size:12px}.health-heading{font-size:10px}summary{gap:14px;padding:23px 0}summary h3{font-size:19px;max-width:230px}.number{font-size:11px}.plus{width:29px;height:29px;font-size:22px}details>p{font-size:14px;padding:0 0 24px 29px}.contact-panel{grid-template-columns:1fr;padding:29px 23px;border-radius:28px;gap:23px}.contact-panel h2{font-size:32px;letter-spacing:-1.3px}.contact-panel p{font-size:15px;margin:20px 0}.contact-panel .button{font-size:13px;gap:14px;width:100%}.contact-info a{padding-block:19px}.contact-info span{font-size:16px}footer{flex-direction:column;align-items:flex-start;gap:25px;padding-top:38px;padding-bottom:130px}footer>div{flex-wrap:wrap;gap:20px;font-size:12px}.bottom-nav{position:fixed;z-index:40;bottom:max(16px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;justify-content:space-around;gap:4px;background:#0d1519ed;backdrop-filter:blur(24px);border:1px solid #adb9c433;border-radius:100px;padding:8px;box-shadow:0 12px 40px #0007}.bottom-nav a{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:7px 4px;border-radius:40px;font-size:10px;min-width:0;color:#b9c1c8;line-height:1.35}.bottom-nav a>span{font-size:22px;line-height:1.05}.bottom-nav a.active{color:#182027;background:linear-gradient(130deg,#a3d4ff,#68abe5);box-shadow:0 0 20px #75bfff14}html{scroll-padding-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media(min-width:761px){#mobile-menu{display:none}}
/* Scroll-led narrative: native scrolling, no scroll interception. */
.reading-progress{position:fixed;top:0;left:0;z-index:100;height:3px;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;pointer-events:none}.scroll-cue{display:flex;align-items:center;gap:20px;font-size:12px;letter-spacing:1px;color:var(--blue);margin-top:22px}.scroll-cue span{font-size:22px}.story{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;position:relative;align-items:start}.story-stage{position:sticky;top:50px;height:min(78vh,720px);border:1px solid #75bfff35;border-radius:32px;overflow:hidden;background:#111c27}.story-stage>img{width:100%;height:100%;object-fit:cover;transform:scale(var(--story-scale,1.05)) rotate(var(--story-rotate,0deg));will-change:transform}.story-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(#06132155,transparent 35%,#061321cc);pointer-events:none}.story-stage-top,.story-stage-caption{position:absolute;left:28px;right:28px;z-index:1}.story-stage-top{top:25px;display:flex;justify-content:space-between;gap:18px;font-size:12px;letter-spacing:1px;color:#c1dff7}.story-stage-caption{bottom:30px}.chapter-word{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px}.chapter-track{display:flex;gap:8px;margin-top:20px}.chapter-track i{height:3px;background:#ffffff33;flex:1;transition:background .35s}.chapter-track i.current{background:var(--blue)}.story-step{min-height:85vh;display:flex;align-items:center;padding:70px 0;position:relative}.story-step h3{font-size:clamp(36px,4.5vw,58px);font-weight:500;letter-spacing:-2px;line-height:1.08;margin:22px 0}.story-step p{font-size:18px;color:var(--muted);max-width:380px;line-height:1.65}.step-note{display:block;font-size:14px;color:#b6cddd;margin-top:28px}.story-step .text-link{display:inline-block;margin-top:28px;color:var(--blue)}.motion-ready .reveal{opacity:.18;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.motion-ready .reveal.visible,.motion-ready .reveal:focus-within{opacity:1;transform:none}.motion-ready .story-step>div{opacity:.3;transform:translateY(15px);transition:opacity .5s,transform .5s}.motion-ready .story-step.is-current>div,.motion-ready .story-step:focus-within>div{opacity:1;transform:none}.hero-visual .dna{transform:translateY(var(--hero-shift,0px)) scale(1.08);will-change:transform}
@media(max-width:760px){.story{display:block}.story-stage{top:12px;height:32svh;min-height:190px;max-height:300px;z-index:5;border-radius:23px;box-shadow:0 15px 30px #10171d55}.story-stage-top{left:18px;right:18px;top:17px;font-size:10px}.story-stage-caption{left:18px;right:18px;bottom:17px}.chapter-word{font-size:30px;letter-spacing:-1px}.chapter-track{margin-top:10px}.story-stage>img{object-position:50% 46%}.story-step{min-height:70svh;padding:45px 12px 90px;align-items:flex-start}.story-step h3{font-size:clamp(34px,10vw,46px);letter-spacing:-1.5px;margin:18px 0}.story-step p{font-size:16px}.story-step .eyebrow{font-size:11px;letter-spacing:1px}.step-note{font-size:13px}.story-step:last-child{min-height:60svh}.scroll-cue{font-size:12px}.motion-ready .story-step>div{opacity:.45}.story-steps{position:relative}}
@media(prefers-reduced-motion:reduce){.story-stage{position:relative;top:0}.story-step{min-height:0;padding:35px 0}.story-stage>img,.hero-visual .dna{transform:none!important;will-change:auto}.motion-ready .reveal,.motion-ready .story-step>div{opacity:1;transform:none}.reading-progress{display:none}}
@media(max-height:500px){.story-stage{position:relative;top:0}.story-step{min-height:0;padding:30px 0}}
/* Light editorial composition with blue glass and dark narrative panels. */
:root{--bg:#f3f6fa;--panel:#fff;--blue:#0875dc;--text:#101b2b;--muted:#546478;--line:#142c491c}body{background:radial-gradient(ellipse at 95% 8%,#a1cfff50,transparent 30%),#f3f6fa}.header{background:#ffffffa8;border-color:#ffffff;border-radius:60px;box-shadow:0 8px 35px #243e6408;backdrop-filter:blur(20px)}.brand img{filter:brightness(0);opacity:.9}.header-contact{background:#101b2b;color:white;border-radius:40px;padding:6px 7px 6px 20px}.header-contact span{background:white;color:#0875dc}.hero{gap:45px;padding-top:65px;padding-bottom:65px}.hero h1{font-weight:500;font-size:clamp(54px,6.4vw,84px);letter-spacing:-4.5px}.hero-visual{border:7px solid #ffffffad;border-radius:40px;box-shadow:0 25px 60px #236d9e24;transform:rotate(2deg)}.hero-visual .glass-label{color:#f5fbff;border-color:#a6d5ff77;background:linear-gradient(130deg,#b8dfff42,#192d4999);box-shadow:0 10px 30px #0002}.hero-visual .label-icon,.hero-visual .label-arrow{color:#9fd6ff}.hero .button{background:#0875dc;color:white;box-shadow:0 8px 24px #0875dc2b}.hero .button:hover{box-shadow:0 12px 30px #0875dc40}.hero-actions{gap:18px}.scroll-cue{color:#36668e}.band{width:min(1180px,calc(100% - 72px));margin:auto;background:#101b2b;color:white;border-radius:25px;border:0}.band .wrap{width:calc(100% - 60px);padding-block:30px}.band span,.band b{color:#84c8ff}.section{padding-top:100px}.section-head{margin-bottom:35px}.section-head h2{font-weight:500}.service-grid{gap:20px}.service-card{border:1px solid white;background:linear-gradient(135deg,#ffffffdf,#e7edf6aa);box-shadow:0 12px 35px #203d5a07;border-radius:30px}.service-card.featured{background:linear-gradient(140deg,#0875dc,#034fbd);color:white}.featured p,.featured small{color:#e0efff}.featured .card-top{color:white}.featured .icon{color:white;background:#ffffff20;border-color:#ffffff55}.featured .tags span{color:white;border-color:#ffffff55}.icon{background:#e2effe;border-color:#d0e4fb}.tags span{color:#276590;border-color:#d4e5f8}.health-panel{background:linear-gradient(120deg,#e6f2ffb3,#ffffffb3);border:1px solid #fff;box-shadow:0 18px 55px #2667a514}.health-heading,.health-row>span:first-child{color:#0875dc}.health-bottom{color:#546478}.health-bottom span{color:#0875dc}.health-row{border-color:#1e527822}.health-bottom{border-color:#1e527822}#portafolio{background:#101b2b;color:#f4f8fd;margin-top:95px;padding:55px 45px 20px;border-radius:40px;--blue:#82c7ff;--muted:#bacbda}#portafolio .eyebrow{color:#a4bfd8}.story-stage{border-color:#8fceff38;box-shadow:0 15px 40px #0002}.story-stage-caption{color:white}.step-note{color:#adc5dd}.contact-panel{background:radial-gradient(ellipse at 5% 0,#217fc455,transparent 70%),#101b2b;color:white;border:0;border-radius:36px;--blue:#81c9ff;--muted:#c1d1e1;--line:#ffffff24}.contact-panel .button{background:#0875dc;color:white}.contact-info span{color:white}.contact-panel .eyebrow{color:#accee8}.bottom-nav{background:#ffffffeb;border-color:#d8e6f5;box-shadow:0 12px 40px #193c651a}.bottom-nav a{color:#496175}.bottom-nav a.active{background:#0875dc;color:white;box-shadow:0 5px 18px #0875dc33}.menu{color:#13263d;background:#eef4fb;border-color:#d9e3ef}#mobile-menu{background:#fffffff5;border-color:#cbdced}.reading-progress{background:#0875dc}footer{border-top:1px solid #192c4019;margin-top:40px}.eyebrow,.service-card small{font-size:12px}.tags span{font-size:12px}.chat-launch{position:fixed;right:25px;bottom:25px;z-index:45;display:flex;gap:10px;align-items:center;padding:15px 22px;background:#0875dc;color:white;border:1px solid #ffffff99;border-radius:40px;box-shadow:0 8px 28px #0c4e9b40;cursor:pointer;font-size:14px;font-weight:600}.chat-launch svg{width:21px;height:21px}.chat-window{position:fixed;inset:auto 24px 24px auto;margin:0;width:380px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:0;border:1px solid #d5e4f4;border-radius:27px;background:#f7faff;color:#13263b;box-shadow:0 25px 100px #07192f40;overflow:hidden}.chat-window::backdrop{background:#061a3030;backdrop-filter:blur(3px)}.chat-window[open]{display:flex;flex-direction:column}.chat-head{padding:20px;display:flex;align-items:center;gap:13px;background:#101b2b;color:white}.chat-symbol{display:grid;place-items:center;background:#0875dc;border-radius:14px;width:40px;height:40px;font-size:24px}.chat-head strong{font-size:16px}.chat-head small{display:block;font-size:12px;color:#c4d8e9}.chat-close{margin-left:auto;background:#ffffff14;color:white;border:0;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer}.chat-log{padding:18px;overflow:auto;min-height:130px;max-height:40dvh;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.chat-message{padding:12px 15px;background:white;border:1px solid #e0e9f4;border-radius:17px 17px 17px 3px;font-size:14px;line-height:1.55;max-width:94%;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message.user{background:#0875dc;color:white;border-color:#0875dc;border-radius:17px 17px 3px 17px;align-self:flex-end}.chat-prompts{display:flex;gap:7px;flex-wrap:wrap;padding:0 18px 14px}.chat-prompts button{border:1px solid #cbdff4;background:#eaf3ff;color:#115da7;border-radius:20px;padding:8px 11px;font-size:12px;cursor:pointer}.chat-form{display:flex;gap:7px;padding:14px 18px;border-top:1px solid #dce5f1;background:white}.chat-form input{width:100%;min-width:0;border:1px solid #d6e1ee;background:#f5f8fd;border-radius:15px;padding:12px;font:inherit;font-size:16px}.chat-form button{background:#0875dc;color:white;border:0;border-radius:14px;min-width:44px;font-size:22px;cursor:pointer}.chat-handoff{display:block;padding:0 18px 16px;background:white;font-size:13px;color:#0c68bc;text-align:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:760px){.hero{gap:32px;padding-top:38px;padding-bottom:35px}.hero h1{font-size:clamp(49px,13vw,74px);letter-spacing:-2.9px}.hero-visual{border-width:5px;border-radius:30px;transform:rotate(1deg);margin:3px}.band{width:calc(100% - 40px);border-radius:23px}.band .wrap{width:calc(100% - 38px);padding-block:22px}.band span{font-size:10px}.band p{font-size:16px}.band b{margin:0 9px}.section{padding-top:60px}.service-card.featured{background:linear-gradient(140deg,#0875dc,#034fbd)}.service-card{border-radius:25px}.service-card p{font-size:15px}.service-card small{font-size:10px}.service-card h3{font-size:23px}.featured h3{font-size:30px}.health-panel{padding:23px}#portafolio{width:calc(100% - 24px);margin-top:60px;border-radius:30px;padding:35px 18px 10px}#portafolio .section-head h2{font-size:31px}.story-stage{top:10px}.story-step{padding-inline:4px}.story-step h3{font-size:36px}.story-step .eyebrow{font-size:10px}.contact-panel{padding:30px 23px}.contact-panel h2{font-size:31px}footer{padding-bottom:150px}.chat-launch{right:18px;bottom:105px;width:53px;height:53px;justify-content:center;padding:0}.chat-launch>span{display:none}.chat-window{inset:auto 16px max(16px,env(safe-area-inset-bottom)) 16px;width:auto;max-height:calc(100dvh - 32px)}.chat-log{max-height:42dvh}.chat-prompts button{font-size:12px}.bottom-nav a{font-size:11px}}
/* Pointer halo is decorative; the native cursor stays available. */
.cursor-glow{display:none;position:fixed;left:0;top:0;width:110px;height:110px;margin:-55px 0 0 -55px;z-index:80;pointer-events:none;border-radius:50%;background:radial-gradient(circle,#61caff40 0%,#3abfff1c 38%,transparent 70%);opacity:0;transform:translate3d(-200px,-200px,0);transition:opacity .2s,width .25s,height .25s,margin .25s;will-change:transform}.cursor-glow.is-link{width:150px;height:150px;margin:-75px 0 0 -75px;background:radial-gradient(circle,#45c8ff55 0%,#58caff25 40%,transparent 70%)}a,button,summary{-webkit-tap-highlight-color:#55c8ff35}.button,.header-contact,.chat-launch,.menu,.icon,.card-top>span,.label-arrow,.bottom-nav a,.chat-prompts button,.chat-close,.chat-form button{transition:background-color .22s,color .22s,box-shadow .22s,transform .22s,border-color .22s}.text-link:focus-visible,.desktop a:focus-visible{color:#0875dc}.button:active,.chat-launch:active,.chat-prompts button:active,.menu:active{transform:scale(.96)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #39bfff;outline-offset:5px;box-shadow:0 0 0 6px #56c9ff25}
@media(hover:hover) and (pointer:fine){.cursor-glow{display:block}.button:hover,.hero .button:hover,.contact-panel .button:hover,.chat-launch:hover,.chat-form button:hover{background:#32b8f4;color:#062943;box-shadow:0 0 24px #4bcaff65;transform:translateY(-2px)}.header-contact:hover{background:#125b83;color:white;box-shadow:0 0 25px #52cbff40}.header-contact:hover span{background:#6ed5ff;color:#062943;transform:rotate(12deg)}.service-card:hover{border-color:#4dcaff;box-shadow:0 10px 35px #26b5f52e;transform:translateY(-5px)}.service-card:hover .icon{background:#9fe5ff;color:#064671;border-color:#51c9fa;box-shadow:0 0 25px #61ceff55;transform:rotate(-8deg) scale(1.06)}.service-card:hover .card-top>span:last-child{color:#067ab8;transform:translate(3px,-3px)}.featured:hover .card-top>span:last-child{color:#b8f0ff}.text-link:hover,.desktop a:hover,footer a:not(.brand):hover,.contact-info a:hover span,.chat-handoff:hover{color:#0780bb;text-shadow:0 0 18px #4dccff40}.contact-info a:hover span,#portafolio .text-link:hover{color:#92e4ff}.chat-prompts button:hover,.menu:hover,.chat-close:hover{background:#a9e6ff;color:#073e68;border-color:#55caff;box-shadow:0 0 18px #60d4ff30}.bottom-nav a:hover{background:#a9e6ff;color:#074f7e}.scroll-cue:hover{color:#007aba}.scroll-cue:hover span{transform:translateY(4px)}.scroll-cue span{transition:transform .2s}}
@media(prefers-reduced-motion:reduce){.cursor-glow{display:none!important}.service-card:hover,.service-card:hover .icon,.service-card:hover .card-top>span:last-child,.header-contact:hover span,.button:hover,.chat-launch:hover,.chat-form button:hover,.scroll-cue:hover span{transform:none}}

/* LABIGEN virtual assistant */
.chat-launch{--assistant-look-x:0px;--assistant-look-y:0px;--assistant-tilt-x:0deg;--assistant-tilt-y:0deg;--assistant-shine-x:50%;--assistant-shine-y:42%;right:22px;bottom:20px;gap:12px;padding:0;background:transparent;color:#10263e;border:0;border-radius:24px;box-shadow:none;perspective:700px;isolation:isolate}
.chat-launch:hover,.chat-launch:active{background:transparent;color:#10263e;box-shadow:none}
.assistant-label{display:block;padding:10px 14px 11px;background:#f7fbffd9;border:1px solid #fff;border-radius:17px;box-shadow:0 12px 35px #092c5740;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-size:13px;font-weight:500;line-height:1.05;white-space:nowrap;transform:translateX(3px);transition:transform .25s ease,opacity .25s ease,box-shadow .25s ease}
.assistant-label b{display:block;margin-bottom:4px;color:#0875dc;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.assistant-avatar{position:relative;display:block;width:88px;height:88px;flex:0 0 88px;transform-style:preserve-3d;transform:perspective(620px) rotateX(var(--assistant-tilt-x)) rotateY(var(--assistant-tilt-y));transition:transform .16s ease-out;filter:drop-shadow(0 16px 20px #07182f44);will-change:transform}
.assistant-avatar::before{content:"";position:absolute;inset:12%;z-index:-1;border-radius:50%;background:#48c9ff7d;filter:blur(15px);transform:translateZ(-18px);animation:assistant-aura 3.6s ease-in-out infinite}
.assistant-avatar img{display:block;width:100%;height:100%;object-fit:contain;clip-path:circle(43.8% at 50% 49.5%);user-select:none;-webkit-user-drag:none;filter:saturate(1.12) contrast(1.03);transition:filter .25s ease,transform .25s ease}
.assistant-face{position:absolute;left:50%;top:49%;display:flex;gap:10px;transform:translate3d(calc(-50% + var(--assistant-look-x)),calc(-50% + var(--assistant-look-y)),24px);transition:transform .12s ease-out;will-change:transform}
.assistant-face i{display:block;width:7px;height:20px;border-radius:8px;background:linear-gradient(180deg,#fff,#dff7ff);box-shadow:0 0 9px #fff9,0 0 16px #8ddfff99;transform-origin:center;transition:height .18s ease}
.assistant-face.is-blinking i{animation:assistant-blink .28s ease-in-out}
.assistant-shine{position:absolute;inset:8%;border-radius:50%;pointer-events:none;background:radial-gradient(circle at var(--assistant-shine-x) var(--assistant-shine-y),#fff8 0 4%,#90dcff20 12%,transparent 34%);mix-blend-mode:screen;transform:translateZ(14px)}
.chat-launch.is-reacting .assistant-avatar img{animation:assistant-pop .46s cubic-bezier(.2,.9,.3,1.3)}
.chat-launch:focus-visible{outline:3px solid #39bfff;outline-offset:3px;box-shadow:0 0 0 8px #56c9ff25}
.chat-symbol.assistant-mini{position:relative;overflow:visible;background:transparent;isolation:isolate}
.assistant-mini img{width:48px;height:48px;object-fit:contain;clip-path:circle(43.8% at 50% 49.5%);filter:drop-shadow(0 6px 10px #3d7dca66)}
.assistant-mini>span{position:absolute;left:50%;top:50%;display:flex;gap:4px;transform:translate(-50%,-48%)}
.assistant-mini i{display:block;width:3px;height:9px;border-radius:5px;background:white;box-shadow:0 0 5px #b9edff}
@keyframes assistant-blink{0%,100%{transform:scaleY(1)}45%,60%{transform:scaleY(.08)}}
@keyframes assistant-pop{0%,100%{transform:translateY(0) scale(1)}38%{transform:translateY(-7px) scale(1.09)}68%{transform:translateY(2px) scale(.96)}}
@keyframes assistant-aura{0%,100%{opacity:.45;transform:translateZ(-18px) scale(.88)}50%{opacity:.85;transform:translateZ(-18px) scale(1.08)}}
@media(hover:hover) and (pointer:fine){.chat-launch:hover .assistant-label{transform:translateX(0);box-shadow:0 14px 38px #0875dc35}.chat-launch:hover .assistant-avatar img{filter:saturate(1.24) brightness(1.07) drop-shadow(0 0 10px #62d6ff88)}}
@media(max-width:760px){.chat-launch{right:12px;bottom:92px;width:auto;height:auto}.chat-launch>.assistant-label{display:none}.chat-launch>.assistant-avatar{display:block;width:68px;height:68px;flex-basis:68px}.assistant-face{gap:8px}.assistant-face i{width:6px;height:16px}}
@media(prefers-reduced-motion:reduce){.assistant-avatar,.assistant-face{transition:none;transform:none}.assistant-face{transform:translate(-50%,-50%)}.assistant-avatar::before{animation:none}.chat-launch.is-reacting .assistant-avatar img{animation:none}}
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.access-card{padding:35px;border-radius:30px;border:1px solid #dce8f5;display:flex;flex-direction:column;align-items:flex-start;background:white;position:relative}.access-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:#0875dc;color:white;font-size:29px;margin-bottom:28px}.access-card h3{font-size:32px;line-height:1.15;font-weight:500;letter-spacing:-1px;margin:18px 0}.access-card p{font-size:16px;line-height:1.6;color:#546478;margin-bottom:28px;max-width:410px}.access-card .button{margin-top:auto;background:#0875dc;color:white}.access-card small{display:block;font-size:12px;color:#66778b;margin-top:14px}.portal-card{background:#101b2b;color:white;border-color:#1a3652}.portal-card .eyebrow{color:#b9d2e7}.portal-card p,.portal-card small{color:#bdd0e1}.portal-card .access-symbol{background:#ffffff15;color:#80d2ff}.new-client-card{background:linear-gradient(125deg,#e0efff,#ffffff)}.chat-action{font-size:14px;padding:11px 14px;border-radius:12px;background:#e0eeff;color:#075b9a;border:1px solid #c8dff8;align-self:flex-start}.access-card .button:hover{background:#32b8f4;color:#062943}.chat-action:hover{background:#b9e7ff}.desktop{gap:20px}@media(max-width:760px){.access-grid{grid-template-columns:1fr;gap:16px}.access-card{padding:27px 23px;border-radius:26px}.access-card h3{font-size:29px}.access-card .eyebrow{font-size:10px;letter-spacing:1px}.access-symbol{margin-bottom:22px}.access-card .button{font-size:14px}.access-card p{margin-bottom:24px}}@media(min-width:761px) and (max-width:1050px){.desktop{gap:12px;font-size:12px}.header{gap:15px;padding-inline:18px}.header-contact{font-size:12px}.brand img{width:125px}}
/* Hero-only depth interaction, composed with the existing scroll movement. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.hero-visual{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotateZ(2deg);transition:transform .35s ease-out,box-shadow .35s ease-out;will-change:transform;isolation:isolate}.hero-visual.is-tilting{box-shadow:0 30px 65px #236d9e38;transition:transform .12s ease-out,box-shadow .35s ease-out}.hero-visual .dna{transform:translate3d(var(--depth-x,0px),calc(var(--hero-shift,0px) + var(--depth-y,0px)),0) scale(1.10);transition:transform .2s ease-out}.hero-visual:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at var(--shine-x,50%) var(--shine-y,50%),#c1edff32,transparent 58%);opacity:0;transition:opacity .3s;mix-blend-mode:screen}.hero-visual.is-tilting:after{opacity:1}.hero-visual .glass-label{transform:translate(var(--label-x,0px),var(--label-y,0px));transition:transform .2s ease-out}
}
.portal-dialog{position:fixed;inset:0;margin:auto;width:470px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:38px;border:1px solid #ffffffd9;border-radius:34px;color:#122b45;background:linear-gradient(135deg,#ffffffea,#dbeeffcc 65%,#c6e4ffb8);backdrop-filter:blur(30px) saturate(145%);-webkit-backdrop-filter:blur(30px) saturate(145%);box-shadow:inset 0 1px 1px white,0 30px 110px #051d4255}.portal-dialog::backdrop{background:#0b23355c;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}.portal-close{position:absolute;right:19px;top:18px;width:36px;height:36px;border:1px solid #ffffffb8;border-radius:50%;background:#ffffff80;color:#24415b;font-size:25px;cursor:pointer}.portal-mark{width:52px;height:52px;display:grid;place-items:center;font-size:29px;border:1px solid #ffffffc9;background:linear-gradient(140deg,#ffffffb8,#8fcdff80);box-shadow:0 6px 18px #1975ce1a,inset 0 1px white;border-radius:17px;margin-bottom:22px;color:#0875dc}.portal-kicker{font-size:11px;letter-spacing:2px;color:#486e90}.portal-dialog h2{font-size:42px;margin-top:13px;letter-spacing:-1.7px}.portal-intro{color:#476079;font-size:16px;margin-top:16px}.portal-roles{border:0;margin:23px 0;padding:0;display:grid;gap:11px}.portal-roles label{position:relative;cursor:pointer}.portal-roles input{position:absolute;left:18px;top:24px;accent-color:#0875dc;width:17px;height:17px;margin:0;z-index:1}.role-card{display:block;border:1px solid #ffffffd9;border-radius:19px;padding:18px 40px 18px 48px;background:#ffffff60;transition:background .2s,box-shadow .2s}.role-card strong{display:block;font-size:15px;font-weight:600;line-height:1.4}.role-card small{display:block;font-size:12px;color:#4e6880;margin-top:5px}.role-card>span{position:absolute;right:18px;top:24px;color:#1879bd}.portal-roles input:checked+.role-card{background:#ffffffb3;border-color:#6ebeff;box-shadow:0 0 0 2px #66bcff1c,inset 0 1px white}.portal-roles input:focus-visible+.role-card{outline:2px solid #0875dc;outline-offset:3px}.portal-continue{width:100%;background:#0875dc;color:white;justify-content:space-between}.portal-note{font-size:13px;color:#47627a;line-height:1.6;margin-top:17px}.portal-register{display:block;font-size:13px;color:#0c65a8;text-align:center;margin-top:23px}.portal-close:hover,.role-card:hover{background:#ffffffce}.portal-register:hover{color:#00447c;text-decoration:underline}@media(max-width:760px){.portal-dialog{padding:29px 23px;border-radius:28px}.portal-dialog h2{font-size:37px}.role-card strong{font-size:14px}.role-card small{font-size:12px}.portal-note{font-size:13px}}@media(prefers-reduced-motion:no-preference){.portal-dialog[open]{animation:portal-enter .28s ease-out}@keyframes portal-enter{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}}
.inner-main{padding-bottom:30px}.inner-hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:55px;padding:65px 0}.inner-hero:not(:has(img)){grid-template-columns:1fr;max-width:900px}.crumb{font-size:13px;color:#61768c;display:block;margin-bottom:40px}.inner-hero h1{font-size:clamp(42px,5.4vw,70px);letter-spacing:-3px;line-height:1.06}.inner-hero p{font-size:18px;max-width:540px;color:#546478}.inner-hero>img{width:100%;height:420px;object-fit:cover;border:7px solid white;border-radius:35px;box-shadow:0 20px 50px #33669520}.inner-section{padding:50px 0}.intro-text{font-size:18px;max-width:760px;color:#546478;margin:25px 0 35px}.inner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.info-card{padding:30px;background:linear-gradient(135deg,white,#eaf2fd);border:1px solid white;border-radius:26px}.info-card h3{font-size:27px;font-weight:500;line-height:1.2;letter-spacing:-.7px;margin:18px 0}.info-card p{color:#546478;font-size:16px}.info-card .text-link{display:inline-block;margin-top:24px;color:#0875dc}.dark-note{padding:40px;background:#101b2b;color:white;border-radius:30px;--blue:#82c7ff}.dark-note p{color:#bdccdc;margin-top:25px;font-size:17px;max-width:700px}.dark-note .eyebrow{color:#afc9df}.inner-cta{margin-top:65px;background:#e1eeff;border:1px solid white;padding:35px;border-radius:30px;display:flex;gap:25px;align-items:center;justify-content:space-between}.inner-cta h2{font-size:32px}.inner-cta .button,.contact-mail .button{background:#0875dc;color:white}.animal-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.animal-card{background:white;border:1px solid #dae5f1;border-radius:30px;overflow:hidden;transition:transform .25s,box-shadow .25s}.animal-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #237ed422}.animal-card img{width:100%;height:250px;object-fit:cover;display:block}.animal-card>div{padding:28px}.animal-card h3{font-size:30px;font-weight:500}.animal-card h3 span{float:right;color:#0875dc}.animal-card p{color:#546478;margin-top:14px}.catalog-note{font-size:14px;color:#60758a;margin-top:25px}.contact-depts{grid-template-columns:repeat(3,1fr)}.contact-depts h3{font-size:22px}.contact-split{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact-split p{margin:25px 0;color:#546478}.contact-mail{padding:30px;border-radius:28px;background:white;display:grid;gap:20px}.contact-mail h3{font-size:24px;font-weight:500}.contact-mail label{display:grid;gap:7px;font-size:14px}.contact-mail input,.contact-mail textarea{font:inherit;font-size:16px;width:100%;padding:12px;border:1px solid #cadbea;border-radius:12px;background:#f6f9fd;resize:vertical}.contact-mail small{font-size:12px;color:#60758a}.career-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.career-layout ol{padding-left:22px;margin:28px 0;color:#d5e3f0}.career-layout li{padding:8px 0}.career-roles{display:grid;gap:9px}.career-roles a{padding:18px 24px;background:#ffffff9c;border:1px solid white;border-radius:18px;font-size:15px}.career-roles span{float:right;color:#0875dc}.career-roles a:hover{background:#d2edff}footer>div{flex-wrap:wrap}.header .desktop{font-size:13px;gap:18px}
@media(max-width:760px){.inner-hero{grid-template-columns:1fr;padding:35px 0;gap:28px}.crumb{margin-bottom:26px}.inner-hero h1{font-size:45px;letter-spacing:-2px}.inner-hero p{font-size:16px}.inner-hero>img{height:280px;border-radius:28px}.inner-grid,.animal-grid,.contact-depts,.contact-split,.career-layout{grid-template-columns:1fr}.info-card{padding:25px}.info-card h3{font-size:26px}.inner-section{padding:30px 0}.dark-note{padding:30px 24px}.inner-cta{padding:27px 24px;display:block;margin-top:40px}.inner-cta .button{margin-top:25px}.inner-cta h2{font-size:29px}.animal-card img{height:225px}.contact-split{gap:30px}.contact-mail{padding:25px}.intro-text{font-size:16px}}
@media(min-width:761px) and (max-width:1050px){.header .desktop{display:none}.header .menu{display:flex;background:#eef4fb;border:1px solid #d9e3ef;border-radius:50%;width:43px;height:43px;align-items:center;justify-content:center;gap:5px;flex-direction:column}.header .menu span{width:17px;height:1px;background:#13263d}#mobile-menu:not([hidden]){display:block}.header-contact{margin-left:auto}}
img[src="/assets/camarones.png"]{object-position:center bottom}

/* Home refinements: new-client focus, laboratory story and direct contacts. */
.single-access{grid-template-columns:minmax(0,760px);justify-content:center}
.dark-client-card{min-height:360px;background:radial-gradient(circle at 100% 0,#1889d947,transparent 48%),#101b2b;color:white;border-color:#244761;box-shadow:0 22px 55px #102b481f}
.dark-client-card .eyebrow,.dark-client-card p,.dark-client-card small{color:#bdd0e1}
.dark-client-card .access-symbol{background:#ffffff15;color:#8dd8ff;border:1px solid #ffffff24}
.dark-client-card .button{background:#0875dc;color:white}
.laboratory-story>img{object-position:50% 45%;filter:saturate(.7) contrast(1.04)}
.laboratory-story:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,#0875dc2b,transparent 48%);mix-blend-mode:color}
.staff-contact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.staff-contact-card{display:flex;flex-direction:column;min-height:220px;padding:26px;border-radius:25px;background:linear-gradient(145deg,#fff,#e8f2ff);border:1px solid white;box-shadow:0 12px 35px #203d5a0a}
.staff-contact-card>span{font-size:12px;color:#0875dc;letter-spacing:1px}
.staff-contact-card h3{font-size:22px;line-height:1.2;font-weight:500;letter-spacing:-.5px;margin:22px 0 auto}
.staff-contact-card>a{font-size:14px;color:#075f9e;margin-top:20px}
.staff-contact-card .staff-whatsapp{display:inline-flex;align-self:flex-start;margin-top:9px;padding:6px 11px;border:1px solid #bbdaf4;border-radius:100px;font-size:12px}
.staff-contact-card:hover{border-color:#4dcaff;box-shadow:0 12px 35px #26b5f520;transform:translateY(-4px)}
.chat-map-card{overflow:hidden;width:100%;border:1px solid #c9dfef;border-radius:17px;background:white;box-shadow:0 8px 24px #163d6118}
.chat-map-card iframe{display:block;width:100%;height:180px;border:0}
.chat-map-card a{display:block;padding:11px 14px;color:#075f9e;font-size:13px;font-weight:600}
@media(max-width:980px){.staff-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dark-client-card{min-height:330px}.staff-contact-grid{grid-template-columns:1fr}.staff-contact-card{min-height:180px}.staff-contact-card h3{font-size:23px}.chat-map-card iframe{height:165px}}

/* Visual schedules inside the LABIGEN assistant. */
.chat-hours-card{width:100%;overflow:hidden;border:1px solid #c8ddf2;border-radius:18px;background:linear-gradient(145deg,#fff,#eaf4ff);box-shadow:0 10px 28px #163d6117}
.chat-hours-head{display:flex;align-items:center;gap:12px;padding:15px 16px;background:#101b2b;color:white}
.chat-hours-head>span{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#198fea;color:white;font-size:22px;box-shadow:0 0 18px #43bbff55}
.chat-hours-head small{display:block;color:#91cfff;font-size:10px;letter-spacing:1.6px}
.chat-hours-head strong{display:block;margin-top:2px;font-size:14px}
.chat-hours-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid #d7e6f4;font-size:13px}
.chat-hours-row span{color:#526a81}
.chat-hours-row strong{color:#0a5f9e;font-size:13px;white-space:nowrap}
.chat-hours-status{display:flex;align-items:center;gap:8px;padding:10px 16px;color:#517087;font-size:11px}
.chat-hours-status i{width:7px;height:7px;border-radius:50%;background:#23b476;box-shadow:0 0 0 4px #23b47618}

/* Interactive, translucent DNA on the existing light page. */
.hero-visual.dna-live{border:0;background:transparent;box-shadow:none;border-radius:0;transform:none!important;overflow:hidden;isolation:isolate;touch-action:pan-y}
.hero-visual.dna-live>.dna{display:none}
.hero-visual.dna-live::after{display:none}
.dna-particle-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;mask-image:linear-gradient(transparent,#000 8%,#000 89%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 8%,#000 89%,transparent)}
.hero-visual.dna-live .visual-top{color:#365f83;z-index:2}
.hero-visual.dna-live .glass-label{color:#163b5e;border-color:#ffffffd9;background:linear-gradient(130deg,#ffffffe0,#e4f3ffb3);box-shadow:0 10px 30px #175e8512;z-index:2;pointer-events:none}
.hero-visual.dna-live .glass-label small{color:#51718e}
.hero-visual.dna-live .label-icon,.hero-visual.dna-live .label-arrow{color:#0875dc}
.laboratory-story>img{object-position:50% 50%;filter:saturate(1.05) contrast(1.08) brightness(.78)}
.hero.dna-panorama{position:relative;isolation:isolate;width:100%;max-width:none;padding-left:max(36px,calc((100% - 1180px)/2));padding-right:max(36px,calc((100% - 1180px)/2));overflow:hidden}
.dna-panorama>.dna-particle-canvas{z-index:0;mask-image:linear-gradient(transparent,#000 5%,#000 94%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 5%,#000 94%,transparent)}
.dna-panorama>.hero-copy,.dna-panorama>.hero-visual{position:relative;z-index:1}
.dna-panorama>.hero-visual{pointer-events:none}
/* Spectral glass: retain the artwork, animate light independently of the eyes. */
.assistant-avatar img{clip-path:circle(41.5% at 50% 49%);filter:saturate(.68) brightness(.70) contrast(1.14)}
.chat-launch:hover .assistant-avatar img{filter:saturate(.78) brightness(.80) contrast(1.12)}
.assistant-avatar::before{inset:9%;background:conic-gradient(#8aaaff70,#64dcd344,#d86ba144,#8c69ef88,#8aaaff70);filter:blur(12px)}
.assistant-avatar{filter:drop-shadow(0 12px 16px #17123266);transform:perspective(620px) translate3d(var(--assistant-drift-x,0px),var(--assistant-drift-y,0px),0) rotateX(var(--assistant-tilt-x)) rotateY(var(--assistant-tilt-y));transition:transform .08s linear}
.assistant-shine{background:radial-gradient(ellipse at var(--assistant-shine-x) var(--assistant-shine-y),#fff9 0 2%,#adc9ff40 9%,transparent 38%);mix-blend-mode:screen}
.assistant-face i{background:linear-gradient(#fff,#c6d6f4);box-shadow:0 0 7px #e2e8ff88,0 0 13px #a7bfff55}
.assistant-orbit,.assistant-satellites{position:absolute;inset:0;border-radius:50%;pointer-events:none;animation:assistant-orbit-turn 7s linear infinite;transform:translateZ(16px);will-change:transform}
.assistant-orbit::before{content:"";position:absolute;inset:7%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 225deg,#866ded18 250deg,#96b9ff99 295deg,#f6faff 315deg,transparent 325deg);mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1px));filter:drop-shadow(0 0 3px #95aeff)}
.assistant-flare{position:absolute;left:17%;top:17%;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 4px 2px #d7e4ff,0 0 11px 4px #90aaff88,0 0 22px 7px #a88bea44}
.assistant-flare::before,.assistant-flare::after{content:"";position:absolute;left:50%;top:50%;width:23px;height:1px;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#c7dcff,#fff,#c7dcff,transparent);box-shadow:0 0 3px #acbcff}
.assistant-flare::after{width:17px;transform:translate(-50%,-50%) rotate(90deg)}
.assistant-satellites{inset:-5%;animation:assistant-orbit-turn 13s linear infinite reverse;opacity:.85}
.assistant-satellites i{position:absolute;width:2px;height:2px;left:50%;top:0;border-radius:50%;background:#e2ebff;box-shadow:0 0 4px 1px #a0bbff,0 0 9px 2px #6c72d577}
.assistant-satellites i+ i{left:20%;top:91%;width:3px;height:3px;background:#c4e8ff;box-shadow:0 0 5px #72d5e8}
.chat-launch:hover .assistant-orbit,.chat-launch.is-reacting .assistant-orbit{filter:drop-shadow(0 0 5px #b2bfff99)}
.chat-launch.assistant-paused .assistant-avatar::before,.chat-launch.assistant-paused .assistant-orbit,.chat-launch.assistant-paused .assistant-satellites{animation-play-state:paused}
@keyframes assistant-orbit-turn{from{transform:translateZ(16px) rotate(0deg)}to{transform:translateZ(16px) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.assistant-avatar{transform:none;transition:none}.assistant-orbit,.assistant-satellites{animation:none;will-change:auto}.assistant-face.is-blinking i{animation:none}}
.assistant-mini i{background:white;box-shadow:0 0 5px #fff6}
@media(max-width:760px){.hero.dna-panorama{padding-left:20px;padding-right:20px}.dna-panorama>.hero-visual{width:100%}}
@media(max-width:760px){.chat-hours-row{align-items:flex-start;flex-direction:column;gap:3px}.chat-hours-row strong{font-size:14px}.hero-visual.dna-live{aspect-ratio:1/1.12;margin:0}}

/* Keep every answer at its natural height; only the conversation scrolls. */
.chat-log{min-height:0;flex:1 1 auto}
.chat-log>*{flex:0 0 auto}
.chat-typing{display:flex;align-items:center;gap:12px;align-self:flex-start;color:#58718c;font-size:13px}
.chat-typing-dots{display:inline-flex;gap:4px;align-items:center;height:16px}
.chat-typing-dots i{display:block;width:5px;height:5px;border-radius:50%;background:#479bdd;animation:labigen-typing 1.1s ease-in-out infinite}
.chat-typing-dots i:nth-child(2){animation-delay:.15s}
.chat-typing-dots i:nth-child(3){animation-delay:.3s}
.chat-form button:disabled,.chat-prompts button:disabled{opacity:.55;cursor:wait;transform:none}
@keyframes labigen-typing{0%,65%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}
@media(prefers-reduced-motion:reduce){.chat-typing-dots i{animation:none;opacity:.7}}
.chat-head,.chat-prompts,.chat-form,.chat-handoff{flex-shrink:0}
.chat-map-card{display:block;position:relative;min-height:276px;text-decoration:none;color:#13263b;transition:border-color .2s,box-shadow .2s}
.chat-map-card iframe{pointer-events:none;height:180px;background:#e5eff8}
.chat-map-caption{display:flex;flex-direction:column;gap:5px;padding:14px 16px;background:#fff}
.chat-map-caption strong{font-size:14px}
.chat-map-caption>span{font-size:12px;color:#526a81}
.chat-map-caption b{margin-top:4px;font-size:13px;color:#075f9e}
.chat-map-card:hover{border-color:#0875dc;box-shadow:0 4px 18px #0875dc25}
.chat-map-card:focus-visible{outline:3px solid #0875dc;outline-offset:2px}
/* Keep the previously requested white avatar inside the chat header. */
.chat-head .assistant-mini{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff 0 20%,#f0f3f6 50%,#bbc7d4 78%,#fff 100%);border:1px solid #ffffffd9;box-shadow:inset 0 0 5px #fff,0 3px 12px #0003}
.chat-head .assistant-mini img{display:none}
.chat-head .assistant-mini i{width:4px;height:11px;background:#182332;box-shadow:none}

/* Keep portal access visible and easy to tap on phones. */
@media(max-width:760px){
 .header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:14px 16px;border-radius:28px}
 .header>.brand{grid-column:1;grid-row:1;min-width:0}
 .header>.menu{grid-column:2;grid-row:1;flex-shrink:0}
 .header>.header-contact{display:flex;grid-column:1 / -1;grid-row:2;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:48px;margin:0;padding:7px 9px 7px 18px;font-size:14px;line-height:1.4;border-radius:24px}
 .header>.header-contact span{flex:0 0 34px;margin:0}
 .header>.header-contact:focus-visible{outline:3px solid #0875dc;outline-offset:3px}
}
