*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#070707;--panel:#0d0d0d;--panel2:#111;--text:#f5f5f2;--muted:#92928d;
  --line:rgba(255,255,255,.12);--brand:#e31e24;--brand-soft:rgba(227,30,36,.12);--max:1530px
}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:"Inter",Arial,sans-serif;overflow-x:hidden}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}
.grain{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");mix-blend-mode:soft-light}
.cursor-orb{position:fixed;width:430px;height:430px;border-radius:50%;pointer-events:none;z-index:0;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(227,30,36,.09),transparent 68%);filter:blur(12px)}
.topbar{position:fixed;z-index:60;top:0;left:50%;transform:translateX(-50%);width:min(calc(100% - 56px),var(--max));height:104px;display:flex;align-items:center;justify-content:space-between;mix-blend-mode:difference}
.logo-wrap img{display:block;width:205px}
.nav{display:flex;align-items:center;gap:30px;font-size:10px;font-weight:600;letter-spacing:.12em}
.nav a{opacity:.65;transition:.25s}.nav a:hover{opacity:1;color:var(--brand)}
.nav-brief{border:1px solid rgba(255,255,255,.25);background:transparent;padding:12px 15px;font-size:9px;letter-spacing:.12em;cursor:pointer;transition:.25s}
.nav-brief:hover{background:var(--brand);border-color:var(--brand)}
.menu-button{display:none;background:transparent;border:0;color:#fff;font-size:11px;letter-spacing:.13em}
.hero{min-height:100svh;position:relative;overflow:hidden;padding:145px max(28px,calc((100vw - var(--max))/2)) 52px;display:flex;flex-direction:column;justify-content:space-between;border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 48%,rgba(227,30,36,.12),transparent 24%),linear-gradient(115deg,transparent 20%,rgba(255,255,255,.015),transparent 65%)}
.hero-meta{position:relative;z-index:3;display:flex;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.15em}
.availability{display:flex;align-items:center;gap:9px}.availability i{width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 18px rgba(227,30,36,.7)}
.hero-main{position:relative;z-index:3;margin-top:auto;display:grid;grid-template-columns:1.4fr .6fr;gap:80px;align-items:end}
.hero-title-wrap{padding-bottom:2vh}.eyebrow{font-family:"Outfit",sans-serif;font-size:clamp(24px,2.25vw,36px);font-weight:500;letter-spacing:.12em;color:#f0f0ec;margin-bottom:24px}
.hero h1{font-family:"Inter Tight",sans-serif;font-size:clamp(70px,9.2vw,148px);line-height:.88;letter-spacing:-.055em;font-weight:600}.hero h1 span{color:var(--brand)}
.hero-copy{padding-bottom:18px}.hero-copy p{color:#b7b7b1;font-size:15px;line-height:1.75;max-width:520px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:35px}.hero-actions a,.hero-actions button{display:inline-flex;align-items:center;gap:18px;background:transparent;border:0;color:var(--text);font-size:9px;font-weight:600;letter-spacing:.14em;cursor:pointer}.hero-actions button{border:1px solid var(--line);padding:13px 15px}.hero-actions a span,.hero-actions button span{color:var(--brand);font-size:19px}
.hero-orbit{position:absolute;right:4vw;top:31%;width:250px;height:250px;display:grid;place-items:center;z-index:2}.orbit-dot{width:70px;height:70px;border-radius:50%;background:var(--brand);box-shadow:0 0 75px rgba(227,30,36,.26)}.orbit-ring{position:absolute;border:1px solid rgba(227,30,36,.22);border-radius:50%;animation:pulse 4.5s ease-in-out infinite}.orbit-ring-a{width:150px;height:150px}.orbit-ring-b{width:240px;height:240px;animation-delay:-2.2s}
@keyframes pulse{50%{transform:scale(1.12);opacity:.32}}
.proofbar{width:min(calc(100% - 56px),var(--max));margin:0 auto;min-height:170px;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.proof{padding:35px 28px 32px 0;display:flex;flex-direction:column;justify-content:center;gap:8px;border-right:1px solid var(--line)}.proof:not(:first-child){padding-left:28px}.proof:last-child{border-right:0}.proof strong{font-family:"Inter Tight",sans-serif;font-size:clamp(38px,4vw,62px);line-height:1;letter-spacing:-.04em;color:var(--brand)}.proof span{color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.section-tag{color:var(--muted);font-size:10px;letter-spacing:.17em}
.statement,.services-interactive,.process,.references,.brief-callout,.contact{width:min(calc(100% - 56px),var(--max));margin:0 auto}
.statement{min-height:72vh;padding:118px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 4fr;grid-template-rows:auto 1fr auto;gap:55px}.statement-main{grid-column:2;display:flex;align-items:center}.statement-main p{max-width:1250px;font-family:"Inter Tight",sans-serif;font-size:clamp(42px,5.2vw,82px);line-height:1.04;letter-spacing:-.045em;font-weight:500}.statement-main strong{color:var(--brand);font-weight:600}.statement-side{grid-column:2;display:flex;gap:35px;flex-wrap:wrap;font-size:10px;color:var(--muted);letter-spacing:.16em}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:58px}.section-head p{max-width:470px;color:var(--muted);font-size:12px;line-height:1.7}
.services-interactive{padding:118px 0 145px;border-bottom:1px solid var(--line)}
.service-stage{min-height:760px;display:grid;grid-template-columns:.95fr 1.35fr;border:1px solid var(--line);background:#0a0a0a}
.service-nav{display:flex;flex-direction:column;border-right:1px solid var(--line)}
.service-tab{flex:1;min-height:86px;background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:58px 1fr;gap:15px;align-items:center;text-align:left;padding:0 24px;cursor:pointer;transition:.3s}.service-tab:last-child{border-bottom:0}.service-tab span{color:#666;font-size:10px;letter-spacing:.13em}.service-tab b{font-family:"Inter Tight",sans-serif;font-size:20px;font-weight:500;letter-spacing:-.02em}.service-tab:hover,.service-tab.active{background:#111}.service-tab.active span{color:var(--brand)}
.service-visual{position:relative;overflow:hidden;padding:52px;display:flex;flex-direction:column;justify-content:flex-end}.service-visual-bg{position:absolute;inset:0;background:linear-gradient(rgba(227,30,36,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(227,30,36,.045) 1px,transparent 1px),radial-gradient(circle at 70% 24%,rgba(227,30,36,.14),transparent 26%);background-size:52px 52px,52px 52px,auto}
.service-index{position:absolute;top:32px;right:38px;font-family:"Inter Tight",sans-serif;font-size:clamp(70px,9vw,145px);line-height:1;color:rgba(255,255,255,.035);letter-spacing:-.07em}
.service-symbol{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);font-family:"Outfit",sans-serif;font-size:clamp(48px,6.6vw,106px);font-weight:500;letter-spacing:-.025em;color:rgba(255,255,255,.025);-webkit-text-stroke:1px rgba(255,255,255,.16);white-space:nowrap;transition:.35s}.service-visual.flash .service-symbol{transform:translate(-50%,-50%) scale(1.03);color:rgba(227,30,36,.06)}
.service-detail{position:relative;z-index:3;max-width:720px}.service-kicker{color:var(--brand);font-size:10px;letter-spacing:.16em;margin-bottom:18px}.service-detail h2{font-family:"Inter Tight",sans-serif;font-size:clamp(40px,4.6vw,72px);line-height:.98;letter-spacing:-.045em;font-weight:600}.service-detail>p:not(.service-kicker){color:#b7b7b1;font-size:14px;line-height:1.8;max-width:650px;margin-top:24px}.service-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.service-chips span{border:1px solid var(--line);border-radius:999px;padding:9px 13px;color:#aaa;font-size:9px;letter-spacing:.08em}
.process{padding:118px 0 145px;border-bottom:1px solid var(--line)}.process-grid{margin-top:58px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.process article{min-height:320px;padding:30px;border-right:1px solid var(--line);display:flex;flex-direction:column}.process article:last-child{border-right:0}.process article>span{color:var(--brand);font-size:10px;letter-spacing:.14em}.process h3{font-family:"Inter Tight",sans-serif;font-size:32px;letter-spacing:-.04em;margin-top:auto;margin-bottom:16px;font-weight:600}.process p{color:var(--muted);font-size:12px;line-height:1.75}
.references{padding:118px 0 145px;border-bottom:1px solid var(--line)}
.reference-wall{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.reference-card{min-height:190px;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;outline:0;transition:background .3s}.reference-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(227,30,36,.11),transparent 55%);opacity:0;transition:.3s}.reference-card:hover::before,.reference-card:focus::before{opacity:1}.reference-card span{position:absolute;left:16px;bottom:13px;color:#70706d;font-size:8px;letter-spacing:.1em;opacity:0;transform:translateY(5px);transition:.28s}.reference-card:hover span,.reference-card:focus span{opacity:1;transform:translateY(0)}
.reference-logo{width:100%;height:110px;display:grid;place-items:center;position:relative}.reference-logo img{position:absolute;max-width:78%;max-height:90px;object-fit:contain;transition:opacity .32s,transform .32s,filter .32s}.ref-gray{opacity:.6}.ref-color{opacity:0;transform:scale(.96)}.reference-card:hover .ref-gray,.reference-card:focus .ref-gray{opacity:0;transform:scale(1.04)}.reference-card:hover .ref-color,.reference-card:focus .ref-color{opacity:1;transform:scale(1.055)}.reference-card.dark-on-dark:hover,.reference-card.dark-on-dark:focus{background:#efefeb}.reference-card.dark-on-dark:hover span,.reference-card.dark-on-dark:focus span{color:#555}
.brief-callout{padding:118px 0 135px;border-bottom:1px solid var(--line)}.brief-callout-grid{margin-top:55px;display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end}.brief-kicker{color:var(--brand);font-size:9px;letter-spacing:.16em;line-height:1.5;margin-bottom:18px}.brief-callout h2{font-family:"Inter Tight",sans-serif;font-size:clamp(48px,6vw,92px);line-height:.95;letter-spacing:-.055em;font-weight:600}.brief-callout-side p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:28px}
.primary-button,.ghost-button{border:0;cursor:pointer;font-weight:600;letter-spacing:.11em;font-size:9px}.primary-button{background:var(--brand);color:#fff;padding:16px 18px;display:inline-flex;align-items:center;justify-content:center;gap:18px}.primary-button span{font-size:16px}.ghost-button{background:transparent;color:#aaa;padding:14px 0}
.contact{min-height:75vh;padding:118px 0 50px;display:flex;flex-direction:column;justify-content:space-between}.contact-main{margin:90px 0}.contact-main p{color:var(--muted);margin-bottom:22px}.contact-main>a{display:flex;justify-content:space-between;align-items:center;padding-bottom:25px;border-bottom:1px solid var(--line);font-family:"Inter Tight",sans-serif;font-size:clamp(55px,9vw,138px);line-height:.9;letter-spacing:-.055em;font-weight:600;transition:.3s}.contact-main>a:hover{color:var(--brand);padding-left:10px}.contact-main>a span{font-size:.38em}
.contact-grid{display:grid;grid-template-columns:1.35fr .75fr .9fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:58px}.contact-item{min-height:190px;padding:28px 26px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.contact-item:last-child{border-right:0}.contact-label{color:var(--muted);font-size:9px;letter-spacing:.16em}.contact-item p,.contact-item>a:not(.whatsapp-button){color:#d2d2cc;font-size:13px;line-height:1.75}.contact-item>a:not(.whatsapp-button){transition:color .25s}.contact-item>a:not(.whatsapp-button):hover{color:var(--brand)}.whatsapp-button{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;border:1px solid rgba(255,255,255,.18);padding:17px 18px;font-size:10px;font-weight:600;letter-spacing:.12em;transition:.3s}.whatsapp-button span{font-size:18px;color:var(--brand)}.whatsapp-button:hover{background:var(--brand);border-color:var(--brand)}.whatsapp-button:hover span{color:#fff}
footer{display:flex;justify-content:space-between;align-items:flex-end;gap:30px}footer img{width:235px}.footer-meta{display:flex;gap:30px;font-size:9px;color:var(--muted);letter-spacing:.15em}

/* Brief modal */
.brief-modal{position:fixed;inset:0;z-index:120;display:none}.brief-modal.open{display:block}.brief-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(9px)}
.brief-shell{position:absolute;inset:3vh 3vw;background:#0b0b0b;border:1px solid rgba(255,255,255,.15);display:grid;grid-template-rows:auto 3px 1fr auto;box-shadow:0 40px 120px rgba(0,0,0,.5);overflow:hidden}
.brief-head{padding:26px 30px 20px;display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.brief-step-label{color:var(--brand);font-size:9px;letter-spacing:.16em}.brief-head h2{font-family:"Inter Tight",sans-serif;font-size:clamp(30px,3vw,50px);line-height:1;letter-spacing:-.04em;margin-top:10px}.brief-close{width:42px;height:42px;border:1px solid var(--line);background:transparent;color:#aaa;font-size:26px;cursor:pointer}.brief-progress{height:3px;background:#202020}.brief-progress span{display:block;height:100%;width:10%;background:var(--brand);transition:width .35s}
.brief-body{overflow:auto;padding:34px 30px 45px}.brief-footer{padding:18px 30px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;background:#0d0d0d}.brief-footer-right{display:flex;align-items:center;gap:22px}.brief-footer-right>span{color:#666;font-size:9px;max-width:420px;text-align:right;line-height:1.45}
.brief-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:1180px}.brief-service-card{min-height:140px;border:1px solid var(--line);background:#0f0f0f;padding:20px;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.brief-service-card:hover{border-color:rgba(227,30,36,.5);transform:translateY(-2px)}.brief-service-card.selected{background:rgba(227,30,36,.09);border-color:var(--brand)}.brief-service-card small{color:var(--brand);font-size:9px;letter-spacing:.14em}.brief-service-card b{font-family:"Inter Tight",sans-serif;font-size:22px;line-height:1.05;font-weight:600}.brief-service-card span{color:#777;font-size:10px;line-height:1.5}
.brief-question-wrap{max-width:1000px}.brief-service-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:26px}.brief-service-heading h3{font-family:"Inter Tight",sans-serif;font-size:34px;letter-spacing:-.035em}.brief-service-heading span{color:#666;font-size:9px;letter-spacing:.14em}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.form-field{display:flex;flex-direction:column;gap:9px}.form-field.full{grid-column:1/-1}.form-field label{font-size:10px;color:#aaa;letter-spacing:.06em}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid var(--line);background:#101010;color:#f2f2ee;padding:14px 15px;outline:0}.form-field textarea{min-height:110px;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:rgba(227,30,36,.65)}
.choice-grid{display:flex;flex-wrap:wrap;gap:8px}.choice-button{border:1px solid var(--line);background:#101010;color:#aaa;padding:11px 13px;font-size:10px;cursor:pointer;transition:.2s}.choice-button:hover,.choice-button.selected{border-color:var(--brand);color:#fff;background:rgba(227,30,36,.08)}
.review-stack{display:grid;gap:16px;max-width:1100px}.review-card{border:1px solid var(--line);background:#0f0f0f;padding:20px}.review-card h3{font-family:"Inter Tight",sans-serif;font-size:24px;margin-bottom:15px}.review-row{display:grid;grid-template-columns:190px 1fr;gap:16px;padding:8px 0;border-top:1px solid rgba(255,255,255,.06)}.review-row:first-of-type{border-top:0}.review-row label{color:#777;font-size:9px;letter-spacing:.08em;padding-top:9px}.review-row input,.review-row textarea{background:transparent;border:1px solid transparent;color:#ddd;padding:8px;font-size:12px;line-height:1.5;width:100%;outline:0}.review-row textarea{min-height:66px;resize:vertical}.review-row input:hover,.review-row textarea:hover,.review-row input:focus,.review-row textarea:focus{border-color:var(--line);background:#111}
.consent-row{display:flex;gap:12px;align-items:flex-start;margin-top:20px;color:#858580;font-size:10px;line-height:1.55}.consent-row input{margin-top:2px}
.brief-success{max-width:760px;padding-top:40px}.brief-success .success-icon{width:64px;height:64px;border-radius:50%;background:var(--brand);display:grid;place-items:center;font-size:28px;margin-bottom:28px}.brief-success h3{font-family:"Inter Tight",sans-serif;font-size:48px;letter-spacing:-.04em}.brief-success p{color:#aaa;line-height:1.75;margin-top:18px}.brief-success-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.brief-success-actions a,.brief-success-actions button{border:1px solid var(--line);background:#111;color:#fff;padding:14px 16px;font-size:9px;letter-spacing:.1em;cursor:pointer}

/* Reveal */
.reveal{opacity:0;transform:translateY(22px);animation:reveal .8s cubic-bezier(.2,.75,.2,1) forwards}.hero .reveal:nth-child(2){animation-delay:.12s}.hero-copy.reveal{animation-delay:.25s}@keyframes reveal{to{opacity:1;transform:translateY(0)}}

@media(max-width:1100px){
  .reference-wall{grid-template-columns:repeat(3,1fr)}
  .hero-main{grid-template-columns:1fr;gap:45px}.hero-orbit{right:-60px;top:28%;opacity:.45}
  .service-stage{grid-template-columns:1fr;min-height:auto}.service-nav{border-right:0;border-bottom:1px solid var(--line)}.service-tab{min-height:72px}.service-visual{min-height:650px}
  .process-grid{grid-template-columns:repeat(2,1fr)}.process article:nth-child(2){border-right:0}.process article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .brief-callout-grid{grid-template-columns:1fr;gap:45px}
  .brief-service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
  .topbar{height:84px;width:calc(100% - 34px)}.logo-wrap img{width:165px}.menu-button{display:block;cursor:pointer}
  .nav{position:fixed;top:74px;right:0;min-width:230px;padding:25px;flex-direction:column;align-items:flex-start;background:#101010;border:1px solid var(--line);opacity:0;pointer-events:none;transform:translateY(-14px);transition:.25s;mix-blend-mode:normal}.nav.open{opacity:1;pointer-events:auto;transform:translateY(0)}
  .hero{padding:118px 17px 38px}.hero-meta{flex-direction:column;gap:10px}.hero h1{font-size:clamp(66px,15vw,105px)}
  .proofbar,.statement,.services-interactive,.process,.references,.brief-callout,.contact{width:calc(100% - 34px)}
  .proofbar{grid-template-columns:repeat(2,1fr)}.proof:nth-child(2){border-right:0}.proof:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .statement{grid-template-columns:1fr;min-height:auto}.statement-main,.statement-side{grid-column:1}
  .service-visual{padding:34px;min-height:580px}.service-symbol{top:28%}
  .process-grid{grid-template-columns:1fr}.process article{border-right:0;border-bottom:1px solid var(--line)}.process article:last-child{border-bottom:0}
  .section-head{flex-direction:column;align-items:flex-start}
  .reference-wall{grid-template-columns:repeat(2,1fr)}.reference-card{min-height:165px}
  .contact-grid{grid-template-columns:1fr 1fr}.contact-item:nth-child(2){border-right:0}.contact-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .brief-shell{inset:0}.brief-head{padding:22px 18px 17px}.brief-body{padding:25px 18px 35px}.brief-footer{padding:15px 18px}.brief-footer-right>span{display:none}
  .form-grid{grid-template-columns:1fr}.form-field.full{grid-column:auto}
}
@media(max-width:520px){
  .hero h1{font-size:16vw;line-height:.9}.hero-copy p{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start}
  .service-tab{grid-template-columns:42px 1fr;padding:0 15px}.service-tab b{font-size:16px}.service-visual{min-height:520px;padding:26px}.service-symbol{font-size:14vw}.service-detail h2{font-size:42px}
  .reference-wall{grid-template-columns:1fr 1fr}.reference-card{min-height:135px;padding:14px}.reference-logo{height:80px}.reference-logo img{max-height:65px}.reference-card span{display:none}
  .contact-grid{grid-template-columns:1fr}.contact-item{border-right:0;border-bottom:1px solid var(--line)}.contact-item:last-child{border-bottom:0}
  footer{flex-direction:column;align-items:flex-start}.footer-meta{flex-direction:column;gap:8px}
  .brief-service-grid{grid-template-columns:1fr}.brief-service-card{min-height:120px}.brief-footer{gap:15px}.brief-footer-right{gap:8px}.primary-button{padding:14px 13px}
  .review-row{grid-template-columns:1fr;gap:3px}.review-row label{padding-top:0}
}

/* =========================================================
   MEDIAFORM AI CHAT — PREMIUM / FIXED BOTTOM RIGHT
   ========================================================= */

.mf-chat{
  position:fixed !important;
  right:28px !important;
  bottom:30px !important;
  left:auto !important;
  top:auto !important;
  width:max-content;
  z-index:10000;
  font-family:"Inter",sans-serif;
}

/* Launcher */
.mf-chat-launcher{
  position:relative;
  display:flex;
  align-items:center;
  gap:16px;
  width:360px;
  min-height:78px;
  padding:12px 16px 12px 13px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:
    linear-gradient(115deg,rgba(255,255,255,.055) 0%,rgba(255,255,255,.012) 42%,rgba(255,255,255,.035) 100%),
    rgba(9,9,9,.96);
  color:#fff;
  cursor:pointer;
  overflow:hidden;
  isolation:isolate;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(0,0,0,.65),
    0 18px 50px rgba(0,0,0,.38);
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    border-color .32s ease,
    box-shadow .32s ease;
}

.mf-chat-launcher::before{
  content:"";
  position:absolute;
  left:-55px;
  top:50%;
  width:175px;
  height:175px;
  transform:translateY(-50%);
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,30,48,.18) 0%,rgba(255,30,48,.08) 32%,transparent 68%);
  pointer-events:none;
  z-index:0;
  transition:transform .45s ease,opacity .3s ease;
}

.mf-chat-launcher::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.07) 48%,transparent 68%);
  transform:translateX(-130%);
  pointer-events:none;
  z-index:0;
  transition:transform .75s cubic-bezier(.2,.8,.2,1);
}

/* Red orb */
.mf-chat-orb{
  position:relative;
  z-index:2;
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,45,60,.30);
  background:radial-gradient(circle at 36% 30%,rgba(255,255,255,.09),rgba(255,255,255,.015) 45%,rgba(0,0,0,.22));
  box-shadow:
    inset 0 0 20px rgba(255,25,45,.08),
    0 0 0 1px rgba(255,255,255,.02);
  transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease;
}

.mf-chat-pulse{
  position:absolute;
  left:50%;
  top:50%;
  width:22px;
  height:22px;
  border-radius:50%;
  border:1px solid rgba(255,35,52,.46);
  transform:translate(-50%,-50%);
  animation:mfAiPulse 2.5s ease-out infinite;
}

.mf-chat-dot{
  position:relative;
  z-index:2;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#ff2036;
  box-shadow:
    0 0 12px rgba(255,32,54,.58),
    0 0 30px rgba(255,32,54,.18);
}

/* Copy */
.mf-chat-copy{
  position:relative;
  z-index:2;
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  text-align:left;
}

.mf-chat-label{
  display:block;
  font-family:"Inter Tight","Inter",sans-serif;
  font-size:14px;
  font-weight:700;
  line-height:1;
  letter-spacing:.105em;
  white-space:nowrap;
  color:#f7f7f7;
}

.mf-chat-subtitle{
  display:block;
  font-family:"Inter",sans-serif;
  font-size:10.5px;
  font-weight:400;
  line-height:1.25;
  letter-spacing:.015em;
  white-space:nowrap;
  color:rgba(255,255,255,.43);
  transition:color .3s ease;
}

/* Arrow */
.mf-chat-arrow{
  position:relative;
  z-index:2;
  width:37px;
  height:37px;
  flex:0 0 37px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.68);
  font-family:"Inter",sans-serif;
  font-size:17px;
  font-weight:400;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    background .3s ease,
    border-color .3s ease,
    color .3s ease;
}

.mf-chat-launcher:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    inset 0 -1px 0 rgba(0,0,0,.7),
    0 24px 65px rgba(0,0,0,.44),
    0 0 45px rgba(255,25,45,.07);
}

.mf-chat-launcher:hover::before{
  transform:translateY(-50%) scale(1.16);
}

.mf-chat-launcher:hover::after{
  transform:translateX(130%);
}

.mf-chat-launcher:hover .mf-chat-orb{
  transform:scale(1.055);
  border-color:rgba(255,50,65,.52);
  box-shadow:
    inset 0 0 24px rgba(255,25,45,.11),
    0 0 30px rgba(255,25,45,.12);
}

.mf-chat-launcher:hover .mf-chat-subtitle{
  color:rgba(255,255,255,.68);
}

.mf-chat-launcher:hover .mf-chat-arrow{
  transform:translateX(4px);
  color:#fff;
  background:rgba(255,255,255,.075);
  border-color:rgba(255,255,255,.15);
}

.mf-chat-launcher:active{
  transform:translateY(-1px) scale(.992);
}

.mf-chat-launcher:focus-visible{
  outline:none;
  box-shadow:
    0 0 0 3px rgba(255,32,54,.18),
    0 22px 60px rgba(0,0,0,.40);
}

/* Chat panel */
.mf-chat-panel{
  position:absolute;
  right:0;
  bottom:94px;
  width:min(430px,calc(100vw - 32px));
  height:min(680px,calc(100vh - 145px));
  background:#0c0c0c;
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 24px 80px rgba(0,0,0,.58);
  display:flex;
  flex-direction:column;
  opacity:0;
  pointer-events:none;
  transform:translateY(18px) scale(.98);
  transform-origin:bottom right;
  transition:.28s cubic-bezier(.2,.75,.2,1);
  overflow:hidden;
}

.mf-chat-panel.open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.mf-chat-head{
  min-height:102px;
  padding:21px 21px 18px;
  border-bottom:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  gap:18px;
}

.mf-chat-status{
  font-size:9px;
  letter-spacing:.14em;
  display:flex;
  align-items:center;
  gap:8px;
}

.mf-chat-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--brand);
  box-shadow:0 0 14px rgba(227,30,36,.65);
}

.mf-chat-head p{
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
  margin-top:8px;
  max-width:320px;
}

.mf-chat-close{
  flex:0 0 auto;
  width:34px;
  height:34px;
  border:1px solid var(--line);
  background:transparent;
  color:#aaa;
  font-size:23px;
  cursor:pointer;
}

.mf-chat-messages{
  flex:1;
  overflow-y:auto;
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:12px;
  scrollbar-width:thin;
  scrollbar-color:#333 transparent;
}

.mf-msg{
  max-width:88%;
  padding:13px 14px;
  font-size:12px;
  line-height:1.62;
  animation:msgIn .25s ease both;
}

.mf-msg.bot{
  align-self:flex-start;
  background:#151515;
  border:1px solid rgba(255,255,255,.08);
  color:#d9d9d4;
}

.mf-msg.user{
  align-self:flex-end;
  background:var(--brand);
  color:#fff;
}

.mf-msg.typing{
  color:#777;
  font-style:italic;
}

.mf-chat-actions{
  padding:0 18px 11px;
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}

.mf-chat-actions:empty{
  display:none;
}

.mf-chat-actions button,
.mf-chat-actions a{
  border:1px solid var(--line);
  background:transparent;
  color:#aaa;
  padding:9px 10px;
  font-size:8px;
  letter-spacing:.07em;
  cursor:pointer;
  transition:.2s;
}

.mf-chat-actions button:hover,
.mf-chat-actions a:hover{
  border-color:var(--brand);
  color:#fff;
}

.mf-chat-form{
  min-height:60px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:1fr 58px;
}

.mf-chat-form input{
  background:#0c0c0c;
  color:#fff;
  border:0;
  outline:0;
  padding:0 18px;
  font:inherit;
  font-size:12px;
}

.mf-chat-form input::placeholder{
  color:#5e5e5a;
}

.mf-chat-form button{
  border:0;
  border-left:1px solid var(--line);
  background:var(--brand);
  color:#fff;
  font-size:22px;
  cursor:pointer;
}

.mf-chat-foot{
  min-height:40px;
  padding:9px 13px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  color:#595955;
  font-size:8px;
  border-top:1px solid rgba(255,255,255,.06);
}

.mf-chat-foot button{
  background:transparent;
  border:0;
  color:#aaa;
  font-size:8px;
  cursor:pointer;
}

@keyframes mfAiPulse{
  0%{
    transform:translate(-50%,-50%) scale(.75);
    opacity:.85;
  }
  65%{
    transform:translate(-50%,-50%) scale(1.75);
    opacity:0;
  }
  100%{
    transform:translate(-50%,-50%) scale(1.75);
    opacity:0;
  }
}

@keyframes msgIn{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}

@media(max-width:600px){
  .mf-chat{
    right:14px !important;
    bottom:18px !important;
    left:auto !important;
  }

  .mf-chat-launcher{
    width:min(340px,calc(100vw - 28px));
    min-height:72px;
    gap:12px;
    padding:10px 13px 10px 11px;
  }

  .mf-chat-orb{
    width:46px;
    height:46px;
    flex-basis:46px;
  }

  .mf-chat-label{
    font-size:12.5px;
  }

  .mf-chat-subtitle{
    font-size:9.5px;
  }

  .mf-chat-arrow{
    width:34px;
    height:34px;
    flex-basis:34px;
  }

  .mf-chat-panel{
    right:0;
    bottom:86px;
    width:calc(100vw - 28px);
    height:min(680px,calc(100vh - 120px));
  }
}

@media(prefers-reduced-motion:reduce){
  .mf-chat-launcher,
  .mf-chat-launcher::before,
  .mf-chat-launcher::after,
  .mf-chat-orb,
  .mf-chat-arrow,
  .mf-chat-panel{
    transition:none;
  }

  .mf-chat-pulse,
  .mf-msg{
    animation:none;
  }
}

/* =========================================================
   MEDIAFORMLAB — LABORATORY OPENING EXPERIENCE
   ========================================================= */

body.mflab-lock{
  overflow:hidden;
}

.mflab-intro{
  --lab-red:var(--brand,#e31e24);
  --lab-red-bright:#ff3440;
  --lab-white:#f3f3f1;
  --lab-muted:rgba(255,255,255,.46);
  position:fixed;
  inset:0;
  z-index:30000;
  overflow:hidden;
  color:var(--lab-white);
  background:
    radial-gradient(circle at 72% 50%,rgba(227,30,36,.10),transparent 23%),
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.022),transparent 26%),
    #050505;
  isolation:isolate;
  transition:opacity .72s ease,visibility .72s ease;
}

.mflab-ambient,
.mflab-vignette,
.mflab-noise,
.mflab-grid,
.mflab-scan{
  position:absolute;
  inset:0;
  pointer-events:none;
}

.mflab-ambient{
  z-index:0;
}

.mflab-grid{
  opacity:.34;
  background:
    linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,transparent 1%,#000 18%,#000 82%,transparent 99%);
  -webkit-mask-image:linear-gradient(to bottom,transparent 1%,#000 18%,#000 82%,transparent 99%);
}

.mflab-scan{
  opacity:.24;
  background:linear-gradient(to bottom,transparent 0%,rgba(255,255,255,.035) 49.5%,transparent 50.5%);
  background-size:100% 6px;
  mix-blend-mode:screen;
}

.mflab-vignette{
  z-index:4;
  box-shadow:inset 0 0 170px rgba(0,0,0,.94);
}

.mflab-noise{
  z-index:5;
  opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}

.mflab-topline,
.mflab-bottomline{
  position:absolute;
  z-index:20;
  left:clamp(24px,4vw,70px);
  right:clamp(24px,4vw,70px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  opacity:0;
  animation:mflabFadeIn .6s .18s ease forwards;
}

.mflab-topline{
  top:clamp(22px,4vh,46px);
}

.mflab-bottomline{
  bottom:clamp(20px,3.5vh,40px);
  gap:22px;
  font-size:8px;
  letter-spacing:.18em;
  color:rgba(255,255,255,.30);
}

.mflab-brand{
  display:flex;
  align-items:center;
  gap:7px;
  font-family:"Inter Tight",sans-serif;
  letter-spacing:.02em;
}

.mflab-brand-main{
  font-size:14px;
  font-weight:700;
}

.mflab-brand-lab{
  font-size:14px;
  font-weight:700;
  color:var(--lab-red-bright);
}

.mflab-brand-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--lab-red-bright);
  box-shadow:0 0 14px rgba(255,52,64,.85);
  animation:mflabDot 1.2s ease-in-out infinite;
}

.mflab-skip{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(255,255,255,.36);
  font:600 9px/1 "Inter",sans-serif;
  letter-spacing:.16em;
  cursor:pointer;
  padding:10px 0 10px 14px;
  transition:color .25s ease;
}

.mflab-skip:hover{
  color:#fff;
}

.mflab-skip span{
  color:var(--lab-red-bright);
  margin-left:7px;
}

.mflab-stage{
  position:relative;
  z-index:10;
  width:min(1500px,calc(100% - clamp(48px,8vw,140px)));
  height:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);
  align-items:center;
  gap:clamp(24px,5vw,90px);
}

.mflab-copy{
  position:relative;
  z-index:12;
  padding-bottom:1vh;
}

.mflab-kicker{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:25px;
  font-size:9px;
  font-weight:600;
  letter-spacing:.21em;
  color:rgba(255,255,255,.40);
  opacity:0;
  transform:translateY(8px);
  animation:mflabCopyIn .55s 2.95s cubic-bezier(.2,.8,.2,1) forwards;
}

.mflab-kicker span{
  width:34px;
  height:1px;
  background:var(--lab-red-bright);
  box-shadow:0 0 10px rgba(255,52,64,.6);
}

.mflab-copy h1{
  margin:0;
  max-width:850px;
  font-family:"Inter Tight",sans-serif;
  font-weight:600;
  font-size:clamp(42px,5.7vw,92px);
  line-height:1.06;
  letter-spacing:-.052em;
  color:#f5f5f3;
  opacity:0;
  transform:translateY(24px);
  filter:blur(7px);
  animation:mflabHeadline 1s 3.20s cubic-bezier(.16,.82,.24,1) forwards;
}

.mflab-copy h1 em{
  position:relative;
  font-style:normal;
  color:var(--lab-red-bright);
  text-shadow:0 0 28px rgba(227,30,36,.16);
}

.mflab-copy h1 em::after{
  content:"";
  position:absolute;
  left:2px;
  right:0;
  bottom:2px;
  height:1px;
  background:linear-gradient(90deg,var(--lab-red-bright),transparent);
  transform:scaleX(0);
  transform-origin:left;
  animation:mflabUnderline .8s 4.02s cubic-bezier(.2,.8,.2,1) forwards;
}

.mflab-copy > p{
  max-width:590px;
  margin:26px 0 0;
  color:rgba(255,255,255,.44);
  font-size:clamp(12px,1.05vw,15px);
  line-height:1.75;
  opacity:0;
  transform:translateY(10px);
  animation:mflabCopyIn .55s 4.02s ease forwards;
}

.mflab-enter{
  position:relative;
  margin-top:29px;
  min-width:178px;
  height:52px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.025);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  padding:0 18px 0 22px;
  font:600 10px/1 "Inter",sans-serif;
  letter-spacing:.18em;
  cursor:pointer;
  overflow:hidden;
  opacity:0;
  transform:translateY(9px);
  animation:mflabCopyIn .55s 4.34s ease forwards;
  transition:border-color .3s ease,transform .3s ease,background .3s ease;
}

.mflab-enter::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(105deg,rgba(227,30,36,.2),rgba(227,30,36,.04));
  transform:translateX(-102%);
  transition:transform .42s cubic-bezier(.2,.8,.2,1);
}

.mflab-enter:hover{
  border-color:rgba(255,52,64,.52);
  background:rgba(227,30,36,.035);
  transform:translateY(-2px);
}

.mflab-enter:hover::before{
  transform:translateX(0);
}

.mflab-enter span,
.mflab-enter i{
  position:relative;
  z-index:2;
}

.mflab-enter i{
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:14px;
  background:var(--lab-red);
  box-shadow:0 0 20px rgba(227,30,36,.28);
  transition:transform .3s ease;
}

.mflab-enter:hover i{
  transform:translateX(3px);
}

.mflab-formula{
  margin-top:28px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  font-size:7px;
  letter-spacing:.15em;
  color:rgba(255,255,255,.20);
  opacity:0;
  animation:mflabFadeIn .5s 4.62s ease forwards;
}

.mflab-formula b{
  color:rgba(255,52,64,.46);
  font-weight:500;
}

.mflab-experiment{
  position:relative;
  z-index:8;
  height:min(74vh,710px);
  min-height:470px;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translateY(14px) scale(.98);
  animation:mflabExperimentIn .75s .22s cubic-bezier(.2,.8,.2,1) forwards;
}

.mflab-halo{
  position:absolute;
  width:min(560px,42vw);
  aspect-ratio:1;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(227,30,36,.16) 0%,rgba(227,30,36,.055) 26%,transparent 67%);
  filter:blur(6px);
  animation:mflabHalo 3.6s ease-in-out infinite;
}

.mflab-orbit{
  position:absolute;
  border:1px solid rgba(255,255,255,.065);
  border-radius:50%;
}

.mflab-orbit::before{
  content:"";
  position:absolute;
  top:50%;
  left:-3px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--lab-red-bright);
  box-shadow:0 0 15px rgba(255,52,64,.75);
}

.mflab-orbit-a{
  width:min(490px,38vw);
  aspect-ratio:1;
  animation:mflabOrbit 18s linear infinite;
}

.mflab-orbit-b{
  width:min(390px,30vw);
  aspect-ratio:1;
  border-color:rgba(227,30,36,.09);
  animation:mflabOrbit 13s linear infinite reverse;
}

.mflab-beaker-wrap{
  position:relative;
  width:260px;
  height:355px;
  z-index:4;
  filter:drop-shadow(0 25px 26px rgba(0,0,0,.42));
}

.mflab-beaker{
  position:absolute;
  left:50%;
  bottom:29px;
  width:218px;
  height:270px;
  transform:translateX(-50%);
  overflow:hidden;
  border:2px solid rgba(255,255,255,.34);
  border-top:0;
  border-radius:0 0 54px 54px / 0 0 28px 28px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.075),transparent 13%,transparent 74%,rgba(255,255,255,.045)),
    linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.012));
  box-shadow:
    inset 0 0 28px rgba(255,255,255,.025),
    0 0 1px rgba(255,255,255,.5);
}

