
.portfolio-home{max-width:1440px;margin:0 auto;padding:64px 80px 23px}.portfolio-home .ads-nav{margin-bottom:40px}.portfolio-home .ads-nav button{cursor:default}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.home-top{display:grid;grid-template-columns:616fr 624fr;gap:40px;min-width:0}.home-left{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:40px;min-width:0}.home-tile{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #1412181a;border-radius:24px;min-width:0;background:#f1f2f1;color:#878b89}.home-intro{aspect-ratio:616/275;background:#737773;border:0}.home-risk{aspect-ratio:616/275}.home-ai{min-height:0}.home-placeholder{padding:24px;text-align:center;font:400 14px/1.4 'DM Sans',sans-serif;letter-spacing:.02em;color:#858b87}.home-intro>.home-placeholder{color:#ffffff70;transform:translateY(-28px)}.home-intro-caption{position:absolute;left:32px;right:30px;bottom:31px;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:#ffffff33;border:1px solid #ffffff45;border-radius:12px;backdrop-filter:blur(16px);color:#eaffb1}.home-intro-caption p{flex:1;min-width:0;font:400 20px/26px 'DM Sans',sans-serif}.home-intro-caption img{flex:none}.home-lock{position:absolute;right:30px;top:28px;width:60px;height:60px;display:grid;place-items:center;border-radius:100px;background:#f2f2f7cc;border:1px solid #ffffff1a}.home-ai .home-lock{top:30px;right:27px}.home-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:40px}.home-bottom .home-tile{aspect-ratio:400/295}.home-power{background:#e4e9e6}.home-tile:focus-visible{outline:2px solid #004c45;outline-offset:5px}
@media(max-width:1100px){.portfolio-home{padding:48px 40px 40px}.home-top,.home-left,.home-bottom{gap:28px}.home-bottom{margin-top:28px}.home-intro-caption{left:20px;right:20px;bottom:20px;padding:10px 12px}.home-intro-caption p{font-size:16px;line-height:22px}.home-lock{right:20px;top:20px;width:48px;height:48px}.home-ai .home-lock{top:20px;right:20px}}
@media(max-width:700px){.portfolio-home{padding:28px 20px 40px}.portfolio-home .ads-nav{margin-bottom:28px}.portfolio-home .ads-nav a,.portfolio-home .ads-nav button{font-size:14px;line-height:20px;padding:10px 14px}.portfolio-home .ads-nav>div{gap:8px}.home-top{grid-template-columns:1fr;gap:24px}.home-left{gap:24px}.home-intro,.home-risk{aspect-ratio:616/300}.home-ai{aspect-ratio:624/590}.home-bottom{grid-template-columns:1fr;gap:24px;margin-top:24px}.home-tile{border-radius:20px}.home-intro-caption{left:16px;right:16px;bottom:16px;padding:10px 12px}.home-intro-caption p{font-size:15px;line-height:21px}.home-intro-caption img{width:20px;height:20px}.home-placeholder{font-size:13px}.home-intro>.home-placeholder{transform:translateY(-24px)}}

/* One glass title tag is revealed by its own card, without shifting the grid. */
.home-tag{position:absolute;z-index:2;bottom:26px;left:50%;padding:12px 24px;border:1px solid rgba(255,255,255,.55);border-radius:100px;background:rgba(255,255,255,.26);backdrop-filter:blur(18px) saturate(130%);-webkit-backdrop-filter:blur(18px) saturate(130%);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 2px 10px rgba(20,40,36,.04);font:400 20px/26px 'DM Sans',sans-serif;color:#1e1e1e;white-space:nowrap;opacity:0;transform:translate(-50%,8px);pointer-events:none;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1)}
.home-ai .home-tag{bottom:37px}
.home-tile:hover .home-tag,.home-tile:focus-visible .home-tag{opacity:1;transform:translate(-50%,0)}
@media(max-width:1100px){.home-tag{font-size:16px;line-height:22px;padding:10px 18px;bottom:20px}.home-ai .home-tag{bottom:24px}}
@media(hover:none){.home-tag{opacity:1;transform:translate(-50%,0)}}
@media(prefers-reduced-motion:reduce){.home-tag{transition:none;transform:translate(-50%,0)}}

button.home-tile{width:100%;padding:0;appearance:none;font:inherit;cursor:pointer;text-align:inherit}
.project-modal{width:min(960px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:24px;border:1px solid rgba(20,18,24,.06);border-radius:40px;background:#fff;color:#191c1f;overflow:auto;box-shadow:0 24px 80px rgba(0,0,0,.16);overscroll-behavior:contain}
.project-modal::backdrop{background:rgba(0,0,0,.23);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
body:has(.project-modal[open]){overflow:hidden}
.project-modal[open]{animation:modal-enter .24s ease-out}
.project-modal-close{position:sticky;top:0;float:right;margin:0 0 -52px;z-index:3;width:52px;height:52px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.48);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 1px 0 #fff9,0 2px 10px #14121814;color:#111;cursor:pointer;font:300 34px/1 'DM Sans',sans-serif}
.project-modal-close:hover{background:rgba(255,255,255,.7)}.project-modal-close:focus-visible{outline:2px solid #004c45;outline-offset:3px}
.project-modal-media{position:relative;width:100%;border-radius:24px;overflow:hidden;background:#f1f2f1;display:grid;place-items:center;aspect-ratio:2/1;clear:none;color:#858b87;font-size:14px}
.project-modal[data-project="power"] .project-modal-media{aspect-ratio:382/284;background:#e4e9e6}
.project-modal[data-project="docv"] .project-modal-media{aspect-ratio:385/145;background:#f7f7f7}
.project-modal-media img,.project-modal-media video{display:block;width:100%;height:auto}.project-modal-media.has-media{aspect-ratio:auto!important;background:transparent!important}
.project-modal-copy{padding:24px 16px 12px}.project-modal-copy h2{margin:0 0 10px;font:500 20px/27px 'DM Sans',sans-serif}.project-modal-copy p{margin:0;font:400 16px/24px 'DM Sans',sans-serif;color:#555}
@keyframes modal-enter{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:640px){.project-modal{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:12px;border-radius:24px}.project-modal-media{border-radius:16px}.project-modal-close{width:42px;height:42px;margin-bottom:-42px;font-size:29px}.project-modal-copy{padding:20px 8px 12px}.project-modal-copy h2{font-size:18px;line-height:25px}.project-modal-copy p{font-size:14px;line-height:22px}}
@media(prefers-reduced-motion:reduce){.project-modal[open]{animation:none}}

.power-lottie{width:100%;aspect-ratio:1400/1000;background:#172d2d}.power-lottie svg{display:block;width:100%;height:100%}

.home-power-animation{position:absolute;inset:0;background:#172d2d;pointer-events:none}.home-power-animation svg{display:block;width:100%;height:100%}

.home-power .home-tag{color:#fff}

/* Supplied homepage media fills each existing card without shifting the grid. */
.home-card-media{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.home-intro-caption{z-index:2}.home-lock{z-index:2}
.home-identity,.home-brand{background:#fff}
.home-identity .home-card-media,.home-brand .home-card-media{object-fit:contain;padding:24px}

/* Frosted glass lock badges remain translucent over animated thumbnails. */
.home-lock{background:rgba(255,255,255,.22);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);border:1px solid rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.75),inset 0 -1px 0 rgba(255,255,255,.12),0 3px 12px rgba(20,40,36,.07)}

.home-intro-caption:focus-visible{outline:2px solid #eaffb1;outline-offset:4px}.home-intro-caption:hover{background:#ffffff45}

.home-more{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:40px}.home-more .home-tile{aspect-ratio:620/295;background:#fff}.home-more button{cursor:pointer}.home-more .home-tag{border-color:#e1e2e4;background:rgba(248,248,250,.45)}@media(max-width:1100px){.home-more{gap:28px;margin-top:28px}}@media(max-width:700px){.home-more{grid-template-columns:1fr;gap:24px;margin-top:24px}.home-more .home-tile{aspect-ratio:400/240}}

.home-now-learning .home-card-media{object-position:left center}

.home-more [data-project="hedgehog"] .home-card-media{object-fit:contain;padding:24px;background:#fff}
