body.rib-kadence-preview{margin:0;background:var(--rib-bg);color:var(--rib-ink)}
.rib-kadence-preview .content-area,.rib-kadence-preview .site-main,.rib-kadence-preview .entry-content,.rib-kadence-preview .content-container,.rib-kadence-preview .site-container,.rib-kadence-preview .entry-content-wrap{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
.rib-kadence-preview .entry-header,.rib-kadence-preview .site-header-wrap,.rib-kadence-preview .site-footer-wrap,.rib-kadence-preview #ssb-container,.rib-kadence-preview #sfsi_floater,.rib-kadence-preview #hu-revoke{display:none!important}
.rib-kadence-preview{overflow-x:hidden}
.rib3{--red:var(--rib-accent);--ink:var(--rib-ink);--muted:var(--rib-muted);--cream:var(--rib-soft);--line:var(--rib-line);--white:#fff;font-family:Arial,"Helvetica Neue",system-ui,sans-serif;color:var(--ink);background:var(--rib-bg)}
.rib3 *{box-sizing:border-box}.rib3 img{max-width:100%}.rib3 a{text-decoration:none}.rib3 h1,.rib3 h2,.rib3 h3,.rib3 p{margin-top:0}.rib3-wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.rib3-header{background:#fff;border-bottom:1px solid #eee}.rib3-header-in{min-height:82px;display:flex;align-items:center;gap:28px}.rib3-logo{margin-right:auto;display:flex}.rib3-logo img{width:168px;max-height:50px;object-fit:contain}.rib3-header nav{display:flex;gap:25px;align-items:center}.rib3-header nav a{color:#222;font-size:14px;font-weight:700}.rib3-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 20px;background:var(--rib-action);color:#fff!important;font-size:14px;font-weight:800;line-height:1.15;border-radius:0}.rib3-btn:hover,.rib3-btn:focus{background:var(--rib-action-hover)!important;color:#fff!important}.rib3-btn-sm{min-height:42px;padding:12px 16px}.rib3-link{color:#171717!important;font-weight:800;font-size:14px}.rib3-link:hover{color:var(--red)!important}
.rib3-kicker{color:var(--red);font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.12em;margin-bottom:15px}.rib3-hero{padding:78px 0;background:#fff}.rib3-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center}.rib3-hero-copy h1{font-size:clamp(50px,5.4vw,72px);line-height:.98;letter-spacing:-.045em;max-width:760px;margin-bottom:24px}.rib3-lead{font-size:20px;line-height:1.58;color:#444;max-width:650px;margin-bottom:28px}.rib3-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.rib3-proofline{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);color:#555;font-size:13px;font-weight:700}.rib3-proofline span:not(:last-child)::after{content:"·";margin-left:18px;color:#aaa}.rib3-hero-media img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.rib3-services{padding:100px 0;background:#f8f8f7}.rib3-section-head{max-width:760px;text-align:center;margin:0 auto 48px}.rib3-section-head-left{text-align:left;margin-left:0}.rib3-section-head h2,.rib3-profile h2,.rib3-seo h2,.rib3-contact h2{font-size:clamp(36px,4vw,52px);line-height:1.08;letter-spacing:-.035em;margin-bottom:14px}.rib3-section-head>p{color:var(--muted);font-size:17px;line-height:1.65}.rib3-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.rib3-service{display:flex;flex-direction:column;background:#fff;color:#171717!important;border:1px solid #eee;min-width:0}.rib3-service img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.rib3-service-body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}.rib3-service h3{font-size:25px;line-height:1.15;margin-bottom:12px}.rib3-service p{color:#666;font-size:15px;line-height:1.65;margin-bottom:22px}.rib3-service strong{margin-top:auto;color:var(--red);font-size:14px}
.rib3-process{padding:96px 0;background:var(--cream)}.rib3-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin:42px 0 36px}.rib3-step{border-top:3px solid var(--red);padding-top:22px}.rib3-step>span{color:var(--red);font-weight:900;font-size:14px}.rib3-step h3{font-size:23px;margin:16px 0 10px}.rib3-step p{color:#595959;line-height:1.65;margin:0}
.rib3-profile{padding:100px 0}.rib3-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.rib3-profile p{font-size:17px;line-height:1.72;color:#555}.rib3-credentials{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.rib3-credentials>div{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:138px}.rib3-credentials>div:nth-child(2n){border-right:0}.rib3-credentials>div:nth-last-child(-n+2){border-bottom:0}.rib3-credentials b,.rib3-credentials span{display:block}.rib3-credentials b{font-size:18px;margin-bottom:9px}.rib3-credentials span{color:#666;font-size:13px;line-height:1.5}
.rib3-seo{padding:94px 0;background:#fff}.rib3-seo-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.rib3-seo-copy p{font-size:16px;line-height:1.75;color:#505050}.rib3-topic-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px}.rib3-topic-links a{color:var(--red);font-weight:800;font-size:14px}
.rib3-reviews{padding:92px 0;background:#171717;color:#fff}.rib3-review-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end;margin-bottom:46px}.rib3-review-head h2{font-size:clamp(60px,7vw,92px);line-height:.9;letter-spacing:-.055em;color:#fff;margin:0}.rib3-review-head>p{font-size:18px;line-height:1.65;color:#d0d0d0;margin:0;max-width:620px}.rib3-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.rib3-review-grid blockquote{margin:0;border-left:3px solid var(--red);padding:4px 0 4px 22px;font-size:17px;line-height:1.6;color:#fff}.rib3-review-grid span{display:block;color:#aaa;font-size:12px;margin-top:14px}
.rib3-faq{padding:96px 0}.rib3-faq-list{border-top:1px solid var(--line);max-width:900px}.rib3-faq details{border-bottom:1px solid var(--line);padding:0}.rib3-faq summary{cursor:pointer;list-style:none;padding:24px 38px 24px 0;font-size:20px;font-weight:800;position:relative}.rib3-faq summary::-webkit-details-marker{display:none}.rib3-faq summary::after{content:"+";position:absolute;right:4px;top:20px;color:var(--red);font-size:28px;font-weight:400}.rib3-faq details[open] summary::after{content:"–"}.rib3-faq details p{max-width:720px;color:#5a5a5a;line-height:1.7;padding:0 0 24px;margin:0}
.rib3-contact{padding:94px 0;background:var(--cream)}.rib3-contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:center}.rib3-contact-grid>div:first-child p{max-width:700px;color:#555;font-size:17px;line-height:1.68}.rib3-contact-data{background:#fff;padding:32px}.rib3-contact-data b{font-size:21px}.rib3-contact-data p{line-height:1.65;color:#555}.rib3-contact-data a{color:#171717}.rib3-contact-data span{font-size:13px;color:#777}
.rib3-footer{background:#171717;color:#fff;padding:58px 0 24px}.rib3-footer-grid{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:60px}.rib3-footer img{width:160px;margin-bottom:16px}.rib3-footer p{color:#aaa;line-height:1.65}.rib3-footer b{display:block;margin-bottom:13px}.rib3-footer a{display:block;color:#bbb!important;margin:8px 0;font-size:14px}.rib3-copy{border-top:1px solid #333;margin-top:34px;padding-top:18px;color:#777;font-size:12px}
@media(max-width:900px){.rib3-wrap{width:calc(100% - 36px)}.rib3-header-in{min-height:68px;gap:14px}.rib3-header nav{display:none}.rib3-logo img{width:126px;max-height:42px}.rib3-btn-sm{margin-left:auto}.rib3-hero{padding:44px 0}.rib3-hero-grid,.rib3-profile-grid,.rib3-seo-grid,.rib3-review-head,.rib3-contact-grid{grid-template-columns:1fr;gap:34px}.rib3-hero-copy h1{line-height:1.13}.rib3-lead{font-size:17px;line-height:1.55}.rib3-proofline{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}.rib3-proofline span::after{display:none}.rib3-hero-media{order:2}.rib3-services,.rib3-process,.rib3-profile,.rib3-seo,.rib3-reviews,.rib3-faq,.rib3-contact{padding:64px 0}.rib3-section-head{text-align:left;margin:0 0 34px}.rib3-section-head h2,.rib3-profile h2,.rib3-seo h2,.rib3-contact h2{font-size:34px}.rib3-service-grid,.rib3-process-grid,.rib3-review-grid{grid-template-columns:1fr;gap:24px}.rib3-service{max-width:none}.rib3-service img{aspect-ratio:16/10}.rib3-process-grid{margin:32px 0}.rib3-profile-grid{gap:40px}.rib3-credentials{grid-template-columns:1fr}.rib3-credentials>div{border-right:0!important;border-bottom:1px solid var(--line)!important;min-height:0;padding:22px}.rib3-credentials>div:last-child{border-bottom:0!important}.rib3-review-head{gap:22px;margin-bottom:34px}.rib3-review-head h2{font-size:64px}.rib3-review-grid blockquote{font-size:16px}.rib3-faq summary{font-size:18px;padding:20px 34px 20px 0}.rib3-faq summary::after{top:16px}.rib3-contact-data{padding:24px}.rib3-footer-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:520px){.rib3-wrap{width:calc(100% - 28px)}.rib3-header-in{min-height:62px}.rib3-logo img{width:112px}.rib3-btn-sm{font-size:12px;min-height:40px;padding:11px 13px}.rib3-hero{padding-top:36px}.rib3-hero-copy h1{font-size:var(--rib-h1-mobile)!important}.rib3-actions{display:grid;gap:14px}.rib3-actions .rib3-btn{width:100%}.rib3-proofline{grid-template-columns:1fr}.rib3-service-body{padding:20px}.rib3-service h3{font-size:23px}.rib3-process .rib3-btn{width:100%}.rib3-review-head h2{font-size:58px}.rib3-contact .rib3-btn{width:100%}}

/* Contact/footer refinement */
.rib3-contact-data{align-self:start}
.rib3-contact-data p{margin:14px 0}
.rib3-contact-data span{display:block;margin-top:18px}
.rib3-footer img{width:145px}
.rib3-footer p{font-size:15px;line-height:1.55;max-width:320px}
@media(max-width:900px){
  .rib3-contact{padding:54px 0}
  .rib3-contact-grid{gap:28px}
  .rib3-contact-data{padding:22px}
  .rib3-contact-data p{margin:12px 0}
  .rib3-contact-data span{margin-top:14px}
  .rib3-footer{padding:42px 0 20px}
  .rib3-footer-grid{gap:26px}
  .rib3-footer img{width:122px;margin-bottom:12px}
  .rib3-footer p{font-size:15px;line-height:1.5;margin-bottom:0}
  .rib3-footer b{margin-bottom:10px}
  .rib3-footer a{margin:6px 0;font-size:14px}
  .rib3-copy{margin-top:26px;padding-top:16px}
}

@media(max-width:767px){
  .rib3-header .rib3-btn-sm{display:none!important}
}

.rib3-mobile-menu{display:none}
@media(max-width:900px){
  .rib3-mobile-menu{display:block;position:relative;margin-left:auto}
  .rib3-mobile-menu summary{
    list-style:none;
    width:46px;
    height:46px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    cursor:pointer;
    border:0;
    background:#fff;
  }
  .rib3-mobile-menu summary::-webkit-details-marker{display:none}
  .rib3-mobile-menu summary span{
    display:block;
    width:24px;
    height:2px;
    background:#171717;
    transition:transform .18s ease,opacity .18s ease;
  }
  .rib3-mobile-menu[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .rib3-mobile-menu[open] summary span:nth-child(2){opacity:0}
  .rib3-mobile-menu[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .rib3-mobile-menu-panel{
    position:absolute;
    top:54px;
    right:0;
    z-index:50;
    width:min(300px,calc(100vw - 28px));
    background:#fff;
    border:1px solid #e7e7e7;
    box-shadow:0 18px 40px rgba(0,0,0,.12);
    padding:8px 0;
  }
  .rib3-mobile-menu-panel a{
    display:block;
    color:#171717!important;
    font-size:17px;
    font-weight:700;
    padding:14px 18px;
    border-bottom:1px solid #eee;
  }
  .rib3-mobile-menu-panel a:last-child{border-bottom:0}
}
@media(max-width:520px){
  .rib3-header-in{min-height:68px}
  .rib3-mobile-menu{margin-left:auto}
}

/* Shared site shell: same mobile gutter as every other page. */
@media(max-width:767px){
  .rib3-wrap{
    width:calc(100% - (2 * var(--rib-gutter,20px)))!important;
    max-width:var(--rib-max,1180px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Shared mobile rhythm + CTA protection from generic content-link rules. */
.rib3 .rib3-btn{
  background:var(--rib-action,#c93624)!important;
  color:#fff!important;
}
@media(max-width:767px){
  .rib3-hero{
    padding-top:var(--rib-content-top-mobile,28px)!important;
  }
}