.mflab-beaker::before,
.mflab-beaker::after{
  content:"";
  position:absolute;
  top:-1px;
  width:26px;
  height:2px;
  background:rgba(255,255,255,.36);
}

.mflab-beaker::before{left:0}
.mflab-beaker::after{right:0}

.mflab-beaker-rim{
  position:absolute;
  z-index:8;
  top:43px;
  left:50%;
  width:250px;
  height:36px;
  transform:translateX(-50%);
  border:2px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(255,255,255,.018);
  box-shadow:
    inset 0 0 0 7px rgba(255,255,255,.012),
    0 0 28px rgba(255,255,255,.025);
}

.mflab-beaker-rim::after{
  content:"";
  position:absolute;
  inset:7px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}

.mflab-glass-shine{
  position:absolute;
  z-index:7;
  top:14px;
  left:22px;
  width:18px;
  height:188px;
  border-radius:50%;
  background:linear-gradient(to bottom,rgba(255,255,255,.22),rgba(255,255,255,.015));
  filter:blur(.2px);
  opacity:.4;
}

.mflab-scale{
  position:absolute;
  z-index:8;
  right:19px;
  top:62px;
  height:115px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-end;
  opacity:.34;
}

.mflab-scale i{
  width:25px;
  height:1px;
  background:#fff;
}

