/* finesse · component: inline video deck · original yellow/violet identity */
:root{--deck-shadow:rgba(43,25,76,.19);--deck-overlay:rgba(25,18,43,.82);--deck-w:286px;--deck-ease:cubic-bezier(.2,.78,.23,1)}
.home-deck-page .home-main{width:min(1380px,calc(100% - 80px));padding-top:38px}
.home-deck-page .header-inner{width:min(1380px,calc(100% - 80px))}
.home-deck-page .welcome{grid-template-columns:minmax(0,.76fr) minmax(0,1.5fr);gap:20px;align-items:start;padding-bottom:34px}
.hero-copy{padding-top:104px}.home-deck-page .welcome h1{font-size:clamp(31px,3.1vw,46px);letter-spacing:-.055em}.home-deck-page .welcome-actions{flex-wrap:wrap}
.case-deck{min-width:0;position:relative;isolation:isolate;--deck-w:286px}
.deck-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:8px 22px 0;font-size:12px;color:var(--muted)}.deck-heading>span:first-child{font-weight:700;color:var(--ink)}.deck-heading>span:last-child{font-size:11px;white-space:nowrap}.deck-heading i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--action);margin-right:5px}
.deck-stage{position:relative;height:470px;perspective:1200px;transition:height .55s var(--deck-ease);isolation:isolate}
.case-deck[data-state=focused] .deck-stage{height:calc(var(--deck-w) * 16 / 9 + 220px)}
.deck-card{position:absolute;width:var(--deck-w);left:50%;top:54px;transform:translateX(-50%) translate3d(calc(var(--x,0px) + var(--follow-x,0px)),calc(var(--y,0px) + var(--lift,0px)),0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(calc(var(--r,0deg) + var(--turn,0deg))) scale(calc(var(--s,.74) * var(--hover-scale,1)));transform-origin:50% 0;transition:transform .65s var(--deck-ease),opacity .4s;z-index:var(--z,1);will-change:transform}
.case-deck.is-pointing .deck-card{transition:transform .25s cubic-bezier(.2,.75,.25,1),opacity .3s}
.case-deck[data-state=browse] .deck-card.is-hovered{z-index:9}
.case-deck[data-state=browse].is-pointing .deck-card:not(.is-hovered){opacity:.65}
.deck-card.is-hovered .deck-front{box-shadow:0 28px 48px -12px var(--deck-shadow),0 0 0 3px var(--yellow)}
.deck-play{transition:transform .22s,background .22s}
.deck-card.is-hovered .deck-play{transform:rotate(-12deg) scale(1.08);background:var(--yellow)}
.deck-flipper{position:relative;width:100%;aspect-ratio:9/16;transform-style:preserve-3d}
.deck-back,.deck-front{position:absolute;inset:0;backface-visibility:hidden;border-radius:17px}
.deck-front{box-shadow:0 20px 40px -12px var(--deck-shadow),0 0 0 3px var(--surface);overflow:hidden;background:var(--ink)}
.deck-back{display:flex;flex-direction:column;justify-content:space-between;padding:25px;transform:rotateY(180deg);background:var(--action);color:var(--on-dark);border:3px solid var(--yellow);font-size:12px;letter-spacing:.08em;box-shadow:0 15px 40px var(--deck-shadow)}.deck-back b{font-size:100px;line-height:1;color:var(--yellow)}
.deck-card:nth-child(even) .deck-back{background:var(--yellow);color:var(--ink);border-color:var(--action)}.deck-card:nth-child(even) .deck-back b{color:var(--action)}
.deck-media{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:var(--ink)}
.deck-preview,.deck-full{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--ink)}.deck-preview{object-fit:cover;pointer-events:none;transition:opacity .18s}.deck-full{z-index:2}
.deck-open{position:absolute;inset:0;z-index:3;color:var(--on-dark);background:linear-gradient(transparent 56%,var(--deck-overlay));border-radius:inherit;text-decoration:none}
.deck-play{position:absolute;right:14px;top:14px;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--yellow);color:var(--ink);font-size:22px;box-shadow:0 4px 12px var(--deck-shadow)}
.deck-caption{position:absolute;bottom:20px;left:19px;right:16px;display:grid;gap:4px}.deck-caption strong{font-size:23px;line-height:1.4;color:var(--on-dark)}.deck-caption>span{font-size:12px;color:var(--on-dark)}.deck-caption i{font-style:normal}
.deck-card.is-active{z-index:10}.deck-card.is-active .deck-front{box-shadow:0 25px 60px -18px var(--deck-shadow),0 0 0 3px var(--yellow)}
.deck-card:has(.deck-open:focus-visible){z-index:20}
.case-deck[data-state=focused] .deck-card:not(.is-active){opacity:.55}.case-deck[data-state=focused] .deck-card:not(.is-active) .deck-media{filter:blur(1.6px);transition:filter .4s}
.deck-detail{margin-top:19px;color:var(--ink)}.deck-product{display:flex;justify-content:center;align-items:center;gap:10px;text-align:center}.deck-detail-label{font-size:10px;letter-spacing:.08em;color:var(--muted)}.deck-product h2{font-size:20px;line-height:1.5;margin:3px 0 0}.deck-product h2 small{display:block;font-size:12px;color:var(--muted);font-weight:400;margin-top:3px}
.deck-detail-bottom{display:flex;justify-content:center;align-items:center;margin-top:12px;border-top:1px solid var(--line);padding-top:14px;gap:10px}.deck-process{display:inline-flex;justify-content:center;min-width:148px;min-height:44px;padding:10px 22px;align-items:center;gap:14px;font-size:14px;font-weight:700;line-height:1.5;background:var(--yellow);color:var(--ink);border:1px solid var(--cover-line);border-radius:10px;box-shadow:0 2px 0 var(--cover-line);text-decoration:none;transition:background .18s,transform .18s}.deck-process:active{transform:translateY(1px);box-shadow:none}.deck-detail-bottom>span{font-size:11px;color:var(--muted)}
.deck-status{font-size:12px;line-height:1.6;color:var(--muted);margin:0;min-height:0}.deck-status:empty{display:none}.deck-fallback{font-size:12px;min-height:44px;align-items:center;display:flex}
.deck-navigation{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;position:relative;z-index:11;padding:0 8px}.deck-navigation button{border:0;background:transparent;color:var(--muted);padding:5px 2px;min-height:44px;font-size:12px;cursor:pointer;position:relative;white-space:nowrap}.deck-navigation button span{font-size:10px;opacity:.6;margin-right:5px}.deck-navigation button[aria-pressed=true]{color:var(--action);font-weight:700}.deck-navigation button[aria-pressed=true]::after{content:"";position:absolute;bottom:2px;left:0;right:0;height:3px;background:var(--yellow)}
.home-deck-page .deck-hint{font-size:11px;text-align:center;margin:7px 0 0;max-width:none;color:var(--muted)}
.deck-open:focus-visible{outline:4px solid var(--yellow);outline-offset:-7px}.deck-full:focus-visible,.deck-navigation button:focus-visible,.deck-process:focus-visible{outline:3px solid var(--action);outline-offset:4px;transition:none}
.case-deck [hidden]{display:none!important}
.deck-navigation button:active{background:var(--yellow-soft)}
@media(hover:hover){.deck-open:hover .deck-play{background:var(--surface)}.deck-process:hover{background:var(--yellow-hover,var(--yellow));color:var(--ink);text-decoration:none}.deck-navigation button:hover{color:var(--action)}}
@keyframes deck-reveal{0%{opacity:0;transform:translateX(-50%) translate(0,85px) rotate(-18deg) scale(.66)}12%{opacity:1}100%{opacity:1;transform:translateX(-50%) translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--s))}}
@keyframes deck-turn{0%,25%{transform:rotateY(180deg)}100%{transform:rotateY(0deg)}}
@keyframes deck-details{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){.case-deck.is-dealing .deck-card{animation:deck-reveal 1.15s var(--deck-ease) both;animation-delay:calc(var(--n)*.14s)}.case-deck.is-dealing .deck-flipper{animation:deck-turn 1.1s var(--deck-ease) both;animation-delay:calc(var(--n)*.14s + .18s)}.deck-card.is-active .deck-detail{animation:deck-details .35s .2s both}}
@media(max-width:1150px) and (min-width:769px){.home-deck-page .home-main{width:calc(100% - 48px)}.home-deck-page .welcome{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:12px}.case-deck{--deck-w:260px}.hero-copy{padding-top:96px}.home-deck-page .welcome h1{font-size:34px}.deck-heading{padding-inline:10px}.deck-navigation{gap:8px}.deck-navigation button{font-size:11px}.deck-stage{height:440px}}
@media(max-width:768px){.home-deck-page .home-main{width:calc(100% - 36px);padding-top:32px}.home-deck-page .welcome{grid-template-columns:1fr;gap:22px}.hero-copy{padding-top:0}.home-deck-page .welcome h1{font-size:clamp(30px,7.7vw,44px)}.case-deck{--deck-w:250px;max-width:620px;width:100%;margin:auto}.deck-stage{height:430px;touch-action:pan-y}.deck-card{top:32px}.case-deck[data-state=focused] .deck-stage{height:calc(var(--deck-w) * 16 / 9 + 170px)}.deck-heading{padding-inline:0}.deck-navigation{gap:11px;padding:0}.deck-navigation button{font-size:11px}.deck-caption strong{font-size:23px}.deck-detail{margin-top:16px}}
@media(max-width:360px){.case-deck{--deck-w:226px}.deck-stage{height:400px}.deck-navigation{gap:8px}.deck-navigation button{font-size:10px}.deck-navigation button span{display:none}.deck-heading{font-size:11px}}
@media(max-width:768px){.home-deck-page .header-inner{width:calc(100% - 36px)}.case-deck[data-state=focused] .deck-stage{height:calc(var(--deck-w) * 16 / 9 + 190px)}}
@media(prefers-reduced-motion:reduce){.deck-card,.deck-stage,.deck-preview{transition:none!important}.deck-flipper{transform:none!important}.deck-card{will-change:auto}}
.process-main{padding-block:32px 64px}.process-layout{display:grid;grid-template-columns:1fr minmax(260px,380px);gap:70px;margin-top:30px;align-items:start}.process-layout h1{margin:14px 0}.process-category{color:var(--muted);font-size:14px}.process-pending{margin-top:40px;border-top:1px solid var(--line);padding-top:28px}.process-pending h2{margin-top:20px}.process-pending p{color:var(--muted);font-size:15px;max-width:480px}.process-video{width:100%;max-height:72dvh;aspect-ratio:9/16;object-fit:contain;background:var(--ink);border-radius:16px}
@media(max-width:768px){.process-layout{grid-template-columns:1fr;gap:25px;margin-top:20px}.process-layout h1{font-size:34px}.process-pending{margin-top:22px}.process-video{max-width:380px;justify-self:center}}
@media print{.case-deck{display:none}}
/* Card titles carry the labels; mobile dots provide a quiet switching control. */
.deck-navigation{display:none}
/* Preserve both halves of landscape comparison videos. */
.deck-card[data-format=landscape] .deck-preview{object-fit:contain;background:var(--ink)}
.deck-card[data-format=landscape].is-active{width:var(--focused-width)}
.deck-card[data-format=landscape].is-active .deck-flipper{aspect-ratio:16/9}
.case-deck[data-state=focused][data-format=landscape] .deck-stage{height:calc(var(--focused-media-height) + 240px)}
@media(max-width:768px){.deck-navigation{display:flex;justify-content:center;gap:4px;margin-top:8px}.deck-navigation button{width:44px;height:44px;min-width:44px;padding:0;display:grid;place-items:center;border:0;background:transparent}.deck-navigation button::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--muted);opacity:.35;transition:width .2s,opacity .2s}.deck-navigation button[aria-pressed="true"]::after{width:22px;border-radius:6px;background:var(--action);opacity:1}.deck-navigation button:focus-visible{outline:2px solid var(--action);outline-offset:0;border-radius:8px}}
/* Homepage content: useful detail at reading size, existing yellow/violet identity. */
.home-deck-page .hero-copy-enriched{padding-top:68px;padding-right:12px}.hero-copy-enriched>p{font-size:18px;line-height:1.85;color:var(--ink);margin-top:24px;max-width:440px}.hero-learning>p{font-size:16px;line-height:1.95;max-width:430px;margin:12px 0 24px;color:var(--muted)}.learning-sequence{display:flex;list-style:none;margin:0 0 28px;padding:20px 0;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:430px}.learning-sequence li{display:flex;align-items:center;gap:9px;flex:1;white-space:nowrap}.learning-sequence li+li{border-left:1px solid var(--line);padding-left:15px}.learning-sequence span{color:var(--action);font-size:14px;font-weight:700}.learning-sequence strong{font-size:16px;font-weight:600}.hero-copy-enriched .welcome-actions{gap:20px}.hero-copy-enriched .welcome-actions .text-link{font-size:15px}.course-enriched .course-description{padding:36px 40px}.course-enriched .course-description>p{font-size:16px;margin:10px 0 20px}.chapter-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin-bottom:6px}.chapter-links>a{display:flex;gap:10px;align-items:center;min-height:55px;border-bottom:1px solid var(--line);color:var(--ink);font-size:16px;transition:color .18s,background .18s}.chapter-index{color:var(--action);font-size:14px;font-weight:700}.chapter-arrow{margin-left:auto;color:var(--muted)}.chapter-links>a:hover{color:var(--action);background:var(--soft);text-decoration:none}.chapter-links>a:hover .chapter-arrow{color:var(--action)}.course-enriched .course-cover{padding:40px;justify-content:center;gap:26px}.course-enriched .cover-title{position:relative;z-index:1;font-size:30px}.cover-intro{position:relative;z-index:1;font-size:17px;line-height:1.9;max-width:330px;margin:0;padding-top:24px;border-top:1px solid var(--cover-line);color:var(--ink)}.course-enriched .cover-number{top:18px;right:0;font-size:190px}.course-enriched .course-entry{margin-top:22px}
@media(min-width:769px) and (max-width:1150px){.home-deck-page .hero-copy-enriched{padding-top:50px}.learning-sequence li{gap:5px}.learning-sequence li+li{padding-left:7px}.learning-sequence strong{font-size:14px}.course-enriched .course-description{padding:28px}.chapter-links{column-gap:16px}.chapter-links>a{font-size:15px}.course-enriched .course-cover{padding:30px}.course-enriched .cover-title{font-size:27px}}
@media(max-width:768px){.home-deck-page .hero-copy-enriched{padding:0}.hero-copy-enriched>p{font-size:18px;margin-top:20px}.hero-learning>p{max-width:100%}.learning-sequence{max-width:100%;margin-bottom:24px}.learning-sequence li+li{padding-left:12px}.learning-sequence strong{font-size:15px}.hero-copy-enriched .welcome-actions{gap:14px}.course-enriched .course-cover{padding:30px;min-height:290px;gap:18px}.course-enriched .cover-title{font-size:27px}.cover-intro{font-size:16px;padding-top:18px}.course-enriched .course-description{padding:26px 22px}.course-enriched .course-description h3{font-size:23px}.chapter-links{column-gap:16px}.chapter-links>a{font-size:15px;gap:7px;min-height:60px}.chapter-arrow{display:none}}
@media(max-width:360px){.learning-sequence li{gap:5px}.learning-sequence li+li{padding-left:8px}.learning-sequence strong{font-size:14px}.chapter-links{grid-template-columns:1fr}.chapter-arrow{display:inline}.chapter-links>a{min-height:52px}}
.course-enriched .chapter-links{width:100%}
/* Center the two course calls to action within their own content areas. */
.course-enriched .course-description>.course-entry,.topic-tile>.course-entry{align-self:center;margin-inline:auto}

/* Keep course titles and actions on consistent rows, including on hover. */
.topic-grid>.topic-tile{min-height:230px;justify-content:flex-start;gap:0}
.topic-grid>.topic-tile h3{margin:0;line-height:1.5}
.topic-grid>.topic-tile p{line-height:1.8;min-height:3.6em;margin:12px 0 20px}
.topic-grid>.topic-tile>.course-entry{margin-top:auto;align-self:center}
.topic-grid>.topic-tile>.pending-label{margin-top:auto;min-height:50px;display:flex;align-items:center}
html[data-motion="on"] .topic-grid>a.topic-tile:hover,
html[data-motion="on"] .topic-grid>a.topic-tile:active{transform:none}
