/* iBrandVoice inner pages: service, cases hub, case studies. Loads after base.css */
.chead{border-bottom:1px solid var(--line);background:radial-gradient(ellipse 60% 80% at 85% 30%,#efe6d8 0%,rgba(239,230,216,0) 70%),var(--bg)}
.chead-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;align-items:center;padding-top:60px;padding-bottom:68px}
.chead.solo .chead-grid{grid-template-columns:minmax(0,1fr)}
.crumb{font-size:12.5px;color:var(--sub);margin-bottom:22px}
.crumb a{color:var(--sub);text-decoration:none}
.crumb a:hover{text-decoration:underline}
.chead h1{font-size:clamp(42px,4.4vw,64px);line-height:1.03;margin-bottom:22px}
.chead h1 em{display:block}
.chead .lead{font-size:18px;color:var(--sub);max-width:33em}
.chead .lead+.lead{margin-top:12px}
.chead .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.chead figure{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 30px 60px -32px rgba(60,40,20,.35)}
.chead figure img{width:auto;max-width:100%;height:auto;margin:0 auto}
.chead figcaption{font-size:12px;color:var(--muted);padding:10px 14px;border-top:1px solid var(--line)}
.meta-line{font-size:12.5px;color:var(--sub);margin-top:18px}
.meta-line a{color:var(--sub)}

.sec{padding:76px 0}
.sec.tight{padding:56px 0}
.sec h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3.1vw,42px);line-height:1.08;letter-spacing:-.01em;margin-bottom:12px}
.sec h2 em{font-style:italic;color:var(--acc)}
.sec h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.18;margin-bottom:8px}
.sec .intro{font-size:17px;color:var(--sub);max-width:38em;margin-bottom:30px}
.sec p.body{font-size:16.5px;color:var(--sub);max-width:40em;margin-bottom:14px}
.sec p.body a,.sec li a,.note a{color:var(--acc-ink)}
.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}

/* metric strip */
.strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.strip.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.metric{background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px 18px 16px}
.metric b{font-family:var(--serif);font-weight:500;font-size:clamp(30px,3vw,40px);line-height:1;display:block;color:var(--acc)}
.metric b.ink{color:var(--ink)}
.metric span{display:block;margin-top:9px;font-size:13.5px;line-height:1.42;color:var(--sub)}
.metric a{display:inline-block;margin-top:10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-ink);text-decoration:none}
.metric a:hover{text-decoration:underline}
.caption{margin-top:12px;font-size:12px;color:var(--muted)}

/* simple lists */
.ticks{list-style:none;display:grid;gap:0;border-top:1px solid var(--line);max-width:46em}
.ticks li{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}
.ticks li::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--acc);margin-top:8px}
.ticks li b{font-weight:600}
.ticks li span{color:var(--sub)}
.order{list-style:none;counter-reset:o;display:grid;border-top:1px solid var(--line)}
.order li{counter-increment:o;display:grid;grid-template-columns:40px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}
.order li::before{content:counter(o,decimal-leading-zero);font-family:var(--serif);color:var(--acc)}
.order li span{display:block;color:var(--sub);font-size:15px;margin-top:2px}

/* two columns */
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.two.wide-left{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}