.mflab-scale i:nth-child(even){
  width:14px;
}

.mflab-liquid{
  position:absolute;
  z-index:3;
  left:-2px;
  right:-2px;
  bottom:-2px;
  height:61%;
  overflow:hidden;
  background:
    linear-gradient(180deg,rgba(255,56,67,.95),rgba(178,12,20,.94) 49%,rgba(89,3,8,.98));
  box-shadow:
    inset 0 16px 30px rgba(255,105,112,.10),
    0 -8px 28px rgba(227,30,36,.16);
  animation:mflabLiquidPulse 2.2s ease-in-out infinite;
}

.mflab-liquid::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 22%,rgba(255,255,255,.08),transparent 15%),
    linear-gradient(100deg,transparent 25%,rgba(255,255,255,.08) 47%,transparent 61%);
  animation:mflabLiquidShimmer 3s linear infinite;
}

.mflab-liquid-wave{
  position:absolute;
  z-index:4;
  top:-14px;
  left:-12%;
  width:124%;
  height:30px;
  border-radius:50%;
  background:linear-gradient(180deg,#ff4b56,#cf1721);
  box-shadow:0 -2px 12px rgba(255,80,89,.20);
  animation:mflabWave 2.1s ease-in-out infinite;
}

.bubble{
  position:absolute;
  z-index:5;
  bottom:-20px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(255,255,255,.07);
  box-shadow:inset 0 0 7px rgba(255,255,255,.07);
  animation:mflabBubble linear infinite;
}

.bubble-1{left:18%;width:9px;height:9px;animation-duration:2.5s;animation-delay:-.3s}
.bubble-2{left:36%;width:15px;height:15px;animation-duration:3.2s;animation-delay:-1.4s}
.bubble-3{left:58%;width:7px;height:7px;animation-duration:2.1s;animation-delay:-1s}
.bubble-4{left:73%;width:12px;height:12px;animation-duration:2.8s;animation-delay:-2.1s}
.bubble-5{left:48%;width:5px;height:5px;animation-duration:1.9s;animation-delay:-.8s}
.bubble-6{left:82%;width:6px;height:6px;animation-duration:2.35s;animation-delay:-1.7s}

.mflab-steam{
  position:absolute;
  z-index:9;
  top:8%;
  left:50%;
  width:210px;
  height:230px;
  transform:translateX(-50%);
  pointer-events:none;
}

.steam{
  position:absolute;
  bottom:0;
  width:38px;
  height:145px;
  border-radius:50%;
  border-left:10px solid rgba(255,255,255,.10);
  filter:blur(8px);
  opacity:0;
  transform-origin:bottom center;
  animation:mflabSteam 3.3s ease-in-out infinite;
}

.steam-1{left:44px;animation-delay:-.3s}
.steam-2{left:78px;height:175px;animation-delay:-1.45s}
.steam-3{left:105px;height:158px;animation-delay:-2.25s}
.steam-4{left:125px;height:126px;animation-delay:-.85s}
.steam-5{left:62px;height:118px;animation-delay:-2.8s}

.mflab-shadow{
  position:absolute;
  left:50%;
  bottom:4px;
  width:228px;
  height:31px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(227,30,36,.22),rgba(0,0,0,.46) 56%,transparent 74%);
  filter:blur(4px);
}

