/* Core Layout & Page Resets & Typography */
html, body, p, span, a, input, select, textarea, button {
  font-family: 'Manrope', sans-serif;
}

h1, h2, h3, h4, h5, h6,
.rf-hero-h1,
.rf-sec-h2,
.rf-cta-h2,
.rf-feat-title,
.rf-list-title,
.rf-post-title,
.rf-rel-title,
.rf-post-h1,
.rf-megaitem div:first-child,
.rf-megaitem span > span:first-child,
[data-vcard] > div:first-of-type,
.rf-stat > div:first-child,
.rf-testi-grid > div > div:first-of-type,
.rf-note-grid h2,
.rf-news-grid h2,
.rf-newsletter-grid h2,
.rf-article h2,
.rf-article h3 {
  font-family: 'Playfair Display', serif !important;
}

html, body {
  margin: 0;
  padding: 0;
  background: #F3EDE1;
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
}
a { text-decoration: none; color: inherit; }

/* Sticky Header container */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #F3EDE1;
  width: 100%;
}

/* Reset default block margins to allow edge-to-edge layouts */
.wp-block-post-content,
.entry-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

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

@keyframes rf-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes rf-float2 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(7px); } }

/* Hover states */
.rf-nav-link:hover { color: #C2602B; }
.rf-megaitem:hover { background: #F1E9D9; }
[data-card]:hover { transform: translateY(-6px); box-shadow: 0 24px 46px -26px rgba(30,45,58,.5); }
[data-card]:not(.rf-card-dark):hover { border-color: #C2602B !important; }
[data-vcard]:hover { transform: translateY(-6px); box-shadow: 0 24px 46px -26px rgba(30,45,58,.5); border-color: #C2602B !important; }
[data-vcard]:not(.rf-card-dark):hover { border-color: #C2602B !important; }
.rf-linkedin:hover { color: #A34E1F !important; }
[data-step]:hover { transform: translateY(-8px); box-shadow: 0 26px 50px -24px rgba(0,0,0,.55); border-color: #C2602B !important; background: #26343F !important; }
[data-step]:hover .step-detail { max-height: 120px !important; opacity: 1 !important; margin-top: 12px !important; }
[data-optcard] { transition: transform .25s, box-shadow .25s, border-color .25s; }
[data-optcard]:hover { transform: translateY(-5px); box-shadow: 0 24px 46px -26px rgba(30,45,58,.5); border-color: #C2602B !important; }

/* Blog/Insights styling */
.rf-post:hover .rf-post-title { color:#C2602B; }
.rf-post:hover .rf-thumb-img { transform: scale(1.05); }
.rf-feat-post:hover .rf-feat-thumb-img { transform: scale(1.03); }
.rf-feat-post:hover .rf-feat-title { color:#C2602B; }
.rf-list-item:hover .rf-list-title { color:#C2602B; }
.rf-chip:hover { border-color:#C2602B; color:#C2602B; }

/* Article body markup */
.rf-article p { font-size: 17.5px; line-height: 1.78; color: #43403A; margin: 0 0 22px; }
.rf-article h2 { font-family:'Playfair Display', serif; font-weight:400; font-size:30px; line-height:1.18; color:#1E2D3A; margin: 46px 0 18px; letter-spacing:-.01em; scroll-margin-top: 110px; }
.rf-article h3 { font-family:'Playfair Display', serif; font-weight:400; font-size:22px; line-height:1.25; color:#1E2D3A; margin: 32px 0 12px; }
.rf-article ul { margin: 0 0 22px; padding-left: 0; list-style: none; display:flex; flex-direction:column; gap:12px; }
.rf-article ul li { font-size: 17px; line-height: 1.65; color:#43403A; padding-left: 30px; position: relative; }
.rf-article ul li::before { content:""; position:absolute; left:4px; top:11px; width:8px; height:8px; border-radius:50%; background:#C2602B; }
.rf-article strong { color:#1E2D3A; font-weight:700; }
.rf-article a.inline { color:#C2602B; font-weight:600; border-bottom:1px solid rgba(194,96,43,.35); }
.rf-toc a:hover { color:#C2602B; border-color:#C2602B !important; }
.rf-rel:hover .rf-rel-title { color:#C2602B; }

/* Forms & Fields */
.rf-field { width:100%; font-family:'Manrope',sans-serif; font-size:15px; color:#1E2D3A; background:#FCFAF4; border:1px solid #DDD3C1; border-radius:8px; padding:13px 15px; transition:border-color .2s, box-shadow .2s; }
.rf-field::placeholder { color:#A89E8B; }
.rf-field:focus { outline:none; border-color:#C2602B; box-shadow:0 0 0 3px rgba(194,96,43,.14); }
textarea.rf-field { resize:vertical; min-height:130px; line-height:1.5; }
.rf-submit { background:#C2602B; color:#fff; cursor:pointer; transition:background .2s; }
.rf-submit:hover { background:#A34E1F; }

/* Contact Form 7 specific form adjustments */
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unsent .wpcf7-response-output {
  border-radius: 8px;
  background: #FCF3E4;
  border: 1px solid #E2D2B6;
  color: #1E2D3A;
  padding: 12px 16px;
  font-size: 14px;
}
.wpcf7-not-valid-tip {
  color: #C2602B;
  font-size: 12px;
  margin-top: 5px;
  font-weight: 600;
}

/* Responsive constraints */
@media (max-width: 1023px) {
  .rf-nav-inner { padding: 16px 28px !important; }
  .rf-coord { padding: 7px 28px !important; }
  .rf-sec { padding-left: 28px !important; padding-right: 28px !important; }
  .rf-hero-grid { padding: 40px 28px 56px !important; gap: 34px !important; }
  .rf-hero-h1 { font-size: 50px !important; }
  .rf-values-grid { grid-template-columns: repeat(2,1fr) !important; }
  .rf-services-grid { grid-template-columns: repeat(2,1fr) !important; }
  .rf-pain-grid { grid-template-columns: repeat(3,1fr) !important; }
  .rf-process-steps { flex-wrap: wrap !important; }
  .rf-process-steps > div { flex: 1 1 44% !important; }
  .rf-offer-grid { gap: 40px !important; }
  .rf-hero-split { grid-template-columns: 1fr !important; }
  .rf-post-grid { grid-template-columns: repeat(2,1fr) !important; }
  .rf-article-body { grid-template-columns: 1fr !important; }
  .rf-toc { display: none !important; }
}

@media (max-width: 767px) {
  .rf-coord { display: none !important; }
  .rf-nav-inner { padding: 14px 20px !important; }
  .rf-nav-links { display: none !important; }
  .rf-hamburger { display: flex !important; }
  .rf-hero-grid { grid-template-columns: 1fr !important; padding: 28px 20px 44px !important; gap: 30px !important; }
  .rf-hero-h1 { font-size: 36px !important; }
  .rf-hero-underline-span { white-space: normal !important; }
  .rf-hero-underline-svg { display: none !important; }
  .rf-hero-photo-wrap { height: 420px !important; order: -1; }
  .rf-hero-right { height: 440px !important; }
  .rf-hero-cta { flex-wrap: wrap !important; gap: 12px !important; }
  .rf-hero-trust { flex-wrap: wrap !important; gap: 14px !important; }
  .rf-sec { padding-left: 20px !important; padding-right: 20px !important; padding-top: 52px !important; padding-bottom: 36px !important; }
  .rf-sec-h2 { font-size: 30px !important; }
  .rf-story-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
  .rf-values-grid { grid-template-columns: 1fr !important; }
  .rf-stats-row { flex-wrap: wrap !important; gap: 30px !important; }
  .rf-stat { flex: 1 1 40% !important; }
  .rf-peter-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .rf-peter-photo { height: 360px !important; }
  .rf-testi-grid { grid-template-columns: 1fr !important; }
  .rf-note-grid { grid-template-columns: 1fr !important; gap: 26px !important; }
  .rf-footer-inner { flex-direction: column !important; gap: 30px !important; }
  .rf-footer-links { gap: 28px !important; }
  .rf-footer-bottom { padding-left: 20px !important; padding-right: 20px !important; flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .rf-cta-h2 { font-size: 32px !important; }
  .rf-split { grid-template-columns: 1fr !important; gap: 28px !important; }
  .rf-services-grid { grid-template-columns: 1fr !important; }
  .rf-pain-grid { grid-template-columns: 1fr !important; }
  .rf-what-we-do-header { flex-direction: column !important; align-items: flex-start !important; gap: 16px !important; }
  .rf-what-we-do-header p { max-width: 100% !important; margin-bottom: 0 !important; }
  .rf-process-header { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .rf-process-steps { gap: 14px !important; }
  .rf-process-steps > div { flex: 1 1 100% !important; }
  .rf-case-grid { grid-template-columns: 1fr !important; }
  .rf-testi-outer { grid-template-columns: 1fr !important; }
  .rf-bridge-note { display: none !important; }
  .rf-challenges-grid { grid-template-columns: 1fr !important; }
  .rf-offer-grid { grid-template-columns: 1fr !important; }
  .rf-blog-h1 { font-size: 40px !important; }
  .rf-feat-thumb { height: 240px !important; }
  .rf-post-grid { grid-template-columns: 1fr !important; }
  .rf-news-grid { grid-template-columns: 1fr !important; }
  .rf-chips { flex-wrap: wrap !important; }
  .rf-post-h1 { font-size: 32px !important; }
  .rf-post-hero { padding: 36px 20px 24px !important; }
  .rf-hero-img { height: 220px !important; }
  .rf-rel-grid { grid-template-columns: 1fr !important; }
  .rf-author-meta { flex-wrap: wrap !important; gap: 14px !important; }
  .rf-form-row { grid-template-columns: 1fr !important; }
  .rf-options-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 479px) {
  .rf-hero-h1 { font-size: 30px !important; }
  .rf-sec-h2 { font-size: 26px !important; }
  .rf-cta-h2 { font-size: 26px !important; }
  .rf-stat { flex: 1 1 100% !important; }
  .rf-blog-h1 { font-size: 32px !important; }
  .rf-post-h1 { font-size: 27px !important; }
}
