/* Design 04, portfolio viewer ONLY. Do not affect either pre-existing portfolio carousel. */
body.v56-portfolio-page .v58-immersive{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 78% 31%,rgba(102,176,255,.23) 0%,transparent 45%),radial-gradient(ellipse at 14% 92%,rgba(106,175,255,.12),transparent 40%),linear-gradient(125deg,#f6faff 0%,#eaf4ff 60%,#f7fbff 100%);padding:76px 0 72px;color:#132d56}
body.v56-portfolio-page .v58-immersive::before{content:"";position:absolute;width:670px;height:670px;right:-270px;top:-215px;border:1px solid rgba(128,176,244,.2);border-radius:50%;pointer-events:none}
body.v56-portfolio-page .v58-viewer-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px;position:relative;z-index:2}
body.v56-portfolio-page .v58-overline{font-size:11px;letter-spacing:.19em;color:#196af2;font-weight:850;display:flex;align-items:center;gap:12px}
body.v56-portfolio-page .v58-overline i{width:25px;height:2px;background:#1874ff;display:inline-block}
body.v56-portfolio-page .v58-viewer-heading h2{margin:11px 0 9px;font-size:clamp(35px,3.6vw,52px);line-height:1.05;letter-spacing:-.055em;color:#122b50;font-weight:800}
body.v56-portfolio-page .v58-viewer-heading h2 em{font-style:normal;color:#1b70f5}
body.v56-portfolio-page .v58-viewer-heading p{max-width:635px;margin:0;color:#617b9e;font-size:14px;line-height:1.75}
body.v56-portfolio-page .v58-counter{border:1px solid #c8ddfa;background:rgba(255,255,255,.75);border-radius:999px;box-shadow:0 11px 25px rgba(56,123,219,.07);color:#1669e8;white-space:nowrap;font-weight:850;font-size:13px;letter-spacing:.08em;padding:12px 17px;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}
body.v56-portfolio-page .v58-viewer-grid{display:grid;grid-template-columns:minmax(0,1.58fr) minmax(300px,.72fr);gap:21px;align-items:stretch;max-width:1170px;margin-inline:auto}
body.v56-portfolio-page .v58-scene{min-width:0;min-height:550px;position:relative;perspective:1400px;touch-action:pan-y;user-select:none;-webkit-user-select:none}
body.v56-portfolio-page .v58-orbit{position:absolute;width:74%;aspect-ratio:1;left:15%;top:7%;border-radius:50%;border:1px solid #9fc5f36c;pointer-events:none}
body.v56-portfolio-page .v58-orbit::before,body.v56-portfolio-page .v58-orbit::after{content:"";position:absolute;inset:9%;border-radius:50%;border:1px dashed #a1c6f76d}
body.v56-portfolio-page .v58-orbit::after{inset:20%}
body.v56-portfolio-page .v58-scene-glow{position:absolute;width:60%;height:49%;left:17%;top:30%;border-radius:50%;background:radial-gradient(circle,#77b6ff59,transparent 70%);filter:blur(28px);pointer-events:none}
body.v56-portfolio-page .v58-side{position:absolute;z-index:1;top:18%;width:43%;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(130deg,#164387,#76aff7);border:5px solid rgba(255,255,255,.98);box-shadow:0 26px 55px rgba(41,101,171,.26);border-radius:17px;backface-visibility:hidden;transition:transform .65s cubic-bezier(.19,.7,.2,1),opacity .45s ease;pointer-events:none}
body.v56-portfolio-page .v58-side img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
body.v56-portfolio-page .v58-side-left{left:0;transform:rotate(-12deg) rotateY(17deg) translateZ(-25px)}
body.v56-portfolio-page .v58-side-right{right:0;top:14%;transform:rotate(10deg) rotateY(-16deg) translateZ(-25px)}
body.v56-portfolio-page .v58-main-window{position:absolute;z-index:3;left:13%;width:72%;top:12%;overflow:hidden;border:5px solid rgba(255,255,255,.98);border-radius:19px;background:#fff;box-shadow:0 30px 75px rgba(28,78,154,.3);transform:rotate(-4deg) rotateY(-7deg) translateZ(35px);transform-origin:center center;transition:transform .56s cubic-bezier(.2,.75,.2,1),opacity .28s ease,box-shadow .35s ease;will-change:transform}
body.v56-portfolio-page .v58-main-window.is-switching{opacity:.42;transform:rotate(-8deg) rotateY(-17deg) translateY(14px) scale(.97)}
body.v56-portfolio-page .v58-window-bar{background:linear-gradient(120deg,#ffffff,#eef5ff);display:flex;align-items:center;gap:10px;padding:10px 13px;border-bottom:1px solid #deebff;min-height:38px}
body.v56-portfolio-page .v58-window-dots{display:flex;gap:5px}
body.v56-portfolio-page .v58-window-dots i{display:block;width:7px;height:7px;border-radius:50%;background:#91b7ef}
body.v56-portfolio-page .v58-window-dots i:nth-child(2){background:#bdd5f9}body.v56-portfolio-page .v58-window-dots i:nth-child(3){background:#d9e6fa}
body.v56-portfolio-page .v58-window-label{margin-left:auto;color:#6889b5;font-size:9px;letter-spacing:.11em;font-weight:850}
body.v56-portfolio-page .v58-window-index{font-size:9px;letter-spacing:.03em;font-weight:800;color:#2774f0;background:#e4f0ff;padding:4px 8px;border-radius:20px}
body.v56-portfolio-page .v58-window-media{display:block;aspect-ratio:16/8.9;overflow:hidden;background:#dbe9fb}
body.v56-portfolio-page .v58-window-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:top center;user-select:none;-webkit-user-drag:none}
body.v56-portfolio-page .v58-floating-pill{position:absolute;z-index:5;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.93);border:1px solid #fff;color:#1b6cf1;border-radius:999px;padding:11px 15px;font-size:10px;letter-spacing:.035em;font-weight:850;box-shadow:0 12px 34px #175baa21;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);pointer-events:none}
body.v56-portfolio-page .v58-pill-left{left:0;top:10%}body.v56-portfolio-page .v58-pill-right{right:0;top:42%}
body.v56-portfolio-page .v58-detail-card{position:absolute;z-index:7;bottom:15px;right:3%;width:min(77%,520px);min-height:171px;border-radius:23px;border:1px solid rgba(255,255,255,.96);background:linear-gradient(125deg,rgba(255,255,255,.98),rgba(232,244,255,.94));box-shadow:0 25px 65px rgba(23,78,150,.22);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:19px 24px 20px;transition:transform .35s ease}
body.v56-portfolio-page .v58-detail-overline{display:block;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase;color:#146df3}
body.v56-portfolio-page .v58-detail-card h3{font-size:clamp(22px,2.2vw,30px);line-height:1.1;letter-spacing:-.047em;color:#142d51;margin:8px 0 7px;font-weight:800}
body.v56-portfolio-page .v58-detail-card p{margin:0;color:#5d7899;font-size:12px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body.v56-portfolio-page .v58-detail-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:13px}
body.v56-portfolio-page .v58-detail-actions a{font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:7px;text-decoration:none;border-radius:10px;padding:10px 13px;transition:transform .22s,box-shadow .22s}
body.v56-portfolio-page .v58-detail-actions a:hover{transform:translateY(-2px)}
body.v56-portfolio-page .v58-action-primary{background:#176df5;color:#fff!important;box-shadow:0 9px 19px #176df536}
body.v56-portfolio-page .v58-action-secondary{color:#1c65d5!important;border:1px solid #c6dcfb;background:rgba(255,255,255,.88)}
body.v56-portfolio-page .v58-selector{min-width:0;display:flex;flex-direction:column;align-self:stretch;padding:23px;border-radius:26px;border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.81);box-shadow:0 23px 66px rgba(38,93,165,.12);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
body.v56-portfolio-page .v58-selector-eyebrow{color:#1a6cf0;font-weight:850;font-size:10px;letter-spacing:.16em;display:flex;align-items:center;gap:11px}
body.v56-portfolio-page .v58-selector-eyebrow::before{content:"";width:20px;height:2px;background:#1a6cf0}
body.v56-portfolio-page .v58-selector h3{font-size:clamp(22px,2vw,30px);line-height:1.15;color:#132b52;font-weight:850;letter-spacing:-.045em;margin:14px 0 18px}
body.v56-portfolio-page .v58-selector h3 em{font-style:normal;color:#1a72f7}
body.v56-portfolio-page .v58-choices{display:grid;gap:7px;margin:0}
body.v56-portfolio-page .v58-choice{display:flex;gap:10px;align-items:center;padding:8px;min-width:0;min-height:61px;border-radius:14px;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer;color:#19375d;transition:background .25s,border-color .25s,transform .25s}
body.v56-portfolio-page .v58-choice:hover{background:rgba(233,243,255,.78);transform:translateX(2px)}
body.v56-portfolio-page .v58-choice.is-active{background:linear-gradient(110deg,#e2efff,#f3f8ff);border-color:#a8ccff;box-shadow:inset 0 1px 0 #fff}
body.v56-portfolio-page .v58-choice-thumb{width:62px;height:46px;flex:none;background:#cbdff8;border:1px solid #d3e3f9;border-radius:9px;display:block;overflow:hidden}
body.v56-portfolio-page .v58-choice-thumb img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
body.v56-portfolio-page .v58-choice-copy{flex:1;min-width:0}
body.v56-portfolio-page .v58-choice-copy strong{display:block;font-size:11px;line-height:1.3;color:#1b3459;font-weight:800;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.v56-portfolio-page .v58-choice-copy small{display:block;font-size:10px;line-height:1.3;color:#6985aa;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.v56-portfolio-page .v58-choice-arrow{font-size:16px;color:#1b6bf1;flex:none}
body.v56-portfolio-page .v58-selector-footer{border-top:1px solid #deebfd;display:flex;gap:10px;justify-content:space-between;align-items:center;margin-top:auto;padding-top:17px}
body.v56-portfolio-page .v58-selector-footer>span{color:#7490b7;font-size:9px;letter-spacing:.1em;font-weight:850}
body.v56-portfolio-page .v58-control-buttons{display:flex;gap:8px}
body.v56-portfolio-page .v58-control-buttons button{border:1px solid #c4dcfb;border-radius:50%;background:#fff;color:#176cf3;display:grid;place-items:center;cursor:pointer;width:42px;height:42px;font-size:19px;box-shadow:0 10px 24px #2960a51a;transition:background .25s,color .25s,transform .25s}
body.v56-portfolio-page .v58-control-buttons button:hover{color:#fff;background:#176cf3;transform:translateY(-2px)}
body.v56-portfolio-page .v58-control-buttons button:focus-visible,body.v56-portfolio-page .v58-choice:focus-visible,body.v56-portfolio-page .v58-detail-actions a:focus-visible{outline:3px solid #4c9bff;outline-offset:3px}
body.v56-portfolio-page .v58-viewer-footnote{display:flex;align-items:center;gap:10px;margin:23px 0 0;color:#7390b5;font-size:10px;letter-spacing:.11em;text-transform:uppercase;font-weight:800}
body.v56-portfolio-page .v58-viewer-footnote>span{height:2px;width:32px;background:#1c74fe}
/* Maintain contrast in dark-mode without changing global theme, sliders or other pages. */
html[data-theme="dark"] body.v56-portfolio-page .v58-immersive{background:radial-gradient(ellipse at 78% 31%,rgba(102,176,255,.23) 0%,transparent 45%),linear-gradient(125deg,#f6faff 0%,#eaf4ff 60%,#f7fbff 100%);color:#132d56}
html[data-theme="dark"] body.v56-portfolio-page .v58-viewer-heading h2{color:#122b50}
html[data-theme="dark"] body.v56-portfolio-page .v58-viewer-heading p{color:#617b9e}
html[data-theme="dark"] body.v56-portfolio-page .v58-detail-card,html[data-theme="dark"] body.v56-portfolio-page .v58-selector{background:linear-gradient(125deg,rgba(244,250,255,.98),rgba(225,239,255,.94));border-color:rgba(255,255,255,.87)}
html[data-theme="dark"] body.v56-portfolio-page .v58-selector h3,html[data-theme="dark"] body.v56-portfolio-page .v58-detail-card h3{color:#142d51}
html[data-theme="dark"] body.v56-portfolio-page .v58-choice-copy strong{color:#142e53}
html[data-theme="dark"] body.v56-portfolio-page .v58-detail-card p{color:#496e99}
html[data-theme="dark"] body.v56-portfolio-page .v58-choice.is-active{background:#d1e7ff}
@media(max-width:1100px){body.v56-portfolio-page .v58-viewer-grid{grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr)}body.v56-portfolio-page .v58-selector{padding:17px}body.v56-portfolio-page .v58-scene{min-height:515px}body.v56-portfolio-page .v58-detail-card{width:82%;right:0}body.v56-portfolio-page .v58-selector h3{font-size:23px}}
@media(max-width:820px){body.v56-portfolio-page .v58-viewer-grid{grid-template-columns:1fr;gap:22px}body.v56-portfolio-page .v58-scene{height:560px;min-height:0;max-width:690px;width:100%;margin-inline:auto}body.v56-portfolio-page .v58-selector{max-width:690px;width:100%;margin-inline:auto}body.v56-portfolio-page .v58-choices{grid-template-columns:repeat(2,minmax(0,1fr))}body.v56-portfolio-page .v58-selector-footer{margin-top:18px}body.v56-portfolio-page .v58-detail-card{right:2%}body.v56-portfolio-page .v58-immersive{padding:62px 0}}
@media(max-width:560px){body.v56-portfolio-page .v58-viewer-heading{gap:12px}body.v56-portfolio-page .v58-viewer-heading h2{font-size:clamp(30px,8vw,40px)}body.v56-portfolio-page .v58-viewer-heading p{font-size:12px}body.v56-portfolio-page .v58-counter{font-size:11px;padding:9px 12px}body.v56-portfolio-page .v58-viewer-grid{gap:15px}body.v56-portfolio-page .v58-scene{height:395px}body.v56-portfolio-page .v58-side{top:16%;width:46%;border-width:3px;border-radius:12px}body.v56-portfolio-page .v58-side-right{top:13%}body.v56-portfolio-page .v58-main-window{width:80%;left:9%;top:16%;border-width:3px;border-radius:11px}body.v56-portfolio-page .v58-window-bar{min-height:26px;padding:6px 8px}body.v56-portfolio-page .v58-window-label{font-size:7px}body.v56-portfolio-page .v58-window-index{font-size:7px}body.v56-portfolio-page .v58-floating-pill{font-size:8px;padding:7px 9px}body.v56-portfolio-page .v58-pill-left{left:0;top:8%}body.v56-portfolio-page .v58-pill-right{top:40%}body.v56-portfolio-page .v58-detail-card{min-height:0;width:93%;right:1%;bottom:0;padding:14px 15px 15px;border-radius:17px}body.v56-portfolio-page .v58-detail-card h3{font-size:21px;margin:5px 0}body.v56-portfolio-page .v58-detail-card p{font-size:11px;line-height:1.45}body.v56-portfolio-page .v58-detail-actions{margin-top:9px;gap:8px}body.v56-portfolio-page .v58-detail-actions a{font-size:10px;padding:9px}body.v56-portfolio-page .v58-selector{padding:16px}body.v56-portfolio-page .v58-selector h3{margin:10px 0;font-size:22px}body.v56-portfolio-page .v58-choices{gap:5px}body.v56-portfolio-page .v58-choice{padding:7px;min-height:50px;gap:6px}body.v56-portfolio-page .v58-choice-thumb{width:42px;height:38px;border-radius:7px}body.v56-portfolio-page .v58-choice-copy strong{font-size:10px}body.v56-portfolio-page .v58-choice-copy small{font-size:9px}body.v56-portfolio-page .v58-choice-arrow{display:none}body.v56-portfolio-page .v58-immersive{padding:48px 0}body.v56-portfolio-page .v58-viewer-footnote{font-size:9px}}
@media(max-width:380px){body.v56-portfolio-page .v58-scene{height:355px}body.v56-portfolio-page .v58-side{width:50%}body.v56-portfolio-page .v58-window-label{display:none}body.v56-portfolio-page .v58-detail-card p{-webkit-line-clamp:1}body.v56-portfolio-page .v58-choices{grid-template-columns:1fr}body.v56-portfolio-page .v58-choice{min-height:47px}}
@media(prefers-reduced-motion:reduce){body.v56-portfolio-page .v58-immersive *,body.v56-portfolio-page .v58-immersive *::before{animation:none!important;transition:none!important}}