.mflab-reading{
  position:absolute;
  top:57%;
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:7px;
  letter-spacing:.16em;
  color:rgba(255,255,255,.25);
}

.mflab-reading strong{
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  color:rgba(255,255,255,.55);
}

.mflab-reading-left{
  left:2%;
}

.mflab-reading-right{
  right:0;
  text-align:right;
}

.mflab-reading-right strong i{
  display:inline-block;
  width:5px;
  height:5px;
  margin-right:5px;
  border-radius:50%;
  background:#36d07e;
  box-shadow:0 0 10px rgba(54,208,126,.6);
}

.mflab-word{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) scale(.97);
  width:100%;
  text-align:center;
  font-family:"Inter Tight",sans-serif;
  font-size:clamp(94px,17vw,270px);
  font-weight:700;
  line-height:.8;
  letter-spacing:-.065em;
  color:rgba(255,255,255,.02);
  -webkit-text-stroke:1px rgba(255,255,255,.075);
  opacity:0;
  filter:blur(12px);
  user-select:none;
}

.mflab-word-1{animation:mflabWord 1.02s .55s cubic-bezier(.2,.8,.2,1) both}
.mflab-word-2{animation:mflabWord 1.02s 1.23s cubic-bezier(.2,.8,.2,1) both}
.mflab-word-3{animation:mflabWord 1.02s 1.91s cubic-bezier(.2,.8,.2,1) both}
.mflab-word-4{animation:mflabWord 1.02s 2.59s cubic-bezier(.2,.8,.2,1) both}

