.home-direction .section--projects{display:block;position:relative;z-index:5;min-height:100svh;padding:0;background:linear-gradient(180deg,#081427 0,#0b1730 100%);color:#edf6ff;overflow:hidden}
.home-direction .section--projects::before{content:"";position:absolute;left:50%;top:58%;width:max(130vw,900px);height:72%;transform:translate(-50%,-50%);background:radial-gradient(closest-side,#17345fb3,#17345f00);pointer-events:none}
.pj{--cw:clamp(200px,min(21vw,calc((100svh - 300px) / 1.36)),400px);--ch:calc(var(--cw) * 1.36);position:relative;z-index:1;display:flex;flex-direction:column;min-height:100svh;padding:calc(18px + 6.2rem) var(--pad) 2.6rem}

.pj-meta{display:flex;align-items:center;gap:clamp(1rem,2.4vw,2.2rem);opacity:calc(.2 + var(--fan,1) * .8)}
.pj-meta__id{display:grid;gap:.4rem;font:400 var(--hs-mono,.7rem)/1.3 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.pj-meta__id b{font-weight:400;color:#dbe8f8}
.pj-meta__id i{font-style:normal;color:#7f9cc0}
.pj-meta__rule{flex:1;height:1px;background:#8dafd540;transform:scaleX(var(--fan,1));transform-origin:0 50%}
.pj-meta__rule--r{transform-origin:100% 50%}
.pj-meta__mid{margin:0;font-family:var(--serif);font-size:clamp(1.3rem,2vw,2.1rem);font-style:italic;font-weight:400;letter-spacing:.01em;white-space:nowrap;color:#acd4fc}
.pj-meta__count{font:400 var(--hs-mono,.7rem)/1 'Courier New',monospace;letter-spacing:.14em;color:#7f9cc0;white-space:nowrap}

.pj-deck{position:relative;flex:none;height:calc(var(--ch) + 6.5rem);margin-top:auto}
.pj-deck::before{content:"";position:absolute;left:calc(50% - 70vw);width:140vw;bottom:1.6rem;height:46svh;border-radius:50%;border-bottom:1px solid #acd4fc38;pointer-events:none}
.pj-card{--x:0px;--y:0px;--r:0deg;--d:0;position:absolute;left:50%;bottom:2.4rem;z-index:calc(10 - var(--d));display:block;width:var(--cw);height:var(--ch);margin-left:calc(var(--cw) / -2);color:#edf6ff;text-decoration:none;transform-origin:50% 120%;transform:translate3d(calc(var(--x) * var(--fan,1)),calc(var(--y) * var(--fan,1) + (1 - var(--fan,1)) * 80px),0) rotate(calc(var(--r) * var(--fan,1)));will-change:transform}
.pj-card:nth-child(1){--x:calc(var(--cw) * -1.53);--y:38px;--r:-6.5deg;--d:2}
.pj-card:nth-child(2){--x:calc(var(--cw) * -.51);--y:2px;--r:-2.2deg;--d:1}
.pj-card:nth-child(3){--x:calc(var(--cw) * .51);--y:2px;--r:2.2deg;--d:1}
.pj-card:nth-child(4){--x:calc(var(--cw) * 1.53);--y:38px;--r:6.5deg;--d:2}
.pj-card:focus{outline:none}
.pj-card__in{position:absolute;inset:0;display:block;overflow:hidden;isolation:isolate;border-radius:18px;background:#0c1830;box-shadow:inset 0 0 0 1px #ffffff17,0 34px 60px -30px #000;transition:transform .6s var(--ease),box-shadow .6s var(--ease),filter .5s var(--ease)}
.pj-card__in::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,#040a18b8 0,#040a1800 24%,#040a1800 42%,#040a18d9 76%,#040a18 100%);pointer-events:none}
.pj-card__in::after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;box-shadow:inset 3px 0 6px -2px #2f4a9bf2,inset -3px 0 6px -2px #66b8e8f2;opacity:0;transition:opacity .45s var(--ease);pointer-events:none}
.pj-card__img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%);filter:saturate(.86);transform:scale(1.02);transition:transform 1.2s var(--ease),filter .6s var(--ease)}
.pj-card__scan{position:absolute;inset:0;z-index:3;background:repeating-linear-gradient(90deg,#ffffff14 0 1px,#fff0 1px 4px);opacity:.22;transition:opacity .5s var(--ease);pointer-events:none}
.pj-card__top{position:absolute;z-index:4;left:1.15rem;right:1.15rem;top:1.05rem;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font:400 var(--hs-mono,.66rem)/1 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;color:#d6e6fa}
.pj-card__top b{font-weight:400;color:#acd4fc}
.pj-card__meta{position:absolute;z-index:4;left:1.2rem;right:1.2rem;bottom:1.15rem;display:grid;gap:.5rem}
.pj-card__name{font-size:clamp(1.45rem,1.85vw,2.3rem);font-weight:500;line-height:1;letter-spacing:-.045em;color:#f4f8ff}
.pj-card__cat{font:400 var(--hs-mono,.62rem)/1.3 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;color:#9fbedf}
.pj-card__more{display:flex;flex-direction:column;gap:.75rem;max-height:0;margin-top:0;overflow:hidden;opacity:0;transition:max-height .55s var(--ease),margin .55s var(--ease),opacity .4s var(--ease)}
.pj-card__line{font-size:clamp(.92rem,.78rem + .2vw,1.05rem);line-height:1.45;letter-spacing:-.01em;color:#c3d4e8}
.pj-card__go{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid #ffffff26;font:400 var(--hs-mono,.62rem)/1 'Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;color:#edf6ff}
.pj-card__go b{font-weight:400;font-size:1rem;color:#acd4fc;transform:translate(-4px,4px);transition:transform .5s var(--ease)}
.pj-card:hover,.pj-card:focus-visible{z-index:20}
.pj-card:hover .pj-card__in,.pj-card:focus-visible .pj-card__in{transform:translateY(-22px) scale(1.035);box-shadow:inset 0 0 0 1px #acd4fce0,0 46px 80px -28px #000,0 0 0 1px #66b8e852,0 0 34px -4px #66b8e8a6,0 0 90px 4px #5088c84d}
.pj-card:hover .pj-card__in::after,.pj-card:focus-visible .pj-card__in::after{opacity:1}
.pj-card:hover .pj-card__img,.pj-card:focus-visible .pj-card__img{filter:saturate(1);transform:scale(1.08)}
.pj-card:hover .pj-card__scan,.pj-card:focus-visible .pj-card__scan{opacity:.45}
.pj-card:hover .pj-card__more,.pj-card:focus-visible .pj-card__more{max-height:7rem;margin-top:.4rem;opacity:1}
.pj-card:hover .pj-card__go b,.pj-card:focus-visible .pj-card__go b{transform:none}
@media(hover:none){.pj-card:hover .pj-card__in,.pj-card:focus-visible .pj-card__in{box-shadow:inset 0 0 0 1px #ffffff17,0 34px 60px -30px #000}
.pj-card:hover .pj-card__in::after,.pj-card:focus-visible .pj-card__in::after{opacity:0}
.pj-card:hover .pj-card__img,.pj-card:focus-visible .pj-card__img{filter:saturate(.86);transform:scale(1.02)}
.pj-card:hover .pj-card__scan,.pj-card:focus-visible .pj-card__scan{opacity:.22}}
@media(hover:hover){.pj-deck:hover .pj-card:not(:hover) .pj-card__in{filter:brightness(.6) saturate(.8)}}
@media(hover:none){.pj-card__more{max-height:none;margin-top:.4rem;opacity:1}
.pj-card__go b{transform:none}}

.pj-hint{display:flex;justify-content:center;align-items:center;gap:.8em;margin:0 0 auto;font-size:clamp(.72rem,.56rem + .22vw,.9rem);letter-spacing:.16em;text-transform:uppercase;color:#ffffff8c;opacity:var(--fan,1)}
.pj-hint::before{content:"";flex:none;width:.55em;height:.55em;border-radius:50%;background:#8fd0ff;animation:work-hint 2.4s ease-out infinite}
.pj-hint__touch{display:none}
@media(hover:none){.pj-hint__hover{display:none}
.pj-hint__touch{display:inline}}

@media(max-width:1000px) and (orientation:portrait),(max-width:700px){.home-direction .section--projects{min-height:0}
.pj{--cw:min(64vw,340px);min-height:0;padding:calc(10px + 5.6rem) 0 2.6rem}
.pj-meta{padding:0 var(--pad)}
.pj-meta__rule--r,.pj-meta__count{display:none}
.pj-deck{display:flex;flex:none;gap:14px;height:auto;min-height:0;margin:0;padding:2rem var(--pad) 2.6rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--pad);scrollbar-width:none}
.pj-deck::-webkit-scrollbar{display:none}
.pj-deck::before{display:none}
.pj-card{position:relative;left:auto;bottom:auto;z-index:auto;flex:0 0 var(--cw);margin:0;transform:none;scroll-snap-align:start;will-change:auto}
.pj-card:hover .pj-card__in,.pj-card:focus-visible .pj-card__in{transform:none}
.pj-hint{padding:0 var(--pad)}}
@media(max-width:700px){.pj{--cw:76vw}
.pj-meta{gap:.9rem}
.pj-meta__id i{display:none}
.pj-meta__mid{font-size:1.35rem}
.pj-card__name{font-size:1.75rem}
.pj-hint{font-size:.74rem;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.pj-card__in,.pj-card__img,.pj-card__more,.pj-card__go b{transition:none}
.pj-hint::before{animation:none}}
.home-direction .section--region{display:block;position:relative;z-index:5;min-height:0;padding:clamp(6rem,14vh,9rem) var(--pad) clamp(5rem,12vh,8rem);background:#0b1730;color:#edf6ff}
.region__top{display:flex;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;padding-bottom:1.1rem;border-bottom:1px solid #8dafd52b;font:400 var(--hs-mono,.7rem)/1.4 'Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:#9fbedf}
.region__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:end;gap:2.4rem 6vw;margin:clamp(3rem,8vh,5rem) 0 clamp(3rem,7vh,4.5rem)}
.region h2{margin:0;font-size:clamp(2.6rem,5.2vw,6.4rem);font-weight:400;line-height:.98;letter-spacing:-.065em}
.region h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:#75b8e8}
.region__copy{display:grid;gap:1.1rem}
.region__copy p{margin:0;max-width:34rem;font-size:clamp(1rem,.62rem + .5vw,1.2rem);line-height:1.62;letter-spacing:-.015em;color:#a9bdd6}
.region__links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #8dafd52b}
.region__links a{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:1rem;padding:1.4rem 1.2rem 1.4rem 0;border-bottom:1px solid #8dafd52b;font-size:clamp(1.05rem,1.3vw,1.45rem);letter-spacing:-.03em;color:#edf6ff;text-decoration:none;transition:color .3s}
.region__links a+a{padding-left:1.2rem;border-left:1px solid #8dafd52b}
.region__links small{font:400 var(--hs-mono,.7rem)/1 'Courier New',monospace;letter-spacing:.1em;color:#7f9cc0}
.region__links b{font-weight:300;color:#acd4fc;transition:transform .35s}
.region__links a:hover{color:#cfe6ff}
.region__links a:hover b{transform:translate(3px,-3px)}
@media(max-width:900px){.region__grid{grid-template-columns:1fr}
.region__links{grid-template-columns:1fr 1fr}
.region__links a:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:600px){.region__links{grid-template-columns:1fr}
.region__links a+a{padding-left:0;border-left:0}}