/* format cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px 22px 22px;display:flex;flex-direction:column}
.card.hl{border-color:var(--acc);box-shadow:0 24px 50px -34px rgba(166,63,31,.55)}
.card .tag{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--acc-ink);margin-bottom:10px}
.card h3{margin-bottom:10px}
.card p{font-size:15px;color:var(--sub);line-height:1.55}
.card dl{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:14px}
.card dt{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.card dd{color:var(--ink)}
.card .go{margin-top:auto;padding-top:18px}

/* dark band */
.dark{background:var(--dark);color:#fff}
.dark h2{color:#fff}
.dark h2 em{color:var(--acc-soft)}
.dark .intro,.dark p.body{color:var(--on-dark)}
.dark .metric{background:var(--dark-2);border-color:var(--line-dark)}
.dark .metric b{color:var(--acc-soft)}
.dark .metric b.ink{color:#fff}
.dark .metric span{color:var(--on-dark)}
.dark .metric a{color:var(--acc-soft)}
.dark .caption{color:#a39a8f}
.dark .ticks{border-color:var(--line-dark)}
.dark .ticks li{border-color:var(--line-dark);color:#fff}
.dark .ticks li span{color:var(--on-dark)}
.dark a{color:var(--acc-soft)}

/* sample report thumbs */
.pages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.pages a{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 20px 40px -30px rgba(60,40,20,.45);transition:transform .15s}
.pages a:hover{transform:translateY(-3px)}
.pages img{width:100%;height:auto}

/* screenshots */
.shots{display:grid;gap:22px}
.shot{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.shot .img{padding:14px;background:#fff;display:flex;justify-content:center}
.shot img{height:auto}
.shot figcaption{border-top:1px solid var(--line);padding:12px 16px;font-size:14px;line-height:1.5;color:var(--sub);background:var(--paper)}
.shot figcaption b{color:var(--ink);font-weight:600}
.shot figcaption small{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.shots.pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.shots.trio{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}

/* role box */
.role{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:8px;padding:24px 26px}
.role h2{font-size:clamp(26px,2.4vw,32px)!important}
.role ul{list-style:none;display:grid;gap:8px;margin-top:14px}
.role li{display:grid;grid-template-columns:22px 1fr;gap:6px;font-size:15.5px;line-height:1.45}
.role li::before{content:"✓";color:var(--acc);font-weight:600}
.role p{font-size:14.5px;color:var(--sub);margin-top:14px}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);border-radius:8px;background:#fff}
.facts div{padding:16px 18px;border-bottom:1px solid var(--line)}
.facts div:nth-child(odd){border-right:1px solid var(--line)}
.facts div:nth-last-child(-n+2){border-bottom:0}
.facts dt{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.facts dd{font-size:15px;line-height:1.5}

/* limits */
.limits p{font-size:15.5px;color:var(--sub);margin-bottom:12px;max-width:40em}

/* faq */
.faq-list{border-top:1px solid var(--line);max-width:52em}
.faq-list .qa{border-bottom:1px solid var(--line);padding:18px 0 16px}
.faq-list h3{font-family:var(--serif);font-weight:500;font-size:21px;line-height:1.25;margin-bottom:8px}
.faq-list .a{font-size:16px;color:var(--sub);max-width:46em}
.faq-list .a p+p{margin-top:10px}
.faq-list .a a{color:var(--acc-ink)}

/* hub cards */
.hub{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.case-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:18px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.case-card:hover{border-color:var(--acc);box-shadow:0 24px 50px -36px rgba(166,63,31,.6)}
.case-card .thumb{background:#f6f3ee;border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:1/1}
.case-card .thumb img{width:100%;height:100%;object-fit:contain}
.case-card .tag{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.case-card h3{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.15;margin:8px 0}
.case-card .big{font-family:var(--serif);font-size:30px;line-height:1;color:var(--acc);margin:4px 0 8px}
.case-card p{font-size:14.5px;color:var(--sub);line-height:1.5}
.case-card .role-tag{display:inline-block;margin-top:10px;font-size:12px;color:var(--sub);background:var(--sand);border-radius:20px;padding:4px 10px}
.case-card .more{display:block;margin-top:10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-ink)}
.case-card.feature{grid-column:1/-1;grid-template-columns:260px minmax(0,1fr)}
.note{font-size:13.5px;color:var(--muted);margin-top:16px;max-width:52em}

/* next / cta */
.next-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.next-links a{display:block;border:1px solid var(--line);border-radius:8px;padding:16px 18px;text-decoration:none;background:#fff}
.next-links a small{display:block;font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.next-links a b{font-family:var(--serif);font-weight:500;font-size:19px;line-height:1.2}
.next-links a:hover{border-color:var(--acc)}
.cta{background:var(--sand);border-top:1px solid var(--line)}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{margin:0}
.cta p{font-size:16px;color:var(--sub);margin-top:8px;max-width:34em}
.cta .ctas{display:flex;gap:12px;flex-wrap:wrap}
.links-foot{display:flex;gap:18px;flex-wrap:wrap}

@media (max-width:1180px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .strip.four{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .chead-grid{grid-template-columns:minmax(0,1fr);padding-top:42px;padding-bottom:52px;gap:30px}
  .chead figure{max-width:520px}
  .two,.two.wide-left{grid-template-columns:minmax(0,1fr);gap:36px}
  .hub{grid-template-columns:minmax(0,1fr)}
  .case-card.feature{grid-template-columns:150px minmax(0,1fr)}
  .shots.trio{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:600px){
  header.top .btn{display:inline-flex;padding:9px 11px;font-size:10px;letter-spacing:.08em;gap:6px}
  header.top .btn .arrow{display:none}
  header.top .logo small{letter-spacing:.1em}
  .chead h1{font-size:40px}
  .chead .lead{font-size:16.5px}
  .chead .ctas .btn{width:100%}
  .sec{padding:56px 0}
  .strip,.strip.four,.cards,.pages,.shots.pair,.next-links{grid-template-columns:minmax(0,1fr)}
  .pages{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .facts{grid-template-columns:minmax(0,1fr)}
  .facts div{border-right:0!important;border-bottom:1px solid var(--line)!important}
  .facts div:last-child{border-bottom:0!important}
  .facts div[aria-hidden]{display:none}
  .facts div:has(+ div[aria-hidden]){border-bottom:0!important}
  .case-card,.case-card.feature{grid-template-columns:minmax(0,1fr)}
  .case-card .thumb{aspect-ratio:auto;max-height:200px}
  .faq-list h3{font-size:19px}
  .cta .ctas .btn{width:100%}
  .shot .img{padding:8px}
}
