:root{--ink:#111310;--paper:#f8f9f6;--accent:#3fe0c5;--accent-hover:#7debd8;--accent-line:#2bb59e;--accent-ink:#0b7a67;--line:#d8dad2;--muted:#697063}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent-ink);outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.header{z-index:1;height:90px;color:var(--paper);justify-content:flex-end;align-items:center;padding:0 5%;display:flex;position:absolute;inset:0 0 auto}nav{letter-spacing:1px;gap:36px;font-size:14px;font-weight:600;display:flex}nav a{border-bottom:2px solid #0000;padding:12px 0}nav a:hover{border-color:var(--accent)}.accent{color:var(--accent)}.primary{background:var(--accent);color:var(--ink);align-items:center;gap:45px;padding:17px 22px;font-size:14px;font-weight:700;transition:background .2s;display:inline-flex}.primary span{border-left:1px solid var(--accent-line);padding-left:22px;font-size:12px}.primary:hover{background:var(--accent-hover)}.metrics{border-bottom:1px solid var(--line);grid-template-columns:1.2fr 1fr 1.2fr;align-items:center;gap:30px;padding:42px 5%;display:grid}.metrics strong{letter-spacing:-2px;font-size:48px;font-weight:500;line-height:1}.metrics strong span{vertical-align:top;font-size:30px}.metrics p{color:var(--muted);margin:12px 0 0;font-size:14px}.metrics-note{border-left:1px solid var(--line);padding-left:40px;font-size:18px;line-height:1.8}.metrics-note small{color:var(--muted);margin-top:12px;font-size:12px;display:block}.section{padding:88px 5%}.section-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px;display:flex}.eyebrow{letter-spacing:-.05em;font-size:clamp(56px,8vw,120px);font-weight:800;line-height:.95;display:block}.eyebrow:after{content:".";color:var(--accent)}h2{letter-spacing:-1px;margin:18px 0 0;font-size:clamp(28px,3vw,44px);line-height:1.6}.section-heading p{color:var(--muted);margin:0 0 9px;font-size:14px;line-height:1.9}.app-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.app-card{border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:space-between;min-height:320px;padding:25px;transition:transform .2s,border-color .2s;display:flex}.app-card:hover{border-color:var(--ink);transform:translateY(-4px)}.card-top{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.card-top>span{letter-spacing:1px;color:var(--muted);padding-top:4px;font-size:12px}.card-top img{object-fit:cover;border-radius:18px}.app-card h3{letter-spacing:-.5px;margin:0 0 12px;font-size:25px;line-height:1.3}.app-card p{color:#586052;margin:0;font-size:14px;line-height:1.9}.card-bottom{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:22px;font-size:12px;display:flex}.store-badges{gap:8px;min-width:0;display:flex}.store-badges a{min-width:0;transition:opacity .2s}.store-badges a:hover{opacity:.75}.store-badges img{max-width:100%;height:auto;display:block}.card-bottom>a{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px;font-size:14px;font-weight:600}.app-card:nth-child(2n){background:#f2f3ef}.about{background:#e9ebe4;grid-template-columns:1.2fr 1fr;gap:10%;display:grid}.about p{color:#586052;margin-top:26px;font-size:16px;line-height:2}.studio-label{letter-spacing:-2px;margin:10px 0 36px;font-size:44px;font-weight:700;line-height:1.05}.about dl{margin:0}.about dl>div{border-top:1px solid #cdd1c5;grid-template-columns:64px 1fr;gap:18px;padding:15px 0;font-size:14px;line-height:1.8;display:grid}.about dt{color:var(--muted)}.about dd{margin:0}.contact{grid-template-columns:1.2fr 1fr;align-items:center;gap:10%;display:grid}.contact p{color:var(--muted);margin-top:24px;font-size:14px;line-height:2}.contact-links{flex-direction:column;display:flex}.contact-links>a{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:22px 0;font-size:14px;display:flex}.contact-links>a:hover{color:var(--accent-ink)}.contact-links .email{background:var(--ink);color:#fff;justify-content:center;align-items:center;gap:10px;margin-bottom:14px;padding:22px 25px;font-weight:600}.contact-links .email:hover{color:var(--accent);background:#1c2f2b}.contact-links span{color:var(--muted)}footer{background:var(--ink);color:var(--paper);padding:40px 5% 25px;overflow:hidden}.footer-brand{filter:invert();width:clamp(160px,22vw,300px);height:auto;display:block}.footer-bottom{color:#a7aca1;border-top:1px solid #363a31;justify-content:space-between;align-items:center;gap:20px;margin-top:25px;padding-top:25px;font-size:12px;display:flex}.footer-bottom>div{gap:22px;display:flex}.footer-bottom a:hover{color:var(--accent)}@media (width>=1600px){.header,.hero,.metrics,.section,footer{padding-left:max(5%,50vw - 720px);padding-right:max(5%,50vw - 720px)}}@media (width<=1000px){.metrics{gap:20px}.metrics strong{font-size:40px}.metrics-note{padding-left:20px;font-size:16px}.app-grid{grid-template-columns:repeat(2,1fr)}.about,.contact{gap:5%}.studio-label{font-size:36px}.footer-bottom>span:nth-child(2){display:none}}@media (width<=640px){html{scroll-padding-top:25px}.header{height:76px}nav{gap:22px;font-size:12px}.metrics{grid-template-columns:1.3fr 1fr;gap:12px;padding-top:30px;padding-bottom:30px}.metrics strong{font-size:33px}.metrics strong span{font-size:22px}.metrics p{font-size:12px;line-height:1.6}.metrics-note{border-left:0;border-top:1px solid var(--line);grid-column:1/-1;margin-top:10px;padding:20px 0 0;font-size:16px}.metrics-note br{display:none}.section{padding-top:56px;padding-bottom:56px}.section-heading{margin-bottom:28px;display:block}.section-heading p{margin-top:20px}.app-grid{grid-template-columns:1fr;gap:14px}.app-card{min-height:290px}.app-card h3{font-size:25px}.card-top{margin-bottom:18px}.about,.contact{grid-template-columns:1fr;gap:35px}.about p{font-size:14px}.about h2,.contact h2{font-size:27px}.studio-label{font-size:40px}.footer-bottom{align-items:start;font-size:12px}.footer-bottom>div{flex-direction:column;gap:12px}footer{padding-top:35px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.app-card,.primary,.store-badges a{transition:none}}
