:root{--color-bg:#f5f4ef;--color-surface:#fff;--color-surface-sunken:#eeece5;--color-text:#121821;--color-text-secondary:#556170;--color-border:#ded9cf;--color-border-strong:#c5bfb1;--color-accent:#16324f;--color-accent-hover:#0d2338;--color-accent-contrast:#f8f7f3;--color-accent-soft:#e6eaf0;--color-brass:#9b7d42;--color-brass-line:#9b7d428c;--color-brass-soft:#f1ebdd;--color-success:#1f5c3d;--color-success-soft:#e5eee9;--color-danger:#8b2a24;--color-danger-soft:#f5e7e5;--focus-ring:0 0 0 3px #16324f47;--font-serif:"Sitka Text", Cambria, "Iowan Old Style", "Palatino Linotype", Palatino, Charter, Georgia, serif;--font-sans:"Segoe UI", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.3125rem;--text-2xl:1.625rem;--text-3xl:2.125rem;--text-4xl:2.875rem;--leading-tight:1.18;--leading-normal:1.6;--tracking-label:.14em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--radius-sm:3px;--radius:4px;--radius-lg:6px;--shadow-sm:0 1px 2px #1218210f;--shadow-md:0 10px 28px #1218211a;--max-width:1160px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--color-bg:#0e1319;--color-surface:#151b23;--color-surface-sunken:#11161d;--color-text:#e9ebef;--color-text-secondary:#9aa5b3;--color-border:#242d38;--color-border-strong:#3a4553;--color-accent:#8fb3d9;--color-accent-hover:#a9c6e5;--color-accent-contrast:#0d1620;--color-accent-soft:#1a2734;--color-brass:#c7a765;--color-brass-line:#c7a76580;--color-brass-soft:#221d13;--color-success:#79b898;--color-success-soft:#16241d;--color-danger:#d98a82;--color-danger-soft:#2a1917;--focus-ring:0 0 0 3px #8fb3d966;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0;padding:0}h1,h2,h3,h4{font-family:var(--font-serif);line-height:var(--leading-tight);margin:0 0 var(--space-4);letter-spacing:-.005em;font-weight:600}h1{font-size:clamp(var(--text-3xl), 4.2vw, var(--text-4xl))}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}p{margin:0 0 var(--space-4)}a{color:var(--color-accent);text-decoration:none}a:hover{text-underline-offset:3px;text-decoration:underline}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}button,input,select,textarea{font-family:inherit;font-size:var(--text-base);color:inherit}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes revolve{to{transform:rotate(360deg)}}.reveal{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.reveal-2{animation-delay:90ms}.reveal-3{animation-delay:.18s}.reveal-4{animation-delay:.27s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.container{max-width:var(--max-width);padding:0 var(--space-5);margin:0 auto}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4)}.grid-books{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(170px,1fr));display:grid}@media (width<=640px){.grid-books{gap:var(--space-4);grid-template-columns:repeat(2,1fr)}}.grid-cards{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.rule-ornament{align-items:center;gap:var(--space-4);margin:var(--space-7) 0;color:var(--color-brass);display:flex}.rule-ornament:before,.rule-ornament:after{content:"";border-top:1px solid var(--color-brass-line);border-bottom:1px solid var(--color-brass-line);flex:1;height:3px}.rule-ornament svg{fill:currentColor;opacity:.8;width:14px;height:14px}.medallion{fill:none;stroke:var(--color-brass);stroke-width:.5px;opacity:.42}.medallion__ring{transform-origin:100px 100px;animation:120s linear infinite revolve}.medallion__rosette{transform-origin:100px 100px;stroke:var(--color-accent);opacity:.5;animation:200s linear infinite reverse revolve}.emblem{flex:none;width:34px;height:34px;display:inline-flex}.emblem svg{width:100%;height:100%}.emblem__frame{fill:var(--color-accent)}.emblem__inner{fill:none;stroke:var(--color-brass);stroke-width:.9px;transform-origin:50%;transition:opacity .3s,transform .3s}.emblem__letter{font-family:var(--font-serif);fill:var(--color-accent-contrast);font-size:21px;font-weight:600}.brand:hover .emblem__inner{opacity:.75;transform:scale(1.08)}.btn{justify-content:center;align-items:center;gap:var(--space-2);background:var(--color-accent);color:var(--color-accent-contrast);border:1px solid var(--color-accent);border-radius:var(--radius-sm);font-size:var(--text-sm);letter-spacing:.015em;cursor:pointer;padding:.42rem 1rem;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s,transform 60ms;display:inline-flex}.btn-sm{border-radius:var(--radius-sm);padding:.22rem .6rem;font-size:11px}.btn:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{color:var(--color-accent);border:1px solid var(--color-brass-line);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-brass-soft);border-color:var(--color-brass);color:var(--color-accent)}.field{margin-bottom:var(--space-3);flex-direction:column;gap:3px;display:flex}.field label{text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-text-secondary);font-size:11px;font-weight:700;line-height:1.2}.field input,.field select,.field textarea{font-size:var(--text-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:.38rem .65rem;transition:border-color .2s}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{border-color:var(--color-accent)}.password-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.password-input-wrapper input{width:100%;padding-right:2.75rem!important}.password-toggle-btn{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;padding:.35rem;transition:color .15s,background-color .15s,transform .1s;display:inline-flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-toggle-btn:hover{color:var(--color-text);background:var(--color-surface-sunken)}.password-toggle-btn:active,.password-toggle-btn.is-active{color:var(--color-accent);background:var(--color-accent-soft);transform:translateY(-50%)scale(.95)}[role=alert]{color:var(--color-danger);background:var(--color-danger-soft);border-left:3px solid var(--color-danger);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4);display:block}[role=status]{color:var(--color-success);background:var(--color-success-soft);border-left:3px solid var(--color-success);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);margin-bottom:var(--space-4);display:block}.site-header{z-index:10;background:var(--color-bg);border-top:3px solid var(--color-accent);border-bottom:1px solid var(--color-border);position:sticky;top:0}.site-header__brand-strip{background:#fff}.site-header__menu-strip{background:var(--color-bg);border-top:1px solid var(--color-border)}.site-header__menu-strip .site-nav{padding-top:var(--space-3);padding-bottom:var(--space-3)}.site-header:after{content:"";background:var(--color-brass-line);opacity:.5;height:1px;display:block}.site-header__bar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;display:flex}.site-header__brand-strip .site-header__bar{padding-top:var(--space-1);padding-bottom:var(--space-1);justify-content:center}@media (width<=960px){.site-header__bar{align-items:center;row-gap:var(--space-3);flex-wrap:wrap}.site-nav{justify-content:flex-start;gap:var(--space-4);width:100%}}.brand{align-items:center;gap:var(--space-3);color:var(--color-text);white-space:nowrap;text-decoration:none;display:inline-flex}.brand:hover{color:var(--color-text);text-decoration:none}.brand__name{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:600;line-height:1.05}.brand__tagline{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-text-secondary);font-size:.625rem;font-weight:600;display:block}.site-nav{align-items:center;gap:var(--space-5);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.site-nav a{color:var(--color-text-secondary);padding-bottom:2px;font-weight:500;position:relative}.site-nav a:after{content:"";background:var(--color-brass);height:1px;transition:right .28s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:0;left:0;right:100%}.site-nav a:hover{color:var(--color-text);text-decoration:none}.site-nav a:hover:after{right:0}.cart-badge{align-items:center;gap:var(--space-2);background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-sm);border:1px solid #0000;padding:.35rem .8rem;font-weight:600;transition:border-color .2s;display:inline-flex}.cart-badge:after{display:none}.cart-badge:hover{color:var(--color-accent);border-color:var(--color-brass-line)}.site-nav__login{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-elevated);border:1px solid var(--color-brass-line);padding:.35rem .85rem;font-weight:600;transition:all .2s;display:inline-flex;color:var(--color-text)!important}.site-nav__login:after{display:none!important}.site-nav__login:hover{background:var(--color-accent-soft);border-color:var(--color-brass);text-decoration:none;color:var(--color-accent)!important}.site-footer{text-align:center;border-top:1px solid var(--color-border);background:var(--color-surface-sunken);margin-top:var(--space-8)}.site-footer__legal{justify-content:center;gap:var(--space-4);font-size:var(--text-sm);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.site-footer__legal a{color:var(--color-text-secondary)}.site-footer__legal a:hover{color:var(--color-accent)}.hero{padding:var(--space-7) 0 var(--space-8);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-7);position:relative;overflow:hidden}.hero:before{content:"";background-image:repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-accent) 7%, transparent) 0 1px, transparent 1px 9px);pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000008c,#0000 72%);mask-image:linear-gradient(#0000008c,#0000 72%)}.hero__content{max-width:40rem;position:relative}.hero__ornament{right:calc(var(--space-6) * -1);pointer-events:none;width:320px;height:320px;position:absolute;top:50%;transform:translateY(-50%)}@media (width<=900px){.hero__ornament{top:calc(var(--space-5) * -1);right:calc(var(--space-7) * -1);opacity:.65;width:220px;height:220px;transform:none}}@media (width<=560px){.hero__ornament{display:none}}.hero__eyebrow{align-items:center;gap:var(--space-3);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-brass);margin-bottom:var(--space-4);font-weight:700;display:inline-flex}.hero__eyebrow:before{content:"";background:var(--color-brass);width:32px;height:1px}.hero__lead{font-size:var(--text-lg);color:var(--color-text-secondary);max-width:44ch}.hero__actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-5);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.section-heading h2{margin:0}.section-heading a{font-size:var(--text-sm);white-space:nowrap;font-weight:600}.book-card{color:inherit;text-decoration:none;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s,border-color .2s;display:block}.book-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-brass-line);text-decoration:none;transform:translateY(-4px)}.book-card__cover{aspect-ratio:3/4;border-radius:2px var(--radius-sm) var(--radius-sm) 2px;margin-bottom:var(--space-3);background:linear-gradient(155deg, #1e3d5e 0%, var(--color-accent) 52%, #0d1f33 100%);position:relative;overflow:hidden}.book-card__cover:before{content:"";background:linear-gradient(90deg,#00000061,#ffffff12);width:9px;position:absolute;top:0;bottom:0;left:0}.book-card__cover img{z-index:1;object-fit:cover;width:100%;height:100%;position:relative}.book-card__cover-fallback{border:1px solid var(--color-brass-line);font-family:var(--font-serif);color:var(--color-brass);border-radius:2px;justify-content:center;align-items:center;font-size:2.25rem;display:flex;position:absolute;inset:9px 9px 9px 18px}.book-card__title{font-family:var(--font-serif);font-size:var(--text-base);font-weight:600;line-height:var(--leading-tight);margin-bottom:var(--space-1);display:block}.book-card__price{margin-top:var(--space-2);font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:700}.book-detail{gap:var(--space-7);grid-template-columns:260px 1fr;display:grid}@media (width<=720px){.book-detail{grid-template-columns:1fr}.book-detail .book-card__cover{max-width:220px;margin-inline:auto}}.book-detail .book-card__cover-fallback{font-size:3.75rem}.book-detail__authors{color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:700}.price-tag{font-size:var(--text-2xl);font-family:var(--font-serif);font-variant-numeric:tabular-nums;margin:var(--space-3) 0;font-weight:600}.format-tags{gap:var(--space-2);margin-bottom:var(--space-5);display:flex}.format-tag{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.25rem .7rem;font-weight:700}.book-detail__actions{gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.search-bar{margin-bottom:var(--space-6)}.search-bar__label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-text-secondary);margin-bottom:var(--space-2);font-weight:700;display:block}.search-bar__row{gap:var(--space-2);max-width:46ch;display:flex}.search-bar__row input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);flex:1;min-width:0;padding:.7rem .85rem;transition:border-color .2s}.search-bar__row input:focus-visible{border-color:var(--color-accent)}.empty-state{color:var(--color-text-secondary);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);padding:var(--space-6);text-align:center}.status-badge{text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-secondary);align-items:center;padding:.15rem .45rem;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.status-badge--paid{background:var(--color-success-soft);color:var(--color-success)}.status-badge--pending{background:var(--color-accent-soft);color:var(--color-accent)}.status-badge--negative{background:var(--color-danger-soft);color:var(--color-danger)}.pix-panel{text-align:center;border-top:3px solid var(--color-accent);max-width:380px}.pix-panel__qr{width:100%;max-width:240px;margin:var(--space-4) auto;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.pix-panel__code{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs);resize:vertical;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-3);background:var(--color-surface-sunken)}.table,.data-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th,.data-table th{text-align:left;text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-strong);white-space:nowrap;padding:.35rem .6rem;font-size:11px;font-weight:700}.table td,.data-table td{border-bottom:1px solid var(--color-border);vertical-align:middle;padding:.38rem .6rem;line-height:1.35}.table tbody tr,.data-table tbody tr{transition:background-color .15s}.table tbody tr:hover,.data-table tbody tr:hover{background:var(--color-accent-soft)}.table .num,.data-table .num{text-align:right;font-variant-numeric:tabular-nums}.summary-row{padding-top:var(--space-4);margin-top:var(--space-2);border-top:2px solid var(--color-accent);font-size:var(--text-lg);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;font-weight:700;display:flex}.chip-grid{gap:var(--space-3);flex-wrap:wrap;display:flex}.chip{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text);align-items:center;font-weight:600;transition:border-color .2s,background-color .2s,color .2s;display:inline-flex}.chip:hover{border-color:var(--color-brass);color:var(--color-accent);background:var(--color-brass-soft);text-decoration:none}.admin-nav{gap:var(--space-4);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);margin-bottom:var(--space-6);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.admin-nav a{color:var(--color-text-secondary);font-weight:600}.admin-nav a:hover{color:var(--color-accent);text-decoration:none}.tab-group{padding:var(--space-1);background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--space-5);gap:var(--space-1);display:inline-flex}.tab-group button{font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:.5rem 1rem;font-weight:600;transition:background-color .2s,color .2s}.tab-group button[aria-selected=true]{background:var(--color-surface);color:var(--color-accent);box-shadow:var(--shadow-sm)}.text-muted{color:var(--color-text-secondary)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{top:var(--space-3);left:var(--space-3);background:var(--color-accent);color:var(--color-accent-contrast);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);z-index:100;text-decoration:none;position:fixed}.pagination-container{justify-content:space-between;align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);background:var(--color-surface-sunken);border-radius:0 0 var(--radius) var(--radius);font-size:var(--text-xs);flex-wrap:wrap;padding:.35rem .6rem;display:flex}.pagination-btn,.pagination-page-btn{justify-content:center;align-items:center;min-width:24px;height:24px;padding:2px 7px;font-size:11px;line-height:20px;display:inline-flex}.datasci-logo{border-radius:var(--radius);background:#fff;padding:6px 10px;display:inline-flex}.datasci-logo svg{width:auto;height:40px;display:block}.datasci-logo--small svg{height:24px}.site-nav a[aria-current=page]{color:var(--color-accent)}.site-header__bar.container{padding-left:var(--space-5);padding-right:var(--space-5)}.portfolio-label{margin-bottom:var(--space-3);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-secondary);font-weight:600;display:block}.institutional-hero{align-items:center;gap:var(--space-7);padding:var(--space-6) 0 var(--space-8);margin-bottom:var(--space-7);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);display:grid}.institutional-hero h1{letter-spacing:-.035em;font-size:clamp(2.5rem,4.4vw,3.6rem);line-height:1.12}.institutional-hero h1 em{color:var(--color-accent);font-weight:400}.institutional-hero .hero__lead{max-width:52ch;margin-top:var(--space-5)}.institutional-hero .hero__eyebrow{color:var(--color-text-secondary)}.institutional-hero__panel{padding:var(--space-6);border:1px solid var(--color-brass-line);border-radius:var(--radius-lg);background:var(--color-surface);text-align:center;position:relative}.institutional-hero__panel>p{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.institutional-hero__panel strong{color:var(--color-text);font-weight:500}.institutional-hero__diagram{place-items:center;height:300px;display:grid;position:relative}.institutional-hero__orbit{border:1px solid var(--color-border);border-radius:50%;width:220px;height:220px;position:absolute}.institutional-hero__orbit--inner{border-style:dashed;border-color:var(--color-brass-line);width:150px;height:150px;transform:rotate(24deg)}.institutional-hero__core{background:var(--color-accent);width:104px;height:104px;color:var(--color-accent-contrast);font-family:var(--font-serif);font-size:var(--text-2xl);border-radius:50%;place-items:center;display:grid}.institutional-hero__node{max-width:46%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-xs);border-radius:var(--radius);line-height:1.3;position:absolute}.institutional-hero__node--top{top:8px}.institutional-hero__node--left{top:46px;left:0}.institutional-hero__node--right{top:46px;right:0}.institutional-hero__node--lower-left{bottom:46px;left:0}.institutional-hero__node--lower-right{bottom:46px;right:0}.institutional-hero__node--bottom{bottom:8px}.portfolio-section{margin-bottom:var(--space-8);scroll-margin-top:150px}.portfolio-section .section-heading{align-items:end}.portfolio-section .section-heading h2{max-width:30ch}.solution-grid{gap:var(--space-6);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.solution-card{padding:var(--space-5) 0;border-top:2px solid var(--color-brass-line)}.portfolio-index{font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--color-text-secondary);margin-bottom:var(--space-5);display:block}.solution-card p{color:var(--color-text-secondary);margin-bottom:0}.portfolio-grid{gap:var(--space-5);grid-template-rows:repeat(3,auto);grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;grid-auto-flow:column;display:grid}.portfolio-column{display:contents}.portfolio-card{min-width:0;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.portfolio-card__logo{width:100%;height:144px;padding:var(--space-4);border-radius:var(--radius-sm);background:#fff;flex-shrink:0;justify-content:center;align-items:center;margin-top:auto;display:flex}.portfolio-card__logo--ftd,.portfolio-card__logo--inverse{background:#16324f}.portfolio-card__logo--aroeira{background:#264381}.portfolio-card__logo img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:112px}.portfolio-card>p:last-of-type{margin-bottom:var(--space-5);font-size:var(--text-sm)}.portfolio-intro{max-width:64ch}.project-row{gap:var(--space-5);padding:var(--space-6) 0;border-bottom:1px solid var(--color-border);grid-template-columns:48px minmax(0,.9fr) minmax(0,1.4fr);display:grid}.project-row__number{font-family:var(--font-serif);font-size:var(--text-2xl);color:var(--color-brass)}.project-row h3{margin-bottom:0}.project-row p{color:var(--color-text-secondary);margin-bottom:var(--space-3)}.project-row__capabilities{font-size:var(--text-xs);color:var(--color-accent)}.portfolio-cta{justify-content:space-between;align-items:center;gap:var(--space-6);padding:var(--space-7);background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex}.portfolio-cta h2{max-width:30ch}.portfolio-cta p{color:var(--color-text-secondary);margin:0}.portfolio-cta .btn{flex-shrink:0}.login-page{max-width:600px;margin:0 auto}.login-page__heading{text-align:center;margin-bottom:var(--space-6)}.login-page .tab-group{flex-wrap:wrap;display:flex}.login-page .tab-group button{flex:1}.report-actions{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.report-actions h2{margin:0}.report-print-copy{display:none}.catalog-nav{gap:var(--space-5);margin-bottom:var(--space-5);font-size:var(--text-sm);flex-wrap:wrap;display:flex}@media (width<=900px){.institutional-hero{grid-template-columns:minmax(0,1fr)}.institutional-hero__panel{display:none}}@media (width<=720px){.portfolio-grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-flow:row}.solution-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.project-row{grid-template-columns:36px minmax(0,1fr)}.project-row>div:last-child{grid-column:2}.portfolio-cta{padding:var(--space-5);flex-direction:column;align-items:flex-start}}@media (width<=560px){.portfolio-grid{grid-template-columns:minmax(0,1fr)}.institutional-hero{padding-top:0}.institutional-hero h1{font-size:2.4rem}.site-nav{gap:var(--space-3);font-size:var(--text-xs)}.login-page .tab-group button{padding:var(--space-2)}}@media print{@page{size:A4;margin:16mm}html:has(body[data-print-report]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#fff}body[data-print-report]{--color-bg:#fff;--color-surface:#fff;--color-text:#121821;--color-text-secondary:#556170;--color-border:#ded9cf;--color-accent:#16324f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#121821;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;font-size:10pt}body[data-print-report] #root{display:none}body[data-print-report] .report-print-copy{display:block}.report-print-copy__header,.report-print-copy__footer{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:1rem;margin-bottom:24px;padding:12px 0;font-size:9pt;display:flex}.report-print-copy__footer{border-bottom:0;border-top:1px solid var(--color-border);break-inside:avoid;margin-top:24px;margin-bottom:0;font-size:8pt}.report-print-copy__header .datasci-logo svg{height:36px}.report-print-copy__footer .datasci-logo svg{height:20px}.report-print-copy h1{font-size:22pt}.report-print-copy h2{font-size:16pt}.report-print-copy h3{font-size:13pt}.report-print-copy__date{color:var(--color-text-secondary);font-size:9pt}.report-print-copy .card,.report-print-copy tr{break-inside:avoid}.report-print-copy table{width:100%}.report-print-copy thead{display:table-header-group}.report-print-copy th,.report-print-copy td{overflow-wrap:anywhere}}
