:root{--color-bg: #fafafa;--color-text: #2d2d2d;--color-text-light: #6b6b6b;--color-accent: #3a3a3a;--color-accent-hover: #555;--color-border: #e0e0e0;--color-card-bg: #ffffff;--color-overlay: rgba(0, 0, 0, .5);--font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;--max-width: 1100px;--header-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-stack);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}#root{display:flex;flex-direction:column;min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;display:block}h1,h2,h3,h4{line-height:1.2;font-weight:600}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--color-card-bg);border-bottom:1px solid var(--color-border);z-index:100}.header-inner{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem;height:100%;display:flex;align-items:center;justify-content:space-between}.header-logo{font-size:1.25rem;font-weight:700;letter-spacing:.02em;color:var(--color-text)}.header-logo:hover{color:var(--color-text)}.header-nav{display:flex;align-items:center;gap:2rem}.nav-link{font-size:.9rem;font-weight:500;color:var(--color-text-light);transition:color .2s;padding:.5rem 0}.nav-link:hover,.nav-link.active{color:var(--color-text)}.nav-item.dropdown{position:relative}.dropdown-menu{position:absolute;top:100%;left:0;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:4px;min-width:180px;padding:.5rem 0;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s,transform .2s,visibility .2s;box-shadow:0 4px 12px #00000014}.dropdown-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-link{display:block;padding:.5rem 1rem;font-size:.85rem;color:var(--color-text-light);transition:background .15s,color .15s}.dropdown-link:hover{background:var(--color-bg);color:var(--color-text)}.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}.hamburger span{display:block;width:24px;height:2px;background:var(--color-text);transition:transform .3s,opacity .3s}.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width: 768px){.hamburger{display:flex}.header-nav{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background:var(--color-card-bg);flex-direction:column;align-items:flex-start;padding:2rem 1.5rem;gap:1rem;transform:translate(100%);transition:transform .3s}.header-nav.open{transform:translate(0)}.dropdown-menu{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;padding:0 0 0 1rem}.nav-link{font-size:1.1rem}}.footer{border-top:1px solid var(--color-border);background:var(--color-card-bg);padding:1.5rem}.footer-inner{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copy{font-size:.85rem;color:var(--color-text-light)}.footer-link{font-size:.85rem;font-weight:500;color:var(--color-text-light)}.footer-link:hover{color:var(--color-text)}.file-drop-zone{border:2px dashed var(--color-text-light, #999);border-radius:8px;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color .2s,background-color .2s}.file-drop-zone:hover{border-color:var(--color-text, #333)}.file-drop-zone.drag-over{border-color:#2563eb;background-color:#2563eb0f}.file-drop-zone__icon{font-size:2rem;margin-bottom:.5rem}.file-drop-zone__text{color:var(--color-text-light, #999);margin-bottom:1rem}.file-drop-zone__browse-btn{background:var(--color-text, #333);color:var(--color-card-bg, #fff);border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.9rem;cursor:pointer;transition:opacity .2s}.file-drop-zone__browse-btn:hover{opacity:.85}.file-drop-zone__selected{margin-top:1rem;font-size:.9rem;color:var(--color-text, #333)}.file-drop-zone__selected strong{display:block;margin-bottom:.15rem}.file-drop-zone__error{margin-top:.75rem;color:#dc2626;font-size:.85rem}.validation-step-list{list-style:none;padding:0;margin:1rem 0 0}.validation-step{display:flex;align-items:flex-start;gap:.75rem;padding:.6rem 0;border-bottom:1px solid rgba(0,0,0,.06)}.validation-step:last-child{border-bottom:none}.validation-step__icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1}.validation-step__icon--running{color:#2563eb}.validation-step__icon--running:after{content:"";display:block;width:1rem;height:1rem;border:2px solid #2563eb;border-top-color:transparent;border-radius:50%;animation:step-spin .8s linear infinite}@keyframes step-spin{to{transform:rotate(360deg)}}.validation-step__icon--passed{color:#16a34a}.validation-step__icon--passed:after{content:"✓"}.validation-step__icon--warning{color:#d97706}.validation-step__icon--warning:after{content:"⚠"}.validation-step__icon--failed{color:#dc2626}.validation-step__icon--failed:after{content:"✗"}.validation-step__icon--skipped{color:#9ca3af}.validation-step__icon--skipped:after{content:"–"}.validation-step__body{flex:1;min-width:0}.validation-step__name{font-weight:600;font-size:.9rem}.validation-step__summary{font-size:.82rem;color:var(--color-text-light, #666);margin-top:.15rem}.validation-step__details-toggle{background:none;border:none;padding:0;font-size:.78rem;color:#2563eb;cursor:pointer;margin-top:.25rem}.validation-step__details-toggle:hover{text-decoration:underline}.validation-step__details{margin-top:.35rem;font-size:.78rem;color:var(--color-text-light, #666);line-height:1.5}.validation-step__details li{list-style:disc inside}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:200;padding:1rem}.modal-content{background:var(--color-card-bg);border-radius:8px;padding:2.5rem;max-width:500px;width:100%;position:relative}.modal-content--wide{max-width:600px}.modal-content h2{margin-bottom:1rem;font-size:1.25rem}.modal-content p{color:var(--color-text-light);margin-bottom:1rem;line-height:1.6}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-light);line-height:1;padding:.25rem}.modal-close:hover{color:var(--color-text)}.modal-validating-label{font-weight:600;font-size:.95rem}.modal-reset-btn{margin-top:1.25rem;background:var(--color-text, #333);color:var(--color-card-bg, #fff);border:none;border-radius:6px;padding:.5rem 1.25rem;font-size:.9rem;cursor:pointer;transition:opacity .2s}.modal-reset-btn:hover{opacity:.85}.modal-error{text-align:center;padding:1rem 0}.modal-error p{color:#dc2626;font-weight:500}.home{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--header-height) - 80px);padding:2rem 1.5rem}.hero{text-align:center;max-width:640px}.hero h1{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.tagline{font-size:1.15rem;color:var(--color-text-light);margin-bottom:2.5rem;line-height:1.6}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:.75rem 1.5rem;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s;border:1px solid var(--color-accent);font-family:inherit}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover);color:#fff}.btn-secondary{background:transparent;color:var(--color-accent)}.btn-secondary:hover{background:var(--color-accent);color:#fff}@media (max-width: 480px){.hero h1{font-size:2rem}.tagline{font-size:1rem}}.brands-page{padding:4rem 1.5rem}.brands-container{max-width:var(--max-width);margin:0 auto}.brands-container h1{font-size:2rem;margin-bottom:.75rem}.brands-intro{color:var(--color-text-light);margin-bottom:3rem;max-width:520px}.brands-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.brand-card{display:block;padding:2rem;background:var(--color-card-bg);border:1px solid var(--color-border);border-radius:6px;transition:box-shadow .2s,border-color .2s;color:var(--color-text)}.brand-card:hover{border-color:var(--color-accent);box-shadow:0 4px 16px #0000000f;color:var(--color-text)}.brand-card h2{font-size:1.25rem;margin-bottom:.75rem}.brand-card p{color:var(--color-text-light);font-size:.95rem;margin-bottom:1.25rem;line-height:1.6}.brand-link{font-size:.85rem;font-weight:500;color:var(--color-accent)}.brand-detail{padding:4rem 1.5rem}.brand-detail-container{max-width:680px;margin:0 auto}.brand-detail-container h1{font-size:2rem;margin-bottom:2rem}.brand-detail-content p{color:var(--color-text-light);margin-bottom:1.25rem;line-height:1.7}.brand-contact{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border)}.brand-contact h2{font-size:1.15rem;margin-bottom:.75rem}.brand-contact p{color:var(--color-text-light);line-height:1.6}.brand-contact a{font-weight:600;color:var(--color-text)}.about-page{padding:4rem 1.5rem}.about-container{max-width:680px;margin:0 auto}.about-container h1{font-size:2rem;margin-bottom:2rem}.about-content p{color:var(--color-text-light);margin-bottom:1.25rem;line-height:1.7}.mission-page{padding:4rem 1.5rem}.mission-container{max-width:680px;margin:0 auto}.mission-container h1{font-size:2rem;margin-bottom:2rem}.mission-content p{color:var(--color-text-light);margin-bottom:1.25rem;line-height:1.7}.contact-page{padding:4rem 1.5rem}.contact-container{max-width:680px;margin:0 auto}.contact-container h1{font-size:2rem;margin-bottom:2rem}.contact-content{display:flex;flex-direction:column;gap:2rem}.contact-item h2{font-size:1rem;font-weight:600;margin-bottom:.25rem;color:var(--color-text)}.contact-item p{color:var(--color-text-light);line-height:1.6}.contact-item a{font-weight:600;color:var(--color-text)}.contact-section{margin-top:1rem;padding-top:2rem;border-top:1px solid var(--color-border)}.contact-section-title{font-size:1.25rem;margin-bottom:.5rem}.contact-section-desc{color:var(--color-text-light);font-size:.95rem;margin-bottom:1.25rem;line-height:1.6}.contact-section h3{font-size:1rem;font-weight:600;margin-bottom:.25rem;color:var(--color-text)}.app-main{flex:1;padding-top:var(--header-height)}
