/* The body uses source artwork, documentary photos and editorial Japanese type. */
main {
  --paper: #fff;
  --ink: #292723;
  --green: #302b23;
  --green-deep: #242522;
  --gold: #987026;
  --line: #d9c9a7;
  color: var(--ink);
  background: white;
}
main .section-padding { padding: 76px 28px; }
main .container { max-width: 1000px; }
main .section-title {
  font: 900 38px/1.55 var(--sans);
  color: #302820;
  letter-spacing: -.035em;
  padding: 0;
  margin: 0 auto 38px;
  max-width: 920px;
  text-wrap: balance;
}
main .section-title::after { display: none; }
main .section-title small { display: block; font: 700 17px/1.7 var(--sans); letter-spacing: .05em; margin-bottom: 13px; }
main .section-title em { color: #936918; font-style: normal; }
main .section-text { max-width: 740px; font-size: 17px; line-height: 2; margin: 24px auto; text-align: left; word-break: auto-phrase; }
main .section-text:not(.para-left) { text-align: left; }
main .section-text strong { font-weight: 900; }
main .hl-gold { color: inherit; background: linear-gradient(transparent 72%, #efd687a1 72%); }
main .step-title { max-width: 740px; font: 900 25px/1.6 var(--sans); color: #302820; margin: 38px auto 18px; }
main .block-label { font-size: 13px; color: #8d682b; letter-spacing: .1em; margin-bottom: 20px; }
main .headline-number { font: 700 1.95em/.8 Georgia, serif; letter-spacing: -.055em; margin: 0 .04em; }
main .heading-plus { color: #a58648; font-size: .65em; margin: 0 15px; }
main .cta-buttons { max-width: 640px; }
main .cta-button { border-radius: 5px; font-size: 22px; min-height: 79px; }
main .cta-sub { color: #4d4539; font-size: 12px; }
main .cta-band { padding: 34px 28px 38px; background: #f5e8c8; border-top: 1px solid #c9ac6c; border-bottom: 1px solid #c9ac6c; }
.cta-band-heading { margin: 0; text-align: center; font: 900 25px/1.6 var(--sans); color: #3d311b; }
.cta-band-detail { margin: 6px 0 24px; text-align: center; font-size: 13px; color: #4b4534; }
/* An offer spread: everything is the actual source cover art. */
main .product-snapshot { background: #fff; color: #302b23; border: 0; padding-top: 60px; }
main .product-snapshot .section-title { color: #4b3616; font-size: 39px; line-height: 1.5; margin-bottom: 22px; }
.product-snapshot .section-title small { color: #5c4f35; margin-bottom: 23px; }
.product-description { text-align: center; font-size: 17px; margin: 0 auto 30px; line-height: 1.85; }
.delivery-package { padding: 30px 30px 16px; background: #faf4e5; border: 1px solid #c8ac6d; box-shadow: inset 0 0 0 6px #fff; }
.delivery-label { width: fit-content; margin: 0 auto 25px; padding: 6px 25px; border-top: 1px solid #ad8d43; border-bottom: 1px solid #ad8d43; font-size: 17px; font-weight: 900; text-align: center; color: #5c401b; }
main .jackets-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 19px; margin: 0; }
main .jackets-row figure { display: block; min-width: 0; }
main .jackets-row img { border: 0; box-shadow: 3px 4px 0 #aa937242, 0 7px 12px #5b412223; }
main .jackets-row figcaption { text-align: center; padding-top: 14px; color: #473a27; }
main .jackets-row figcaption small { color: #8e783e; font-size: 9px; display: block; padding: 0; }
main .jackets-row figcaption b { color: #3f321d; font: 900 19px/1.6 var(--sans); display: block; }
main .jackets-row figcaption span { font-size: 10px; }
.pdf-delivery { position: relative; max-width: 550px; margin: 0 auto; text-align: center; }
.package-plus { display: block; color: #9d792e; font-size: 36px; font-weight: 700; line-height: 1; margin: 15px 0 20px; }
.pdf-delivery .delivery-label { margin-bottom: 16px; }
.pdf-delivery img { width: 100%; mix-blend-mode: normal; }
.pdf-delivery > p:last-child { font-size: 12px; line-height: 1.8; margin-top: 8px; }
.delivery-note { text-align: center; color: #635e53; font-size: 11px; margin: 20px auto 30px; }
main .product-snapshot .offer-summary { max-width: 870px; gap: 0 32px; margin: 0 auto; }
main .product-snapshot .offer-summary li { color: #393126; font-size: 15px; padding: 17px 0; border-color: #e1d7c4; }
main .product-snapshot .offer-summary li::before { display: none; }
main .product-snapshot .offer-summary .hl-gold { color: #7d561c; background: none; }
main .product-snapshot > .container > .section-text { font-size: 14px; text-align: center; }
main .emergency-warning { background: #f8f7f3; border-top: 1px solid #e3dfd5; border-bottom: 1px solid #e3dfd5; padding-top: 30px; padding-bottom: 30px; }
main .emergency-warning .section-title { font: 700 19px/1.8 var(--sans); margin-bottom: 15px; text-align: left; }
main .emergency-warning .section-text { font-size: 13px; margin: 8px auto; }
.warning-box { max-width: 780px; border-color: #b3a181; }
/* Reader recognition is a letter, with a typeset pull quote. */
main .main-problem { background: #fff; padding-top: 80px; padding-bottom: 24px; }
main .main-problem .section-title { max-width: 840px; text-align: center; border: 0; padding: 0; font-size: 45px; }
.problem-first { display: block; font: 700 27px/1.7 var(--sans); color: #39352d; margin-bottom: 18px; }
.problem-last { display: block; color: #8c282d; font: 900 47px/1.5 var(--serif); letter-spacing: -.05em; }
main .pain-day { background: #fff; padding-top: 24px; }
main .pain-day .section-title { font-size: 25px; line-height: 1.65; padding-top: 30px; border-top: 1px solid #d6c5a5; max-width: 740px; }
.pain-day .section-title br { display: none; }
main .day-list { border: 0; padding: 0; max-width: 740px; }
main .pain-day .day-list p { position: relative; padding: 15px 0 15px 90px; font-size: 16px; margin: 0; border-bottom: 1px solid #e6ddce; }
main .pain-day .day-list p::before { content: attr(data-time); left: 0; top: 18px; width: 65px; height: auto; border-radius: 0; background: #f1e3c4; color: #755321; text-align: center; font-size: 12px; font-weight: 700; padding: 3px; }
main .pain-proof { background: #f6f1e7; }
main .photo-band { background: white; border: 1px solid #d4c5a6; margin-top: 30px; }
main .photo-band-copy { font: 900 25px/1.7 var(--sans); color: #554329; }
main .testimonial-text { max-width: 740px; background: #fff; border-left: 4px solid #b39453; padding: 26px 30px; font: 700 21px/1.95 var(--serif); color: #46351f; margin: 26px auto; }
main .problem-detail { background: #fff; }
main .problem-detail .section-title { font: 900 35px/1.7 var(--sans); padding: 25px 24px; background: #f6efdF; border-top: 2px solid #b79349; border-bottom: 1px solid #ccb785; }
main .points { padding: 23px 30px; background: #faf6ec; border: 1px solid #cfbb8a; }
main .points-label { color: #63491b; }
main .os-section { background: #f4ead3; }
main .os-section .section-title { font-size: 33px; }
main .os-section .section-title em { font: 900 1.45em var(--serif); color: #956823; border-bottom: 4px solid #c39b40; }
main .vs-grid { max-width: 740px; gap: 30px; }
main .vs-col { border: 0; background: #dcd9d3; padding: 26px 18px; }
main .vs-col:last-child { background: #9b722b; box-shadow: inset 0 0 0 5px #cfb77d; }
main .vs-h { color: #57534d; font: 900 40px var(--sans); }
main .vs-col:last-child .vs-h, main .vs-col:last-child p { color: #fff; }
main .vs-col p { font-size: 13px; margin-bottom: 0; }
/* Real makers and real production photographs. */
main .authority { background: #fff; color: #302b23; border: 0; }
main .authority .section-title { font-size: 30px; color: #393020; }
main .authority .section-title small { color: #987026; font-size: 17px; }
.people-cross { color: #ac9159; display: inline-block; margin: 0 17px; }
main .authority .photo-2col { max-width: 880px; margin: 30px auto 42px; gap: 32px; }
main .authority .photo-2col img { width: 100%; height: 330px; object-fit: cover; border: 0; }
.creator { border-bottom: 3px solid #b39453; }
.creator p { text-align: center; margin: 0; padding: 13px 10px 17px; background: #f6efe0; }
.creator small { display: block; font-size: 11px; }
.creator b { font: 700 30px/1.5 var(--serif); }
.creator-message { font: 700 31px/1.75 var(--serif); color: #886020; text-align: center; margin: 20px auto 35px; }
main .authority .testimonial-text { color: #483d2c; background: #f7f2e8; }
main .authority .hl-gold { color: inherit; }
main .why-paid { background: #f6f3ec; }
main .why-paid .section-title { font-family: var(--serif); font-size: 35px; }
main .mastering { background: #fff; border-top: 6px solid #a27b37; }
main .mastering .section-title { font-size: 37px; color: #8f6722; }
/* A visible route made from the real five covers, with big Japanese names. */
main .mechanism { background: #f3eddf; }
main .mechanism .section-title { font-size: 39px; color: #61451c; }
.program-route { display: grid; grid-template-columns: repeat(5, 1fr); gap: 30px; margin: 42px auto 24px; padding: 0 15px; }
.program-route a { text-align: center; text-decoration: none; min-width: 0; position: relative; }
.program-route a + a::before { content: '›'; position: absolute; top: 23%; left: -23px; font-size: 36px; color: #9a7d45; }
.program-route img { width: 100%; border: 3px solid #fff; box-shadow: 0 3px 7px #35280f20; }
.program-route small { display: block; margin: 12px 0 3px; color: #765825; font-size: 11px; font-weight: 700; }
.program-route b { font-size: 20px; font-weight: 900; }
.program-first { margin: 25px 0 14px; font: 700 20px/1.8 var(--sans); text-align: center; }
.calendar-details { max-width: 760px; margin: 20px auto 45px; }
.calendar-details summary { font-size: 13px; color: #71603d; text-align: center; cursor: pointer; padding: 14px; text-decoration: underline; text-underline-offset: 5px; }
.calendar-details .cal { margin: 10px auto; }
main .track-card { background: #fff; padding: 38px; margin: 0 0 32px; grid-template-columns: 270px 1fr; column-gap: 32px; border: 0; border-top: 5px solid #8d7948; }
main .track-card:nth-of-type(even) { border-top-color: #bc9646; }
main .track-art { grid-row: span 2; padding: 0; }
main .track-art img { box-shadow: 4px 5px 0 #cabc9b4a; }
main .track-head .step-title { margin: 0; }
main .track-no { background: #776331; font: 700 11px var(--sans); padding: 6px 13px; letter-spacing: .04em; }
main .track-en { font-size: 19px; color: #8e7845; margin: 10px 0 5px; }
main .track-role { font: 900 39px/1.5 var(--serif); color: #5a3d16; }
main .track-spec { font-size: 11px; margin: 15px 0; color: #5c5445; }
main .track-spec .hl-gold { background: none; }
main .track-text .section-text { font-size: 15px; line-height: 1.95; margin: 18px 0; }
main .narrative { background: #fff; }
main .narrative .section-title { font-family: var(--serif); }
.listening-image { float: right; width: 37%; margin: 0 0 25px 38px; }
.listening-image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 80% center; }
.listening-image figcaption { font-size: 9px; text-align: right; line-height: 1.8; margin-top: 7px; }
.narrative .container { max-width: 820px; display: flow-root; }
main .narrative .testimonial-text { overflow: hidden; font-size: 18px; padding: 22px; }
main .production { background: #242522; color: #fff; }
main .production .section-title { color: #edd399; font-size: 37px; }
main .production .hl-gold { color: #f2d899; background: none; }
main .production .studio { gap: 12px; margin-bottom: 35px; }
main .production .studio-main { height: 410px; }
main .production .studio-sub { gap: 12px; }
main .production .studio-sub img { height: 199px; }
main .results { background: #fff; }
main .results .section-title { font-size: 33px; }
main .results-grid { gap: 24px; }
main .result-category { border: 1px solid #ddcba5; background: #fcf8f0; padding: 0 22px 10px; }
main .result-category-title { margin: 0 -22px 22px; padding: 14px 10px; text-align: center; background: #f0e1be; font: 900 20px var(--sans); }
main .result-list li { font-size: 14px; }
/* Evidence is presented like a reader letter, with its source attached. */
main .testimonial-grid { background: #f4f0e8; }
main .testimonial-grid .section-title { font-size: 34px; }
.evidence-note { font-size: 12px; text-align: center; margin: -15px auto 30px; color: #625a4c; }
.evidence-label { background: #8d7138; color: white; padding: 8px 15px; text-align: center; font-size: 14px; font-weight: 700; margin: 35px auto 0; max-width: 800px; }
main .stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 800px; margin: 0 auto 36px; background: white; border: 1px solid #bea76f; padding: 25px 0; }
main .stat-circle b { font: 700 66px/1 Georgia, serif; color: #9e7525; }
main .stat-label { color: #514a3d; font-size: 12px; }
main .yt-shot { background: white; max-width: 740px; }
.voice-letter { max-width: 800px; margin: 24px auto; padding: 27px 35px; background: #fff; border: 1px solid #d5c7ac; box-shadow: 4px 4px 0 #ddd1b640; }
main .voice-letter .testimonial-text { border: 0; padding: 0; margin: 0; font: 700 24px/1.9 var(--serif); color: #775522; background: none; }
main .voice-letter .testimonial-text::before { display: none; }
main .voice-letter .section-text { font-size: 11px; line-height: 1.8; margin: 15px 0 0; color: #6a645a; }
/* Each bonus description is paired with its actual interior, not a stock scene. */
main .bonus { background: #fff; border: 0; padding-top: 0; }
main .bonus > .container > .section-title { max-width: none; background: #b18b3f; color: white; margin: 0 calc((1000px - 100vw)/2) 38px; padding: 28px 20px 32px; font-size: 34px; border-top: 4px solid #dec997; border-bottom: 4px solid #dec997; }
main .bonus .section-title small { color: #fff5d9; }
main .bonus .section-title em { color: white; font-size: 1.35em; }
main .books-fig { max-width: 860px; margin: 32px auto; }
main .books-meta { border-bottom: 1px solid #d8c6a0; padding-bottom: 25px; }
main .books-meta li { border-top: 0; padding-top: 0; }
main .books-meta span { color: #4f3a18; font: 900 15px/1.7 var(--sans); }
.bonus-detail { position: relative; max-width: 940px; padding: 35px 35px 30px; border: 1px solid #d4be8b; margin: 48px auto 0; display: grid; grid-template-columns: 1fr 215px; column-gap: 35px; background: #fcf9f2; }
.bonus-number { position: absolute; top: -17px; left: 30px; padding: 4px 18px; color: white; background: #9d762a; font-size: 12px; }
.bonus-number b { font: 24px/1 Georgia, serif; margin-left: 4px; }
main .bonus-detail .step-title { color: #664915; font: 900 23px/1.6 var(--sans); margin: 0 0 22px; }
main .bonus-detail .section-text { font-size: 15px; line-height: 1.95; margin: 20px 0 0; }
.bonus-page img { width: 100%; box-shadow: 0 5px 18px #5d492a24; }
.bonus-page figcaption { text-align: center; font-size: 10px; margin-top: 10px; }
.journal-note { display: flex; align-items: center; max-width: 740px; margin: 45px auto 0; gap: 30px; }
.journal-note img { width: 48%; }
.journal-note b { display: block; font: 700 26px/1.7 var(--serif); color: #765320; }
.journal-note span { display: block; font-size: 9px; margin-top: 18px; line-height: 1.8; color: #797163; }
main .vip { background: #30271c; color: #fff3db; border-top: 3px solid #c2a05c; border-bottom: 3px solid #c2a05c; }
main .vip .section-title { color: #efcf88; font-family: var(--serif); }
main .vip .hl-gold { color: #efcf88; background: none; }
main .money-objection { background: #fff; }
main .money-objection .section-title { color: #735121; font-family: var(--serif); font-size: 35px; }
/* The offer becomes a clear comparison, with one visually primary course. */
main .value-section { background: #f7f0df; border-top: 5px solid #b9974f; }
main .value-section .section-title { font-size: 37px; }
main .price-cards { grid-template-columns: 1fr 1.1fr 1fr; gap: 18px; }
main .price-card { border: 1px solid #c5b795; padding-left: 21px; padding-right: 21px; }
main .price-card.featured { border: 3px solid #aa832f; outline: 0; box-shadow: 0 8px 16px #63441b14; }
main .price-ribbon { margin-left: -22px; margin-right: -22px; background: #675b44; }
main .featured .price-ribbon { margin-left: -22px; margin-right: -22px; background: #aa832f; }
main .price-card:first-child::before { margin-left: -22px; margin-right: -22px; }
main .price-name { font: 900 22px var(--sans); color: #3c3425; }
main .price-amount { color: #7b5620; }
main .price-num { font: 700 50px Georgia, serif; letter-spacing: -.06em; }
main .price-card .cta-button { min-height: 64px; font-size: 13px; }
main .price-card .section-text { font-size: 12px; }
main .price-card .price-note { font-size: 10px; color: #6b665a; }
main .price-card:not(.featured) .cta-button { color: #554c38; background: #fff; box-shadow: 0 4px 0 #c4b082; }
main .guarantee { background: #fff; }
main .guarantee .container { max-width: 870px; padding: 38px 50px; border: 3px double #b59752; }
main .guarantee .section-title { color: #79591e; font-size: 31px; }
main .seal { width: 148px; height: 148px; margin-bottom: 30px; background: #faf2dc; }
main .offer { background: #f5f0e5; }
main .offer .section-title { font-size: 33px; }
main .offer-table { font-size: 13px; }
main .offer-table th { background: #e9ddc2; color: #4d4026; }
main .offer-table th:nth-child(3) { background: #a37d30; color: white; }
main .offer-table td:nth-child(3) { background: #fff9e8; }
main .faq-list { background: #fff; }
main .faq-item summary { color: #53422a; }
main .faq-item summary::before { color: #a17d34; }
main .closing { background: #f6efe0; border-top: 1px solid #d3b982; }
main .closing .section-title { font: 700 35px/1.7 var(--serif); color: #775322; }
main .footer { background: #fff; padding: 45px 28px; }
main .footer .section-title { font-size: 20px; }
main .footer .section-text, main .footer .result-list li { font-size: 12px; line-height: 1.9; }
@media (max-width: 1055px) and (min-width: 768px) {
  main .bonus > .container > .section-title { margin-left: -28px; margin-right: -28px; }
  main .track-card { grid-template-columns: 225px 1fr; padding: 28px; column-gap: 25px; }
  main .price-card { padding-left: 15px; padding-right: 15px; }
  main .price-card:first-child::before, main .price-ribbon, main .featured .price-ribbon { margin-left: -16px; margin-right: -16px; }
  main .price-name { font-size: 18px; }
  main .price-num { font-size: 40px; }
  main .price-card .cta-button { font-size: 11px; }
  main .authority .section-title { font-size: 26px; }
  .people-cross { margin: 0 8px; }
}
@media (max-width: 767px) {
  main .section-padding { padding: 46px 22px; }
  main .section-title { font-size: 26px; line-height: 1.65; margin-bottom: 27px; letter-spacing: -.035em; }
  main .section-title small { font-size: 12px; letter-spacing: .01em; margin-bottom: 13px; }
  main .section-text { font-size: 15px; line-height: 2; margin: 21px auto; }
  main .step-title { font-size: 21px; }
  main .block-label { font-size: 11px; margin-bottom: 14px; }
  main .cta-buttons { margin-top: 28px; }
  main .cta-button { font-size: 17px; min-height: 71px; }
  main .cta-sub { font-size: 10px; }
  main .cta-band { padding: 28px 22px; }
  main .cta-band .cta-buttons { margin-top: 0; }
  .cta-band-heading { font-size: 18px; }
  .cta-band-detail { font-size: 10px; margin-bottom: 20px; }
  main .product-snapshot { padding-top: 37px; }
  main .product-snapshot .section-title { font-size: 22px; line-height: 1.7; margin-bottom: 15px; }
  main .heading-plus { margin: 0 6px; font-size: .7em; }
  .product-description { font-size: 12px; margin-bottom: 25px; line-height: 1.9; }
  .delivery-package { margin: 0 -8px; padding: 20px 14px 12px; }
  .delivery-label { padding: 5px 13px; margin-bottom: 20px; font-size: 12px; }
  main .jackets-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 12px; }
  main .jackets-row figure { width: calc((100% - 24px)/3); display: block; }
  main .jackets-row figure:last-child { display: block; }
  main .jackets-row figcaption { padding-top: 8px; }
  main .jackets-row figure:last-child figcaption { padding-top: 8px; }
  main .jackets-row figcaption small { font-size: 7px; }
  main .jackets-row figcaption b { font-size: 13px; }
  main .jackets-row figcaption span { font-size: 8px; }
  .package-plus { font-size: 28px; margin: 15px 0; }
  .pdf-delivery .delivery-label { margin-bottom: 8px; }
  .pdf-delivery > p:last-child { font-size: 9px; }
  .delivery-note { font-size: 9px; line-height: 1.85; margin: 17px auto; }
  main .product-snapshot .offer-summary li { font-size: 13px; line-height: 1.9; padding: 12px 0; }
  main .product-snapshot > .container > .section-text { font-size: 12px; text-align: left; }
  main .emergency-warning { padding-top: 24px; padding-bottom: 24px; }
  main .emergency-warning .section-title { font-size: 15px; line-height: 1.8; }
  main .emergency-warning .section-text { font-size: 11px; }
  .warning-box { padding-left: 13px; }
  main .main-problem { padding-top: 43px; padding-bottom: 12px; }
  main .main-problem .section-title { padding: 0; margin-bottom: 28px; }
  .problem-first { font-size: 17px; line-height: 1.85; margin-bottom: 17px; }
  .problem-last { font-size: 29px; line-height: 1.65; }
  main .pain-day { padding-top: 10px; }
  main .pain-day .section-title { font-size: 21px; padding-top: 25px; }
  main .pain-day .day-list p { font-size: 13px; line-height: 1.95; padding: 14px 0 14px 63px; }
  main .pain-day .day-list p::before { width: 48px; top: 18px; font-size: 10px; padding: 3px; }
  main .photo-band-copy { font-size: 20px; padding: 20px; }
  main .testimonial-text { font-size: 18px; padding: 22px 20px; }
  main .problem-detail .section-title { font-size: 23px; padding: 20px 12px; margin: 0 -10px 28px; }
  main .points { padding: 20px; }
  main .os-section .section-title { font-size: 21px; }
  main .os-section .section-title em { font-size: 1.4em; border-bottom-width: 3px; }
  main .vs-grid { gap: 14px; margin: 30px auto; }
  main .vs-col { padding: 22px 6px; }
  main .vs-h { font-size: 29px; }
  main .vs-col p { font-size: 10px; }
  main .authority .section-title { font-size: 22px; }
  main .authority .section-title small { font-size: 12px; }
  .people-cross { display: block; margin: 0; line-height: 1.1; font-size: 22px; }
  main .authority .photo-2col { gap: 13px; margin: 25px auto 28px; }
  main .authority .photo-2col img { height: 180px; }
  .creator p { padding: 10px 5px; }
  .creator small { font-size: 9px; }
  .creator b { font-size: 23px; }
  .creator-message { font-size: 22px; line-height: 1.75; margin-bottom: 25px; }
  main .why-paid .section-title { font-size: 25px; }
  main .mastering .section-title { font-size: 27px; }
  main .mechanism .section-title { font-size: 28px; }
  .program-route { gap: 7px; padding: 0; margin: 28px 0 20px; }
  .program-route a + a::before { display: none; }
  .program-route img { border-width: 1px; }
  .program-route small { font-size: 8px; margin-top: 8px; }
  .program-route b { font-size: 10px; white-space: nowrap; }
  .program-first { font-size: 14px; margin: 18px 0 0; }
  .calendar-details { margin: 10px auto 23px; }
  .calendar-details summary { font-size: 11px; }
  main .track-card { grid-template-columns: 105px 1fr; gap: 18px; padding: 24px 17px 6px; margin: 0 -5px 25px; border-top-width: 4px; }
  main .track-art { grid-row: 1; }
  main .track-no { font-size: 9px; padding: 5px 9px; }
  main .track-en { font-size: 13px; margin: 10px 0 5px; }
  main .track-role { font-size: 27px; line-height: 1.4; }
  main .track-spec { font-size: 9px; margin-top: 12px; }
  main .track-text .section-text { font-size: 14px; line-height: 1.95; margin: 0 0 20px; }
  .listening-image { float: none; width: 100%; margin: 0 auto 25px; }
  .listening-image img { aspect-ratio: 3/2; object-position: center; }
  .listening-image figcaption { font-size: 8px; }
  main .production .section-title { font-size: 26px; }
  main .production .studio-main { height: 245px; }
  main .production .studio-sub img { height: 120px; }
  main .results .section-title { font-size: 25px; }
  main .result-category { padding-left: 18px; padding-right: 18px; }
  main .result-category-title { font-size: 19px; margin-left: -18px; margin-right: -18px; }
  main .testimonial-grid .section-title { font-size: 25px; }
  main .testimonial-grid .section-title small { font-size: 10px; }
  .evidence-note { font-size: 10px; line-height: 1.8; margin-top: -8px; }
  .evidence-label { font-size: 12px; margin-top: 25px; }
  main .stats { padding: 20px 0; margin-bottom: 25px; }
  main .stat-circle b { font-size: 41px; }
  main .stat-label { font-size: 10px; }
  .voice-letter { padding: 22px; margin: 22px -5px; }
  main .voice-letter .testimonial-text { font-size: 20px; }
  main .voice-letter .section-text { font-size: 10px; }
  main .bonus { padding-top: 0; }
  main .bonus > .container > .section-title { font-size: 24px; margin: 0 -22px 26px; padding: 22px 15px 27px; }
  main .bonus .section-title em { font-size: 1.25em; }
  main .books-fig { margin: 25px 0; }
  main .books-meta { gap: 16px; padding: 0 0 20px; }
  main .books-meta span { font-size: 13px; }
  .bonus-detail { grid-template-columns: 1fr; padding: 27px 20px 23px; margin: 38px -5px 0; }
  .bonus-number { left: 17px; font-size: 10px; padding: 4px 14px; }
  .bonus-number b { font-size: 22px; }
  main .bonus-detail .step-title { font-size: 19px; margin-bottom: 17px; }
  main .bonus-detail .section-text { font-size: 13px; line-height: 1.95; margin-top: 15px; }
  .bonus-page { max-width: 210px; margin: 23px auto 0; }
  .bonus-page figcaption { font-size: 9px; }
  .journal-note { gap: 17px; margin-top: 30px; }
  .journal-note b { font-size: 18px; }
  .journal-note span { font-size: 8px; margin-top: 10px; }
  main .money-objection .section-title { font-size: 26px; }
  main .value-section .section-title { font-size: 27px; }
  main .price-cards { gap: 28px; }
  main .price-card { padding: 27px 25px 30px; }
  main .price-card.featured { border-width: 3px; }
  main .price-name { font-size: 25px; }
  main .price-num { font-size: 58px; }
  main .price-card .price-note { font-size: 11px; }
  main .price-ribbon, main .featured .price-ribbon, main .price-card:first-child::before { margin-left: -26px; margin-right: -26px; }
  main .price-card .cta-button { font-size: 16px; }
  main .price-card .section-text { font-size: 13px; }
  main .guarantee .container { padding: 28px 18px; margin: 0 -5px; }
  main .guarantee .section-title { font-size: 22px; }
  main .guarantee .section-text { font-size: 13px; }
  main .seal { width: 135px; height: 135px; }
  main .offer { padding-left: 14px; padding-right: 14px; }
  main .offer .section-title { font-size: 25px; }
  main .offer-table { font-size: 11px; }
  main .offer-table th { font-size: 10px; }
  main .closing .section-title { font-size: 26px; }
  main .footer .section-title { font-size: 17px; }
  main .footer .section-text, main .footer .result-list li { font-size: 10px; }
}
@media (max-width: 360px) {
  main .section-padding { padding-left: 19px; padding-right: 19px; }
  main .product-snapshot .section-title { font-size: 19px; }
  main .heading-plus { margin: 0 4px; }
  .problem-first { font-size: 15px; }
  .problem-last { font-size: 25px; }
  main .os-section .section-title { font-size: 18px; }
  main .track-card { grid-template-columns: 89px 1fr; gap: 15px; }
  main .track-role { font-size: 25px; }
  main .track-en { font-size: 12px; }
  main .authority .photo-2col img { height: 154px; }
  main .bonus > .container > .section-title { margin-left: -19px; margin-right: -19px; font-size: 22px; }
  main .price-num { font-size: 52px; }
  main .price-card .cta-button { font-size: 14px; }
  main .guarantee .section-title { font-size: 20px; }
}
