/* Rebrand sections: purpose, mission blocks, Information Advantage, Public Safety audiences. */
.site-footer__tagline{font-weight:700;color:#fff;margin:.75rem 0 .5rem}
.missions .container{display:grid;gap:1.25rem;grid-template-columns:repeat(3,1fr)}
.mission{border:1px solid #e6e6e9;border-top:4px solid var(--tuwyn-berry);padding:1.5rem;background:#fff}
.mission h3{margin:0 0 .5rem;color:var(--tuwyn-navy)}
.mission__tag{font-weight:700;color:var(--tuwyn-berry);margin:0 0 .75rem}
.mission__means{margin:1rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.mission__means li{font-size:.85rem;padding:.2rem .6rem;background:#eef1f7;color:var(--tuwyn-navy)}
@media(max-width:1000px){.missions .container{grid-template-columns:1fr}}
/* Hub framing section under the hero (Task 3) */
.rebrand-lede{padding-block:2.5rem 1.5rem}
.rebrand-lede h2{max-width:30ch;line-height:1.15;color:var(--tuwyn-navy);margin:0 0 1rem}
.rebrand-lede p{max-width:68ch;font-size:1.1rem;line-height:1.6;margin:0 0 1rem}
.rebrand-lede .mission__means{margin-top:1.5rem;max-width:68ch}
.rebrand-lede .mission__means li{font-size:.95rem;padding:.3rem .75rem}
/* Public Safety: four audience cards, 4 across on wide screens, 2x2 mid, stacked on phones */
.missions.missions--four .container{grid-template-columns:repeat(2,1fr)}
.missions--four .mission p{margin:0;color:#2b3445}
@media(min-width:1180px){.missions.missions--four .container{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.missions.missions--four .container{grid-template-columns:1fr}}
.rebrand-lede .container.prose-wide{max-width:none}
/* Contrast on navy: Berry and footer red fall below 4.5:1 on dark, so use Light Berry there (508) */
.cta-band .accent-y,.cta-band .accent-you{color:#922430}
.connection-hub .accent-y,.connection-hub .accent-you{color:#922430}  /* small TUWYN pill on white in the homepage bento: #D84838 is 4.28:1 there */

/* Work section: four needs, each answered by a solution (replaces the card grid and the tab switcher). */
.section--work .eyebrow{color:var(--tuwyn-berry)}
.section--work h2{max-width:24ch;color:var(--tuwyn-navy)}
.section--work .lede{max-width:62ch;margin-top:.75rem}
.after-golive{background:linear-gradient(135deg,#001226 0%,#001830 55%,#001E42 100%);color:#cfd9e8}
.after-golive h2{color:#fff;margin:0 0 1.5rem}
.golive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.golive-item{border-left:3px solid var(--rb-berry);padding:.25rem 0 .25rem 1.25rem}
.golive-item h3{margin:0 0 .4rem;color:#fff}
.golive-item p{margin:0 0 .75rem;color:#cfd9e8;max-width:46ch}
.golive-item a,.golive-all a{font-weight:700;color:var(--rb-berry);text-decoration:underline;text-underline-offset:3px}
.golive-item a:hover,.golive-item a:focus-visible,.golive-all a:hover,.golive-all a:focus-visible{color:#fff}
.golive-all{margin:1.5rem 0 0}
@media(max-width:900px){
  .golive-grid{grid-template-columns:1fr}
}

/* ===== Homepage visual pass (2026-10-05): purpose band, mission tiles, information flow, solution tiles, facts strip ===== */
.rb-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* mission tiles */
.rb-intro{padding:72px 0 40px;background:#fff}
.rb-intro__grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:40px;align-items:start}
.rb-intro__lead{position:sticky;top:110px}
.rb-intro__lead h2{font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.2;margin:0;color:var(--tuwyn-navy)}
.rb-intro .eyebrow{color:var(--tuwyn-berry)}
.rb-intro__p{margin:16px 0 0;color:#3b4557}
.rb-intro__tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rb-tile{position:relative;min-height:520px;color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:#001226 center/cover no-repeat;isolation:isolate}
.rb-tile::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,15,.15) 0%,rgba(5,8,15,.7) 40%,rgba(5,8,15,.95) 100%);z-index:-1}
.rb-tile::after{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--tuwyn-berry-light)}
.rb-tile__k{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#D84838;margin:0 0 8px}
.rb-tile h3{margin:0 0 10px;font-size:clamp(1.15rem,1.6vw,1.4rem);line-height:1.1;color:#fff}
.rb-tile p{margin:0;max-width:34ch;color:#dbe4f2}
.rb-tile p.rb-tile__k{color:#D84838}
.rb-tile__more{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none;max-height:0;opacity:0;overflow:hidden;transition:max-height .45s ease,opacity .35s ease}
.rb-tile__more li{font-size:12.5px;padding:4px 10px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08)}
.rb-tile:hover .rb-tile__more,.rb-tile:focus-within .rb-tile__more,.rb-tile:focus .rb-tile__more{max-height:160px;opacity:1}
.rb-tile:focus-visible{outline:3px solid #D84838;outline-offset:3px}

/* information flow: dark, night-Earth image, true red, smooth transform-based line */
:root{--rb-berry:#D84838;--rb-berry-soft:#D84838;--tuwyn-cyan:#5986F2}
.rb-ia{position:relative;overflow:hidden;isolation:isolate;background:#001226;color:#cfd9e8;padding:44px 0 48px}
.rb-ia__bg{position:absolute;inset:-3%;background:center/cover no-repeat;z-index:-2;animation:rb-ia-drift 60s ease-in-out infinite alternate}
.rb-ia::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,14,.9) 0%,rgba(2,6,14,.78) 55%,rgba(2,6,14,.35) 100%);z-index:-1}
@keyframes rb-ia-drift{from{transform:scale(1.02) translateX(-1%)}to{transform:scale(1.08) translateX(1%)}}
.rb-ia .eyebrow{color:var(--rb-berry);margin:0 0 10px}
.rb-ia h2{font-size:clamp(1.3rem,2.1vw,1.75rem);line-height:1.2;color:#fff;margin:0;max-width:34ch}
.rb-ia .accent-y,.rb-ia .accent-you{color:#922430}
.rb-stages{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-weight:800;font-size:clamp(1rem,1.6vw,1.3rem);color:#fff;margin:14px 0 26px}
.rb-arrow{color:var(--rb-berry)}
.rb-flow{--rb-dur:2.4s;position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0;padding:0;list-style:none}
.rb-flow::before{content:"";position:absolute;left:8.333%;right:8.333%;top:21px;height:2px;background:rgba(255,255,255,.16)}
.rb-flow::after{content:"";position:absolute;left:8.333%;right:8.333%;top:21px;height:2px;background:linear-gradient(90deg,var(--rb-berry),var(--rb-berry-soft));transform:scaleX(0);transform-origin:left center;will-change:transform}
.rb-flow.go::after{animation:rb-draw var(--rb-dur) linear forwards}
@keyframes rb-draw{to{transform:scaleX(1)}}
@keyframes rb-draw-y{to{transform:scaleY(1)}}
.rb-flow::before,.rb-flow::after{z-index:0}
.rb-node{position:relative;z-index:1;text-align:center;padding:0 6px;color:#cfd9e8}
.rb-txt{opacity:.22;transform:translateY(6px)}
.rb-flow.go .rb-txt{animation:rb-node-in .7s ease-out forwards;animation-delay:calc(var(--i) * var(--rb-dur) / 5)}
@keyframes rb-node-in{to{opacity:1;transform:none}}
.rb-dot{width:44px;height:44px;margin:0 auto 10px;border-radius:50%;background:#001E42;border:2px solid rgba(255,255,255,.25);display:grid;place-items:center;position:relative;z-index:1}
.rb-dot svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.4}
.rb-flow.go .rb-dot{animation:rb-ring-in .5s ease-out forwards;animation-delay:calc(var(--i) * var(--rb-dur) / 5)}
.rb-flow.go .rb-dot svg{animation:rb-icon-in .5s ease-out forwards;animation-delay:calc(var(--i) * var(--rb-dur) / 5)}
@keyframes rb-ring-in{to{border-color:var(--rb-berry)}}
@keyframes rb-icon-in{to{opacity:1}}
.rb-node b{display:block;color:#fff;font-size:.98rem}
.rb-node span{display:block;font-size:.85rem;margin-top:1px}

/* vertical rhythm: stacked section padding was 88 + 88 = 176px of nothing between About and Solutions */
.section--about{padding-top:64px;padding-bottom:28px}
.section--work{padding-top:36px;padding-bottom:64px}
.section--work .eyebrow{margin:0 0 10px}
.section--work h2{margin:0 0 12px}
.after-golive{padding-top:60px;padding-bottom:60px}

/* solution tiles */
.rb-work{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.rb-wt{position:relative;display:grid;grid-template-columns:42% 1fr;border:1px solid #e1e4ea;background:#fff;overflow:hidden;transition:box-shadow .3s,transform .3s}
.rb-wt:hover,.rb-wt:focus-within{box-shadow:0 14px 34px rgba(0,30,66,.12);transform:translateY(-3px)}
.rb-wt__im{background:#eef1f7 center/cover no-repeat;min-height:230px}
.rb-wt__tx{padding:22px}
.rb-wt__n{font-weight:800;color:var(--tuwyn-berry);font-size:.85rem}
.rb-wt h3{margin:4px 0 4px;font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.15;color:var(--tuwyn-navy)}
.rb-wt__sol{font-weight:700;color:var(--tuwyn-berry);margin:0 0 8px}
.rb-wt__d{margin:0 0 12px;color:#3b4557}
.rb-wt__link{font-weight:800;color:var(--tuwyn-navy);text-underline-offset:3px}
.rb-wt__link::after{content:"";position:absolute;inset:0}
.rb-wt__link:focus-visible{outline:3px solid var(--tuwyn-berry);outline-offset:-3px}

/* facts strip */
.rb-facts-sec{padding-top:40px;padding-bottom:40px}
.rb-facts{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none;border:1px solid #e1e4ea;background:#fff}
.rb-fact{padding:28px 22px;border-right:1px solid #e1e4ea;display:flex;flex-direction:column;gap:10px}
.rb-fact:last-child{border-right:0}
.rb-fact__big{font-size:clamp(1.8rem,3.4vw,2.8rem);font-weight:800;color:var(--tuwyn-navy);line-height:1}
.rb-fact__big small{font-size:.45em;color:var(--tuwyn-berry);margin-left:4px}
.rb-fact__big--sm{font-size:clamp(1.4rem,2.4vw,2rem)}
.rb-fact__lbl{font-size:.92rem;color:#556070}
.rb-facts__cta{margin:24px 0 0}

@media(max-width:1100px){
  .rb-intro__grid{grid-template-columns:1fr;gap:28px}
  .rb-intro__lead{position:static}
  .rb-intro__lead h2{max-width:34ch}
}
@media(max-width:900px){
  .rb-intro__tiles{grid-template-columns:1fr}
  .rb-tile{min-height:420px}
  .rb-tile__more{max-height:none;opacity:1}
  .rb-flow{grid-template-columns:1fr;gap:16px}
  .rb-flow::before,.rb-flow::after{left:21px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .rb-flow::after{background:linear-gradient(180deg,var(--rb-berry),var(--rb-berry-soft));transform:scaleY(0);transform-origin:top center}
  .rb-flow.go::after{animation-name:rb-draw-y}
  .rb-node{display:grid;grid-template-columns:44px 1fr;gap:0 14px;text-align:left;align-items:center}
  .rb-dot{margin:0}
  .rb-work{grid-template-columns:1fr}
  .rb-wt{grid-template-columns:1fr}
  .rb-wt__im{min-height:180px}
  .rb-facts{grid-template-columns:1fr 1fr}
  .rb-fact:nth-child(2){border-right:0}
  .rb-fact:nth-child(-n+2){border-bottom:1px solid #e1e4ea}
}
@media (hover:none){.rb-tile__more{max-height:none;opacity:1}}
.rb-wt:has(.rb-wt__link:focus-visible){outline:3px solid var(--tuwyn-berry);outline-offset:-3px}
@media(prefers-reduced-motion:reduce){
  .rb-tile__more{transition:none}
  .rb-ia__bg{animation:none}
  .rb-flow::after{animation:none!important;transform:none}.rb-txt{animation:none!important;opacity:1;transform:none}.rb-dot{animation:none!important;border-color:var(--rb-berry)}.rb-dot svg{animation:none!important;opacity:1}
  .rb-wt{transition:none}
}

/* ===== Footer v2 (2026-10-05): dark palette, four parts, contact button, credentials, legal links in the bottom bar ===== */
.site-footer{background:linear-gradient(180deg,#001226 0%,#001830 55%,#001E42 100%);padding-top:2.75rem}
.site-footer::before{background:var(--rb-berry);height:3px;margin-bottom:2.25rem}
.site-footer .accent-y,.site-footer .accent-you{color:#922430}
.site-footer a:hover,.site-footer a:focus-visible{color:var(--rb-berry-soft)}
.site-footer__inner{grid-template-columns:1.3fr 1.1fr .9fr;gap:3rem;padding-bottom:2.25rem}
.site-footer__tagline{font-weight:800;color:#fff;font-size:1.05rem;line-height:1.3;margin:.85rem 0 .35rem;max-width:24ch}
.site-footer__legalname{margin:0 0 1rem;font-size:.9rem;color:rgba(255,255,255,.72)}
.site-footer__badges{display:flex;flex-wrap:wrap;gap:.5rem .6rem;align-items:center;margin:0;padding:0;list-style:none}
.site-footer__badges li{font-size:.8rem;padding:.3rem .65rem;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.85)}
.site-footer__badges li b{color:#fff;letter-spacing:.03em}
.site-footer__badges li.site-footer__badge-img{padding:0;border:0}
.site-footer__badge-img img{display:block;height:50px;width:auto;background:#fff;border-radius:6px;padding:3px}
.site-footer__badges a{text-decoration:underline;text-underline-offset:3px}
.site-footer__nav{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.site-footer__h{margin:0 0 .6rem;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--rb-berry)}
.site-footer__nav .footer-nav__list a{min-height:34px}
.site-footer__phone{margin:0}
.site-footer__phone a{font-size:1.3rem;font-weight:800}
.site-footer__email{margin:.2rem 0 .75rem}
.site-footer__email a{font-size:1rem}
.site-footer__addr{margin:0 0 1rem}
.site-footer__contact .btn{display:inline-flex}
.site-footer__legal{text-align:left;padding:0}
.site-footer__bar{width:min(100% - 2.75rem, var(--tuwyn-max));margin-inline:auto;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;padding:.6rem 0}
.site-footer__bar p{margin:0}
.site-footer__bar .footer-nav__legal{flex-direction:row;flex-wrap:wrap;gap:0 1.25rem;margin:0;padding:0;border:0}
.site-footer__bar .footer-nav__list a{min-height:32px;font-size:.85rem;color:rgba(255,255,255,.78)}
@media(max-width:900px){
  .site-footer__inner{grid-template-columns:1fr 1fr;gap:2rem}
  .site-footer__brand{grid-column:1/-1}
}
@media(max-width:720px){
  .site-footer__inner{grid-template-columns:1fr}
  .site-footer__bar{flex-direction:column;align-items:flex-start}
}

/* ===== Inner-page layout upgrades (2026-10-05): audience tiles, solution tiles with tags, numbered capability tiles ===== */
.rb-audiences{padding-top:48px;padding-bottom:56px}
.rb-tiles4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rb-tiles4 .rb-tile{min-height:440px}
.rb-wt__chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px;padding:0;list-style:none}
.rb-wt__chips li{font-size:.78rem;padding:3px 9px;background:#eef1f7;color:var(--tuwyn-navy)}
.rb-hub{padding-top:48px}
.rebrand-lede .rb-caps{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.rebrand-lede .rb-caps:first-child{margin-top:0}
.rb-cap{display:flex;flex-direction:column;gap:6px;padding:16px 18px;background:#fff;border:1px solid #e1e4ea;border-top:3px solid var(--tuwyn-berry)}  /* labels, not links: no hover lift */
.rb-cap__n{font-weight:800;font-size:.8rem;color:var(--tuwyn-berry)}
.rb-cap__t{font-weight:700;color:var(--tuwyn-navy);line-height:1.25}
@media(max-width:1100px){.rb-tiles4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.rb-tiles4{grid-template-columns:1fr}.rb-tiles4 .rb-tile{min-height:380px}}

/* ===== Header dropdown (desktop): stay open while the pointer crosses the gap, close with a short delay ===== */
@media (min-width:1200px){
  .primary-nav__list > .menu-item-has-children > .sub-menu{display:block;visibility:hidden;opacity:0;transition:opacity .15s ease,visibility 0s linear .35s}
  .primary-nav__list > .menu-item-has-children:hover > .sub-menu,
  .primary-nav__list > .menu-item-has-children:focus-within > .sub-menu{visibility:visible;opacity:1;transition-delay:0s}
  .primary-nav__list > .menu-item-has-children > .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-.9rem;height:.9rem}
}
@media (prefers-reduced-motion:reduce){.primary-nav__list > .menu-item-has-children > .sub-menu{transition:none}}

/* ===== Resources page: resource cards ===== */
.rb-resources{padding-top:40px;padding-bottom:64px}
.rb-res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.rb-res{position:relative;display:flex;flex-direction:column;gap:6px;padding:22px;background:#fff;border:1px solid #e1e4ea;border-top:3px solid var(--tuwyn-berry);transition:box-shadow .3s,transform .3s}
.rb-res:hover,.rb-res:focus-within{box-shadow:0 14px 34px rgba(0,30,66,.12);transform:translateY(-3px)}
.rb-res__k{font-size:.74rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tuwyn-berry)}
.rb-res h3{margin:0;font-size:1.25rem;line-height:1.2;color:var(--tuwyn-navy)}
.rb-res p{margin:0 0 10px;color:#3b4557}
.rb-res__link{margin-top:auto;font-weight:800;color:var(--tuwyn-navy);text-underline-offset:3px}
.rb-res__link::after{content:"";position:absolute;inset:0}
.rb-res__link:focus-visible{outline:3px solid var(--tuwyn-berry);outline-offset:-3px}
@media(max-width:1000px){.rb-res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.rb-res-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rb-res{transition:none}}

/* ===== About page (2026-10-05): company facts, leadership profile ===== */
.rb-about-facts .bluf{max-width:72ch;margin:0 0 28px}
.rb-about-facts__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rb-about-facts__card{padding:24px;background:#fff;border:1px solid #e1e4ea;border-top:3px solid var(--tuwyn-berry)}
.rb-about-facts__card h2{margin:0 0 10px;font-size:1.25rem;color:var(--tuwyn-navy)}
.rb-about-facts__card p{margin:0 0 10px}
.rb-about-facts__ids{font-size:.92rem;color:#3b4557}
.rb-chips{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none}
.rb-chips li{font-size:.82rem;padding:4px 10px;background:#eef1f7;color:var(--tuwyn-navy)}
#naics .eyebrow{color:var(--tuwyn-berry)}
.rb-about-facts{padding-top:56px;padding-bottom:28px}
#naics{padding-top:28px;padding-bottom:44px}
#leadership{padding-top:44px;padding-bottom:64px}
.rb-leader{display:grid;grid-template-columns:280px minmax(0,1fr);gap:36px;align-items:start;margin-top:20px}
.rb-leader__photo{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;border:1px solid #e1e4ea;background:#eef1f7}
.rb-leader h3{margin:0;font-size:1.7rem;line-height:1.15;color:var(--tuwyn-navy)}
.rb-leader__title{margin:4px 0 14px;font-weight:700;color:var(--tuwyn-berry)}
.rb-leader__body p:last-child{max-width:68ch;color:#3b4557}
@media(max-width:800px){
  .rb-about-facts__grid{grid-template-columns:1fr}
  .rb-leader{grid-template-columns:1fr;gap:20px}
  .rb-leader__photo{max-width:260px}
}

/* ===== About: founder profile leads the page ===== */
.rb-founder{padding-top:56px;padding-bottom:48px;background:linear-gradient(180deg,#f6f8fb 0%,#fff 100%)}
.rb-founder__top{display:grid;grid-template-columns:360px minmax(0,1fr);gap:44px;align-items:stretch}
.rb-founder__photo-wrap{position:relative;min-height:300px;border-top:4px solid var(--tuwyn-berry);box-shadow:0 22px 48px rgba(0,30,66,.16);background:#eef1f7}
.rb-founder__photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 10%}
.rb-founder .eyebrow{color:var(--tuwyn-berry);margin:0 0 6px}
.rb-founder h2{margin:0;font-size:clamp(2.1rem,3.6vw,3rem);line-height:1.05;color:var(--tuwyn-navy)}
.rb-founder__role{margin:8px 0 18px;font-weight:800;font-size:1.1rem;color:var(--tuwyn-berry)}
.rb-founder__intro > p:not(.eyebrow):not(.rb-founder__role){max-width:70ch;color:#2b3444;font-size:1.05rem;line-height:1.6}
.rb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:22px 0 0;padding:0;list-style:none}
.rb-stats li{display:flex;flex-direction:column;gap:6px;padding:16px;background:linear-gradient(135deg,#001226,#001E42);border-top:3px solid var(--rb-berry);color:#cfd9e8}
.rb-stats b{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1;color:#fff}
.rb-stats span{font-size:.86rem;line-height:1.4}
.rb-stats .brand-text .accent-y{color:#922430}
.rb-founder__body{margin:44px 0 0}
.rb-founder__body h3{margin:34px 0 8px;font-size:1.35rem;color:var(--tuwyn-navy)}
.rb-founder__body h3:first-child{margin-top:0}
.rb-founder__body p{max-width:74ch;color:#3b4557;line-height:1.65}
.rb-founder__body .rb-caps{list-style:none;margin:18px 0 22px;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.rb-founder__body .rb-cap{padding:14px 12px}
.rb-founder__body .rb-cap__t{font-size:.9rem;overflow-wrap:anywhere}
.rb-founder__em{font-weight:700;color:var(--tuwyn-navy)!important}
.rb-checks{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px}
.rb-checks li{position:relative;display:flex;align-items:center;padding:12px 14px 12px 42px;background:#fff;border:1px solid #e1e4ea;color:var(--tuwyn-navy);font-weight:600;line-height:1.3}
.rb-checks li::before{content:"";position:absolute;left:14px;top:50%;width:14px;height:8px;margin-top:-6px;border-left:3px solid var(--tuwyn-berry);border-bottom:3px solid var(--tuwyn-berry);transform:rotate(-45deg)}
.rb-founder__close{margin-top:30px!important;padding-left:18px;border-left:4px solid var(--tuwyn-berry);font-size:1.08rem;color:var(--tuwyn-navy)!important}
@media(max-width:1100px){
  .rb-founder__body .rb-caps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .rb-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .rb-founder__top{grid-template-columns:1fr;gap:26px}
  .rb-founder__photo-wrap{max-width:300px;min-height:0;aspect-ratio:4/5}
  .rb-stats{grid-template-columns:1fr}
  .rb-founder__body .rb-caps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rb-checks{grid-template-columns:1fr}
}

/* Brand palette pass (2026-10-05): content-updates.css used a pink (#ffb2bc) for the red Y on dark; the guide's light berry is #D84838.
   On navy it is 3.9:1, so the small lede "YOU" is bold and 1.2em (large text, 3:1 rule). */
.hero .accent-y,.page-hero .accent-y,.page-hero .accent-you{color:#922430}
.page-hero__lede .accent-you{color:#922430;font-weight:800}

/* Every red Y (TUWYN, YOU) is brand dark berry #922430 on every background, per Dej 2026-10-05. Brand names are exempt from WCAG contrast (logotype). */
.accent-y,.accent-you,.hero .accent-you,.site-footer .accent-y,.site-footer .accent-you,.site-logo__tag .accent-you{color:#922430}

/* ===== AI solution page (2026-10-05): 4-step dark flow, capability and gain tiles ===== */
.rb-ia__p{margin:14px 0 26px;max-width:72ch;color:#dbe4f2;font-size:1.02rem;line-height:1.6}
.rb-ai-cap{padding:48px 0 20px}
.rb-ai-cap h2,.rb-ai-gain h2{margin:0 0 18px}
.rb-ai-cap .rb-caps{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:0}
.rb-ai-gain{padding:28px 0 56px}
.rb-gain{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rb-gain__i{padding:20px;background:linear-gradient(135deg,#001226,#001E42);border-top:3px solid var(--rb-berry);color:#fff;font-weight:600;line-height:1.45}
.rb-ai-gain .back-link{margin:28px 0 0}
@media(min-width:901px){
  .rb-flow--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
  .rb-flow--4::before,.rb-flow--4::after{left:12.5%;right:12.5%}
  .rb-flow--4 .rb-node{padding:0 6px}
  .rb-flow--4 .rb-node span{font-size:.92rem;line-height:1.5;margin-top:4px}
  .rb-flow--4.go .rb-txt,.rb-flow--4.go .rb-dot,.rb-flow--4.go .rb-dot svg{animation-delay:calc(var(--i) * var(--rb-dur) / 3)}
}
@media(max-width:900px){.rb-ai-cap .rb-caps{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-gain{grid-template-columns:1fr}}
@media(max-width:600px){.rb-ai-cap .rb-caps{grid-template-columns:1fr}}

/* ===== Visual Information page (2026-10-05): suite tiles on the dark band, CTA row ===== */
.rb-suite{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.rb-suite__i{display:flex;flex-direction:column;gap:12px;padding:18px;background:rgba(0,18,38,.72);border:1px solid rgba(255,255,255,.18);border-top:3px solid var(--rb-berry);color:#fff;font-weight:700;line-height:1.3}
.rb-suite__i svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rb-ai-cap p.rb-vi-end{margin:32px 0 0}
.rb-ai-cap .back-link{margin:22px 0 0}
@media(max-width:1000px){.rb-suite{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.rb-suite{grid-template-columns:1fr}}

/* ===== Audio Visual page (2026-10-05): Unified Communications sub-block under the capability tiles ===== */
.rb-ai-cap h2.rb-av-uc{margin:44px 0 10px}
.rb-av-uc__p{margin:0;max-width:70ch;color:#2b3444;line-height:1.6}

/* ===== Digital Transformation page (2026-10-05): 4-up suite tiles and cards with a detail line ===== */
.rb-suite--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.rb-suite--4 .rb-suite__i{font-weight:600;font-size:.98rem;line-height:1.45}
.rb-cap__d{color:#3b4557;font-size:.95rem;line-height:1.5}
.rb-ai-cap .rb-caps--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.rb-suite--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.rb-ai-cap .rb-caps--2{grid-template-columns:1fr}}
@media(max-width:520px){.rb-suite--4{grid-template-columns:1fr}}
.rb-ai-cap .rb-caps--cards+h2{margin:44px 0 18px}

/* ===== Services pages (2026-10-05): lane cards, editorial rows, 3-up engagement tiles, closing block ===== */
.rb-ia__p--lead{font-size:1.15rem;max-width:62ch;margin:0 0 26px}
.rb-lanes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rb-lane{padding:20px 18px;background:rgba(0,18,38,.72);border:1px solid rgba(255,255,255,.18);border-top:3px solid var(--rb-berry);color:#fff}
.rb-lane svg{width:28px;height:28px;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rb-lane h2{margin:12px 0 10px;font-size:1.3rem;line-height:1.2;color:#fff}
.rb-lane__list{list-style:none;margin:0;padding:0}
.rb-lane__list li{padding:8px 0;border-top:1px solid rgba(255,255,255,.16);font-size:.95rem;line-height:1.35;color:#e6e6e9}
.rb-st{padding:44px 0 36px}
.rb-st__bluf{max-width:70ch;margin:0}
.rb-rows{list-style:none;margin:32px 0 0;padding:0}
.rb-row{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:12px 40px;padding:26px 0;border-top:1px solid #e1e4ea}
.rb-row:first-child{border-top:3px solid var(--tuwyn-berry)}
.rb-row h2{margin:0;font-size:1.35rem;line-height:1.2;color:var(--tuwyn-navy)}
.rb-row p{margin:0 0 10px;max-width:68ch;color:#2b3444;line-height:1.6}
.rb-row p:last-child{margin-bottom:0}
.rb-suite--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.rb-suite--3 .rb-suite__i{font-weight:400;gap:8px}
.rb-suite--3 .rb-suite__i b{font-size:1.15rem;font-weight:800}
.rb-suite--3 .rb-suite__i span{color:#dbe4f2;line-height:1.45}
.rb-st-end{padding:40px 0 56px}
.rb-st-end h2{margin:0 0 10px}
.rb-btns{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0}
.rb-st-end .back-link{margin:24px 0 0}
@media(max-width:1000px){.rb-lanes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.rb-row{grid-template-columns:1fr}.rb-suite--3{grid-template-columns:1fr}}
@media(max-width:520px){.rb-lanes{grid-template-columns:1fr}}

/* ===== Services hub (2026-10-05) ===== */
.rb-svc-hub{padding:40px 0 64px}
/* panel links: the berry text was 2.5:1 over the brightest possible photo pixel; white is 10:1, red stays as the underline */
.img-panel__cta{color:#fff;text-decoration:underline;text-decoration-color:#D84838;text-decoration-thickness:2px;text-underline-offset:5px}
.img-panel:hover .img-panel__cta,.img-panel:focus-visible .img-panel__cta{color:#fff;text-decoration-color:#fff}

/* ===== Contract Vehicles page (2026-10-05): navy fact tiles, ID chips ===== */
.rb-cv{padding:48px 0 64px}
.rb-cv .eyebrow{color:var(--tuwyn-berry);margin:0 0 10px}
.rb-cv h2{margin:0 0 24px;max-width:32ch;line-height:1.15}
.rb-vh{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.rb-vh__i{display:flex;flex-direction:column;gap:8px;padding:20px 18px;background:linear-gradient(135deg,#001226,#001E42);border-top:3px solid var(--rb-berry);min-width:0}
.rb-vh dt{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#cfd9e8;margin:0}
.rb-vh dd{margin:0;font-size:1.2rem;font-weight:800;line-height:1.3;color:#fff;overflow-wrap:anywhere}
.rb-cv__chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.rb-cv__chips li{font-size:.9rem;font-weight:600;padding:6px 12px;background:#eef1f7;color:var(--tuwyn-navy)}
.rb-cv__cta{margin:28px 0 0}
@media(max-width:1000px){.rb-vh{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.rb-vh{grid-template-columns:1fr}}

/* ===== Contact page (2026-10-05): full-width navy contact tiles, two cards ===== */
.rb-contact{padding:48px 0 20px}
.rb-contact .eyebrow{color:var(--tuwyn-berry);margin:0 0 10px}
.rb-contact h2{margin:0 0 8px;line-height:1.15}
.rb-contact__lede{margin:0 0 24px;color:#3b4557;font-size:1.1rem}
.rb-ct{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.rb-ct__i{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 22px;min-width:0;background:linear-gradient(135deg,#001226,#001E42);border-top:3px solid var(--rb-berry);color:#fff;transition:box-shadow .3s,transform .3s}
.rb-ct__i svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.rb-ct__k{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#cfd9e8}
.rb-ct__v{color:#fff;font-size:clamp(1.3rem,2.2vw,1.7rem);font-weight:800;line-height:1.2;text-decoration:none;overflow-wrap:anywhere}
.rb-ct__v::after{content:"";position:absolute;inset:0}
.rb-ct__v:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.rb-ct__i--link:hover,.rb-ct__i--link:focus-within{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,30,66,.22)}
.rb-ct__a{font-style:normal;font-size:1.15rem;font-weight:700;line-height:1.4;color:#fff}
.rb-contact-more{padding:16px 0 64px}
.rb-res-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.rb-ct{grid-template-columns:1fr}.rb-res-grid--2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.rb-ct__i{transition:none}}

/* ===== Partners logo wall (2026-10-05, restored at Dej's request): logos only, names in alt text ===== */
.rb-partners{padding:44px 0 24px}
.rb-partners h2{margin:0 0 18px}
.rb-partners .rb-partners__h2{margin:40px 0 18px}
.rb-wall{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.rb-wall__i{display:grid;place-items:center;height:96px;padding:18px 22px;margin:0;border:1px solid #e1e4ea;background:#fff}
.rb-wall__i::before{content:none}
.rb-wall__i img{width:100%;height:56px;object-fit:contain;filter:grayscale(1);opacity:.85}
.rb-wall__i img.is-mono{filter:brightness(0);opacity:.7}
.rb-partners__note{margin:24px 0 0;font-size:.85rem;color:#556070}
/* 21 partner logos = 7 x 3, 9 platform logos = 5 + 4 on desktop, 3 x 3 below */
.rb-wall--7{grid-template-columns:repeat(7,minmax(0,1fr))}
.rb-wall--7 .rb-wall__i{padding:14px 12px}
@media(max-width:1000px){.rb-wall,.rb-wall--7{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.rb-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-wall__i{height:84px}.rb-wall__i img{height:46px}}

/* ===== Industries (2026-10-05): audience tiles on the landing page are links ===== */
.rb-tile--link{transition:transform .3s,box-shadow .3s}
.rb-tile--link:hover,.rb-tile--link:focus-within{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,30,66,.28)}
.rb-tile h3 .rb-tile__link,.rb-tile h3 .rb-tile__link:hover,.rb-tile h3 .rb-tile__link:focus-visible{color:#fff;text-decoration:none}  /* the site's a:hover turns links berry, which disappears on the dark tile */
.rb-tile__link::after{content:"";position:absolute;inset:0;z-index:3}
.rb-tile__link:focus-visible{outline:3px solid #fff;outline-offset:-6px}
@media(prefers-reduced-motion:reduce){.rb-tile--link{transition:none}}
.rb-ind-intro{margin:0 0 36px;max-width:68ch}
.rebrand-lede .rb-ind-intro{margin:0 0 36px}