.mflab-timeline{
  position:relative;
  flex:1;
  max-width:410px;
  height:1px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}

.mflab-timeline i{
  position:absolute;
  inset:0 auto 0 0;
  width:0;
  background:linear-gradient(90deg,var(--lab-red),var(--lab-red-bright));
  box-shadow:0 0 12px rgba(227,30,36,.5);
  animation:mflabTimeline 6.6s .28s linear forwards;
}

.mflab-reaction{
  position:absolute;
  z-index:50;
  left:68%;
  top:52%;
  width:18px;
  height:18px;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(0);
  background:rgba(255,38,49,.55);
  box-shadow:
    0 0 50px rgba(255,38,49,.82),
    0 0 140px rgba(227,30,36,.42);
  opacity:0;
  pointer-events:none;
}

.mflab-intro.is-reacting .mflab-reaction{
  animation:mflabReaction .72s cubic-bezier(.16,.84,.23,1) forwards;
}

.mflab-intro.is-reacting .mflab-liquid{
  animation:mflabFinalLiquid .48s ease forwards;
}

.mflab-intro.is-reacting .mflab-copy,
.mflab-intro.is-reacting .mflab-topline,
.mflab-intro.is-reacting .mflab-bottomline,
.mflab-intro.is-reacting .mflab-experiment{
  transition:opacity .38s ease,transform .55s cubic-bezier(.2,.8,.2,1),filter .45s ease;
}

