:root{--brand: #4880df;--brand-strong: #3668c4;--brand-ink: #1e3a68;--brand-soft: #eff6ff;--brand-softer: #f5f9ff;--brand-ring: rgba(72, 128, 223, .35);--success: #288c3c;--success-soft: #f0fdf4;--success-border: #bbf7d0;--danger: #c0392b;--danger-soft: #fdecea;--danger-border: #f5c6c0;--al-dot-blue: #4285f4;--al-dot-red: #ea4335;--al-dot-yellow: #fbbc04;--al-dot-green: #34a853;--al-ink: #0f172a;--al-slate-800: #1e293b;--al-slate-700: #334155;--al-slate-600: #475569;--al-slate-500: #64748b;--al-slate-400: #94a3b8;--al-slate-300: #cbd5e1;--al-slate-200: #e2e8f0;--al-slate-100: #f1f5f9;--al-slate-50: #f8fafc;--al-off-white: #fafafa;--al-white: #ffffff;--surface-page: var(--al-white);--surface-alt: var(--al-slate-50);--surface-card: var(--al-white);--surface-raised: var(--al-white);--surface-sunken: var(--al-off-white);--surface-dark: var(--al-ink);--text-primary: var(--al-ink);--text-secondary: var(--al-slate-600);--text-muted: var(--al-slate-500);--text-faint: var(--al-slate-400);--text-brand: var(--brand-ink);--text-on-dark: var(--al-white);--text-on-dark-muted: var(--al-slate-400);--border-hairline: var(--al-slate-100);--border-default: var(--al-slate-200);--border-strong: var(--al-slate-300);--action-primary: var(--brand);--action-primary-hover: var(--brand-strong);--link: var(--brand);--link-hover: var(--brand-strong);--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fw-regular: 400;--fw-medium: 500;--fw-bold: 700;--fs-display: 52px;--fs-h1: 44px;--fs-h2: 32px;--fs-h3: 22px;--fs-stat: 40px;--fs-lead: 19px;--fs-body: 17px;--fs-body-sm: 15px;--fs-sm: 14px;--fs-xs: 13px;--fs-2xs: 12px;--fs-overline: 13px;--lh-tight: 1.15;--lh-snug: 1.45;--lh-body: 1.6;--ls-display: -.6px;--ls-h1: -.5px;--ls-h2: -.3px;--ls-h3: -.2px;--ls-overline: .8px;--ls-overline-wide: 1.4px;--measure: 68ch;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px;--space-8: 96px;--container: 1140px;--container-xs: 640px;--container-sm: 780px;--container-md: 900px;--gutter: 24px;--section-y: 96px;--section-y-mobile: 56px;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 16px;--radius-3xl: 20px;--radius-4xl: 20px;--radius-pill: 999px;--radius-full: 50%;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-card-hover: 0 4px 16px rgba(15, 23, 42, .06);--shadow-card-lift: 0 10px 30px rgba(15, 23, 42, .08);--shadow-float: 0 8px 24px rgba(15, 23, 42, .1);--shadow-portrait: 0 20px 50px rgba(15, 23, 42, .12);--shadow-detail: 0 4px 20px rgba(15, 23, 42, .05);--shadow-btn: 0 2px 8px rgba(72, 128, 223, .2);--shadow-btn-hover: 0 4px 14px rgba(72, 128, 223, .28);--shadow-toggle: 0 1px 2px rgba(15, 23, 42, .1);--focus-ring: 0 0 0 3px var(--brand-ring);--hero-gradient: linear-gradient(180deg, var(--brand-softer) 0%, #ffffff 70%);--nav-bg: rgba(255, 255, 255, .92);--scrim-blur: blur(8px);--tap-min: 44px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur: .2s;--dur-slow: .3s}body{font-family:var(--font-sans);color:var(--text-primary);-webkit-font-smoothing:antialiased}a{color:var(--link);text-decoration:none}.al-wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}.al-wrap--md{max-width:var(--container-md)}.al-wrap--sm{max-width:var(--container-sm)}.al-wrap--xs{max-width:var(--container-xs)}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.al-navlink{position:relative;padding:8px 14px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-secondary);transition:color var(--dur) var(--ease);background:none;border:none;cursor:pointer}.al-navlink:hover,.al-navlink[data-active]{color:var(--text-primary)}.al-navlink[data-active]:after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;background:var(--brand)}.al-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-3xl);transition:all var(--dur) var(--ease)}.al-card--hover{cursor:pointer}.al-card--hover:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.al-icontile{display:inline-flex;width:44px;height:44px;border-radius:var(--radius-lg);background:var(--brand-soft);color:var(--brand);align-items:center;justify-content:center}.area-illus{width:112px;height:112px;flex-shrink:0;object-fit:cover;border-radius:16px;background:var(--surface-alt);border:1px solid var(--border-hairline)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}.al-statrow{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--border-hairline);border-radius:var(--radius-2xl);background:#fff;overflow:hidden}.al-statcell{padding:26px 28px}.al-statcell+.al-statcell{border-left:1px solid var(--border-hairline)}.al-statnum{font-size:var(--fs-stat);font-weight:var(--fw-bold);line-height:1.1;letter-spacing:var(--ls-h2);color:var(--text-primary)}.al-pegrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.al-flow{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:4px}.al-flow-step{flex:1;min-width:120px;background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:18px 16px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.al-flow-arrow{display:flex;align-items:center;color:var(--al-slate-300);padding:0 6px;flex-shrink:0}.case-tabs{display:flex;gap:8px;flex-wrap:wrap}.cases-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.ccard{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-3xl);overflow:hidden;display:flex;flex-direction:column;transition:all var(--dur) var(--ease);cursor:pointer}.ccard:hover{border-color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.cthumb{aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--border-hairline);background:var(--al-slate-100)}.cthumb img{width:100%;height:100%;object-fit:cover;display:block}.ccard--wide{grid-column:1 / -1}.c5grid{display:grid;grid-template-columns:1fr 1.4fr;min-height:220px}.c5thumb{position:relative;min-height:100%;background:var(--al-slate-100)}.c5thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}@media(max-width:860px){.cases-grid,.c5grid{grid-template-columns:1fr}.c5thumb{aspect-ratio:16/9;min-height:0}}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.detail-grid,.about-grid{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}.contact-grid{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}.al-label{display:block;font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-primary);margin-bottom:8px}.al-input{width:100%;font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-primary);background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-md);padding:12px 14px;min-height:var(--tap-min);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.al-input::placeholder{color:var(--text-faint)}.al-input:focus{border-color:var(--brand);box-shadow:var(--focus-ring)}.al-input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-soft)}textarea.al-input{resize:vertical;min-height:120px}select.al-input{cursor:pointer}.al-err{display:block;margin-top:6px;font-size:var(--fs-xs);color:var(--danger)}@media(max-width:860px){.grid-3{grid-template-columns:1fr}.detail-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:32px}}@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:40px}.grid-2{grid-template-columns:1fr}.grid-4{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr;gap:32px}.al-statrow{grid-template-columns:1fr}.al-statcell+.al-statcell{border-left:none;border-top:1px solid var(--border-hairline)}.al-pegrid{grid-template-columns:1fr}}@media(max-width:600px){.grid-4{grid-template-columns:1fr}}
