/* Shared project visual system. Accent values are set per project by the builder. */
.case-page.project-polish{--ink:#f4f3ef;--muted:#b4b7bc;--line:#ffffff20;--section-background:#17191c;--project-light:color-mix(in srgb,rgb(var(--project-accent)) 45%,white);--project-soft:color-mix(in srgb,rgb(var(--project-accent)) 65%,white);--blue:var(--project-soft);background:#101114;color:var(--ink)}
.project-polish .case-hero{background:radial-gradient(ellipse 65% 85% at var(--glow-x,50%) 0%,rgba(var(--project-accent),.2),transparent 78%)}
.project-polish .case-hero:after{display:none}
.project-polish .case-hero:before{display:block;top:-95px;left:0;right:0;height:560px;filter:blur(48px);background:radial-gradient(ellipse at 30% 32%,rgba(var(--project-accent),.8),transparent 60%),radial-gradient(ellipse at 74% 22%,rgba(var(--project-accent),.6),transparent 56%);mask-image:radial-gradient(ellipse at 50% 30%,#000 25%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 25%,transparent 76%);animation:project-light-drift 10s ease-in-out infinite}
@keyframes project-light-drift{0%,100%{transform:translate3d(-4%,-2%,0) scale(.98);opacity:.6}50%{transform:translate3d(4%,5%,0) scale(1.08);opacity:.85}}
.project-polish .case-cover{animation:none}
.project-polish .case-cover h1{--light-x:50%;--light-y:40%;font-size:clamp(44px,6.5vw,88px);font-weight:500;letter-spacing:-.055em;line-height:1.18;padding-bottom:.12em;text-shadow:none;text-wrap:balance;color:#e4edf4;background:radial-gradient(ellipse 42% 180% at var(--light-x) var(--light-y),color-mix(in srgb,var(--project-light) var(--light-strength,18%),#e9ecee) 0%,color-mix(in srgb,var(--project-light) calc(var(--light-strength,18%) * .65),#e9ecee) 38%,#e9ecee 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.project-polish .cover-subtitle{font-size:clamp(18px,2vw,23px);color:var(--project-light);letter-spacing:-.025em}
.project-polish .cover-date{font-size:12px;color:#949ba2;letter-spacing:.02em}
.project-polish .case-cover>h1,.project-polish .case-cover>.cover-subtitle,.project-polish .case-cover>.cover-date{animation:project-header-enter .65s cubic-bezier(.22,1,.36,1) both}
.project-polish .case-cover>.cover-subtitle{animation-delay:90ms}.project-polish .case-cover>.cover-date{animation-delay:180ms}
@keyframes project-header-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.project-polish :is(.cover-label,.section-label,.subsection-label,.decision-number){font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--project-soft)}
.project-polish :is(.section h2,.wishlist-brief h2,.wishlist-case h3,.decision h3){font-size:clamp(28px,3.1vw,41px);line-height:1.12;letter-spacing:-.045em;font-weight:500;text-wrap:balance}
.project-polish :is(.cover-summary p,.section p,.decision p,.wishlist-brief-copy p,.wishlist-responsibilities dd){color:var(--muted);line-height:1.75}
.project-polish :is(.cover-summary p,.decision p){font-size:16px}
.project-polish :is(.large,.cover-summary p:first-child,.wishlist-brief-copy p.large){font-size:clamp(20px,2.1vw,25px);color:#e5e5e2;line-height:1.5;letter-spacing:-.02em}
.project-polish :is(.cover-summary>a,.section-nav a[aria-current],.section-label,.timeline .stage){color:var(--project-soft)}
.project-polish :is(.results-strip strong,.metric-stack strong,.wishlist-highlights dd,.wishlist-usage dd,.sb-scale dd,.sb-outcome-metrics dd,.app-impact dd){color:var(--project-light);font-weight:500;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.project-polish :is(.wishlist-highlights dt,.wishlist-usage dt){color:var(--project-soft)}
.project-polish .wishlist-results{padding:28px 32px;border:1px solid rgba(var(--project-accent),.15);border-radius:6px;background:linear-gradient(110deg,rgba(var(--project-accent),.08),transparent 80%)}
.project-polish .wishlist-results .wishlist-highlights{padding:0;border:0}
.project-polish .wishlist-results .wishlist-cost-note{margin-top:20px}
.project-polish :is(.learning-table,.chart-card,.takeaway,.pd-phase-transition,.sf-placeholder){border-radius:6px;box-shadow:none;border-color:var(--line)}
.project-polish .learning-table{background:transparent}
.project-polish .takeaway{background:linear-gradient(110deg,rgba(var(--project-accent),.08),var(--section-background))}
.project-polish :is(.project-tldr,.mini-detail){border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none}
.project-polish :is(.project-tldr,.mini-detail)>summary{padding:22px 0;color:var(--project-light)}
.project-polish :is(.decision-visual,.evidence-grid img,.evidence-wide img,.wishlist-case figure a){border-radius:6px;border:0;box-shadow:none}
.project-polish .wishlist-case figure a{background:#f4f4f4;overflow:hidden}
.project-polish a[data-native-zoom] img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.project-polish figcaption{color:#aab1b8;font-size:12px;line-height:1.65}
.project-polish .footer-mail{color:#e5e7e7;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:8px}
.project-polish .block-entry.block-visible{animation:project-block-enter .65s cubic-bezier(.2,.7,.2,1) both}
@keyframes project-block-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
.project-polish .project-cta{border-radius:6px;background:var(--section-background);border:1px solid rgba(var(--project-accent),.35);color:var(--project-light);box-shadow:none;transition:background .25s,border-color .25s,transform .25s}
.project-polish .project-cta:before,.project-polish .project-cta:after{display:none}
.project-polish .reading-progress,.project-polish .section-nav a[aria-current]:before{background:rgb(var(--project-accent))}
@media(hover:hover){.project-polish a[data-native-zoom]:hover img{transform:scale(1.012)}.project-polish .project-cta:hover{background:rgba(var(--project-accent),.12);border-color:var(--project-soft);transform:translateY(-1px)}}
@media(hover:none),(pointer:coarse){.project-polish .case-cover h1{background-image:linear-gradient(110deg,#e9ecee 25%,#fff 42%,var(--project-light) 50%,#e9ecee 65%);background-size:200% 100%;background-position:-50% 0}}
@media(max-width:700px){.project-polish .case-cover h1{font-size:44px}.project-polish :is(.section h2,.wishlist-brief h2,.wishlist-case h3,.decision h3){font-size:29px}.project-polish .case-hero:before{top:-60px;height:430px;filter:blur(32px)}.project-polish .wishlist-results{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.project-polish .case-hero:before{animation:none;transform:none;opacity:.7}.project-polish .case-cover h1{background:none;-webkit-text-fill-color:currentColor}.project-polish .case-cover>h1,.project-polish .case-cover>.cover-subtitle,.project-polish .case-cover>.cover-date,.project-polish .block-entry.block-visible{animation:none;opacity:1;translate:none}.project-polish a[data-native-zoom] img,.project-polish .project-cta{transition:none}.project-polish a[data-native-zoom]:hover img{transform:none}}
.project-polish .project-sliding-tabs{position:relative;isolation:isolate}
.project-polish .project-sliding-tabs button{position:relative;z-index:1;transition:color .25s}
.project-polish .project-sliding-tabs button[aria-pressed=true]{background:transparent;box-shadow:none;color:#151719}
.project-tab-indicator{position:absolute;left:0;top:0;background:var(--project-light);border-radius:4px;pointer-events:none;transition:transform .36s cubic-bezier(.22,1,.36,1),width .36s cubic-bezier(.22,1,.36,1)}
@media(prefers-reduced-motion:reduce){.project-tab-indicator{transition:none}}
.project-polish :is(.pd-project-highlights,.results-strip,.app-impact,.sb-outcome-metrics){padding:28px 32px;border:1px solid rgba(var(--project-accent),.15);border-radius:6px;background:linear-gradient(110deg,rgba(var(--project-accent),.08),transparent 80%)}
.project-polish :is(.pd-project-highlights strong,.pd-estate-scale strong,.pd-tree-results strong){color:var(--project-light)}
.project-polish :is(.pd-tree-results,.nike-research-evidence,.sb-mobile-detail){border-radius:6px;box-shadow:none}
@media(max-width:700px){.project-polish :is(.pd-project-highlights,.results-strip,.app-impact,.sb-outcome-metrics){padding:24px 20px}}

/* Display headings are not links; keep selection without an input-like cursor. */
.project-polish :is(.case-cover h1,.cover-subtitle,.cover-date){cursor:default}
.project-polish .case-cover h1 *{cursor:inherit}

/* Takeaway statements read as one sentence, including legacy emphasis markup. */
.project-polish .takeaway p{color:var(--ink)}
.project-polish .takeaway p em{color:inherit}
