:root{
  --ink:#16234A;
  --paper:#F4F1E8;
  --paper-2:#FFFFFF;
  --acid:#FFD84D;
  --blue:#3B4666;
  --pink:#E5533C;
  --red:#E5533C;
  --yellow:#FFD84D;
  --line:2px solid var(--ink);
  --shadow:7px 7px 0 var(--ink);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:"Space Grotesk",sans-serif;
  overflow-x:hidden;
}
img,svg{max-width:100%}
a{color:inherit;text-decoration:none}
a:hover{color:inherit}
.shell{max-width:1280px;padding-left:24px;padding-right:24px}
.mono{
  font-family:"IBM Plex Mono",monospace;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.border-y{border-top:var(--line);border-bottom:var(--line)}
.section-pad{padding:110px 0}

.site-header{
  background:rgba(243,239,228,.96);
  border-bottom:var(--line);
  backdrop-filter:blur(8px);
  z-index:1030;
}
.navbar{padding:14px 0}
.brutal-logo{
  display:inline-block;
  background:var(--acid);
  border:var(--line);
  padding:8px 12px;
  box-shadow:4px 4px 0 var(--ink);
  font-size:1.25rem;
  font-weight:800;
  letter-spacing:-.06em;
}
.nav-link{
  font-weight:700;
  padding:.65rem .8rem !important;
}
.nav-link:hover{background:var(--yellow)}
.brutal-menu{
  border:var(--line);
  border-radius:0;
  box-shadow:6px 6px 0 var(--ink);
  padding:8px;
  background:var(--paper-2);
}
.dropdown-item{
  font-weight:700;
  border-radius:0;
  padding:10px 14px;
}
.dropdown-item:hover{background:var(--acid)}
.brutal-icon{
  border:var(--line);
  border-radius:0;
  background:var(--acid);
  box-shadow:3px 3px 0 var(--ink);
}
.brutal-icon:focus{box-shadow:3px 3px 0 var(--ink)}

.btn{
  border-radius:0;
  font-weight:800;
  letter-spacing:-.01em;
  transition:.15s ease;
}
.btn:hover{transform:translate(-2px,-2px)}
.btn-acid{
  background:var(--acid);
  color:var(--ink);
  border:var(--line);
  box-shadow:5px 5px 0 var(--ink);
}
.btn-acid:hover{
  background:var(--acid);
  color:var(--ink);
  box-shadow:7px 7px 0 var(--ink);
}
.btn-ghost-brutal{
  background:transparent;
  border:var(--line);
  color:var(--ink);
}
.btn-ghost-brutal:hover{background:var(--paper-2)}
.btn-dark-brutal{
  background:var(--ink);
  color:white;
  border:2px solid var(--ink);
  box-shadow:5px 5px 0 rgba(0,0,0,.22);
}
.btn-dark-brutal:hover{background:#0F1A38;color:white}
.btn-white-brutal{
  background:var(--paper-2);
  color:var(--ink);
  border:var(--line);
}
.btn-xl{padding:16px 24px;font-size:1rem}

.hero{
  min-height:calc(100vh - 110px);
  display:flex;
  align-items:center;
}
.eyebrow{
  display:inline-block;
  border:var(--line);
  padding:7px 10px;
  background:var(--paper-2);
}
.display-monster{
  margin:0;
  font-size:clamp(4rem,8.5vw,8.7rem);
  line-height:.84;
  letter-spacing:-.075em;
  font-weight:800;
  text-transform:uppercase;
}
.marker{
  position:relative;
  display:inline-block;
  z-index:1;
}
.marker::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:-1%;
  right:-2%;
  bottom:0%;
  height:29%;
  background:var(--acid);
  border:2px solid var(--ink);
  transform:rotate(-1deg);
}
.hero-lead{
  max-width:660px;
  margin-top:32px;
  font-size:1.25rem;
  line-height:1.5;
}
.hero-stats{border:var(--line)}
.stat-box{
  min-height:96px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-right:var(--line);
}
.stat-box:last-child{border-right:0}
.stat-box strong{
  font-size:1.85rem;
  line-height:1;
}
.stat-box span{
  margin-top:8px;
  font-family:"IBM Plex Mono",monospace;
  font-size:.7rem;
}
.dashboard-shell{
  border:3px solid var(--ink);
  background:#16234A;
  color:white;
  box-shadow:12px 12px 0 var(--acid);
  transform:rotate(1deg);
}
.dash-titlebar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:2px solid white;
}
.blink-dot{
  width:10px;height:10px;background:var(--acid);
  border-radius:50%;box-shadow:0 0 0 4px rgba(201,255,49,.12);
}
.dash-body{padding:24px}
.score{
  font-size:4.5rem;
  line-height:1;
  letter-spacing:-.08em;
  font-weight:800;
}
.score span{font-size:1rem;letter-spacing:0}
.risk-badge{
  background:var(--acid);
  color:var(--ink);
  border:2px solid white;
  padding:8px 10px;
  font-family:"IBM Plex Mono",monospace;
  font-size:.7rem;
  font-weight:700;
}
.risk-row{
  padding:14px 0;
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid #5C6684;
  font-size:.85rem;
}
.risk{display:inline-block;padding:3px 5px;margin-right:6px;font-size:.65rem;font-weight:800}
.risk-critical{background:var(--red);color:white}
.risk-high{background:var(--yellow);color:var(--ink)}
.risk-medium{background:var(--blue);color:white}
.mini-chart{
  height:110px;
  display:flex;
  align-items:end;
  gap:7px;
  border:1px solid #46527A;
  padding:10px;
}
.mini-chart span{width:14.28%;background:var(--acid);border:1px solid white}
.floating-note{
  width:fit-content;
  max-width:100%;
  margin:-8px 0 0 auto;
  padding:12px 15px;
  background:var(--pink);
  border:var(--line);
  box-shadow:5px 5px 0 var(--ink);
  transform:rotate(-3deg);
}

