@import "https://fonts.googleapis.com/css2?family=Oswald:wght@500;700&family=Figtree:wght@400;500;600&family=Noto+Sans+JP:wght@400;500;700&display=swap";
:root{--color-primary:#65bc46;--color-primary-dark:#4f9836;--color-text:#1a1a1a;--color-text-muted:#666;--color-text-faint:#999;--color-bg:#fff;--color-bg-soft:#f7f8f6;--color-border:#e6e6e6;--font-heading:"Oswald", "Noto Sans JP", sans-serif;--font-body:"Figtree", "Noto Sans JP", sans-serif;--container-max:720px;--radius:10px;--shadow-card:0 1px 2px #0000000a, 0 8px 24px #0000000f}*{box-sizing:border-box}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:16px;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{max-width:var(--container-max);margin:0 auto;padding:0 20px}.heading{font-family:var(--font-heading);letter-spacing:.02em;color:var(--color-text);margin:0;font-weight:700;line-height:1.25}.heading--page{text-align:center;font-size:28px}.heading--section{text-align:center;margin-top:56px;margin-bottom:24px;font-size:22px}.heading--card{margin-bottom:6px;font-size:17px}.text-muted{color:var(--color-text-muted);font-size:14px}.text-faint{color:var(--color-text-faint);font-size:14px}.site-header{border-bottom:1px solid var(--color-border);text-align:center;padding:16px 20px 14px}.site-logo{font-family:var(--font-heading);letter-spacing:.16em;color:var(--color-text);font-size:18px;font-weight:700}.coach-hero{text-align:center;padding:48px 20px 32px}.coach-photo{background:var(--color-bg-soft);border:3px solid var(--color-primary);width:112px;height:112px;font-family:var(--font-heading);color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:36px;display:flex;overflow:hidden}.coach-name{font-family:var(--font-heading);letter-spacing:.04em;margin:0 0 6px;font-size:26px;font-weight:700}.coach-honorific{color:var(--color-text-muted);font-size:15px}.coach-titles{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.coach-title-pill{letter-spacing:.06em;border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-bg);border-radius:100px;padding:4px 12px;font-size:12px}.coach-affiliation{color:var(--color-text-muted);margin-top:14px;font-size:14px}.coach-catchphrase{font-family:var(--font-heading);letter-spacing:.03em;color:var(--color-text);margin-top:36px;font-size:20px;font-weight:500;line-height:1.5}.products{grid-template-columns:1fr;gap:10px;margin-top:14px;margin-bottom:18px;display:grid}.product-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:14px 16px;position:relative}.product-card--coming-soon{background:var(--color-bg-soft);opacity:.95;border-style:dashed}.product-head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.product-thumb{object-fit:contain;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:8px;flex-shrink:0;width:76px;height:76px}.product-head-text{flex:1;min-width:0}.product-tagline{letter-spacing:.06em;color:var(--color-primary);font-size:11px;font-family:var(--font-heading);margin-bottom:6px;font-weight:500;display:inline-block}.product-tagline--soon{color:var(--color-text-faint)}.product-description{color:var(--color-text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.product-links{grid-template-columns:1fr 1fr;gap:8px;display:grid}.product-link{height:42px;font-family:var(--font-heading);letter-spacing:.04em;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:14px;font-weight:500;transition:opacity .15s,transform .15s;display:flex}.product-link:hover{opacity:.85;transform:translateY(-1px)}.product-link--rakuten{color:#fff;background:#bf0000}.product-link--amazon{color:#1a1a1a;background:#f90}.product-link--disabled{background:var(--color-bg-soft);color:var(--color-text-faint);border:1px solid var(--color-border);pointer-events:none;grid-column:1/-1}.product-accessory{border-top:1px dashed var(--color-border);margin-top:12px;padding-top:12px}.product-accessory-label{letter-spacing:.04em;color:var(--color-text);font-size:12px;font-family:var(--font-heading);margin-bottom:4px;font-weight:700;display:block}.qr-section{background:var(--color-bg-soft);border-radius:var(--radius);text-align:center;margin-top:56px;padding:32px 24px}.qr-image{width:220px;height:220px;margin:16px auto}.coupon-code{font-family:var(--font-heading);letter-spacing:.2em;background:var(--color-bg);border:2px dashed var(--color-primary);color:var(--color-text);border-radius:8px;margin-top:8px;padding:10px 24px;font-size:22px;font-weight:700;display:inline-block}.coupon-hint{color:var(--color-text-muted);margin-top:12px;font-size:13px}.brand-section{margin-top:56px;padding:32px 0}.brand-section p{color:var(--color-text-muted);margin:0 0 14px;font-size:14px;line-height:1.8}.site-footer{border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-faint);margin-top:56px;padding:28px 20px 40px;font-size:12px;line-height:1.7}.home-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:80vh;padding:40px 20px;display:flex}
