/* Homepage and selected project stories. */
.project-preview{margin:0;min-width:0}.browser-preview{display:block;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 24px 60px -32px #07162d70;transition:transform .25s,border-color .25s}.browser-top{display:flex;align-items:center;gap:6px;min-height:36px;padding:0 15px;border-bottom:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:11px}.browser-top i{width:6px;height:6px;border-radius:50%;background:var(--muted);opacity:.45}.browser-top span{margin-left:10px}.browser-preview img{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:top}.preview-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;font-size:14px;color:var(--muted)}.preview-caption strong{display:block;color:var(--ink);font-size:18px}.preview-caption .button{min-height:44px;padding:10px 16px;white-space:nowrap}
html[data-theme] .hero.hero-branded.hero-selected{display:block;min-height:0;padding:clamp(48px,6vw,88px) 0;background:var(--surface);color:var(--ink);overflow:visible}.hero-selected::before{display:none}.hero-selected .hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(32px,5vw,70px);align-items:center;width:min(1180px,100% - var(--gutter)*2)}.hero-selected .hero-copy{width:100%;max-width:none}html[data-theme] .hero-selected h1{color:var(--ink);font-style:normal;font-size:clamp(36px,3.6vw,55px);line-height:1.12}html[data-theme] .hero-selected h1 em{color:var(--blue);font-style:normal}html[data-theme] .hero-selected .eyebrow{color:var(--muted);font-size:11px;letter-spacing:.12em}html[data-theme] .hero-selected .lead{color:var(--muted);font-size:17px;line-height:1.75;max-width:34rem}html[data-theme] .hero-selected .hero-note{color:var(--muted);border-color:var(--line);font-size:13px;margin-top:24px;padding-top:18px;max-width:34rem}.hero-selected .typing-heading{min-height:3.36em}.hero-selected .hero-actions{gap:12px;margin-top:28px;flex-direction:row;align-items:center}html[data-theme] .hero-selected .hero-actions .primary{background:var(--action);color:#fff;border-color:var(--action)}html[data-theme] .hero-selected .hero-actions .primary:hover{background:var(--action-hover);color:#fff}html[data-theme] .hero-selected .hero-actions .secondary{background:transparent;color:var(--ink);border-color:var(--line)}html[data-theme] .hero-selected .hero-actions .secondary:hover{background:var(--soft);color:var(--ink)}.hero-selected .hero-actions .button{min-height:50px;padding:13px 20px;border-radius:999px;font-size:14px}.hero-selected .project-preview{animation:project-arrive .7s ease-out both}.hero-selected .project-preview:hover .browser-preview{transform:translateY(-3px);border-color:var(--blue)}
.selected-work-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 12px 28px -24px #07162d70;display:flex;flex-direction:column}.selected-work-card .work-media{display:block;padding:0;aspect-ratio:1.65;border-radius:0;box-shadow:none;background:var(--soft)}.selected-work-card .work-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .4s ease}.selected-work-card:hover .work-media img{transform:scale(1.025)}.selected-work-body{padding:26px;display:flex;flex-direction:column;flex:1}.selected-work-body .work-tag{margin:0;color:var(--blue);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.selected-work-body h3{margin:10px 0;font-size:25px;font-style:normal;line-height:1.2}.selected-work-body>p:not(.work-tag){color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:22px}.selected-work-body .button{align-self:flex-start;margin-top:auto;min-height:46px;padding:10px 18px;border-radius:999px;font-size:14px}.selected-work-note{max-width:44rem;color:var(--muted);margin-bottom:32px;font-size:15px;line-height:1.75}
.project-story-hero{padding:48px 0 64px}.project-story-hero h1{margin:24px 0 16px;font-size:clamp(36px,5vw,64px);line-height:1.1;letter-spacing:-.04em}.project-story-hero .lead{max-width:43rem;font-size:20px}.project-meta{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 30px}.project-meta span{border:1px solid var(--line);border-radius:999px;padding:7px 13px;color:var(--muted);font-size:12px}.project-shot{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 50px -35px #07162d70}.project-story-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:64px}.project-story-grid h2{font-style:normal;font-size:30px}.project-story-grid h3{margin:30px 0 14px;font-size:21px}.project-story-grid p,.project-story-grid li{color:var(--muted);font-size:17px;line-height:1.8}.project-story-grid ul{padding-left:22px}.project-story-grid li+li{margin-top:8px}.project-story-credit{border-left:3px solid var(--blue);padding:18px 22px;background:var(--soft);margin-top:30px}.project-services{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
html[data-brand-intro=play] .brand-intro{background:#fff;animation:welcome-close 2.8s ease forwards}.brand-intro-art{animation:welcome-arrive 1s cubic-bezier(.2,.7,.2,1) both,intro-breathe .7s ease-in-out 1.2s 2}.intro-blue{animation:intro-colour 1.15s cubic-bezier(.4,0,.2,1) .15s forwards}.intro-shine{animation:intro-light .6s ease 1.5s both}@keyframes welcome-close{0%,78%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes welcome-arrive{from{opacity:0;transform:translateY(10px) scale(.94);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes project-arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.hero-selected .hero-grid{grid-template-columns:minmax(0,1fr);gap:36px}.hero-selected .hero-copy{max-width:43rem}.hero-selected .project-preview{width:100%;max-width:700px}.hero-selected .typing-heading{min-height:2.4em}}
@media(max-width:760px){.hero-selected .hero-grid{width:calc(100% - 40px)}.hero-selected .typing-heading{min-height:3.36em}.hero-selected .hero-actions{flex-direction:column;align-items:stretch}.hero-selected .hero-actions .button{justify-content:center}.hero-selected .preview-caption{align-items:flex-start}.hero-selected .preview-caption .button{font-size:12px;padding:9px 12px}.hero-selected .lead{font-size:16px}.selected-work-body{padding:22px}.project-story-grid{grid-template-columns:minmax(0,1fr);gap:28px}.project-story-hero{padding:30px 0 40px}.project-story-hero .lead{font-size:18px}.project-meta{gap:8px}.project-story-grid p,.project-story-grid li{font-size:16px}}
@media(max-width:380px){.hero-selected .typing-heading{min-height:4.48em}.preview-caption{flex-direction:column}.hero-selected .eyebrow{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-selected .project-preview,.brand-intro-art,.intro-blue,.intro-shine{animation:none}.browser-preview,.selected-work-card img{transition:none}.hero-selected .project-preview:hover .browser-preview,.selected-work-card:hover .work-media img{transform:none}html[data-brand-intro=play] .brand-intro{display:none}}

/* Keep project previews intact and make the original capture available. */
.browser-preview img,.selected-work-card .work-media img{height:auto;aspect-ratio:auto;object-fit:contain;transform:none}.selected-work-card .work-media{aspect-ratio:auto}.selected-work-card:hover .work-media img{transform:none}.screenshot-link{display:block;border-radius:18px;outline-offset:6px}.screenshot-link:focus-visible{outline:3px solid var(--blue)}.screenshot-hint{margin:12px 0 0;color:var(--muted);font-size:14px}.screenshot-hint a{color:var(--blue);text-decoration:underline;text-underline-offset:3px}
/* A short brand reveal followed by a quiet page entrance. */
html[data-brand-intro=play] .brand-intro{background:radial-gradient(ellipse at center,#f1f5ff 0%,#fff 70%);animation:welcome-close 2.6s cubic-bezier(.4,0,.2,1) forwards}.brand-intro-art{animation:welcome-arrive .65s cubic-bezier(.2,.7,.2,1) both,welcome-pulse .75s ease-in-out 1.05s 1}.intro-blue{animation:intro-colour .95s cubic-bezier(.4,0,.2,1) .2s forwards}.intro-shine{animation:intro-light .6s ease 1.2s both}html[data-brand-intro=play] .hero-selected .hero-copy,html[data-brand-intro=play] .hero-selected .project-preview{animation:welcome-content .65s cubic-bezier(.2,.7,.2,1) 1.95s both}@keyframes welcome-close{0%,74%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}@keyframes welcome-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes welcome-content{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){html[data-brand-intro=play] .brand-intro{display:none}html[data-brand-intro=play] .hero-selected .hero-copy,html[data-brand-intro=play] .hero-selected .project-preview{animation:none}}

/* Same restrained movement as the other portfolio cards, including keyboard focus. */
.selected-work-card{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.selected-work-card:focus-within{border-color:var(--blue)}
@media(hover:hover) and (pointer:fine){.selected-work-card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 18px 40px -25px #07162d70}.selected-work-card:hover .work-media img{transform:translateY(-6px) scale(1.03)}}
@media(prefers-reduced-motion:reduce){.selected-work-card{transition:none}.selected-work-card:hover,.selected-work-card:hover .work-media img{transform:none}}
