/*
Theme Name: Rones Bytes Pro
Theme URI: https://ronesbytes.com/
Author: Rones Bytes
Author URI: https://ronesbytes.com/
Description: Professional theme for the Rones Bytes managed website package. Warm orange brand, Bricolage Grotesque display with Manrope body, hero carousel with Byte the mascot, services grid, dark process band, portfolio frames, built-in AI audit form, FAQ and full footer. All styles are scoped under the .rbp body class.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ronesbytes-pro
*/

/* Layout: 1200px column, sticky header, alternating paper / sand / night bands */
.rbp{
  --paper:#ffffff;
  --sand:#fbf6f2;
  --sand-2:#f4ebe4;
  --ink:#1b1714;
  --muted:#675e58;
  --line:#ece2da;
  --accent:#dc6a3a;
  --accent-strong:#b84b1c;
  --accent-soft:#fbe7dc;
  --night:#1d1714;
  --night-2:#2a211c;
  --night-line:#3d322b;
  --night-muted:#b9aca3;
  --display:"Bricolage Grotesque","Manrope",system-ui,sans-serif;
  --body:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:12px;
  --shadow:0 20px 50px -18px rgba(74,39,22,.22);
  margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;overflow-x:clip;
}
.rbp *{box-sizing:border-box}
.rbp img{max-width:100%;height:auto;display:block}
.rbp a{color:inherit}
.rbp button,.rbp input,.rbp textarea,.rbp select{font:inherit;color:inherit}
.rbp :focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
.rbp h1,.rbp h2,.rbp h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.08;text-wrap:balance;margin:0}
.rbp p{margin:0}
.rbp .wrap{width:min(1200px,100% - 48px);margin-inline:auto}
.rbp .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.rbp .skip{position:absolute;left:-999px;top:8px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px}
.rbp .skip:focus{left:12px}

/* Buttons */
.rbp .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:12px 22px;border-radius:999px;border:1px solid var(--accent-strong);background:var(--accent-strong);color:#fff;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}
.rbp .btn:hover{background:#9c3e15;border-color:#9c3e15}
.rbp .btn:active{transform:translateY(1px)}
.rbp .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.rbp .btn-ghost:hover{background:transparent;border-color:var(--accent);color:var(--accent-strong)}
.rbp .btn-light{background:#fff;border-color:#fff;color:var(--accent-strong)}
.rbp .btn-light:hover{background:var(--accent-soft);border-color:var(--accent-soft)}
.rbp .btn svg{width:16px;height:16px}

/* Labels */
.rbp .eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-strong)}
.rbp .eyebrow:before{content:"";width:22px;height:2px;background:var(--accent);border-radius:2px}
.rbp .lead{font-size:19px;line-height:1.6;color:var(--muted);max-width:56ch}

/* Header */
.rbp .site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.rbp .topbar{background:var(--night);color:var(--night-muted);font-size:13px}
.rbp .topbar .wrap{display:flex;justify-content:space-between;gap:16px;min-height:38px;align-items:center}
.rbp .topbar a{color:#fff;text-decoration:none;font-weight:700}
.rbp .topbar a:hover{color:var(--accent-soft)}
.rbp .nav{display:flex;align-items:center;gap:28px;min-height:78px}
.rbp .brand{display:inline-flex;align-items:center;gap:11px;text-decoration:none;white-space:nowrap}
.rbp .brand-mark{width:38px;height:38px;border-radius:11px;background:var(--accent-strong);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.04em}
.rbp .brand-name{font-family:var(--display);font-weight:800;font-size:20px;letter-spacing:-.03em}
.rbp .nav>nav{margin-left:auto}
.rbp .menu{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.rbp .menu li{position:relative}
.rbp .menu a{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--muted);text-decoration:none}
.rbp .menu a:hover,.rbp .menu .current-menu-item>a{color:var(--ink);background:var(--sand)}
.rbp .menu .menu-item-has-children>a:after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.rbp .menu .sub-menu{position:absolute;top:100%;left:0;min-width:270px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);display:none;z-index:60}
.rbp .menu .sub-menu:before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.rbp .menu li:hover>.sub-menu,.rbp .menu li:focus-within>.sub-menu,.rbp .menu li.is-open>.sub-menu{display:block}
.rbp .menu .sub-menu a{padding:10px 12px}
.rbp .nav-actions{display:flex;align-items:center;gap:10px}
.rbp .nav-actions .btn{min-height:44px;padding:9px 18px;font-size:14px}
.rbp .menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;align-items:center;justify-content:center}
.rbp .menu-toggle svg{width:20px;height:20px}

