/* RateFileAI v2 public-site additions. Ledger tokens remain the only visual primitives. */
.skip-link{position:fixed;left:var(--s3);top:var(--s3);z-index:100;transform:translateY(-180%);background:var(--surface);color:var(--ink);border:1px solid var(--line-strong);border-radius:var(--r-ctl);padding:var(--s2) var(--s3);box-shadow:var(--shadow-raised)}
.skip-link:focus{transform:none}
.public-page{overflow-x:hidden}
.public-main{min-height:60vh}
.public-brand{display:inline-flex;align-items:center;gap:var(--s2);color:var(--ink);font:700 15px var(--font-display);white-space:nowrap}
.public-brand:hover{color:var(--ink);text-decoration:none}
.public-mark{width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:var(--brand);color:var(--on-brand);font:700 12px var(--font-display)}
.public-brand-sub{color:var(--meta);font-weight:500}
.pub-header nav a[aria-current="page"]{color:var(--ink);font-weight:700}
.pub-header .theme-btn,.pub-header .menu-btn{width:36px;padding:0}
.pub-header .public-mobile-nav{display:none;border-top:1px solid var(--line);background:var(--surface);padding:var(--s3) var(--s5) var(--s4)}
.pub-header .public-mobile-nav[aria-hidden="false"]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s1)}
.public-mobile-nav a{min-height:44px;display:flex;align-items:center;padding:0 var(--s3);border-radius:var(--r-ctl);color:var(--ink-2);font-weight:600}
.public-mobile-nav a:hover,.public-mobile-nav a[aria-current="page"]{background:var(--subtle);color:var(--ink);text-decoration:none}
.public-kicker{font:600 var(--fs-chip) var(--font-record);letter-spacing:.06em;text-transform:uppercase;color:var(--brand)}
.public-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:var(--s7);align-items:center}
.public-hero-actions{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5)}
.public-hero-actions .btn{min-height:44px}
.public-proof{box-shadow:var(--shadow-overlay)}
.public-proof-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.public-proof-cell{display:flex;flex-direction:column;gap:var(--s1);min-height:102px;padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--subtle)}
.public-proof-cell a{font:500 22px var(--font-record);font-variant-numeric:tabular-nums}
.public-proof-cell .unavail{align-self:flex-start}
.public-proof-label{font-size:var(--fs-meta);color:var(--ink-2)}
.public-section-head{max-width:720px;margin-bottom:var(--s5)}
.public-section-head p{margin:var(--s3) 0 0;color:var(--ink-2);font-size:var(--fs-read);line-height:1.65}
.public-card-link{display:block;color:inherit;min-height:100%}
.public-card-link:hover{color:inherit;text-decoration:none;border-color:var(--brand-line);box-shadow:var(--shadow-raised)}
.public-card-link h3{font-size:17px}
.public-card-link p,.public-copy{color:var(--ink-2);line-height:1.65}
.public-card-link p{margin:var(--s2) 0 0}
.public-arrow{display:inline-block;margin-top:var(--s3);font-weight:600;color:var(--brand)}
.public-band{background:var(--surface);border-block:1px solid var(--line)}
.public-route-hero{padding-block:var(--s8) var(--s6);max-width:840px}
.public-route-hero .pub-lede{max-width:720px;margin:var(--s4) 0 0}
.public-breadcrumbs{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;color:var(--ink-3);font-size:var(--fs-meta);margin-bottom:var(--s4)}
.public-breadcrumbs a{color:var(--ink-3)}
.public-list{margin:var(--s3) 0 0;padding-left:20px;color:var(--ink-2);line-height:1.8}
.public-availability{display:flex;align-items:flex-start;gap:var(--s3)}
.public-availability>span:first-child{flex:none}
.public-availability b{display:block;margin-bottom:2px}
.public-availability p{margin:0;color:var(--ink-2)}
.public-unavailable{padding:var(--s5);background:var(--hatch);border:1px solid var(--line);border-radius:var(--r-card)}
.public-unavailable h3{font-size:17px}
.public-unavailable p{margin:var(--s2) 0 0;color:var(--ink-2);line-height:1.6}
.public-unavailable .repro{margin:var(--s4) calc(var(--s5) * -1) calc(var(--s5) * -1);border-radius:0 0 var(--r-card) var(--r-card)}
.public-source-note{font:400 11px var(--font-record);color:var(--ink-3)}
.public-source-note a{font-weight:500}
.public-fact-classes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.public-fact-class{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--surface)}
.public-fact-class p{margin:var(--s2) 0 0;color:var(--ink-2);font-size:var(--fs-meta)}
.public-form{display:flex;flex-direction:column;gap:var(--s4)}
.public-form textarea.input{height:auto;min-height:150px;padding-block:10px;resize:vertical}
.public-form .required{color:var(--up)}
.public-form-status{min-height:24px;font-size:var(--fs-meta);color:var(--ink-2)}
.public-form-status[data-state="success"]{color:var(--down)}
.public-form-status[data-state="partial"]{color:var(--warn)}
.public-form-status[data-state="error"]{color:var(--up)}
.public-form .btn[aria-busy="true"]{cursor:wait;opacity:.7}
.public-form-note{font-size:var(--fs-meta);color:var(--ink-3);line-height:1.55}
.public-table-link{font-family:var(--font-record);font-variant-numeric:tabular-nums}
.public-table-status{min-width:240px}
.public-table-status .state{margin-bottom:var(--s4)}
.public-filter{max-width:440px;margin-bottom:var(--s4)}
.public-definition{white-space:normal;min-width:220px;max-width:420px;line-height:1.5}
.public-artifact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.public-artifact{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-ctl);background:var(--subtle)}
.public-artifact .value{display:block;margin-top:var(--s2);font:500 20px var(--font-record)}
.public-legal-links{display:flex;gap:var(--s3);flex-wrap:wrap}
.public-footer-meta{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:11.5px;color:var(--meta)}
.public-footer-meta a{color:var(--ink-3)}
.public-noscript{margin:var(--s3) auto;max-width:1160px;padding:var(--s3) var(--s5);background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:var(--r-ctl);color:var(--warn)}
@media (max-width:1000px){
  .public-hero-grid{grid-template-columns:1fr}
  .public-fact-classes,.public-artifact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1001px){.pub-header .public-mobile-nav[aria-hidden="false"]{display:none}}
@media (max-width:720px){
  .pub-header .in,.pub-wrap{padding-inline:var(--s4)}
  .pub-header .cta{gap:var(--s2)}
  .pub-header .cta .app-link{display:none}
  .public-mobile-nav{padding-inline:var(--s4)}
  .public-proof-grid,.public-fact-classes,.public-artifact-grid{grid-template-columns:1fr}
  .public-route-hero{padding-block:var(--s7) var(--s5)}
  .public-footer-meta{flex-direction:column}
}
@media (max-width:430px){
  .pub-header .cta .demo-link{display:none}
  .pub-header .public-mobile-nav[aria-hidden="false"]{grid-template-columns:1fr}
  .public-hero-actions .btn{width:100%}
}
@media (max-width:360px){
  .pub-header .theme-btn{display:none}
}

/* SPEC-306: normal-size public meta copy must remain readable on the affected routes. */
main[aria-labelledby="product-management-hero-heading"] .meta,
main[aria-labelledby="actuarial-hero-heading"] .meta,
main[aria-labelledby="agents-brokers-hero-heading"] .meta,
main[aria-labelledby="responsible-ai-hero-heading"] .meta,
main[aria-labelledby="disclaimers-hero-heading"] .meta,
main[aria-labelledby="trust-hero-heading"] .meta{color:#475467}
