/* Review 03 — hierarchy through type, editorial spacing, and authentic artwork. */
.hero h1 { font-size:clamp(34px,3.65vw,49px); line-height:1.43; letter-spacing:-.035em; }
.hero-intro { letter-spacing:.035em; }
.hero-oval { background:#effaf082; border-radius:45% 55% 48% 52%; }
.hero-tagline { font-size:21px; }
.hero-web { text-decoration:none; border-bottom:1px solid #618f7a; padding-bottom:5px; }
.quick-links { padding-block:25px; }
.quick-links a { text-align:left; padding-inline:28px; }
.quick-links span { margin-top:6px; }
.eyebrow { letter-spacing:.06em; }
.manage h2 { font-size:clamp(30px,3.3vw,44px); letter-spacing:-.03em; line-height:1.5; }
.manage .benefit-list dt { font-size:17px; }
.manage .benefit-list dd { font-size:13px; }
.visual-mat { border-radius:160px 160px 12px 12px; background:#e8f4ed; }
.points { background:#b92f68; padding-block:76px 40px; }
.points-inner { grid-template-columns:1.14fr 1fr; gap:70px; align-items:center; }
.points h2 { font-size:clamp(36px,4.1vw,54px); letter-spacing:-.025em; line-height:1.42; }
.points h2 span { color:#ffe6a9; }
.points .lead { font-size:18px; line-height:1.85!important; }
.points-story { margin-top:24px; }
.points-story p { font-size:13px; }
.points-story .point-dog { width:163px; padding:10px; border-radius:6px; background:#fff8eb; }
.game-feature { background:#fff8eb; color:#3f5143; padding:28px 30px 22px; border-radius:120px 120px 14px 14px; border:1px solid #fff5; max-width:408px; justify-self:end; width:100%; }
.game-feature-heading { text-align:center; }
.game-feature-heading > span { font-size:11px; letter-spacing:.1em; }
.game-feature-heading p { font-size:22px; font-weight:700; margin-top:5px; }
.game-board { display:grid; grid-template-columns:repeat(4,1fr); gap:5px; padding:14px; background:#24463d; border-radius:17px; margin-top:20px; }
.game-board > span { background:#e1efdf; border-radius:50%; aspect-ratio:1; display:grid; place-items:center; }
.game-board > span:has(img[src*="lion"]) { background:#f9e2a8; }
.game-board > span:has(img[src*="capybara"]) { background:#e4cbaf; }
.game-board > span:has(img[src*="squirrel"]) { background:#eee0ed; }
.game-board img { width:95%; height:auto; }
.game-feature figcaption { text-align:center; margin-top:15px; }
.game-feature figcaption strong { display:block; font-size:18px; }
.game-feature figcaption span { display:block; font-size:11px; margin-top:3px; }
.game-feature figcaption small { display:block; font-size:10px; color:#677363; margin-top:8px; }
.earn-strip { display:flex; flex-wrap:wrap; gap:12px 24px; margin:36px 0 0; padding:20px 0; border-block:1px solid #ffffff40; font-size:12px; }
.earn-strip p { margin-right:auto; font-weight:700; }
.earn-strip > span + span { border-left:1px solid #ffffff50; padding-left:24px; }
.points .point-flow { display:grid; grid-template-columns:repeat(3,1fr); margin:30px 0 20px; }
.points .point-flow li { position:relative; padding:0 20px 0 67px; font-size:19px; font-weight:700; border-color:#ffffff40; }
.points .point-flow li:first-child { padding-left:55px; }
.points .point-flow span { position:absolute; left:18px; top:0; font-family:'SC Lato',sans-serif; font-size:30px; line-height:1.3; color:#ffcddf; }
.points .point-flow li:first-child span { left:0; }
.points .point-flow strong { font-size:12px; font-weight:500; display:block; margin-bottom:3px; }
.points .point-condition { font-size:12px; }
/* Official gift name artwork is intact: no crop, mask, filter or transform,
   including ancestors. Product brands' composite banners are not displayed. */
.gift-exchange { display:grid; grid-template-columns:1.25fr 1fr .75fr; align-items:center; gap:24px; padding:24px 30px; background:white; color:#303c36; margin-top:30px; border-radius:8px; }
.gift-copy .eyebrow { color:#954064; font-size:11px; margin-bottom:7px; }
.gift-copy h3 { font-size:23px; letter-spacing:-.02em; }
.gift-copy > p:last-child { font-size:13px; line-height:1.8; margin-top:10px; }
.gift-name-image { display:flex; align-items:center; justify-content:center; background:#fff; }
.gift-name-image img { display:block; width:100%; height:auto; transform:none; filter:none; border-radius:0; object-fit:contain; }
.gift-name-image:last-child img { width:166px; }
.gift-notices { padding-top:23px; }
.gift-notices h3 { font-size:12px; font-weight:700; letter-spacing:0; }
.gift-notices ul { columns:2; column-gap:36px; padding:0 0 0 17px; margin:11px 0 0; font:400 12px/1.85 'Hiragino Kaku Gothic ProN',sans-serif; color:#fff4f9; }
.gift-notices li { break-inside:avoid; padding-bottom:5px; }
.stockclub-theme .web-heading h2 { font-size:clamp(30px,3.3vw,44px); line-height:1.4; letter-spacing:-.035em; }
.web.stockclub-theme { padding-block:76px; }
.stockclub-theme .web-content { grid-template-columns:1.8fr 1fr; gap:48px; }
.download { padding-block:40px; }
.download h2 { font-size:30px; letter-spacing:-.02em; }
.feature-details { padding-top:76px; }
.detail-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; text-align:left; }
.detail-heading h2 { font-size:48px; line-height:1.4; letter-spacing:-.03em; margin:0; }
.detail-heading > p:last-child { font-size:14px; padding-bottom:5px; }
.feature-index { justify-content:space-between; gap:0; padding-block:0; margin-top:33px; }
.feature-index a { flex:1; padding:18px 20px; border-right:1px solid var(--line); }
.feature-index a:first-child { padding-left:0; }
.feature-index a:last-child { border:0; }
.detail-row { padding-block:55px; }
.detail-copy h3 { font-size:37px; line-height:1.45; letter-spacing:-.02em; }
.chapter-no { font-family:'SC Lato',sans-serif; font-size:19px; margin-right:15px; letter-spacing:0; }
.detail-copy > p:not(.eyebrow):not(.small) { max-width:410px; font-size:14px; }
.detail-list > div { padding:12px 0; margin:0; border-left:0; border-top:1px solid var(--line); }
.detail-list dt { font-size:15px; }
.detail-list dd { font-size:12px; }
.detail-list { margin-top:25px; margin-bottom:9px; }
.detail-gallery { gap:15px; background:#f6eeed; padding:28px 22px 22px; border-radius:12px; }
.detail-gallery figure:nth-child(2) { padding-top:60px; }
.detail-gallery img { border-radius:9px; box-shadow:none; }
.detail-gallery figcaption { font-size:11px; color:#655a58; }
.detail-asset-image { border-radius:12px; padding:40px; background:#e8f3ed; }
.detail-asset-image img { max-height:350px; }
.research > .wrap { display:grid; grid-template-columns:.85fr 1.5fr; gap:65px; }
.research .section-heading { text-align:left; }
.research h2 { font-size:35px; line-height:1.5; letter-spacing:-.03em; }
.research .section-heading > p:last-child { font-size:12px; max-width:220px; }
.research-list { display:block; }
.research-list > div { padding:20px 0; }
.research-list > div:first-child { padding-top:0; border:0; }
.research-list h3 { font-size:19px; }
.research .research-list p { font-size:13px; margin-top:8px; }
.research-list br { display:none; }
.plans .section-heading { display:grid; grid-template-columns:1fr 1fr; text-align:left; align-items:end; column-gap:30px; }
.plans .section-heading .eyebrow { grid-column:1/-1; }
.plans h2 { font-size:36px; }
.plan-table { border-top:1px solid var(--line); }
.stockclub-guide .guide-heading { text-align:left; max-width:750px; }
.stockclub-guide .guide-heading .sc-wordmark { margin-left:0; }
.stockclub-guide .guide-heading h2 { font-size:42px; letter-spacing:-.025em; }
@media(max-width:1000px) {
 .points-inner { gap:35px; }
 .points-story { align-items:start; gap:12px; }
 .points-story .point-dog { width:130px; }
 .game-feature { padding:28px 22px 20px; }
 .points .point-flow li { font-size:16px; }
 .gift-copy h3 { font-size:20px; }
 .detail-heading h2 { font-size:41px; }
 .detail-copy h3 { font-size:31px; }
 .research > .wrap { gap:35px; grid-template-columns:.85fr 1.4fr; }
 .research h2 { font-size:30px; }
}
@media(max-width:800px) {
 .hero h1 { font-size:31px; }
 .hero-tagline { font-size:17px; }
 .points h2 { font-size:37px; }
 .points .lead { font-size:15px; }
 .points-story { flex-direction:column; }
 .points-story .point-dog { width:150px; }
 .earn-strip { gap:12px 20px; }
 .earn-strip p { flex-basis:100%; }
 .earn-strip > span + span { padding-left:20px; }
 .gift-exchange { gap:15px; padding:23px; }
 .stockclub-theme .web-content { grid-template-columns:1fr; gap:28px; }
 .detail-heading { display:block; }
 .detail-heading > p:last-child { margin-top:18px; }
 .research > .wrap { display:block; }
 .research .section-heading > p:last-child { max-width:none; }
 .research-list > div:first-child { border-top:1px solid var(--line); padding-top:20px; }
 .plans h2 { font-size:30px; }
}
@media(max-width:600px) {
 .hero h1 { font-size:33px; }
 .hero-tagline { font-size:18px; }
 .quick-links { padding-inline:12px; }
 .quick-links a { padding-inline:7px; font-size:9px; }
 .quick-links span { font-size:11px; }
 .manage h2 { font-size:33px; }
 .points { padding-block:48px 30px; }
 .points-inner { gap:28px; }
 .points h2 { font-size:42px; line-height:1.4; }
 .points .lead { font-size:16px; }
 .points-story { flex-direction:row; align-items:center; }
 .points-story p { font-size:12px; }
 .points-story br { display:none; }
 .points-story .point-dog { width:139px; }
 .game-feature { max-width:344px; padding:26px 27px 20px; border-radius:100px 100px 12px 12px; }
 .game-feature-heading p { font-size:21px; }
 .game-board { padding:12px; margin-top:16px; }
 .earn-strip { margin-top:24px; gap:8px 15px; font-size:11px; }
 .earn-strip > span + span { border:0; padding-left:0; }
 .points .point-flow { margin-top:23px; gap:11px; }
 .points .point-flow li, .points .point-flow li:first-child { padding:0; border:0; text-align:left; font-size:13px; }
 .points .point-flow span { position:static; font-size:24px; margin-bottom:9px; }
 .points .point-flow strong { font-size:10px; }
 .points .point-condition { font-size:11px; }
 .gift-exchange { grid-template-columns:1fr; gap:12px; padding:20px; margin-top:24px; }
 .gift-copy { grid-column:1/-1; }
 .gift-copy h3 { font-size:23px; }
 .gift-copy > p:last-child { font-size:12px; }
 .gift-copy > p:last-child br { display:none; }
 .gift-name-image img { width:100%; max-width:300px; }
 .gift-name-image:last-child img { width:155px; }
 .gift-notices ul { columns:1; font-size:12px; line-height:1.85; }
 .gift-notices h3 { font-size:12px; }
 .web.stockclub-theme { padding-block:48px; }
 .stockclub-theme .web-heading h2 { font-size:29px; }
 .download h2 { font-size:25px; }
 .feature-details { padding-top:48px; }
 .detail-heading h2 { font-size:38px; }
 .detail-heading > p:last-child { font-size:13px; }
 .detail-heading br { display:initial; }
 .feature-index a { padding:15px 7px; font-size:11px; }
 .detail-row { padding-block:36px; }
 .detail-copy h3 { font-size:31px; }
 .detail-gallery { padding:22px 17px 18px; }
 .detail-gallery figure:nth-child(2) { padding-top:38px; }
 .detail-gallery figcaption { font-size:10px; }
 .detail-asset-image { padding:26px; }
 .detail-asset-image img { max-height:300px; }
 .research h2 { font-size:32px; }
 .research .research-list p { font-size:13px; }
 .plans .section-heading { display:block; }
 .plans h2 { font-size:29px; }
 .stockclub-guide .guide-heading h2 { font-size:30px; }
}
@media(max-width:360px) {
 .hero h1 { font-size:30px; }
 .points h2 { font-size:38px; }
 .points-story .point-dog { width:126px; }
 .feature-index a { font-size:10px; }
}
