/* The free curriculum and its homepage introduction. */
.fg-promo,.fg-path,.field-guide-page{--fg-gold:#c4ad80;--fg-white:#f2f2ef;--fg-muted:#a4a5a2;--fg-line:#35362f;--fg-latin:'Manrope',sans-serif;--fg-serif:'Shippori Mincho B1',serif;--fg-sans:'Noto Sans JP',sans-serif}
.fg-kicker{display:block;font:500 10px/1.7 var(--fg-latin);letter-spacing:.12em;color:var(--fg-gold)}
.fg-promo{display:grid;grid-template-columns:1.3fr .7fr;align-items:center;gap:8%;padding-bottom:52px}
.fg-promo h2{font-family:var(--fg-serif);font-size:clamp(34px,4.2vw,64px);line-height:1.6;letter-spacing:.05em;margin:18px 0 22px}
.fg-promo-copy>p{color:var(--fg-muted);font-size:13px;line-height:2.2;max-width:39em}
.fg-free{display:inline-block;border:1px solid #c4ad8066;padding:4px 12px;font:500 10px/1.8 var(--fg-sans);color:var(--fg-gold);letter-spacing:.1em}
.fg-button{display:inline-flex;justify-content:space-between;align-items:center;gap:36px;max-width:100%;padding:17px 24px;margin-top:28px;background:var(--fg-gold);border:1px solid var(--fg-gold);color:#0c0d0d;font:500 13px/1.8 var(--fg-sans);transition:background .2s,color .2s}
.fg-button>span{font-size:21px;line-height:1}
.fg-button:hover{background:#e0cda7;border-color:#e0cda7}
.fg-promo .fg-publication{font-size:10px;margin-top:14px;color:var(--fg-muted)}
.fg-edition{align-self:stretch;display:flex;flex-direction:column;justify-content:center;border-left:1px solid var(--fg-line);padding-left:15%;color:var(--fg-gold)}
.fg-edition-number{display:flex;align-items:baseline;gap:12px;font:500 clamp(130px,16vw,235px)/1.1 var(--fg-latin);letter-spacing:-.085em;margin:14px 0}
.fg-edition-number>span{font-size:clamp(20px,2.3vw,36px);letter-spacing:-.03em}
.fg-edition-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:18px;border-top:1px solid var(--fg-line);font:400 12px/1.8 var(--fg-sans)}
.fg-edition-bottom strong{font:500 32px/1 var(--fg-latin);letter-spacing:-.05em;margin-inline:8px}
.fg-edition-bottom>span:last-child{color:var(--fg-muted);font-size:11px}
.fg-path{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0;margin:0;border-block:1px solid var(--fg-line)}
.fg-path li{min-width:0}
.fg-path li+li{border-left:1px solid var(--fg-line)}
.fg-path a{position:relative;display:block;height:100%;padding:25px 24px;color:var(--fg-white);text-decoration:none;transition:background .2s}
.fg-path a:hover{background:#c4ad800c}
.fg-path strong{display:block;font:500 18px/1.7 var(--fg-serif);margin-top:9px;padding-right:14px}
.fg-path-arrow{position:absolute;right:18px;top:24px;font:400 17px/1.5 var(--fg-latin);color:var(--fg-gold)}
.fg-promo a:focus-visible,.fg-path a:focus-visible,.field-guide-page a:focus-visible{outline:2px solid var(--fg-gold);outline-offset:5px}
.fg-page{max-width:1280px;width:calc(100% - 112px);margin-inline:auto;color:var(--fg-white);font-family:var(--fg-sans)}
.fg-page h1,.fg-page h2,.fg-page h3,.fg-page p{margin:0;font-weight:400}
.fg-page em{font-style:normal;color:var(--fg-gold)}
.fg-breadcrumb{display:flex;gap:14px;align-items:center;padding-block:28px;font-size:10px;color:var(--fg-muted)}
.fg-breadcrumb a{color:var(--fg-gold)}
.fg-page-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:9%;padding:48px 0 65px}
.fg-page-intro h1{font:500 clamp(36px,4.4vw,64px)/1.6 var(--fg-serif);letter-spacing:.045em;margin:18px 0 24px}
.fg-page-intro>p{font-size:13px;line-height:2.2;color:var(--fg-muted)}
.fg-page .fg-edition{padding-left:18%}
.fg-overview .fg-path strong{font-size:16px;line-height:1.8;padding-right:0}
.fg-how{display:grid;grid-template-columns:1fr 1.5fr;gap:10%;padding-block:52px}
.fg-how h2{font:400 27px/1.7 var(--fg-serif)}
.fg-how p{font-size:13px;color:var(--fg-muted);line-height:2.1}
.fg-how p+p{margin-top:12px}
.fg-curriculum{scroll-margin-top:28px}
.fg-curriculum-head{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:30px 0;border-top:1px solid var(--fg-gold)}
.fg-curriculum-head h2{font:400 27px/1.6 var(--fg-serif);margin-top:10px}
.fg-curriculum-head>p{color:var(--fg-muted);font-size:11px;line-height:2}
.fg-step{display:grid;grid-template-columns:.95fr 1.35fr;align-items:start;gap:9%;padding-block:50px 60px;border-top:1px solid var(--fg-line);scroll-margin-top:28px}
.fg-step-intro{position:sticky;top:30px}
.fg-step-heading{display:flex;gap:24px;align-items:center}
.fg-step-number{font:400 67px/1 var(--fg-latin);letter-spacing:-.065em;color:var(--fg-gold)}
.fg-step h3{font:400 clamp(21px,2vw,28px)/1.7 var(--fg-serif);margin-top:9px}
.fg-step-intro>p{font-size:13px;line-height:2.2;color:var(--fg-muted);margin-top:24px}
.fg-goal{margin-top:30px;padding-left:18px;border-left:2px solid #c4ad8066}
.fg-goal .fg-kicker{font-size:9px;letter-spacing:.08em}
.fg-goal>p{font-size:12px;line-height:2;margin-top:8px;color:#d9d4c9}
.fg-lessons-meta{display:flex;justify-content:space-between;gap:16px;font:500 9px/1.8 var(--fg-latin);letter-spacing:.1em;color:var(--fg-gold);padding-bottom:15px}
.fg-lessons-meta>span:last-child{font-family:var(--fg-sans);color:var(--fg-muted);letter-spacing:.04em}
.fg-lessons ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--fg-line)}
.fg-lessons li{display:grid;grid-template-columns:51px 1fr;align-items:baseline;gap:16px;padding:17px 0;border-bottom:1px solid var(--fg-line);font-size:13px;line-height:1.9}
.fg-lesson-id{font:500 11px/1.9 var(--fg-latin);letter-spacing:.03em;color:var(--fg-gold)}
.fg-page-end{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px;border-top:1px solid var(--fg-gold);padding:40px 0 70px}
.fg-page-end>p{font:400 24px/1.8 var(--fg-serif)}
.fg-page-end .fg-button{margin-top:0}
.fg-button-outline{background:transparent;color:var(--fg-gold)}
.fg-button-outline:hover{color:#0c0d0d}
.fg-back{width:100%;text-align:right;font-size:10px;color:var(--fg-muted)}
@media(max-width:1000px){
  .fg-page{width:calc(100% - 64px)}
  .fg-promo,.fg-page-hero{gap:5%;grid-template-columns:1.35fr .65fr}
  .fg-edition,.fg-page .fg-edition{padding-left:12%}
  .fg-path a{padding:22px 16px}
  .fg-path-arrow{right:12px;top:20px}
  .fg-step{gap:6%;grid-template-columns:1fr 1.25fr}
  .fg-step-heading{gap:17px;align-items:start}
  .fg-step-number{font-size:53px}
}
@media(max-width:700px){
  .fg-promo{grid-template-columns:1fr;gap:30px;padding-bottom:32px}
  .fg-promo h2{font-size:clamp(28px,7.7vw,43px);letter-spacing:.03em;line-height:1.65}
  .fg-promo-copy>p{font-size:12px}
  .fg-button{display:flex;width:100%;gap:18px;padding:16px 19px;font-size:12px}
  .fg-promo .fg-publication{font-size:10px}
  .fg-edition,.fg-page .fg-edition{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 25px;border-left:0;border-top:1px solid var(--fg-line);padding:24px 0 0}
  .fg-edition>.fg-kicker{grid-column:2;grid-row:1;font-size:8px;letter-spacing:.06em}
  .fg-edition-number{grid-column:1;grid-row:1/3;font-size:112px;gap:10px;margin:0}
  .fg-edition-number>span{font-size:19px}
  .fg-edition-bottom{grid-column:2;grid-row:2;display:block;padding-top:12px;margin-top:10px;font-size:11px}
  .fg-edition-bottom>span{display:block}
  .fg-edition-bottom>span:last-child{margin-top:10px;font-size:10px}
  .fg-edition-bottom strong{font-size:28px}
  .fg-path{grid-template-columns:1fr}
  .fg-path li+li{border-left:0;border-top:1px solid var(--fg-line)}
  .fg-path a{display:grid;grid-template-columns:66px 1fr;gap:12px;align-items:center;padding:18px 10px}
  .fg-path .fg-kicker{font-size:9px}
  .fg-path strong,.fg-overview .fg-path strong{font-size:16px;margin:0;padding-right:20px}
  .fg-path-arrow{top:18px;right:10px}
  .fg-page{width:calc(100% - 40px)}
  .fg-breadcrumb{padding-block:20px;font-size:9px}
  .fg-page-hero{grid-template-columns:1fr;gap:35px;padding:20px 0 32px}
  .fg-page-intro h1{font-size:clamp(28px,7.7vw,43px);letter-spacing:.03em;margin:18px 0 22px}
  .fg-page-intro>p{font-size:12px}
  .fg-page-intro>p br{display:none}
  .fg-how{grid-template-columns:1fr;gap:20px;padding-block:36px}
  .fg-how h2{font-size:24px}
  .fg-how h2 br{display:none}
  .fg-how p{font-size:12px}
  .fg-curriculum-head{display:block;padding-block:26px}
  .fg-curriculum-head h2{font-size:25px}
  .fg-curriculum-head>p{margin-top:18px}
  .fg-step{grid-template-columns:1fr;gap:30px;padding-block:34px 42px}
  .fg-step-intro{position:static}
  .fg-step-heading{gap:20px;align-items:center}
  .fg-step h3{font-size:22px;margin-top:7px}
  .fg-step .fg-kicker{font-size:9px}
  .fg-step-intro>p{font-size:12px;margin-top:20px}
  .fg-goal{margin-top:20px}
  .fg-lessons li{gap:12px;font-size:12px;padding-block:16px}
  .fg-page-end{display:block;padding-bottom:44px}
  .fg-page-end>p{font-size:22px}
  .fg-page-end .fg-button{margin-top:24px}
  .fg-back{display:block;margin-top:28px}
}
@media(prefers-reduced-motion:reduce){.fg-button,.fg-path a{transition:none}}

/* Published curriculum and the lesson reader. */
.fg-index-jump{display:block;width:fit-content;margin-top:18px;font-size:12px;color:var(--fg-muted);text-decoration:underline;text-underline-offset:5px}
.fg-lessons li{display:block;padding:0}
.fg-lessons li>a{display:grid;grid-template-columns:51px minmax(0,1fr) 14px;gap:16px;align-items:baseline;padding:19px 8px 19px 0;transition:background .2s,color .2s}
.fg-lessons li>a:hover{background:#c4ad800c;color:var(--fg-gold)}
.fg-row-arrow{color:var(--fg-gold)}
.fg-reader{max-width:1200px;width:calc(100% - 112px);margin-inline:auto;font-family:var(--fg-sans)}
.fg-reader .fg-breadcrumb{flex-wrap:wrap}
.fg-lesson-hero{padding:35px 0 0;border-bottom:1px solid var(--fg-line)}
.fg-lesson-stage{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--fg-gold);line-height:1.8}
.fg-lesson-stage>span{font-family:var(--fg-latin);color:var(--fg-muted);white-space:nowrap;letter-spacing:.08em}
.fg-lesson-title-row{display:flex;gap:40px;align-items:center;margin:28px 0}
.fg-cover-id{font:400 clamp(48px,6vw,84px)/1 var(--fg-latin);color:var(--fg-gold);letter-spacing:-.065em;white-space:nowrap}
.fg-lesson-title-row h1{font:500 clamp(27px,3.2vw,43px)/1.65 var(--fg-serif);color:var(--fg-white);margin:0;text-wrap:balance;overflow-wrap:anywhere}
.fg-lesson-description{font-size:14px;line-height:2.2;color:#b5b7b4;max-width:52em;margin:0 0 32px}
.fg-lesson-meta{display:flex;justify-content:space-between;gap:20px;line-height:1.8;font-size:11px;color:var(--fg-muted);padding:20px 0;border-top:1px solid var(--fg-line)}
.fg-lesson-meta a{color:var(--fg-gold);white-space:nowrap}
.fg-reading-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(220px,270px);gap:7%;align-items:start;padding:48px 0 80px}
.fg-reading-main{min-width:0}
.fg-lesson-bridge{padding:24px 28px;border:1px solid var(--fg-line);margin-bottom:48px;background:#c4ad8005}
.fg-lesson-bridge h2{font:500 20px/1.8 var(--fg-serif);margin:12px 0;color:var(--fg-white)}
.fg-lesson-bridge p{font-size:13px;line-height:2.1;margin:0;color:#bfc1bc}
.fg-first-action{margin-top:20px;padding-top:18px;border-top:1px solid var(--fg-line)}
.fg-first-action>span{display:block;color:var(--fg-gold);font-size:10px;margin-bottom:8px}
.fg-reading-aside{align-self:stretch;min-width:0}
.fg-aside-inner{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--fg-line) transparent}
.fg-reading-aside summary{cursor:pointer;color:var(--fg-gold);font-size:12px;line-height:1.8;padding:14px 0;border-block:1px solid var(--fg-line)}
.fg-reading-aside summary [data-progress]{float:right;font-family:var(--fg-latin);font-size:11px}
.fg-reading-aside .toc-list{display:block;padding:0;margin:0;list-style:none}
.fg-reading-aside .toc-list a{font-size:11px;line-height:1.8;padding:10px 0;display:flex;gap:10px}
.fg-reading-aside .toc-list a b{flex:0 0 20px;font-family:var(--fg-latin)}
.fg-step-toc{margin-top:25px}
.fg-step-toc ol{list-style:none;padding:0;margin:12px 0}
.fg-step-toc a{display:block;padding:10px 0;font-size:11px;line-height:1.8;color:var(--fg-muted)}
.fg-step-toc a>span{display:block;font-family:var(--fg-latin);color:var(--fg-gold);font-size:10px}
.fg-step-toc a[aria-current=page]{color:var(--fg-white);border-left:2px solid var(--fg-gold);padding-left:10px}
.fg-return-index{display:block;margin-top:24px;font-size:11px;line-height:1.8;color:var(--fg-gold);text-decoration:underline;text-underline-offset:5px}
.fg-lesson-page .article-body{overflow-wrap:anywhere}
.fg-lesson-page .article-body>p{margin-top:0}
.fg-lesson-page .article-body h2{font-size:26px;line-height:1.85}
.fg-lesson-page .article-body table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:25px 0;font-size:13px;line-height:1.9;scrollbar-width:thin}
.fg-lesson-page .article-body th,.fg-lesson-page .article-body td{min-width:90px;padding:12px;border:1px solid var(--fg-line);vertical-align:top}
.fg-lesson-page .article-body th{color:var(--fg-gold);background:#c4ad8009;text-align:left;font-weight:500}
.fg-lesson-page .article-body a{text-decoration:underline;text-underline-offset:4px;color:var(--fg-gold)}
.fg-lesson-end{margin-top:60px;padding-top:30px;border-top:1px solid var(--fg-gold)}
.fg-lesson-end h2{font:400 25px/1.85 var(--fg-serif);color:var(--fg-white);margin:16px 0}
.fg-lesson-end>p{font-size:13px;line-height:2.1;color:var(--fg-muted)}
.fg-pager{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.fg-page-turn{min-width:0;padding:20px;border:1px solid var(--fg-line);transition:background .2s}
.fg-page-turn:hover{background:#c4ad800c}
.fg-page-turn strong{display:block;font-size:13px;line-height:1.9;font-weight:400;margin-top:10px}
.fg-page-turn:last-child{border-color:#c4ad8080}
@media(max-width:1000px){.fg-reader{width:calc(100% - 64px)}.fg-reading-layout{gap:5%;grid-template-columns:minmax(0,1fr) 220px}.fg-lesson-title-row{gap:26px}}
@media(max-width:760px){
 .fg-reader{width:calc(100% - 40px)}
 .fg-lesson-hero{padding-top:18px}.fg-lesson-stage{display:block;font-size:10px}.fg-lesson-stage>span{display:block;margin-top:12px;font-size:9px}
 .fg-lesson-title-row{display:block;margin:22px 0}.fg-cover-id{display:block;font-size:52px;margin-bottom:18px}.fg-lesson-title-row h1{font-size:28px;line-height:1.75}
 .fg-lesson-description{font-size:12px;line-height:2.2;margin-bottom:22px}.fg-lesson-meta{font-size:9px;gap:10px;padding:17px 0}
 .fg-reading-layout{display:flex;flex-direction:column;gap:28px;padding-top:28px;padding-bottom:50px}.fg-reading-main,.fg-reading-aside{width:100%}.fg-reading-aside{order:-1}
 .fg-aside-inner{position:static;max-height:none;overflow:visible;padding:0}.fg-reading-aside .fg-toc nav{max-height:200px;overflow:auto;scrollbar-width:thin}.fg-step-toc{margin-top:16px}.fg-step-toc nav{max-height:250px;overflow:auto}
 .fg-reading-aside .toc-list a{font-size:11px}.fg-reading-aside .fg-return-index{margin-top:18px;font-size:10px}
 .fg-lesson-bridge{padding:20px;margin-bottom:32px}.fg-lesson-bridge h2{font-size:18px}.fg-lesson-bridge p{font-size:12px}
 .fg-lesson-page .article-body h2{font-size:22px}.fg-lesson-page .article-body table{font-size:12px}.fg-lesson-page .article-body th,.fg-lesson-page .article-body td{padding:10px;min-width:80px}
 .fg-lesson-end h2{font-size:22px}.fg-pager{grid-template-columns:1fr;gap:14px}.fg-page-turn{padding:18px}.fg-page-turn strong{font-size:12px}
 .fg-lessons li>a{gap:12px;padding-block:17px;grid-template-columns:48px minmax(0,1fr) 12px}
}
@media print{.fg-reading-aside,.fg-pager,.site-header,.site-footer,.reading-progress{display:none}.fg-reader{width:100%;max-width:none}.fg-reading-layout{display:block}.fg-lesson-page{background:white;color:black}.fg-lesson-page .article-body,.fg-lesson-title-row h1{color:black}}
