:root{color-scheme:light;--ink:#17252b;--muted:#68777d;--line:#dce7e8;--accent:#087f83;--accent-dark:#075f63;--mint:#d9f1ee;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#eef8f8 0,#fff 560px);min-height:100vh;display:flex;flex-direction:column}a{color:inherit}.wrap{width:min(1120px,calc(100% - 64px));margin-inline:auto}.header{min-height:88px;display:flex;align-items:center;border-bottom:1px solid rgba(8,127,131,.13)}.brand{text-decoration:none;font-size:1.125rem;font-weight:750;letter-spacing:-.02em}.brand span{color:var(--accent)}main{flex:1}.hero{padding:58px 0 48px;max-width:850px}.wave{display:flex;align-items:center;gap:5px;height:30px;margin-bottom:21px;color:var(--accent)}.wave i{width:3px;height:10px;background:currentColor;border-radius:3px;opacity:.65}.wave i:nth-child(2n){height:18px}.wave i:nth-child(3n){height:27px}.wave i:nth-child(5){height:34px;opacity:1}.hero h1{font-size:clamp(2.25rem,5vw,3.7rem);line-height:1.15;letter-spacing:-.045em;margin:0;font-weight:780}.hero h1 span{color:var(--accent)}.subtitle{font-size:1rem;color:var(--accent-dark);font-weight:650;letter-spacing:.08em;margin:13px 0 32px}.hero h2{font-size:clamp(1.35rem,2.8vw,1.85rem);line-height:1.6;letter-spacing:-.025em;margin:0 0 12px;font-weight:700}.description{font-size:1rem;line-height:1.9;color:var(--muted);margin:0;max-width:680px}.catalog{padding:0 0 70px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{padding:27px;min-width:0;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(37,79,84,.055);display:flex;flex-direction:column}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:var(--mint);color:var(--accent)}.icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.status{font-size:.875rem;color:#147765;background:#edf8f5;border-radius:999px;padding:5px 11px;font-weight:650;white-space:nowrap}.soon .status{background:#f1f4f5;color:var(--muted)}.card h3{font-size:1.25rem;line-height:1.5;margin:0 0 12px;letter-spacing:-.02em}.card p{font-size:1rem;line-height:1.85;color:var(--muted);margin:0 0 25px;flex:1}.action{font:inherit;min-height:48px;display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:10px;text-decoration:none;font-weight:650;padding:11px 16px;transition:background .18s,border-color .18s}.action:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.action:focus-visible,.brand:focus-visible,.footer a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.action:disabled{background:#f2f6f6;color:#748389;border-color:var(--line);cursor:default}.footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-block:26px;gap:20px;color:var(--muted);font-size:.875rem}.footer a{text-decoration:none}.footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.footer small{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:651px) and (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{width:calc(100% - 48px)}.hero{padding-top:48px}.card{padding:25px}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.header{min-height:72px}.hero{padding:37px 0 32px}.hero h1{font-size:clamp(2rem,8.5vw,2.75rem)}.subtitle{font-size:.875rem;margin-bottom:25px;letter-spacing:.04em}.hero h2{font-size:1.35rem}.wave{margin-bottom:17px}.grid{grid-template-columns:1fr;gap:18px}.card{padding:23px;border-radius:18px}.card-top{margin-bottom:20px}.card p{margin-bottom:22px}.catalog{padding-bottom:44px}.footer{flex-direction:column;align-items:flex-start;gap:12px;padding-block:24px}}
