:root{--paper:#faf8f4;--surface:#fffefa;--cream:#f2eee7;--ink:#24221e;--muted:#6d675e;--line:#ded8cf;--orange:#d45e2d;--orange-deep:#aa411c;--peach:#f8e6d8;--max:1240px;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:0}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}::selection{background:var(--peach)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:white;padding:10px;z-index:50}.skip:focus{left:8px}
.site-head{border-bottom:1px solid var(--line);background:rgba(250,248,244,.96)}.head-inner{max-width:var(--max);margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-weight:850;font-size:.84rem;letter-spacing:.14em;text-decoration:none;white-space:nowrap}.brand-mark{display:inline-block;width:12px;height:12px;background:var(--orange);border-radius:50%;margin-right:10px}.head-links{display:flex;gap:26px;flex-wrap:wrap}.head-links a{text-decoration:none;color:var(--muted);font-size:.83rem;font-weight:650}.head-links a:hover,.text-link:hover{color:var(--orange-deep)}
main section{scroll-margin-top:26px}.shell{max-width:var(--max);margin:auto;padding-left:32px;padding-right:32px}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:6vw;align-items:center;padding-top:96px;padding-bottom:98px}.eyebrow{font-size:.7rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--orange-deep)}.hero h1,.section-title,.learning h2{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;letter-spacing:-.035em;font-weight:600}.hero h1{font-size:clamp(2.7rem,5vw,5.4rem);line-height:1.21;margin:22px 0 24px}.accent{color:var(--orange)}.hero-lead{font-size:1.08rem;line-height:1.95;max-width:600px;color:#49443e;margin:0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;border-radius:4px;padding:12px 19px;text-decoration:none;font-size:.87rem;font-weight:800;border:1px solid var(--ink);transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:white}.button.primary:hover{background:var(--orange-deep);border-color:var(--orange-deep)}.button.ghost{background:transparent}.button.ghost:hover{background:var(--cream)}.hero-foot{font-size:.75rem;color:var(--muted);line-height:1.7;margin-top:23px}
.hero-art{position:relative;height:445px;border:1px solid var(--line);background:#eae1d4;overflow:hidden;box-shadow:18px 18px 0 #efe9df}.art-bar{position:absolute;left:0;right:0;top:0;height:34px;background:var(--ink);display:flex;align-items:center;gap:6px;padding:0 14px}.art-bar i{width:5px;height:5px;border-radius:50%;background:#dfd1c4}.art-title{position:absolute;top:66px;left:40px;font-size:.7rem;letter-spacing:.2em;color:#777067;font-weight:800}.art-stamp{position:absolute;right:28px;top:66px;color:var(--orange);font-size:4.7rem;line-height:1;font-family:Georgia,serif}.art-line{position:absolute;left:40px;right:40px;border-top:1px solid #cbbeb0}.art-line.one{top:112px}.art-line.two{bottom:54px}.art-words{position:absolute;left:40px;top:148px;display:grid;gap:11px}.art-words span{display:block;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(1.55rem,2.8vw,2.35rem);letter-spacing:.13em}.art-words span:nth-child(2){padding-left:72px}.art-words span:nth-child(3){padding-left:22px}.art-words span:nth-child(4){padding-left:98px;color:var(--orange-deep)}.art-caption{position:absolute;bottom:24px;left:40px;font-size:.67rem;letter-spacing:.18em;font-weight:800;color:#746a60}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:28px}.section-title{font-size:clamp(2rem,3.35vw,3.4rem);line-height:1.27;margin:10px 0 0}.section-desc{max-width:560px;font-size:.9rem;color:var(--muted);line-height:1.85;margin:0}.needs{padding-top:72px;padding-bottom:86px;border-top:1px solid var(--line)}.need-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.need-card{min-height:180px;padding:24px;display:flex;flex-direction:column;justify-content:space-between;gap:17px;border:1px solid var(--line);background:var(--surface);text-decoration:none;transition:background .2s,border-color .2s,transform .2s}.need-card:hover{background:#fff4e9;border-color:#deaa8e;transform:translateY(-3px)}.need-kicker{color:var(--orange-deep);font-size:.72rem;font-weight:850;letter-spacing:.11em;display:flex;justify-content:space-between}.need-card strong{font-size:1.13rem;line-height:1.5}.need-card small{font-size:.75rem;color:var(--muted);line-height:1.5}
.featured{padding-top:81px;padding-bottom:95px;background:#f3efe8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.feature-card{background:var(--surface);border:1px solid var(--line);padding:31px 32px 28px;display:flex;flex-direction:column;min-width:0}.feature-card:first-child{grid-column:span 2;background:#fffaf3}.feature-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.feature-domain{font-size:.7rem;color:var(--muted)}.feature-card h3{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(1.45rem,2.2vw,2.15rem);line-height:1.4;font-weight:600;letter-spacing:-.03em;margin:24px 0 6px}.product-name{font-size:.85rem;font-weight:800;color:var(--orange-deep);margin:0 0 22px}.feature-facts{margin:0;padding-top:6px;border-top:1px solid var(--line)}.feature-facts div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid #eee9e2}.feature-facts dt{font-size:.72rem;font-weight:850;color:var(--muted);padding-top:3px}.feature-facts dd{margin:0;font-size:.84rem;line-height:1.7}.feature-note{background:var(--cream);padding:11px 13px;font-size:.74rem;line-height:1.7;color:#625b54;margin:17px 0 23px}.text-link{margin-top:auto;align-self:flex-start;text-decoration:none;font-weight:850;font-size:.83rem;border-bottom:1px solid var(--orange);padding-bottom:5px}.feature-card:first-child .feature-facts{max-width:850px}
.learning{padding-top:82px;padding-bottom:82px;display:grid;grid-template-columns:.85fr 1.15fr;gap:52px;align-items:center}.learning h2{font-size:clamp(2rem,3vw,3.15rem);line-height:1.34;margin:12px 0 18px}.learning p{font-size:.87rem;line-height:1.9;color:var(--muted);margin:0}.learning-links{border-top:1px solid var(--line)}.learning-links a{display:flex;justify-content:space-between;gap:16px;text-decoration:none;padding:22px 0;border-bottom:1px solid var(--line)}.learning-links a:hover{color:var(--orange-deep)}.learning-links strong{font-size:.93rem;line-height:1.5}.learning-links small{display:block;font-size:.72rem;color:var(--muted);margin-top:6px}.learning-links span:last-child{color:var(--orange-deep)}
.browse{padding-top:83px;padding-bottom:90px;border-top:1px solid var(--line)}.browse-note{font-size:.8rem;line-height:1.75;color:var(--muted);margin:-8px 0 24px}.filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,240px) auto;gap:10px;align-items:end;margin-bottom:18px}.field label{display:block;font-size:.7rem;font-weight:850;color:var(--muted);margin-bottom:8px}.field input,.field select{width:100%;height:47px;border:1px solid #bdb4a8;border-radius:3px;background:white;color:var(--ink);padding:0 13px}.field input:focus,.field select:focus{border-color:var(--orange)}.reset{height:47px;padding:0 18px;background:transparent;border:1px solid var(--ink);border-radius:3px;font-size:.82rem;font-weight:800}.reset:hover{background:var(--ink);color:white}.result-count{font-size:.78rem;font-weight:800;color:var(--muted);padding-bottom:14px}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.result-card{min-width:0;background:var(--surface);border:1px solid var(--line);padding:19px 21px;display:flex;flex-direction:column}.result-card[hidden]{display:none}.result-meta,.result-bottom{display:flex;justify-content:space-between;gap:9px;flex-wrap:wrap;font-size:.68rem;color:var(--muted)}.result-meta span:first-child{color:var(--orange-deep);font-weight:750}.result-card h3{font-size:.91rem;line-height:1.6;margin:12px 0 6px;overflow-wrap:anywhere}.result-card h3 a{text-decoration:none}.result-card h3 a:hover{color:var(--orange-deep)}.result-card p{font-size:.76rem;line-height:1.65;color:var(--muted);margin:0 0 17px}.result-bottom{margin-top:auto;align-items:center}.status{background:#f3eee6;padding:4px 7px;border-radius:2px}.empty{border:1px dashed var(--line);padding:27px;color:var(--muted);font-size:.88rem}.empty[hidden]{display:none}
.notes{background:var(--ink);color:#f6f2ec;padding-top:65px;padding-bottom:70px}.notes h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:1.95rem;font-weight:600;margin:9px 0 25px}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.notes-grid p{font-size:.78rem;line-height:1.85;margin:0;color:#d3cac0}.notes-grid strong{color:#fff;display:block;font-size:.8rem;margin-bottom:7px}.site-foot{border-top:1px solid #575149;background:var(--ink);color:#c7beb4;padding:22px 32px;font-size:.7rem}.foot-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.site-foot a{color:#f3d0bc}

/* Guided article picker */
.wizard-intro{padding-top:30px;padding-bottom:65px}
.wizard-intro-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:20px}
.wizard-intro h1{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(2.2rem,3.5vw,3.6rem);font-weight:600;line-height:1.23;letter-spacing:-.035em;margin:8px 0 10px}
.wizard-intro .hero-lead{font-size:.96rem;line-height:1.8;max-width:650px}
.wizard-intro .hero-foot{margin:12px 0 0}
.wizard-intro-top .button{flex:none}
.wizard{background:var(--surface);border:1px solid var(--line);box-shadow:12px 12px 0 var(--cream);padding:24px}
.wizard-progress{display:flex;gap:8px;margin-bottom:20px}
.wizard-progress span{flex:1;border-top:3px solid var(--line);padding-top:9px;color:var(--muted);font-size:.72rem;font-weight:800}
.wizard-progress span.is-current{border-color:var(--orange);color:var(--orange-deep)}
.wizard-progress span.is-done{border-color:var(--ink);color:var(--ink)}
.wizard-stage[hidden]{display:none}
.wizard-stage h2{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(1.65rem,2.7vw,2.65rem);font-weight:600;line-height:1.3;margin:0 0 8px}
.wizard-stage h2:focus{outline:none}
.wizard-stage>p{color:var(--muted);font-size:.85rem;line-height:1.7;margin:0 0 18px}
.wizard .need-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.wizard .need-card{min-height:100px;padding:14px;gap:8px}
.wizard .need-card strong{font-size:.94rem;line-height:1.4}
.wizard .need-card small{font-size:.7rem}
.wizard .need-kicker{font-size:.7rem}
.wizard-goals{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px}
.wizard-goal{min-height:108px;text-align:left;padding:19px;background:#fffaf3;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.96rem;font-weight:800;line-height:1.45}
.wizard-goal:hover,.wizard-goal:focus-visible{background:var(--peach);border-color:var(--orange)}
.wizard-goal span:last-child{color:var(--orange-deep);font-size:1.2rem}
.wizard-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.wizard-result{border:1px solid var(--line);background:#fffaf3;padding:20px;display:flex;flex-direction:column;min-width:0}
.wizard-result .meta{color:var(--orange-deep);font-size:.69rem;font-weight:800;line-height:1.5}
.wizard-result h3{font-size:1rem;line-height:1.55;margin:11px 0 8px;overflow-wrap:anywhere}
.wizard-result p{font-size:.77rem;line-height:1.65;color:var(--muted);margin:0 0 18px}
.wizard-result a{margin-top:auto;align-self:flex-start;font-size:.8rem;font-weight:800;text-decoration:none;border-bottom:1px solid var(--orange);padding-bottom:4px}
.wizard-result a:hover{color:var(--orange-deep)}
.wizard-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:22px}
.wizard-back{background:transparent;border:0;padding:8px 0;color:var(--muted);font-size:.81rem;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.wizard-back:hover{color:var(--ink)}
.wizard-caveat{font-size:.73rem!important;line-height:1.7!important;margin:17px 0 0!important}
@media(max-width:700px){.wizard-intro{padding-top:28px;padding-bottom:60px}.wizard-intro-top{display:block;margin-bottom:20px}.wizard-intro h1{font-size:clamp(2.05rem,7.5vw,3rem)}.wizard-intro .hero-lead{font-size:.86rem}.wizard-intro-top .button{margin-top:14px}.wizard{padding:17px;box-shadow:7px 7px 0 var(--cream)}.wizard .need-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wizard .need-card{min-height:102px;padding:12px}.wizard .need-card strong{font-size:.82rem}.wizard .need-card small{display:none}.wizard-goals,.wizard-results{grid-template-columns:1fr}.wizard-goal{min-height:82px}.wizard-progress span{font-size:.65rem}}
@media(max-width:380px){.wizard{padding:14px}.wizard .need-card strong{font-size:.76rem}.wizard .need-card{min-height:100px}}

@media(max-width:900px){.hero{grid-template-columns:1fr;gap:48px}.hero-art{height:390px;max-width:650px;width:100%}.section-head{align-items:start;display:block}.section-desc{margin-top:17px}.need-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.learning{grid-template-columns:1fr;gap:25px}.notes-grid{gap:18px}}
@media(max-width:620px){.shell{padding-left:20px;padding-right:20px}.head-inner{padding:14px 20px}.head-links{gap:14px}.head-links a{font-size:.72rem}.head-links a:nth-child(2){display:none}.brand{font-size:.75rem}.hero{padding-top:54px;padding-bottom:69px;gap:36px}.hero h1{font-size:clamp(2.45rem,10.3vw,3.5rem)}.hero-lead{font-size:.93rem;line-height:1.82}.hero-art{height:330px;box-shadow:9px 9px 0 #efe9df}.art-title,.art-line,.art-words,.art-caption{left:26px}.art-words{top:126px;gap:9px}.art-words span{font-size:1.55rem}.art-words span:nth-child(2){padding-left:50px}.art-words span:nth-child(4){padding-left:67px}.art-stamp{font-size:3.5rem;right:19px}.needs,.featured,.learning,.browse{padding-top:62px;padding-bottom:67px}.need-grid,.feature-grid,.result-grid,.notes-grid{grid-template-columns:1fr}.need-card{min-height:145px}.feature-card,.feature-card:first-child{grid-column:auto}.feature-card{padding:25px 21px}.feature-facts div{grid-template-columns:82px minmax(0,1fr)}.filters{grid-template-columns:1fr 1fr}.filters .field:first-child{grid-column:span 2}.reset{align-self:end}.notes{padding-top:57px;padding-bottom:60px}.site-foot{padding-left:20px;padding-right:20px}}
@media(max-width:380px){.head-links a:last-child{display:none}.hero-art{height:350px}.hero h1{font-size:2rem;line-height:1.32}.art-words span{font-size:1.38rem}.filters{grid-template-columns:1fr}.filters .field:first-child{grid-column:auto}.reset{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.wizard .need-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer}
.catalog-intro{padding-top:58px;padding-bottom:28px}
.catalog-intro h1{font-family:"Hiragino Mincho ProN","Yu Mincho",Georgia,serif;font-size:clamp(2.15rem,3.7vw,3.6rem);font-weight:600;line-height:1.3;letter-spacing:-.035em;margin:10px 0 15px}
.catalog-intro p{max-width:720px;font-size:.92rem;line-height:1.8;color:var(--muted);margin:0 0 20px}
.catalog-intro .button{margin-top:5px}
.browse{padding-top:34px}
