:root{--ink: #1a1a1a;--ink-soft: #4a4a4a;--muted: #7a7a7a;--line: #e6e6e6;--paper: #f2f3f5;--surface: #ffffff;--accent: #1d2129;--danger: #c45c4a;--ok: #3d6b58;--radius: 10px;--max: 1120px;--gutter: 24px;--font: "DIN Alternate", "PingFang SC", "Noto Sans SC", "Source Han Sans SC", sans-serif;--display: "DIN Alternate", "PingFang SC", "Noto Sans SC", sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:var(--paper);line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}#app{min-height:100vh}.container{width:100%;max-width:var(--max);margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.shell{min-height:100vh;display:flex;flex-direction:column}.shell-main{flex:1;width:100%;max-width:var(--max);margin:0 auto;padding:28px var(--gutter) 96px}.shell-main.bleed{max-width:none;padding:0 0 96px}.shell-main.bleed .container{padding-top:0}.site-header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f2f3f5eb;border-bottom:1px solid rgba(0,0,0,.06)}.site-header-inner{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-family:var(--display);font-size:22px;letter-spacing:.08em;font-weight:600}.nav{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.nav a{color:var(--ink-soft);font-size:14px}.nav a.router-link-active,.nav a:hover{color:var(--ink)}.hero{position:relative;min-height:min(78vh,640px);background:linear-gradient(120deg,#121212b8,#12121247),radial-gradient(circle at 20% 20%,#5a5a5a,#111 60%);color:#fff;display:grid;align-items:end}.hero-inner{width:100%;max-width:var(--max);margin:0 auto;padding:72px var(--gutter) 56px}.hero .brand-mark{font-family:var(--display);font-size:clamp(40px,8vw,72px);letter-spacing:.12em;margin:0 0 12px}.hero p{margin:0 0 28px;max-width:28em;color:#ffffffd1;font-size:16px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.section{margin-top:48px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px}.section-head h2{margin:0;font-family:var(--display);font-size:28px;font-weight:600;letter-spacing:.04em}.section-head p{margin:6px 0 0;color:var(--muted);font-size:14px}.section-head a{color:var(--ink-soft);font-size:14px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case-card{display:block;background:var(--surface);overflow:hidden;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease}.case-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #00000014}.case-cover{aspect-ratio:4 / 3;background:#d8d5cf;object-fit:cover;width:100%}.case-cover.placeholder{display:grid;place-items:center;color:#8a8680;font-size:13px}.case-body{padding:14px 16px 18px}.case-body h3{margin:0 0 8px;font-size:17px;font-weight:600}.meta{display:flex;flex-wrap:wrap;gap:8px 12px;color:var(--muted);font-size:13px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:999px;padding:10px 18px;background:var(--accent);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:background .2s ease,color .2s ease,border-color .2s ease}.btn:hover{background:#333}.btn.ghost{background:transparent;color:#fff;border-color:#ffffff8c}.btn.ghost:hover{background:#ffffff14}.btn.light{background:#fff;color:var(--ink);border-color:var(--line)}.btn.light:hover{border-color:#bbb}.btn.block{width:100%;border-radius:8px}.btn:disabled{opacity:.5;cursor:not-allowed}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.page-title{margin:0 0 8px;font-family:var(--display);font-size:32px;letter-spacing:.04em}.page-desc{margin:0 0 24px;color:var(--muted)}.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px}.filters select,.filters input,.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{border:1px solid var(--line);background-color:#fff;color:var(--ink);min-height:42px;padding:10px 14px;min-width:140px;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.filters select,.filters input{border-radius:999px}.form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{border-radius:8px}.filters select,.form select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer}.filters input{min-width:180px;flex:1 1 180px}.filters select:hover,.filters input:hover,.form select:hover,.form input:not([type=checkbox]):not([type=radio]):hover,.form textarea:hover{border-color:#c9cdd4}.filters select:focus,.filters input:focus,.form select:focus,.form input:not([type=checkbox]):not([type=radio]):focus,.form textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1d212914}.form textarea{min-height:96px;resize:vertical}.filters .btn{min-height:42px;padding:0 18px}.form{display:grid;gap:14px;max-width:560px}.form label{display:grid;gap:6px;font-size:14px;color:var(--ink-soft)}.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checks{display:grid;gap:6px}.checks label{display:flex;align-items:center;gap:8px;min-height:auto;color:var(--ink);font-size:14px;line-height:1.4;cursor:pointer}.checks input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;min-height:16px;margin:0;padding:0;border:1px solid #c9cdd4;border-radius:4px;background:#fff;display:inline-grid;place-content:center;flex-shrink:0;cursor:pointer;transition:background .15s ease,border-color .15s ease}.checks input[type=checkbox]:before{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px);opacity:0}.checks input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checks input[type=checkbox]:checked:before{opacity:1}.checks input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 3px #1d21291f}.list{display:grid;gap:12px}a.list-item,.list a.list-item{cursor:pointer}.list-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}a.list-item:hover{border-color:#c9cdd4}.list-item strong{display:block;margin-bottom:4px}.list-item span{color:var(--muted);font-size:13px}.quote-total{font-family:var(--display);font-size:36px;margin:8px 0 4px}.muted{color:var(--muted)}.warn{background:#f4ebe7;color:#7a3d32;padding:10px 12px;border-radius:8px;font-size:14px}.table{width:100%;border-collapse:collapse;font-size:14px}.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.table th{color:var(--muted);font-weight:500}.contact-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:#fffffff5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact-bar-inner{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-bar .actions{display:flex;gap:8px;flex-wrap:wrap}.site-footer{border-top:1px solid var(--line);padding:28px 0 88px;color:var(--muted);font-size:13px}.site-footer-inner{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.review-grid,.brand-grid,.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.soft-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.toast{position:fixed;left:50%;bottom:88px;transform:translate(-50%);background:#1a1a1a;color:#fff;padding:10px 16px;border-radius:999px;font-size:14px;z-index:50}@media(max-width:900px){.case-grid,.review-grid,.brand-grid,.team-grid{grid-template-columns:1fr 1fr}.nav{display:none}}@media(max-width:640px){:root{--gutter: 16px}.case-grid,.review-grid,.brand-grid,.team-grid,.form .row{grid-template-columns:1fr}.hero-inner{padding:56px var(--gutter) 40px}.contact-bar-inner{height:auto;padding:10px var(--gutter);flex-direction:column;align-items:stretch}}
