/* Estilos exclusivos do case Grimório. */
.grimorio-case { --grimorio-ink:#292426; --grimorio-muted:#70666b; --grimorio-pink:#e58ab2; --grimorio-pink-dark:#a94673; --grimorio-soft:#fcf5f8; background:#fff; color:var(--grimorio-ink); text-align:left; }
.grimorio-case * { box-sizing:border-box; }
.grimorio-case img { display:block; max-width:100%; height:auto; }
.grimorio-case #fh5co-logo img { display:inline-block; }
.grimorio-case .grimorio-container { width:min(1120px,calc(100% - 48px)); margin-inline:auto; }
.grimorio-case main h1,.grimorio-case main h2 { color:var(--grimorio-ink); font-family:'Roboto Slab',Georgia,serif; font-weight:400; text-align:left; text-wrap:balance; }
.grimorio-case main h1 { margin:18px 0 22px; font-size:clamp(50px,8vw,92px); line-height:1; letter-spacing:-.05em; }
.grimorio-case main h2 { margin:0 0 28px; font-size:clamp(34px,4.5vw,54px); line-height:1.13; letter-spacing:-.03em; }
.grimorio-case main p { color:var(--grimorio-muted); font-size:17px; line-height:1.8; text-align:left; }
.grimorio-case main a { color:var(--grimorio-pink-dark); }
.grimorio-case main a:hover { color:#74284b; }
.grimorio-case main a:focus-visible { outline:3px solid var(--grimorio-pink-dark); outline-offset:5px; }
.grimorio-case .grimorio-eyebrow { margin:0 0 20px; color:var(--grimorio-pink-dark); font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.grimorio-case .grimorio-intro { padding:50px 0 58px; }
.grimorio-case .grimorio-back { display:inline-block; margin-bottom:42px; font-size:13px; }
.grimorio-case .grimorio-deck { max-width:760px; margin:0; font-size:clamp(20px,2.4vw,26px); line-height:1.55; }
.grimorio-case .grimorio-hero { margin:0; min-height:500px; display:grid; place-items:center; overflow:hidden; background:#f7f6f6; }
.grimorio-case .grimorio-hero img { width:min(100%,1120px); }
.grimorio-case .grimorio-section { padding-block:100px; scroll-margin-top:24px; }
.grimorio-case .grimorio-soft { background:var(--grimorio-soft); }
.grimorio-case .grimorio-copy { max-width:720px; }
.grimorio-case .grimorio-opening { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr); gap:80px; align-items:center; }
.grimorio-case blockquote { margin:40px 0 0; padding:0 0 0 24px; border-left:3px solid var(--grimorio-pink); color:var(--grimorio-ink); font-family:'Roboto Slab',Georgia,serif; font-size:clamp(24px,3vw,35px); line-height:1.45; font-weight:300; }
.grimorio-case .grimorio-opening blockquote { margin:0; }
.grimorio-case figure { margin:0; min-width:0; }
.grimorio-case figcaption { margin-top:12px; color:var(--grimorio-muted); font-size:13px; line-height:1.6; }
.grimorio-case .grimorio-sketches { display:grid; grid-template-columns:1.35fr .65fr; gap:28px; margin-top:46px; align-items:end; }
.grimorio-case .grimorio-sketches figure { padding:12px; background:#fff; border:1px solid #eedee5; }
.grimorio-case .grimorio-sketches img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#f2f0ed; }
.grimorio-case .grimorio-sketches figure:last-child img { aspect-ratio:1/1; }
.grimorio-case .grimorio-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.9fr); gap:72px; align-items:center; }
.grimorio-case .grimorio-study { padding:clamp(24px,4vw,48px); background:#efe2ca; }
.grimorio-case .grimorio-study img { width:100%; }
.grimorio-case .grimorio-ink { background:#252225; color:#fff; }
.grimorio-case .grimorio-ink h2,.grimorio-case .grimorio-ink p { color:#fff; }
.grimorio-case .grimorio-ink p { opacity:.76; }
.grimorio-case .grimorio-ink .grimorio-eyebrow { color:#f0a4c5; opacity:1; }
.grimorio-case .grimorio-logos { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:50px; }
.grimorio-case .grimorio-logos figure { min-height:500px; display:flex; flex-direction:column; justify-content:center; align-items:center; padding:50px; }
.grimorio-case .grimorio-logos img { width:auto; max-height:440px; }
.grimorio-case .grimorio-logos figcaption { align-self:flex-start; }
.grimorio-case .grimorio-logo-light { background:#b85f88; }
.grimorio-case .grimorio-logo-pink { background:#fff8fb; }
.grimorio-case .grimorio-logo-light figcaption { color:#fff; opacity:.78; }
.grimorio-case .grimorio-split--wide-copy { grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); }
.grimorio-case .grimorio-pull { margin:0; }
.grimorio-case .grimorio-application { max-width:850px; margin:48px auto 0; }
.grimorio-case .grimorio-application img { width:100%; }
.grimorio-case .grimorio-process { background:#f1c3d8; }
.grimorio-case .grimorio-process .grimorio-eyebrow { color:#7e3155; }
.grimorio-case .grimorio-process p { color:#4f4148; }
.grimorio-case .grimorio-timeline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:52px 0 0; padding:0; list-style:none; }
.grimorio-case .grimorio-timeline li { min-width:0; }
.grimorio-case .grimorio-timeline span { display:flex; min-height:52px; align-items:center; gap:10px; color:#5f2842; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.grimorio-case .grimorio-timeline li:not(:last-child) span::after { content:'→'; margin-left:auto; font-size:18px; }
.grimorio-case .grimorio-timeline img { width:100%; aspect-ratio:1/1; object-fit:contain; background:#fff; }
.grimorio-case .grimorio-timeline-refinement>div { display:grid; grid-template-columns:1fr 1fr; gap:3px; background:#fff; }
.grimorio-case .grimorio-result { background:#fff9fb; }
.grimorio-case .grimorio-result-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:80px; align-items:start; }
.grimorio-case .grimorio-facts { margin:0; border-top:1px solid #ddc0ce; }
.grimorio-case .grimorio-facts div { padding:20px 0; border-bottom:1px solid #ddc0ce; }
.grimorio-case .grimorio-facts dt { margin-bottom:7px; color:var(--grimorio-pink-dark); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.grimorio-case .grimorio-facts dd { margin:0; color:#54484e; font-size:15px; line-height:1.6; }
.grimorio-case .grimorio-end { display:flex; justify-content:space-between; gap:24px; padding:28px 0 52px; border-top:1px solid #ecdde4; font-size:14px; }
.grimorio-case .grimorio-skip { position:fixed; top:8px; left:8px; z-index:100; padding:12px; background:#fff; transform:translateY(-160%); }
.grimorio-case .grimorio-skip:focus { transform:none; }
@media (max-width:900px) {
  .grimorio-case .grimorio-opening,.grimorio-case .grimorio-split,.grimorio-case .grimorio-split--wide-copy,.grimorio-case .grimorio-result-grid { grid-template-columns:1fr; gap:42px; }
  .grimorio-case .grimorio-opening blockquote { margin-top:0; }
  .grimorio-case .grimorio-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .grimorio-case .grimorio-timeline li:nth-child(2) span::after { content:none; }
}
@media (max-width:640px) {
  .grimorio-case .grimorio-container { width:calc(100% - 36px); }
  .grimorio-case .grimorio-intro { padding:28px 0 42px; }
  .grimorio-case .grimorio-back { margin-bottom:30px; }
  .grimorio-case .grimorio-hero { min-height:0; }
  .grimorio-case .grimorio-section { padding-block:60px; }
  .grimorio-case .grimorio-sketches,.grimorio-case .grimorio-logos,.grimorio-case .grimorio-timeline { grid-template-columns:1fr; }
  .grimorio-case .grimorio-sketches { align-items:stretch; }
  .grimorio-case .grimorio-sketches figure:last-child img { aspect-ratio:4/3; }
  .grimorio-case .grimorio-logos figure { min-height:390px; padding:34px; }
  .grimorio-case .grimorio-logos img { max-height:320px; }
  .grimorio-case .grimorio-timeline span { min-height:42px; }
  .grimorio-case .grimorio-timeline li:not(:last-child) span::after { content:'↓'; }
  .grimorio-case .grimorio-timeline img { aspect-ratio:4/3; }
  .grimorio-case .grimorio-timeline-refinement>div { grid-template-columns:1fr 1fr; }
  .grimorio-case .grimorio-end { flex-direction:column; }
}
