/* ========= CASE STUDIES (compartilhado) ========= */
.case-block-content,.case-block-inner > *,.shot-grid > *{min-width:0}

.case-hero{padding:170px 0 60px}
.case-back{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted);margin-bottom:48px;transition:color .25s ease}
.case-back:hover{color:var(--accent)}
.case-label{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.case-label::before{content:'';width:24px;height:1px;background:var(--accent)}
.case-title{font-size:clamp(38px,6vw,80px);line-height:1;letter-spacing:-.03em;margin-bottom:28px;max-width:22ch}
.case-sub{font-size:19px;color:var(--ink-soft);line-height:1.55;max-width:58ch}
.case-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:64px;padding-top:32px;border-top:1px solid var(--line)}
.case-meta .label,.case-meta .section-label{display:block;margin-bottom:10px}
.case-meta p{font-size:14px;color:var(--ink-soft);line-height:1.5}
@media(max-width:900px){.case-meta{grid-template-columns:1fr 1fr;gap:24px}}
.case-cover{margin:64px 0 0;aspect-ratio:16/9;border-radius:4px;overflow:hidden;position:relative;background:var(--line)}
.case-cover img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.case-cover--studio{background:#F4F3EF;border-radius:8px}
.case-cover--studio img{background:transparent}

.case-block{padding:88px 0;border-top:1px solid var(--line)}
.case-block:first-of-type{border-top:none}
.case-block-inner{display:grid;grid-template-columns:1fr 2fr;gap:64px;align-items:start}
.case-block-label{position:sticky;top:110px}
.case-block-label .num{display:block;font-size:13px;color:var(--accent);font-weight:500;margin-bottom:10px;font-variant-numeric:tabular-nums}
.case-block-label h2{font-size:24px;letter-spacing:-.02em}
.case-block-content p{font-size:17px;color:var(--ink-soft);line-height:1.6;margin-bottom:20px;max-width:62ch}
.case-block-content p:last-child{margin-bottom:0}
.pull-quote{font-size:clamp(22px,3vw,32px);line-height:1.25;letter-spacing:-.02em;color:var(--ink);margin:40px 0;padding-left:28px;border-left:2px solid var(--accent);max-width:26ch}
.role-list{list-style:none;margin-top:8px}
.role-list li{position:relative;padding:14px 0 14px 28px;font-size:16px;color:var(--ink-soft);border-bottom:1px solid var(--line)}
.role-list li::before{content:'';position:absolute;left:0;top:50%;width:14px;height:1px;background:var(--accent)}
@media(max-width:900px){.case-block-inner{grid-template-columns:1fr;gap:32px}.case-block-label{position:static}}

/* Personas */
.personas-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}
.persona-item{background:var(--bg);padding:28px 24px;transition:background-color .5s ease}
.persona-item h4{font-size:16px;margin-bottom:8px;color:var(--ink)}
.persona-item p{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.5}
@media(max-width:700px){.personas-grid{grid-template-columns:1fr}}

/* Journey cycle */
.journey-cycle{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:32px}
.journey-step{padding:24px 20px;border:1px solid var(--line);border-radius:4px;transition:all .3s ease}
.journey-step:hover{border-color:var(--accent);transform:translateY(-2px)}
.journey-step .num{font-size:12px;color:var(--accent);font-weight:500;display:block;margin-bottom:10px}
.journey-step h4{font-size:15px;margin-bottom:6px}
.journey-step p{font-size:13px;color:var(--ink-soft);margin:0;line-height:1.45}
@media(max-width:900px){.journey-cycle{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.journey-cycle{grid-template-columns:1fr}}

/* Lifecycle (RotaOverland) — sem painel, altura natural */
.lifecycle{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;margin:40px 0 8px}
.lifecycle-step{position:relative;padding:36px 26px 32px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:4px;background:transparent;transition:transform .3s cubic-bezier(.25,.8,.25,1),border-color .3s ease}
.lifecycle-step:hover{transform:translateY(-4px);border-color:var(--line-strong);border-top-color:var(--accent)}
.lifecycle-step .num{display:block;font-size:14px;font-weight:500;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:22px}
.lifecycle-step h4{font-size:23px;font-weight:500;letter-spacing:-.015em;color:var(--ink);margin-bottom:10px}
.lifecycle-step p{font-size:15px;line-height:1.5;color:var(--ink-soft);margin:0}
.lifecycle-step:not(:last-child)::after{content:'→';position:absolute;right:-21px;top:50%;transform:translateY(-50%);color:var(--accent);font-size:16px}
@media(max-width:1000px){.lifecycle{grid-template-columns:repeat(2,1fr);gap:20px}.lifecycle-step:not(:last-child)::after{display:none}}
@media(max-width:560px){.lifecycle{grid-template-columns:1fr}}

/* Sub-blocos + imagens */
.case-subblock{margin-bottom:56px}
.case-subblock:last-child{margin-bottom:0}
.case-subblock h3{font-size:21px;margin-bottom:12px;letter-spacing:-.01em}
.case-subblock h3 span{color:var(--accent);margin-right:10px;font-variant-numeric:tabular-nums}
.case-img{aspect-ratio:16/10;border-radius:4px;overflow:hidden;position:relative;background:var(--line);margin:24px 0 12px}
.case-img img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.case-img-caption{font-size:13px;color:var(--ink-muted);font-style:italic}

/* Impact */
.impact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px}
.impact-item{background:var(--bg);padding:32px 28px;transition:background-color .5s ease}
.impact-item .num{font-size:13px;color:var(--accent);font-weight:500;display:block;margin-bottom:14px}
.impact-item p{font-size:15px;color:var(--ink-soft);margin:0}
.impact-note{font-size:13px;color:var(--ink-muted);margin-top:20px;font-style:italic}
@media(max-width:700px){.impact-grid{grid-template-columns:1fr}}