.mflab-intro.is-leaving{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.mflab-intro.is-leaving .mflab-copy{
  opacity:0;
  transform:translateX(-18px);
  filter:blur(5px);
}

.mflab-intro.is-leaving .mflab-experiment{
  opacity:0;
  transform:scale(1.06);
  filter:blur(8px);
}

.mflab-intro.is-leaving .mflab-topline,
.mflab-intro.is-leaving .mflab-bottomline{
  opacity:0;
}

@keyframes mflabWord{
  0%{
    opacity:0;
    transform:translate(-50%,-50%) scale(.95);
    filter:blur(16px);
    color:rgba(255,255,255,.01);
  }
  22%{
    opacity:1;
    filter:blur(1px);
    color:rgba(255,255,255,.025);
    -webkit-text-stroke-color:rgba(255,52,64,.20);
    text-shadow:0 0 45px rgba(227,30,36,.12);
  }
  55%{
    opacity:.95;
    transform:translate(-50%,-50%) scale(1);
    filter:blur(0);
  }
  100%{
    opacity:0;
    transform:translate(-50%,-50%) scale(1.03);
    filter:blur(11px);
  }
}

@keyframes mflabExperimentIn{
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

@keyframes mflabCopyIn{
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes mflabHeadline{
  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes mflabUnderline{
  to{transform:scaleX(1)}
}

@keyframes mflabFadeIn{
  to{opacity:1}
}

@keyframes mflabDot{
  0%,100%{opacity:.42;transform:scale(.72)}
  50%{opacity:1;transform:scale(1)}
}

@keyframes mflabHalo{
  0%,100%{transform:scale(.96);opacity:.58}
  50%{transform:scale(1.06);opacity:1}
}

@keyframes mflabOrbit{
  to{transform:rotate(360deg)}
}

@keyframes mflabWave{
  0%,100%{transform:translateY(0) rotate(-1.1deg) scaleX(1.02)}
  50%{transform:translateY(3px) rotate(1.2deg) scaleX(.99)}
}

@keyframes mflabLiquidPulse{
  0%,100%{filter:saturate(.95) brightness(.88)}
  50%{filter:saturate(1.18) brightness(1.08)}
}

@keyframes mflabLiquidShimmer{
  0%{transform:translateX(-45%)}
  100%{transform:translateX(50%)}
}

@keyframes mflabBubble{
  0%{transform:translateY(0) scale(.55);opacity:0}
  12%{opacity:.62}
  82%{opacity:.35}
  100%{transform:translateY(-175px) scale(1.08);opacity:0}
}

@keyframes mflabSteam{
  0%{
    opacity:0;
    transform:translateY(28px) translateX(0) scaleX(.78) rotate(-5deg);
  }
  22%{opacity:.34}
  58%{opacity:.22}
  100%{
    opacity:0;
    transform:translateY(-105px) translateX(23px) scaleX(1.35) rotate(8deg);
  }
}

@keyframes mflabTimeline{
  to{width:100%}
}

@keyframes mflabReaction{
  0%{opacity:0;transform:translate(-50%,-50%) scale(0)}
  22%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-50%) scale(44)}
}

@keyframes mflabFinalLiquid{
  0%{filter:brightness(1)}
  45%{filter:brightness(2.1) saturate(1.35)}
  100%{filter:brightness(1.1)}
}

@media(max-width:980px){
  .mflab-stage{
    width:min(900px,calc(100% - 44px));
    grid-template-columns:1fr;
    align-content:center;
    gap:10px;
  }

  .mflab-copy{
    order:2;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    margin-top:-18px;
  }

  .mflab-experiment{
    order:1;
    height:310px;
    min-height:310px;
    transform:scale(.78);
    margin-bottom:-34px;
  }

  .mflab-copy h1{
    font-size:clamp(39px,7.8vw,68px);
  }

  .mflab-copy > p{
    max-width:610px;
  }

  .mflab-kicker{
    justify-content:center;
    margin-bottom:17px;
  }

  .mflab-formula{
    justify-content:center;
  }

  .mflab-word{
    font-size:clamp(82px,20vw,180px);
  }

  .mflab-reading{
    display:none;
  }

  .mflab-reaction{
    left:50%;
    top:31%;
  }
}

@media(max-width:600px){
  .mflab-topline{
    left:20px;
    right:20px;
    top:20px;
  }

  .mflab-bottomline{
    left:20px;
    right:20px;
    bottom:18px;
  }

  .mflab-bottomline > span:last-child{
    display:none;
  }

  .mflab-timeline{
    max-width:none;
  }

  .mflab-stage{
    width:calc(100% - 34px);
    gap:3px;
  }

  .mflab-experiment{
    height:270px;
    min-height:270px;
    transform:scale(.68);
    margin-top:-16px;
    margin-bottom:-46px;
  }

  .mflab-copy{
    margin-top:0;
  }

  .mflab-copy h1{
    font-size:clamp(35px,10.5vw,53px);
    line-height:1.09;
  }

  .mflab-copy > p{
    max-width:430px;
    margin-top:18px;
    font-size:11px;
    line-height:1.62;
  }

  .mflab-kicker{
    font-size:7px;
    letter-spacing:.16em;
    margin-bottom:15px;
  }

  .mflab-kicker span{
    width:22px;
  }

  .mflab-enter{
    margin-top:20px;
    height:48px;
    min-width:164px;
  }

  .mflab-formula{
    display:none;
  }

  .mflab-word{
    font-size:clamp(70px,22vw,120px);
    top:44%;
  }

  .mflab-grid{
    background-size:48px 48px;
  }
}

@media(max-height:700px) and (min-width:981px){
  .mflab-experiment{
    height:580px;
    transform:scale(.88);
  }

  .mflab-copy h1{
    font-size:clamp(42px,5vw,76px);
  }

  .mflab-copy > p{
    margin-top:18px;
  }

  .mflab-enter{
    margin-top:20px;
  }

  .mflab-formula{
    margin-top:18px;
  }
}

@media(prefers-reduced-motion:reduce){
  .mflab-intro{
    display:none !important;
  }
}

/* =========================================================
   MEDIAFORMLAB — GLASS + STEAM REALISM UPGRADE
   ========================================================= */

.mflab-experiment::before{
  content:"";
  position:absolute;
  z-index:1;
  width:420px;
  height:500px;
  border-radius:50%;
  background:radial-gradient(ellipse at 50% 58%,rgba(255,255,255,.045) 0%,rgba(255,255,255,.018) 22%,rgba(227,30,36,.055) 44%,transparent 72%);
  filter:blur(12px);
  pointer-events:none;
}

.mflab-beaker{
  border:1px solid rgba(255,255,255,.42);
  border-top:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.03) 8%,rgba(255,255,255,.008) 22%,transparent 45%,rgba(255,255,255,.014) 69%,rgba(255,255,255,.065) 92%,rgba(255,255,255,.14) 100%),
    linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.012) 34%,rgba(255,255,255,.028) 77%,rgba(255,255,255,.065));
  box-shadow:
    inset 10px 0 20px rgba(255,255,255,.038),
    inset -10px 0 18px rgba(255,255,255,.026),
    inset 0 -18px 30px rgba(255,255,255,.04),
    0 0 0 1px rgba(255,255,255,.05),
    0 22px 42px rgba(0,0,0,.48);
  backdrop-filter:blur(1.5px);
  -webkit-backdrop-filter:blur(1.5px);
}

