/* Polish pass: type rendering, reading width, alignment, contrast, touch targets.
   Loaded last on every page. Nothing here changes the typeface, content or layout. */

/* type rendering */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-kerning:normal}
h1,h2,h3{text-wrap:balance}
p,li,figcaption,small,dd{text-wrap:pretty}

/* skip link, visible only on keyboard focus */
.skip{position:fixed;left:16px;top:-72px;z-index:200;padding:12px 16px;border-radius:8px;background:var(--ink,#111);color:#fff;font:700 15px/1 var(--display,Manrope,Arial,sans-serif);text-decoration:none;transition:top .15s}
.skip:focus{top:16px}

/* reading width: body copy stops at 70 characters */
.cs-body p,.cs-body small,.cs-body figcaption,.cs-overview p,.cx-in>p,.br-text p,.cs-team figcaption{max-width:70ch}
.cs-body .lead{max-width:70ch}

/* one left edge: top bar, hero, work, about and footer share the case-study grid */
:root{--edge:max(var(--pad),calc((100% - 1240px)/2))}
.hello{padding-left:var(--edge);padding-right:var(--edge)}
.topbar{padding-left:var(--edge);padding-right:var(--edge)}
.intro{padding-left:0}
#about .wrap,footer .wrap{max-width:none;padding-left:var(--edge);padding-right:var(--edge)}
.hello h1{letter-spacing:-.04em}
.eyebrow{text-transform:none;letter-spacing:0;font-size:clamp(14px,1.1vw,16px);color:#565B66}
.about>.tools{padding-top:24px}

/* case-study facts line up with the title above them */
.cs-facts{padding-left:0}

/* no frosted glass: solid surfaces instead */
.mosaic span{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}
.play .ph-soon{-webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(255,255,255,.92)}

/* labels read as sentences, not tracked caps */
.ut-k{text-transform:none;letter-spacing:0;color:var(--muted,#5E6368)}
.dd-go{text-transform:none;letter-spacing:0;font-size:clamp(14px,1.3cqw,18px)}

/* minimum text size 12px */
.avs figcaption{font-size:max(12px,min(1.1cqw,14px))}
@container page (max-width:679px){
  .pill a{font-size:max(12px,min(3.2vw,14px));padding-top:16px;padding-bottom:16px}
}

/* contrast */
.gate-nda{color:#5E6368}
.gate-card button{background:#2F5FD6;box-shadow:0 2px 6px rgba(47,95,214,.3)}
.gate-card button:hover{background:#2850BC}
.dd-loop li:nth-child(3){color:var(--ink)}

/* touch targets of 44px on tablets and phones */
.mark{padding:12px 0;margin:-12px 0}
@media (max-width:1024px),(pointer:coarse){
  .cs-more a{line-height:44px}
  .rs-btn,.zm button{min-height:44px}
  .zm button{width:44px;height:44px}
}

.ci-team li{font-size:clamp(12px,1.35cqw,16px)}
.pn-btn{width:max(44px,3.6cqw);height:max(44px,3.6cqw)}

/* Deloitte card in the case-study grid: white logo tile with the same "In progress" hover as before */
.pcard.soon:hover .pimg img{transform:none}
.pcard.soon .soon-tag{background:rgba(255,255,255,.92);color:var(--ink)}

/* Golf Rewards card in side projects: not clickable, shows "Uploading..." like the other in-progress cards */
@media (max-width:699px){.play li.uploading>span::after{content:" \00B7  Uploading..."}}

/* section marker: the short rule over Overview and each section title, in the page's accent */
.cs-rule{display:block;width:40px;height:5px;margin:0 0 16px;border-radius:3px;background:var(--mark,var(--pillhover,var(--ink)))}
.cs-overview .cs-rule+h2,.cs-overview .sp-rule+h2{margin-top:0}
body[data-page="drone"] .cs-body section.ex-sec{border-top:0}