/* Hero */
.rbp .hero{background:radial-gradient(1200px 500px at 85% -10%,var(--accent-soft),transparent 60%),var(--sand);border-bottom:1px solid var(--line);padding:72px 0 64px}
.rbp .hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center}
.rbp .hero .h1{font-size:clamp(40px,5.4vw,68px);margin:18px 0 20px}
.rbp .hero .h1 em{font-style:normal;color:var(--accent-strong)}
.rbp .hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.rbp .hero-trust{display:flex;flex-wrap:wrap;gap:8px 22px;margin:28px 0 0;padding:0;list-style:none;font-size:14px;font-weight:600;color:var(--muted)}
.rbp .hero-trust li{display:flex;align-items:center;gap:8px}
.rbp .hero-trust li:before{content:"";width:16px;height:16px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23b84b1c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}


/* Hero carousel */
.rbp .slides{display:grid}
.rbp .slide{grid-area:1/1;display:grid;grid-template-columns:1.12fr .88fr;gap:56px;align-items:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease,visibility 0s linear .5s}
.rbp .slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease,transform .5s ease,visibility 0s}
.rbp .carousel-ui{display:flex;align-items:center;gap:14px;margin-top:40px}
.rbp .c-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:border-color .18s ease,color .18s ease}
.rbp .c-btn:hover{border-color:var(--accent);color:var(--accent-strong)}
.rbp .c-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rbp .c-tabs{display:flex;gap:8px;flex:1;min-width:0}
.rbp .c-tab{flex:1;min-width:0;padding:10px 0 0;border:0;border-top:3px solid var(--line);background:none;text-align:left;cursor:pointer;font-size:12.5px;font-weight:700;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}
.rbp .c-tab:before{content:"";position:absolute;left:0;top:-3px;height:3px;width:0;background:var(--accent-strong)}
.rbp .c-tab[aria-selected="true"]{color:var(--ink)}
.rbp .c-tab[aria-selected="true"]:before{width:100%;transition:width var(--dur,7s) linear}
.rbp .carousel.paused .c-tab[aria-selected="true"]:before{transition:none;width:100%}
.rbp .c-pause[aria-pressed="true"]{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}
@media (max-width:1020px){.rbp .slide{grid-template-columns:1fr;gap:36px}.rbp .stage{justify-content:flex-start}.rbp .stage-pic{max-width:380px}.rbp .stage-chip{left:auto;right:0;bottom:24px}.rbp .c-tabs{flex-wrap:wrap}.rbp .c-tab{font-size:11px;padding:8px 4px;white-space:normal}}