.manifesto{background:var(--paper-2)}
.manifesto-title{padding:56px 44px 56px 0}
.manifesto-title h2,
.section-heading h2,
.buddy-copy h2,
.pentest h2,
.use-intro h2,
.pricing h2,
.final-cta h2{
  margin:14px 0 0;
  font-size:clamp(2.8rem,5.5vw,5.8rem);
  line-height:.9;
  letter-spacing:-.06em;
  font-weight:800;
  text-transform:uppercase;
}
.manifesto-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:var(--line);
}
.manifesto-title,
.buddy-copy,
.split-heading>div{min-width:0}
.manifesto-title h2,
.buddy-copy h2{
  font-size:clamp(2.5rem,3.6vw,3.8rem);
  line-height:.96;
  overflow-wrap:anywhere;
}
.principle{
  min-height:330px;
  padding:30px;
  border-right:var(--line);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:var(--acid);
}
.principle:last-child{border-right:0}
.principle-blue{background:var(--blue);color:white}
.principle-pink{background:var(--pink)}
.principle h3{
  font-size:2rem;
  line-height:.95;
  letter-spacing:-.04em;
  font-weight:800;
}
.section-heading{max-width:960px}
.section-heading p{
  margin-top:22px;
  max-width:620px;
  font-size:1.15rem;
}
.split-heading{
  max-width:none;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
}
.split-heading>div{max-width:780px}
.split-heading>p{max-width:380px}
.section-heading.split-heading h2{line-height:1.04}

.solution-card{
  min-height:380px;
  height:100%;
  display:flex;
  flex-direction:column;
  padding:28px;
  border:var(--line);
  background:var(--paper-2);
  box-shadow:6px 6px 0 var(--ink);
  transition:.18s ease;
}
.solution-card:hover{
  transform:translate(-4px,-4px);
  box-shadow:10px 10px 0 var(--ink);
}
.solution-card h3{
  margin:48px 0 16px;
  font-size:2.1rem;
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:800;
}
.solution-card p{font-size:1rem;line-height:1.5}
.solution-card a{
  margin-top:auto;
  padding-top:26px;
  font-weight:800;
}
.acid-card{background:var(--acid)}
.blue-card{background:var(--blue);color:white}
.pink-card{background:var(--pink)}
.dark-card{background:var(--ink);color:white;box-shadow:6px 6px 0 var(--acid)}

