/* Organic Cart Studio Crafted Interactive Pro 10.4
   Responsive integrity and premium refinement only.
   This layer does not hide, replace or rewrite indexable content. */

:root{
  --ocs-v104-green:#0A5739;
  --ocs-v104-green-dark:#06492F;
  --ocs-v104-mint:#1F8A5B;
  --ocs-v104-gutter:clamp(16px,4vw,56px);
  --ocs-v104-ease:cubic-bezier(.22,1,.36,1);
}

/* Viewport integrity. */
*,*::before,*::after{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:clip}
body{width:100%;max-width:100%;min-width:0!important;overflow-x:clip!important}
@supports not (overflow:clip){html,body{overflow-x:hidden!important}}
.site-main,.site-header,.site-footer,.mobile-menu,.ocs-loader{width:100%;max-width:100vw;min-width:0}
.site-main>*,section,article,header,footer,nav,aside{min-width:0;max-width:100%}
.container,.ocs-container{width:100%!important;max-width:var(--container,1440px)!important;margin-inline:auto!important;padding-inline:var(--ocs-v104-gutter)!important}
.container>*,.ocs-container>*,
.ocs-crafted-hero__grid>*,.ocs-section-head>*,.ocs-services-stage>*,.ocs-process-layout>*,
.ocs-contact-layout>*,.ocs-contact-page-layout>*,.ocs-project-card>*,.footer-grid>*,
.ocs-home-copy-head>*,.ocs-case-intro>*,.pricing-grid>*,.addons>*,.addons-grid>*,
.ocs-legacy-stat-grid>*,.ocs-legacy-problem-grid>*,.ocs-legacy-geo-grid>*,
.ocs-legacy-related-grid>*,.ocs-legacy-process-list>*,.ocs-legacy-included-list>*{min-width:0}
img,video,canvas,picture,svg{max-width:100%;height:auto}
.entry-content iframe,.post-content iframe,.wp-block-embed iframe,.ocs-embed iframe{max-width:100%}
.wp-block-embed iframe,.entry-content>.wp-block-embed iframe{width:100%}
pre,.wp-block-code{max-width:100%;overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}
code{overflow-wrap:anywhere}
table{max-width:100%;border-collapse:collapse}
.wp-block-table,.table-wrap,.ocs-comparison-scroll,.ocs-legacy-comparison{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
input,textarea,select,button{max-width:100%;min-width:0}
input,textarea,select{width:100%}
button,.btn{white-space:normal;text-align:center}
a,p,li,h1,h2,h3,h4,h5,h6,dd,dt,strong,span{overflow-wrap:break-word}

/* Clearly greener page kickers and small headings. */
.eyebrow,.ocs-section-label,.hero-chip,.svc-label,.page-kicker,.article-kicker,
.ocs-home-copy-head>span,.ocs-case-intro>span,.ocs-service-section-head small,
.ocs-project-copy>span,.ocs-project-media>small,.ocs-benefit-grid article>span,
.ocs-home-proof-grid article>small,.ocs-contact-notes>.ocs-section-label,
.ocs-home-blog-copy>.ocs-section-label,.page-hero .eyebrow,.archive-hero .eyebrow,
.svc-hero .hero-chip,.article-hero .eyebrow,.post-hero__kicker,.label,.tag{
  color:var(--ocs-v104-green-dark)!important;
  font-weight:700!important;
}
.ocs-process-section .eyebrow,.ocs-process-section .ocs-section-label,
.ocs-work-section .ocs-section-label,.ocs-contact-section .ocs-section-label,
.site-footer .eyebrow,.site-footer .ocs-section-label,.ocs-crafted-hero .ocs-hero-kicker span,
.svc-hero .hero-chip,.page-generic[style*="background"] .eyebrow,
.ocs-legacy-cta small,.ocs-case-cta>span{
  color:var(--ocs-v104-mint)!important;
}
.eyebrow::before,.ocs-section-label::before,.ocs-home-copy-head>span::before{
  background:currentColor!important;opacity:1!important
}
body:not(.home) .svc-hero h1,body:not(.home) .service-hero h1,
body:not(.home) .page-hero h1,body:not(.home) .archive-hero h1,
body:not(.home) .article-hero h1,body:not(.home) .post-hero h1{
  color:var(--ocs-v104-mint)!important;
}

/* Premium structural details without liquid/glass effects. */
.ocs-crafted-section>.container::after{
  content:"";position:absolute;right:var(--ocs-v104-gutter);top:0;width:44px;height:1px;
  background:var(--ocs-v104-green);opacity:.55;pointer-events:none
}
.ocs-section-head h2,.ocs-home-copy-head h2,.ocs-case-intro h2,.ocs-home-blog-copy h2{text-wrap:balance}
.ocs-section-head p,.ocs-home-copy-head p,.ocs-case-intro p{text-wrap:pretty}
.ocs-project-card,.ocs-benefit-grid article,.ocs-home-proof-grid article,.pricing-card,.tier,.card{
  border-color:rgba(0,185,107,.18)!important
}
.ocs-service-index-row::before{background:var(--ocs-v104-green)!important}
.ocs-service-index-row:hover h3,.ocs-service-index-row.is-active h3{color:var(--ocs-v104-green-dark)!important}
.btn{min-height:48px;align-items:center;justify-content:center}
@media(hover:hover) and (pointer:fine){
  .btn{transition:transform .45s var(--ocs-v104-ease),background .35s,color .35s,border-color .35s}
  .btn:hover{transform:translateY(-2px)}
}

/* Common overflow offenders. */
.ocs-hero-kinetic,.ocs-section-ghost{max-width:none}
.ocs-crafted-hero__grid,.ocs-section-head,.ocs-project-card,.ocs-services-stage,
.ocs-process-layout,.ocs-contact-layout,.ocs-contact-page-layout,.footer-grid,
.ocs-home-copy-head,.ocs-case-intro,.pricing-grid,.addons,.addons-grid{
  width:100%;max-width:100%
}
.ocs-hero-object,.ocs-hero-object__frame,.ocs-hero-object__map,
.ocs-services-visual,.ocs-services-visual__canvas,.ocs-process-map__sticky,
.ocs-project-media,.ocs-project-copy,.ocs-contact-form-wrap,.ocs-contact-notes,
.ocs-contact-page-copy,.ocs-contact-page-form{max-width:100%;min-width:0}
.ocs-object-note,.ocs-object-message{max-width:calc(100% - 28px)}
.ocs-experience-strip{width:100%;max-width:100%;overflow:hidden}
.ocs-chapter-rail{max-width:calc(100vw - 20px)}
.mobile-menu,.ocs-menu-shell,.ocs-menu-grid,.ocs-menu-primary,.ocs-menu-secondary{max-width:100%;min-width:0}
.ocs-menu-primary-list,.ocs-menu-primary-list ul,.primary-menu,.primary-menu ul,.footer-menu,.footer-menu ul{max-width:100%;min-width:0}
.ocs-menu-primary-list a,.primary-menu a,.footer-menu a{overflow-wrap:anywhere}
.ocs-service-index-row{grid-template-columns:minmax(42px,60px) minmax(0,1fr) minmax(20px,36px)!important}
.ocs-project-copy dl div,.ocs-dossier-copy dl div{grid-template-columns:minmax(74px,100px) minmax(0,1fr)}
.ocs-legacy-stat-grid article,.ocs-metric-grid .card{overflow:hidden}
.ocs-legacy-stat-grid strong,.ocs-metric-grid strong,.ocs-legacy-stat-grid b,.ocs-metric-grid b{
  display:block;max-width:100%;font-size:clamp(1.65rem,4vw,3.3rem)!important;line-height:1;overflow-wrap:anywhere
}
.ocs-legacy-stat-grid span,.ocs-metric-grid span{display:block;max-width:100%;line-height:1.45}
.ocs-legacy-process-list p,.ocs-legacy-included-list p,.ocs-legacy-audience-copy p,
.ocs-legacy-related-grid p,.ocs-legacy-geo-grid p{max-width:none!important;width:100%}
.ocs-legacy-comparison table{min-width:720px}
.alignwide{max-width:100%!important}

/* Articles retain a centered reading column while media can breathe. */
.single-post .post-hero,.single-post .post-cover-shell,.single-post .ocs-single-content-shell{width:100%;max-width:100%;overflow-x:clip}
.single-post .post-hero__inner{width:100%;max-width:1440px;margin-inline:auto}
.single-post .single-post-wrap{width:100%;max-width:940px!important;margin-inline:auto!important}
.single-post .entry-content,.single-post .post-content{width:100%;max-width:940px!important;margin-inline:auto!important}
.single-post .entry-content>*:not(.alignwide):not(.alignfull),
.single-post .post-content>*:not(.alignwide):not(.alignfull){max-width:100%}
.single-post .alignwide{width:min(1180px,calc(100vw - (var(--ocs-v104-gutter) * 2)))!important;max-width:none!important;margin-left:50%!important;transform:translateX(-50%)}
.single-post .alignfull{width:100vw!important;max-width:none!important;margin-left:50%!important;transform:translateX(-50%)}
.single-post figure img{width:auto;max-width:100%;height:auto}

/* Tablet integrity. */
@media(max-width:1180px){
  .ocs-chapter-rail{display:none!important}
  .ocs-crafted-hero__grid{grid-template-columns:1fr!important}
  .ocs-hero-object{justify-self:center!important;width:min(100%,900px)!important}
  .ocs-section-head{grid-template-columns:64px minmax(0,1fr)!important}
  .ocs-section-meter{grid-column:2!important}
  .ocs-project-card{position:relative!important;top:auto!important;transform:none!important}
}

@media(max-width:900px){
  :root{--ocs-v104-gutter:clamp(16px,3.4vw,30px)}
  .ocs-crafted-section::before{display:none!important}
  .ocs-crafted-section>.container::after{right:var(--ocs-v104-gutter)}
  .ocs-services-stage,.ocs-process-layout,.ocs-contact-layout,.ocs-contact-page-layout,
  .ocs-home-copy-head,.ocs-case-intro{grid-template-columns:1fr!important}
  .ocs-services-visual,.ocs-process-map__sticky,.ocs-contact-page-copy{position:relative!important;top:auto!important}
  .ocs-project-card{grid-template-columns:1fr!important;min-height:0!important}
  .ocs-project-media{min-height:clamp(340px,65vw,520px)!important}
  .ocs-home-proof-stats,.ocs-case-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pricing-grid,.addons,.addons-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .ocs-process-steps li{min-height:auto!important;padding-block:58px!important;transform:none!important}
  .ocs-legacy-comparison{padding-bottom:8px}
}

/* Phone integrity: every major box becomes a true one-column layout. */
@media(max-width:640px){
  :root{--ocs-v104-gutter:16px}
  html{scroll-padding-top:84px}
  .container,.ocs-container{padding-inline:16px!important}
  .site-header .container{padding-inline:10px!important}
  .ocs-crafted-hero{padding-top:124px!important}
  .ocs-crafted-hero__grid{gap:38px!important}
  .ocs-crafted-hero h1{font-size:clamp(2.7rem,13.5vw,4.65rem)!important;line-height:.9!important;max-width:100%!important}
  .ocs-crafted-hero__copy>p{max-width:100%!important}
  .ocs-hero-actions{display:grid!important;grid-template-columns:1fr!important;width:100%}
  .ocs-hero-actions .btn{width:100%!important;max-width:100%!important}
  .ocs-hero-actions>span{display:block;width:100%}
  .ocs-hero-proof-list{grid-template-columns:1fr!important}
  .ocs-hero-object{width:100%!important}
  .ocs-hero-object__frame{min-height:390px!important;width:100%!important}
  .ocs-hero-object__head,.ocs-hero-object__foot{padding-inline:13px!important;gap:8px}
  .ocs-object-note{left:12px!important;right:12px!important;width:auto!important;max-width:none!important}
  .ocs-object-message{position:relative!important;right:auto!important;bottom:auto!important;width:auto!important;max-width:none!important;margin:12px!important;transform:none!important}
  .ocs-experience-strip{grid-template-columns:1fr 1fr!important;gap:0!important}
  .ocs-experience-strip>span{grid-column:1/-1!important}
  .ocs-experience-strip>*{min-width:0!important;overflow-wrap:anywhere}
  .ocs-capability-marquee,.ocs-facts-marquee{max-width:100vw;overflow:hidden}
  .ocs-section-head{grid-template-columns:1fr!important;gap:16px!important}
  .ocs-section-meter{grid-column:1!important;width:100%!important}
  .ocs-section-head h2,.ocs-home-copy-head h2,.ocs-case-intro h2{font-size:clamp(2.2rem,10.8vw,3.75rem)!important;max-width:100%!important}
  .ocs-section-ghost{display:none!important}
  .ocs-home-problem-grid,.ocs-home-proof-grid,.ocs-case-grid,.ocs-benefit-grid,
  .ocs-home-proof-stats,.ocs-case-stats,.pricing-grid,.addons,.addons-grid,
  .ocs-legacy-stat-grid,.ocs-metric-grid,.ocs-legacy-problem-grid,.ocs-legacy-geo-grid,
  .ocs-legacy-related-grid,.footer-grid{grid-template-columns:1fr!important}
  .ocs-project-media{min-height:330px!important;padding:18px!important}
  .ocs-project-media>span{font-size:clamp(2.8rem,17vw,5.5rem)!important;max-width:100%}
  .ocs-project-copy{padding:26px 18px!important}
  .ocs-project-copy h3{font-size:clamp(2.1rem,11vw,3.3rem)!important}
  .ocs-project-copy dl div,.ocs-dossier-copy dl div{grid-template-columns:1fr!important;gap:4px!important}
  .ocs-services-visual{display:block!important;padding:16px!important}
  .ocs-services-visual__canvas{height:210px!important}
  .ocs-service-index-row{grid-template-columns:36px minmax(0,1fr) 20px!important;gap:10px!important;padding:17px 0!important}
  .ocs-service-index-row:hover,.ocs-service-index-row.is-active{padding-left:6px!important;padding-right:4px!important}
  .ocs-service-index-row h3{font-size:clamp(1.2rem,6.4vw,1.8rem)!important}
  .ocs-process-map__sticky{min-height:315px!important;padding:20px!important}
  .ocs-process-steps li{grid-template-columns:38px minmax(0,1fr)!important;gap:12px!important;padding-block:46px!important}
  .ocs-process-steps h3{font-size:clamp(2rem,10.2vw,3.45rem)!important}
  .ocs-process-steps ul{display:grid!important;grid-template-columns:1fr!important}
  .ocs-contact-form-wrap,.ocs-contact-page-form,.ocs-contact-notes{padding:20px!important}
  .ocs-contact-form-wrap .ff-el-group,.ocs-contact-page-form .ff-el-group{min-width:0!important}
  .ocs-contact-form-wrap .ff-btn-submit,.ocs-contact-page-form .ff-btn-submit{width:100%!important}
  .ocs-footer-cta h2{font-size:clamp(2.55rem,13vw,4.35rem)!important;max-width:100%!important}
  .ocs-footer-cta>div{display:grid!important;grid-template-columns:1fr!important}
  .ocs-footer-cta .btn{width:100%!important}
  .footer-grid{gap:28px!important}
  .footer-bottom{grid-template-columns:1fr!important;text-align:left!important}
  .ocs-legacy-process-list li,.ocs-legacy-included-list li{grid-template-columns:36px minmax(0,1fr)!important;gap:10px!important}
  .ocs-legacy-cta>div,.ocs-case-cta>div{display:grid!important;grid-template-columns:1fr!important}
  .ocs-legacy-cta .btn,.ocs-case-cta .btn{width:100%!important}
  .single-post .alignfull,.single-post .alignwide{width:100%!important;max-width:100%!important;margin-inline:0!important;transform:none!important}
  .single-post .post-cover{width:calc(100% - 20px)!important}
  .single-post .post-hero h1{font-size:clamp(2.45rem,11vw,4.2rem)!important;max-width:100%!important}
  .wp-block-columns{display:grid!important;grid-template-columns:1fr!important}
  dialog,.ocs-case-dialog{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;margin:12px!important;padding:22px 18px!important}
}

@media(max-width:390px){
  :root{--ocs-v104-gutter:14px}
  .container,.ocs-container{padding-inline:14px!important}
  .ocs-crafted-hero h1{font-size:2.65rem!important}
  .ocs-hero-object__frame{min-height:350px!important}
  .ocs-experience-strip{grid-template-columns:1fr!important}
  .ocs-service-index-row{grid-template-columns:30px minmax(0,1fr) 18px!important}
  .ocs-process-steps li{grid-template-columns:30px minmax(0,1fr)!important}
  .btn{padding-inline:14px!important}
}

@media(max-height:650px) and (orientation:landscape){
  .ocs-crafted-hero{min-height:auto!important;padding-top:106px!important}
  .ocs-hero-object__frame{min-height:360px!important}
  .mobile-menu{overflow-y:auto!important}
  .ocs-menu-shell{min-height:100%;height:auto!important}
  .ocs-loader__orbit{width:90px!important;height:90px!important}
}

@media(prefers-reduced-motion:reduce){
  .ocs-project-card,.ocs-hero-object__frame,.ocs-section-head::before,.ocs-section-ghost{transform:none!important}
}
