/* ============================================================
   PTTA — base: reset, typography, links, focus
   Replaces Bootstrap 3, _main.css, _layout.css, _bigheader.css
   and pstyle.css.
   ============================================================ */

/* Bootstrap 3 used to set html{font-size:10px}, which shrank every
   rem on the site to 62%. This is the browser default and must stay. */
html{ font-size:100%; -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

*,*::before,*::after{ box-sizing:border-box; }

body,h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{ margin:0; }

body{
  min-height:100vh;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-sans);
  font-size:var(--step-0);
  line-height:1.65;
  -moz-osx-font-smoothing:grayscale;
  -webkit-font-smoothing:antialiased;
}

img,picture,svg,video{ max-width:100%; display:block; height:auto; }
input,button,textarea,select{ font:inherit; color:inherit; }

/* --- headings ------------------------------------------------
   No forced text-align and no forced italic. The old _main.css
   set both, which is why every heading rendered italic and
   ignored its parent's alignment. */
h1,h2,h3,h4{
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.012em;
  text-wrap:balance;
  color:var(--brand);
}
h1{ font-size:var(--step-4); margin:0 0 .5em; }
h2{ font-size:var(--step-3); margin:2em 0 .5em; }
h3{ font-size:var(--step-2); margin:1.6em 0 .4em; font-weight:700; }
h4{ font-size:var(--step-1); margin:1.4em 0 .3em; font-weight:700; }
h1:first-child,h2:first-child,h3:first-child{ margin-top:0; }

p{ margin:0 0 1em; max-width:var(--maxw-prose); }
.lead{ font-size:var(--step-1); color:var(--muted); }

ul,ol{ margin:0 0 1em; padding-left:1.4em; }
li{ margin:.35em 0; }
li > ul, li > ol{ margin:.35em 0; }

blockquote{
  margin:1.5em 0;
  padding:1em 1.25em;
  background:var(--surface);
  border-left:4px solid var(--brand-accent);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
blockquote p:last-child{ margin-bottom:0; }

hr{
  border:0;
  height:1px;
  background:var(--line);
  margin:2.5em 0;
}

strong,b{ font-weight:700; }
small,.small{ font-size:.875rem; }

/* --- links ---------------------------------------------------- */
a{
  color:var(--brand-accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  transition:color var(--t-fast);
}
a:hover{ color:var(--brand); text-decoration-thickness:2px; }
a[href^="tel:"]{ white-space:nowrap; }

/* --- focus ---------------------------------------------------- */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:3px solid var(--ring);
  outline-offset:3px;
  border-radius:4px;
}

/* --- helpers -------------------------------------------------- */
.sr-only{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap; border:0;
}

.skip-link{
  position:absolute;
  left:-9999px;
  z-index:10000;
}
.skip-link:focus{
  position:fixed; left:12px; top:12px;
  padding:12px 18px;
  background:var(--surface); color:var(--brand);
  font-weight:700; text-decoration:none;
  border-radius:var(--radius-sm);
  box-shadow:var(--elev-2);
  outline:3px solid var(--ring);
}

/* --- tables --------------------------------------------------- */
table{ border-collapse:collapse; width:100%; margin:1.25em 0; }
caption{ caption-side:bottom; font-size:.875rem; color:var(--muted); padding-top:.5em; }
th,td{ border:1px solid var(--line); padding:.6em .75em; text-align:left; vertical-align:top; }
th{ background:var(--surface-alt); font-weight:700; color:var(--brand); }

/* --- reduced motion ------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
}

/* --- print ----------------------------------------------------- */
@media print{
  .ptta-nav,.ptta-drawer,.hero,.cta,.socialbar,.to-top{ display:none !important; }
  body{ background:#fff; font-size:11pt; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:9pt; color:#555; }
}
