/* LOGA V1.9.27 — standalone portfolio page, safely scoped to .portfolio-page. */
.portfolio-page{background:#fff;color:#11152b;overflow-x:clip}
.portfolio-page .portfolio-stage{isolation:isolate;position:relative;padding-top:25px;padding-bottom:110px}
.portfolio-page .portfolio-stage::before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;background-image:radial-gradient(circle,#d6d0ff .9px,transparent 1.13px);background-size:18px 18px;opacity:.64;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 86%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 86%,transparent 100%)}
.portfolio-page .portfolio-header{z-index:80}
.portfolio-page .navigation{background:rgba(255,255,255,.97)}
.portfolio-page .navigation-links .is-current{color:#5940ff;font-weight:700;position:relative}
.portfolio-page .navigation-links .is-current::after{content:"";position:absolute;left:2px;right:2px;height:2px;bottom:3px;background:#5940ff}
.portfolio-page .portfolio-main.shell{max-width:1510px;padding-top:83px}
.portfolio-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:49px}
.portfolio-heading{max-width:690px}
.portfolio-eyebrow{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:750;letter-spacing:.19em;color:#12162a;margin:0 0 21px}
.portfolio-eyebrow span{width:10px;height:10px;display:block;background:#5940ff;border-radius:50%}
.portfolio-heading h1{margin:0;font-size:clamp(48px,4.3vw,80px);line-height:1.055;letter-spacing:-.075em;color:#090b19;font-weight:730}
.portfolio-heading h1>span{color:#96938f}
.portfolio-heading h1 .period{color:#5940ff}
.portfolio-heading>p:last-child{margin:20px 0 0;max-width:660px;color:#4c5167;font-size:clamp(16px,1.07vw,20px);line-height:1.5;letter-spacing:-.016em}
.portfolio-tools{padding-bottom:12px;min-width:0;text-align:right}
.portfolio-filter{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:wrap}
.filter-button{font-size:15px;font-weight:550;color:#34354d;border:0;background:transparent;padding:10px 15px;position:relative;border-radius:22px;transition:background .2s,color .2s}
.filter-button:not(:last-child):not(.is-active)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:17px;background:#dbd7fb}
.filter-button:hover{color:#484bb4;background:#f5f3ff}
.filter-button.is-active{color:#484bb4;background:#efedff;font-weight:750}
.portfolio-status{margin:13px 0 0;color:#7a7d90;font-size:12px;letter-spacing:.01em}
.logo-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;align-items:start}
.portfolio-card{width:100%;aspect-ratio:1/1;min-width:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.97);border:1px solid #e2e3ef;border-radius:4px;padding:clamp(25px,2.8vw,48px);box-shadow:0 3px 8px rgba(26,26,65,.018);outline-offset:3px;transition:border-color .24s ease,transform .26s cubic-bezier(.22,1,.36,1),box-shadow .24s ease;position:relative;overflow:hidden;cursor:pointer}
.portfolio-card img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;max-height:100%;user-select:none;pointer-events:none}
.portfolio-card[data-project="pimasota"] img{max-width:80%;max-height:80%}
.portfolio-card:hover{transform:translateY(-3px);border-color:#a69bf8;box-shadow:0 10px 25px rgba(45,40,95,.075)}
.portfolio-card.is-selected,.portfolio-card[aria-pressed="true"]{border:2px solid #5940ff;padding:calc(clamp(25px,2.8vw,48px) - 1px);box-shadow:0 3px 15px rgba(89,64,255,.055)}
.portfolio-card[hidden],.portfolio-detail[hidden],.portfolio-empty[hidden]{display:none!important}
.portfolio-detail{grid-column:1/-1;min-width:0;border:1px solid #c9c0ff;border-radius:8px;background:linear-gradient(115deg,rgba(249,248,255,.92),rgba(253,252,255,.98));box-shadow:0 10px 26px rgba(70,45,154,.028);position:relative;margin:10px 0 3px;overflow:hidden}
.portfolio-detail.is-revealing{animation:detail-open .35s cubic-bezier(.22,1,.36,1) both}
@keyframes detail-open{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}
.detail-shell{display:grid;grid-template-columns:minmax(282px,31%) minmax(0,1fr);gap:0;min-height:520px;padding:clamp(25px,2.2vw,42px);position:relative}
.detail-close{position:absolute;z-index:20;right:15px;top:15px;display:grid;place-items:center;width:41px;height:41px;border:1px solid #ded9ff;border-radius:50%;background:rgba(255,255,255,.97);color:#5940ff;box-shadow:0 4px 11px #392d7a13;transition:transform .2s,background .2s}
.detail-close:hover{transform:rotate(90deg);background:#f6f3ff}
.detail-close .icon{width:20px;height:20px}
.detail-information{padding:17px clamp(20px,2vw,38px) 18px 2px;border-right:1px solid #cbc7f5;display:flex;flex-direction:column;min-width:0;justify-content:center}
.detail-accent{height:5px;width:42px;background:#5940ff;display:block;border-radius:3px;margin-bottom:20px}
.detail-overline{margin:0 0 10px;color:#84839b;font-size:11px;font-weight:750;letter-spacing:.17em}
.detail-information h2{font-size:clamp(33px,2.7vw,51px);margin:0 0 6px;line-height:1.08;letter-spacing:-.062em;color:#101225}
.detail-industry{margin:0 0 23px;color:#4d5270;font-size:clamp(15px,1.1vw,19px);line-height:1.4}
.detail-story{font-size:clamp(15px,.95vw,17px);line-height:1.55;letter-spacing:-.018em;color:#262a3d;margin:0 0 24px;max-width:360px}
.detail-meta{display:grid;gap:16px;margin-top:4px}
.detail-meta-item{display:flex;align-items:flex-start;gap:15px;font-size:14px;color:#33364f;line-height:1.35}
.detail-meta-item>.icon{stroke:#5940ff;stroke-width:1.7;width:23px;height:23px;margin-top:1px}
.detail-meta-item b{display:block;font-weight:700;color:#17192b}
.detail-meta-item span{display:block;margin-top:2px;color:#62677c}
.detail-art{min-width:0;display:grid;align-items:center;padding-left:30px}
.identity-canvas{position:relative;width:100%;height:475px;isolation:isolate;perspective:1400px}
.showcase-card{position:absolute;display:flex;flex-direction:column;background:#fff;border:1px solid #e1e3ee;border-radius:10px;box-shadow:0 11px 23px rgba(26,27,56,.085);padding:16px 18px;backface-visibility:hidden;transform:translate3d(var(--move-x,0px),var(--move-y,0px),0) rotate(var(--rotate,0deg));transition:transform .52s cubic-bezier(.2,.9,.2,1),box-shadow .25s ease;will-change:transform}
.showcase-card:hover,.showcase-card:focus-visible{box-shadow:0 16px 28px rgba(35,28,83,.13)}
.showcase-label{font-size:11px;letter-spacing:.14em;font-weight:750;color:#777b91;white-space:nowrap}
.showcase-primary{left:7%;top:8%;width:39%;height:74%;--rotate:-5deg;z-index:3}
.showcase-primary>img{width:93%;height:80%;object-fit:contain;margin:auto}
.showcase-primary>small,.showcase-application>small{font-size:11px;color:#7b7e90;white-space:nowrap}
.showcase-palette{left:57%;top:2%;width:39%;height:31%;--rotate:5deg;z-index:4}
.swatch-row{display:flex;justify-content:space-between;gap:8px;margin-top:22px}
.swatch-row>span{min-width:0;flex:1;display:flex;flex-direction:column;gap:7px}
.swatch-row i{display:block;width:100%;height:51px;background:var(--swatch);border:1px solid rgba(0,0,0,.025);border-radius:9px}
.swatch-row small{font-size:10px;letter-spacing:-.055em;color:#64677a}
.showcase-typography{left:4%;bottom:1%;width:43%;height:25%;--rotate:3deg;z-index:4}
.typeface-preview{display:flex;gap:15px;align-items:center;margin-top:12px}
.serif-sample{font-family:Georgia,'Times New Roman',serif;font-size:64px;line-height:.9;color:#141527}
.typeface-preview>div{border-left:1px solid #cfcdec;padding-left:12px;display:grid;gap:5px}
.typeface-preview b{font-size:15px;color:#1c1e2c}
.typeface-preview small{font-size:11px;color:#7a7f92;line-height:1.3}
.showcase-application{left:53%;top:43%;width:44%;height:52%;--rotate:-3deg;z-index:3}
.package-scene{flex:1;min-height:0;background:#f9f6ef;border-radius:8px;margin:12px 0 8px;display:grid;place-items:center;overflow:hidden;perspective:800px}
.package-box{position:relative;width:70%;height:67%;transform:rotate(-8deg) skewY(-2deg);filter:drop-shadow(8px 12px 8px rgba(74,53,24,.13))}
.package-front{position:absolute;inset:0;background:#f4ead7;border:1px solid #d2c0a7;border-radius:8px;display:grid;place-items:center}
.package-front::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:11px;background:#e8d9c2;border-radius:0 0 8px 8px}
.package-front img{width:60%;height:70%;object-fit:contain;z-index:1}
.package-side{position:absolute;left:0;top:0;bottom:0;width:13px;background:#e8d6b9;border-radius:7px 0 0 7px;border-right:1px solid #cebda7}
.showcase-small-logo{position:absolute;z-index:8;top:60%;left:44%;width:105px;aspect-ratio:1;background:#fff;border:1px solid #e6e6f2;display:grid;place-items:center;padding:10px;border-radius:14px;transform:rotate(7deg);box-shadow:0 6px 13px #211f4b18;pointer-events:none}
.showcase-small-logo img{width:100%;height:100%;object-fit:contain}
.identity-canvas:hover .showcase-card,.identity-canvas:focus-within .showcase-card{transition-duration:.45s}
.identity-canvas:hover .showcase-primary{--move-x:-7px;--move-y:-9px}
.identity-canvas:hover .showcase-palette{--move-x:8px;--move-y:-7px}
.identity-canvas:hover .showcase-typography{--move-x:-4px;--move-y:5px}
.identity-canvas:hover .showcase-application{--move-x:9px;--move-y:7px}
.identity-canvas[data-active="primary"] .showcase-primary{--move-x:-15px;--move-y:-15px}
.identity-canvas[data-active="palette"] .showcase-palette{--move-x:16px;--move-y:-15px}
.identity-canvas[data-active="typography"] .showcase-typography{--move-x:-14px;--move-y:14px}
.identity-canvas[data-active="application"] .showcase-application{--move-x:13px;--move-y:12px}
.portfolio-empty{border:1px dashed #d2caff;background:#faf9ff;border-radius:8px;padding:60px 25px;text-align:center;color:#343750}
.portfolio-empty h2{font-size:26px;letter-spacing:-.04em;margin:0 0 10px}
.portfolio-empty p{color:#6f7184;font-size:16px}
.reset-filter{background:#484bb4;color:#fff;border:0;border-radius:999px;padding:13px 24px;display:inline-flex;align-items:center;gap:10px;font-weight:650;margin-top:14px}
.reset-filter .icon{width:18px;height:18px}
.portfolio-editor-note{max-width:900px;margin:24px auto 0;text-align:center;color:#88899b;font-size:12px;line-height:1.5}
.portfolio-ending{margin-top:115px;padding:58px 0;border-top:1px solid #ccc4ff;display:flex;justify-content:space-between;align-items:end;gap:25px}
.portfolio-ending-label{font-size:12px;font-weight:750;letter-spacing:.17em;color:#484bb4;margin:0 0 16px}
.portfolio-ending h2{font-size:clamp(36px,3.35vw,59px);line-height:1.09;letter-spacing:-.065em;color:#101226;margin:0}
.portfolio-ending h2 span{color:#96938f}
.portfolio-ending p:last-child{color:#5c6079;font-size:17px;margin:14px 0 0}
.portfolio-ending-cta{min-height:56px;padding:0 29px;background:#484bb4!important;white-space:nowrap}
.portfolio-page .loga-footer{background:#fff}
/* generic detail for project logos without supplied case-study assets */
.detail-art.is-unavailable{padding-left:45px;display:flex;align-items:center;justify-content:center}
.detail-placeholder{width:100%;min-height:400px;display:grid;place-items:center;gap:22px;text-align:center}
.detail-placeholder-frame{height:270px;width:min(360px,80%);border:1px solid #e1e2f1;border-radius:8px;background:#fff;display:grid;place-items:center;padding:45px}
.detail-placeholder-frame img{height:100%;width:100%;object-fit:contain}
.detail-placeholder p{font-size:14px;color:#777b91;max-width:380px;margin:0;line-height:1.55}
@media(max-width:1600px){
 .portfolio-page .portfolio-main.shell{max-width:1330px}
 .logo-gallery-grid{gap:27px}
 .identity-canvas{height:410px}
 .detail-shell{min-height:470px}
 .showcase-primary{left:7%;width:40%}
 .showcase-palette{left:57%;width:40%}
 .showcase-application{left:52%;width:46%}
 .showcase-small-logo{width:88px}
}
@media(max-width:1280px){
 .portfolio-page .portfolio-main.shell{max-width:1080px;padding-top:63px}
 .portfolio-intro{gap:25px}
 .portfolio-heading h1{font-size:clamp(48px,5vw,70px)}
 .logo-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
 .detail-shell{grid-template-columns:34% minmax(0,1fr);padding:25px;min-height:420px}
 .detail-information{padding-right:20px}
 .detail-art{padding-left:20px}
 .identity-canvas{height:370px}
 .showcase-card{padding:11px}
 .showcase-label{font-size:8.5px}
 .showcase-palette{left:56%;width:43%}
 .swatch-row{gap:5px;margin-top:18px}
 .swatch-row i{height:37px}
 .swatch-row small{font-size:8px}
 .showcase-primary{left:3%;width:42%}
 .showcase-typography{left:3%;width:45%}
 .serif-sample{font-size:48px}
 .typeface-preview b{font-size:12px}
 .showcase-application{left:52%;width:47%}
 .showcase-small-logo{width:68px;left:43%}
}
@media(max-width:980px){
 .portfolio-page .portfolio-stage{padding-top:18px}
 .portfolio-page .portfolio-main.shell{padding-top:60px}
 .portfolio-intro{display:block;margin-bottom:34px}
 .portfolio-heading h1{font-size:clamp(42px,7.2vw,62px)}
 .portfolio-tools{margin-top:24px;text-align:left;padding:0}
 .portfolio-filter{justify-content:flex-start}
 .portfolio-status{margin-left:6px}
 .logo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}
 .detail-shell{display:block;padding:25px}
 .detail-information{border-right:0;border-bottom:1px solid #d0c9fb;padding:15px 0 25px;max-width:none;display:block}
 .detail-story{max-width:700px}
 .detail-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .detail-art{padding:15px 0 0}
 .identity-canvas{height:430px;max-width:700px;margin:auto}
 .showcase-label{font-size:10px}
 .showcase-card{padding:13px}
 .showcase-palette .swatch-row i{height:51px}
 .showcase-small-logo{width:94px}
 .detail-art.is-unavailable{padding-left:0}
}
@media(max-width:600px){
 .portfolio-page .portfolio-stage{padding-bottom:40px}
 .portfolio-page .portfolio-main.shell{padding-top:40px}
 .portfolio-eyebrow{font-size:11px;letter-spacing:.15em;margin-bottom:18px}
 .portfolio-heading h1{font-size:clamp(40px,10.2vw,56px);line-height:1.05}
 .portfolio-heading>p:last-child{margin-top:15px;font-size:15px}
 .portfolio-tools{margin-top:24px}
 .portfolio-filter{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;justify-content:flex-start;padding:2px 0 10px}
 .portfolio-filter::-webkit-scrollbar{display:none}
 .filter-button{font-size:13px;white-space:nowrap;padding:8px 11px}
 .logo-gallery-grid{gap:12px}
 .portfolio-card{padding:17px;border-radius:3px}
 .portfolio-card.is-selected{padding:16px}
 .portfolio-detail{margin:8px 0 6px}
 .detail-shell{padding:22px 16px 17px}
 .detail-close{right:10px;top:10px;width:37px;height:37px}
 .detail-information{padding:14px 0 22px}
 .detail-accent{width:32px;margin-bottom:15px}
 .detail-information h2{font-size:34px}
 .detail-story{font-size:14px}
 .detail-meta{grid-template-columns:1fr;gap:11px}
 .detail-meta-item{font-size:13px}
 .detail-art{padding:8px 0 0}
 .identity-canvas{height:355px}
 .showcase-card{padding:8px;border-radius:6px}
 .showcase-label{font-size:7.5px}
 .showcase-primary{left:1%;top:11%;width:45%;height:66%}
 .showcase-palette{left:55%;top:7%;width:45%;height:29%}
 .swatch-row{gap:3px;margin-top:14px}
 .swatch-row i{height:28px;border-radius:4px}
 .swatch-row small{font-size:7px}
 .showcase-application{left:49%;top:45%;width:51%;height:48%}
 .showcase-typography{left:1%;bottom:0;width:47%;height:23%}
 .typeface-preview{gap:6px;margin-top:9px}
 .serif-sample{font-size:39px}
 .typeface-preview>div{padding-left:7px}
 .typeface-preview b{font-size:10px}
 .typeface-preview small{font-size:7.5px}
 .showcase-small-logo{width:54px;top:57%;left:41%}
 .showcase-primary>small,.showcase-application>small{font-size:8px}
 .detail-placeholder{min-height:320px}
 .detail-placeholder-frame{height:195px;padding:27px}
 .portfolio-editor-note{font-size:11px}
 .portfolio-ending{display:block;margin-top:60px;padding:43px 0 10px}
 .portfolio-ending h2{font-size:38px}
 .portfolio-ending p:last-child{font-size:15px}
 .portfolio-ending-cta{margin-top:24px;min-height:52px;padding:0 26px}
}
@media(max-width:360px){
 .portfolio-card{padding:12px}
 .portfolio-card.is-selected{padding:11px}
 .identity-canvas{height:310px}
 .showcase-palette .swatch-row i{height:22px}
 .serif-sample{font-size:31px}
 .detail-information h2{font-size:32px}
}
@media(hover:none){.portfolio-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.showcase-card,.detail-close{transition:none!important}.portfolio-detail{animation:none}}
