/* Project spotlight: one deliberate visual, visitor-controlled navigation. */
.dd-home #recent-work { scroll-margin-top:2rem; }
.dd-home .dd-spotlight { --spot-paper:oklch(94% .013 165);--spot-dark:oklch(18% .018 185); }
.dd-home .dd-spot-panel { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:clamp(2rem,4.5vw,4.5rem);align-items:stretch;margin:0 0 2.5rem; }
.dd-home .dd-spotlight.is-enhanced .dd-spot-panel { margin:0; }
.dd-home .dd-spot-panel[hidden] { display:none; }
.dd-home .dd-spot-visual { position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:510px;margin:0;padding:2.5rem 2rem 4rem;overflow:hidden;background:var(--spot-paper);border-radius:6px; }
.dd-home .dd-spot-visual img { display:block;max-width:100%; }
.dd-home .dd-spot-visual-locum img { width:auto;height:415px;border-radius:16px;box-shadow:0 14px 35px oklch(25% .02 170 / .14); }
.dd-home .dd-spot-visual-pascal { background:oklch(24% .026 65); }
.dd-home .dd-spot-visual-pascal img { width:100%;height:auto;border-radius:3px;box-shadow:0 14px 35px oklch(10% .01 65 / .3); }
.dd-home .dd-spot-visual figcaption { position:absolute;bottom:1.1rem;left:1.5rem;right:1.5rem;color:oklch(39% .02 180);font-size:.72rem;line-height:1.5;text-align:center; }
.dd-home .dd-spot-visual-pascal figcaption { color:oklch(85% .02 65); }
.dd-home .dd-spot-copy { display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:1.5rem 0; }
.dd-home .dd-spot-copy > .dd-eyebrow { color:var(--dd-cyan-400);margin:0 0 1rem; }
.dd-home .dd-spot-copy h3 { font-size:clamp(2rem,3.8vw,3.65rem);font-weight:600;line-height:1.07;letter-spacing:-.045em;margin:0 0 1.5rem; }
.dd-home .dd-spot-headline { font-size:clamp(1.15rem,1.5vw,1.4rem);line-height:1.45;max-width:29ch;margin:0 0 .9rem;color:var(--dd-paper-100); }
.dd-home .dd-spot-description { max-width:39ch;font-size:1rem;line-height:1.7;color:var(--dd-paper-300);margin:0; }
.dd-home .dd-spot-link { display:inline-flex;gap:1.7rem;align-items:center;min-height:44px;margin-top:1.5rem;color:var(--dd-cyan-400);font-size:.95rem;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px; }
.dd-home .dd-spot-link span { font-size:1.3rem;transition:transform 180ms cubic-bezier(.22,1,.36,1); }
.dd-home .dd-spot-link:hover span { transform:translate(2px,-2px); }
.dd-home .dd-spot-page { margin:2rem 0 0;color:var(--dd-paper-100);font-size:.85rem;font-variant-numeric:tabular-nums; }
.dd-home .dd-spot-page span { color:var(--dd-paper-300); }
.dd-home .dd-spot-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid var(--dd-ink-800);margin-top:1.5rem; }
.dd-home .dd-spot-choice { display:flex;align-items:center;gap:.8rem;text-align:left;padding:1.25rem .6rem;min-height:64px;border:0;border-top:2px solid var(--dd-ink-800);background:transparent;color:var(--dd-paper-300);font:inherit;font-size:.95rem;line-height:1.4;text-decoration:none;cursor:pointer;transition:color 180ms ease-out,background 180ms ease-out; }
.dd-home .dd-spot-choice > span { color:var(--dd-paper-300);font-size:.7rem;font-variant-numeric:tabular-nums; }
.dd-home .dd-spot-choice[aria-pressed="true"] { color:var(--dd-paper-100);border-top-color:var(--dd-cyan-400);background:oklch(20% .015 185); }
.dd-home .dd-spot-choice:hover { color:var(--dd-cyan-400); }
.dd-home .dd-spot-choice:focus-visible,.dd-home .dd-spot-link:focus-visible { outline:2px solid var(--dd-cyan-400);outline-offset:3px; }
.dd-home .dd-spot-status { position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap; }
/* These diagrams describe the projects and deliberately do not mimic a live dashboard. */
.dd-home .dd-spot-diagram { width:100%;max-width:380px;color:var(--spot-dark);text-align:center; }
.dd-home .dd-spot-diagram-label { display:block;margin-bottom:2rem;font-size:.75rem;letter-spacing:.04em;color:oklch(40% .02 180); }
.dd-home .dd-spot-core { display:flex;flex-direction:column;align-items:center;border:1px solid oklch(73% .025 180);border-radius:8px;padding:1.5rem;background:oklch(97% .008 165); }
.dd-home .dd-spot-core > span { font-size:.85rem; }
.dd-home .dd-spot-core strong { font-size:3.2rem;font-weight:600;letter-spacing:-.05em;margin:.5rem 0;line-height:1.1; }
.dd-home .dd-spot-core small { font-size:.85rem; }
.dd-home .dd-spot-connector { display:block;font-size:2rem;padding:.6rem;line-height:1; }
.dd-home .dd-spot-foundations { display:flex;gap:1rem; }
.dd-home .dd-spot-foundations > span { flex:1;border:1px solid oklch(73% .025 180);border-radius:6px;padding:.9rem .5rem;font-size:.95rem;background:oklch(97% .008 165); }
.dd-home .dd-spot-tag { position:relative;width:125px;height:160px;border:2px solid oklch(45% .06 180);border-radius:16px;margin:0 auto 2rem;display:grid;place-items:center;transform:rotate(-6deg);background:oklch(97% .008 165); }
.dd-home .dd-spot-tag > span { font-family:system-ui,sans-serif;font-size:2.8rem;letter-spacing:.06em;font-weight:300;transform:rotate(180deg); }
.dd-home .dd-spot-tag i { position:absolute;bottom:13px;width:10px;height:10px;border:1px solid oklch(45% .06 180);border-radius:50%; }
.dd-home .dd-spot-nfc-flow { display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:.85rem; }
.dd-home .dd-spot-nfc-flow b { font-weight:400;color:oklch(45% .06 180); }
@media(max-width:800px) {
 .dd-home .dd-spot-panel { grid-template-columns:1fr;gap:1.75rem; }
 .dd-home .dd-spot-visual { min-height:400px;padding:2rem 1.25rem 3.5rem; }
 .dd-home .dd-spot-visual-locum img { height:320px; }
 .dd-home .dd-spot-copy { padding:0;min-height:300px;justify-content:flex-start; }
 .dd-home .dd-spot-copy h3 { margin-bottom:1rem; }
 .dd-home .dd-spot-copy .dd-eyebrow { margin-bottom:.7rem; }
 .dd-home .dd-spot-page { margin-top:1.1rem; }
 .dd-home .dd-spot-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dd-home .dd-spot-choice { font-size:.85rem;padding:1rem .5rem;min-height:60px; }
 .dd-home .dd-spot-headline,.dd-home .dd-spot-description { max-width:50ch; }
}
@media(prefers-reduced-motion:reduce) {
 .dd-home .dd-spot-choice,.dd-home .dd-spot-link span { transition:none; }
 .dd-home .dd-spot-link:hover span { transform:none; }
}
@media(max-width:800px) {
 .dd-home .dd-spotlight { display:flex;flex-direction:column; }
 .dd-home .dd-spot-nav { order:-1;margin:0 0 1.5rem; }
}
/* Cinematic curtain reveal, with motion confined to the project visual. */
.dd-home .dd-spot-panels { position:relative; }
.dd-home .dd-spot-visual > img,.dd-home .dd-spot-visual > .dd-spot-diagram {
 transform:perspective(1100px) rotateX(var(--spot-rx,0deg)) rotateY(var(--spot-ry,0deg));
 transition:transform 350ms cubic-bezier(.22,1,.36,1);
 transform-origin:center;
}
.dd-home .dd-spot-outgoing { position:absolute;z-index:2;top:0;left:0;pointer-events:none;overflow:hidden;border-radius:6px; }
.dd-home .dd-spot-outgoing .dd-spot-visual { width:100%;height:100%;min-height:0;box-sizing:border-box; }
.dd-home .dd-spot-tools { display:flex;justify-content:flex-end;margin:-.75rem 0 .75rem; }
.dd-home .dd-spot-replay { min-height:44px;padding:.5rem 0 .5rem 1rem;border:0;background:transparent;color:var(--dd-cyan-400);font:inherit;font-size:.82rem;cursor:pointer; }
.dd-home .dd-spot-replay[hidden] { display:none; }
.dd-home .dd-spot-replay:focus-visible { outline:2px solid var(--dd-cyan-400);outline-offset:4px; }
@media(prefers-reduced-motion:reduce) {
 .dd-home .dd-spot-visual > img,.dd-home .dd-spot-visual > .dd-spot-diagram { transform:none!important;transition:none; }
 .dd-home .dd-spot-outgoing { display:none; }
}
