/* Clean, responsive blog and contact layout, imported content remains WordPress-native. */
.psl-blog-page, .psl-blog-detail, .psl-contact-page {
  --psl-ink:#4e4e43; --psl-accent:#d9a184; --psl-paper:#fff;
  box-sizing:border-box !important; width:100% !important; max-width:none !important;
  min-height:0 !important; padding:0 22px !important;
  margin:0 !important; background:#fff !important; color:var(--psl-ink) !important;
  position:relative !important; inset:auto !important; display:block !important;
  font-family:'PT Sans',Arial,sans-serif !important;
}
.psl-blog-page *, .psl-blog-detail *, .psl-contact-page * {box-sizing:border-box;}
.psl-blog-page .psl-blog-intro {
  padding:66px 0 32px !important; text-align:center !important;
  margin:0 auto !important; max-width:1040px !important;
}
.psl-blog-page .psl-eyebrow, .psl-contact-page .psl-eyebrow {
  color:var(--psl-accent) !important; text-transform:uppercase; letter-spacing:.15em;
  font-size:13px !important; line-height:1.7 !important; font-weight:700 !important;
  margin:0 0 12px !important;
}
.psl-blog-page .psl-blog-intro h1, .psl-contact-page h1 {
  color:var(--psl-ink) !important; margin:0 !important; padding:0 !important;
  font-size:clamp(36px,4.5vw,52px) !important; line-height:1.2 !important;
  font-weight:700 !important; letter-spacing:-.02em !important;
}
.psl-blog-page .psl-blog-query {
  max-width:1140px !important; margin:0 auto 90px !important; padding:0 !important;
}
.psl-blog-page .wp-block-post-template {
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important; margin:0 !important; padding:0 !important; list-style:none !important;
}
.psl-blog-page .wp-block-post-template > li {
  display:block !important; width:auto !important; max-width:none !important;
  min-width:0 !important; margin:0 !important; padding:0 !important;
}
.psl-blog-page .psl-post-card {
  display:flex !important; flex-direction:column !important;
  overflow:hidden !important; width:100% !important; max-width:none !important;
  height:100% !important; margin:0 !important; padding:0 !important;
  border:1px solid #eee9e4 !important; background:#fff !important;
  border-radius:10px !important; box-shadow:0 8px 24px rgba(57,50,37,.045) !important;
}
.psl-blog-page .psl-card-image {
  display:block !important; width:100% !important; margin:0 !important; padding:0 !important;
  overflow:hidden !important; aspect-ratio:3/2 !important;
}
.psl-blog-page .psl-card-image a {display:block !important; height:100% !important;}
.psl-blog-page .psl-card-image img {
  display:block !important; width:100% !important; height:100% !important;
  object-fit:cover !important; margin:0 !important; padding:0 !important;
  max-width:none !important;
}
.psl-blog-page .psl-post-card-body {
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
  flex:1 !important; gap:0 !important; padding:23px 23px 25px !important;
  margin:0 !important; width:100% !important;
}
.psl-blog-page .psl-card-title {
  margin:0 0 13px !important; padding:0 !important; font-size:23px !important;
  line-height:1.3 !important; font-weight:700 !important; color:var(--psl-ink) !important;
}
.psl-blog-page .psl-card-title a {
  color:inherit !important; text-decoration:none !important;
  white-space:normal !important; overflow-wrap:anywhere !important;
}
.psl-blog-page .psl-card-title a:hover {color:var(--psl-accent) !important;}
.psl-blog-page .psl-card-excerpt {
  flex:1 !important; margin:0 0 18px !important; padding:0 !important;
  color:#66645f !important; line-height:1.65 !important;
  font-size:16px !important;
}
.psl-blog-page .psl-card-excerpt p {font-size:inherit !important; line-height:inherit !important; margin:0 !important;}
.psl-blog-page .psl-card-more {
  margin-top:auto !important; color:#be886f !important; font-size:15px !important;
  font-weight:700 !important; text-decoration:none !important;
}
.psl-blog-page .psl-card-more:hover {text-decoration:underline !important;}
.psl-blog-detail {padding:0 20px 80px !important;}
.psl-blog-detail .psl-article-wrap {
  width:100% !important; max-width:790px !important;
  margin:0 auto !important; padding:54px 0 0 !important;
  position:relative !important; inset:auto !important;
}
.psl-blog-detail .psl-article-back {margin:0 0 24px !important; padding:0 !important; font-size:15px !important;}
.psl-blog-detail .psl-article-back a {color:#bf8d73 !important; text-decoration:none !important;}
.psl-blog-detail .psl-article-back a:hover {text-decoration:underline !important;}
.psl-blog-detail .psl-article-title {
  margin:0 0 28px !important; padding:0 !important;
  max-width:100% !important; font-size:clamp(33px,4.2vw,48px) !important;
  line-height:1.2 !important; font-weight:700 !important;
  color:var(--psl-ink) !important; letter-spacing:-.015em !important;
}
.psl-blog-detail .psl-article-image {
  display:block !important; width:100% !important;
  margin:0 0 35px !important; padding:0 !important;
  border-radius:12px !important; overflow:hidden !important;
}
.psl-blog-detail .psl-article-image img {
  display:block !important; width:100% !important; height:auto !important;
  max-height:480px !important; object-fit:cover !important;
  margin:0 !important; border-radius:12px !important;
}
.psl-blog-detail .psl-article-content {
  margin:0 !important; padding:0 !important; max-width:100% !important;
  font-size:18px !important; color:var(--psl-ink) !important;
  line-height:1.8 !important; overflow-wrap:break-word !important;
}
.psl-blog-detail .psl-article-content p,
.psl-blog-detail .psl-article-content li {
  margin:0 0 22px !important; padding:0 !important;
  font-size:18px !important; line-height:1.8 !important; color:var(--psl-ink) !important;
}
.psl-blog-detail .psl-article-content ul {
  margin:0 0 28px 26px !important; padding:0 !important;
  list-style:disc outside !important;
}
.psl-blog-detail .psl-article-content li {margin:0 0 10px !important; padding-left:5px !important;}
.psl-blog-detail .psl-article-content h2 {
  color:var(--psl-ink) !important; font-size:27px !important;
  line-height:1.35 !important; font-weight:700 !important;
  margin:36px 0 15px !important; padding:0 !important;
}
.psl-blog-detail .psl-article-back-bottom {
  padding-top:28px !important; margin:36px 0 0 !important;
  border-top:1px solid #e8e2dc !important;
}
.psl-site-footer {
  display:flex !important; justify-content:space-between !important;
  gap:15px !important; flex-wrap:wrap !important; align-items:center !important;
  width:100% !important; max-width:none !important; padding:26px clamp(20px,4vw,70px) !important;
  margin:0 !important; border-top:1px solid #ece8e4 !important;
  background:#faf9f6 !important; color:#66655e !important;
}
.psl-site-footer p {margin:0 !important; font-size:14px !important;}
.psl-site-footer a {color:inherit !important; text-decoration:none !important;}
.psl-contact-page {max-width:1150px !important; margin:0 auto !important; padding:65px 22px 92px !important;}
.psl-contact-page h1 {margin-bottom:13px !important;}
.psl-contact-page .psl-contact-lead {font-size:20px !important; line-height:1.55 !important; margin:0 0 42px !important;}
.psl-contact-page .psl-contact-columns {display:flex !important; gap:65px !important; align-items:flex-start !important; margin:0 !important;}
.psl-contact-page .psl-contact-columns > .wp-block-column {min-width:0 !important;}
.psl-contact-page h2 {font-size:25px !important; color:var(--psl-ink) !important; margin:0 0 18px !important;}
.psl-contact-page p {line-height:1.7 !important; color:var(--psl-ink) !important;}
.psl-contact-page a {color:#b98063 !important;}
.psl-contact-form {display:grid !important; gap:16px !important; margin:22px 0 !important; padding:0 !important;}
.psl-contact-form label {display:block !important; font-size:15px !important; font-weight:700 !important; margin-bottom:6px !important;}
.psl-contact-form .psl-field {min-width:0 !important; margin:0 !important;}
.psl-contact-form input:not([type=checkbox]), .psl-contact-form textarea {
  box-sizing:border-box !important; width:100% !important; min-width:0 !important;
  border:1px solid #d7d3cf !important; border-radius:6px !important; background:#fff !important;
  color:#3f403a !important; font:inherit !important; font-size:16px !important;
  padding:12px 14px !important; line-height:1.4 !important;
}
.psl-contact-form input:focus-visible, .psl-contact-form textarea:focus-visible {
  outline:2px solid #cf9c80 !important; outline-offset:2px !important;
}
.psl-contact-form .psl-privacy {display:flex !important; align-items:flex-start !important; gap:9px !important;}
.psl-contact-form .psl-privacy label {font-weight:400 !important; line-height:1.5 !important;}
.psl-contact-form button {
  display:inline-block !important; justify-self:start !important; background:#d9a184 !important;
  color:#fff !important; font-size:16px !important; font-weight:700 !important;
  padding:12px 26px !important; border:0 !important; border-radius:5px !important;
  cursor:pointer !important;
}
.psl-contact-form button:hover {background:#bd856a !important;}
.psl-form-feedback {padding:14px 16px !important; margin:12px 0 20px !important; border-radius:6px !important;}
.psl-form-feedback--success {background:#edf6ed !important; color:#2b633a !important;}
.psl-form-feedback--error {background:#fff0ec !important; color:#9b4433 !important;}
@media(max-width:960px) {
  .psl-blog-page .wp-block-post-template {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .psl-contact-page .psl-contact-columns {gap:30px !important;}
}
@media(max-width:640px) {
  .psl-blog-page .psl-blog-intro {padding:40px 0 25px !important;}
  .psl-blog-page .wp-block-post-template {grid-template-columns:1fr !important; gap:22px !important;}
  .psl-blog-page .psl-blog-query {margin-bottom:54px !important;}
  .psl-blog-detail .psl-article-wrap {padding-top:32px !important;}
  .psl-blog-detail .psl-article-content p, .psl-blog-detail .psl-article-content li {font-size:17px !important;}
  .psl-contact-page {padding:44px 22px 62px !important;}
  .psl-contact-page .psl-contact-columns {flex-direction:column !important; gap:35px !important;}
  .psl-contact-page .psl-contact-columns > .wp-block-column {width:100% !important; flex-basis:auto !important;}
}
