/* polestead.com shared styles: header, footer, mobile layer */

/* -- site header: desktop dropdowns ------------------------------------ */
.psnav a { text-decoration:none; }
.psnav a:hover { color:#fff !important; }
.psnav a.pscta:hover { color:#fff !important; background:#4338CA !important; }
.psdd { display:none; }
.psgrp:hover .psdd, .psgrp:focus-within .psdd { display:block; }
.psdd a:hover { color:#4F46E5 !important; background:#F9FAFB; }
.pstrig:hover, .psgrp:focus-within .pstrig { color:#fff !important; }
/* -- site header: mobile menu ------------------------------------------ */
.psmobwrap { display:none; }
@media (max-width: 920px) {
  .psnav { display:none !important; }
  .psmobwrap { display:flex; align-items:center; gap:6px; }
  .pshead-in { padding:0 20px !important; height:60px !important; }
  .psmob-cta { font:600 13px 'Inter'; color:#fff; background:#4F46E5; padding:9px 14px; border-radius:8px; text-decoration:none; }
  .psmob summary { list-style:none; cursor:pointer; padding:10px 0 10px 10px; display:flex; align-items:center; }
  .psmob summary::-webkit-details-marker { display:none; }
  .psico-x { display:none; }
  .psmob[open] .psico-menu { display:none; }
  .psmob[open] .psico-x { display:block; }
  .psmob-panel { position:absolute; left:0; right:0; top:100%; background:#0B1020; border-top:1px solid #1E2536;
    padding:6px 20px 24px; z-index:70; max-height:calc(100vh - 60px); overflow:auto;
    display:flex; flex-direction:column; box-shadow:0 24px 48px rgba(0,0,0,.4); }
  .psmob-eyebrow { font:600 10px 'JetBrains Mono'; letter-spacing:.14em; text-transform:uppercase; color:#6B7280; margin:18px 0 4px; }
  .psmob-panel a { font:500 15px 'Inter'; color:#F9FAFB; text-decoration:none; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.06); }
  .psmob-panel a:last-of-type { border-bottom:none; }
  .psmob-panel a.psmob-login { margin-top:20px; border:1px solid #2A3350; border-radius:8px; text-align:center; padding:12px 0; font-weight:600; border-bottom:none; }
  .psmob-panel a.psmob-demo { margin-top:10px; background:#4F46E5; border-radius:8px; text-align:center; padding:13px 0; font-weight:600; border-bottom:none; }
}
/* -- functional polish -------------------------------------------------- */
html { scroll-behavior: smooth; }
details > summary > span:last-child { display:inline-block; transition: transform .18s ease; }
details[open] > summary > span:last-child { transform: rotate(45deg); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid #4F46E5; outline-offset: 2px; border-radius: 4px; }

/* -- site footer ------------------------------------------------------- */
.psfoot a { text-decoration:none; }
.psfoot a:hover { color:#111827 !important; }

/* -- mobile layout layer (<=860px) ------------------------------------- */
html { -webkit-text-size-adjust: 100%; }
@media (max-width: 860px) {
  /* fixed multi-column grids collapse */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  /* type scale */
  h1 { font-size: clamp(32px, 9.5vw, 58px) !important; letter-spacing: -0.03em !important; }
  h2 { font-size: clamp(26px, 7vw, 40px) !important; }
  [style*="font:600 64px"] { font-size: 48px !important; }
  /* section rhythm: sides 20px, verticals scaled down */
  section > div { padding-left: 20px !important; padding-right: 20px !important; }
  [style*="padding:128px 40px"] { padding-top: 64px !important; padding-bottom: 64px !important; }
  [style*="padding:120px 40px"] { padding-top: 64px !important; padding-bottom: 72px !important; }
  [style*="padding:112px 40px"] { padding-top: 60px !important; padding-bottom: 60px !important; }
  [style*="padding:96px 40px"], [style*="padding:96px 32px"] { padding-top: 56px !important; padding-bottom: 56px !important; }
  [style*="padding:88px 40px"], [style*="padding:88px 32px"] { padding-top: 52px !important; padding-bottom: 52px !important; }
  [style*="padding:80px 40px"] { padding-top: 48px !important; padding-bottom: 48px !important; }
  [style*="gap:80px"] { gap: 36px !important; }
  [style*="gap:64px"] { gap: 32px !important; }
  /* split panels lose their divider indents */
  [style*="border-right:1px solid #E5E7EB"] { border-right: none !important; }
  [style*="border-left:1px solid #1E2536"] { border-left: none !important; }
  [style*="padding:40px 48px 40px 0"], [style*="padding:40px 0 40px 48px"] { padding: 20px 0 !important; }
  [style*="padding:36px 32px 0 0"], [style*="padding:36px 32px 0"], [style*="padding:36px 0 0 32px"] { padding: 28px 0 0 !important; }
  /* cards: tighter padding */
  [style*="padding:44px 44px 40px"] { padding: 28px 24px 26px !important; }
  [style*="padding:36px 36px 32px"] { padding: 26px 22px 24px !important; }
  [style*="padding:34px 30px 30px"] { padding: 26px 22px 22px !important; }
  /* decorative hero brackets off */
  .psdecor { display: none !important; }
  /* data tables: hide header strip, stack rows with breathing room */
  .tblhead { display: none !important; }
  .tblrow > div { padding: 6px 18px !important; }
  .tblrow > div:first-child { padding-top: 16px !important; }
  .tblrow > div:last-child { padding-bottom: 16px !important; }
  /* compare tables: per-cell attribution eyebrows (content set per page) */
  .cmprow > div { padding: 6px 18px 10px !important; }
  .cmprow > div:first-child { padding: 16px 18px 2px !important; }
  .cmprow > div:nth-child(2)::before, .cmprow > div:nth-child(3)::before {
    display: block; font: 600 10px 'JetBrains Mono'; letter-spacing: .1em;
    text-transform: uppercase; margin-bottom: 4px; }
  .cmprow > div:nth-child(2)::before { color: #9CA3AF; }
  .cmprow > div:nth-child(3)::before { color: #4F46E5; }
  .cmprow > div:last-child { padding-bottom: 18px !important; }
  /* footer: link groups two-up */
  .psfoot [style*="grid-template-columns:repeat(5,1fr)"] { grid-template-columns: 1fr 1fr !important; }
  /* forms: prevent iOS focus zoom, full-width submit */
  .fld { font-size: 16px !important; }
  form button[type="submit"] { width: 100% !important; }
}
