/* Rebellum OS V3.4 — refinamento de serviços, método, estúdio e portfólio
   Mantém o vermelho institucional e respeita o tema da Thorium. */
.rb-service-landing {
  --service-ink: #111110;
  --service-red: #D1001C;
  --service-ivory: #f5f1e9;
  --service-muted: #625d56;
}
.rb-service-landing * {box-sizing:border-box}
.rb-service-opening{background:#141413;color:#f5f1e9;overflow:hidden}
.rb-service-overline{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #5e5954;padding-top:28px;padding-bottom:20px;font-size:11px;font-weight:700;letter-spacing:.14em}
.rb-service-overline span:last-child{text-align:right;color:#aaa29b}
.rb-service-opening-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:end;gap:clamp(42px,7vw,110px);padding:clamp(95px,12vw,180px) 0 clamp(85px,11vw,150px)}
.rb-service-opening h1{max-width:1050px;margin:0;font:600 clamp(57px,7.6vw,125px)/1.05 'Playfair Display',Georgia,serif;letter-spacing:-.015em;overflow-wrap:normal}
.rb-service-opening h1 em,.rb-service-cross h2 em,.rb-service-close h2 em{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.005em}
.rb-service-opening h1 em{color:#fa3654}
.rb-service-opening-copy{border-top:1px solid #6c6560;padding-top:29px}
.rb-service-asterisk{display:block;color:#f13853;font-size:78px;line-height:1;margin-bottom:32px}
.rb-service-opening-copy p{margin:0 0 45px;font-size:clamp(18px,1.7vw,23px);line-height:1.5;color:#e3dcd4;letter-spacing:-.022em}
.rb-service-opening-copy>a{display:inline-flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid #d1cac2;padding-bottom:12px;font-size:13px;font-weight:700}
.rb-service-opening-copy>a span{font-size:22px}
.rb-service-bottomline{display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #5e5954;padding:20px 0 27px;color:#bcb3aa;font-size:11px;letter-spacing:.12em;font-weight:700}
.rb-service-bottomline a{display:inline-flex;gap:20px;color:#fff}
.rb-service-red-rule{height:12px;background:var(--service-red)}
.rb-service-main{background:var(--service-ivory);padding:clamp(90px,10vw,155px) 0 clamp(130px,13vw,210px)}
.rb-service-main-grid{display:grid;grid-template-columns:minmax(210px,.39fr) minmax(0,1fr);gap:clamp(45px,7vw,120px);align-items:start}
.rb-service-aside-inner{position:sticky;top:126px}
.rb-service-aside-caption{font:700 11px/1.5 'DM Sans',sans-serif;letter-spacing:.19em;margin:6px 0 24px}
.rb-service-toc{border-top:1px solid #b8afa7;display:flex;flex-direction:column}
.rb-service-toc a{display:grid;grid-template-columns:27px 1fr;gap:14px;align-items:baseline;padding:18px 0;border-bottom:1px solid #b8afa7;font-size:13px;font-weight:600;color:#48413c;text-decoration:none;line-height:1.4}
.rb-service-toc a span{font-size:10px;font-weight:700;color:#a71228}
.rb-service-toc a:hover,.rb-service-toc a.is-current{color:#bd0c2b}
.rb-service-aside-note{border-top:3px solid var(--service-red);margin-top:56px;padding-top:20px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(24px,2.25vw,34px);line-height:1.24;max-width:265px}
.rb-service-reading-caption{font-size:11px;font-weight:700;letter-spacing:.15em;display:block;border-bottom:1px solid #b8afa7;padding-bottom:19px;margin:0 0 43px}
.rb-service-reading-caption span{font-size:18px}
.rb-service-content{max-width:930px;min-width:0;font-size:clamp(17px,1.45vw,21px);line-height:1.74;color:#2a2824}
.rb-service-content>p:first-of-type{font-size:clamp(24px,2.5vw,38px);line-height:1.43;letter-spacing:-.035em;font-weight:500;max-width:790px;color:#171613;margin:0 0 clamp(65px,6vw,98px)}
.rb-service-content h2{font:600 clamp(37px,4.15vw,64px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.015em;scroll-margin-top:130px;margin:clamp(70px,8.2vw,122px) 0 32px;padding-top:25px;border-top:1px solid #b7aea5}
.rb-service-content h3{font:600 clamp(25px,2.8vw,38px)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-.015em;margin:55px 0 17px}
.rb-service-content p{margin:0 0 29px;max-width:820px}
.rb-service-content :is(ul,ol){list-style:none;counter-reset:rb-list;padding:0;margin:0 0 58px;border-top:1px solid #b8afa7}
.rb-service-content :is(ul,ol)>li{counter-increment:rb-list;display:grid;grid-template-columns:38px 1fr;gap:24px;padding:21px 0;border-bottom:1px solid #b8afa7;font-size:clamp(17px,1.45vw,21px);line-height:1.5}
.rb-service-content :is(ul,ol)>li:before{content:counter(rb-list,decimal-leading-zero);font:700 11px/2 'DM Sans',sans-serif;color:#a90e28}
.rb-service-content a{text-decoration:underline;text-decoration-color:var(--service-red);text-decoration-thickness:1px;text-underline-offset:5px;font-weight:600}
.rb-service-content a:hover{color:#b70e27}
.rb-service-content figure,.rb-service-content img{max-width:100%;height:auto}
.rb-service-content blockquote{border-left:4px solid var(--service-red);padding-left:25px;font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,3vw,43px)}
.rb-service-cross{padding:clamp(93px,11vw,165px) 0;background:var(--sand)}
.rb-service-cross-heading{display:grid;grid-template-columns:1fr 2fr;gap:32px;align-items:start;padding-bottom:45px;border-bottom:1px solid #8e877e}
.rb-service-cross-heading>span{font-size:11px;font-weight:700;letter-spacing:.12em}
.rb-service-cross h2{font:600 clamp(44px,5.7vw,89px)/.99 'Playfair Display',Georgia,serif;letter-spacing:-.015em;margin:0}
.rb-service-cross h2 em{color:#ac0c24}
.rb-service-cross-links{display:flex;flex-direction:column}
.rb-service-cross-links a{border-bottom:1px solid #8e877e;padding:25px 0;display:grid;grid-template-columns:1fr 30px;align-items:center;gap:20px;text-decoration:none;transition:padding .2s ease}
.rb-service-cross-links a strong{font:500 clamp(21px,2.4vw,36px)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.015em}
.rb-service-cross-links a span{text-align:right;font-size:29px}
.rb-service-cross-links a:hover{padding-left:12px;color:var(--service-red)}
.rb-service-close{background:var(--service-red);color:#fff;padding:clamp(85px,10vw,152px) 0}
.rb-service-close-inner{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.45fr);gap:45px;align-items:end}
.rb-service-close-inner>div>span{font-size:11px;font-weight:700;letter-spacing:.17em}
.rb-service-close h2{font:600 clamp(52px,7vw,109px)/.97 'Playfair Display',Georgia,serif;letter-spacing:-.015em;margin:45px 0 0}
.rb-service-close-inner>a{display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid #fff;padding-bottom:14px;font-size:14px;font-weight:700;text-decoration:none}
.rb-service-close-inner>a span{font-size:26px}
/* Portfólio: mais contexto visual sem inventar indicadores de projeto. */
.rb-portfolio-page .rb-work-grid{gap:85px 30px}
.rb-portfolio-page .rb-image{aspect-ratio:1.16/1}
.rb-portfolio-page .rb-work-card{border-top:1px solid #817a72;padding-top:15px}
.rb-portfolio-page .rb-work-card:nth-child(even){transform:translateY(50px)}
.rb-portfolio-page .rb-work-caption{align-items:start}
.rb-portfolio-page .rb-work-caption h2{line-height:1.15}
.rb-portfolio-page .rb-work-caption span{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1020px){
 .rb-service-opening-grid{grid-template-columns:1fr;gap:48px;padding:105px 0 75px}
 .rb-service-opening h1{font-size:clamp(56px,10vw,105px)}
 .rb-service-opening-copy{max-width:720px}
 .rb-service-asterisk{font-size:55px;margin-bottom:17px}
 .rb-service-main-grid{grid-template-columns:190px minmax(0,1fr);gap:40px}
 .rb-service-cross-heading{grid-template-columns:1fr}
}
@media(max-width:760px){
 .rb-service-overline span:last-child{display:none}
 .rb-service-opening-grid{padding:80px 0 65px}
 .rb-service-opening h1{font-size:clamp(48px,11.4vw,78px);line-height:.96}
 .rb-service-opening-copy p{font-size:18px}
 .rb-service-main{padding:75px 0 110px}
 .rb-service-main-grid{display:flex;flex-direction:column;gap:42px}
 .rb-service-aside{width:100%}
 .rb-service-aside-inner{position:static}
 .rb-service-toc{display:flex;flex-direction:row;gap:16px;overflow-x:auto;scrollbar-width:thin}
 .rb-service-toc a{min-width:175px;max-width:215px;flex:0 0 auto;grid-template-columns:20px 1fr;padding:13px 0}
 .rb-service-aside-note{display:none}
 .rb-service-reading-caption{margin-bottom:34px}
 .rb-service-content h2{font-size:clamp(34px,8vw,47px);margin-top:70px}
 .rb-service-content>p:first-of-type{font-size:25px;margin-bottom:50px}
 .rb-service-close-inner{grid-template-columns:1fr}
 .rb-service-close h2{margin-top:27px}
 .rb-service-close-inner>a{max-width:410px}
 .rb-portfolio-page .rb-work-card:nth-child(even){transform:none}
}
@media(max-width:470px){
 .rb-service-opening h1{font-size:clamp(44px,11.9vw,60px)}
 .rb-service-bottomline span{font-size:9px}
 .rb-service-bottomline a{font-size:10px}
 .rb-service-content :is(ul,ol)>li{grid-template-columns:27px 1fr;gap:10px}
 .rb-service-cross h2{font-size:46px}
 .rb-service-close h2{font-size:52px}
}
@media(prefers-reduced-motion:reduce){.rb-service-cross-links a{transition:none}}
