/* Premium website-design portfolio page. */
.ims-web-portfolio{--portfolio-line:color-mix(in srgb,var(--ims-aqua) 22%,transparent);--portfolio-card:linear-gradient(150deg,color-mix(in srgb,var(--ims-surface) 92%,transparent),var(--ims-bg-secondary));background:var(--ims-bg-primary);color:var(--ims-text-primary)}
.ims-web-portfolio .eyebrow{margin:0;color:var(--aqua);font-size:10px;font-weight:700;line-height:1.5;letter-spacing:.16em;text-transform:uppercase}
.ims-web-portfolio h1,.ims-web-portfolio h2,.ims-web-portfolio h3{text-wrap:balance}
.ims-web-portfolio__hero{position:relative;overflow:hidden;padding:calc(94px + clamp(78px,8vw,132px)) 0 clamp(86px,8vw,132px);border-bottom:1px solid var(--portfolio-line);background:radial-gradient(circle at 80% 28%,color-mix(in srgb,var(--ims-teal) 28%,transparent),transparent 31%),radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--ims-aqua) 10%,transparent),transparent 27%),linear-gradient(145deg,var(--ims-bg-primary),var(--ims-bg-secondary))}
.ims-web-portfolio__hero:after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(color-mix(in srgb,var(--ims-aqua) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ims-aqua) 14%,transparent) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,black,transparent 86%)}
.ims-web-portfolio__hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(58px,7vw,116px);align-items:center}
.ims-web-portfolio__hero-copy h1{max-width:12ch;margin:18px 0 28px;font-size:clamp(48px,5.8vw,88px);line-height:.98;letter-spacing:-.055em}
.ims-web-portfolio__lead{max-width:62ch;margin:0;color:var(--ims-text-secondary);font-size:clamp(17px,1.3vw,21px);line-height:1.78}
.ims-web-portfolio__hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:34px}
.ims-web-portfolio__text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--aqua);font-weight:700;text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--ims-aqua) 46%,transparent)}
.ims-web-portfolio__proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;max-width:650px;margin:42px 0 0;padding:25px 0 0;list-style:none;border-top:1px solid var(--portfolio-line)}
.ims-web-portfolio__proof li{padding-right:24px}.ims-web-portfolio__proof li+li{padding-left:24px;border-left:1px solid var(--portfolio-line)}
.ims-web-portfolio__proof strong{display:block;color:var(--white);font-size:clamp(24px,2.2vw,34px);line-height:1.1;letter-spacing:-.035em}.ims-web-portfolio__proof span{display:block;margin-top:8px;color:var(--ims-text-secondary);font-size:9px;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}
.ims-web-portfolio__hero-stack{position:relative;min-height:560px;isolation:isolate}
.ims-web-portfolio__hero-shot{position:absolute;overflow:hidden;border:1px solid color-mix(in srgb,var(--ims-aqua) 42%,transparent);border-radius:14px;background:var(--ims-bg-secondary);box-shadow:0 38px 90px color-mix(in srgb,var(--ims-ink) 55%,transparent)}
.ims-web-portfolio__hero-shot img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.ims-web-portfolio__hero-shot--one{z-index:3;left:2%;bottom:2%;width:78%;height:70%;transform:rotate(-1.7deg)}
.ims-web-portfolio__hero-shot--two{z-index:2;right:0;top:1%;width:70%;height:61%;transform:rotate(2.1deg);opacity:.9}
.ims-web-portfolio__hero-shot--three{z-index:1;right:4%;bottom:0;width:51%;height:42%;transform:translateY(17%) rotate(3deg);opacity:.68}
.ims-web-portfolio__work{padding:clamp(82px,8vw,132px) 0;background:linear-gradient(180deg,var(--ims-bg-secondary),var(--ims-bg-primary) 34%)}
.ims-web-portfolio__section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(44px,7vw,112px);align-items:end;margin-bottom:52px}
.ims-web-portfolio__section-head h2,.ims-web-portfolio__cta h2{margin:14px 0 0;font-size:clamp(36px,4.1vw,62px);line-height:1.05;letter-spacing:-.048em}
.ims-web-portfolio__section-head>p{margin:0;color:var(--ims-text-secondary);font-size:16px;line-height:1.8}
.ims-web-portfolio__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
.ims-web-portfolio__card{min-width:0;overflow:hidden;border:1px solid var(--portfolio-line);border-radius:14px;background:var(--portfolio-card);box-shadow:0 20px 48px color-mix(in srgb,var(--ims-ink) 22%,transparent);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.ims-web-portfolio__card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--ims-aqua) 64%,transparent);box-shadow:0 28px 70px color-mix(in srgb,var(--ims-ink) 38%,transparent)}
.ims-web-portfolio__screen{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:var(--ims-bg-primary);text-decoration:none}
.ims-web-portfolio__browser{position:absolute;z-index:3;inset:0 0 auto;display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:color-mix(in srgb,var(--ims-bg-primary) 95%,black 5%);border-bottom:1px solid var(--portfolio-line)}
.ims-web-portfolio__browser i{width:6px;height:6px;border-radius:50%;background:var(--ims-text-secondary);opacity:.5}.ims-web-portfolio__browser>span{overflow:hidden;margin-left:5px;color:var(--ims-text-secondary);font-size:9px;line-height:1;white-space:nowrap;text-overflow:ellipsis}
.ims-web-portfolio__screen img{display:block;width:100%;height:100%;padding-top:34px;object-fit:cover;object-position:top;transition:transform .36s ease,filter .36s ease}
.ims-web-portfolio__card:hover .ims-web-portfolio__screen img{transform:scale(1.022);filter:brightness(.82)}
.ims-web-portfolio__open{position:absolute;z-index:4;left:50%;top:53%;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:12px 16px;border:1px solid var(--aqua);border-radius:999px;background:color-mix(in srgb,var(--ims-bg-primary) 88%,transparent);color:var(--white);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;opacity:0;transform:translate(-50%,-42%);transition:opacity .22s ease,transform .22s ease;white-space:nowrap}
.ims-web-portfolio__card:hover .ims-web-portfolio__open,.ims-web-portfolio__screen:focus-visible .ims-web-portfolio__open{opacity:1;transform:translate(-50%,-50%)}
.ims-web-portfolio__card-body{display:flex;flex-direction:column;min-height:300px;padding:25px 24px 27px}
.ims-web-portfolio__meta{display:flex;flex-wrap:wrap;gap:7px 13px;margin-bottom:13px;color:var(--aqua);font-size:8px;font-weight:750;line-height:1.6;letter-spacing:.11em;text-transform:uppercase}.ims-web-portfolio__meta span+span{color:var(--ims-text-secondary)}
.ims-web-portfolio__card h3{margin:0 0 13px;font-size:clamp(23px,1.8vw,29px);line-height:1.14;letter-spacing:-.036em}.ims-web-portfolio__card h3 a{color:var(--white);text-decoration:none}.ims-web-portfolio__card h3 a:hover{color:var(--aqua)}
.ims-web-portfolio__card-body>p{margin:0;color:var(--ims-text-secondary);font-size:14px;line-height:1.72}
.ims-web-portfolio__links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:auto;padding-top:22px;border-top:1px solid var(--portfolio-line)}
.ims-web-portfolio__links a{color:var(--aqua);font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.06em;text-decoration:none;text-transform:uppercase}.ims-web-portfolio__links a:hover{text-decoration:underline;text-underline-offset:5px}.ims-web-portfolio__links .is-secondary{color:var(--white)}
.ims-web-portfolio__cta{padding:clamp(76px,8vw,126px) 0;border-top:1px solid var(--portfolio-line);background:radial-gradient(circle at 88% 25%,color-mix(in srgb,var(--ims-sunset) 15%,transparent),transparent 28%),var(--ims-bg-secondary)}
.ims-web-portfolio__cta-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:52px;align-items:end}.ims-web-portfolio__cta p:not(.eyebrow){max-width:64ch;margin:22px 0 0;color:var(--ims-text-secondary);font-size:17px;line-height:1.8}.ims-web-portfolio__cta-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px 28px}
@media(max-width:1439px){.ims-web-portfolio__hero{padding-top:calc(86px + 72px)}.ims-web-portfolio__hero-grid{grid-template-columns:1fr;gap:58px}.ims-web-portfolio__hero-copy{max-width:900px}.ims-web-portfolio__hero-stack{max-width:940px;width:100%;min-height:580px;margin-inline:auto}.ims-web-portfolio__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ims-web-portfolio__card-body{min-height:285px}}
@media(max-width:900px){.ims-web-portfolio__section-head,.ims-web-portfolio__cta-inner{grid-template-columns:1fr;gap:28px}.ims-web-portfolio__cta-actions{justify-content:flex-start}.ims-web-portfolio__hero-stack{min-height:470px}.ims-web-portfolio__proof{max-width:100%}}
@media(max-width:680px){.ims-web-portfolio__hero{padding-top:calc(82px + 54px);padding-bottom:74px}.ims-web-portfolio__hero-copy h1{font-size:clamp(42px,12vw,62px)}.ims-web-portfolio__lead{font-size:16px}.ims-web-portfolio__proof{grid-template-columns:1fr;gap:15px;padding-top:22px}.ims-web-portfolio__proof li,.ims-web-portfolio__proof li+li{padding:0;border:0}.ims-web-portfolio__proof li+li{padding-top:15px;border-top:1px solid var(--portfolio-line)}.ims-web-portfolio__hero-stack{min-height:315px}.ims-web-portfolio__hero-shot--one{width:88%;height:73%}.ims-web-portfolio__hero-shot--two{width:72%;height:58%}.ims-web-portfolio__hero-shot--three{display:none}.ims-web-portfolio__grid{grid-template-columns:1fr;gap:26px}.ims-web-portfolio__card-body{min-height:0;padding:22px 20px 24px}.ims-web-portfolio__section-head{margin-bottom:34px}.ims-web-portfolio__open{display:none}}
@media(prefers-reduced-motion:reduce){.ims-web-portfolio__card,.ims-web-portfolio__screen img,.ims-web-portfolio__open{transition:none!important}.ims-web-portfolio__card:hover{transform:none}.ims-web-portfolio__card:hover .ims-web-portfolio__screen img{transform:none}}