.portfolio-hero{max-width:1440px;margin:auto;padding:clamp(5rem,11vw,10rem) clamp(1.25rem,5vw,5rem) clamp(4.5rem,8vw,7rem);display:grid;grid-template-columns:.55fr 1.45fr;gap:2rem;align-items:start}.portfolio-hero h1{margin:0;font:700 clamp(3.7rem,7.8vw,8rem)/.91 var(--display);letter-spacing:-.08em}.portfolio-hero h1 em,.portfolio-close h2 em{font-style:normal;color:var(--blue)}.portfolio-hero>div>p{max-width:470px;margin:2rem 0 0;color:#31516b;line-height:1.7}.work-list{max-width:1440px;margin:auto;padding:0 clamp(1.25rem,5vw,5rem) clamp(6rem,11vw,10rem);display:grid;gap:clamp(5rem,10vw,10rem)}.work-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:clamp(2rem,6vw,7rem);align-items:center}.work-card:nth-child(even){grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr)}.work-card:nth-child(even) .work-visual{order:2}.work-visual{aspect-ratio:1.38/1;position:relative;overflow:hidden;border:1px solid rgba(0,43,78,.2);box-shadow:14px 14px 0 var(--line)}.surface-bar{position:absolute;z-index:5;top:0;left:0;right:0;height:34px;padding:0 12px;display:flex;align-items:center;gap:5px;background:rgba(255,255,255,.85);font:500 .54rem var(--mono);letter-spacing:.08em;color:var(--ink)}.surface-bar i{width:6px;height:6px;border-radius:50%;background:var(--warm)}.surface-bar i:nth-child(2){background:var(--signal)}.surface-bar i:nth-child(3){background:var(--sky);margin-right:5px}.work-info{max-width:420px}.work-number{font:500 .63rem var(--mono);letter-spacing:.1em;color:var(--blue);margin:0 0 1.2rem}.work-info h2{font:700 clamp(2.5rem,4vw,4.5rem)/.92 var(--display);letter-spacing:-.075em;margin:0}.work-info>p:not(.work-number){color:#31516b;line-height:1.7;margin:1.25rem 0 1.75rem;font-size:.9rem}.work-link{font-size:.82rem;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:.25rem}.work-link span{margin-left:.3rem}.work-link:hover{color:var(--blue)}
.product-surface{background:linear-gradient(140deg,#e9e4d7 0 53%,#cb1c31 53% 100%)}.product-grid{position:absolute;inset:19% 9% 10%;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}.product-grid b{min-height:55%;padding:14px 11px;display:flex;align-items:end;color:#f8f4e9;background:linear-gradient(160deg,#743b22,#291209);font:700 clamp(.65rem,1.25vw,1.1rem)/1 var(--display);letter-spacing:-.05em;box-shadow:4px 4px 0 rgba(0,0,0,.12)}.product-grid b:nth-child(2){min-height:78%;background:linear-gradient(160deg,#f4d4ac,#9b5a2d);color:#4a210e}.product-grid b:nth-child(3){min-height:46%;background:linear-gradient(160deg,#caa77d,#77502d)}.product-stamp{position:absolute;right:8%;top:20%;width:88px;aspect-ratio:1;border-radius:50%;background:#f6e6bb;color:#8e1730;display:grid;place-content:center;text-align:center;font:800 1.5rem/.9 var(--display);rotate:12deg}.product-stamp small{font:400 .5rem var(--mono);letter-spacing:.1em}
.loka-surface{background:linear-gradient(130deg,#fff8e8,#ffd7a7 48%,#ff8e7e);color:#492550}.loka-core{position:absolute;top:50%;left:50%;translate:-50% -50%;width:35%;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;background:#553060;color:#fff4d7;font:700 clamp(1rem,2vw,1.9rem) var(--display);letter-spacing:-.08em;z-index:3}.loka-word{position:absolute;font:500 clamp(.5rem,1vw,.85rem) var(--mono);letter-spacing:.07em;color:#553060;z-index:3}.word-a{top:28%;right:10%}.word-b{bottom:19%;right:16%}.word-c{bottom:26%;left:10%}.loka-path{position:absolute;width:77%;aspect-ratio:1;border:1px dashed rgba(85,48,96,.35);border-radius:50%;left:11.5%;top:12%}.loka-path:before,.loka-path:after{content:"";position:absolute;height:1px;background:#553060;width:33%;left:14%;top:20%;rotate:34deg}.loka-path:after{left:55%;top:63%;rotate:-42deg}
.nooby-surface{background:linear-gradient(145deg,#e5f5ff,#bde4ff 50%,#faff5d);color:#00416d}.score-ring{position:absolute;left:15%;top:23%;width:42%;aspect-ratio:1;border:18px solid #0063b4;border-right-color:#fcff2c;border-bottom-color:#fcff2c;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;rotate:-18deg}.score-ring strong{font:700 clamp(.9rem,1.8vw,1.6rem) var(--display);letter-spacing:-.07em}.score-ring span{font:500 .56rem var(--mono);letter-spacing:.1em}.lesson-lines{position:absolute;right:10%;top:29%;width:35%;display:grid;gap:12px}.lesson-lines b{height:10px;background:#0063b4}.lesson-lines b:nth-child(2){width:72%;background:#70a7d5}.lesson-lines b:nth-child(3){width:90%;background:#00416d}.lesson-lines b:nth-child(4){width:54%;background:#c8172b}.nooby-chip{position:absolute;right:10%;bottom:15%;padding:11px 13px;background:#00416d;color:#fff;font:500 .57rem/1.3 var(--mono);letter-spacing:.08em;box-shadow:5px 5px 0 #c8172b}
.portfolio-close{background:var(--deep);padding:clamp(5rem,10vw,9rem) clamp(1.25rem,5vw,5rem);color:#fff;display:flex;flex-direction:column;align-items:flex-start}.portfolio-close h2{font:700 clamp(2.8rem,5vw,5.4rem)/.94 var(--display);letter-spacing:-.075em;margin:0 0 2rem}.portfolio-close h2 em{color:var(--signal)}.portfolio-close .button-primary{color:var(--deep);background:var(--signal);box-shadow:7px 7px 0 var(--sky)}.portfolio-close .button-primary:hover{box-shadow:4px 4px 0 var(--sky)}
.work-visual iframe{position:absolute;z-index:1;left:0;top:34px;width:300%;height:300%;border:0;transform:scale(.33334);transform-origin:top left;pointer-events:none;background:#fff}.work-visual>:not(.surface-bar):not(iframe){display:none}.surface-bar{z-index:5;border-bottom:1px solid rgba(0,43,78,.15)}
@media(max-width:800px){.portfolio-hero{grid-template-columns:1fr;gap:0;padding-top:4rem}.portfolio-hero .eyebrow{margin-bottom:1.4rem}.work-list{gap:4.5rem}.work-card,.work-card:nth-child(even){grid-template-columns:1fr;gap:2rem}.work-card:nth-child(even) .work-visual{order:0}.work-visual{box-shadow:8px 8px 0 var(--line)}.work-info{max-width:550px}.product-stamp{width:66px}.work-info h2{font-size:3.1rem}}@media(max-width:430px){.portfolio-hero h1{font-size:3.35rem}.work-visual{aspect-ratio:1.12/1}.product-grid{inset:23% 7% 11%}.portfolio-close h2{font-size:2.7rem}.loka-word{font-size:.47rem}.surface-bar{font-size:.45rem}}
