/* Sales24 landing polish layer (2026-11-12, task-136). Loaded after calm.css, before theme-light.css.
   Keeps the hero untouched; refines type rhythm, focus, FAQ and below-the-fold rendering cost. */
:root { --faq-line:rgba(255,255,255,.12); --faq-hover:rgba(255,255,255,.04); }
html[data-theme="light"] { --faq-line:rgba(11,20,36,.14); --faq-hover:rgba(11,20,36,.04); }

::selection { background:rgba(82,116,255,.35); color:inherit; }
:where(h1,h2,h3) { text-wrap:balance; }
:where(p,li) { text-wrap:pretty; }
:where(a,button,summary,input,textarea,select):focus-visible { outline:2px solid var(--accent,#5274ff); outline-offset:3px; border-radius:6px; }

/* Heading scale: one rhythm for every section title below the hero */
.section :is(h2) { font-size:clamp(34px,4.4vw,58px); line-height:1.06; letter-spacing:-.035em; }
html[dir="rtl"] .section h2 { letter-spacing:0; line-height:1.25; }
.eyebrow { margin-bottom:14px; }


/* FAQ: native disclosure list, sticky heading beside it */
.faq-grid { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(32px,6vw,96px); align-items:start; }
.faq-head { position:sticky; top:110px; }
.faq-head h2 { margin:0; }
.faq-list { border-top:1px solid var(--faq-line); }
.faq-item { border-bottom:1px solid var(--faq-line); }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 4px; cursor:pointer; list-style:none; font-size:clamp(17px,1.5vw,20px); font-weight:600; line-height:1.4; transition:background-color .2s; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { flex:none; width:22px; height:22px; background:currentColor; opacity:.7; content:""; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat; transition:transform .25s cubic-bezier(.16,1,.3,1); }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-item summary:hover { background:var(--faq-hover); }
.faq-item p { max-width:62ch; margin:0 0 24px; padding:0 48px 0 4px; color:var(--muted); font-size:17px; line-height:1.7; }
html[dir="rtl"] .faq-item p { padding:0 4px 0 48px; }
@media (max-width:860px) { .faq-grid { grid-template-columns:1fr; } .faq-head { position:static; } .faq-item p { padding-inline-end:4px; } }
html[lang="ar"] .faq-item summary,html[lang="ku"] .faq-item summary { font-weight:500; }

/* Buttons: one hover and press language */
.button { transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,background-color .2s,border-color .2s; }
.button:active { transform:translateY(1px) scale(.99); }
@media (hover:hover) { .button-primary:hover { box-shadow:0 14px 34px rgba(58,95,232,.38); } }
@media (prefers-reduced-motion:reduce) {
  .faq-item summary::after,.button { transition:none; }
  .button:active { transform:none; }
}

/* Arabic and Sorani: IBM Plex Sans Arabic at weight 400 to 500 only */
html[dir="rtl"] :is(h1,h2,h3,h4,h5,strong,b,summary,.button,.eyebrow,th) { font-weight:500; }
html[dir="rtl"] body { font-weight:400; }
