/* Organic Cart Studio site-specific adjustments
   These rules intentionally preserve existing content, URLs and SEO data. */

/* Brand mark sizing */
.site-logo img,
.custom-logo,
.logo img,
.header-logo img,
.header-brand img,
.footer-brand img,
.ocs-menu-head .header-brand img {
  width: auto !important;
  max-width: 140px !important;
  height: auto !important;
  max-height: 54px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}
.header-brand > span,
.footer-brand:not(.footer-brand--text) { }
.site-header .header-brand > span,
.ocs-menu-head .header-brand > span { display:none !important; }

@media (max-width: 768px) {
  .site-logo img,
  .custom-logo,
  .logo img,
  .header-logo img,
  .header-brand img,
  .footer-brand img,
  .ocs-menu-head .header-brand img {
    max-width: 110px !important;
    max-height: 44px !important;
  }
}

/* Use the site's own WordPress menus and remove list markers everywhere */
.main-navigation ul,
.main-navigation li,
.site-navigation ul,
.site-navigation li,
.menu,
.menu li,
.nav-menu,
.nav-menu li,
.footer-menu,
.footer-menu li {
  list-style:none !important;
}
.main-navigation ul,
.site-navigation ul,
.menu,
.nav-menu,
.footer-menu {
  margin:0 !important;
  padding:0 !important;
}
.main-navigation li::marker,
.site-navigation li::marker,
.menu li::marker,
.nav-menu li::marker,
.footer-menu li::marker,
header li::marker {
  content:"" !important;
}
header ul,header li { list-style-type:none !important; }
header li::before { content:none !important; display:none !important; }

/* Header built around the actual assigned Primary Menu */
.header-bar {
  grid-template-columns:auto minmax(0,1fr) auto auto !important;
  gap:clamp(14px,2vw,28px) !important;
  min-height:68px !important;
}
.desktop-navigation { min-width:0; }
.desktop-navigation .primary-menu {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(14px,1.55vw,27px);
  white-space:nowrap;
}
.desktop-navigation .menu-item { position:relative; }
.desktop-navigation a {
  display:block;
  padding:11px 0;
  color:var(--craft-ink);
  font-size:.74rem;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:color .25s ease;
}
.desktop-navigation a::after {
  content:"";
  position:absolute;
  left:0;right:0;bottom:4px;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s var(--craft-ease);
}
.desktop-navigation a:hover::after,
.desktop-navigation .current-menu-item>a::after,
.desktop-navigation .current_page_item>a::after { transform:scaleX(1); transform-origin:left; }
.desktop-navigation .sub-menu {
  position:absolute;
  left:-18px;
  top:100%;
  min-width:240px;
  padding:14px 18px !important;
  border:1px solid var(--craft-line);
  background:var(--craft-paper);
  box-shadow:0 22px 50px rgba(24,40,31,.12);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.25s ease;
}
.desktop-navigation .menu-item-has-children:hover>.sub-menu,
.desktop-navigation .menu-item-has-children:focus-within>.sub-menu { opacity:1;visibility:visible;transform:none; }
.desktop-navigation .sub-menu a { padding:10px 0;white-space:normal;line-height:1.35; }
.header-status { white-space:nowrap; }
.header-cta { white-space:nowrap; }
.menu-toggle { display:none !important; }

@media (max-width:1180px) {
  .header-status { display:none !important; }
  .header-bar { grid-template-columns:auto minmax(0,1fr) auto !important; }
}
@media (max-width:960px) {
  .desktop-navigation,.header-cta { display:none !important; }
  .menu-toggle { display:flex !important; }
  .header-bar { grid-template-columns:1fr auto !important; }
}

