/* Scoped styles: the rest of the portfolio retains its existing layout. */
.outside-ide{border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.outside-copy h2{font-size:clamp(30px,3.4vw,43px);letter-spacing:-1.3px}
.outside-copy p{font-size:14px;margin-top:19px;max-width:440px}
.outside-interests{list-style:none;display:flex;flex-wrap:wrap;gap:10px;padding:0;margin:25px 0 0}
.outside-interests li{border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:7px 14px;border-radius:30px;font-size:12px;line-height:1.8}
.outside-gallery{width:100%;max-width:430px;justify-self:center;min-width:0;text-align:center}
.outside-stage{height:390px;width:100%;position:relative;isolation:isolate;display:grid;place-items:center;touch-action:pan-y pinch-zoom}
.outside-stack{position:relative;width:270px;height:340px;direction:ltr}
.outside-photo{position:absolute;inset:0;margin:0;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:13px;box-shadow:0 13px 30px var(--shadow);transition:transform .35s ease;pointer-events:none;overflow:hidden;transform-origin:50% 75%}
.outside-photo[data-depth="0"]{transform:rotate(-2deg)}
.outside-photo[data-depth="1"]{transform:translateX(14px) rotate(7deg) scale(.97)}
.outside-photo[data-depth="2"]{transform:translateX(-12px) rotate(-8deg) scale(.94)}
.outside-photo[data-depth="3"]{transform:translateY(-5px) rotate(11deg) scale(.91)}
.outside-image-frame{width:100%;height:100%;position:relative;border-radius:7px;overflow:hidden;background:var(--surface)}
.outside-image-frame img{width:100%;height:100%;object-fit:contain;user-select:none}
.outside-quarter-turn img{position:absolute;left:50%;top:50%;width:322px;height:252px;max-width:none;object-fit:cover;object-position:50% 64%;transform:translate(-50%,-50%) rotate(-90deg)}
.outside-edge{position:absolute;z-index:6;top:10%;height:80%;width:54px;border:0;padding:0;background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;touch-action:manipulation;border-radius:12px}
.outside-left{left:0}.outside-right{right:0}
.outside-edge span{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:50%;font:22px Arial,sans-serif;box-shadow:0 5px 15px var(--shadow);transition:background .2s}
.outside-edge:hover span{background:var(--soft);color:var(--accent)}
.outside-footer{display:flex;justify-content:center;align-items:center;gap:18px;direction:ltr;margin-top:4px}
.outside-counter{font:11px ui-monospace,monospace;color:var(--sand);white-space:nowrap}
.outside-dots{display:flex;gap:1px;direction:ltr}
.outside-dots button{height:44px;width:30px;padding:0;border:0;background:transparent;display:grid;place-items:center}
.outside-dots button:before{content:"";width:6px;height:6px;background:var(--line);border-radius:50%;transition:background .2s,transform .2s}
.outside-dots button[aria-pressed="true"]:before{background:var(--accent);transform:scale(1.5)}
.outside-hint{font-size:11px;color:var(--muted);margin-top:4px}
@media(max-width:1100px){.outside-ide{gap:40px}.outside-stack{width:240px;height:310px}.outside-stage{height:360px}.outside-quarter-turn img{width:292px;height:222px}.outside-edge{width:44px}}
@media(max-width:760px){.outside-ide{grid-template-columns:1fr;gap:25px}.outside-gallery{max-width:370px}.outside-copy h2{font-size:32px}.outside-copy p{font-size:13px}.outside-interests{gap:8px;margin-top:20px}.outside-interests li{font-size:11px;padding:6px 12px}.outside-stage{height:350px}}
@media(max-width:360px){.outside-stack{width:210px;height:280px}.outside-stage{height:320px}.outside-quarter-turn img{width:262px;height:192px}.outside-edge span{width:34px;height:34px}.outside-copy h2{font-size:29px}.outside-edge{width:44px}}
@media(prefers-reduced-motion:reduce){.outside-photo,.outside-edge span,.outside-dots button:before{transition:none}}