.cyberbuddy{background:var(--blue);color:white}
.buddy-copy{padding:90px 50px 90px 0}
.buddy-copy p{max-width:520px;margin-top:26px;font-size:1.2rem}
.buddy-chat{
  display:flex;
  align-items:center;
  padding:70px 0 70px 50px;
  border-left:var(--line);
}
.chat-window{
  width:100%;
  background:var(--paper-2);
  color:var(--ink);
  border:3px solid var(--ink);
  box-shadow:10px 10px 0 var(--ink);
}
.chat-top{
  padding:13px 16px;
  border-bottom:var(--line);
  background:var(--acid);
}
.chat-message{
  margin:20px;
  padding:18px;
  border:var(--line);
}
.chat-message span{
  display:block;
  margin-bottom:10px;
  font-family:"IBM Plex Mono",monospace;
  font-size:.7rem;
  font-weight:800;
}
.user-message{margin-left:25%;background:white}
.bot-message{margin-right:11%;background:#F4F1E8}
.finding{
  margin-top:10px;
  padding:9px 10px;
  background:white;
  border:1px solid var(--ink);
  font-size:.8rem;
}
.finding b{margin-right:8px}
.chat-input{
  margin:20px;
  padding:14px;
  border:var(--line);
  color:#5C6684;
  display:flex;
  justify-content:space-between;
}
.audience-card{
  min-height:290px;
  display:flex;
  flex-direction:column;
  padding:24px;
  border:var(--line);
  background:var(--paper-2);
  transition:.15s ease;
}
.audience-card:hover{background:var(--acid);transform:translateY(-4px)}
.audience-card span{
  font-family:"IBM Plex Mono",monospace;
  font-size:.75rem;
}
.audience-card h3{
  margin-top:52px;
  font-size:2rem;
  font-weight:800;
  letter-spacing:-.04em;
}
.audience-card p{max-width:260px}
.audience-card b{margin-top:auto;font-size:1.7rem}

.use-cases{
  padding:100px 0;
  background:var(--ink);
  color:white;
}
.use-intro{margin-bottom:45px}
.use-intro h2{max-width:920px}
.case-list{border-top:2px solid white}
.case-list a{
  display:grid;
  grid-template-columns:70px 1fr auto;
  gap:20px;
  align-items:center;
  padding:22px 8px;
  border-bottom:1px solid #46527A;
  font-size:clamp(1.2rem,2.4vw,2.1rem);
  font-weight:800;
  letter-spacing:-.035em;
}
.case-list a span{
  font-family:"IBM Plex Mono",monospace;
  color:var(--acid);
  font-size:.78rem;
}
.case-list a:hover{
  padding-left:18px;
  background:var(--acid);
  color:var(--ink);
}
.case-list a:hover span{color:var(--ink)}

.pentest{background:var(--paper-2)}
.lead-copy{margin:25px 0 30px;font-size:1.2rem}
.pentest-sheet{
  position:relative;
  padding:26px;
  border:3px solid var(--ink);
  background:var(--yellow);
  box-shadow:10px 10px 0 var(--ink);
  transform:rotate(1deg);
}
.pentest-sheet>div:not(.stamp){
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:20px 0;
  border-bottom:var(--line);
}
.pentest-sheet span{
  font-family:"IBM Plex Mono",monospace;
  font-size:.75rem;
}
.pentest-sheet strong{font-size:1.6rem}
.stamp{
  width:100px;height:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border:3px solid var(--ink);
  border-radius:50%;
  position:absolute;
  right:-25px;
  bottom:-35px;
  background:var(--pink);
  font-family:"IBM Plex Mono",monospace;
  font-size:.75rem;
  font-weight:800;
  transform:rotate(-12deg);
}

.article-card{
  height:100%;
  border-bottom:var(--line);
}
.article-visual{
  height:260px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:0;
  border:var(--line);
  font-size:6rem;
  font-weight:800;
  box-shadow:6px 6px 0 var(--ink);
}
.article-card-content{
  padding:22px 24px 24px;
}
.visual-grid{
  background-color:var(--acid);
  background-image:
    linear-gradient(var(--ink) 1px,transparent 1px),
    linear-gradient(90deg,var(--ink) 1px,transparent 1px);
  background-size:28px 28px;
}
.visual-grid::first-line{background:var(--paper-2)}
.visual-terminal{background:var(--ink);color:var(--acid);font-family:"IBM Plex Mono",monospace}
.visual-lock{background:var(--pink)}
.article-card h3{
  margin:14px 0 20px;
  font-size:1.7rem;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;
}
.article-card a{font-weight:800}

.pricing{background:var(--acid);padding:90px 0}
.pricing-wrap{
  display:grid;
  grid-template-columns:1.4fr .6fr;
  gap:60px;
  align-items:center;
}
.pricing-card{
  padding:28px;
  background:var(--paper-2);
  border:3px solid var(--ink);
  box-shadow:10px 10px 0 var(--ink);
}
.pricing-card h3{margin:32px 0 12px;font-size:2.5rem;font-weight:800;letter-spacing:-.05em}
.pricing-card p{margin-bottom:28px}

.final-cta{
  padding:130px 0;
  background:var(--pink);
  border-bottom:var(--line);
}
.final-cta h2{max-width:1100px;margin:20px auto 0}
.final-cta h3{
  margin-top:25px;
  font-size:clamp(2rem,4vw,4rem);
  font-weight:800;
  letter-spacing:-.05em;
}

footer{padding:65px 0 25px;background:var(--paper-2)}
.footer-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:38px;
  border-bottom:var(--line);
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:30px;
  padding:45px 0;
}
.footer-grid>div{display:flex;flex-direction:column;gap:8px}
.footer-grid strong{margin-bottom:8px}
.footer-grid a:hover{text-decoration:underline}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  padding-top:20px;
  border-top:var(--line);
}

