@font-face{font-family:Jost;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/jost-latin.woff2) format("woff2")}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/instrument-sans-latin.woff2) format("woff2")}:root{--font-heading: "Jost", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, sans-serif;--font-mono: ui-monospace, "JetBrains Mono", Menlo, monospace;--color-id3-green: #00d084;--color-id3-green-hover: #2edda0;--color-id3-green-dark: #00a86b;--color-id3-glow: rgba(0, 208, 132, .15);--color-id3-glow-strong: rgba(0, 208, 132, .4);--color-id3-blue: #64b5f6;--color-bg: #0a0f14;--color-bg-alt: #0a0f14;--color-bg-card: #19303d;--color-bg-elevated: #1e3748;--color-bg-surface: rgba(25, 48, 61, .7);--color-glass-bg: rgba(25, 48, 61, .6);--color-glass-border: rgba(0, 208, 132, .12);--color-glass-border-hover: rgba(0, 208, 132, .35);--color-text: #eef2f7;--color-text-secondary: #8892a4;--color-text-muted: #555e6e;--color-text-on-green: #0a0f14;--color-success: #00d084;--color-warning: #f59e0b;--color-danger: #ef4444;--color-info: #64b5f6;--radius-sm: 8px;--radius: 16px;--radius-lg: 24px;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--container-max: 1360px;--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-card-hover: 0 8px 32px rgba(0, 0, 0, .55);--shadow-glow: 0 0 60px rgba(0, 208, 132, .08);--shadow-glow-strong: 0 0 50px var(--color-id3-glow-strong);--shadow-cta: 0 0 30px var(--color-id3-glow-strong);--shadow-text-green: 0 0 30px rgba(0, 208, 132, .3);--ease-out: cubic-bezier(.25, .46, .45, .94);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--t-fast: .2s;--t-base: .3s;--t-slow: .6s;--bg-grid: linear-gradient(rgba(0,208,132,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(0,208,132,.07) 1px, transparent 1px);--bg-grid-size: 60px 60px;--header-height: 72px}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);font-size:16px;line-height:1.7;min-height:100vh;overflow-x:hidden}h1{font-family:var(--font-heading);font-weight:900;font-size:clamp(2.2rem,4.5vw,3.8rem);line-height:1.1;letter-spacing:-.04em;color:var(--color-text)}h2{font-family:var(--font-heading);font-weight:800;font-size:clamp(1.7rem,3vw,2.6rem);line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}h3{font-family:var(--font-heading);font-weight:700;font-size:1.35rem;line-height:1.3;color:var(--color-text)}h4{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;line-height:1.4;color:var(--color-text)}p{font-family:var(--font-body);font-size:1rem;line-height:1.7;color:var(--color-text-secondary)}.eyebrow{font-family:var(--font-heading);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-id3-green);display:inline-block}.lead{font-family:var(--font-body);font-size:1.15rem;line-height:1.8;color:var(--color-text-secondary)}code,.code{font-family:var(--font-mono);font-size:.85em;color:var(--color-id3-green)}.gradient-text{background:linear-gradient(135deg,var(--color-text) 55%,var(--color-id3-green));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 2rem}.page-shell{display:flex;flex-direction:column;min-height:100vh}main{flex:1 0 auto;padding-top:var(--space-12);padding-bottom:var(--space-20);position:relative;z-index:1}a{color:var(--color-id3-green);text-decoration:none}a:hover{color:var(--color-id3-green-hover)}.bg-decor{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.bg-decor:before{content:"";position:absolute;inset:0;background-image:var(--bg-grid);background-size:var(--bg-grid-size);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%);opacity:.6}.orb{position:absolute;border-radius:50%;filter:blur(120px);background:var(--color-id3-green)}.orb-1{width:600px;height:600px;top:-180px;right:-120px;opacity:.1;animation:orbFloat1 11s ease-in-out infinite}.orb-2{width:520px;height:520px;bottom:-160px;left:-140px;opacity:.06;animation:orbFloat2 13s ease-in-out infinite}@keyframes orbFloat1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-30px,25px) scale(1.1)}}@keyframes orbFloat2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(28px,-22px) scale(.9)}}@media(prefers-reduced-motion:reduce){.orb{animation:none}html{scroll-behavior:auto}}.site-header{position:sticky;top:0;z-index:1000;height:var(--header-height);display:flex;align-items:center;background:#0a0f14b8;backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--color-glass-border)}.header-inner{display:flex;align-items:center;gap:1.5rem;width:100%;max-width:var(--container-max);margin:0 auto;padding:0 2rem}.logo-link{display:flex;align-items:center;gap:.7rem;flex-shrink:0}.logo-link img{height:30px;width:auto;display:block}.logo-link .portal-label{font-family:var(--font-heading);font-weight:500;font-size:.95rem;color:var(--color-text-secondary);letter-spacing:.01em;padding-left:.7rem;border-left:1px solid var(--color-glass-border-hover)}.site-nav{margin-left:auto}.site-nav ul{display:flex;align-items:center;gap:.25rem;list-style:none;margin:0;padding:0}.site-nav a{font-family:var(--font-heading);font-weight:500;font-size:.95rem;color:var(--color-text-secondary);padding:.5rem .85rem;border-radius:var(--radius-sm);transition:color var(--t-base) var(--ease-out),background var(--t-base) var(--ease-out)}.site-nav a:hover{color:var(--color-text)}.site-nav a.active{color:var(--color-id3-green);background:#00d08414}.header-search{flex-shrink:0}.header-search form{display:flex;align-items:center;height:38px;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);overflow:hidden;transition:border-color var(--t-base) var(--ease-out)}.header-search form:focus-within{border-color:var(--color-glass-border-hover)}.header-search input{background:transparent;border:none;outline:none;color:var(--color-text);font-family:var(--font-body);font-size:.9rem;padding:0 .75rem;width:180px}.header-search input::placeholder{color:var(--color-text-muted)}.header-search button{background:transparent;border:none;color:var(--color-text-secondary);cursor:pointer;padding:0 .75rem;height:100%;display:flex;align-items:center;transition:color var(--t-base) var(--ease-out)}.header-search button:hover{color:var(--color-id3-green)}.header-search button svg{width:16px;height:16px}.menu-toggle{display:none;background:transparent;border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text);width:38px;height:38px;cursor:pointer;align-items:center;justify-content:center}.menu-toggle svg{width:20px;height:20px}@media(max-width:900px){.header-inner{gap:.75rem}.menu-toggle{display:flex}.header-search input{width:120px}.site-nav{position:fixed;top:var(--header-height);right:-320px;width:280px;height:calc(100vh - var(--header-height));background:#0a0f14f5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-left:1px solid var(--color-glass-border);padding:1.5rem;margin:0;transition:right var(--t-slow) var(--ease-in-out)}.site-nav.active{right:0}.site-nav ul{flex-direction:column;align-items:stretch;gap:.25rem}.site-nav a{display:block;padding:.85rem 1rem}}@media(max-width:560px){.logo-link .portal-label{display:none}.header-search input{width:0;padding:0;transition:width var(--t-base),padding var(--t-base)}.header-search form:focus-within input{width:120px;padding:0 .5rem}}.hero{position:relative;z-index:1;padding:6rem 0 4rem}.hero .eyebrow{margin-bottom:1rem}.hero h1{max-width:18ch;margin:0 0 1.25rem}.hero h1 .gradient-text{text-shadow:var(--shadow-text-green)}.hero .lead{max-width:55ch;margin:0 0 2rem}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.page-head{position:relative;z-index:1;margin-bottom:2.5rem}.page-head .eyebrow{margin-bottom:.75rem}.page-head h1{margin:0 0 1rem}.page-head .subtitle,.subtitle{font-size:1.15rem;line-height:1.8;color:var(--color-text-secondary);max-width:65ch;margin:0}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-weight:600;font-size:.95rem;padding:.75rem 1.4rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:all var(--t-base) var(--ease-out);text-decoration:none;line-height:1}.btn svg{width:18px;height:18px}.btn-primary{background:var(--color-id3-green);color:var(--color-text-on-green);box-shadow:var(--shadow-cta)}.btn-primary:hover{background:var(--color-id3-green-hover);color:var(--color-text-on-green);box-shadow:0 0 50px var(--color-id3-glow-strong);transform:translateY(-2px)}.btn-secondary{background:transparent;border-color:var(--color-glass-border-hover);color:var(--color-text)}.btn-secondary:hover{border-color:var(--color-id3-green);color:var(--color-id3-green);background:#00d08414}.btn-outline{background:transparent;border-color:var(--color-id3-green);color:var(--color-id3-green)}.btn-outline:hover{background:var(--color-id3-green);color:var(--color-text-on-green)}.card{position:relative;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:1.75rem;transition:all .4s var(--ease-out)}.card:hover{border-color:var(--color-glass-border-hover);box-shadow:var(--shadow-glow);transform:translateY(-3px)}.card--green{border-top:3px solid var(--color-id3-green)}.card--blue{border-top:3px solid var(--color-id3-blue)}.card h3{margin:0 0 .6rem}.card p{margin:0 0 1rem}a.card{display:flex;flex-direction:column;color:inherit}a.card:hover{color:inherit}.icon-chip{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#00d0841a;border:1px solid rgba(0,208,132,.25);color:var(--color-id3-green);margin-bottom:1.1rem}.icon-chip svg{width:24px;height:24px}.icon-chip--blue{background:#64b5f61a;border-color:#64b5f640;color:var(--color-id3-blue)}.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.grid-2,.grid-3{grid-template-columns:1fr}}.section{position:relative;z-index:1;padding:3.5rem 0}.section-title{margin:0 0 .5rem}.section-head{margin-bottom:2rem}.product-links{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:auto}.product-link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-heading);font-weight:600;font-size:.9rem;color:var(--color-id3-green)}.product-link svg{width:16px;height:16px}.product-link:hover{color:var(--color-id3-green-hover)}.feature-list{list-style:none;padding:0;margin:0}.feature-list li{position:relative;padding-left:1.9rem;margin-bottom:.85rem;color:var(--color-text-secondary);line-height:1.6}.feature-list li:before{content:"";position:absolute;left:0;top:.15rem;width:18px;height:18px;background:#00d0841f;border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300d084' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:12px}.chip-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.25rem 0}.chip{font-family:var(--font-heading);font-size:.85rem;font-weight:500;color:var(--color-text);background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-pill);padding:.4rem .9rem;transition:all var(--t-base) var(--ease-out)}.chip:hover{border-color:var(--color-glass-border-hover);color:var(--color-id3-green)}.note{font-size:.9rem;color:var(--color-text-secondary);border-left:3px solid var(--color-id3-green);background:#00d0840d;padding:.85rem 1.1rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-top:1.25rem}.breadcrumb{position:relative;z-index:1;display:flex;align-items:center;gap:.5rem;font-family:var(--font-heading);font-size:.9rem;padding-top:1.5rem}.breadcrumb a{color:var(--color-text-secondary)}.breadcrumb a:hover{color:var(--color-id3-green)}.breadcrumb .sep{color:var(--color-text-muted)}.breadcrumb .current{color:var(--color-text)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}@media(max-width:700px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.stat .num{font-family:var(--font-heading);font-weight:800;font-size:clamp(1.8rem,3vw,2.4rem);color:var(--color-id3-green);text-shadow:var(--shadow-text-green);line-height:1}.stat .label{font-size:.9rem;color:var(--color-text-secondary);margin-top:.4rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-family:var(--font-heading);font-weight:600;font-size:.9rem;color:var(--color-text);margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.75rem .9rem;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body);font-size:1rem;transition:border-color var(--t-base) var(--ease-out),box-shadow var(--t-base) var(--ease-out)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-id3-green);box-shadow:0 0 0 3px #00d08426}.form-group textarea{min-height:160px;resize:vertical}.form-message{margin:1rem 0;padding:.9rem 1.1rem;border-radius:var(--radius-sm);font-size:.95rem;display:none}.form-message:not(:empty){display:block}.form-message.success{background:#00d0841a;border:1px solid var(--color-glass-border-hover);color:var(--color-id3-green)}.form-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.4);color:#fca5a5}.btn-submit{position:relative;overflow:hidden}.btn-submit:disabled{opacity:.85;cursor:not-allowed}.btn-spinner{display:none}.email-link{font-family:var(--font-mono);color:var(--color-id3-green);font-weight:500}.email-link:hover{color:var(--color-id3-green-hover)}.filter-bar{display:flex;flex-wrap:wrap;gap:1.25rem;margin:1.75rem 0}.filter-group{display:flex;align-items:center;gap:.6rem}.filter-group label{font-family:var(--font-heading);font-weight:500;font-size:.9rem;color:var(--color-text-secondary)}.filter-group select{padding:.5rem .8rem;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body);font-size:.9rem;cursor:pointer}.filter-group select:focus{outline:none;border-color:var(--color-id3-green)}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin:2rem 0}.image-card{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all .4s var(--ease-out)}.image-card:hover{border-color:var(--color-glass-border-hover);box-shadow:var(--shadow-glow);transform:translateY(-3px)}.image-card .image-container{height:200px;display:flex;align-items:center;justify-content:center;padding:1rem;background:#ffffffeb}.image-card .image-container img{max-width:100%;max-height:100%;object-fit:contain}.image-card .image-info{padding:1rem 1.25rem 1.25rem}.image-card .image-info h3{font-size:1rem;margin:0 0 .6rem}.image-meta{display:flex;flex-wrap:wrap;gap:.4rem}.meta-tag{font-family:var(--font-heading);font-size:.72rem;font-weight:500;letter-spacing:.03em;color:var(--color-id3-green);background:#00d0841a;border:1px solid rgba(0,208,132,.22);border-radius:var(--radius-pill);padding:.2rem .6rem}.loading,.no-results{grid-column:1 / -1;text-align:center;padding:3rem 0;color:var(--color-text-secondary)}.lightbox{display:none;position:fixed;inset:0;z-index:2000;background:#05080beb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .3s ease-in-out}.lightbox.active{display:flex;opacity:1}.lightbox img{max-width:90%;max-height:90%;object-fit:contain;background:#fff;border-radius:var(--radius-sm);padding:1rem;transform:scale(.85);opacity:0;transition:all .3s ease-in-out .05s}.lightbox.active img{transform:scale(1);opacity:1}.lightbox-close{position:absolute;top:1.5rem;right:2rem;color:var(--color-text);font-size:2.5rem;line-height:1;cursor:pointer;font-family:var(--font-heading)}.lightbox-close:hover{color:var(--color-id3-green)}.tool-card{display:flex;gap:1.5rem;align-items:flex-start;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius);padding:1.75rem;margin-bottom:1.5rem;transition:all .4s var(--ease-out)}.tool-card:hover{border-color:var(--color-glass-border-hover);box-shadow:var(--shadow-glow)}.tool-card .icon-chip{margin-bottom:0;flex-shrink:0}.tool-card-content{flex:1}.tool-card-content h3{margin:0 0 .6rem}.tool-prerequisites{background:#00d0840d;border-left:3px solid var(--color-id3-green);padding:.85rem 1.1rem;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:1rem 0 1.25rem}.tool-prerequisites h4{margin:0 0 .5rem;font-size:.95rem}.tool-prerequisites ul{margin:0;padding-left:1.2rem}.tool-prerequisites li{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.3rem}@media(max-width:560px){.tool-card{flex-direction:column}}.empty-state{text-align:center;padding:4rem 2rem;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);margin-top:2rem}.empty-state .icon-chip{margin:0 auto 1.5rem;width:56px;height:56px}.empty-state h2{margin:0 0 1rem}.empty-state p{max-width:50ch;margin:0 auto .75rem}.search-results-list{list-style:none;padding:0;margin:1.5rem 0 0}.search-results-list li{padding:1.25rem 0;border-bottom:1px solid var(--color-glass-border)}.search-results-list li:last-child{border-bottom:none}.search-results-list h3{margin:0 0 .35rem;font-size:1.15rem}.search-results-list h3 a{color:var(--color-id3-green)}.search-results-list .result-url{font-family:var(--font-mono);font-size:.82rem;color:var(--color-text-muted);margin:0}.no-results-message{padding:2rem 0;color:var(--color-text-secondary)}.info-split{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}@media(max-width:768px){.info-split{grid-template-columns:1fr}}.cta-band{position:relative;z-index:1;text-align:center;background:var(--color-bg-card);border:1px solid var(--color-glass-border);border-radius:var(--radius-lg);padding:3.5rem 2rem;margin:1rem 0}.cta-band h2{margin:0 0 1rem}.cta-band p{max-width:60ch;margin:0 auto 2rem}.cta-band .hero-actions{justify-content:center}.site-footer{position:relative;z-index:1;flex-shrink:0;border-top:1px solid var(--color-glass-border);background:#0a0f1499;padding:2.5rem 0;margin-top:auto}.footer-inner{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center}.footer-inner img{height:26px;opacity:.85}.footer-links{display:flex;flex-wrap:wrap;gap:1.25rem}.footer-links a{color:var(--color-text-secondary);font-size:.9rem}.footer-links a:hover{color:var(--color-id3-green)}.footer-legal{width:100%;color:var(--color-text-muted);font-size:.8rem;margin-top:1rem}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1500;width:46px;height:46px;border-radius:50%;border:1px solid var(--color-glass-border-hover);background:var(--color-glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:var(--color-id3-green);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--t-base) var(--ease-out)}.back-to-top svg{width:20px;height:20px}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{box-shadow:var(--shadow-glow);transform:translateY(-2px)}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.animate-on-scroll.animate{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.animate-on-scroll{opacity:1;transform:none;transition:none}}
