:root{--color-bg:#fafafa;--color-bg-alt:#fff;--color-text:#1a1a2e;--color-text-light:#4a4a65;--color-text-muted:#7e7e9a;--color-border:#e8e8f0;--color-accent:#4f46e5;--color-accent-hover:#4338ca;--color-parksense:#0d7377;--color-parksense-light:#e6f5f5;--color-vibecheq:#c026d3;--color-vibecheq-light:#fae8ff;--color-vivaritsu:#6366f1;--color-vivaritsu-light:#eef2ff;--font-main:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--nav-height:64px;--max-width:1280px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 16px #0000000f;--shadow-lg:0 8px 32px #00000014;--shadow-xl:0 16px 48px #0000001a;--transition:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-main);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.6}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-main);color:var(--color-text);letter-spacing:-.025em;font-weight:700;line-height:1.15}p{color:var(--color-text-light);line-height:1.65}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}.section{padding:clamp(2.5rem,5vw,4rem) 0}.section--alt{background:var(--color-bg-alt)}.btn{border-radius:var(--radius-full);transition:all var(--transition);white-space:nowrap;text-align:center;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.375rem;font-size:.875rem;font-weight:600;line-height:1.5;display:inline-flex}.btn--primary{background:var(--color-text);color:#fff;box-shadow:0 1px 2px #1a1a2e26}.btn--primary:hover{background:#2d2d48;transform:translateY(-1px);box-shadow:0 4px 12px #1a1a2e33}.btn--secondary{color:var(--color-text);border:1.5px solid var(--color-border);background:0 0}.btn--secondary:hover{border-color:var(--color-text);background:var(--color-text);color:#fff}.btn--lg{padding:.8125rem 1.75rem;font-size:.9375rem}.btn-group{flex-wrap:wrap;gap:.75rem;display:flex}@media (width<=480px){.btn--lg{justify-content:center;width:100%}.btn-group{flex-direction:column}.hero__actions{flex-direction:column;align-items:stretch}}.nav{z-index:1000;height:var(--nav-height);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--color-border);background:#fafafae0;position:fixed;top:0;left:0;right:0}.nav__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.nav__brand{letter-spacing:-.035em;font-size:1.25rem;font-weight:800}.nav__brand span{color:var(--color-accent)}.nav__links{align-items:center;gap:2rem;display:flex}.nav__link{color:var(--color-text-muted);letter-spacing:.01em;font-size:.8125rem;font-weight:500;transition:color .15s;position:relative}.nav__link:hover,.nav__link--active{color:var(--color-text)}.nav__link--active:after{content:"";background:var(--color-accent);border-radius:1px;height:2px;position:absolute;bottom:-4px;left:0;right:0}.nav__toggle{cursor:pointer;flex-direction:column;gap:5px;padding:.5rem;display:none}.nav__toggle span{background:var(--color-text);border-radius:1px;width:20px;height:1.5px;transition:all .2s;display:block}.nav__overlay{inset:0;top:var(--nav-height);z-index:998;background:#00000026;display:none;position:fixed}.nav__overlay.is-open{display:block}@media (width<=768px){.nav__toggle{display:flex}.nav__menu{top:var(--nav-height);background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:999;padding:1.25rem 1.5rem;display:none;position:absolute;left:0;right:0}.nav__menu.is-open{display:block}.nav__links{flex-direction:column;align-items:flex-start;gap:.25rem}.nav__link{width:100%;color:var(--color-text-light);padding:.625rem 0;font-size:.9375rem}.nav__link--active:after{bottom:2px}}.footer{background:var(--color-text);color:#fff;padding:3.5rem 0 1.75rem}.footer__grid{grid-template-columns:2fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;display:grid}.footer__brand{letter-spacing:-.03em;margin-bottom:.5rem;font-size:1.125rem;font-weight:800}.footer__tagline{color:#ffffff73;font-size:.8125rem;line-height:1.5}.footer__heading{text-transform:uppercase;letter-spacing:.1em;color:#ffffff59;margin-bottom:.875rem;font-size:.6875rem;font-weight:700}.footer__link{color:#fff9;padding:.2rem 0;font-size:.8125rem;transition:color .15s;display:block}.footer__link:hover{color:#fff}.footer__bottom{color:#ffffff4d;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-top:1.75rem;font-size:.75rem;display:flex}@media (width<=768px){.footer{padding:2.5rem 0 1.5rem}.footer__grid{grid-template-columns:1fr;gap:2rem}.footer__bottom{text-align:center;flex-direction:column;gap:.75rem}}.hero{padding:calc(var(--nav-height) + clamp(2rem, 4vw, 3rem)) 0 clamp(1.5rem, 3vw, 2.5rem);text-align:center;position:relative}.hero--left{text-align:left}.hero:before{content:"";top:var(--nav-height);pointer-events:none;z-index:0;background:radial-gradient(#4f46e50f 0%,#0000 70%);width:min(600px,90vw);height:280px;position:absolute;left:50%;transform:translate(-50%)}.hero>.container{z-index:1;position:relative}.hero__title{letter-spacing:-.035em;max-width:800px;margin:0 auto 1rem;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.hero__title strong{font-weight:800}.hero--left .hero__title{margin-left:0}.hero__subtitle{max-width:620px;color:var(--color-text-light);margin:0 auto 1.5rem;font-size:clamp(.9375rem,1.5vw,1.0625rem);line-height:1.6}.hero--left .hero__subtitle{margin-left:0}.hero__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.hero--left .hero__actions{justify-content:flex-start}.hero__note{color:var(--color-text-muted);max-width:560px;margin-top:1.25rem;margin-left:auto;margin-right:auto;font-size:.8125rem;line-height:1.6}.cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition);padding:1.75rem;position:relative;overflow:hidden}.card:before{content:"";border-radius:var(--radius-lg) var(--radius-lg) 0 0;opacity:0;height:3px;transition:opacity var(--transition);position:absolute;top:0;left:0;right:0}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card:hover:before{opacity:1}.card--parksense:before{background:var(--color-parksense)}.card--vibecheq:before{background:var(--color-vibecheq)}.card--vivaritsu:before{background:var(--color-vivaritsu)}.card__icon{border-radius:var(--radius-md);justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;display:flex}.card__icon--parksense{background:var(--color-parksense-light);color:var(--color-parksense)}.card__icon--vibecheq{background:var(--color-vibecheq-light);color:var(--color-vibecheq)}.card__icon--vivaritsu{background:var(--color-vivaritsu-light);color:var(--color-vivaritsu)}.card__label{text-transform:uppercase;letter-spacing:.1em;margin-bottom:.375rem;font-size:.6875rem;font-weight:700}.card__label--parksense{color:var(--color-parksense)}.card__label--vibecheq{color:var(--color-vibecheq)}.card__label--vivaritsu{color:var(--color-vivaritsu)}.card__title{margin-bottom:.5rem;font-size:1.125rem}.card__text{color:var(--color-text-light);font-size:.8125rem;line-height:1.65}.section-header{text-align:center;max-width:640px;margin:0 auto 2rem}.section-header__title{margin-bottom:.625rem;font-size:clamp(1.5rem,3vw,2rem)}.section-header__text{color:var(--color-text-light);font-size:clamp(.875rem,1.3vw,1rem)}.content-block{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,4vw,3.5rem);display:grid}.content-block--single{grid-template-columns:minmax(0,760px);justify-content:center}.content-block--reverse .content-block__visual{order:-1}@media (width<=768px){.content-block{grid-template-columns:1fr;gap:1.5rem}.content-block--reverse .content-block__visual{order:0}}.content-block__text h2{letter-spacing:-.02em;margin-bottom:.75rem;font-size:clamp(1.375rem,2.5vw,1.75rem)}.content-block__text p{margin-bottom:1rem;font-size:clamp(.875rem,1.3vw,.9375rem)}.feature-list{flex-direction:column;gap:.625rem;display:flex}.feature-list__item{color:var(--color-text-light);align-items:flex-start;gap:.625rem;font-size:.8125rem;line-height:1.5;display:flex}.feature-list__icon{width:18px;height:18px;color:var(--color-accent);flex-shrink:0;margin-top:1px}.visual{border-radius:var(--radius-xl);aspect-ratio:4/3;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.visual--parksense{background:linear-gradient(145deg,#e6f5f5,#cceef0)}.visual--vibecheq{background:linear-gradient(145deg,#fae8ff,#fce4f3)}.visual--vivaritsu{background:linear-gradient(145deg,#eef2ff,#dde5ff)}.visual svg{opacity:.55;width:65%;height:65%}.product-section{border-bottom:1px solid var(--color-border);padding:clamp(2.5rem,4vw,3.5rem) 0}.product-section:last-of-type{border-bottom:none}.product-section__header{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.625rem;display:flex}.product-section__badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.06em;align-items:center;padding:.1875rem .625rem;font-size:.6875rem;font-weight:700;display:inline-flex}.product-section__badge--parksense{background:var(--color-parksense-light);color:var(--color-parksense)}.product-section__badge--vibecheq{background:var(--color-vibecheq-light);color:var(--color-vibecheq)}.product-section__badge--vivaritsu{background:var(--color-vivaritsu-light);color:var(--color-vivaritsu)}.product-section__title{font-size:1.625rem}.product-section__desc{max-width:580px;color:var(--color-text-light);margin-bottom:1.5rem;font-size:.9375rem;line-height:1.6}.product-section__features{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (width<=640px){.product-section__features{grid-template-columns:1fr}}.product-feature{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition);align-items:flex-start;gap:.625rem;padding:.875rem;display:flex}.product-feature:hover{border-color:var(--color-text-muted)}.product-feature__icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.product-feature__text{font-size:.8125rem;font-weight:500;line-height:1.4}.bullet-block{grid-template-columns:repeat(2,1fr);gap:1.25rem;display:grid}@media (width<=768px){.bullet-block{grid-template-columns:1fr}}.bullet-item{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition);padding:1.5rem}.bullet-item:hover{box-shadow:var(--shadow-md)}.bullet-item__title{margin-bottom:.375rem;font-size:.9375rem;font-weight:700}.bullet-item__text{color:var(--color-text-light);font-size:.8125rem;line-height:1.6}.use-cases{grid-template-columns:repeat(3,1fr);gap:.75rem;display:grid}@media (width<=768px){.use-cases{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.use-cases{grid-template-columns:1fr}}.use-case{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;transition:all var(--transition);padding:1rem 1.25rem;font-size:.8125rem;font-weight:500}.use-case:hover{box-shadow:var(--shadow-md);border-color:var(--color-accent)}.cta-banner{color:#fff;border-radius:var(--radius-xl);text-align:center;background:linear-gradient(135deg,#1a1a2e 0%,#2d2d52 100%);padding:clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,2.5rem)}.cta-banner h2{color:#fff;margin-bottom:.625rem;font-size:clamp(1.25rem,2.5vw,1.75rem)}.cta-banner p{color:#ffffffa6;max-width:500px;margin:0 auto 1.75rem;font-size:.9375rem}.cta-banner .btn--primary{color:var(--color-text);background:#fff;box-shadow:0 2px 8px #00000026}.cta-banner .btn--primary:hover{background:#ffffffeb}.cta-banner .btn--secondary{color:#ffffffe6;border-color:#ffffff40}.cta-banner .btn--secondary:hover{color:#fff;background:#ffffff14;border-color:#fff9}.contact-form{gap:1.125rem;display:grid}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-group label{color:var(--color-text);font-size:.8125rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-alt);padding:.625rem .875rem;font-size:.875rem;transition:border-color .15s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #4f46e514}.form-group textarea{resize:vertical;min-height:120px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.form-row{grid-template-columns:1fr 1fr;gap:1.125rem;display:grid}@media (width<=640px){.form-row{grid-template-columns:1fr}}.contact-info{flex-direction:column;gap:1.5rem;display:flex}.contact-info__item{align-items:flex-start;gap:.875rem;display:flex}.contact-info__icon{border-radius:var(--radius-md);background:var(--color-vivaritsu-light);width:40px;height:40px;color:var(--color-accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-info__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:.125rem;font-size:.6875rem;font-weight:600}.contact-info__value{font-size:.875rem;font-weight:500}.contact-info__value a{color:var(--color-accent);transition:color .15s}.contact-info__value a:hover{color:var(--color-accent-hover)}.two-col{grid-template-columns:3fr 2fr;align-items:start;gap:clamp(2rem,4vw,3.5rem);display:grid}@media (width<=768px){.two-col{grid-template-columns:1fr;gap:2rem}}.mission-block{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-xl);text-align:center;max-width:640px;margin:0 auto;padding:2.5rem 3rem}.mission-block h3{margin-bottom:.75rem;font-size:1.375rem}.mission-block p{color:var(--color-text-light);font-size:1.0625rem;font-style:italic}@media (width<=768px){.mission-block{padding:2rem 1.5rem}}.about-visual{border-radius:var(--radius-xl);background:#fff;justify-content:center;align-items:center;display:flex;overflow:hidden}.about-visual img{width:100%;height:auto;display:block}.hero--about{padding-bottom:clamp(2.5rem,5vw,4rem)}.hero__subtitle--about{max-width:720px;margin-top:clamp(1.5rem,3vw,2.25rem)}.about-visual--hero{border:1px solid #4f46e514;width:min(100%,860px);margin:clamp(1.5rem,3vw,2.25rem) auto 0;padding:clamp(1rem,2.25vw,1.5rem);box-shadow:0 20px 60px #1a1a2e14}.about-visual--hero img{object-fit:contain;width:100%;max-width:100%;height:auto}.about-story{position:relative}.about-story:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#4f46e50d,#0000 32%),radial-gradient(circle at 100% 100%,#6366f10d,#0000 28%);position:absolute;inset:0}.about-story>.container,.about-mission>.container{z-index:1;position:relative}.about-story__card{border-radius:var(--radius-xl);text-align:center;background:#ffffffe6;border:1px solid #4f46e514;padding:clamp(1.75rem,3vw,2.5rem);box-shadow:0 18px 48px #1a1a2e0f}.about-story__card p{max-width:60ch;margin:0 auto}.about-mission{padding-top:clamp(1.5rem,3vw,2.5rem)}.error-page{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.error-page__code{letter-spacing:-.05em;color:var(--color-border);margin-bottom:.75rem;font-size:6rem;font-weight:800;line-height:1}.error-page h2{margin-bottom:.75rem;font-size:1.5rem}.error-page p{margin-bottom:1.5rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-top{padding-top:calc(var(--nav-height) + 3rem)}@media (prefers-reduced-motion:no-preference){.hero__title,.hero__subtitle,.hero__actions,.hero__note{animation:.5s both fadeUp}.hero__title{animation-delay:0s}.hero__subtitle{animation-delay:80ms}.hero__actions{animation-delay:.16s}.hero__note{animation-delay:.22s}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