/* Hero stage: one big illustration + one stat chip */
.rbp .stage{position:relative;display:flex;justify-content:flex-end}
.rbp .stage-pic{width:100%;max-width:460px;aspect-ratio:1/1;object-fit:cover;border-radius:32px;border:1px solid var(--line);background:var(--accent-soft);box-shadow:var(--shadow)}
.rbp .stage-chip{position:absolute;left:0;bottom:44px;display:flex;align-items:center;gap:10px;max-width:280px;padding:14px 18px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px -14px rgba(74,39,22,.35);font-weight:800;font-size:15px;line-height:1.35}
.rbp .stage-dot{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:#2f8a52;box-shadow:0 0 0 4px #e5f3ea}

/* Proof strip */
.rbp .proof{border-bottom:1px solid var(--line);background:#fff}
.rbp .proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.rbp .proof-item{padding:28px 24px;border-left:1px solid var(--line)}
.rbp .proof-item:first-child{border-left:0;padding-left:0}
.rbp .proof-item b{display:block;font-family:var(--display);font-size:34px;letter-spacing:-.04em;line-height:1.1;font-variant-numeric:tabular-nums}
.rbp .proof-item span{display:block;margin-top:4px;color:var(--muted);font-size:14px;font-weight:600}

/* Sections */
.rbp .section{padding:96px 0}
.rbp .section.sand{background:var(--sand)}
.rbp .section-head{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:end;margin-bottom:44px}
.rbp .section-head h2{font-size:clamp(34px,4.2vw,52px);margin-top:14px}
.rbp .section-head p{color:var(--muted);font-size:17.5px;max-width:56ch}

/* Services */
.rbp .svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rbp .svc{position:relative;display:flex;flex-direction:column;gap:10px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.rbp .svc:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow)}
.rbp .svc-icon{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent-strong);display:grid;place-items:center;margin-bottom:8px}
.rbp .svc-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.rbp .svc h3{font-size:22px}
.rbp .svc p{color:var(--muted);font-size:15px}
.rbp .svc .more{margin-top:auto;padding-top:10px;font-weight:800;font-size:14px;color:var(--accent-strong)}
.rbp .svc.featured{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;background:var(--ink);border-color:var(--ink);color:#fff}
.rbp .svc.featured .svc-icon{margin:0;background:var(--accent-strong);color:#fff}
.rbp .svc.featured p{color:var(--night-muted)}
.rbp .svc.featured .more{margin:0;padding:0;color:#fff;white-space:nowrap}
.rbp .svc.featured .badge{display:inline-block;margin-left:10px;font-family:var(--body);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;padding:4px 9px;border-radius:999px;background:var(--accent-strong);color:#fff}

/* Process (night band) */
.rbp .process{background:var(--night);color:#fff}
.rbp .process .eyebrow{color:#f2a27c}
.rbp .process .eyebrow:before{background:#f2a27c}
.rbp .process .section-head p{color:var(--night-muted)}
.rbp .steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;counter-reset:step;border-top:1px solid var(--night-line)}
.rbp .steps li{counter-increment:step;padding:30px 26px 6px 0;position:relative}
.rbp .steps li+li{padding-left:26px;border-left:1px solid var(--night-line)}
.rbp .steps li:before{content:counter(step,decimal-leading-zero);display:block;font-family:var(--display);font-size:15px;font-weight:700;color:#f2a27c;margin-bottom:46px}
.rbp .steps h3{font-size:26px;margin-bottom:10px}
.rbp .steps p{color:var(--night-muted);font-size:15px}
.rbp .process-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:48px;padding-top:30px;border-top:1px solid var(--night-line)}
.rbp .process-foot p{font-family:var(--display);font-size:22px;letter-spacing:-.02em;max-width:34ch}

/* Work */
.rbp .work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.rbp .frame{display:block;text-decoration:none;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;transition:transform .2s ease,box-shadow .2s ease}
.rbp .frame:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.rbp .frame-bar{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:var(--sand);border-bottom:1px solid var(--line)}
.rbp .frame-bar i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.rbp .frame-bar span{flex:1;margin-left:8px;font-size:11.5px;font-weight:700;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:1px 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rbp .frame img,.rbp .frame .shot{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;background:var(--sand-2)}
.rbp .frame-cap{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;border-top:1px solid var(--line)}
.rbp .frame-cap strong{font-family:var(--display);font-size:19px;letter-spacing:-.02em}
.rbp .frame-cap span{font-size:13px;font-weight:800;color:var(--accent-strong);white-space:nowrap}
.rbp .center{text-align:center;margin-top:36px}

/* Audit form */
.rbp .audit{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.rbp .audit h2{font-size:clamp(34px,4.2vw,52px);margin:14px 0 18px}
.rbp .audit-copy p{color:var(--muted);font-size:17.5px}
.rbp .audit-points{margin:26px 0 0;padding:0;list-style:none;display:grid;gap:14px}
.rbp .audit-points li{display:grid;grid-template-columns:30px 1fr;gap:12px;font-weight:600}
.rbp .audit-points b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-family:var(--display);font-size:14px}
.rbp .form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}
.rbp .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rbp .field{display:grid;gap:6px;min-width:0}
.rbp .field.full{grid-column:1/-1}
.rbp .field label{font-size:13px;font-weight:800}
.rbp .field input,.rbp .field textarea,.rbp .field select{width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:none;transition:border-color .15s ease,box-shadow .15s ease}
.rbp .field textarea{min-height:110px;resize:vertical}
.rbp .field input:focus,.rbp .field textarea:focus,.rbp .field select:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.rbp .form-foot{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:6px}
.rbp .form-foot small{color:var(--muted);font-size:12.5px;max-width:36ch}
.rbp .form-msg{grid-column:1/-1;padding:12px 14px;border-radius:10px;font-weight:700;font-size:14px;background:#e5f3ea;color:#1f6a3b}
.rbp .form-msg.err{background:#fdecea;color:#9b2c1f}
.rbp .hp{position:absolute;left:-9999px}

/* FAQ */
.rbp .faq{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}
.rbp .faq h2{font-size:clamp(34px,4.2vw,52px);margin:14px 0 18px}
.rbp .faq-side p{color:var(--muted)}
.rbp .faq-side a{color:var(--accent-strong);font-weight:800}
.rbp .faq details{border-top:1px solid var(--line)}
.rbp .faq details:last-child{border-bottom:1px solid var(--line)}
.rbp .faq summary{list-style:none;cursor:pointer;position:relative;padding:24px 52px 24px 0;font-family:var(--display);font-weight:600;font-size:20px;letter-spacing:-.015em}
.rbp .faq summary::-webkit-details-marker{display:none}
.rbp .faq summary:after{content:"";position:absolute;right:6px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;background:var(--accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 14h10M14 9v10' stroke='%23b84b1c' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/28px no-repeat;transition:transform .2s ease}
.rbp .faq details[open] summary:after{transform:rotate(45deg)}
.rbp .faq details p{padding:0 52px 24px 0;color:var(--muted)}

/* CTA */
.rbp .cta{background:var(--accent-strong);color:#fff;padding:72px 0}
.rbp .cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.rbp .cta h2{font-size:clamp(32px,4vw,48px);max-width:20ch}
.rbp .cta p{margin-top:12px;font-size:18px;opacity:.9}
.rbp .cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.rbp .cta .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.rbp .cta .btn-ghost:hover{border-color:#fff;color:#fff}

/* Footer */
.rbp .site-footer{background:var(--night);color:var(--night-muted);padding:64px 0 28px;font-size:14.5px}
.rbp .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:40px}
.rbp .foot-grid h4{margin:0 0 14px;color:#fff;font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.rbp .foot-grid ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.rbp .foot-grid a{color:var(--night-muted);text-decoration:none}
.rbp .foot-grid a:hover{color:#fff}
.rbp .site-footer .brand-name{color:#fff}
.rbp .foot-about{margin-top:14px;max-width:34ch}
.rbp .barter{margin-top:44px;padding-top:24px;border-top:1px solid var(--night-line)}
.rbp .barter summary{cursor:pointer;color:#fff;font-weight:700;width:fit-content}
.rbp .barter-copy{display:grid;gap:10px;margin-top:12px;max-width:80ch;font-size:13.5px}
.rbp .barter-copy a{color:#f2a27c;font-weight:700}
.rbp .foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:20px;border-top:1px solid var(--night-line);font-size:13px}
.rbp .foot-bottom a{color:#f2a27c;text-decoration:none;font-weight:700}

/* Inner pages */
.rbp .page-hero{background:var(--sand);border-bottom:1px solid var(--line);padding:64px 0 48px}
.rbp .page-hero h1{font-size:clamp(36px,4.8vw,58px);margin-top:14px;max-width:22ch}
.rbp .page-hero .lead{margin-top:16px}
.rbp .crumbs{font-size:13px;font-weight:700;color:var(--muted);margin-bottom:18px}
.rbp .crumbs a{text-decoration:none}
.rbp .crumbs a:hover{color:var(--accent-strong)}
.rbp .entry{max-width:760px;padding:56px 0 80px}
.rbp .entry>*+*{margin-top:1.1em}
.rbp .entry h2{font-size:clamp(26px,3.2vw,36px);margin-top:1.8em}
.rbp .entry h3{font-size:clamp(20px,2.4vw,26px);margin-top:1.6em}
.rbp .entry p,.rbp .entry li{color:var(--muted);font-size:17px}
.rbp .entry a{color:var(--accent-strong);font-weight:700}
.rbp .entry blockquote{margin-left:0;padding:18px 22px;border-left:3px solid var(--accent);background:var(--sand);border-radius:0 10px 10px 0}
.rbp .entry img{border-radius:12px}
.rbp .entry .alignwide{max-width:none;width:min(1200px,100vw - 48px)}
.rbp .post-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:56px 0 80px}
.rbp .post-card{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;transition:border-color .18s ease}
.rbp .post-card:hover{border-color:var(--accent)}
.rbp .post-card h2{font-size:24px}
.rbp .post-card p{color:var(--muted)}
.rbp .post-meta{font-size:13px;font-weight:700;color:var(--muted)}
.rbp .pagination{display:flex;gap:8px;justify-content:center;padding-bottom:80px}
.rbp .pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-weight:700}
.rbp .pagination .current{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}

/* Responsive */
@media (max-width:1020px){
  .rbp .menu{display:none}
  .rbp .menu-toggle{display:inline-flex}
  .rbp .nav-actions{margin-left:auto}
  .rbp .menu.open{display:flex;flex-direction:column;align-items:stretch;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:12px 24px 18px;box-shadow:0 20px 30px -20px rgba(0,0,0,.2)}
  .rbp .menu.open .sub-menu{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 14px}
  .rbp .nav{position:relative}
  .rbp .hero-grid,.rbp .audit,.rbp .faq{grid-template-columns:1fr;gap:40px}
  .rbp .section-head{grid-template-columns:1fr;gap:14px}
  .rbp .svc-grid,.rbp .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rbp .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rbp .steps li:nth-child(3){padding-left:0;border-left:0}
  .rbp .proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rbp .proof-item:nth-child(3){border-left:0;padding-left:0}
  .rbp .proof-item:nth-child(n+3){border-top:1px solid var(--line)}
  .rbp .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .rbp .wrap{width:min(1200px,100% - 32px)}
  .rbp .topbar .hide-sm,.rbp .nav-actions .btn{display:none}
  .rbp .nav{min-height:66px}
  .rbp .hero{padding:44px 0 40px}
  .rbp .section{padding:64px 0}
  .rbp .svc-grid,.rbp .work-grid,.rbp .steps,.rbp .form-grid,.rbp .post-list{grid-template-columns:1fr}
  .rbp .svc.featured{grid-template-columns:1fr;gap:14px}
  .rbp .steps li,.rbp .steps li+li{padding:24px 0 8px;border-left:0;border-top:1px solid var(--night-line)}
  .rbp .steps li:first-child{border-top:0}
  .rbp .steps li:before{margin-bottom:14px}
  .rbp .process-foot{flex-direction:column;align-items:flex-start}
  .rbp .form-card{padding:22px}
  .rbp .proof-item{padding:20px 14px}
  .rbp .proof-item:nth-child(odd){padding-left:0}
  .rbp .proof-item b{font-size:28px}
  .rbp .foot-grid{grid-template-columns:1fr}
  .rbp .btn{width:100%}
  .rbp .hero-actions .btn,.rbp .cta-actions .btn{width:auto;flex:1 1 200px}
}
@media (prefers-reduced-motion:reduce){
  .rbp *{transition:none!important;animation:none!important}
}

/* Mascot stickers and pictures */
.rbp .svc{overflow:hidden}
.rbp .svc-pic{width:calc(100% + 56px);max-width:none;margin:-28px -28px 10px;aspect-ratio:4/3;object-fit:contain;background:var(--accent-soft);border-bottom:1px solid var(--line)}
.rbp .svc.featured .svc-pic{width:150px;height:150px;margin:0;aspect-ratio:1;border-radius:50%;border:5px solid var(--night-2)}
.rbp .c-pause[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 5px var(--accent-soft)}

/* Services page */
.rbp .hub{display:grid;gap:22px;padding:56px 0 88px}
.rbp .hub-item{display:grid;grid-template-columns:420px 1fr;gap:44px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}
.rbp .hub-item:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.rbp .hub-item:nth-child(even){grid-template-columns:1fr 420px}
.rbp .hub-item:nth-child(even) .hub-pic{order:2}
.rbp .hub-pic{width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:14px;background:var(--accent-soft)}
.rbp .hub-copy{display:grid;gap:12px;justify-items:start;min-width:0}
.rbp .hub-copy h2{font-size:clamp(28px,3.4vw,42px)}
.rbp .hub-copy p{color:var(--muted);font-size:17px;max-width:52ch}
.rbp .hub-copy .hero-actions{margin-top:8px}
@media (max-width:1020px){
  .rbp .hub-item,.rbp .hub-item:nth-child(even){grid-template-columns:1fr;gap:22px}
  .rbp .hub-item:nth-child(even) .hub-pic{order:0}
  .rbp .hub-pic{aspect-ratio:1/1;max-height:420px}
}
@media (max-width:680px){
  .rbp .svc.featured .svc-pic{width:110px;height:110px}
  .rbp .stage-pic{max-width:100%;border-radius:22px}
  .rbp .stage-chip{right:auto;left:12px;bottom:12px;font-size:13.5px;padding:10px 14px}
}