@media (max-width:991.98px){
  .section-pad{padding:80px 0}
  .navbar-collapse{padding-top:18px}
  .header-actions{padding:12px 0}
  .display-monster{font-size:clamp(3.5rem,14vw,6.8rem)}
  .dashboard-shell{margin-top:12px}
  .manifesto-title{padding:50px 0}
  .manifesto-grid{border-left:0;border-top:var(--line)}
  .buddy-copy{padding:70px 0}
  .buddy-chat{padding:0 0 70px;border-left:0}
  .pricing-wrap{grid-template-columns:1fr}
}
@media (max-width:767.98px){
  .shell{padding-left:16px;padding-right:16px}
  .section-pad{padding:64px 0}
  .hero{min-height:auto}
  .hero-stats .stat-box{border-bottom:var(--line)}
  .stat-box:nth-child(2){border-right:0}
  .stat-box:last-child{border-bottom:0}
  .manifesto-grid{grid-template-columns:1fr}
  .principle{min-height:230px;border-right:0;border-bottom:var(--line)}
  .principle:last-child{border-bottom:0}
  .split-heading{display:block}
  .solution-card{min-height:330px}
  .case-list a{grid-template-columns:38px 1fr auto;gap:8px}
  .user-message{margin-left:12%}
  .bot-message{margin-right:4%}
  .footer-top,.footer-bottom{align-items:flex-start;gap:18px;flex-direction:column}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:480px){
  .display-monster{font-size:3.45rem}
  .manifesto-title h2,
  .section-heading h2,
  .buddy-copy h2,
  .pentest h2,
  .use-intro h2,
  .pricing h2,
  .final-cta h2{font-size:2.75rem}
  .footer-grid{grid-template-columns:1fr}
}

/* Internal pages */
.page-hero{padding:110px 0 95px;border-bottom:var(--line)}
.page-hero h1{max-width:1050px;margin:18px 0 22px;font-size:clamp(3.6rem,8vw,8rem);line-height:.86;letter-spacing:-.07em;font-weight:800;text-transform:uppercase}
.page-hero p{max-width:760px;font-size:1.3rem;line-height:1.5}
.page-hero-acid{background:var(--acid)} .page-hero-blue{background:var(--blue);color:white}
.page-hero-pink{background:var(--pink)} .page-hero-dark{background:var(--ink);color:white} .page-hero-yellow{background:var(--yellow)}
.detail-band{background:var(--paper-2);border-top:var(--line);border-bottom:var(--line)}
.detail-band-title{padding:70px 50px 70px 0}
.detail-band-title h2{margin:18px 0 0;font-size:clamp(2.7rem,5vw,5rem);line-height:.9;letter-spacing:-.06em;font-weight:800}
.detail-steps{border-left:var(--line)} .detail-steps>div{padding:34px;border-bottom:var(--line)} .detail-steps>div:last-child{border-bottom:0}
.detail-steps b{font-family:"IBM Plex Mono",monospace;font-size:.8rem}
.detail-steps h3{margin:16px 0 8px;font-size:2rem;font-weight:800;letter-spacing:-.04em}
.detail-steps p{max-width:650px;margin:0}
.page-cta{padding:100px 0;background:var(--acid);border-bottom:var(--line)}
.page-cta h2{max-width:900px;margin:18px auto 0;font-size:clamp(3rem,6vw,6rem);line-height:.9;letter-spacing:-.06em;font-weight:800}
.pricing-plan{height:100%;display:flex;flex-direction:column;padding:34px;background:var(--paper-2);border:3px solid var(--ink);box-shadow:9px 9px 0 var(--ink)}
.pricing-plan h2{margin:32px 0 5px;font-size:3rem;font-weight:800;letter-spacing:-.05em}
.pricing-plan .price{margin:18px 0 22px;font-size:2.6rem;font-weight:800}
.pricing-plan .price small{font-family:"IBM Plex Mono",monospace;font-size:.85rem;letter-spacing:0}
.pricing-plan .annual-price{margin:-14px 0 22px;font-family:"IBM Plex Mono",monospace;font-size:.85rem;font-weight:600}
.pricing-plan ul{margin:25px 0 30px;padding-left:20px}.pricing-plan li{margin:10px 0}
.pricing-plan .btn{margin-top:auto}
.pricing-plan-dark{background:var(--ink);color:white;box-shadow:9px 9px 0 var(--acid)}
@media (max-width:991.98px){.detail-band-title{padding:60px 0 40px}.detail-steps{border-left:0;border-top:var(--line)}}


