/* Isolated Signposts lesson composition. Shared tokens/components remain authoritative. */
body.page-signposts { background:#F9F8F4; color:#374151; }
.page-signposts .lhero { padding:clamp(2.8rem,8vw,6.8rem) var(--gutter) clamp(2.5rem,6vw,5rem); background:#F9F8F4; }
.page-signposts .lhero__inner { max-width:1100px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.page-signposts .lhero__pos { display:inline-block; margin:0 0 1rem; padding:0 0 .6rem; border-bottom:1px solid #1A365D; color:#1A365D; font-size:13px; font-weight:700; }
.page-signposts .lhero__title { max-width:16ch; color:#0F2440; font-size:clamp(34px,4vw,52px); line-height:1.2; letter-spacing:0; }
.page-signposts .lhero__sub { max-width:36rem; margin-top:1.15rem; color:#374151; font-size:clamp(16px,1.5vw,19px); line-height:2; }
.page-signposts .b3-intro__actions { display:flex; flex-wrap:wrap; column-gap:16px; row-gap:12px; margin-top:24px; }
.page-signposts .b3-intro__actions > .fm-action { flex:0 0 auto; min-height:48px; padding:12px 20px; }
.page-signposts .sp-evidence { border-block:1px solid #1A365D; padding:1.1rem 0; }
.page-signposts .sp-evidence__label { margin:0 0 .75rem; color:#6B7280; font-size:13px; font-weight:700; }
.page-signposts .sp-evidence__question { margin:0 0 1rem; font-size:16px; font-weight:700; color:#1A365D; }
.page-signposts .sp-evidence__slip { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-top:1px solid #E5E7EB; direction:ltr; text-align:left; font-weight:600; }
.page-signposts .sp-evidence__slip--key { color:#1A365D; border-top-color:#1A365D; }
.page-signposts .sp-evidence__mark { display:inline-block; padding:0 .25rem; border-bottom:2px solid #1A365D; }
.page-signposts .sp-evidence__caption { margin:1rem 0 0; font-size:16px; line-height:1.9; color:#374151; }
.page-signposts .sp-evidence, .page-signposts .sp-evidence span, .page-signposts .sp-evidence strong { color:#374151; }
.page-signposts .sp-evidence__question, .page-signposts .sp-evidence__slip--key, .page-signposts .sp-evidence__slip--key *, .page-signposts .sp-evidence__mark { color:#1A365D; }
.page-signposts .blindspot { background:#FFFFFF; border-block:1px solid #E5E7EB; }
.page-signposts .blindspot__inner { max-width:760px; }
.page-signposts .b3-companion { max-width:760px; margin:1.5rem auto 0; padding:0 var(--gutter); }
.page-signposts .b3-companion span { display:block; margin-bottom:.8rem; }
.page-signposts .b3-companion:not(.b4-companion--after), .page-signposts .fswitch { display:none!important; }
.page-signposts .fswitch { padding:1rem var(--gutter) 0; }
.page-signposts .fswitch__inner { max-width:760px; }
.page-signposts .fswitch__bar { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; border-block:1px solid #E5E7EB; }
.page-signposts .fswitch__here { padding:0; border:0; }
.page-signposts .fswitch__here-icon { display:none; }
.page-signposts .fswitch__door { min-height:0; padding:.35rem 0; border:0; text-decoration:underline; text-underline-offset:.28rem; }
.page-signposts .fswitch__door-badge { display:none; }
.page-signposts .fswitch__door-sub { display:none; }
.page-signposts .sp-family-map { max-width:760px; margin:0 auto; padding:1.5rem var(--gutter) 0; }
.page-signposts .sp-family-map h2 { color:#1A365D; font-size:23px; }
.page-signposts .sp-family-map > p { margin: .55rem 0 0; line-height:1.9; }
.page-signposts .sp-depth { margin-top:1rem; padding-top:1rem; border-top:1px solid #E5E7EB; }
.page-signposts .sp-depth summary { color:#1A365D; cursor:pointer; font-weight:700; }
.page-signposts .sp-depth p { margin:.8rem 0 0; line-height:1.95; }
.page-signposts .meta { padding-top:1.5rem; }
.page-signposts .toc { padding-block:1.5rem 2.25rem; }
.page-signposts .toc__inner { max-width:1050px; }
.page-signposts .toc__list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; }
.page-signposts .toc__item { border-top:1px solid #E5E7EB; }
.page-signposts .toc__link { min-height:0; padding:.85rem .25rem; gap:.55rem; }
.page-signposts .toc__num { color:#6B7280; }
.page-signposts .article { padding-top:clamp(2rem,6vw,5rem); }
.page-signposts .article__inner { max-width:800px; }
.page-signposts .article, .page-signposts .article p { color:#374151; }
.page-signposts .article h2, .page-signposts .article h3 { color:#0F2440; }
.page-signposts .article h2[id], .page-signposts .article h3[id], .page-signposts #drill { scroll-margin-top:120px; }
.page-signposts .beat { max-width:650px; margin:0 auto 2.2rem; padding-bottom:1rem; border-bottom:1px solid #1A365D; color:#1A365D; font-weight:700; }
.page-signposts .b3-section { padding-block:clamp(2.5rem,6vw,5.5rem); border-top:1px solid #E5E7EB; }
.page-signposts .b3-section h2 { max-width:21ch; font-size:clamp(1.7rem,3vw,2.65rem); line-height:1.35; }
.page-signposts .b3-section h3 { margin-top:2rem; padding-top:.85rem; border-top:1px solid #E5E7EB; font-size:23px; }
.page-signposts .b3-section p { max-width:46rem; margin-top:1.15rem; line-height:2.05; }
.page-signposts .b3-points { padding:0; margin:1.6rem 0 0; list-style:none; }
.page-signposts .b3-points li { padding:.65rem 0; border-top:1px solid #E5E7EB; }
.page-signposts .b3-points li::before { content:'—'; margin-inline-end:.55rem; color:#1A365D; }
.page-signposts .b3-example { margin:1.7rem 0; padding:1.25rem 1.35rem; border:1px solid #E5E7EB; border-inline-start:3px solid #1A365D; background:#FFFFFF; }
.page-signposts .b3-example__answer { color:#1A365D; font-weight:700; }
.page-signposts .b3-depth { display:none; }
.page-signposts .b3-section[aria-labelledby="what"] > p:nth-of-type(2), .page-signposts .b3-section[aria-labelledby="what"] > p:nth-of-type(3), .page-signposts .b3-section[aria-labelledby="families"] > p:nth-of-type(2), .page-signposts .b3-section[aria-labelledby="families"] > p:nth-of-type(3), .page-signposts .b3-section[aria-labelledby="anchor"] > p:nth-of-type(2), .page-signposts .b3-section[aria-labelledby="anchor"] > p:nth-of-type(3), .page-signposts .b3-section[aria-labelledby="core-rule"] > p:nth-of-type(2), .page-signposts .b3-section[aria-labelledby="core-rule"] > p:nth-of-type(3) { display:none; }
.page-signposts .sp-support { max-width:800px; margin:0 auto; padding:0 var(--gutter) clamp(2.5rem,6vw,5.5rem); }
.page-signposts .sp-support__item { padding:1rem 0; border-top:1px solid #E5E7EB; }
.page-signposts .sp-support__item summary { color:#1A365D; cursor:pointer; font-weight:700; }
.page-signposts .sp-support__item p { margin:1rem 0 0; color:#374151; line-height:2; }
.page-signposts .b3-method { margin:2rem 0 0; padding:1.2rem; border-block:1px solid #E5E7EB; }
.page-signposts .b3-method img { margin:auto; }
.page-signposts .b3-method figcaption { margin-top:1rem; line-height:1.9; }
.page-signposts .sp-family-rows { display:grid; margin:1.6rem 0 0; border-top:1px solid #1A365D; }
.page-signposts .sp-family { display:grid; grid-template-columns:9rem 1fr; gap:1rem; align-items:start; padding:1rem 0; border-bottom:1px solid #E5E7EB; }
.page-signposts .sp-family__name { color:#1A365D; font-weight:700; }
.page-signposts .sp-family__path { direction:ltr; text-align:left; color:#374151; line-height:1.8; }
.page-signposts .sp-family__connector { display:inline-block; margin-inline: .35rem; color:#1A365D; font-weight:700; }
.page-signposts .sp-family__note { display:block; margin-top:.25rem; direction:rtl; text-align:right; color:#6B7280; font-size:13px; }
.page-signposts #drill { margin-top:0; padding-block:clamp(3rem,7vw,6rem); background:#F3F4F6; }
.page-signposts #drill .drill__inner { max-width:760px; }
.page-signposts #drill .section-title { max-width:23ch; font-size:clamp(1.75rem,3vw,2.55rem); }
.page-signposts #drill .drill__card { border:1px solid #E5E7EB; border-radius:0; box-shadow:none; }
.page-signposts .b4-nojs { margin:1.5rem 0; padding:1.25rem; border:1px solid #1A365D; background:#FFFFFF; }
.page-signposts .b4-nojs details { padding:.85rem 0; border-top:1px solid #E5E7EB; }
.page-signposts .b4-nojs summary { cursor:pointer; color:#1A365D; font-weight:700; }
.page-signposts .b4-nojs p { margin:.75rem 0 0; line-height:1.9; }
.page-signposts .sp-nojs-practice { display:none; margin:1.5rem auto; max-width:760px; padding:1.25rem; border:1px solid #1A365D; background:#FFFFFF; }
.page-signposts .sp-nojs-practice > section { padding:1rem 0; border-top:1px solid #E5E7EB; }
.page-signposts .sp-nojs-practice h4, .page-signposts .sp-nojs-practice summary { color:#1A365D; font-weight:700; }
.page-signposts .sp-nojs-practice p { margin:.75rem 0 0; line-height:1.9; }
.page-signposts .sp-nojs-practice details { margin-top:.75rem; }
.page-signposts .sp-nojs-practice fieldset { margin:1rem 0 0; padding:1rem; border:1px solid #E5E7EB; }
.page-signposts .sp-nojs-practice legend { color:#1A365D; font-weight:700; }
.page-signposts .sp-nojs-practice label { display:block; margin-top:.75rem; color:#374151; cursor:pointer; }
.page-signposts .sp-nojs-practice input { accent-color:#1A365D; }
.page-signposts .sp-nojs-practice fieldset details { display:none; }
.page-signposts .sp-nojs-practice fieldset:has(input:checked) details { display:block; }
.page-signposts .sp-nojs-practice input:focus-visible, .page-signposts .sp-nojs-practice button:focus-visible { outline:3px solid #1A365D; outline-offset:3px; }
.page-signposts .sp-nojs-practice button { margin-top:1rem; min-height:48px; padding:12px 20px; border:1px solid #1A365D; background:#FFFFFF; color:#1A365D; font:600 16px/1.5 Vazirmatn; cursor:pointer; }
.page-signposts .sp-nojs-print-note { display:none; max-width:760px; margin:1rem auto; padding:0 var(--gutter); color:#374151; }
.page-signposts .dcard { background:#FFFFFF; border-block:1px solid #E5E7EB; }
.page-signposts .dcard__inner { max-width:760px; }
.page-signposts .lnav { background:#F9F8F4; }
.page-signposts .lnav__inner { max-width:900px; }
.page-signposts .companion-card { border-radius:0; box-shadow:none; }
.page-signposts a:focus-visible, .page-signposts button:focus-visible { outline:3px solid #1A365D; outline-offset:3px; }
@media (max-width:720px) {
  .page-signposts .lhero__inner { grid-template-columns:1fr; gap:2rem; }
  .page-signposts .lhero__title { max-width:13ch; }
  .page-signposts .toc__list { grid-template-columns:1fr; }
  .page-signposts .sp-family { grid-template-columns:1fr; gap:.35rem; }
  .page-signposts .fswitch__bar { align-items:flex-start; flex-direction:column; }
}
@media (min-width:768px) { .page-signposts .lrail { display:none!important; } }
@media (prefers-reduced-motion:reduce) { .page-signposts *, .page-signposts *::before, .page-signposts *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print { .page-signposts .lhero { padding:1.5cm 0 .8cm; } .page-signposts .sp-evidence { break-inside:avoid; } .page-signposts .dcard::after { content:"farhadmirsaeedi.com · لیسنینگ آیلتس · درس ۷"; } }
@media (prefers-reduced-motion:reduce) { html:has(body.page-signposts) { scroll-behavior:auto!important; } }
