/* Editorial atelier layer: warm paper, generous rhythm, and restrained motion. */
:root{--paper:#f7f4ed;--ink:#1d1d1b;--green:#3d5c50;--muted:#6b675f;--line:#d9d3c8;--pale:#ede8de;--coral:#d96c55;--surface:#fffdf8;--serif:'Noto Sans JP',sans-serif;--sans:'Noto Sans JP',sans-serif}
html{scroll-behavior:smooth;background:var(--paper)}
body{background:var(--paper);color:var(--ink);line-height:1.85;letter-spacing:.008em}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.25;background-image:radial-gradient(#a59c8d .45px,transparent .45px);background-size:7px 7px}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}a:hover{color:var(--coral)}.wrap{max-width:1240px}
header{background:color-mix(in srgb,var(--paper) 92%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 75%,transparent);backdrop-filter:blur(14px)}
.masthead{padding-block:20px 15px;align-items:center}.brand{font-size:26px;letter-spacing:-.08em;color:var(--ink)}.brand span{color:var(--ink)}.brand i{color:var(--coral)}.brand-note{color:var(--muted);font-size:12px;letter-spacing:.06em}.header-actions{color:var(--muted);gap:20px}.header-actions a,.menu-button{transition:color .18s ease}.header-actions a:hover,.menu-button:hover{color:var(--ink)}.header-actions b{display:inline-grid;place-items:center;min-width:19px;height:19px;border:1px solid var(--line);border-radius:50%;font-size:10px;font-weight:500;color:var(--ink)}.menu-button{color:var(--ink)}
.nav{border-top:1px solid color-mix(in srgb,var(--line) 65%,transparent);min-height:54px;gap:24px}.nav a{color:var(--muted);font-size:13px;letter-spacing:.045em;padding-block:15px;position:relative}.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:8px;height:1px;background:var(--coral);transition:right .2s ease}.nav a:hover{color:var(--ink)}.nav a:hover:after{right:0}.nav-making{color:var(--ink)!important}.breadcrumbs{color:var(--muted);font-size:12px;padding-block:21px 5px}.breadcrumbs a{color:var(--muted)}.breadcrumbs span{margin-inline:7px}
h1,h2,h3{color:var(--ink);text-wrap:balance}h1{font-weight:500;letter-spacing:-.055em;line-height:1.42}h2{font-weight:500;letter-spacing:-.04em;line-height:1.5}.eyebrow{color:var(--coral);font-size:11px;letter-spacing:.16em;font-weight:600;text-transform:uppercase}.micro{color:var(--muted)}.section{padding-block:clamp(58px,8vw,104px)}.section-heading{margin-bottom:34px}.section-heading h2{font-size:clamp(25px,3vw,36px);font-weight:500}.section-heading p:not(.eyebrow){color:var(--muted)}.page-intro{padding-block:clamp(36px,6vw,74px) 48px}.page-intro h1{font-size:clamp(34px,5vw,62px);max-width:950px}.page-intro>p:not(.eyebrow):not(.micro){max-width:720px;color:var(--muted)}
.button{background:var(--ink);border-color:var(--ink);border-radius:999px;padding:12px 25px;min-height:48px;box-shadow:none;transition:background .2s ease,transform .2s ease,border-color .2s ease}.button:hover{background:#4c4a43;border-color:#4c4a43;color:white;transform:translateY(-2px)}.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button.outline:hover{background:var(--ink);color:white}.text-link{color:var(--ink);min-height:44px}.text-link:hover{color:var(--coral)}
.tag,.status{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);padding:4px 10px}.status.yes{background:#edf2eb;color:#3d6550;border-color:#c9d8c8}.status.pending{background:#f7ede4;color:#9a5a3f;border-color:#e3cbbb}
.field-grid,.hub-doorways,.article-grid,.course-grid{gap:clamp(16px,2.3vw,28px)}.field-tile,.hub-door,.article-card,.course-card,.filters,.empty-state,.inline-guide,.related-hub,.hub-choice,.learning-grid article,.problem-grid article,.proof-card,.course-detail,.notice,.toc{background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:none}.field-tile{padding:22px 20px;transition:transform .2s ease,border-color .2s ease,background .2s ease}.field-tile:hover{background:#fffaf0;border-color:#bcb3a5;transform:translateY(-3px)}.field-icon{color:var(--ink)}
.hub-door{border-top:2px solid var(--accent);overflow:hidden;transition:transform .25s ease,border-color .25s ease}.hub-door:hover{transform:translateY(-6px);box-shadow:0 15px 30px #514a3b14}.door-photo img{transition:transform .7s cubic-bezier(.2,.75,.25,1)}.door-number,.photo-index{background:#fffdf8e8;color:var(--ink);border:1px solid #e5dfd4;border-radius:999px}.door-copy{padding:23px 20px 18px}.door-copy h2{font-weight:500}.door-copy .eyebrow{color:var(--accent)}
.article-thumb,.article-cover,.outcome-photo,.process-poster,.lab-visual{border-radius:16px}.article-thumb>span{border-radius:999px;border:1px solid #e5dfd4;background:#fffdf8e8}.article-card h3{font-weight:500}.article-card:hover h3{color:var(--coral)}.course-card{padding:25px 24px;transition:transform .22s ease,border-color .22s ease}.course-card:hover{transform:translateY(-4px);border-color:#b9b1a4}.course-card h3{font-weight:500}.course-facts,.course-bottom{border-color:var(--line)}.save-button{border-radius:999px;border-color:#beb7aa;color:var(--ink);background:transparent}.save-button[aria-pressed=true]{background:var(--ink);color:white}.filters{background:#f1ece3;padding:24px}.filters input,.filters select{background:var(--surface);border-color:#cfc7bb;border-radius:10px}.reset-button{color:var(--ink)}.inline-guide{padding:34px}.empty-state{background:#f1ece3}.notice,.toc{padding:27px;background:#f1ece3}.money-callout{background:#e9e2d7;border:1px solid var(--line);border-radius:20px;padding:44px}.money-callout h2{font-weight:500}
.world-scenes{background:var(--ink);color:#f8f3e9}.world-scene{min-height:min(78vh,760px)}.scene-copy h2,.world-hero h1{font-weight:400;letter-spacing:-.055em}.scene-copy p,.world-hero p{color:#e5ded3}.scene-copy .eyebrow,.world-hero .eyebrow{color:#efaa91}.scene-video{filter:saturate(.86) contrast(1.03)}.world-hero{border-radius:24px;overflow:hidden}.world-hero:after{background:linear-gradient(90deg,#1d1d1bcc 0%,#1d1d1b66 47%,transparent 78%)}.world-hero .hero-content{max-width:620px}.world-hero .hero-content h1{font-size:clamp(38px,6vw,74px)}.proof-section{background:#f1ece3;border-block:1px solid var(--line)}.proof-card{padding:29px 27px}.proof-card .proof-kind{color:var(--accent)}.hub-choice{background:#f1ece3;border-left:3px solid var(--accent)}
.ad-disclosure{color:var(--muted)!important;font-size:12px!important;letter-spacing:.02em}.school-ad>a{background:var(--ink);border-radius:999px}.school-ad>a:hover{background:#4c4a43}.course-evidence,.source-note{color:var(--muted);border-color:var(--line)}.practice-cover{background:var(--ink);border-radius:20px}.practice-example{background:#f1ece3;border-left-color:var(--coral);border-radius:0 12px 12px 0}
:focus-visible{outline:2px solid var(--coral);outline-offset:4px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.field-tile,.hub-door,.course-card,.article-thumb img{transition:none!important}.button:hover,.field-tile:hover,.hub-door:hover,.course-card:hover{transform:none}}
@media(max-width:700px){body:before{opacity:.16}.masthead{padding-block:16px}.brand{font-size:24px}.nav{gap:0}.nav a{padding-block:10px}.breadcrumbs{padding-block:16px 2px}.section{padding-block:49px}.page-intro{padding-block:24px 34px}.page-intro h1{font-size:clamp(32px,9.5vw,46px)}.button{width:100%;padding-inline:20px}.hub-actions .button{width:auto}.money-callout{padding:28px 23px;margin-inline:0;border-radius:16px}.field-tile,.hub-door,.course-card,.filters,.empty-state,.inline-guide,.related-hub,.hub-choice,.learning-grid article,.problem-grid article,.proof-card,.course-detail,.notice,.toc{border-radius:14px}.door-copy{padding:17px 14px 15px}.course-card{padding:21px 19px}.filters{padding:20px}.inline-guide{padding:24px}.world-hero{border-radius:16px}.world-hero .hero-content h1{font-size:clamp(34px,10vw,48px)}}
/* Purpose chooser, free entry points and school fit notes. */
.route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.route-card{display:flex;flex-direction:column;gap:10px;background:var(--surface,#fff);border:1px solid var(--line);border-top:3px solid var(--accent,var(--green));border-radius:14px;padding:24px;min-width:0}.route-need{font-weight:700;color:var(--ink);font-size:1.05rem}.route-card h3{font-size:1.15rem}.route-card h3 span{display:block;font-size:.9rem;font-weight:500;color:var(--muted)}.route-pick{color:var(--green);font-weight:700}.route-caution{background:var(--pale);border-radius:8px;padding:10px 14px;font-size:.92rem}.route-caution strong{display:block;color:var(--coral);font-size:.8rem;letter-spacing:.06em}.route-card .course-bottom{margin-top:auto}
.free-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:32px;margin-top:36px;padding:32px;background:#f1ece3;border-left:3px solid var(--accent,var(--green));border-radius:14px}.free-entry ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.free-entry li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px}.free-entry li strong{display:block;font-size:1.05rem;color:var(--ink)}.free-entry li a{display:inline-block;margin-top:6px;color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:3px}.free-entry .micro{grid-column:1/-1}
.school-summary{font-size:1.08rem;color:var(--ink);max-width:46em}.school-fit{margin-bottom:28px;padding:26px;background:var(--surface,#fff);border:1px solid var(--line);border-radius:14px}.fit-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:14px 0}.fit-columns h3{font-size:1rem;color:var(--green)}.fit-columns ul{margin:6px 0 0;padding-left:1.2em}.fit-columns li{color:var(--muted);margin-bottom:6px}.first-step{background:var(--pale);border-radius:10px;padding:16px 18px;margin-bottom:10px}.first-step strong{display:block;color:var(--ink)}.course-note{margin:10px 0 16px;display:grid;gap:8px}
@media(max-width:800px){.route-grid,.fit-columns,.free-entry{grid-template-columns:1fr}.free-entry{padding:22px;gap:18px}.route-card,.school-fit{padding:18px}}