/* Cywise Riso palette overrides */
:root{
  --cw-cream:#F4F1E8;
  --cw-paper:#FFFFFF;
  --cw-ink:#16234A;
  --cw-red:#E5533C;
  --cw-yellow:#FFD84D;
  --cw-muted:#3B4666;
  --cw-dim:#5C6684;
  --cw-soft-on-ink:#B9C0D6;
  --cw-soft-on-red:#FFE3DC;
  --cw-dot:#D9D4C4;
  --cw-rule:#DDD8C8;
  --cw-dash:#46527A;
  --cw-red-hover:#D0432D;
  --cw-ink-hover:#0F1A38;
  --cw-placeholder:#E6E2D6;
  --cw-placeholder-bg:#FBFAF6;
}

body{
  color:var(--cw-ink);
  background-color:var(--cw-cream);
  background-image:radial-gradient(var(--cw-dot) .8px, transparent .8px);
  background-size:24px 24px;
}

.site-header{
  background:rgba(244,241,232,.97);
  border-color:var(--cw-ink);
}

.btn-acid{
  background:var(--cw-red);
  color:#FFFFFF;
  border-color:var(--cw-ink);
  box-shadow:5px 5px 0 var(--cw-ink);
}
.btn-acid:hover{
  background:var(--cw-red-hover);
  color:#FFFFFF;
  box-shadow:7px 7px 0 var(--cw-ink);
}

.btn-dark-brutal{
  background:var(--cw-ink);
  color:#FFFFFF;
  border-color:var(--cw-ink);
}
.btn-dark-brutal:hover{
  background:var(--cw-ink-hover);
  color:#FFFFFF;
}

.btn-ghost-brutal,
.btn-white-brutal{
  background:var(--cw-paper);
  color:var(--cw-ink);
  border-color:var(--cw-ink);
}

.eyebrow,
.risk-badge,
.marker::after,
.acid-card,
.page-hero-acid,
.page-hero-yellow,
.page-cta{
  background:var(--cw-yellow);
}

.pink-card,
.page-hero-pink,
.final-cta{
  background:var(--cw-red);
  color:#FFFFFF;
}

.blue-card,
.page-hero-blue{
  background:var(--cw-muted);
  color:#FFFFFF;
}

.dark-card,
.page-hero-dark,
.use-cases{
  background:var(--cw-ink);
  color:#FFFFFF;
}

.solution-card,
.audience-card,
.article-card,
.pricing-plan,
.chat-window,
.pentest-sheet,
.manifesto,
.pentest{
  background-color:var(--cw-paper);
}

