/* Portfolio revision — a typographic cover, a compact index and project-led colour. */
.home-page .home-hero{width:min(100% - 88px,1300px);min-height:0;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.7fr);grid-template-areas:"copy photo" "index index";gap:28px clamp(48px,6vw,108px);align-items:stretch;padding:45px 0 0}
.home-page .home-hero::before{inset:-72px -6vw 0;background:radial-gradient(ellipse at 87% 12%,rgba(248,233,161,.32),transparent 42%),radial-gradient(ellipse at 23% 85%,rgba(198,225,232,.2),transparent 45%)}
.home-page .hero-main{grid-area:copy;min-height:570px;padding:0;display:flex;flex-direction:column}
.hero-topline{border:0;padding:0;color:#617681;font-size:10px;letter-spacing:.15em}
.hero-identity{padding:clamp(62px,8vw,110px) 0 26px}
.home-page .hero-main h1{font-size:clamp(76px,7.8vw,126px);line-height:.9;letter-spacing:-.09em;margin:21px 0 31px}
.home-page .hero-main h1 em{font-size:1.05em;letter-spacing:-.07em}
.home-page .hero-main h1,.home-page .portrait-wrap{animation:none!important;opacity:1!important;transform:none!important}
.home-page .hero-main .hero-role{font-size:clamp(25px,2.55vw,36px);line-height:1.16;letter-spacing:-.055em;max-width:650px}
.home-page .hero-main .hero-summary{font-size:16px;line-height:1.58;max-width:510px;margin-top:20px}
.hero-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:20px 34px;margin-top:42px}
.hero-work-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font:650 14px 'DM Sans',sans-serif}
.hero-ctas-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:#fff;font:400 23px 'DM Sans',sans-serif;transition:transform .25s,background .25s}
.hero-work-link:hover .hero-ctas-icon{transform:translate(3px,3px);background:var(--signal)}
.hero-ctas .hero-cv-link{margin:0;color:#3e5965;font-size:13px}
.home-page .portrait-wrap{grid-area:photo;max-width:none;align-self:start;justify-self:stretch;display:block;margin:7px 0 0}
.portrait-stage{position:relative;isolation:isolate;padding:8px;border:1px solid #cad7dc;background:rgba(255,255,255,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.home-page .portrait{display:block;width:100%;height:555px;min-height:0;aspect-ratio:auto;object-fit:cover;object-position:center 56%;border-radius:0}
.portrait-stamp{position:absolute;left:22px;bottom:22px;padding:10px 13px;border:1px solid rgba(255,255,255,.65);background:rgba(248,250,250,.78);color:var(--ink);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:650 11px 'DM Sans',sans-serif;letter-spacing:.04em}
.portrait-stamp b{color:var(--signal);padding-inline:3px}
.home-page .portrait-wrap figcaption{margin:9px 0 0;border:0;padding:0;color:#637884;font-size:10px}
.home-page .hero-directory{grid-area:index;display:grid;grid-template-columns:minmax(150px,.85fr) repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;border-top:1px solid #9eb2bc;border-bottom:1px solid #9eb2bc}
.hero-directory-label{grid-column:auto;display:flex;align-items:center;padding:20px 20px 20px 0;margin:0;color:#5b737e;font:700 10px 'Space Grotesk',sans-serif;letter-spacing:.12em;text-transform:uppercase}
.hero-directory a,.hero-directory a:nth-last-child(-n+2){display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:17px 13px;border:0;border-left:1px solid #c8d6dc;line-height:1.2;font-size:12px;transition:background .22s,color .22s}
.hero-directory a b{color:#8da0a8}.hero-directory a i{color:var(--signal);font-size:16px}
.hero-directory a:hover,.hero-directory a:focus-visible{padding-left:13px;background:#eef4f5;color:var(--ink)}
.home-page .work-section{padding-top:96px}
.home-page .work-intro{grid-template-columns:1fr .75fr;padding-bottom:78px}
.home-page .work-group-heading{display:flex;gap:20px;align-items:baseline;margin-bottom:30px}
.home-page .work-group-number{flex:0 0 33px;margin:0;color:var(--signal)}
.home-page .work-group-heading h3{font-size:clamp(34px,4.25vw,56px)}
.home-page .work-group-heading p{font-size:14px;margin-top:8px}
.home-page .work-group-cards,.home-page #creative-code .work-group-cards{gap:64px 32px}
.home-page .work-section .work-card-art,.home-page #product-ux .work-card:nth-child(3) .work-card-art,.home-page #creative-code .work-card-art{aspect-ratio:1.44;border:1px solid #d3dfe3;border-radius:6px}
.home-page .work-section .work-card-art img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.home-page .work-section .work-card:hover .work-card-art img{transform:scale(1.025)}
.home-page #product-ux .work-card[href$="spinex.html"] .work-card-art img{transform:none}
.home-page .work-card[href$="commi.html"] .work-card-art{background:#f0ebf3}
.home-page .work-card[href$="pocketchina.html"] .work-card-art{background:#1d2927}
.home-page .work-card[href$="ommihub.html"] .work-card-art{background:#f2ede8}
.home-page .work-card[href$="squadsizzle.html"] .work-card-art{background:#313a41}
.home-page .work-card[href$="exe.html"] .work-card-art{background:#071e28}
.home-page .work-card[href$="green-justice.html"] .work-card-art{background:#dce9dd}
.home-page .work-card[href$="ice-fire.html"] .work-card-art{background:#e5e9e9}
.home-page .work-section .card-index{top:16px;left:16px;min-width:31px;height:31px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.8);background:rgba(248,250,250,.82);backdrop-filter:blur(12px);font-size:10px}
.home-page .work-section .work-card-title{margin-top:10px}
.home-page .work-section .work-card-title>span{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid #b7c9d0;border-radius:50%;font-size:20px;line-height:1;transition:transform .25s,background .25s,color .25s}
.home-page .work-section .work-card:hover .work-card-title>span{background:var(--ink);color:#fff;transform:rotate(45deg)}
.home-page .work-section .work-card-info .eyebrow{letter-spacing:.08em}
.home-page .work-section .work-card-info p{max-width:46ch;font-size:15px}
.home-page #product-ux .work-card:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center;padding:22px;border:1px solid #d3dfe3;border-radius:6px;background:#f2f7f9}
.home-page #product-ux .work-card:nth-child(3) .work-card-art{height:300px;aspect-ratio:auto;border:0;background:#e3edf1;padding:15px}
.home-page #product-ux .work-card:nth-child(3) .work-card-info{padding:18px 20px 18px 0}
.home-page #product-ux .work-card:nth-child(3) .work-card-title h3{font-size:clamp(38px,4.1vw,59px)}
.home-page #product-ux .work-card:nth-child(3) .work-card-info p{font-size:16px;max-width:36ch}
.home-page #creative-code .work-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:36px;align-items:center;padding:22px;border:1px solid #d3dfe3;border-radius:6px;background:#eff5f6}
.home-page #creative-code .work-card-art{height:300px;aspect-ratio:auto}
.home-page #creative-code .work-card-info{padding:18px 20px 18px 0}
.home-page #creative-code .work-card-title h3{font-size:clamp(38px,4.1vw,59px)}
.footer-email{min-width:0;gap:18px;padding:0;margin:0;border:0;background:none;backdrop-filter:none;color:#fff;white-space:nowrap}
.footer-email:hover{background:none}
.footer-email-text{font:650 15px 'DM Sans',sans-serif;border-bottom:1px solid rgba(255,255,255,.75);padding-bottom:4px}
.footer-email .round-arrow{width:64px;height:64px;display:grid;place-items:center;flex:none;border:1px solid rgba(255,255,255,.65);border-radius:50%;background:rgba(255,255,255,.12);font:400 26px 'DM Sans',sans-serif;transition:background .25s,color .25s,transform .25s}
.footer-email:hover .round-arrow{background:#f8e9a1;color:var(--ink);transform:rotate(45deg)}
.footer-backtop{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;text-decoration:none;font-size:20px;transition:background .2s,color .2s}
.footer-backtop:hover{background:#fff;color:var(--ink)}
.footer-bottom{grid-template-columns:1fr auto auto 1fr}
.footer-copyright{justify-self:end}
@media(max-width:1050px){.home-page .home-hero{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);column-gap:32px}.home-page .hero-main{min-height:520px}.home-page .hero-main h1{font-size:clamp(64px,7vw,86px)}.home-page .portrait{height:500px}.hero-directory a{font-size:11px;padding-inline:9px}.hero-directory a:hover{padding-left:9px}}
@media(max-width:720px){.home-page .home-hero{width:min(100% - 36px,1300px);display:grid;grid-template-columns:1fr;grid-template-areas:"copy" "photo" "index";row-gap:29px;padding:27px 0 0}.home-page .hero-main{min-height:0}.hero-topline{font-size:9px}.hero-identity{padding:55px 0 0}.home-page .hero-main h1{font-size:clamp(62px,14vw,88px);margin:19px 0 20px}.home-page .hero-main .hero-role{font-size:clamp(24px,6.2vw,31px)}.home-page .hero-main .hero-summary{font-size:14px;margin-top:13px}.hero-ctas{margin-top:26px;gap:20px}.hero-ctas-icon{width:44px;height:44px}.home-page .portrait-wrap{width:min(100%,540px);max-width:none;margin:0;justify-self:start}.home-page .portrait{height:auto;min-height:0;aspect-ratio:1.2;object-position:center 48%}.portrait-stage{padding:6px}.portrait-stamp{left:17px;bottom:17px}.home-page .hero-directory{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-bottom:0}.hero-directory-label{grid-column:1/-1;padding:16px 0 12px}.hero-directory a,.hero-directory a:nth-last-child(-n+2){border-top:1px solid #c8d6dc;border-left:0;padding:14px 9px;font-size:11px}.hero-directory a:nth-of-type(even){border-left:1px solid #c8d6dc}.home-page .work-section{padding-top:65px}.home-page .work-intro{padding-bottom:48px}.home-page .work-group-heading{gap:9px;align-items:flex-start;margin-bottom:22px}.home-page .work-group-number{flex-basis:33px;padding-top:5px}.home-page .work-group-cards,.home-page #creative-code .work-group-cards{gap:39px}.home-page #product-ux .work-card:nth-child(3),.home-page #creative-code .work-card{display:block;padding:12px}.home-page #product-ux .work-card:nth-child(3) .work-card-art,.home-page #creative-code .work-card-art{height:auto;aspect-ratio:1.44;padding:0}.home-page #product-ux .work-card:nth-child(3) .work-card-info,.home-page #creative-code .work-card-info{padding:18px 4px 4px}.home-page #product-ux .work-card:nth-child(3) .work-card-title h3,.home-page #creative-code .work-card-title h3{font-size:36px}.home-page .work-section .work-card-title>span{width:36px;height:36px;font-size:18px}.footer-email .round-arrow{width:55px;height:55px}.footer-bottom{display:flex;flex-wrap:wrap}.footer-backtop{margin-left:auto}.footer-copyright{margin-left:0}.footer-details{order:4}}
@media(max-width:410px){.home-page .hero-main h1{font-size:clamp(57px,14vw,66px)}.hero-directory a{gap:6px}.hero-directory a i{font-size:13px}.home-page .work-group-heading h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){.hero-ctas-icon,.home-page .work-section .work-card-title>span,.footer-email .round-arrow{transition:none}}

/* Align both visual/spatial covers and let the brand manual read at card scale. */
.home-page #visual-spatial .work-card-art{aspect-ratio:1.72;background:#075039}
.home-page #visual-spatial .work-card-art img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-page #visual-spatial .work-card[href$="green-justice.html"] .work-card-art img{transform:none}
.home-page #visual-spatial .work-card[href$="green-justice.html"]:hover .work-card-art img{transform:scale(1.01)}

/* Solid circular right chevron, matched to the supplied icon reference. */
.home-page .work-section .work-card-title>.card-chevron{width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:50%;background:#003049;color:white;transition:background .2s ease,transform .2s ease}
.home-page .work-section .work-card-title>.card-chevron svg{width:22px;height:22px;display:block}
.home-page .work-section .work-card:hover .work-card-title>.card-chevron{background:#d62828;transform:translateX(3px)}
@media(max-width:720px){.home-page .work-section .work-card-title>.card-chevron{width:39px;height:39px}.home-page .work-section .work-card-title>.card-chevron svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.home-page .work-section .work-card-title>.card-chevron{transition:none}}
