@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");:root{--primary:#1a1a1a;--primary-light:#4a4a4a;--primary-dark:#000;--accent:#0891b2;--accent-light:#06b6d4;--accent-dark:#0e7490;--accent-subtle:#ecfeff;--background:#fff;--surface:#f9fafb;--surface-elevated:#fff;--border:#e5e7eb;--text-primary:#111827;--text-secondary:#6b7280;--text-tertiary:#9ca3af;--text-on-primary:#fff;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--radius-card:18px;--radius-button:12px;--radius-small:8px;--space-xs:8px;--space-sm:16px;--space-md:24px;--space-lg:32px;--space-xl:48px;--space-2xl:64px;--space-3xl:96px;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-subtle:cubic-bezier(0.2,0.8,0.2,1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,ui-sans-serif,-apple-system,system-ui,Hiragino Sans,Noto Sans JP,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--background);line-height:1.6;font-size:clamp(15px,1.6vw,16px);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}body,h1,h2,h3,h4,h5,h6{color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;letter-spacing:-.01em;line-height:1.15}h1{font-size:clamp(32px,6vw,56px);font-weight:700;letter-spacing:-.02em}h2{font-size:clamp(24px,4vw,36px);letter-spacing:-.01em}h3{font-size:clamp(20px,3vw,28px)}p{line-height:1.7;color:var(--text-secondary)}a{color:var(--primary);text-decoration:none;position:relative;transition:color .18s var(--ease-out)}a:hover{color:var(--primary-dark)}a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;opacity:.4;transition:width .18s var(--ease-out)}a:hover:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;font-size:17px;font-weight:600;border-radius:var(--radius-button);border:none;cursor:pointer;transition:all .3s var(--ease-out);text-decoration:none;position:relative;overflow:hidden}.btn-primary{background:var(--accent);color:var(--text-on-primary);box-shadow:0 4px 6px -1px rgba(8,145,178,.3),0 2px 4px -1px rgba(8,145,178,.2)}.btn-primary:hover{background:var(--accent-light);box-shadow:0 20px 25px -5px rgba(8,145,178,.4),0 10px 10px -5px rgba(8,145,178,.3);transform:translateY(-3px) scale(1.02)}.btn-primary:active{transform:translateY(-1px) scale(.98);background:var(--accent-dark)}.btn-secondary{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--surface-elevated);border-color:var(--primary)}.card{background:var(--background);border-radius:16px;padding:var(--space-lg);box-shadow:0 1px 2px 0 rgba(0,0,0,.05);border:1px solid var(--border);transition:all .3s var(--ease-out)}.card:hover{transform:translateY(-8px)!important;box-shadow:0 20px 25px -5px rgba(8,145,178,.15),0 10px 10px -5px rgba(8,145,178,.1)!important;border-color:var(--accent)!important}.card img{transition:transform .4s var(--ease-out)}.card:hover img{transform:scale(1.05)}.card-title{font-size:20px;font-weight:600;margin-bottom:var(--space-xs);color:var(--text-primary);letter-spacing:-.01em}.card-description{font-size:15px;color:var(--text-secondary);line-height:1.6}.container{max-width:1200px}.container,.container-narrow{margin:0 auto;padding:0 var(--space-md)}.container-narrow{max-width:800px}.section{padding:var(--space-3xl) 0}.section-header{text-align:center;margin-bottom:var(--space-2xl)}.section-title{margin-bottom:var(--space-sm)}.section-description{font-size:clamp(16px,2vw,19px);color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.grid{display:grid;grid-gap:var(--space-lg);gap:var(--space-lg)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.text-center{text-align:center}.text-primary{color:var(--primary)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s var(--ease-out)}.reveal{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);animation:fadeIn .8s var(--ease-out) forwards}.reveal.active{opacity:1;transform:translateY(0)}@media (max-width:768px){.section{padding:var(--space-2xl) 0}.grid-2,.grid-3{grid-template-columns:1fr}.container,.container-narrow{padding:0 16px}.btn{padding:14px 24px;font-size:15px}.card{padding:20px}[style*='gridTemplateColumns: "repeat(auto-fill, minmax(300px, 1fr))"']{grid-template-columns:1fr!important}}@media (max-width:480px){body{font-size:14px}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}.container,.container-narrow{padding:0 12px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}