/* Recognizable editorial illustrations — GPT generated, October 2026 */
.illustration-frame{display:block;width:112px;height:112px;flex:none;background:#f5f2ea;border-radius:16px;overflow:hidden;isolation:isolate}
.service-illustration{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pr .illustration-frame{width:156px;height:156px;margin-bottom:28px;background:#f5f2ea;border-radius:50%}
.pr .n{top:43px;font-size:20px;color:#d6c29e}
.pr h3{font-size:25px;letter-spacing:.06em}
.pr p{font-size:14px;line-height:2.1}
.concern{gap:20px}
.cn{padding:28px;min-height:330px;background:#fffefa;border:1px solid #d9ded4;transition:background .25s,border-color .25s,transform .25s}
.cn .illustration-frame{margin:0 0 23px;width:104px;height:104px;border-radius:12px}
.cn .kw{font-size:10px;color:#65756b;letter-spacing:.14em}
.cn h3{font-size:22px;margin:5px 0 12px}
.cn p{font-size:13px;line-height:1.9}
.cn .to{margin-top:auto;padding-top:22px;font-size:12px}
.cn--main{background:#e9eee5;padding:35px 230px 32px 32px;justify-content:center;min-height:330px}
.cn--main .illustration-frame{position:absolute;right:30px;top:50%;transform:translateY(-50%);width:175px;height:175px;margin:0;border-radius:50%}
.cn--main::after{display:none}
.cn--main .kw{margin-top:0}
.cn--main h3{font-size:27px}
.cn--main .to{margin-top:4px}
.cn:hover{background:#f3f4ed;transform:translateY(-3px);border-color:#91a28b}
.cn--main:hover{background:#e1e9dc}
@media(max-width:1250px){.cn{padding:24px}.cn--main{padding:28px 190px 28px 28px}.cn--main .illustration-frame{right:22px;width:145px;height:145px}.cn h3{font-size:20px}.cn--main h3{font-size:25px}}
@media(max-width:1050px){.cn--main{padding:28px;justify-content:flex-start}.cn--main .illustration-frame{position:static;transform:none;width:155px;height:155px;margin:0 0 25px}.cn--main h3{font-size:25px}.cn--main .to{margin-top:auto}.cn{min-height:340px}.pr .illustration-frame{width:130px;height:130px}.pr h3{font-size:22px}}
@media(max-width:900px){.pr .illustration-frame{width:115px;height:115px}.pr .n{top:28px;right:8px;font-size:16px}.pr h3{font-size:19px}.pr p{font-size:13px}.promise{gap:26px}.pr,.pr+.pr{padding-right:22px}}
@media(max-width:600px){.promise{gap:0}.pr,.pr+.pr{padding:28px 0 27px 105px;min-height:200px}.pr:last-child{padding-right:0}.pr .illustration-frame{position:absolute;left:0;top:30px;width:84px;height:84px;margin:0}.pr .n{top:128px;left:32px;right:auto;font-size:18px}.pr h3{font-size:20px;margin:2px 0 14px}.pr p{font-size:12px}.pr .tag{font-size:10px;line-height:1.7;display:block}.concern{gap:12px}.cn{min-height:335px;padding:19px 15px}.cn .illustration-frame{width:94px;height:94px;margin-bottom:19px;border-radius:12px}.cn .kw{font-size:9px;letter-spacing:.07em}.cn h3{font-size:18px;line-height:1.6;margin:6px 0 10px}.cn p{font-size:12px;line-height:1.9}.cn .to{font-size:10px;padding-top:20px}.cn--main{padding:24px;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 94px;column-gap:14px}.cn--main .illustration-frame{width:94px;height:94px;grid-column:2;grid-row:1/4;align-self:center;margin:0;border-radius:50%}.cn--main .kw,.cn--main h3{grid-column:1}.cn--main h3{font-size:23px}.cn--main p{grid-column:1/-1;margin-top:12px;font-size:12px}.cn--main .to{grid-column:1/-1;margin-top:0;padding-top:16px}}
.pr .illustration-frame{border-radius:14px}
/* Constitution cards use the same editorial illustration family. */
.type{padding:18px 10px 17px;background:#f2f0e9}
.type svg.type-art{width:82px;height:82px;margin:0 auto 13px;border-radius:12px;overflow:hidden;background:#f5f2ea}
.type b{font-size:18px;letter-spacing:.1em}
.type small{font-size:11px;margin-top:6px}
.type.is-hit{background:var(--navy);box-shadow:inset 0 0 0 2px var(--gold-l)}
.res__head .res__icon{width:88px;height:88px;border-radius:12px;overflow:hidden;background:#f5f2ea;flex:none}
@media(min-width:601px) and (max-width:900px){.type{padding:14px 5px}.type svg.type-art{width:66px;height:66px}.type b{font-size:16px}.type small{font-size:9px}}
@media(max-width:600px){.type{padding:14px 5px}.type svg.type-art{width:70px;height:70px;margin-bottom:10px}.type b{font-size:17px}.type small{font-size:10px}.res__head .res__icon{width:74px;height:74px}}
.type svg.type-art{background:#f5f2ea;border-radius:50%;width:88px;height:88px}.res__head .res__icon{border-radius:50%}@media(min-width:601px) and (max-width:900px){.type svg.type-art{width:70px;height:70px}}@media(max-width:600px){.type svg.type-art{width:74px;height:74px}}

/* Clear, compact navigation pictograms: no image requests. */
.toc a{grid-template-columns:42px minmax(0,1fr);gap:4px 12px;transition:background .2s}
.toc .toc-icon{width:42px;height:42px;color:#193345;grid-column:1;grid-row:1/3}
.toc .n{color:#786342;font-size:10px;font-weight:600}
.toc .t{color:#193345;font-weight:600;letter-spacing:.025em}
.toc a:hover,.toc a:focus-visible{background:#eaf0e6}
@media(max-width:600px){.toc a{grid-template-columns:32px minmax(0,1fr);gap:3px 8px;padding:16px 8px}.toc .toc-icon{width:32px;height:32px}.toc .t{font-size:11px}}

/* GPT-generated sculptural navigation, matching constitution artwork. */
.toc a{grid-template-columns:60px minmax(0,1fr);gap:3px 10px;padding:20px 12px;min-height:102px}
.toc-art{display:block;width:60px;height:60px;object-fit:contain;grid-column:1;grid-row:1/3;border-radius:8px;mix-blend-mode:multiply}
.toc .n{font-size:10px;font-weight:400;color:#8c7958;align-self:end;letter-spacing:.15em}
.toc .t{font-weight:400;font-size:12px;align-self:start;letter-spacing:.04em}
.toc a:after{height:38px;top:32px}
@media(min-width:901px) and (max-width:1150px){.toc a{grid-template-columns:46px minmax(0,1fr);gap:3px 7px;padding:18px 6px}.toc-art{width:46px;height:46px}.toc .t{font-size:10px}}
@media(max-width:600px){.toc ol{grid-template-columns:repeat(2,minmax(0,1fr))}.toc a{grid-template-columns:48px minmax(0,1fr);gap:3px 8px;padding:14px 8px;min-height:84px}.toc-art{width:48px;height:48px}.toc .t{font-size:11px}.toc li:nth-child(n+3){border-top:1px solid var(--line)}.toc a:after{top:24px;height:32px}.toc li:nth-child(2n) a:after{display:none}}
