/* Scoped additions to the existing visual system; Persian pages only. */
.gil-stage { margin-block: 3rem; scroll-margin-top: 7rem; }
.gil-stage > h2 { margin-bottom: 1.4rem; }
.gil-card-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,20rem),1fr)); gap: 1.25rem; align-items: stretch; margin-block: 1.4rem; }
.gil-service-card { display:flex; flex-direction:column; gap:.65rem; min-width:0; padding:1.5rem; border:1px solid var(--line); border-radius:1.25rem; background:var(--paper); box-shadow:0 10px 34px rgba(22,42,57,.07); }
.gil-service-card h3,.gil-service-card h4 { margin:0; font-size:1.25rem; line-height:1.55; }
.gil-service-card p { margin:0; line-height:1.85; }
.gil-service-number { color:var(--gil-accent,#246e73); font-weight:700; font-size:.85rem; }
.gil-service-card .gil-question { font-weight:700; }
.gil-service-card ul { padding-inline-start:1.25rem; margin:.15rem 0 .65rem; line-height:1.85; }
.gil-service-card .gil-meta { margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; padding-block:1rem .35rem; border-top:1px solid var(--line); }
.gil-meta strong { white-space:normal; color:var(--gil-accent,#17666c); }
.gil-card-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; }
.gil-card-actions .button { text-align:center; }
.gil-card-actions details { flex-basis:100%; padding:.65rem .9rem; border-radius:.65rem; background:rgba(31,112,118,.07); }
.gil-card-actions summary { cursor:pointer; font-weight:700; }
.gil-card-actions details p,.gil-card-actions details ul { margin-top:.8rem; }
.gil-card-actions summary:focus-visible,.gil-stage-nav a:focus-visible { outline:3px solid var(--gil-accent,#246e73); outline-offset:3px; }
.gil-topics { display:grid; gap:.45rem; border:0; padding:0; margin-top:.8rem; }
.gil-topics legend { font-weight:700; margin-bottom:.45rem; }
.gil-topics label { display:flex; align-items:center; gap:.5rem; cursor:pointer; }
.gil-topics input { accent-color:var(--gil-accent,#246e73); }
.gil-support { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem 1.2rem; padding:1.2rem 1.4rem; border-inline-start:4px solid #2b7d80; border-radius:.75rem; background:rgba(36,110,115,.07); }
.gil-support p { flex-basis:100%; margin:0; }
.gil-support a { font-weight:700; text-decoration:underline; text-underline-offset:.2em; }
.gil-support span { margin-inline-start:auto; font-weight:700; }
.gil-consult { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2rem; margin-block:2rem; padding:1.6rem; border-radius:1.2rem; background:#203347; color:#fff; }
.gil-consult h2 { color:inherit; margin:0 0 .4rem; font-size:1.45rem; }
.gil-consult p { margin:.2rem 0 .8rem; }
.gil-consult small { display:block; max-width:55rem; line-height:1.8; }
.gil-pricing-note { margin-block:2rem; font-weight:700; }
.gil-stage-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0; }
.gil-stage-nav a { border:1px solid var(--line); border-radius:2rem; padding:.6rem 1rem; text-decoration:none; }
#milestone-panel .gil-card-grid { margin-block:1rem; }
@media (max-width:680px) { .gil-service-card { padding:1.1rem; } .gil-card-actions .button { width:100%; } .gil-support span { margin-inline-start:0; } }


@media (prefers-color-scheme: dark) {
  html[lang="fa"] body { --gil-accent:#79e9dc; }
  .gil-service-card { background:#182231; border-color:#52647c; box-shadow:0 10px 34px rgba(0,0,0,.18); }
  .gil-card-actions details,.gil-support { background:var(--teal-light); }
  .gil-service-card .button-primary { background:#08786d; color:#fff; }
  .gil-stage-nav a:hover { background:var(--teal-light); }
}

.gil-anchor-alias { display:block; scroll-margin-top:7rem; }
