/* Homepage only: goal-led navigation with official cover and character art. */
.home-page main{padding-top:24px;max-width:1280px;display:block}
.purpose-home{--home-serif:"Noto Serif TC","PMingLiU","Songti TC",serif}
.purpose-home h2,.purpose-home h3,.purpose-home p,.purpose-home figure{margin:0}
.purpose-home a{text-decoration:none}
.purpose-home a:focus-visible,.purpose-home button:focus-visible,.purpose-home input:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.purpose-home .home-kicker{font-size:10px;font-weight:700;letter-spacing:2px;line-height:1.5;color:var(--gold2)}
.home-intro{display:grid;grid-template-columns:1fr 330px;gap:36px;align-items:center;position:relative;isolation:isolate;padding:38px 56px;overflow:hidden;background:#132f38 url('img/home/key-art.webp') center/cover;color:#f5f0e4;border:1px solid #b79c5c;border-radius:3px}
.home-intro::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#132f38ee,#132f3888);z-index:-1}
.home-intro::after{content:"";position:absolute;inset:10px;border:1px solid #c9a85c33;pointer-events:none}
.home-intro .home-kicker{color:#d8bd7c;letter-spacing:2.5px}
.home-kicker span{display:inline-block;margin-left:16px;letter-spacing:2px}
.home-intro h2{font-family:var(--home-serif);font-size:clamp(32px,3.5vw,48px);font-weight:700;line-height:1.3;letter-spacing:2px;margin:18px 0}
.home-intro h2 em{font-style:normal;color:#e4c985}
.home-lead{color:#cfd8d7;font-size:15px;line-height:1.9}
.home-start{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:24px;font-size:13px;font-weight:700;position:relative;z-index:1}
.home-start a:first-child{padding:11px 16px;background:#dfc17d;color:#152f36;border:1px solid #dfc17d}
.home-start a:last-child{color:#f0e6ce;border-bottom:1px solid #d1b87266;padding:9px 0}
.home-start span{margin-left:18px}
.home-cover{position:relative;z-index:1;justify-self:center;width:270px;padding:8px;background:#0c232a;border:1px solid #c9a85c77;box-shadow:12px 14px 0 #c9a85c14;transform:rotate(3deg)}
.home-cover img{display:block;width:100%;height:auto}
.home-cover figcaption{padding:12px 6px 5px;font-family:var(--home-serif);font-weight:700;font-size:15px;letter-spacing:3px;display:flex;flex-wrap:wrap;gap:4px;justify-content:space-between;align-items:center}
.home-cover figcaption span{font-size:8px;font-family:var(--sans);letter-spacing:1px;color:#cfb980}
.home-search{display:grid;grid-template-columns:280px 1fr;gap:20px;padding:22px 28px;border:1px solid var(--line);border-top:0;background:var(--bg2);align-items:center}
.home-search-label h2{font-size:16px;letter-spacing:.5px}
.home-search-label p{font-size:11px;margin-top:4px;color:var(--ink2);letter-spacing:1px}
.home-search-box{position:relative;display:flex;align-items:stretch;border:1px solid var(--line);background:var(--bg);min-width:0}
.home-search-box input{width:100%;min-width:0;padding:12px 14px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;outline-offset:0}
.home-search-box input::placeholder{color:var(--ink2);font-size:14px}
.home-search-box button{font:inherit;font-size:13px;font-weight:700;border:0;border-left:1px solid var(--line);padding:10px 20px;white-space:nowrap;cursor:pointer;background:var(--brand);color:#f5f0e4}
.home-search-box button span{margin-left:12px}
.home-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.home-section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:38px 0 18px}
.home-section-heading h2,.home-checklist h2{font-family:var(--home-serif);font-size:25px;letter-spacing:1px;line-height:1.4;margin-top:6px}
.home-section-heading>p,.home-section-heading>a{color:var(--ink2);font-size:12px}
.home-section-heading>a:hover{color:var(--gold2);text-decoration:underline}
.home-goals{scroll-margin-top:calc(var(--guide-nav-offset,60px) + 18px)}
.home-goal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--bg2)}
.home-goal{padding:24px 20px 20px;min-width:0;position:relative}
.home-goal+.home-goal{border-left:1px solid var(--line)}
.home-goal-no{font-family:Georgia,serif;color:var(--gold2);font-size:13px;letter-spacing:1px;display:block;margin-bottom:12px}
.home-goal h3{font-family:var(--home-serif);font-size:22px;letter-spacing:1px}
.home-goal>p{color:var(--ink2);font-size:12px;line-height:1.8;margin:9px 0 18px;min-height:44px;max-width:24ch}
.home-goal-primary{display:flex;gap:6px;justify-content:space-between;align-items:center;background:color-mix(in srgb,var(--gold) 16%,var(--bg));border:1px solid color-mix(in srgb,var(--gold) 45%,var(--line));padding:10px 12px;font-size:13px;font-weight:700}
.home-goal-primary:hover{background:color-mix(in srgb,var(--gold) 30%,var(--bg))}
.home-goal-links{display:grid;margin-top:14px;gap:0}
.home-goal-links a{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:7px 0;color:var(--ink2)}
.home-goal-links a:hover{color:var(--gold2);text-decoration:underline}
.home-goal-links span{color:var(--gold2)}
.home-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.home-route{--route-color:#5394ad;border:1px solid var(--line);background:var(--bg2);overflow:hidden;min-width:0}
.route-dietrich{--route-color:#827499}.route-theodora{--route-color:#bd9b52}.route-leda{--route-color:#b56464}
.home-route-art{position:relative;height:212px;display:block;overflow:hidden;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--route-color) 23%,var(--bg)),var(--bg) 75%);border-bottom:1px solid var(--line)}
.home-route-number{position:absolute;left:15px;top:5px;font:76px/1.2 Georgia,serif;color:color-mix(in srgb,var(--route-color) 20%,transparent);pointer-events:none}
.home-route-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;transition:transform .25s ease}
.home-route-art:hover img{transform:scale(1.04)}
.home-route-copy{padding:17px 16px 16px;border-bottom:3px solid var(--route-color)}
.home-route h3{font-family:var(--home-serif);font-size:21px;letter-spacing:1px}
.home-route-copy>p{font-size:12px;color:var(--ink2);margin:5px 0 16px}
.home-route-copy>div{display:flex;gap:16px;flex-wrap:wrap}
.home-route-copy a{font-size:12px;font-weight:700;display:flex;gap:8px;align-items:center}
.home-route-copy a:hover{text-decoration:underline;color:var(--gold2)}
.home-checklist{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;margin-top:36px;padding:28px 32px;background:var(--brand);color:#f1eddf;border-top:2px solid var(--gold)}
.home-checklist .home-kicker{color:#dcc486}
.home-checklist h2{font-size:24px}
.home-checklist>div>p:last-child{font-size:13px;color:#cfd8d7;margin-top:10px}
.home-check-links{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;align-content:start}
.home-check-links a{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid #ffffff22;font-size:12px}
.home-check-links a:hover{color:#e4c985}
.home-check-links .home-all-guides{grid-column:1/-1;justify-content:flex-start;gap:16px;color:#e4c985;border:0;margin-top:5px}
.purpose-home .home-image-credit{font-size:10px;color:var(--ink2);text-align:right;margin-top:14px}
.home-image-credit a{text-decoration:underline;text-underline-offset:3px}
@media(min-width:1500px){.home-page main{max-width:1440px}.home-goal{padding:26px}.home-route-art{height:244px}}
@media(max-width:1000px){.home-intro{grid-template-columns:1fr 250px;padding:30px;gap:20px}.home-cover{width:220px}.home-goal-grid{grid-template-columns:1fr 1fr}.home-goal:nth-child(3){border-left:0}.home-goal:nth-child(n+3){border-top:1px solid var(--line)}.home-goal>p{max-width:none;min-height:0}.home-search{grid-template-columns:220px 1fr;padding:20px}.home-route-grid{gap:12px}.home-route-art{height:170px}.home-checklist{grid-template-columns:1fr;gap:20px}}
@media(max-width:620px){.home-page main{padding-top:14px}.home-intro{grid-template-columns:minmax(0,1fr) 110px;gap:12px;padding:26px 20px}.home-intro .home-kicker{font-size:8px;letter-spacing:1px}.home-kicker span{margin-left:0;display:block;margin-top:4px}.home-intro h2{font-size:29px;letter-spacing:1px;margin:14px 0}.home-lead{font-size:12px}.home-lead br{display:none}.home-cover{width:105px;padding:4px;box-shadow:6px 7px 0 #c9a85c14;align-self:start;margin-top:28px!important}.home-cover figcaption{padding:7px 2px 3px;font-size:10px;letter-spacing:1px}.home-cover figcaption span{display:none}.home-start{gap:10px;margin-top:18px;font-size:11px}.home-start a:first-child{padding:8px 10px}.home-start span{margin-left:4px}.home-search{grid-template-columns:1fr;gap:10px;padding:16px}.home-search-label{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.home-search-label h2{font-size:14px}.home-search-label p{font-size:10px;letter-spacing:0;margin:0}.home-search-box button{padding:10px 12px}.home-search-box button span{margin-left:3px}.home-search-box input{padding:12px 10px}.home-search-box input::placeholder{font-size:12px}.home-section-heading{margin-top:28px;align-items:start;flex-wrap:wrap;gap:8px}.home-section-heading h2{font-size:22px}.home-section-heading>p{display:none}.home-goal{padding:16px 12px}.home-goal h3{font-size:20px}.home-goal>p{font-size:11px;min-height:40px;margin:8px 0 12px}.home-goal-primary{padding:9px 7px;font-size:11px}.home-goal-links a{font-size:11px;line-height:1.8}.home-goal-no{margin-bottom:8px}.home-route-grid{grid-template-columns:1fr 1fr;gap:12px}.home-route-art{height:180px}.home-route-copy{padding:14px 12px}.home-route h3{font-size:19px}.home-route-copy>p{font-size:11px;min-height:34px;margin-bottom:10px}.home-route-copy>div{gap:10px}.home-route-copy a{font-size:11px;gap:4px}.home-checklist{padding:22px 20px;margin-top:28px}.home-checklist h2{font-size:22px}.home-check-links{grid-template-columns:1fr}.home-check-links a{font-size:12px}.purpose-home .home-image-credit{text-align:left;line-height:1.7}}
@media(max-width:360px){.home-intro{grid-template-columns:1fr;padding:24px 18px}.home-cover{width:120px;justify-self:end;margin-top:0!important}.home-intro-copy{grid-column:1}.home-cover{grid-row:2}.home-goal-grid{grid-template-columns:1fr}.home-goal+.home-goal{border-left:0;border-top:1px solid var(--line)}.home-goal>p{min-height:0}.home-goal-primary{font-size:13px;padding:11px}.home-goal-links a{font-size:12px}.home-route-art{height:150px}.home-search-label p{display:none}}
@media(prefers-reduced-motion:reduce){.home-route-art img{transition:none}}

.purpose-home .home-tool-note{color:#cfd8d7;font-size:12px;line-height:1.8;margin-top:16px;max-width:44ch}
.home-tool-note strong{color:#e4c985;margin-right:8px;font-weight:700}
@media(max-width:620px){.purpose-home .home-tool-note{font-size:11px;margin-top:12px}}
