/* PLAXRAW — Global Base Styles
   Reset, base typography, and site-wide layout utilities.
   Requires variables.css to be loaded first.
*/

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Cairo','Inter', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
html[dir="ltr"] body{ font-family:'Inter', sans-serif; }
html[dir="ltr"] h1, html[dir="ltr"] h2, html[dir="ltr"] h3, html[dir="ltr"] h4{ font-family:'Poppins', sans-serif; }
h1,h2,h3,h4{ font-family:'Cairo', sans-serif; font-weight:700; letter-spacing:-0.01em; }
.mono{ font-family:'IBM Plex Mono', monospace; letter-spacing:0.02em; }
a{ text-decoration:none; color:inherit; }
img{ max-width:100%; display:block; }
.wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }
section{ padding:96px 0; }
@media (max-width:720px){ section{ padding:56px 0; } .wrap{ padding:0 20px; } }

/* Screen-reader-only: visually hidden, still readable by assistive tech */
.sr-only{
  position:absolute;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* Skip link: hidden until keyboard-focused */
.skip-link{
  position:absolute;
  top:-40px; left:0;
  background:var(--navy);
  color:#fff;
  padding:10px 20px;
  z-index:100;
  border-radius:0 0 var(--radius) 0;
}
.skip-link:focus{
  top:0;
}
