.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:12px 24px;border:1px solid var(--border);border-radius:var(--r-full);background:transparent;font-size:var(--fs-sm);font-weight:500;transition:background var(--t-base),transform var(--t-base),border-color var(--t-base);white-space:normal}
.button:hover{transform:translateY(-3px);border-color:var(--text-muted)}.button--primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.button--primary:hover{background:#ff8552;border-color:#ff8552}.button--ghost{border-color:transparent;padding-inline:0}.button--icon{padding:12px;aspect-ratio:1;min-width:48px}.button--small{min-height:40px;padding:8px 15px;font-size:var(--fs-xs)}
.link-arrow{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--border);padding-block:14px;font-size:var(--fs-sm)}.link-arrow .icon{transition:transform var(--t-base)}.link-arrow:hover .icon{transform:translate(3px,-3px)}
.header{position:sticky;top:0;z-index:30;border-bottom:1px solid transparent;background:var(--bg)}.header.scrolled{background:#0a0a0be8;backdrop-filter:blur(18px);border-color:var(--border)}.header__inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:18px}.brand img{width:152px;height:27px;object-fit:contain}.brand span{font-size:9px;line-height:1.3;letter-spacing:.22em;border-left:1px solid var(--border);padding-left:16px}.desktop-nav{display:none;gap:30px;font-size:var(--fs-sm)}.desktop-nav a{transition:color var(--t-fast)}.desktop-nav a:hover{color:var(--accent)}.header__actions{display:flex;align-items:center;gap:12px}.header__cta,.search-button{display:none}.menu-button{background:none;border:1px solid var(--border);border-radius:50%;width:46px;height:46px;display:grid;place-content:center;gap:6px}.menu-button span{width:18px;height:1px;background:var(--text)}
.mobile-menu{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:24px;background:var(--bg)}.mobile-menu nav{display:grid;gap:22px;margin:60px 0}.mobile-menu nav a{font:500 clamp(2.3rem,8vw,5rem)/1.2 var(--font-display)}.mobile-menu nav a:hover{color:var(--accent)}
.section-divider{border-top:1px solid var(--border);padding-top:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:50px}.section-divider span:first-child{display:flex;gap:24px}.section-divider b{font-weight:400;color:var(--accent)}.section-divider .right-note{display:none;color:var(--text-muted)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;flex-wrap:wrap;margin-bottom:44px}.section-heading p{max-width:340px;color:var(--text-muted);font-size:var(--fs-sm)}
.badge{display:inline-flex;align-items:center;border:1px solid var(--border);padding:4px 10px;border-radius:var(--r-full);font-size:var(--fs-xs);line-height:1.6}.badge--accent{border-color:var(--accent);color:var(--accent)}
.filter-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.filter-bar button{min-height:42px;padding:8px 18px;background:none;border:1px solid var(--border);border-radius:var(--r-full);color:var(--text-muted);font-size:var(--fs-sm)}.filter-bar button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.filter-bar button:hover{border-color:var(--text)}
.project-card{min-width:0}.project-card__button{padding:0;background:none;display:block;text-align:left;width:100%}.project-card__visual{position:relative;overflow:hidden;background:var(--surface);aspect-ratio:4/3}.project-card__visual img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}.project-card:hover img{transform:scale(1.035)}.project-card__arrow{position:absolute;top:18px;right:18px;background:var(--bg);border-radius:50%;width:45px;height:45px;display:grid;place-items:center;transition:background var(--t-base),color var(--t-base)}.project-card:hover .project-card__arrow{background:var(--accent);color:var(--accent-fg)}.project-card__tags{position:absolute;bottom:18px;left:18px;display:flex;gap:6px;opacity:0;transform:translateY(6px);transition:var(--t-base)}.project-card__tags .badge{background:var(--bg);border-color:var(--bg)}.project-card:hover .project-card__tags,.project-card:focus-within .project-card__tags{opacity:1;transform:none}.project-card__meta{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:18px}.project-card__meta h3{font-size:var(--fs-lg);letter-spacing:-.04em}.project-card__meta span{color:var(--text-muted);font-size:var(--fs-xs)}.project-card__description{font-size:var(--fs-sm);color:var(--text-muted);margin-top:6px}
.field{display:grid;gap:8px;min-width:0}.field label,.field>span{font-size:var(--fs-sm)}input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{width:100%;min-height:52px;background:var(--surface);border:1px solid #56565e;color:var(--text);padding:14px 16px;border-radius:var(--r-sm);outline-offset:3px}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{min-height:145px;resize:vertical}select{cursor:pointer}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}.field [aria-invalid=true]{border-color:var(--danger)!important}.field-error{font-size:var(--fs-xs);color:var(--danger);min-height:1.4em}.field-footer{display:flex;justify-content:space-between;gap:12px;font-size:var(--fs-xs);color:var(--text-muted)}.check-label{display:flex;align-items:flex-start;gap:12px;font-size:var(--fs-xs);color:var(--text-muted)}.check-label input{margin-top:5px;width:17px;height:17px;flex:none}
.alert{padding:18px 20px;background:var(--surface);border-left:3px solid var(--info);font-size:var(--fs-sm)}.alert--success{border-color:var(--success)}.alert--error{border-color:var(--danger)}
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:16px 22px;box-shadow:var(--shadow-card);border:1px solid var(--success);background:var(--surface-2);z-index:90;font-size:var(--fs-sm);border-radius:var(--r-md)}
dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);padding:24px;width:min(920px,calc(100% - 24px));max-height:90dvh;overflow:auto;overscroll-behavior:contain}dialog::backdrop{background:#000b;backdrop-filter:blur(6px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.dialog-heading h2{font-size:var(--fs-xl)}.dialog-close{background:var(--surface);position:sticky;top:0}.dialog-body{display:grid;gap:24px}.dialog-body h3{font-size:var(--fs-lg)}.dialog-body p{color:var(--text-muted)}.case-dialog{padding:clamp(20px,4vw,48px)}.lightbox{background:var(--bg);width:min(1250px,calc(100% - 24px))}.lightbox img{width:100%;max-height:72dvh;object-fit:contain}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.tabs{display:flex;gap:20px;border-bottom:1px solid var(--border)}.tabs button{padding:12px 0;background:none;color:var(--text-muted);border-bottom:2px solid transparent}.tabs button[aria-selected=true]{color:var(--text);border-color:var(--accent)}.identity-block{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.swatch{padding:24px 14px;border:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-xs)}.campaign-gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.campaign-gallery button{padding:0;background:var(--bg)}.campaign-gallery button:first-child{grid-column:1/-1}.campaign-gallery img{width:100%}.case-meta{display:flex;gap:10px;flex-wrap:wrap}
.command-dialog{width:min(650px,calc(100% - 24px));margin-top:12vh}.command-results{display:grid;max-height:50vh;overflow:auto;margin-top:16px}.command-results button{background:none;padding:16px;text-align:left;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;gap:16px}.command-results button:hover,.command-results button:focus-visible{background:var(--surface-2)}.command-results small{color:var(--text-muted)}
.cookie-banner{position:fixed;left:20px;bottom:20px;width:min(390px,calc(100% - 40px));background:var(--surface);border:1px solid #56565e;padding:22px;z-index:40;box-shadow:var(--shadow-card)}.cookie-banner p{font-size:var(--fs-xs);color:var(--text-muted);margin-block:8px 18px}.cookie-banner h2{font-size:var(--fs-md);letter-spacing:0}.cookie-banner .flex{gap:8px}
.empty-state{padding:48px 24px;text-align:center;background:var(--surface);grid-column:1/-1}.empty-state p{color:var(--text-muted);margin-top:10px}.skeleton{height:150px;animation:pulse 1.5s infinite;background:linear-gradient(90deg,var(--surface),var(--surface-2),var(--surface));background-size:200%}@keyframes pulse{to{background-position:200%}}
.tooltip{position:relative}.tooltip::after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:5px 9px;background:var(--text);color:var(--bg);font-size:12px;white-space:nowrap;opacity:0;pointer-events:none}.tooltip:hover::after,.tooltip:focus-visible::after{opacity:1}.dropdown{position:relative}.dropdown summary{cursor:pointer}.dropdown ul{padding:16px;background:var(--surface);border:1px solid var(--border)}.pagination{display:flex;align-items:center;gap:8px}.breadcrumbs{display:flex;gap:12px;color:var(--text-muted);font-size:var(--fs-xs)}.switch{appearance:none;width:42px;height:24px;border-radius:99px;background:#555;position:relative;cursor:pointer}.switch::before{content:'';width:18px;height:18px;border-radius:50%;background:white;position:absolute;top:3px;left:3px;transition:transform var(--t-base)}.switch:checked{background:var(--accent)}.switch:checked::before{transform:translateX(18px)}.avatar{width:44px;height:44px;object-fit:cover;border-radius:50%;background:var(--surface-2)}.avatar-group{display:flex}.avatar-group .avatar+.avatar{margin-left:-10px;border:2px solid var(--bg)}
@media(min-width:640px){.header__cta{display:inline-flex}.section-divider .right-note{display:block}.search-button{display:inline-flex}}
@media(min-width:1024px){.desktop-nav{display:flex}.menu-button{display:none}.header__inner{min-height:100px}}
.drawer{margin:0 0 0 auto;width:min(520px,100%);height:100dvh;max-height:100dvh;border-right:0;padding:32px}.drawer .dialog-heading{margin-bottom:40px}fieldset{border:1px solid #56565e;border-radius:var(--r-sm);padding:16px}input:disabled{opacity:.5;cursor:not-allowed}
