.portfolio-section{background:#edf3f5;padding-block:78px 56px;position:relative;isolation:isolate;overflow:hidden}
.portfolio-section[hidden]{display:none}
.portfolio-section:before{content:'';position:absolute;left:-240px;top:100px;width:470px;height:470px;border:55px solid #cbdde4;border-radius:50%;z-index:-1;opacity:.5}
.portfolio-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:45px}
.portfolio-heading h2{font-size:clamp(35px,3.8vw,54px)}
.portfolio-heading-note{display:inline-block;padding:9px 24px 13px;background:var(--blue);color:white;font-size:24px;font-weight:700;white-space:nowrap;transform:rotate(4deg);box-shadow:5px 5px 0 #e72c89;line-height:1.2}
.portfolio-layout{display:grid;grid-template-columns:235px minmax(0,1fr);gap:44px;align-items:start}
.project-selector{display:flex;flex-direction:column;padding:16px 0;background:var(--blue);border-radius:95px 95px 3px 3px;padding-top:65px;position:relative;box-shadow:8px 9px 0 #e72c8920}
.project-selector:before{content:'';position:absolute;top:27px;left:calc(50% - 15px);width:30px;height:4px;background:#ffadd3;transform:rotate(-15deg)}
.project-choice{position:relative;text-align:left;font:700 17px/1.4 Onest,'Segoe UI',sans-serif;padding:15px 22px;color:white;border:0;background:transparent;cursor:pointer;transition:background .2s,transform .2s}
.project-choice:hover{background:#ffffff17}
.project-choice[aria-pressed=true]{background:var(--deep-pink);transform:translateX(-8px) rotate(-2deg);box-shadow:5px 5px 0 #003c7740}
.project-choice:focus-visible{outline-offset:-4px}
.project-gallery{min-width:0}
.project-heading{display:flex;justify-content:space-between;align-items:center;gap:18px}
.project-heading h3{font-size:clamp(28px,2.8vw,40px)}
.project-details{font-size:15px;margin-top:9px;color:var(--muted)}
.project-area{white-space:nowrap}



.project-style{font-size:15px;line-height:1.5;margin-top:15px;color:var(--muted)}
.project-stage-switch{display:inline-flex;gap:0;background:#dce7ed;border-radius:6px;padding:3px;margin:23px 0 23px}
.project-stage-switch button{border:0;border-radius:4px;background:transparent;color:var(--ink);font:700 14px/1.3 Onest,'Segoe UI',sans-serif;padding:12px 17px;cursor:pointer;transition:background .2s,color .2s}
.project-stage-switch button span{font-size:11px;margin-left:7px;opacity:.75}
.project-stage-switch button[aria-pressed=true]{background:var(--deep-pink);color:white}
.project-stage-switch button:hover{background:#c91d7020}
.project-stage-switch button[aria-pressed=true]:hover{background:#a71961}
.project-photo-frame{position:relative;background:white;padding:9px;transform:rotate(-.6deg);box-shadow:8px 8px 0 #0057b81a}
.project-image-button{display:block;position:relative;width:100%;padding:0;border:0;cursor:zoom-in;background:#e6e4e2;aspect-ratio:4/3}
.project-image{width:100%;height:100%;object-fit:contain;display:block}
.project-image-label{position:absolute;top:17px;left:-17px;padding:8px 15px;background:var(--blue);color:white;font-size:13px;font-weight:700;transform:rotate(-3deg);pointer-events:none}

.project-photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 16px}
.project-photo-caption{font-size:17px;font-weight:700;line-height:1.3}

.project-counter{font-size:12px;white-space:nowrap;color:var(--muted);margin-right:5px;font-variant-numeric:tabular-nums}
.photo-arrow{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border:1px solid #0057b82b;border-radius:50%;color:var(--blue);background:white;cursor:pointer;transition:background .2s,color .2s}
.photo-arrow[data-photo-direction='-1'] .icon{transform:rotate(180deg)}
.photo-arrow:hover{background:var(--blue);color:white}
.photo-arrow:disabled{opacity:.35;cursor:default}








.portfolio-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.portfolio-viewer{width:min(1200px,94vw);max-width:94vw;max-height:95dvh;border:0;border-radius:8px;background:#09253e;color:white;padding:20px}
.portfolio-viewer::backdrop{background:#021425eb}
.portfolio-viewer-open{overflow:hidden}
.viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}
.viewer-heading h2{font-size:24px;letter-spacing:-.035em}
.viewer-close{width:42px;height:42px;flex-shrink:0;border:1px solid #ffffff40;border-radius:50%;background:transparent;color:white;font:400 31px/1 Onest,sans-serif;cursor:pointer}
.viewer-close:hover{background:var(--deep-pink)}
.portfolio-viewer .viewer-stage-switch{margin:0 0 12px}
.viewer-image{width:100%;height:auto;max-height:calc(95dvh - 220px);object-fit:contain;min-height:100px}
.viewer-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:14px}
.viewer-caption{text-align:center;font-size:14px;line-height:1.4}
@media(max-width:1150px){.portfolio-layout{grid-template-columns:200px minmax(0,1fr);gap:32px}.project-choice{font-size:16px;padding-inline:18px}.project-heading{align-items:flex-start}}
@media(max-width:940px){.portfolio-layout{grid-template-columns:1fr;gap:28px}.project-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px;border-radius:7px;gap:0}.project-selector:before{display:none}.project-choice{font-size:14px;padding:14px 11px;text-align:center}.project-choice[aria-pressed=true]{transform:rotate(-2deg)}.project-heading h3{font-size:33px}}
@media(max-width:760px){.portfolio-section{padding-block:48px 38px}.portfolio-heading{align-items:flex-start;gap:20px;margin-bottom:29px;flex-wrap:wrap}.portfolio-heading h2{font-size:36px}.portfolio-heading-note{font-size:19px;padding:7px 17px 10px;margin-left:3px}.project-selector{grid-template-columns:repeat(2,minmax(0,1fr));padding:7px}.project-choice{font-size:14px;padding:13px 9px}.project-heading{gap:12px;align-items:center}.project-heading h3{font-size:29px}.project-details{font-size:13px}.project-style{font-size:14px}.project-stage-switch{margin-block:19px}.project-stage-switch button{padding:12px 13px;font-size:13px}.project-photo-frame{padding:6px}.project-image-label{top:12px;left:-10px;padding:6px 10px;font-size:11px}.project-photo-navigation{margin:0 0 14px;gap:10px}.project-photo-caption{font-size:15px}.photo-arrow{width:36px;height:36px}.project-counter{font-size:11px;margin:0}.portfolio-viewer{padding:12px}.viewer-heading h2{font-size:19px}.viewer-caption{font-size:12px}.viewer-image{max-height:calc(95dvh - 220px)}}
@media(max-width:370px){.portfolio-heading h2{font-size:31px}.project-choice{font-size:13px}.project-heading{align-items:flex-start}.project-heading h3{font-size:25px}.project-photo-caption{font-size:14px}.project-stage-switch button{padding-inline:10px}.project-stage-switch button span{margin-left:4px}.project-counter{display:none}}

.project-photo-frame > .photo-arrow{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;box-shadow:0 2px 12px #001a4440;z-index:1}
.project-photo-frame > .photo-arrow[data-photo-direction='-1']{left:20px}
.project-photo-frame > .photo-arrow[data-photo-direction='1']{right:20px}
@media(max-width:760px){.project-photo-frame > .photo-arrow{width:40px;height:40px}.project-photo-frame > .photo-arrow[data-photo-direction='-1']{left:13px}.project-photo-frame > .photo-arrow[data-photo-direction='1']{right:13px}}