/* Design system showcase */
.ds-showcase{margin:40px 0;padding:32px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.ds-showcase h4{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);margin-bottom:20px;font-weight:500}
.ds-palette{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:40px}
.ds-color-card{flex:1;min-width:120px;display:flex;flex-direction:column;gap:8px}
.ds-color-swatch{height:64px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
.ds-color-info span{display:block;font-size:13px;font-weight:500;color:var(--ink)}
.ds-color-info code{font-size:11px;color:var(--ink-muted);font-family:monospace}
.ds-badges{display:flex;flex-wrap:wrap;gap:12px}
.ds-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-size:13px;font-weight:500;border:1px solid transparent}
.ds-badge::before{content:'';width:6px;height:6px;border-radius:50%}
.ds-badge.livre{background:rgba(59,149,85,.12);border-color:rgba(59,149,85,.4);color:#26673C}.ds-badge.livre::before{background:#3B9555}
.ds-badge.ocupado{background:rgba(38,103,60,.12);border-color:rgba(38,103,60,.4);color:#193220}.ds-badge.ocupado::before{background:#26673C}
.ds-badge.manutencao{background:rgba(181,118,57,.12);border-color:rgba(181,118,57,.4);color:#8A5A2B}.ds-badge.manutencao::before{background:#B57639}
.ds-badge.aguardando{background:rgba(230,156,58,.12);border-color:rgba(230,156,58,.4);color:#A66D22}.ds-badge.aguardando::before{background:#E69C3A}
.ds-badge.urgente{background:rgba(201,48,45,.12);border-color:rgba(201,48,45,.4);color:#9E2220}.ds-badge.urgente::before{background:#C9302D}
body[data-theme="dark"] .ds-badge.livre{color:#5BC27A}body[data-theme="dark"] .ds-badge.ocupado{color:#89B559}
body[data-theme="dark"] .ds-badge.manutencao{color:#D49A62}body[data-theme="dark"] .ds-badge.aguardando{color:#F0B866}
body[data-theme="dark"] .ds-badge.urgente{color:#E86A68}

/* Mockups */
.mockup-browser{margin:32px 0 12px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#2F3639}
body[data-theme="light"] .mockup-browser{background:#E0E0DC}
.mockup-browser-bar{height:32px;display:flex;align-items:center;gap:8px;padding:0 16px}
.mockup-dot{width:10px;height:10px;border-radius:50%}
.mockup-dot.red{background:#FF5F57}.mockup-dot.yellow{background:#FEBC2E}.mockup-dot.green{background:#28C840}
.mockup-browser-screen{position:relative;line-height:0;background:#FBFBF4;overflow:hidden}
.mockup-browser-screen img{position:static!important;transform:none!important;margin:0!important;width:100%;height:auto!important;display:block}
.mockup-phone-wrapper{display:flex;justify-content:center;margin:48px 0 24px}
.mockup-phone{width:320px;max-width:100%;background:#111;border-radius:44px;padding:12px;box-shadow:0 30px 60px rgba(0,0,0,.25),inset 0 0 0 2px #333;position:relative}
body[data-theme="light"] .mockup-phone{box-shadow:0 30px 60px rgba(29,36,39,.18),inset 0 0 0 2px #444}
.mockup-phone-notch{position:absolute;top:12px;left:50%;transform:translateX(-50%);width:110px;height:28px;background:#111;border-radius:20px;z-index:2}
.mockup-phone-screen{background:#fff;border-radius:34px;overflow:hidden;line-height:0}
.mockup-phone-screen img{width:100%;height:auto;display:block}

/* PNG shots padronizados */
.shot{margin:32px 0 12px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--line);line-height:0}
.shot img{width:100%;height:auto;display:block}
.shot--studio{background:#F4F3EF;border-color:transparent}
.shot--studio img{background:#F4F3EF}
.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:48px 0 12px}
.shot-grid .shot{margin:0;border-radius:20px;border-color:transparent;box-shadow:0 24px 48px rgba(0,0,0,.12)}
body[data-theme="dark"] .shot-grid .shot{box-shadow:0 24px 48px rgba(0,0,0,.35)}
.shot-grid--2{grid-template-columns:1fr 1fr;max-width:760px;margin-inline:auto}
@media(max-width:700px){.shot-grid,.shot-grid--2{grid-template-columns:1fr;max-width:320px;margin-inline:auto}}

/* Next case nav */
.case-nav{border-top:1px solid var(--line)}
.case-nav-inner{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:56px 0}
.case-nav .label,.case-nav .section-label{display:block;margin-bottom:12px}
.case-nav-title{font-size:clamp(24px,3.5vw,40px);letter-spacing:-.02em;transition:color .3s ease}
.case-nav a:hover .case-nav-title{color:var(--accent)}
.case-nav-arrow{font-size:32px;color:var(--accent);transition:transform .3s cubic-bezier(.25,.8,.25,1);flex-shrink:0}
.case-nav a:hover .case-nav-arrow{transform:translateX(8px)}
.case-nav-all{font-size:13px;color:var(--ink-muted);white-space:nowrap;transition:color .25s ease}
.case-nav-all:hover{color:var(--accent)}
@media(max-width:640px){.case-nav-inner{flex-direction:column;align-items:flex-start;gap:24px}}