:root{--brand: #A259FF;--brand-dim: #7B40CC;--brand-2: #C794FF;--titanium: #1ABCFE;--titanium-dim: #0A99D6;--titanium-light: #66D5FF;--brand-gradient: linear-gradient(135deg, #A259FF 0%, #1ABCFE 50%, #0ACF83 100%);--surface: #0a0a0a;--surface-2: #0e0e12;--surface-3: #161620;--surface-card: rgba(255, 255, 255, .03);--border: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .18);--text: #e0e0e6;--heading: #ffffff;--muted: #8088a0;--radius: 12px;--shadow-sm: 0 2px 6px rgba(0,0,0,.3);--shadow-md: 0 4px 12px rgba(0,0,0,.4);--glow: 0 0 24px rgba(91, 127, 255, .12)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}:where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd){margin:0}img,picture{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}input,button,textarea,select{font:inherit}ul,ol{padding-left:0}body{min-height:100vh;display:flex;flex-direction:column;font-family:Inter,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.6;color:var(--text);background:var(--surface);-webkit-font-smoothing:antialiased}.ambient-wrap{position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden}.ambient-blob{position:absolute;border-radius:50%;filter:blur(100px);will-change:transform}.ambient-blob--1{width:600px;height:400px;top:10%;left:5%;background:#5b7fff12;animation:blob-drift-1 18s ease-in-out infinite alternate}.ambient-blob--2{width:500px;height:500px;bottom:5%;right:5%;background:#4e8ba012;animation:blob-drift-2 22s ease-in-out infinite alternate}.ambient-blob--3{width:400px;height:350px;top:50%;left:40%;background:#6babc20a;animation:blob-drift-3 26s ease-in-out infinite alternate}@keyframes blob-drift-1{0%{transform:translate(0) scale(1)}50%{transform:translate(15vw,20vh) scale(1.1)}to{transform:translate(30vw,5vh) scale(.95)}}@keyframes blob-drift-2{0%{transform:translate(0) scale(1)}50%{transform:translate(-20vw,-15vh) scale(1.15)}to{transform:translate(-10vw,-30vh) scale(.9)}}@keyframes blob-drift-3{0%{transform:translate(0) scale(1)}50%{transform:translate(10vw,-10vh) scale(1.05)}to{transform:translate(-15vw,15vh) scale(1.1)}}@media (prefers-reduced-motion: reduce){.ambient-blob{animation:none!important}}.site-main{flex:1}.container{width:min(1200px,100% - 2rem);margin-inline:auto}.mt-4{margin-top:2rem}.mb-4{margin-bottom:2rem}.text-center{text-align:center}.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;min-height:44px;min-width:44px;font-size:clamp(14px,1.6vw,16px);font-weight:600;cursor:pointer;color:#fff;background:var(--brand);border:none;border-radius:8px;box-shadow:var(--glow);transition:all .25s ease}.btn-primary:hover{box-shadow:0 0 36px #5b7fff4d;transform:translateY(-1px);filter:brightness(1.1)}.btn-primary:active{transform:translateY(0)}.btn-primary:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media (prefers-reduced-motion: reduce){.btn-primary{transition:none}}.nav,.menu{list-style:none;padding:0;margin:0}.prose{color:var(--text);font-size:1rem}.prose :where(h1,h2,h3,h4,h5,h6){color:var(--heading);line-height:1.3;margin-block:1.5em .8em}.prose h1{font-size:clamp(28px,4vw,35px)}.prose h2{font-size:clamp(24px,3.2vw,28px)}.prose h3{font-size:clamp(20px,2.6vw,22px)}.prose p{margin-block:1em}.prose :where(ul,ol){margin:0 0 1em 1.5em}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-block:.35em}.prose a{color:var(--brand);text-decoration:underline;text-underline-offset:.15em}.prose a:hover{opacity:.85}.prose strong{font-weight:700}.prose em{font-style:italic}.prose img{max-width:100%;height:auto;display:block;margin:1.5em auto;border-radius:8px;box-shadow:var(--shadow-sm)}a:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.light-section{--surface: #FFFFFF;--surface-2: #F9FAFB;--surface-card: #FFFFFF;--surface-3: #F3F4F6;--heading: #111827;--text: #374151;--muted: #6B7280;--border: #E5E7EB;--border-hover: #D1D5DB;--glow: 0 4px 24px rgba(162, 89, 255, .1);background:var(--surface);color:var(--text)}.hero-section{background-image:var(--hero-bg),linear-gradient(135deg,#0a0a0a,#111);background-position:center;background-size:cover;background-repeat:no-repeat;min-height:40vh;display:flex;align-items:center;justify-content:center;padding:clamp(40px,7vw,80px) 0;text-align:center;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:#0009;z-index:0}.hero-section .container{position:relative;z-index:1}.hero-section h1{font-size:clamp(26px,4vw,36px);margin:0;color:#fff}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;overflow:hidden;position:relative}.card:hover{border-color:var(--border-hover);box-shadow:var(--glow);transform:translateY(-2px)}.card-content{padding:16px 16px 40px;display:flex;flex-direction:column;gap:10px}.card-title{font-size:1.1rem;font-weight:700;margin:0;color:var(--heading)}.card-text{font-size:.95rem;line-height:1.6;margin:0;color:var(--muted)}.card-icon-container{position:absolute;bottom:15px;right:15px;font-size:1.2rem;color:var(--brand);transition:transform .3s ease}.card:hover .card-icon-container{transform:scale(1.1)}.solution-detail-container{padding:120px 20px 60px}.solution-title{font-size:2.2rem;font-weight:800;text-align:center;color:var(--heading);margin-bottom:2.5rem}.solution-thumbnail-wrapper{display:flex;justify-content:center;margin-bottom:2.5rem}.solution-thumbnail{width:70%;max-width:600px;height:auto;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.solution-body section{margin-bottom:3rem;padding:1.5rem;border-left:4px solid var(--brand);background:var(--surface-card);border-radius:var(--radius)}.solution-body h2{font-size:1.6rem;font-weight:700;margin:0 0 1rem;color:var(--heading)}.solution-body p{font-size:1rem;line-height:1.8;color:var(--text);margin:0}@media (max-width: 768px){.solution-title{font-size:1.8rem}.solution-thumbnail{width:100%;max-width:100%}.solution-body h2{font-size:1.3rem}.solution-body section{padding:1rem}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1)}.reveal-stagger.is-visible>*:nth-child(1){transition-delay:0s}.reveal-stagger.is-visible>*:nth-child(2){transition-delay:.08s}.reveal-stagger.is-visible>*:nth-child(3){transition-delay:.16s}.reveal-stagger.is-visible>*:nth-child(4){transition-delay:.24s}.reveal-stagger.is-visible>*:nth-child(5){transition-delay:.32s}.reveal-stagger.is-visible>*:nth-child(6){transition-delay:.4s}.reveal-stagger.is-visible>*:nth-child(7){transition-delay:.48s}.reveal-stagger.is-visible>*:nth-child(8){transition-delay:.56s}.reveal-stagger.is-visible>*:nth-child(9){transition-delay:.64s}.reveal-stagger.is-visible>*{opacity:0;transform:translateY(20px)}.reveal-stagger.is-visible>*{opacity:1;transform:translateY(0)}@keyframes gradient-rotate{0%{--angle: 0deg}to{--angle: 360deg}}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.gradient-border{position:relative}.gradient-border:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--angle),transparent 40%,var(--brand) 50%,transparent 60%);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask-composite:xor;animation:gradient-rotate 4s linear infinite;opacity:0;transition:opacity .4s ease}.gradient-border:hover:before{opacity:1}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes glow-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}.reveal-stagger>*{opacity:1;transform:none;transition:none}.gradient-border:before{animation:none}}
