@font-face{font-family:Manrope;src:url(fonts/manrope.ttf) format('truetype');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Source Serif';src:url(fonts/source-serif.ttf) format('truetype');font-style:normal;font-weight:200 900;font-display:swap}
/* Colors follow the current marketingdigitalenrique.com brand: ivory, deep blue, amber/coral/pink. */
:root{--ink:#0B3B6B;--paper:#F5F1E8;--surface:#EEF2F6;--muted:#465D76;--line:#C5D0DB;--control-line:#778CA3;--accent:#0B3B6B;--accent-soft:#E4EDF6;--blue:#2EA8E0;--amber:#FFA600;--coral:#FF6040;--pink:#FF4264;--action-ink:#0F2020;--error:#A33A25;--error-soft:#FBE5DF;--action-gradient:linear-gradient(135deg,var(--amber) 0%,var(--coral) 48%,var(--pink) 100%);--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:3rem;--space-xxl:5rem;color-scheme:light}
/* These OKLCH values are exact conversions of the hex fallbacks, not a second palette. */
@supports(color:oklch(35% .09 253)){:root{--ink:oklch(35.008176% .09682934 252.848579);--paper:oklch(95.877226% .01269568 86.829797);--surface:oklch(95.925700% .00686961 247.896436);--muted:oklch(46.998063% .04942778 250.978875);--line:oklch(85.249700% .01945343 248.056345);--control-line:oklch(63.171444% .04235533 250.851076);--accent:oklch(35.008176% .09682934 252.848579);--accent-soft:oklch(94.194576% .01552676 247.992393);--blue:oklch(69.141180% .13106845 233.880863);--amber:oklch(79.445501% .17089039 71.188096);--coral:oklch(69.183961% .19970669 33.246384);--pink:oklch(66.697552% .22298735 15.938838);--action-ink:oklch(22.871969% .02279933 195.675025);--error:oklch(49.447557% .14331863 33.199831);--error-soft:oklch(93.799901% .02555388 35.711367)}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope, sans-serif;font-size:1rem;line-height:1.7}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{cursor:pointer}a:hover,button:hover{color:var(--ink)}a:hover:not(.button):not(.wordmark),button:hover:not(.button):not(:disabled){text-decoration:underline;text-decoration-thickness:2px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.14;font-weight:600}p{max-width:70ch}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.55}button:disabled:hover{color:var(--action-ink)}[hidden]{display:none!important}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(1260px,100% - clamp(2rem,7vw,7rem));margin-inline:auto}.skip-link{position:fixed;top:.5rem;left:1rem;z-index:10;padding:.5rem 1rem;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:2rem;border-bottom:1px solid var(--line)}.wordmark{display:inline-flex;align-items:baseline;gap:.3rem;font-size:1.75rem;letter-spacing:-.08em;text-decoration:none;font-weight:800;line-height:1}.wordmark span{font-weight:500;font-size:.85rem;letter-spacing:-.02em}.wordmark i{width:.45rem;height:.45rem;margin-left:.45rem;border-radius:50%;background:var(--coral)}.nav-link{padding:.4rem 0;background:none;border:0;text-decoration:none;font-size:.85rem;font-weight:600}.nav-link span{margin-left:.4rem}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.8fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding-block:clamp(3.5rem,8vw,7rem)}.eyebrow{text-transform:uppercase;font-size:.68rem;line-height:1.5;letter-spacing:.12em;font-weight:700}.hero h1{font-size:clamp(2.8rem,4.6vw,4.6rem);letter-spacing:-.06em;max-width:12ch;margin-top:1.6rem}.hero h1 em{font-family:'Source Serif',serif;font-weight:440;letter-spacing:-.045em;font-style:normal}.hero-intro{margin-top:1.8rem;color:var(--muted);font-size:1.04rem;max-width:45ch}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:2.25rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1.8rem;min-height:48px;padding:.85rem 1.35rem;border:1px solid var(--ink);border-radius:3px;background:var(--action-gradient);color:var(--action-ink);font-size:.83rem;font-weight:600;line-height:1.45;text-decoration:none;transition:background .18s,color .18s}.button:hover:not(:disabled){background:var(--amber);color:var(--action-ink)}.button-secondary{background:transparent;color:var(--ink)}.button-secondary:hover:not(:disabled){background:var(--ink);color:var(--paper)}.text-link{font-size:.82rem;font-weight:600;background:none;border:0;border-bottom:1px solid var(--line);padding:.25rem 0;text-decoration:none}.connection-note{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--muted);margin-top:1.15rem}.status-dot{width:6px;height:6px;flex-shrink:0;background:var(--blue);border-radius:50%}.connection-note[data-ready=true] .status-dot{background:var(--ink)}.research-map{padding:1.75rem 1.65rem 1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:3px;transform:rotate(1deg)}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--line);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}.map-heading span:last-child{color:var(--muted)}.process-map{list-style:none;margin:0;padding:0;display:grid}.process-map li{display:grid;grid-template-columns:2.2rem 1fr;gap:.8rem;padding:1.75rem 0;border-bottom:1px solid var(--line)}.process-map li:last-child{border-bottom:0}.process-number{font-size:.7rem;padding-top:.22rem;color:var(--accent)}.process-map h2{font-size:1.4rem;letter-spacing:-.035em}.process-map p{margin-top:.5rem;font-size:.8rem;line-height:1.65;color:var(--muted)}.format-label{display:block;margin-top:.9rem;font-size:.61rem;letter-spacing:.025em;font-weight:600}.map-caption{font-size:.62rem;line-height:1.6;color:var(--muted);padding-top:1rem;border-top:1px solid var(--line)}.about-section,.source-section{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(2rem,7vw,7rem);padding-block:clamp(3rem,6vw,5.5rem);border-top:1px solid var(--line)}.about-section h2,.source-section h2{font-size:clamp(2.1rem,3vw,3rem);letter-spacing:-.05em;margin-top:1.15rem}.about-copy,.source-copy{display:flex;flex-direction:column;gap:1.3rem;font-size:.95rem}.about-copy>p:nth-child(2){font-family:'Source Serif',serif;font-size:1.3rem;line-height:1.6}.small-text{font-size:.74rem;line-height:1.65;color:var(--muted)}.source-links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;font-size:.8rem;font-weight:600}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.5rem;border-top:1px solid var(--line);font-size:.68rem;color:var(--muted)}.site-footer a{text-decoration:none}.lab-main{min-height:72vh;padding-block:3rem 4rem}.login-section{width:min(100%,500px);margin:3rem auto 6rem}.login-section h1{font-family:'Source Serif',serif;font-size:clamp(2.8rem,5vw,4rem);letter-spacing:-.04em;margin-block:.9rem 1rem}.login-section>p:not(.eyebrow){color:var(--muted);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:.6rem;margin-block:2rem 1.25rem}.login-form label,.field-label{font-size:.79rem;font-weight:700}.login-form .button{align-self:start;margin-top:.75rem}input[type=password],select{width:100%;min-height:48px;border:1px solid var(--control-line);background:var(--surface);color:var(--ink);border-radius:2px;padding:.6rem .75rem}input[type=password]{background:var(--paper)}.notice{margin-top:1.5rem;padding:1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:2px;font-size:.8rem}.notice h2{font-size:.95rem;margin-bottom:.65rem}.notice.error{background:var(--error-soft);color:var(--error);border-color:var(--error)}.lab-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;padding-bottom:2.5rem}.lab-heading h1{font-family:'Source Serif',serif;font-size:3rem;letter-spacing:-.04em;margin-top:.7rem}.connection-block{text-align:right}.connection-block .connection-note{justify-content:end;margin-top:0}.connection-block .text-link{font-size:.7rem;margin-top:.6rem}.lab-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,6vw,6rem);border-top:1px solid var(--line)}.experiment-section,.result-section{padding-top:2rem;min-width:0}.section-number{font-size:.6rem;letter-spacing:.1em;color:var(--accent);font-weight:700}.experiment-section h2,.result-section h2{font-size:1.6rem;letter-spacing:-.04em;margin-top:.7rem}.section-intro{font-size:.82rem;color:var(--muted);line-height:1.7;margin-top:.85rem}.upload-form{display:flex;flex-direction:column;align-items:start;gap:.65rem;margin-top:1.75rem}.upload-form .field-label:not(:first-child){margin-top:.8rem}.upload-form input[type=file]{display:block;width:100%;min-height:62px;padding:.75rem;border:1px dashed var(--control-line);background:var(--surface);font-size:.72rem;border-radius:2px;line-height:1.8}.upload-form input[type=file]::file-selector-button{font:inherit;padding:.3rem .6rem;background:var(--paper);color:var(--ink);border:1px solid var(--control-line);margin-right:.7rem;cursor:pointer}.upload-form .button{margin-top:.6rem}.form-message{font-size:.74rem;line-height:1.6;color:var(--muted);min-height:2.5em}.form-message[data-error=true]{color:var(--error)}.privacy-note{margin-top:.65rem}.text-consent{padding:1rem;background:var(--accent-soft);width:100%;margin-top:.5rem}.check-label{display:flex;align-items:start;gap:.6rem;font-size:.74rem;line-height:1.65}.check-label input{margin-top:.3rem;flex-shrink:0;width:16px;height:16px;accent-color:var(--ink)}.result-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.badge{border:1px solid var(--line);padding:.2rem .6rem;border-radius:2px;font-size:.62rem;white-space:nowrap}.badge[data-state=succeeded]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.badge[data-state=failed]{background:var(--error-soft);color:var(--error);border-color:var(--error)}.empty-result{margin-top:2rem;padding:3rem 1.5rem;border-block:1px solid var(--line);display:flex;flex-direction:column;gap:.8rem}.empty-mark{font-family:'Source Serif',serif;font-size:3rem;color:var(--accent);line-height:1}.empty-result p{font-family:'Source Serif',serif;font-size:1.7rem;line-height:1.3;letter-spacing:-.025em}.empty-result small{font-size:.7rem;color:var(--muted);max-width:35ch}.result-file{font-size:.76rem;overflow-wrap:anywhere;margin-top:1.5rem;font-weight:600}.summary-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1rem;margin-block:1.2rem}.fact{padding-block:.8rem;border-block:1px solid var(--line)}.fact dt{font-size:.63rem;color:var(--muted)}.fact dd{font-size:.87rem;margin:.4rem 0 0;font-weight:600;overflow-wrap:anywhere}.series-figure{margin:1.5rem 0;padding-block:1rem;border-block:1px solid var(--line)}.series-figure svg{display:block;width:100%;height:auto;color:var(--ink)}.series-figure figcaption{font-size:.65rem;color:var(--muted);line-height:1.6;margin-top:.5rem}.result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-block:1.5rem}.result-actions .button{font-size:.7rem;padding:.75rem 1rem;min-height:44px}.json-details{margin-top:1.5rem;border-top:1px solid var(--line);padding-top:1rem}.json-details summary{font-size:.74rem;cursor:pointer;min-height:32px}.json-details pre{max-height:360px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-family:Consolas,monospace;font-size:.68rem;background:var(--surface);padding:1rem;line-height:1.7}.recent-jobs{margin-top:2rem;border-top:1px solid var(--line);padding-top:1rem}.recent-jobs h3{font-size:.8rem}.recent-jobs ul{list-style:none;padding:0;margin:.75rem 0;display:flex;flex-direction:column;gap:.4rem}.recent-jobs button{text-align:left;border:0;background:none;padding:.5rem 0;font-size:.72rem;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.lab-footnote{display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--line);margin-top:3rem;padding-top:1.5rem;font-size:.65rem;line-height:1.7;color:var(--muted)}.lab-footnote p:last-child{max-width:55ch;text-align:right}
@media(max-width:850px){.hero{grid-template-columns:1fr;gap:3rem}.hero h1{font-size:clamp(2.8rem,7vw,4.4rem);max-width:16ch}.hero-intro{max-width:55ch}.research-map{max-width:600px;transform:none}.process-map{grid-template-columns:repeat(3,1fr);gap:1.25rem}.process-map li{display:block;border-bottom:0;padding-block:1.25rem}.process-number{display:block;margin-bottom:.7rem}.process-map h2{font-size:1.1rem}.process-map p{font-size:.75rem}.format-label{font-size:.57rem}.about-section,.source-section{gap:2rem}.lab-layout{grid-template-columns:1fr;gap:2.5rem}.experiment-section{max-width:600px}.result-section{border-top:1px solid var(--line)}.lab-heading h1{font-size:2.5rem}.connection-block{max-width:240px}.lab-footnote{flex-direction:column;gap:.6rem}.lab-footnote p:last-child{text-align:left}.login-section{margin-top:2rem}}
@media(max-width:560px){.site-header{padding-block:1.4rem}.wordmark{font-size:1.45rem}.nav-link{font-size:.67rem}.hero{padding-block:3rem}.hero h1{font-size:2.8rem;max-width:13ch;margin-top:1.2rem}.eyebrow{font-size:.58rem}.hero-intro{font-size:.9rem}.hero-actions{gap:1.25rem}.research-map{padding:1.5rem 1.25rem}.process-map{grid-template-columns:1fr;gap:0}.process-map li{display:grid;grid-template-columns:2rem 1fr;border-bottom:1px solid var(--line)}.process-map h2{font-size:1.25rem}.process-map p{font-size:.78rem}.format-label{font-size:.6rem}.about-section,.source-section{grid-template-columns:1fr;gap:1.5rem}.about-section h2,.source-section h2{font-size:2rem}.about-copy,.source-copy{font-size:.85rem}.about-copy>p:nth-child(2){font-size:1.15rem}.site-footer{font-size:.61rem}.lab-main{padding-top:2rem}.lab-heading{align-items:start;flex-direction:column;gap:1.25rem;padding-bottom:1.5rem}.connection-block{text-align:left;max-width:none}.connection-block .connection-note{justify-content:start}.lab-heading h1{font-size:2.45rem}.result-heading{align-items:start}.result-heading h2{font-size:1.4rem}.result-heading .badge{margin-top:.8rem}.lab-footnote{font-size:.62rem}.login-section h1{font-size:2.7rem}.summary-facts{gap:.75rem;grid-template-columns:1fr 1fr}.source-links{font-size:.7rem;gap:1rem}.button{gap:1.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Conceptual artwork complements the process; the original map remains the fallback. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.research-map-illustrated{transform:none}
.concept-figure{margin:var(--space-lg) 0 0;aspect-ratio:4/3;overflow:hidden;background:var(--surface)}
.concept-figure img{display:block;width:100%;height:100%;object-fit:contain}
.research-map-illustrated .process-map li{padding-block:1.1rem}
.research-map-illustrated .process-map h2{font-size:1.3rem}
.research-map-illustrated .process-map p{margin-top:.35rem}
.research-map-illustrated .format-label{margin-top:.65rem;font-size:.66rem}
.research-map-illustrated .map-caption{padding-top:.9rem;font-size:.67rem}
@media(min-width:851px){.hero-illustrated{grid-template-columns:minmax(0,1.15fr) minmax(350px,.9fr);gap:clamp(2rem,5vw,5rem)}.hero-illustrated .hero-copy{padding-block:var(--space-lg)}}
@media(max-width:850px){.research-map-illustrated{max-width:640px}.research-map-illustrated .process-map h2{font-size:1.15rem}}
@media(max-width:560px){.concept-figure{margin-top:1.25rem}.research-map-illustrated .process-map h2{font-size:1.25rem}.research-map-illustrated .format-label{font-size:.64rem}.research-map-illustrated .map-caption{font-size:.65rem}}

/* Private integrations follow the laboratory's existing spacing and brand palette. */
.selected-file{width:100%;padding:.65rem .8rem;border-left:3px solid var(--ink);background:var(--accent-soft);overflow-wrap:anywhere}.processing-help{display:flex;flex-direction:column;align-items:start;gap:.5rem;width:100%;padding:.85rem 0}.processing-help .text-link{font-size:.74rem}
.lab-navigation{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;justify-content:end}.lab-navigation form{margin:0}
.settings-main{max-width:980px}.settings-main .lab-heading{padding-bottom:1.3rem}.settings-intro{font-size:.9rem;color:var(--muted);max-width:70ch}.settings-note{margin-top:.8rem}.settings-section{padding-block:2.5rem;border-top:1px solid var(--line);margin-top:2rem}.settings-section+.settings-section{margin-top:0}.settings-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem}.settings-section h2{font-size:1.75rem;letter-spacing:-.04em;margin-top:.65rem}.settings-state{font-size:.74rem;color:var(--muted);max-width:35ch;text-align:right}.settings-form{display:flex;flex-direction:column;gap:.6rem;max-width:660px;margin-top:1.5rem}.settings-form input[type=url]{width:100%;min-height:48px;border:1px solid var(--control-line);background:var(--paper);color:var(--ink);border-radius:2px;padding:.6rem .75rem}.settings-form input::placeholder{color:var(--muted);opacity:1}.settings-form .field-label:not(:first-of-type){margin-top:.7rem}.settings-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.65rem}.settings-actions .button{gap:.5rem}.settings-disconnect{margin-block:1.1rem .4rem}.settings-disconnect .text-link{font-size:.74rem}
@media(max-width:560px){.lab-navigation{gap:.5rem 1rem;max-width:190px}.settings-section-heading{align-items:start;flex-direction:column;gap:.8rem}.settings-state{text-align:left;max-width:none}.settings-section{padding-block:2rem}.settings-actions{align-items:start;flex-direction:column}.settings-actions .button{width:100%}}
