.portfolio{padding:150px max(5.3vw,24px) 90px;overflow:hidden}.portfolio-intro{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:7vw;margin-bottom:65px}.portfolio h1{font-size:clamp(65px,7.8vw,120px);line-height:.96;letter-spacing:-.065em;margin:22px 0}.portfolio em{font-style:normal;color:#ff7526}.portfolio-lead{position:relative;padding:40px 40px 40px 0}.portfolio-lead>p{position:relative;z-index:1;font-size:20px;line-height:1.55;max-width:440px;text-align:justify}.portfolio-ribbon{position:absolute;width:400px;height:500px;right:-220px;top:-120px;pointer-events:none;transform:translateY(var(--ribbon-y,0px)) rotate(var(--ribbon-r,0deg));transition:transform .15s linear}.portfolio-ribbon path{fill:none;stroke:#ff7526;stroke-width:100;stroke-linecap:round}.portfolio-tools{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:25px}.portfolio-filters{display:flex;gap:10px;flex-wrap:wrap}.portfolio-filters button{border:1px solid #12394355;background:transparent;padding:13px 23px;border-radius:40px;cursor:pointer;color:#123943;font:inherit;transition:background .25s,color .25s}.portfolio-filters button[aria-pressed=true]{background:#125469;color:#fff}.gallery-notice{font-size:11px;max-width:210px;color:#68716c}.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px 28px}.work-card:first-child{grid-column:1/-1}.work-card[hidden]{display:none}.portfolio-grid.filtered .work-card{grid-column:auto}.work-visual{border:0;display:block;width:100%;aspect-ratio:1.42;position:relative;overflow:hidden;border-radius:3px;background:#123a45;cursor:pointer;padding:0;isolation:isolate;clip-path:inset(13% 0 13% 0 round 65px);opacity:0;transition:clip-path 1s cubic-bezier(.2,.7,.2,1),opacity .6s}.work-card.visible .work-visual{clip-path:inset(0 round 3px);opacity:1}.work-card:first-child .work-visual{aspect-ratio:2.35}.portfolio-grid.filtered .work-visual{aspect-ratio:1.42}.work-visual>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.work-visual:hover>img{transform:scale(1.04)}.work-visual.sillon-visual{background:radial-gradient(ellipse at 70% 90%,#226778,transparent 65%),#101719}.sillon-visual>img{object-fit:contain;padding:18%;}.work-liquid{position:absolute;inset:-45%;background:#125469;opacity:.94;border-radius:44% 56% 60% 40%/48% 30% 70% 52%;transform:translate(64%,-64%) rotate(-15deg);transition:transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none}.work-visual:hover .work-liquid,.work-visual:focus-visible .work-liquid{transform:translate(35%,-35%) rotate(10deg)}.work-open{position:absolute;right:32px;top:35px;color:ivory;font-size:16px;opacity:0;transform:translateY(-10px);transition:.35s}.work-visual:hover .work-open,.work-visual:focus-visible .work-open{opacity:1;transform:none}.work-index{position:absolute;bottom:22px;left:25px;color:white;mix-blend-mode:difference;font-size:12px;letter-spacing:.1em}.work-caption{padding-top:17px}.work-caption h2{font-size:25px;letter-spacing:-.045em;margin:0 0 7px}.work-caption p{margin:0;font-size:14px;color:#526060}.gallery-count{margin-top:40px;font-size:12px}.work-viewer{width:min(1100px,94vw);max-height:94vh;border:0;padding:28px;background:#f8f5ed;color:#101719}.work-viewer::backdrop{background:#07171dea;backdrop-filter:blur(8px)}.work-viewer[data-theme=dark]{background:#101719;color:#f8f5ed}.work-viewer>img{width:100%;height:min(65vh,650px);object-fit:contain;display:block}.viewer-close{position:absolute;right:15px;top:12px;background:#f8f5ed;color:#101719;border:0;border-radius:50%;width:42px;height:42px;font-size:28px;cursor:pointer}.work-viewer h2{font-size:28px;margin-bottom:10px}.work-viewer p{font-size:13px}.portfolio button:focus-visible{outline:3px solid #ff7526;outline-offset:4px}@media(max-width:800px){.portfolio-intro{grid-template-columns:1fr;gap:0}.portfolio h1{font-size:75px}.portfolio-lead{padding:10px 0}.portfolio-lead>p{font-size:17px;max-width:90%}.portfolio-ribbon{right:-280px;top:-220px;opacity:.4}.portfolio-tools{display:block}.portfolio-grid{gap:30px 15px}.work-caption h2{font-size:20px}.portfolio{padding-top:115px}}@media(max-width:550px){.portfolio-grid{grid-template-columns:1fr}.work-card:first-child .work-visual{aspect-ratio:1.3}.portfolio-filters button{padding:10px 15px}.portfolio h1{font-size:64px}.work-open{right:20px;top:20px}}@media(prefers-reduced-motion:reduce){.work-visual{clip-path:none;opacity:1}.portfolio *{transition:none!important}.portfolio-ribbon{transform:none}}
.portfolio-ribbon{overflow:visible}

/* Gentle image movement inside the composition, without moving its caption. */
.work-visual>img{transform:translateY(var(--photo-shift,0px)) scale(1.055);transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.work-visual:hover>img{transform:translateY(var(--photo-shift,0px)) scale(1.085)}
.sillon-visual>img{transform:none}.sillon-visual:hover>img{transform:scale(1.035)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.work-visual>img,.work-visual:hover>img{transform:none}}