.risk-critical{background:var(--cw-red);color:#FFFFFF}
.risk-high{background:var(--cw-yellow);color:var(--cw-ink)}
.risk-medium{background:var(--cw-muted);color:#FFFFFF}

.case-list{border-color:var(--cw-soft-on-ink)}
.case-list a{border-color:var(--cw-dash)}
.case-list a span{color:var(--cw-yellow)}
.case-list a:hover{
  background:var(--cw-yellow);
  color:var(--cw-ink);
}
.case-list a:hover span{color:var(--cw-ink)}

.footer-bottom,
.footer-top,
.article-card,
.detail-band,
.page-hero,
.page-cta,
.border-y{
  border-color:var(--cw-ink);
}

.footer-grid a,
.hero-lead,
.section-heading p,
.buddy-copy p,
.lead-copy,
.page-hero p{
  color:var(--cw-muted);
}

.page-hero-dark p,
.page-hero-blue p,
.dark-card p,
.blue-card p{
  color:var(--cw-soft-on-ink);
}

.visual-grid{
  background-color:var(--cw-yellow);
}
.visual-terminal{
  background:var(--cw-ink);
  color:var(--cw-yellow);
}
.visual-lock{
  background:var(--cw-red);
}

.chat-top{
  background:var(--cw-yellow);
}
.bot-message{
  background:var(--cw-cream);
}
.finding,
.chat-input{
  background:var(--cw-paper);
}

.pricing{
  background:var(--cw-yellow);
}
.pricing-plan-dark{
  background:var(--cw-ink);
  color:#FFFFFF;
  box-shadow:9px 9px 0 var(--cw-yellow);
}

/* Crop the supplied artwork's canvas around the logo. */
.cw-logo-frame{
  display:block;
  width:142px;
  height:52px;
  overflow:hidden;
}
.cw-logo{
  display:block;
  width:160px;
  max-width:none;
  height:auto;
  transform:translate(-10px,-35px);
}
.footer-logo-frame{
  width:174px;
  height:63px;
}
.footer-logo{
  width:195px;
  transform:translate(-12px,-43px);
}


/* Riso v2: visible card accents and supplied wordmark. */
.site-brand-lockup{
  display:inline-flex;
  align-items:center;
  gap:11px;
  color:#16234A;
  text-decoration:none;
}
.site-brand-lockup:hover{
  color:#16234A;
}

/* Keep each group visibly Riso-colored. */
.row > :nth-child(5n+1) > .solution-card,
.row > :nth-child(5n+1) > .audience-card{
  background:#FFD84D !important;
  color:#16234A !important;
}
.row > :nth-child(5n+2) > .solution-card,
.row > :nth-child(5n+2) > .audience-card{
  background:#FFFFFF !important;
  color:#16234A !important;
}
.row > :nth-child(5n+3) > .solution-card,
.row > :nth-child(5n+3) > .audience-card{
  background:#3B4666 !important;
  color:#FFFFFF !important;
}
.row > :nth-child(5n+4) > .solution-card,
.row > :nth-child(5n+4) > .audience-card{
  background:#E5533C !important;
  color:#FFFFFF !important;
}
.row > :nth-child(5n) > .solution-card,
.row > :nth-child(5n) > .audience-card{
  background:#F4F1E8 !important;
  color:#16234A !important;
}

.solution-card.acid-card{background:#FFD84D !important;color:#16234A !important}
.solution-card.blue-card{background:#3B4666 !important;color:#FFFFFF !important}
.solution-card.pink-card{background:#E5533C !important;color:#FFFFFF !important}
.solution-card.dark-card{background:#16234A !important;color:#FFFFFF !important}

.row > :nth-child(5n+1) > .solution-card{
  box-shadow:6px 6px 0 #16234A;
}
.row > :nth-child(5n+1) > .solution-card:hover{
  box-shadow:10px 10px 0 #16234A;
}

/* Secondary text remains readable on dark/red cards. */
.solution-card.blue-card p,
.solution-card.dark-card p,
.row > :nth-child(5n+3) > .solution-card p,
.row > :nth-child(5n+3) > .audience-card p{
  color:#B9C0D6 !important;
}
.solution-card.pink-card p,
.row > :nth-child(5n+4) > .solution-card p,
.row > :nth-child(5n+4) > .audience-card p{
  color:#FFE3DC !important;
}

/* Yellow cards always use the primary ink color. Apply it to every direct
   child so semantic classes (for example dark-card) cannot leave muted text
   behind when the Riso sequence paints the card yellow. */
.solution-card.acid-card > *,
.row > :nth-child(5n+1) > .solution-card > *,
.row > :nth-child(5n+1) > .audience-card > *{
  color:#16234A !important;
}

.solution-card.acid-card > :is(span,h1,h2,h3,h4,h5,h6,p,a,b,strong),
.row > :nth-child(5n+1) > .solution-card > :is(span,h1,h2,h3,h4,h5,h6,p,a,b,strong),
.row > :nth-child(5n+1) > .audience-card > :is(span,h1,h2,h3,h4,h5,h6,p,a,b,strong){
  color:#16234A !important;
}

.page-hero-acid p,
.page-hero-yellow p{
  color:#16234A !important;
}

/* Feature and metric squares keep visible color hierarchy. */
.stat-box:nth-child(1){background:#FFD84D}
.stat-box:nth-child(2){background:#FFFFFF}
.stat-box:nth-child(3){background:#E5533C;color:#FFFFFF}
.stat-box:nth-child(3) span{color:#FFE3DC}

.principle:nth-child(1){background:#FFD84D;color:#16234A}
.principle:nth-child(2){background:#3B4666;color:#FFFFFF}
.principle:nth-child(3){background:#E5533C;color:#FFFFFF}

.detail-steps > div:nth-child(1){background:#FFFFFF}
.detail-steps > div:nth-child(2){background:#FFD84D}
.detail-steps > div:nth-child(3){background:#F4F1E8}

.finding:nth-of-type(1){border-left:8px solid #E5533C}
.finding:nth-of-type(2){border-left:8px solid #FFD84D}
.finding:nth-of-type(3){border-left:8px solid #3B4666}

@media (max-width:767.98px){
  .cw-logo-frame{width:124px;height:45px}
  .cw-logo{width:140px;transform:translate(-9px,-31px)}
  .footer-logo-frame{width:174px;height:63px}
  .footer-logo{width:195px;transform:translate(-12px,-43px)}
}


/* Language switcher */
.lang-switcher{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:38px;
  padding:0 10px;
  border:2px solid #16234A;
  background:#FFFFFF;
  box-shadow:3px 3px 0 #16234A;
  font-family:"IBM Plex Mono",monospace;
  font-size:.72rem;
  font-weight:700;
}
.lang-option{color:#5C6684;text-decoration:none}
.lang-option:hover{color:#D0432D}
.lang-option.active{color:#E5533C}
.lang-sep{color:#D9D4C4}

/* Blog post */
.blogpost-hero{
  padding:92px 0 72px;
  background:#FFD84D;
  border-bottom:2px solid #16234A;
}
.blog-back{
  display:inline-block;
  margin-bottom:42px;
  color:#16234A;
}
.blogpost-kicker{
  display:inline-block;
  padding:7px 10px;
  border:2px solid #16234A;
  background:#FFFFFF;
  box-shadow:3px 3px 0 #16234A;
}
.blogpost-hero h1{
  max-width:1050px;
  margin:28px 0 24px;
  font-size:clamp(3.4rem,7vw,7.2rem);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:800;
}
.blogpost-lead{
  max-width:780px;
  font-size:1.3rem;
  line-height:1.55;
  color:#16234A;
}
.blogpost-meta{
  display:flex;
  flex-wrap:wrap;
  gap:12px 26px;
  margin-top:38px;
  padding-top:20px;
  border-top:2px solid #16234A;
}
.blogpost-body{background:#F4F1E8}
.blogpost-toc{
  position:sticky;
  top:130px;
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:22px;
  border:2px solid #16234A;
  background:#FFFFFF;
  box-shadow:5px 5px 0 #16234A;
}
.blogpost-toc span{margin-bottom:8px}
.blogpost-toc a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:36px;
  border:2px solid #16234A;
  font-family:"IBM Plex Mono",monospace;
  font-weight:700;
}
.blogpost-toc a:hover{background:#E5533C;color:#FFFFFF}
.blogpost-article{font-size:1.14rem;line-height:1.72}
.blogpost-section{
  padding:0 0 48px;
  margin-bottom:48px;
  border-bottom:2px solid #DDD8C8;
}
.blogpost-section h2{
  margin:0 0 20px;
  font-size:clamp(2rem,3vw,3.2rem);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;
}
.blogpost-section p{max-width:780px;color:#3B4666}
.blogpost-article blockquote{
  margin:18px 0 0;
  padding:30px;
  border:2px solid #16234A;
  background:#E5533C;
  color:#FFFFFF;
  box-shadow:7px 7px 0 #FFD84D;
  font-size:1.55rem;
  line-height:1.35;
  font-weight:700;
}
/* Rich-text paragraphs inherit the quote contrast color. */
.blogpost-article blockquote p{
  margin:0;
  color:inherit;
}
.blogpost-cta{
  padding:90px 0;
  background:#FFFFFF;
  border-top:2px solid #16234A;
  border-bottom:2px solid #16234A;
}
.blogpost-cta h2{
  max-width:950px;
  margin:18px auto 0;
  font-size:clamp(2.8rem,5.5vw,5.7rem);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:800;
}
@media (max-width:991.98px){
  .lang-switcher{margin:10px 0}
  .blogpost-toc{position:static;flex-direction:row;flex-wrap:wrap}
}

/* Responsive hardening for long French labels and narrow screens. */
.display-monster,
.page-hero h1,
.page-cta h2,
.section-heading h2,
.solution-card h3,
.audience-card h3,
.article-card h3{
  overflow-wrap:anywhere;
}

@media (max-width:767.98px){
  .navbar{padding:9px 0}
  .navbar-collapse{max-height:calc(100vh - 68px);overflow-y:auto}
  .header-actions{flex-wrap:wrap;align-items:stretch!important}
  .header-actions .lang-switcher{width:max-content}
  .header-actions .btn{flex:1 1 150px}
  .display-monster{font-size:clamp(3rem,14vw,5.2rem)}
  .dashboard-shell,
  .pentest-sheet{transform:none;box-shadow:6px 6px 0 var(--ink)}
  .floating-note{margin:16px 0 0;transform:none}
  .solution-card{min-height:auto}
  .solution-card h3{margin-top:34px}
  .page-hero{padding:72px 0 60px}
  .page-hero h1{font-size:clamp(2.65rem,13vw,4.4rem);line-height:.92;letter-spacing:-.055em}
  .page-hero p{font-size:1.1rem}
  .detail-band-title{padding:52px 0 34px}
  .detail-steps>div{padding:28px 20px}
  .detail-steps h3{font-size:1.65rem}
  .page-cta{padding:72px 0}
  .page-cta h2{font-size:clamp(2.4rem,12vw,4rem)}
  .pricing-plan{padding:26px;box-shadow:6px 6px 0 var(--ink)}
  .pricing-plan-dark{box-shadow:6px 6px 0 var(--acid)}
  .article-visual{height:210px}
  .blogpost-hero{padding:68px 0 54px}
  .blogpost-hero h1{font-size:clamp(2.7rem,12vw,4.6rem);overflow-wrap:anywhere}
}

@media (max-width:480px){
  .display-monster{font-size:clamp(2.75rem,15vw,3.45rem)}
  .manifesto-title h2,
  .section-heading h2,
  .buddy-copy h2,
  .pentest h2,
  .use-intro h2,
  .pricing h2,
  .final-cta h2{font-size:clamp(2.25rem,12vw,2.75rem)}
  .header-actions .btn{flex-basis:100%}
  .dash-body{padding:18px}
  .score{font-size:3.5rem}
  .risk-row{align-items:flex-start}
  .pentest-sheet{padding:20px}
  .pentest-sheet>div:not(.stamp){flex-direction:column;gap:6px}
  .stamp{position:static;margin:24px 0 0 auto}
  .btn-xl{width:100%}
  .case-list a{grid-template-columns:30px minmax(0,1fr) auto;padding-left:0;padding-right:0}
}

/* Laravel-backed blog navigation and rich content. */
.blog-categories{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:34px;
}
.blog-categories a,
.blog-pagination a,
.blog-pagination span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 14px;
  border:2px solid var(--ink);
  background:#FFFFFF;
  color:var(--ink);
  box-shadow:3px 3px 0 var(--ink);
  font-family:"IBM Plex Mono",monospace;
  font-size:.78rem;
  font-weight:700;
  text-decoration:none;
}
.blog-categories a:hover,
.blog-categories a.active,
.blog-pagination a:hover,
.blog-pagination span.active{
  background:var(--acid);
  color:var(--ink);
}
.blog-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin-top:46px;
}
.blog-pagination span[aria-disabled="true"]{opacity:.45}
.article-card p{color:#3B4666}
.blogpost-image{
  display:block;
  width:min(100%, 980px);
  max-height:560px;
  margin:0 auto 48px;
  border:2px solid var(--ink);
  box-shadow:8px 8px 0 var(--acid);
  object-fit:cover;
}
.blogpost-article{
  max-width:900px;
  margin:0 auto;
}
.blogpost-article h1,
.blogpost-article h2,
.blogpost-article h3{
  margin:1.6em 0 .65em;
  color:var(--ink);
  font-weight:800;
  letter-spacing:-.035em;
}
.blogpost-article h2{font-size:clamp(2rem,4vw,3.4rem)}
.blogpost-article h3{font-size:clamp(1.5rem,3vw,2.25rem)}
.blogpost-article p,
.blogpost-article li{color:#3B4666}
.blogpost-article img{
  max-width:100%;
  height:auto;
  border:2px solid var(--ink);
}
.blogpost-article a{color:#D0432D;font-weight:700}
.blogpost-article table{width:100%;border-collapse:collapse}
.blogpost-article th,
.blogpost-article td{padding:12px;border:2px solid var(--ink)}
