.directory-intro {
  max-width: 900px;
  padding: 82px 0 54px;
}
.directory-intro h1 { color:#111; }
.directory-intro > p { max-width:720px; color:var(--muted); font-size:18px; line-height:1.75; }
.directory-nav { display:flex; flex-wrap:wrap; gap:9px; margin-top:25px; }
.directory-nav a { padding:10px 13px; background:#fff; border:1px solid var(--line); border-radius:999px; font-size:12px; font-weight:700; }
.directory-nav a:hover { color:#fff; background:#171717; }
.directory-section { padding:62px 0 84px; border-top:1px solid var(--line); }
.directory-section__head { max-width:760px; margin-bottom:30px; }
.directory-section__head h2 { font-size:clamp(40px,5vw,62px); line-height:1; letter-spacing:-2px; }
.directory-section__head p { color:var(--muted); line-height:1.7; }
.directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.directory-card { min-height:230px; padding:26px; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:20px; }
.directory-card small { color:#777; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.directory-card h2,.directory-card h3 { margin-top:30px; font-size:32px; line-height:1; }
.directory-card p { color:var(--muted); font-size:14px; line-height:1.65; }
.directory-card b { margin-top:auto; font-size:12px; }

.fact-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:30px 0 0; }
.fact-strip > div { padding:20px; background:rgba(255,255,255,.72); border:1px solid var(--line); border-radius:16px; }
.fact-strip b,.fact-strip span { display:block; }
.fact-strip b { font-size:13px; }
.fact-strip span { margin-top:6px; color:var(--muted); font-size:12px; line-height:1.5; }

.definition-card { margin:34px 0 0; padding:32px; background:#fff; border:1px solid var(--line); border-radius:20px; }
.definition-card dt { color:#777; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.definition-card dd { margin:10px 0 0; font-family:"Cormorant Garamond",Georgia,serif; font-size:clamp(28px,4vw,43px); line-height:1.08; }
.example-list { display:grid; gap:12px; margin-top:24px; }
.example-list blockquote { margin:0; padding:18px 20px; color:#444; background:rgba(255,255,255,.68); border-left:3px solid #111; border-radius:0 13px 13px 0; line-height:1.65; }

.tool-shell { margin:34px 0 90px; padding:clamp(24px,5vw,52px); background:#fff; border:1px solid var(--line); border-radius:28px; }
.tool-shell__intro { max-width:730px; }
.tool-shell__intro h2 { font-size:clamp(38px,5vw,60px); line-height:1; }
.tool-shell__intro p { color:var(--muted); line-height:1.7; }
.tool-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:34px; }
.tool-field { display:grid; gap:8px; }
.tool-field--wide { grid-column:1/-1; }
.tool-field > span { font-size:13px; font-weight:800; }
.tool-field input,.tool-field select,.tool-field textarea { width:100%; min-height:50px; padding:13px 15px; color:#111; background:#f7f6f2; border:1px solid rgba(0,0,0,.19); border-radius:12px; font:inherit; }
.tool-field textarea { min-height:130px; resize:vertical; }
.tool-field input:focus-visible,.tool-field select:focus-visible,.tool-field textarea:focus-visible { outline:3px solid rgba(0,0,0,.22); outline-offset:2px; }
.tool-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; }
.tool-result { grid-column:1/-1; min-height:80px; margin-top:6px; padding:22px; color:#fff; background:#171717; border-radius:17px; line-height:1.65; }
.tool-result:empty::before { content:"Your result will appear here."; color:#aaa; }
.tool-result h3 { font-size:28px; }
.tool-result p { color:#d0d0d0; }
.tool-result ul { padding-left:20px; }
.tool-note { color:#777; font-size:12px; line-height:1.6; }
.tool-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.tool-choice { display:flex; align-items:flex-start; gap:9px; padding:14px; background:#f7f6f2; border:1px solid var(--line); border-radius:12px; }

.hub-expansion { padding:72px 0; border-top:1px solid var(--line); }
.hub-expansion h2 { font-size:clamp(38px,5vw,58px); line-height:1; }
.hub-expansion p { max-width:690px; color:var(--muted); line-height:1.7; }

@media(max-width:850px){
  .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fact-strip { grid-template-columns:1fr; }
}
@media(max-width:580px){
  .directory-grid,.tool-form,.tool-choice-grid { grid-template-columns:1fr; }
  .tool-field--wide,.tool-actions,.tool-result { grid-column:1; }
  .directory-intro { padding-top:60px; }
  .directory-card { min-height:210px; }
}
.worked-example { margin:64px 0; padding:44px; display:grid; grid-template-columns:1fr 1.7fr; gap:48px; border-top:1px solid #c9c5bc; border-bottom:1px solid #c9c5bc; background:#eeece6; }
.worked-example h2 { margin:16px 0; font-size:38px; }
.worked-example h3 { margin:28px 0 12px; font-size:24px; }
.worked-example h3:first-child { margin-top:0; }
.worked-example p { line-height:1.8; color:#444; }
.worked-example .example-disclosure { font-size:13px; color:#666; }
.worked-example blockquote { margin:20px 0; padding:18px 24px; border-left:2px solid #252525; background:#fffdf8; font-size:19px; line-height:1.65; }
.worked-example a,.related-reading a { color:#222; text-underline-offset:4px; }
.worked-example .example-next-step { margin-top:28px; font-weight:600; }
.related-reading { padding:32px 0; margin:24px 0 50px; border-top:1px solid #d2cec5; }
.related-reading h2 { font-size:34px; margin:14px 0 24px; }
.related-reading ul { padding:0; list-style:none; }
.related-reading li { padding:14px 0; border-bottom:1px solid #dedbd4; line-height:1.7; }
@media(max-width:700px){.worked-example{grid-template-columns:1fr;padding:26px 22px;gap:20px}.worked-example h2{font-size:32px}.worked-example blockquote{margin:16px 0;padding:16px;font-size:17px}}