/* Mobile menu now numbers and displays the user's actual WordPress menu */
.ocs-menu-primary-list { counter-reset:ocs-menu; }
.ocs-menu-primary-list>li { counter-increment:ocs-menu; border-bottom:1px solid rgba(255,255,255,.16); }
.ocs-menu-primary-list>li>a {
  display:grid !important;
  grid-template-columns:54px 1fr auto;
  align-items:center;
  padding:13px 0 !important;
  border:0 !important;
  font-family:var(--font-display);
  font-size:clamp(1.8rem,5vw,4.9rem) !important;
  line-height:1 !important;
  color:#f1f4f2 !important;
}
.ocs-menu-primary-list>li>a::before {
  content:counter(ocs-menu,decimal-leading-zero);
  font-family:var(--font-sans);
  font-size:.66rem;
  letter-spacing:.16em;
  color:var(--craft-green);
}
.ocs-menu-primary-list>li>a::after { content:'↗';font-family:var(--font-sans);font-size:1rem;opacity:.45; }
.ocs-menu-primary-list .sub-menu { padding:0 0 12px 54px !important; }
.ocs-menu-primary-list .sub-menu li { border:0; }
.ocs-menu-primary-list .sub-menu a { display:block;padding:8px 0;color:#aebbb4;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase; }

/* Footer uses existing Footer Services and Footer Company menus */
.footer-menu { display:grid;gap:10px; }
.footer-menu a { color:inherit;line-height:1.45; }
.footer-menu .sub-menu { padding:8px 0 0 14px !important;display:grid;gap:7px;opacity:.8; }

/* Wider blog, archive and article layouts */
.single-post .ocs-container,
.blog .ocs-container,
.archive .ocs-container,
.category .ocs-container,
.single-post .container,
.blog .container,
.archive .container,
.category .container {
  max-width:1280px !important;
}
.single-post .entry-content,
.single-post .post-content,
.single-post article,
.single-post .content-area,
.single-post .single-post-wrap {
  max-width:1200px !important;
  width:100% !important;
}
.single-post .glass,
.single-post .gradient-border { max-width:980px !important;width:100% !important; }
.single-post .two-col,
.blog .two-col,
.archive .two-col,
.category .two-col { grid-template-columns:minmax(0,1fr) 320px !important;gap:36px !important; }
.single-post .post-body { max-width:1200px !important;width:100%; }
.single-post .single-post-wrap { max-width:980px !important;margin-inline:auto; }
.single-post p,
.single-post li { font-size:18px;line-height:1.8; }
.single-post h1 { max-width:1200px; }
.single-post h2,
.single-post h3 { max-width:980px; }

@media (max-width:900px) {
  .single-post .ocs-container,
  .blog .ocs-container,
  .archive .ocs-container,
  .category .ocs-container,
  .single-post .container,
  .blog .container,
  .archive .container,
  .category .container {
    max-width:100% !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .single-post .two-col,
  .blog .two-col,
  .archive .two-col,
  .category .two-col { grid-template-columns:1fr !important; }
  .single-post .entry-content,
  .single-post .post-content,
  .single-post article,
  .single-post .content-area,
  .single-post .glass,
  .single-post .gradient-border,
  .single-post .single-post-wrap { max-width:100% !important; }
  .single-post p,
  .single-post li { font-size:16px;line-height:1.75; }
}

/* Preserve the old dark surface treatment where that inline token is used */
.ocs-section[style*="surface-2"] { background:#000000 !important; }
.ocs-section[style*="surface-2"] .glass { background:rgba(255,255,255,.05) !important; }
.ocs-section[style*="surface-2"] p,
.ocs-section[style*="surface-2"] h2,
.ocs-section[style*="surface-2"] .label,
.ocs-section[style*="surface-2"] .brand-name,
.ocs-section[style*="surface-2"] .meta,
.ocs-section[style*="surface-2"] .eyebrow { color:#ffffff !important; }

/* Full-length, premium service-page layouts */
.ocs-service-detail .svc-hero .container,
.ocs-service-detail .section>.container,
.ocs-legacy-service .container { max-width:1280px !important; }
.ocs-service-detail .svc-hero h1,
.ocs-legacy-service__hero h1 { max-width:1100px !important;text-wrap:balance; }
.ocs-service-detail .svc-hero .intro,
.ocs-legacy-service__hero .intro { max-width:1080px !important;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.75; }
.ocs-service-detail .split { grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr) !important;gap:clamp(42px,6vw,92px) !important;align-items:start; }
.ocs-service-detail .split>*,
.ocs-service-detail .problem>div,
.ocs-service-detail .process-item,
.ocs-service-detail .faq details,
.ocs-legacy-service p { min-width:0; }
.ocs-service-detail .problem p,
.ocs-service-detail .process-item p,
.ocs-service-detail .faq details p,
.ocs-service-detail .lead,
.ocs-service-detail .who-body p,
.ocs-service-detail .geo-body,
.ocs-legacy-service p { max-width:none !important;width:100%; }
.ocs-service-detail .outcomes { width:100%; }
.ocs-service-detail .outcomes li { min-height:100%;align-items:flex-start; }
.ocs-service-detail .outcomes li span { display:block;width:100%; }
.ocs-service-detail .process-list { width:100%; }
.ocs-service-detail .process-item { padding:clamp(24px,3vw,42px) !important; }
.ocs-service-detail .faq { max-width:none;width:100%; }
.ocs-service-detail .faq details p { padding-right:clamp(0px,4vw,64px); }

/* Exact legacy shortcode copy rendered in the current premium system */
.ocs-legacy-service { background:var(--craft-paper);color:var(--craft-ink); }
.ocs-legacy-service .section { padding-block:clamp(72px,9vw,128px);border-top:1px solid var(--craft-line); }
.ocs-service-section-head { display:grid;grid-template-columns:70px minmax(0,1fr);gap:clamp(22px,4vw,60px);align-items:start;margin-bottom:clamp(42px,6vw,76px); }
.ocs-service-section-head>span { font-family:var(--font-display);font-size:clamp(2rem,4vw,4.7rem);line-height:.9;color:var(--craft-green); }
.ocs-service-section-head small { display:block;margin-bottom:13px;font-size:.62rem;letter-spacing:.19em;text-transform:uppercase;color:var(--craft-green); }
.ocs-service-section-head h2 { max-width:1050px;font-family:var(--font-display);font-size:clamp(2.25rem,5vw,5.3rem);line-height:.98;letter-spacing:-.045em;color:var(--craft-ink); }
.ocs-service-section-head p { margin-top:18px;max-width:920px !important;color:var(--craft-muted);font-size:clamp(1rem,1.25vw,1.15rem);line-height:1.72; }
.ocs-legacy-stat-grid { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--craft-ink);border-left:1px solid var(--craft-line); }
.ocs-legacy-stat-grid article { min-height:180px;padding:24px;border-right:1px solid var(--craft-line);border-bottom:1px solid var(--craft-line);display:flex;flex-direction:column;justify-content:space-between; }
.ocs-legacy-stat-grid small { color:var(--craft-muted);line-height:1.45; }
.ocs-legacy-stat-grid strong { font-family:var(--font-display);font-size:clamp(1.8rem,3vw,3.3rem);font-weight:400;color:var(--craft-ink); }
.ocs-legacy-stat-grid .is-up { color:var(--craft-green); }
.ocs-legacy-service .disclaimer { margin-top:18px;color:var(--craft-muted);font-size:.78rem; }
.ocs-legacy-problem-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--craft-ink);border-left:1px solid var(--craft-line); }
.ocs-legacy-problem-grid article { min-height:330px;padding:clamp(26px,4vw,48px);border-right:1px solid var(--craft-line);border-bottom:1px solid var(--craft-line); }
.ocs-legacy-problem-grid article>span { font-size:.62rem;letter-spacing:.18em;color:var(--craft-green); }
.ocs-legacy-problem-grid h3 { margin-top:42px;max-width:20ch;font-family:var(--font-display);font-size:clamp(1.7rem,3vw,3rem);line-height:1;color:var(--craft-ink); }
.ocs-legacy-problem-grid p { margin-top:22px;color:var(--craft-muted);line-height:1.72; }
.ocs-legacy-included-list { list-style:none;padding:0;margin:0;border-top:1px solid var(--craft-ink); }
.ocs-legacy-included-list li { display:grid;grid-template-columns:70px minmax(0,1fr);gap:24px;padding:27px 0;border-bottom:1px solid var(--craft-line); }
.ocs-legacy-included-list li>span { font-family:var(--font-display);font-size:1.3rem;color:var(--craft-green); }
.ocs-legacy-included-list p { font-size:clamp(1.05rem,1.45vw,1.32rem);line-height:1.6;color:var(--craft-ink); }
.ocs-legacy-process-list { list-style:none;padding:0;margin:0;border-top:1px solid var(--craft-ink); }
.ocs-legacy-process-list li { display:grid;grid-template-columns:90px minmax(0,1fr);gap:clamp(24px,4vw,64px);padding:clamp(32px,5vw,62px) 0;border-bottom:1px solid var(--craft-line); }
.ocs-legacy-process-list li>span { font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);line-height:1;color:var(--craft-green); }
.ocs-legacy-process-list h3 { font-family:var(--font-display);font-size:clamp(1.75rem,3vw,3rem);line-height:1.05;color:var(--craft-ink); }
.ocs-legacy-process-list p { margin-top:18px;color:var(--craft-muted);font-size:1.04rem;line-height:1.8; }
.ocs-comparison-scroll { overflow:auto;border-top:1px solid var(--craft-ink); }
.ocs-comparison-scroll table { width:100%;min-width:760px;border-collapse:collapse; }
.ocs-comparison-scroll th,.ocs-comparison-scroll td { padding:20px 22px;border-right:1px solid var(--craft-line);border-bottom:1px solid var(--craft-line);text-align:left;vertical-align:top; }
.ocs-comparison-scroll thead th { font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--craft-muted); }
.ocs-comparison-scroll tbody th { width:34%;font-weight:500;color:var(--craft-ink); }
.ocs-comparison-scroll tbody td:nth-child(2) { color:var(--craft-green); }
.ocs-legacy-audience-copy { max-width:1100px;padding-left:clamp(0px,9vw,130px); }
.ocs-legacy-audience-copy p { margin:0 0 22px;font-size:clamp(1.08rem,1.65vw,1.45rem);line-height:1.72;color:var(--craft-ink); }
.ocs-legacy-geo-grid,.ocs-legacy-related-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--craft-ink);border-left:1px solid var(--craft-line); }
.ocs-legacy-geo-grid article,.ocs-legacy-related-grid a { min-height:240px;padding:clamp(24px,3vw,38px);border-right:1px solid var(--craft-line);border-bottom:1px solid var(--craft-line); }
.ocs-legacy-geo-grid h3,.ocs-legacy-related-grid h3 { font-family:var(--font-display);font-size:clamp(1.45rem,2.5vw,2.5rem);line-height:1.05;color:var(--craft-ink); }
.ocs-legacy-geo-grid p,.ocs-legacy-related-grid p { margin-top:17px;color:var(--craft-muted);line-height:1.7; }
.ocs-legacy-related-grid small { display:block;margin-bottom:28px;font-size:.6rem;letter-spacing:.17em;text-transform:uppercase;color:var(--craft-green); }
.ocs-legacy-related-grid span { display:inline-block;margin-top:24px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--craft-green); }
.ocs-legacy-service__faq .faq { max-width:1120px;margin-left:auto; }
.ocs-legacy-service__faq .faq details p { max-width:980px !important; }
.ocs-legacy-cta { padding:clamp(38px,7vw,90px);background:var(--craft-ink);color:#fff; }
.ocs-legacy-cta small { font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--craft-green); }
.ocs-legacy-cta h2 { margin-top:24px;max-width:980px;font-family:var(--font-display);font-size:clamp(2.4rem,5vw,5.5rem);line-height:.96;color:#fff; }
.ocs-legacy-cta p { margin-top:22px;max-width:760px !important;color:#bac5bf;line-height:1.7; }
.ocs-legacy-cta>div { display:flex;flex-wrap:wrap;gap:12px;margin-top:30px; }

@media(max-width:900px){
  .ocs-service-detail .split{grid-template-columns:1fr !important;gap:34px !important}
  .ocs-service-section-head{grid-template-columns:1fr;gap:16px}
  .ocs-service-section-head>span{font-size:2rem}
  .ocs-legacy-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ocs-legacy-problem-grid,.ocs-legacy-geo-grid,.ocs-legacy-related-grid{grid-template-columns:1fr}
  .ocs-legacy-process-list li{grid-template-columns:52px minmax(0,1fr);gap:18px}
  .ocs-legacy-included-list li{grid-template-columns:42px minmax(0,1fr);gap:14px}
  .ocs-legacy-audience-copy{padding-left:0}
}
@media(max-width:560px){
  .ocs-legacy-stat-grid{grid-template-columns:1fr}
  .ocs-legacy-stat-grid article{min-height:140px}
  .ocs-legacy-problem-grid article{min-height:auto}
  .ocs-service-detail .svc-hero,.ocs-legacy-service__hero{padding-top:132px !important;padding-bottom:62px !important}
  .ocs-legacy-service .section{padding-block:64px}
}

/* Never let fixed-width media or tables break mobile layouts */
img,video,svg { max-width:100%; }
.entry-content table,.post-body table { display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch; }

/* ==========================================================
   Final content, contrast, layout and responsiveness pass
   ========================================================== */

/* Homepage hero: reduce oversized headline and use the right column properly. */
.ocs-crafted-hero__grid {
  grid-template-columns:minmax(0,1.02fr) minmax(470px,.98fr) !important;
  gap:clamp(42px,5vw,82px) !important;
  align-items:center !important;
}
.ocs-crafted-hero h1 {
  max-width:12ch !important;
  font-size:clamp(3.65rem,6.65vw,7.45rem) !important;
  line-height:.88 !important;
}
.ocs-hero-object__frame { min-height:620px !important; }
.ocs-hero-actions { flex-wrap:wrap;gap:12px 14px !important; }
.ocs-hero-actions>span { width:100%;margin-top:2px; }
.ocs-crafted-hero .btn--ghost {
  background:transparent !important;
  color:var(--craft-ink) !important;
  border-color:var(--craft-ink) !important;
}
.ocs-crafted-hero .btn--ghost:hover { background:var(--craft-ink) !important;color:#fff !important; }
.ocs-hero-proof-list {
  list-style:none;margin:30px 0 0;padding:20px 0 0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 24px;
  border-top:1px solid var(--craft-line);max-width:720px;
}
.ocs-hero-proof-list li {
  position:relative;padding-left:17px;color:#536159;font-size:.78rem;line-height:1.5;
}
.ocs-hero-proof-list li::before {
  content:"";position:absolute;left:0;top:.52em;width:6px;height:6px;background:var(--craft-green);
}

/* Old homepage copy, expressed through the current crafted editorial system. */
.ocs-home-problem-section { background:#e4dfd2 !important; }
.ocs-home-copy-head {
  display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:clamp(35px,7vw,110px);
  align-items:start;margin-bottom:70px;
}
.ocs-home-copy-head>span {
  font-size:.64rem;line-height:1.6;text-transform:uppercase;letter-spacing:.18em;color:var(--craft-muted);
  border-top:1px solid var(--craft-ink);padding-top:14px;
}
.ocs-home-copy-head h2 {
  max-width:13ch;font-size:clamp(2.8rem,5.7vw,6.4rem);line-height:.92;letter-spacing:-.05em;color:var(--craft-ink);
}
.ocs-home-problem-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--craft-ink);border-left:1px solid var(--craft-ink);
}
.ocs-home-problem-grid article {
  min-width:0;min-height:410px;padding:clamp(25px,3.3vw,48px);border-right:1px solid var(--craft-ink);border-bottom:1px solid var(--craft-ink);
  display:flex;flex-direction:column;transition:background .35s ease,color .35s ease,transform .45s var(--craft-ease);
}
.ocs-home-problem-grid article:hover { background:var(--craft-ink);color:#fff;transform:translateY(-5px); }
.ocs-home-problem-grid article>span { font-size:.61rem;text-transform:uppercase;letter-spacing:.17em;color:var(--craft-green); }
.ocs-home-problem-grid h3 { margin-top:auto;font-size:clamp(1.85rem,3vw,3.25rem);line-height:.98;color:inherit; }
.ocs-home-problem-grid p { margin-top:23px;color:var(--craft-muted);line-height:1.75;max-width:none; }
.ocs-home-problem-grid article:hover p { color:#aebbb4; }

.ocs-home-proof-stats {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--craft-ink);border-left:1px solid var(--craft-ink);
}
.ocs-home-proof-stats article {
  min-height:190px;padding:25px;border-right:1px solid var(--craft-ink);border-bottom:1px solid var(--craft-ink);
  display:flex;flex-direction:column;justify-content:space-between;
}
.ocs-home-proof-stats strong { font-family:var(--font-display);font-size:clamp(2.8rem,5vw,5.8rem);font-weight:400;line-height:.8;color:var(--craft-green); }
.ocs-home-proof-stats span { max-width:23ch;color:var(--craft-muted);font-size:.77rem;line-height:1.5; }
.ocs-home-proof-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-left:1px solid var(--craft-ink);
}
.ocs-home-proof-grid article {
  min-height:340px;padding:clamp(25px,3vw,42px);border-right:1px solid var(--craft-ink);border-bottom:1px solid var(--craft-ink);
}
.ocs-home-proof-grid small { font-size:.6rem;text-transform:uppercase;letter-spacing:.17em;color:var(--craft-green); }
.ocs-home-proof-grid h3 { margin-top:48px;font-size:clamp(2rem,3.2vw,3.5rem);line-height:.95;color:var(--craft-ink); }
.ocs-home-proof-grid p { margin-top:22px;line-height:1.75;color:var(--craft-muted);max-width:none; }
.ocs-home-journal-row { margin-top:70px;border-top:1px solid var(--craft-ink); }
.ocs-home-journal-row>span { display:block;padding:16px 0;border-bottom:1px solid var(--craft-line);font-size:.61rem;text-transform:uppercase;letter-spacing:.18em;color:var(--craft-muted); }
.ocs-home-journal-row>a:not(.ocs-inline-link) {
  display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:24px;align-items:center;padding:22px 0;border-bottom:1px solid var(--craft-line);color:var(--craft-ink);
}
.ocs-home-journal-row small { color:var(--craft-green);font-size:.58rem;text-transform:uppercase;letter-spacing:.15em; }
.ocs-home-journal-row strong { font-family:var(--font-display);font-size:clamp(1.3rem,2vw,2rem);font-weight:400; }
.ocs-home-journal-row b { font-weight:400;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em; }

/* Legal pages must always be light and readable, whether content comes from WordPress or a theme fallback. */
body.ocs-page-privacy-policy .site-main,
body.ocs-page-terms-and-conditions .site-main,
body.privacy-policy .site-main {
  background:var(--craft-paper) !important;color:var(--craft-ink) !important;
}
body.ocs-page-privacy-policy .page-generic,
body.ocs-page-terms-and-conditions .page-generic,
body.privacy-policy .page-generic,
body.ocs-page-privacy-policy .svc-hero,
body.ocs-page-terms-and-conditions .svc-hero,
body.privacy-policy .svc-hero {
  background:var(--craft-paper) !important;color:var(--craft-ink) !important;
}
body.ocs-page-privacy-policy .page-generic h1,
body.ocs-page-terms-and-conditions .page-generic h1,
body.privacy-policy .page-generic h1,
body.ocs-page-privacy-policy .svc-hero h1,
body.ocs-page-terms-and-conditions .svc-hero h1,
body.privacy-policy .svc-hero h1 { color:var(--craft-ink) !important; }
body.ocs-page-privacy-policy .post-body,
body.ocs-page-terms-and-conditions .post-body,
body.privacy-policy .post-body,
body.ocs-page-privacy-policy .entry-content,
body.ocs-page-terms-and-conditions .entry-content,
body.privacy-policy .entry-content { color:var(--craft-ink) !important; }
body.ocs-page-privacy-policy .post-body h2,
body.ocs-page-terms-and-conditions .post-body h2,
body.privacy-policy .post-body h2,
body.ocs-page-privacy-policy .entry-content h2,
body.ocs-page-terms-and-conditions .entry-content h2,
body.privacy-policy .entry-content h2 { color:var(--craft-ink) !important; }
body.ocs-page-privacy-policy .post-body p,
body.ocs-page-terms-and-conditions .post-body p,
body.privacy-policy .post-body p,
body.ocs-page-privacy-policy .entry-content p,
body.ocs-page-terms-and-conditions .entry-content p,
body.privacy-policy .entry-content p { color:#4f5b54 !important; }

/* Strong contrast rules for light interior pages. */
body:not(.home) .site-main .section { background:var(--craft-paper) !important;color:var(--craft-ink) !important; }
body:not(.home) .site-main .section h2,
body:not(.home) .site-main .section h3,
body:not(.home) .site-main .section h4,
.ocs-page-services .svc-row .name,
.ocs-page-services .svc-row .arr { color:var(--craft-ink) !important; }
body:not(.home) .site-main .section p,
.ocs-page-services .svc-row .short { color:var(--craft-muted) !important; }
.ocs-page-services .svc-row { color:var(--craft-ink) !important;background:transparent !important; }
.ocs-page-services .svc-row:hover { background:#fff !important; }
.ocs-page-services .svc-row .group,.ocs-page-services .svc-row .num { color:var(--craft-green) !important; }
body:not(.home) .site-main .card--feature {
  background:var(--craft-ink) !important;color:#fff !important;border-color:var(--craft-ink) !important;
}
body:not(.home) .site-main .card--feature h2,
body:not(.home) .site-main .card--feature h3 { color:#fff !important; }
body:not(.home) .site-main .card--feature p { color:#b9c5bd !important; }

/* Service page content should use the entire box, not a narrow text column. */
.ocs-service-detail .section .container,
.ocs-service-detail .section .container>*,
.ocs-service-detail .card,
.ocs-service-detail .card>*,
.ocs-service-detail .problem,
.ocs-service-detail .problem>div,
.ocs-service-detail .process-item,
.ocs-service-detail .outcomes,
.ocs-service-detail .outcomes li,
.ocs-legacy-service article,
.ocs-legacy-service article>* { min-width:0; }
.ocs-service-detail .section p,
.ocs-service-detail .card p,
.ocs-service-detail .problem p,
.ocs-service-detail .process-item p,
.ocs-service-detail .outcomes li span,
.ocs-service-detail .faq p,
.ocs-legacy-service p { max-width:none !important;width:100% !important; }
.ocs-service-detail .split { grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; }

/* Keep all five snapshot metrics inside their grid, including long labels and values. */
.ocs-metric-grid,
.ocs-legacy-stat-grid {
  display:grid !important;grid-template-columns:repeat(auto-fit,minmax(185px,1fr)) !important;gap:0 !important;width:100% !important;
  border-top:1px solid var(--craft-ink) !important;border-left:1px solid var(--craft-line) !important;
}
.ocs-metric-grid .card,
.ocs-legacy-stat-grid article {
  min-width:0 !important;overflow:hidden !important;min-height:175px !important;padding:24px !important;
  border:0 !important;border-right:1px solid var(--craft-line) !important;border-bottom:1px solid var(--craft-line) !important;
  display:flex !important;flex-direction:column !important;justify-content:space-between !important;
  background:transparent !important;
}
.ocs-metric-grid .eyebrow,
.ocs-legacy-stat-grid small { max-width:100% !important;overflow-wrap:anywhere !important;color:var(--craft-muted) !important;line-height:1.45 !important; }
.ocs-metric-grid h3,
.ocs-legacy-stat-grid strong {
  max-width:100% !important;margin-top:30px !important;font-size:clamp(1.6rem,2.8vw,3rem) !important;line-height:1 !important;
  color:var(--craft-ink) !important;overflow-wrap:anywhere !important;word-break:normal !important;
}

/* Pricing page: every light card and add-on must have dark text. */
.ocs-page-pricing .pricing-grid { align-items:stretch; }
.ocs-page-pricing .price-card,
.ocs-page-pricing .price-card.featured,
.ocs-page-pricing .addons {
  background:#fff !important;color:var(--craft-ink) !important;border-color:var(--craft-line) !important;
}
.ocs-page-pricing .price-card .name,
.ocs-page-pricing .price-card .price,
.ocs-page-pricing .price-card li,
.ocs-page-pricing .price-card li span,
.ocs-page-pricing .addons h2,
.ocs-page-pricing .addon span,
.ocs-page-pricing .addon b { color:var(--craft-ink) !important; }
.ocs-page-pricing .price-card .tagline,
.ocs-page-pricing .price-card .price em { color:var(--craft-muted) !important; }
.ocs-page-pricing .price-card .badge { background:var(--craft-ink) !important;color:#fff !important; }
.ocs-page-pricing .addons { border-style:solid !important; }
.ocs-page-pricing .addon { background:transparent !important;border-color:var(--craft-line) !important; }

/* Contact page uses the existing Fluent Forms ID 1 with the crafted styling. */
.ocs-contact-page-hero h1 { margin-top:24px;color:var(--craft-ink) !important;max-width:16ch; }
.ocs-contact-page-hero .lead { margin-top:24px;max-width:55ch; }
.ocs-contact-page-section { padding-top:40px !important; }
.ocs-contact-page-layout {
  display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(42px,7vw,100px);align-items:start;
}
.ocs-contact-page-copy { position:sticky;top:130px;border-top:1px solid var(--craft-ink);padding-top:25px; }
.ocs-contact-page-copy h2 { margin-top:25px;font-size:clamp(2.3rem,4.5vw,5rem);line-height:.96;letter-spacing:-.04em;color:var(--craft-ink) !important; }
.ocs-contact-page-copy p { margin-top:22px;max-width:54ch !important;line-height:1.75;color:var(--craft-muted) !important; }
.ocs-contact-page-copy a { color:#0b8050 !important;text-decoration:underline;text-underline-offset:4px; }
.ocs-contact-page-form { border:1px solid var(--craft-ink);background:#fff;padding:clamp(24px,4vw,46px);min-width:0; }
.ocs-contact-page-form .ff-el-input--label label { color:var(--craft-ink) !important;font-size:.65rem !important;letter-spacing:.12em;text-transform:uppercase; }
.ocs-contact-page-form input,
.ocs-contact-page-form textarea,
.ocs-contact-page-form select {
  width:100% !important;background:transparent !important;color:var(--craft-ink) !important;border:0 !important;border-bottom:1px solid var(--craft-ink) !important;border-radius:0 !important;padding:15px 0 !important;
}
.ocs-contact-page-form .ff-btn-submit,
.ocs-contact-page-form button[type=submit] { background:var(--craft-ink) !important;color:#fff !important;border:1px solid var(--craft-ink) !important;border-radius:0 !important;padding:14px 20px !important; }
.ocs-contact-page-form a,.ocs-form-fallback a { color:#0b8050 !important;text-decoration:underline;text-underline-offset:4px; }

/* Case studies: old-theme copy, no self-referential project links. */
.ocs-case-page-hero h1 { margin-top:24px;color:var(--craft-ink) !important;max-width:20ch; }
.ocs-case-page-hero .lead { margin-top:24px;max-width:60ch; }
.ocs-case-page-section { padding-top:55px !important; }
.ocs-case-intro { display:grid;grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);gap:clamp(35px,7vw,110px);align-items:start;margin-bottom:60px; }
.ocs-case-intro>span { border-top:1px solid var(--craft-ink);padding-top:14px;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:var(--craft-muted); }
.ocs-case-intro h2 { font-size:clamp(2.7rem,5.5vw,6rem);line-height:.94;letter-spacing:-.05em;color:var(--craft-ink) !important; }
.ocs-case-intro p { grid-column:2;max-width:760px !important;font-size:1.05rem;line-height:1.75;color:var(--craft-muted) !important; }
.ocs-case-stats { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--craft-ink);border-left:1px solid var(--craft-ink); }
.ocs-case-stats article { min-height:185px;padding:24px;border-right:1px solid var(--craft-ink);border-bottom:1px solid var(--craft-ink);display:flex;flex-direction:column;justify-content:space-between; }
.ocs-case-stats strong { font-family:var(--font-display);font-size:clamp(2.8rem,5vw,5.5rem);font-weight:400;color:var(--craft-green);line-height:.8; }
.ocs-case-stats span { max-width:22ch;color:var(--craft-muted);font-size:.76rem;line-height:1.5; }
.ocs-case-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:1px solid var(--craft-ink); }
.ocs-case-grid article { min-height:355px;padding:clamp(26px,4vw,48px);border-right:1px solid var(--craft-ink);border-bottom:1px solid var(--craft-ink);display:flex;flex-direction:column; }
.ocs-case-grid small { color:var(--craft-green);font-size:.61rem;text-transform:uppercase;letter-spacing:.17em; }
.ocs-case-grid h3 { margin-top:45px;font-size:clamp(2.1rem,3.8vw,4.1rem);line-height:.94;color:var(--craft-ink) !important; }
.ocs-case-grid p { margin-top:24px;line-height:1.75;color:var(--craft-muted) !important;max-width:none !important; }
.ocs-case-grid article>span { margin-top:auto;padding-top:30px;font-size:.62rem;text-transform:uppercase;letter-spacing:.15em;color:var(--craft-green); }
.ocs-case-cta { margin-top:80px;background:var(--craft-ink);color:#fff;padding:clamp(36px,7vw,85px); }
.ocs-case-cta>span { color:var(--craft-green);font-size:.62rem;text-transform:uppercase;letter-spacing:.18em; }
.ocs-case-cta h2 { margin-top:24px;max-width:13ch;font-size:clamp(2.8rem,5vw,5.8rem);line-height:.94;color:#fff !important; }
.ocs-case-cta p { margin-top:22px;max-width:700px !important;color:#b7c4bc !important;line-height:1.7; }
.ocs-case-cta .btn { margin-top:30px;background:var(--craft-mint) !important;color:var(--craft-ink) !important;border-color:var(--craft-mint) !important; }

/* Footer: keep only genuine navigation and restore old-theme social profiles. */
.ocs-footer-socials .ocs-social-icons { display:grid;gap:12px; }
.ocs-footer-socials .ocs-social-icons a { display:flex;align-items:center;gap:12px;color:#aab8af; }
.ocs-footer-socials .ocs-social-icons a:hover { color:var(--craft-mint); }
.ocs-footer-socials svg { flex:0 0 auto; }

/* Blog posts should use the full editorial page width. */
.single-post .post-hero .container,
.single-post .container,
.single-post .post-body,
.single-post .single-post-wrap,
.single-post .entry-content,
.single-post .post-content,
.single-post article,
.single-post .content-area {
  max-width:1280px !important;width:100% !important;
}
.single-post .post-body { padding-inline:0 !important; }
.single-post .single-post-wrap { margin-inline:auto !important; }
.single-post .post-body p,
.single-post .post-body li,
.single-post .post-body h2,
.single-post .post-body h3,
.single-post .post-body h4 { max-width:none !important;width:100% !important; }
.single-post .post-cover { width:100% !important; }

/* Responsive refinements. */
@media(max-width:1100px){
  .ocs-crafted-hero__grid{grid-template-columns:1fr !important;min-height:auto !important}
  .ocs-crafted-hero h1{max-width:13ch !important}
  .ocs-hero-object{max-width:none !important}
  .ocs-hero-object__frame{min-height:560px !important}
  .ocs-home-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .ocs-home-copy-head,.ocs-case-intro{grid-template-columns:1fr;gap:25px}
  .ocs-case-intro p{grid-column:1}
  .ocs-home-problem-grid{grid-template-columns:1fr}
  .ocs-home-problem-grid article{min-height:auto}
  .ocs-home-proof-stats,.ocs-case-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ocs-home-proof-grid,.ocs-case-grid{grid-template-columns:1fr}
  .ocs-home-journal-row>a:not(.ocs-inline-link){grid-template-columns:1fr auto;gap:8px 20px}
  .ocs-home-journal-row small{grid-column:1}
  .ocs-home-journal-row strong{grid-column:1}
  .ocs-home-journal-row b{grid-column:2;grid-row:1/3;align-self:center}
  .ocs-contact-page-layout{grid-template-columns:1fr}
  .ocs-contact-page-copy{position:relative;top:auto}
  .ocs-service-detail .split{grid-template-columns:1fr !important}
}
@media(max-width:640px){
  .ocs-crafted-hero h1{font-size:clamp(3rem,15.5vw,5.1rem) !important;max-width:11ch !important}
  .ocs-hero-proof-list{grid-template-columns:1fr}
  .ocs-hero-object__frame{min-height:470px !important}
  .ocs-home-proof-stats,.ocs-case-stats{grid-template-columns:1fr}
  .ocs-home-proof-stats article,.ocs-case-stats article{min-height:145px}
  .ocs-home-journal-row>a:not(.ocs-inline-link){grid-template-columns:1fr}
  .ocs-home-journal-row b{grid-column:1;grid-row:auto}
  .ocs-contact-page-form{padding:22px}
  .ocs-case-cta{margin-top:55px}
  .ocs-metric-grid,.ocs-legacy-stat-grid{grid-template-columns:1fr !important}
}

/* v10.8 regional landing-page differentiation */
.ocs-regional-notes{margin:clamp(48px,7vw,96px) 0 0;padding:clamp(36px,5vw,64px);background:#f3f0e7;border:1px solid rgba(23,48,37,.12)}
.ocs-regional-notes__inner{max-width:1120px;margin:0 auto}
.ocs-regional-notes h2{max-width:20ch;margin:14px 0 28px;font-family:var(--font-display);font-size:clamp(2rem,4vw,4rem);line-height:.98}
.ocs-regional-notes__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ocs-regional-notes__grid p{margin:0;line-height:1.75}
@media(max-width:800px){.ocs-regional-notes__grid{grid-template-columns:1fr}}