.mflab-beaker::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:9;
  pointer-events:none;
  border-radius:0 0 54px 54px / 0 0 28px 28px;
  background:
    radial-gradient(ellipse at 24% 12%,rgba(255,255,255,.13),transparent 16%),
    linear-gradient(102deg,transparent 0%,transparent 31%,rgba(255,255,255,.03) 38%,rgba(255,255,255,.07) 43%,rgba(255,255,255,.018) 48%,transparent 57%,transparent 100%);
  mix-blend-mode:screen;
  opacity:.74;
}

.mflab-glass-shine{
  top:18px;
  left:19px;
  width:14px;
  height:192px;
  border-radius:999px;
  background:linear-gradient(to bottom,rgba(255,255,255,.46) 0%,rgba(255,255,255,.20) 18%,rgba(255,255,255,.045) 64%,transparent 100%);
  filter:blur(.45px);
  opacity:.56;
  box-shadow:30px 4px 28px rgba(255,255,255,.02);
}

.mflab-beaker-rim{
  border:1px solid rgba(255,255,255,.5);
  background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.02) 0%,rgba(255,255,255,.038) 56%,rgba(255,255,255,.095) 100%);
  box-shadow:
    inset 0 1px 1px rgba(255,255,255,.22),
    inset 0 -1px 1px rgba(255,255,255,.065),
    0 0 0 1px rgba(255,255,255,.055),
    0 4px 20px rgba(255,255,255,.025);
}

