:root{--ink:#173249;--muted:#526675;--accent:#246e68;--accent-soft:#e5f1ed;--paper:#fcfaf6;--line:#dce4e1;--white:#fff;--radius:22px;--shadow:0 12px 32px #17324908;--measure:72rem;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;font-size:16px;line-height:1.85;letter-spacing:.025em}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #b96e33;outline-offset:4px}img,svg{max-width:100%}button:disabled{cursor:default}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:16px;top:-80px;padding:8px 16px;background:var(--ink);color:white;z-index:30}.skip-link:focus{top:12px}.shell{width:min(var(--measure),calc(100% - 64px));margin-inline:auto}.preview-banner{background:#f3e5c9;color:#594624;text-align:center;padding:9px 20px;font-size:12px;line-height:1.7}.site-header{background:#fcfaf6f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-inner{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}.brand-symbol{width:40px;height:40px;flex:none;border:1px solid var(--accent);border-radius:12px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft)}.brand-text{display:grid;gap:1px;min-width:0}.brand-name{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-weight:700;font-size:24px;line-height:1.45;overflow-wrap:anywhere}.brand-caption{font-size:10px;letter-spacing:.13em;color:var(--muted)}.nav{display:flex;align-items:center;gap:24px;flex:none}.nav a{font-size:13px;text-decoration:none;padding:12px 0}.nav a:hover{text-decoration:underline}.nav-toggle{display:none;border:1px solid var(--line);background:white;padding:8px 12px;border-radius:10px;font-size:13px}.hero{padding:76px 0 64px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:7%}.eyebrow{font-size:12px;letter-spacing:.15em;font-weight:700;color:var(--accent);margin:0 0 18px}.hero h1{font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(30px,3.8vw,48px);line-height:1.5;letter-spacing:.035em;margin:0 0 24px;text-wrap:balance;overflow-wrap:anywhere}.hero p.hero-description{font-size:16px;max-width:36em;color:var(--muted);margin:0}.hero-note{display:flex;align-items:center;gap:10px;margin-top:28px;font-size:12px;color:var(--accent)}.hero-note:before{content:"";height:1px;background:var(--accent);width:35px}.hero-art{min-height:280px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 48% 50%,#b8d8cb55,transparent 66%);isolation:isolate}.hero-art svg{width:100%;max-width:420px;height:auto}.section{padding:54px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.section-heading h2{font-size:26px;line-height:1.5;margin:0;font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif}.section-heading p{font-size:13px;color:var(--muted);margin:0}.search-area{display:flex;gap:12px;align-items:center;padding:18px;background:#f0f3ef;border-radius:16px;margin-bottom:30px}.search-field{position:relative;flex:1}.search-field svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-field input{width:100%;border:1px solid var(--line);background:white;color:var(--ink);padding:13px 16px 13px 46px;border-radius:10px;font-size:15px;min-height:50px}.clear-search{border:0;color:var(--muted);background:none;font-size:13px;padding:10px;white-space:nowrap}.search-status{font-size:12px;color:var(--muted);margin:0 0 16px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card[hidden]{display:none}.card-art{height:132px;display:grid;place-items:center;background:var(--accent-soft);position:relative;overflow:hidden}.card-art svg{width:120px;height:90px;opacity:.9}.card:nth-child(3n + 2) .card-art{background:#f5eadb}.card:nth-child(3n) .card-art{background:#e6edf1}.card-body{padding:24px;display:flex;flex-direction:column;flex:1}.tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tag{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border-radius:5px;background:#edf4f1;color:var(--accent);font-size:10px;font-weight:600;letter-spacing:.05em}.tag-status{background:#f7edda;color:#795c2e}.card h3{font-size:18px;line-height:1.7;margin:0 0 13px;text-wrap:pretty;overflow-wrap:anywhere}.card h3 a{text-decoration:none}.card h3 a:hover{text-decoration:underline}.card p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 20px}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.card-foot a{font-size:12px;color:var(--accent);text-decoration:none}.card-foot a:after{content:" →"}.empty-state{background:white;border:1px dashed #b9ccc3;border-radius:var(--radius);padding:48px 30px;text-align:center;color:var(--muted)}.empty-state h3{color:var(--ink);font-size:20px;margin:0 0 12px}.empty-state p{font-size:14px;margin:0}.editorial-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:64px;align-items:start}.editorial-intro h2{font-size:26px;line-height:1.6;margin:0 0 18px}.editorial-intro p{margin:0;color:var(--muted);font-size:14px}.principles{list-style:none;margin:0;padding:0;display:grid;gap:20px}.principles li{padding-left:24px;position:relative;font-size:14px}.principles li:before{content:"";position:absolute;left:0;top:.8em;width:7px;height:7px;border:1px solid var(--accent);border-radius:50%}.text-link{color:var(--accent);font-size:13px;margin-top:20px;display:inline-block}.site-footer{background:#eff2ec;margin-top:56px;border-top:1px solid var(--line);padding:40px 0 28px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:30px}.footer-brand{font-weight:700;font-size:20px;margin:0 0 8px}.footer-description{font-size:12px;color:var(--muted);margin:0;max-width:40em}.footer-nav{display:flex;flex-wrap:wrap;gap:18px;max-width:24em}.footer-nav a{font-size:12px}.footer-bottom{border-top:1px solid #d4ded7;margin-top:28px;padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:10px}.breadcrumb{padding-top:26px;font-size:12px;color:var(--muted);display:flex;gap:10px;flex-wrap:wrap}.breadcrumb a{text-decoration:none}.article-layout{display:grid;grid-template-columns:minmax(0,760px) 240px;gap:64px;align-items:start;padding-top:36px}.article-head h1{font-size:clamp(26px,3.1vw,38px);line-height:1.65;margin:18px 0 24px;text-wrap:pretty;font-family:"Hiragino Maru Gothic ProN","Yu Gothic",sans-serif;overflow-wrap:anywhere}.article-meta{font-size:11px;display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;color:var(--muted);padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.article-lead{font-size:17px;line-height:2.15;margin:30px 0 40px}.article-body h2{font-size:24px;line-height:1.7;margin:52px 0 22px;padding-bottom:14px;border-bottom:1px solid var(--line);text-wrap:pretty}.article-body p{font-size:16px;line-height:2.15;margin:0 0 24px}.article-body ul{padding-left:1.4em;margin:0 0 26px}.article-body li{padding-left:.2em;margin-bottom:9px;line-height:2}.article-body blockquote{margin:28px 0;padding:24px 28px;border-left:3px solid var(--accent);background:#edf3ef;border-radius:0 14px 14px 0}.article-body blockquote p{margin-bottom:12px}.article-body cite{font-style:normal;font-size:12px;color:var(--muted)}.example-label{display:inline-block;font-size:11px;color:#6f5c38;border:1px solid #d9c89e;background:#faf4e7;border-radius:5px;padding:2px 8px;margin-bottom:14px}.takeaway{background:#edf3ef;border:1px solid #d7e6df;border-radius:18px;padding:26px;margin:40px 0}.takeaway h2{font-size:16px;margin:0 0 14px;border:0;padding:0}.takeaway p{font-size:15px;margin:0;line-height:2}.toc{position:sticky;top:24px;border:1px solid var(--line);background:white;border-radius:18px;padding:24px;font-size:12px;line-height:1.85}.toc h2{font-size:14px;margin:0 0 18px}.toc ol{padding-left:1.3em;margin:0}.toc li{padding-left:4px;margin-bottom:12px}.toc a{text-decoration:none;color:var(--muted)}.toc a:hover{color:var(--accent);text-decoration:underline}.source-box{border-top:1px solid var(--line);margin-top:48px;padding-top:26px}.source-box h2{font-size:16px;margin:0 0 18px}.source-box ul{padding-left:1.3em;font-size:12px;line-height:1.9}.source-box li{margin-bottom:12px;overflow-wrap:anywhere}.source-meta{display:block;color:var(--muted);font-size:11px}.source-note{font-size:12px;color:var(--muted)}.related{margin-top:60px}.related .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.prose-page{max-width:760px;margin:0 auto;padding:50px 0}.prose-page h1{font-size:34px;line-height:1.6;margin:0 0 30px}.prose-page h2{font-size:22px;margin:38px 0 18px}.prose-page p,.prose-page li{font-size:15px;line-height:2.1}.detail-table{width:100%;border-collapse:collapse;font-size:14px}.detail-table th,.detail-table td{padding:20px 0;vertical-align:middle;text-align:left;border-bottom:1px solid var(--line)}.detail-table th{width:28%;font-size:12px;color:var(--muted);font-weight:500;padding-right:22px}.detail-table td{overflow-wrap:anywhere}.notice{padding:18px 22px;border:1px solid #dbc999;background:#faf4e7;border-radius:12px;font-size:13px;line-height:1.9}.no-results{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.no-results[hidden]{display:none}
.empty-state{grid-column:1/-1}.toc-inline{display:none}.disclosure{margin-top:24px}.disclosure p{margin:6px 0 0}
@media(max-width:1050px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{gap:34px;grid-template-columns:minmax(0,1fr) 210px}.hero{gap:3%;padding-top:56px}.brand-name{font-size:21px}.nav{gap:18px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.header-inner{min-height:82px;position:relative;gap:12px}.brand-symbol{width:34px;height:34px;border-radius:10px}.brand-name{font-size:19px}.brand-caption{font-size:9px;letter-spacing:.07em}.nav-toggle{display:block;flex:none}.nav{display:none;position:absolute;top:calc(100% - 1px);left:-20px;right:-20px;z-index:20;background:var(--paper);padding:16px 20px 22px;border-bottom:1px solid var(--line);gap:0;box-shadow:0 10px 14px #17324908}.nav.is-open{display:grid}.nav a{padding:10px}.hero{grid-template-columns:1fr;padding:42px 0 36px;gap:12px}.hero h1{font-size:31px;line-height:1.6;margin-bottom:20px;max-width:15em}.hero p.hero-description{font-size:14px;line-height:2}.hero-art{min-height:170px;max-width:340px;margin:8px auto 0;width:100%}.hero-art svg{max-height:200px}.hero-note{margin-top:22px}.section{padding:36px 0}.section-heading{align-items:flex-start;gap:10px;flex-direction:column;margin-bottom:22px}.section-heading h2{font-size:23px}.section-heading p{font-size:12px}.cards{gap:16px}.card-art{height:105px}.card-body{padding:20px}.card h3{font-size:17px}.search-area{padding:12px;gap:2px}.search-field input{font-size:14px}.clear-search{font-size:12px;padding-inline:8px}.editorial-intro{grid-template-columns:1fr;gap:26px}.editorial-intro h2{font-size:23px}.principles li{font-size:13px}.footer-top,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-nav{gap:16px}.article-layout{display:flex;flex-direction:column;gap:30px;padding-top:26px}.article-main{min-width:0;width:100%}.article-head h1{font-size:28px;line-height:1.7}.article-lead{font-size:16px;margin-block:26px 30px}.article-body h2{font-size:22px;line-height:1.75;margin-top:38px}.article-body p{font-size:16px;line-height:2.05}.toc{position:static;order:-1;width:100%;padding:20px 22px}.toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px}.toc li{margin:0}.related .cards{grid-template-columns:repeat(2,minmax(0,1fr))}.article-body blockquote{padding:20px 22px}.prose-page{padding-top:34px}.prose-page h1{font-size:28px}.detail-table th{width:30%}.preview-banner{font-size:11px}.source-box{margin-top:36px}.takeaway{padding:22px}}
@media(max-width:480px){.shell{width:calc(100% - 36px)}.cards,.related .cards{grid-template-columns:1fr}.card{display:grid;grid-template-columns:92px minmax(0,1fr);border-radius:16px}.card-art{height:100%;min-height:170px;border-radius:0}.card-art svg{width:80px;height:80px}.card-body{padding:17px}.card h3{font-size:16px;line-height:1.75;margin-bottom:10px}.card p{font-size:12px;line-height:1.8;margin-bottom:14px}.tags{margin-bottom:10px;gap:5px}.tag{font-size:9px}.card-foot{flex-wrap:wrap;gap:6px}.hero h1{font-size:29px}.brand-name{font-size:18px}.brand-symbol{width:30px;height:30px}.brand{gap:9px}.nav-toggle{padding:7px 9px;font-size:12px}.article-head h1{font-size:26px}.article-body h2{font-size:21px}.toc ol{grid-template-columns:1fr}.search-area{align-items:stretch;flex-wrap:wrap}.search-field{min-width:100%}.clear-search{margin-left:auto;padding-block:2px}.footer-nav{gap:12px 18px}}
@media(max-width:760px){.toc-inline{display:block;margin-bottom:34px}.toc-sidebar{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.preview-banner,.nav,.nav-toggle,.search-area,.toc,.related,.site-footer,.hero-art{display:none}.shell{width:100%}.article-layout{display:block}.site-header{border:0}.article-body h2{break-after:avoid}.article-body p{orphans:3;widows:3}.card{break-inside:avoid}}

.hero.hero--text{grid-template-columns:minmax(0,1fr)}

/* Meaningful wrapping only for article headings; long phrases may still wrap. */
.article-head h1,.article-body h2{text-wrap:balance}
.article-head h1 .heading-phrase,.article-body h2 .heading-phrase{display:inline-block;max-width:100%;vertical-align:top;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.article-lead,.article-body p{text-wrap:pretty}

/* Media-specific palettes and text-led article lists. */
.site-header{background:var(--paper)}
.search-area,.site-footer,.takeaway,.article-body blockquote{background:var(--accent-soft)}
.card--text{border-top:3px solid var(--accent)}
@media(max-width:480px){.card.card--text{display:flex}.card--text .card-body{padding:22px}.card--text h3{font-size:18px;line-height:1.7}.card--text p{font-size:13px}}

.card h3{text-wrap:balance}
.hero .hero-description{text-wrap:balance}
.card h3 .heading-phrase{display:inline-block;max-width:100%;vertical-align:top;white-space:normal;word-break:normal;overflow-wrap:anywhere}
