html { scroll-behavior:smooth; }
*,*::before,*::after { box-sizing:border-box; }
body.pf2026-theme {
  margin:0;
  background:var(--pf-white);
  color:var(--pf-text);
  font-family:var(--pf-font);
  font-size:var(--pf-fs-body);
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.pf2026-theme,
body.pf2026-theme button,
body.pf2026-theme input,
body.pf2026-theme select,
body.pf2026-theme textarea { font-family:var(--pf-font); }
body.pf2026-theme a { color:inherit; text-decoration:none; }
body.pf2026-theme img { display:block; max-width:100%; height:auto; }
body.pf2026-theme #page {
  width:100%;
  min-height:100vh;
  margin:0;
  background:transparent;
}
body.pf2026-theme h1,
body.pf2026-theme h2,
body.pf2026-theme h3,
body.pf2026-theme h4,
body.pf2026-theme h5,
body.pf2026-theme h6 {
  margin-top:0;
  color:var(--pf-black);
  font-family:var(--pf-font);
  font-weight:700;
  letter-spacing:-.025em;
  text-wrap:balance;
}
body.pf2026-theme p { margin-top:0; }
body.pf2026-theme button,
body.pf2026-theme input,
body.pf2026-theme select,
body.pf2026-theme textarea { font-size:1em; }
body.pf2026-theme input[type='text'],
body.pf2026-theme input[type='email'],
body.pf2026-theme input[type='search'],
body.pf2026-theme input[type='url'],
body.pf2026-theme input[type='tel'],
body.pf2026-theme input[type='number'],
body.pf2026-theme select,
body.pf2026-theme textarea {
  min-height:clamp(2.55rem,2.45rem + .3vw,2.85rem);
  padding:.66em .8em;
  border:.0625rem solid var(--pf-line-strong);
  border-radius:0;
  background:var(--pf-white);
  color:var(--pf-black);
  box-shadow:none;
}
body.pf2026-theme input:focus-visible,
body.pf2026-theme select:focus-visible,
body.pf2026-theme textarea:focus-visible,
body.pf2026-theme button:focus-visible,
body.pf2026-theme a:focus-visible {
  outline:.125rem solid var(--pf-black);
  outline-offset:.18rem;
}
.pf-shell { width:var(--pf-shell); margin-inline:auto; }
.pf-shell--wide { width:var(--pf-shell-wide); margin-inline:auto; }
.pf-sr-only,.screen-reader-text {
  position:absolute!important; width:.0625rem!important; height:.0625rem!important;
  padding:0!important; margin:-.0625rem!important; overflow:hidden!important;
  clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}
.pf-kicker {
  margin:0;
  color:var(--pf-peach-700);
  font-size:var(--pf-fs-xs);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:800;
}
.pf-btn,
body.pf2026-theme a.pf-btn,
body.pf2026-theme .button,
body.pf2026-theme button.button,
body.pf2026-theme input[type='submit'] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55em;
  min-height:clamp(2.55rem,2.45rem + .3vw,2.85rem);
  padding-inline:clamp(.9rem,.8rem + .3vw,1.2rem);
  border:.0625rem solid var(--pf-black);
  border-radius:0;
  background:var(--pf-black);
  color:var(--pf-white)!important;
  box-shadow:var(--pf-shadow-sm);
  text-decoration:none;
  font-size:var(--pf-fs-sm);
  font-weight:700;
  line-height:1;
  transition:transform var(--pf-transition-fast) var(--pf-ease),background var(--pf-transition-fast),color var(--pf-transition-fast),box-shadow var(--pf-transition-fast);
}
.pf-btn:hover,.pf-btn:focus-visible,
body.pf2026-theme a.pf-btn:hover,
body.pf2026-theme a.pf-btn:focus-visible,
body.pf2026-theme .button:hover,
body.pf2026-theme .button:focus-visible,
body.pf2026-theme input[type='submit']:hover,
body.pf2026-theme input[type='submit']:focus-visible {
  background:var(--pf-white);
  color:var(--pf-black)!important;
  transform:translateY(-.08rem);
  box-shadow:var(--pf-shadow-md);
}
body.pf2026-theme a.pf-btn--ghost,
.pf-btn--ghost {
  background:var(--pf-white);
  border-color:var(--pf-black);
  color:var(--pf-black)!important;
}
body.pf2026-theme a.pf-btn--ghost:hover,
body.pf2026-theme a.pf-btn--ghost:focus-visible,
.pf-btn--ghost:hover,.pf-btn--ghost:focus-visible {
  background:var(--pf-black);
  color:var(--pf-white)!important;
}
.pf-text-link {
  display:inline-flex;
  align-items:center;
  gap:.45em;
  padding:0 0 .15rem;
  margin:0;
  border:0;
  border-bottom:.0625rem solid currentColor;
  border-radius:0;
  background:transparent;
  color:var(--pf-black);
  font-size:var(--pf-fs-sm);
  font-weight:700;
  line-height:1.35;
  text-decoration:none;
  box-shadow:none;
  transition:color var(--pf-transition-fast),border-color var(--pf-transition-fast);
}
.pf-text-link:hover,.pf-text-link:focus-visible {
  background:transparent;
  color:#874f37;
  border-bottom-color:currentColor;
}
.pf-text-link svg,.pf-btn svg { width:1em; height:1em; }
svg { display:block; }
::selection { background:var(--pf-peach); color:var(--pf-black); }

@media (max-width:47.99rem) {
  body.pf2026-theme { padding-bottom:var(--pf-mobile-bottomnav-h); }
}

/* Standalone generic WordPress fallback templates. */
.pf-generic-page{
  padding-block:clamp(2.5rem,6vw,5.5rem);
}
.pf-generic-shell{
  max-width:62rem;
}
.pf-generic-header{
  margin-bottom:clamp(1.4rem,3vw,2.4rem);
}
.pf-generic-header h1{
  margin:.35rem 0 0;
  font-size:clamp(2rem,1.45rem + 2.7vw,4.2rem);
  line-height:1;
  letter-spacing:-.04em;
}
.pf-generic-meta{
  display:block;
  margin-top:.8rem;
  color:var(--pf-text-soft);
  font-size:var(--pf-fs-xs);
}
.pf-generic-featured{
  margin:0 0 clamp(1.5rem,3vw,2.5rem);
}
.pf-generic-featured img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}
.pf-generic-content{
  line-height:1.72;
}
.pf-generic-content h2{
  margin:clamp(1.8rem,4vw,3rem) 0 .8rem;
}
.pf-generic-list{
  display:grid;
  gap:1rem;
}
.pf-generic-list-item{
  padding:1.2rem 0;
  border-bottom:.0625rem solid var(--pf-line);
}
.pf-generic-list-item h2{
  margin:.2rem 0 .55rem;
}