.mflab-beaker-rim::before{
  content:"";
  position:absolute;
  left:25px;
  top:4px;
  width:88px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);
  filter:blur(.3px);
  opacity:.74;
}

.mflab-beaker-rim::after{
  inset:6px 11px;
  border:1px solid rgba(255,255,255,.17);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.32),0 1px 1px rgba(255,255,255,.04);
}

.mflab-liquid{
  background:
    radial-gradient(circle at 30% 15%,rgba(255,120,126,.22),transparent 22%),
    linear-gradient(180deg,rgba(255,62,72,.98) 0%,rgba(215,24,34,.98) 35%,rgba(136,8,15,.99) 70%,rgba(72,1,6,1) 100%);
  box-shadow:
    inset 0 14px 24px rgba(255,160,164,.11),
    inset 0 -18px 26px rgba(53,0,4,.38),
    0 -10px 34px rgba(227,30,36,.22);
}

.mflab-liquid-wave{
  top:-12px;
  height:25px;
  background:radial-gradient(ellipse at 50% 20%,rgba(255,125,131,.38),transparent 56%),linear-gradient(180deg,#ff5963,#d11620);
  box-shadow:inset 0 2px 4px rgba(255,255,255,.11),0 -4px 18px rgba(255,53,63,.26);
}

.bubble{
  border-color:rgba(255,255,255,.48);
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.24),rgba(255,255,255,.04) 42%,transparent 70%);
  box-shadow:inset 0 0 6px rgba(255,255,255,.11),0 0 7px rgba(255,90,98,.11);
}

.mflab-steam{
  top:1%;
  width:250px;
  height:285px;
  filter:drop-shadow(0 0 16px rgba(255,255,255,.03));
}

.mflab-steam::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:6px;
  width:132px;
  height:44px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.12) 0%,rgba(255,255,255,.05) 42%,transparent 72%);
  filter:blur(9px);
  opacity:.76;
  animation:mflabMistBed 2.4s ease-in-out infinite;
}

.mflab-steam::after{
  content:"";
  position:absolute;
  left:50%;
  top:16px;
  width:170px;
  height:135px;
  transform:translateX(-50%);
  border-radius:50%;
  background:radial-gradient(ellipse at 42% 65%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.035) 38%,transparent 74%);
  filter:blur(18px);
  opacity:.5;
  animation:mflabSteamCloud 4.8s ease-in-out infinite;
}

.steam{
  width:48px;
  height:172px;
  border-left:13px solid rgba(255,255,255,.14);
  border-right:4px solid rgba(255,255,255,.02);
  filter:blur(10px);
  opacity:0;
  mix-blend-mode:screen;
  animation-name:mflabSteamReal;
  animation-timing-function:cubic-bezier(.35,.05,.35,1);
  animation-iteration-count:infinite;
}

.steam-1{left:38px;height:154px;animation-duration:3.6s;animation-delay:-.2s}
.steam-2{left:78px;height:205px;animation-duration:4.1s;animation-delay:-1.7s}
.steam-3{left:111px;height:181px;animation-duration:3.5s;animation-delay:-2.7s}
.steam-4{left:143px;height:145px;animation-duration:4.4s;animation-delay:-1.05s}
.steam-5{left:62px;height:132px;animation-duration:3.1s;animation-delay:-2.45s}

.mflab-shadow{
  width:250px;
  height:38px;
  background:radial-gradient(ellipse,rgba(255,41,51,.27) 0%,rgba(227,30,36,.13) 36%,rgba(0,0,0,.46) 66%,transparent 78%);
  filter:blur(5px);
  animation:mflabShadowPulse 2.4s ease-in-out infinite;
}

@keyframes mflabSteamReal{
  0%{opacity:0;transform:translateY(34px) translateX(-7px) scale(.72,.56) rotate(-8deg)}
  14%{opacity:.18}
  33%{opacity:.44;transform:translateY(-14px) translateX(6px) scale(.9,.88) rotate(1deg)}
  59%{opacity:.30;transform:translateY(-76px) translateX(-12px) scale(1.08,1.18) rotate(-5deg)}
  82%{opacity:.15;transform:translateY(-126px) translateX(14px) scale(1.22,1.38) rotate(7deg)}
  100%{opacity:0;transform:translateY(-168px) translateX(25px) scale(1.45,1.65) rotate(10deg)}
}

@keyframes mflabMistBed{
  0%,100%{opacity:.48;transform:translateX(-50%) scale(.92,.82)}
  50%{opacity:.86;transform:translateX(-50%) scale(1.08,1)}
}

@keyframes mflabSteamCloud{
  0%,100%{opacity:.24;transform:translateX(-52%) translateY(10px) scale(.9)}
  50%{opacity:.54;transform:translateX(-47%) translateY(-12px) scale(1.12)}
}

@keyframes mflabShadowPulse{
  0%,100%{opacity:.72;transform:translateX(-50%) scaleX(.95)}
  50%{opacity:1;transform:translateX(-50%) scaleX(1.05)}
}

@media(max-width:600px){
  .mflab-steam{filter:none}
  .steam{
    border-left-color:rgba(255,255,255,.115);
    filter:blur(9px);
  }
  .mflab-steam::after{opacity:.32}
}

/* =========================================================
   MEDIAFORM — BACK TO TOP
   ========================================================= */

.mf-backtop{
  position:fixed;
  right:28px;
  bottom:118px;
  z-index:94;
  width:58px;
  height:58px;
  padding:0;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,255,255,.055),transparent 48%),
    rgba(10,10,10,.90);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(12px) scale(.92);
  pointer-events:none;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:
    0 16px 40px rgba(0,0,0,.32),
    inset 0 0 0 1px rgba(255,255,255,.015);
  transition:
    opacity .28s ease,
    visibility .28s ease,
    transform .32s cubic-bezier(.2,.8,.2,1),
    border-color .28s ease,
    background .28s ease,
    box-shadow .28s ease;
}

.mf-backtop.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.mf-backtop:hover{
  transform:translateY(-4px);
  border-color:rgba(255,52,64,.48);
  background:
    radial-gradient(circle at 50% 35%,rgba(255,52,64,.12),transparent 52%),
    rgba(13,13,13,.96);
  box-shadow:
    0 18px 42px rgba(0,0,0,.38),
    0 0 26px rgba(227,30,36,.09);
}

.mf-backtop-arrow{
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  font:500 20px/1 "Inter",sans-serif;
  color:var(--brand,#e31e24);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);
}

.mf-backtop:hover .mf-backtop-arrow{
  transform:translateX(-50%) translateY(-3px);
}

.mf-backtop-line{
  position:absolute;
  top:10px;
  left:50%;
  width:15px;
  height:1px;
  transform:translateX(-50%) scaleX(.45);
  transform-origin:center;
  background:rgba(255,255,255,.26);
  transition:transform .28s ease,background .28s ease;
}

.mf-backtop:hover .mf-backtop-line{
  transform:translateX(-50%) scaleX(1);
  background:rgba(255,255,255,.7);
}

.mf-backtop-text{
  position:absolute;
  bottom:11px;
  left:50%;
  transform:translateX(-50%);
  font:600 6.5px/1 "Inter",sans-serif;
  letter-spacing:.17em;
  color:rgba(255,255,255,.44);
}

@media(max-width:700px){
  .mf-backtop{
    right:18px;
    bottom:104px;
    width:50px;
    height:50px;
  }

  .mf-backtop-arrow{
    top:11px;
    font-size:18px;
  }

  .mf-backtop-text{
    bottom:9px;
    font-size:6px;
  }

  .mf-backtop-line{
    top:8px;
  }
}

@media(prefers-reduced-motion:reduce){
  .mf-backtop{
    transition:none;
  }
}

