/* Editorial refinement: familiar display face, quiet body, distinct sections. */
body { font-family:'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif; font-weight:400; }
h1,h2,h3 { font-family:var(--round); }
.stockclub-theme h2,.stockclub-theme h3 { font-family:inherit; }
.hero { background:#c8ecde; }
.hero-inner { min-height:690px; }
.hero-copy { padding-block:60px; }
.hero h1 { font-size:clamp(34px,3.8vw,51px); letter-spacing:-.04em; }
.hero-description { color:#405d51; line-height:2; }
.hero-intro { font-size:12px; font-weight:500; }
.king-logo { width:205px; margin-bottom:30px; }
.hero-tagline { font-family:var(--round); font-size:21px; }
.hero-oval { background:#edf6e7; border-radius:220px 220px 20px 20px; transform:none; width:470px; height:535px; left:12px; top:26px; }
.hero-visual { height:600px; }
.phone-front { transform:rotate(5deg); top:95px; left:227px; width:220px; }
.phone-back { transform:rotate(-5deg); top:70px; left:22px; width:220px; }
.phone-caption { top:40px; right:52px; font-size:12px; transform:none; }
.hero-mascot { width:128px; left:142px; bottom:17px; }
.quick-links a { font-size:12px; padding-block:7px; }
.quick-links span { font-family:var(--round); font-size:20px; }
.manage .lead { font-size:15px; }
.manage .benefit-list { margin-top:30px; }
.manage .benefit-list > div { display:grid; grid-template-columns:1fr 1.05fr; align-items:start; gap:18px; padding-block:18px; }
.manage .benefit-list dt { font-size:14px; line-height:1.8; }
.manage .benefit-list dd { font-size:12px; }
.points { padding-top:72px; background:#af285e; }
.points-heading { display:grid; grid-template-columns:1.5fr 1fr; gap:50px; align-items:end; }
.points-heading h2 { font-size:clamp(36px,4.2vw,56px); letter-spacing:-.04em; line-height:1.45; }
.points-heading h2 span { color:#ffe5a9; }
.points-heading .eyebrow { font-size:12px; font-weight:400; margin-bottom:22px; }
.points-intro { display:flex; align-items:center; gap:22px; }
.points-intro > p { font-size:13px; line-height:2; }
.points-intro > img { width:143px; background:#fff9ed; border-radius:4px; padding:8px; }
.mission-showcase { margin-top:42px; }
.mission-heading { display:flex; align-items:center; justify-content:space-between; border-top:1px solid #ffffff60; padding:21px 0; }
.mission-heading p { font-size:17px; font-weight:600; }
.mission-heading > span { font-size:12px; color:#ffdfeb; }
.mission-tabs { display:flex; gap:0; background:#7f1742; border-radius:8px 8px 0 0; padding:5px 5px 0; }
.mission-tabs button { flex:1; font-family:inherit; font-size:14px; padding:17px 12px; color:#fff; border:0; border-radius:5px 5px 0 0; background:transparent; }
.mission-tabs button[aria-selected="true"] { color:#6f2040; background:#fff8ec; font-weight:700; }
.mission-tabs button:focus-visible { outline:2px solid #ffe6ad; outline-offset:1px; }
.mission-panel { background:#fff8ec; color:#3d4035; display:grid; grid-template-columns:1.15fr 1fr; gap:56px; padding:44px 46px; border-radius:0 0 8px 8px; }
.mission-panel[hidden] { display:none; }
.mission-kicker { color:#98516c; font-size:11px; letter-spacing:.06em; }
.mission-copy h3 { font-size:37px; line-height:1.5; letter-spacing:-.03em; margin-top:18px; }
.mission-copy > p:last-of-type { font-size:14px; line-height:2; margin-top:20px; max-width:355px; }
.mission-cta { display:flex; align-items:center; justify-content:space-between; gap:25px; max-width:300px; border-bottom:1px solid #664232; padding:18px 0 12px; margin-top:13px; font-size:13px; font-weight:600; }
.mission-cta > span { display:grid; place-items:center; border:1px solid #cdb8aa; border-radius:50%; width:32px; height:32px; }
.mission-example { border-left:1px solid #d9cfc0; padding-left:34px; }
.example-label { font-size:12px; color:#756b5f; padding-bottom:4px; }
.mission-example ol { list-style:none; margin:0; padding:0; }
.mission-example li { display:flex; gap:20px; align-items:start; padding:23px 0; border-bottom:1px solid #dfd4c5; }
.mission-example li > span { font:400 32px/1.2 'SC Lato',sans-serif; color:#bd6383; }
.mission-example strong { display:block; font-size:15px; font-weight:600; }
.mission-example li p { font-size:12px; color:#766f64; margin-top:8px; }
.example-note { color:#746c60; font-size:11px; line-height:1.8; margin-top:14px; }
.mission-disclaimer { font-size:11px; line-height:1.9; margin:13px 0 0; color:#ffe4ef; }
.small-earn { display:flex; align-items:center; gap:22px; border-block:1px solid #ffffff40; padding:23px 0; margin-top:30px; }
.small-earn-art { display:flex; align-items:center; flex-shrink:0; }
.small-earn-art img { width:57px; }
.small-earn-art img+img { margin-left:-8px; }
.small-earn h3 { font-family:inherit; font-size:15px; font-weight:600; }
.small-earn p { font-size:12px; color:#ffe4ed; margin-top:9px; }
.small-earn > span { font-size:11px; color:#ffe4ed; margin-left:auto; line-height:1.9; }
.point-bridge { display:flex; align-items:center; justify-content:space-between; padding:27px 0 18px; gap:20px; }
.point-bridge > p { font-family:var(--round); font-size:23px; }
.point-bridge > span { font-size:12px; }
.point-bridge b { font-weight:400; color:#f5b6d2; margin-inline:13px; }
.gift-copy h3 { font-family:inherit; font-size:21px; }
.gift-notices ul { color:#fff1f7; }
.download { background:#c8ecde; }
.detail-heading { padding-bottom:8px; }
.detail-heading h2 { font-size:52px; }
.detail-heading > p:last-child { font-size:13px; max-width:390px; }
.detail-copy h3 { font-size:40px; }
.detail-copy .eyebrow { font-weight:400; font-size:12px; }
.detail-list > div { display:grid; grid-template-columns:.9fr 1.3fr; gap:15px; padding-block:16px; }
.detail-list dt { font-size:13px; line-height:1.8; }
.detail-list dd { margin:0; font-size:12px; }
.detail-gallery { padding:38px 24px 28px; border-radius:160px 160px 10px 10px; }
.detail-gallery figure:nth-child(2) { padding-top:73px; }
.research { background:#edf4ee; }
.research-list { counter-reset:research; }
.research-list > div { padding-left:45px!important; position:relative; }
.research-list > div::before { counter-increment:research; content:counter(research,decimal-leading-zero); position:absolute; left:0; top:22px; font:400 16px 'SC Lato',sans-serif; color:#657d6d; }
.research-list > div:first-child::before { top:3px; }
.research-list h3 { font-family:inherit; font-size:18px; letter-spacing:0; }
.research .research-list p { font-size:12px; }
.plans h2 { font-size:37px; }
.plan-table thead th { font-family:var(--round); font-size:22px; }
.plan-table tbody { font-size:13px; }
.plan-table td { color:#486252; }
.faq h2 { font-size:27px; }
.stockclub-theme .web-heading { gap:40px; }
.stockclub-theme .benefit-list dt { font-size:17px; }
.stockclub-theme .benefit-list dd { font-size:13px; }
@media(max-width:1100px) {
 .points-heading { grid-template-columns:1.2fr 1fr; gap:25px; }
 .points-intro { gap:15px; }
 .points-intro img { width:115px; }
 .points-intro p { font-size:12px; }
 .mission-panel { gap:32px; padding:35px; }
 .mission-copy h3 { font-size:31px; }
 .phone-front { left:180px; width:205px; }
 .phone-back { left:0; width:205px; }
 .hero-oval { width:400px; }
}
@media(max-width:800px) {
 .hero-inner { min-height:600px; }
 .hero-visual { height:500px; }
 .hero h1 { font-size:31px; }
 .hero-tagline { font-size:17px; }
 .phone-front { left:138px; width:169px; }
 .phone-back { left:0; width:169px; }
 .hero-oval { width:325px; height:450px; }
 .hero-mascot { left:90px; bottom:0; width:100px; }
 .phone-caption { right:10px; }
 .manage .benefit-list > div { display:block; }
 .points-heading { display:block; }
 .points-intro { margin-top:20px; justify-content:space-between; }
 .points-intro img { width:150px; }
 .points-intro p { font-size:14px; }
 .mission-panel { padding:30px; gap:25px; }
 .mission-copy h3 { font-size:27px; }
 .mission-example { padding-left:22px; }
 .mission-example li { gap:13px; }
 .mission-example strong { font-size:13px; }
 .mission-example li p { font-size:11px; }
 .small-earn > span { display:none; }
 .point-bridge { display:block; }
 .point-bridge > span { display:block; margin-top:13px; }
 .detail-heading h2 { font-size:42px; }
 .detail-copy h3 { font-size:32px; }
 .detail-list > div { display:block; }
 .detail-list dd { margin-top:6px; }
 .research-list > div:first-child::before { top:23px; }
}
@media(max-width:600px) {
 .hero-inner { min-height:0; }
 .hero-copy { padding:34px 0 0; }
 .king-logo { width:175px; margin-bottom:22px; }
 .hero h1 { font-size:34px; }
 .hero-tagline { font-size:18px; }
 .hero-visual { height:382px; margin-top:25px; }
 .hero-oval { width:330px; height:370px; left:0; top:0; border-radius:155px 155px 12px 12px; }
 .phone-front { width:157px; left:170px; top:33px; }
 .phone-back { width:157px; left:9px; top:16px; }
 .hero-mascot { left:119px; bottom:0; width:97px; }
 .quick-links a { font-size:9px; }
 .quick-links span { font-size:12px; }
 .points { padding-top:44px; }
 .points-heading h2 { font-size:35px; }
 .points-heading .eyebrow { margin-bottom:16px; }
 .points-intro p { font-size:12px; }
 .points-intro img { width:116px; padding:6px; }
 .points-intro { gap:14px; }
 .points-intro br { display:none; }
 .mission-showcase { margin-top:26px; }
 .mission-heading { display:block; padding:17px 0; }
 .mission-heading > span { display:block; margin-top:8px; font-size:11px; }
 .mission-tabs button { font-size:12px; padding:16px 5px; }
 .mission-panel { grid-template-columns:1fr; gap:28px; padding:25px 23px; }
 .mission-copy h3 { font-size:29px; margin-top:12px; }
 .mission-copy > p:last-of-type { font-size:13px; margin-top:15px; }
 .mission-kicker { font-size:10px; }
 .mission-cta { font-size:12px; padding-top:10px; }
 .mission-example { border-left:0; border-top:1px solid #d9cfc0; padding:23px 0 0; }
 .mission-example li { padding:18px 0; gap:18px; }
 .mission-example li > span { font-size:28px; }
 .mission-example strong { font-size:13px; }
 .mission-example li p { font-size:11px; }
 .mission-disclaimer { font-size:10px; }
 .small-earn { gap:13px; padding-block:20px; margin-top:24px; }
 .small-earn-art img { width:40px; }
 .small-earn-art img+img { display:none; }
 .small-earn h3 { font-size:13px; }
 .small-earn p { font-size:11px; line-height:1.9; margin-top:7px; }
 .point-bridge > p { font-size:25px; }
 .point-bridge > span { font-size:11px; }
 .point-bridge b { margin-inline:7px; }
 .detail-heading h2 { font-size:38px; }
 .detail-copy h3 { font-size:32px; }
 .detail-gallery { border-radius:100px 100px 10px 10px; padding:29px 18px 22px; }
 .detail-gallery figure:nth-child(2) { padding-top:58px; }
 .research-list h3 { font-size:16px; flex-wrap:wrap; gap:7px; }
 .research .research-list p { font-size:12px; }
 .plans h2 { font-size:29px; }
 .plan-table thead th { font-size:13px; }
 .plan-table tbody { font-size:10px; }
}
@media(max-width:360px) {
 .hero h1 { font-size:31px; }
 .points-heading h2 { font-size:32px; }
 .mission-copy h3 { font-size:26px; }
 .mission-panel { padding-inline:19px; }
}
