/* Actual client screens, framed in UpperVision's visual system. */
.project-feature,.case-hero,.case-cover,.case-brief,.case-scope,.case-experience,.case-outcome,.case-closing{--project-warm:#e3c6a4;position:relative}
.project-feature{padding-top:65px;padding-bottom:82px;isolation:isolate}
.project-feature::before{content:"";position:absolute;inset:8% 0 5%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 72% 48%,#98714920,transparent 62%)}
.project-feature-top{border-top:1px solid var(--line);padding-top:28px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:40px}
.project-feature-top .eyebrow{font-size:11px;color:var(--project-warm)}
.project-category{font-size:11px;color:#a6b2c4;line-height:1.7}
.project-feature-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:6%;align-items:center}
.project-feature-copy h2{font-size:clamp(30px,3.05vw,46px);font-weight:450;line-height:1.22;letter-spacing:-1.6px}
.project-feature-copy h2 span,.case-hero h1 span,.case-section-heading h2 span,.case-outcome h2 span{color:var(--project-warm)}
.project-feature-copy h3{font-size:16px;font-weight:550;letter-spacing:-.25px;margin-top:25px}
.project-feature-copy>p{font-size:14px;line-height:1.9;color:#b4bfd0;margin-top:13px;max-width:430px}
.project-feature-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 24px;margin-top:25px}
.project-button{background:#e3c6a4;color:#191d25;min-height:50px;font-size:13px;gap:20px}
.project-button:hover{background:#f0d6b9}
.project-live-link{font-size:12px;line-height:1.6;gap:10px;min-height:40px;display:inline-flex;align-items:center;width:fit-content}
.project-live-link svg{width:17px;height:17px}
.project-feature-visual,.case-cover figure,.case-screen-grid figure{margin:0;min-width:0}
.project-devices{position:relative;padding-right:10%;padding-bottom:8%;isolation:isolate}
.project-browser{border:1px solid #ffffff2c;border-radius:10px;overflow:hidden;background:#151b25;box-shadow:0 20px 50px #0005}
.project-browser-bar{height:30px;padding:0 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;color:#b8bcc5;background:#171d27;letter-spacing:.1px}
.project-window-dots{display:flex;gap:4px;flex:none}
.project-window-dots i{display:block;width:4px;height:4px;border-radius:50%;background:#7b828d}
.project-browser img{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#29231e}
.project-phone{position:absolute;right:0;bottom:0;width:23%;background:#161b22;border:4px solid #202630;border-radius:15px;overflow:hidden;box-shadow:0 12px 35px #0008;outline:1px solid #ffffff35}
.project-phone img{width:100%;height:auto}
.project-feature-visual>figcaption,.case-cover figcaption{font-size:10px;line-height:1.8;color:#97a5b9;margin-top:15px}
.project-feature-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;border-top:1px solid var(--line);padding-top:23px;margin-top:40px}
.project-feature-notes>div{display:flex;gap:13px;align-items:baseline}
.project-feature-notes span{font-size:10px;color:var(--project-warm)}
.project-feature-notes p{font-size:12px;line-height:1.7;color:#b8c3d2}
.project-related{display:flex;align-items:center;gap:24px;padding:24px;margin-top:30px;border:1px solid #ffffff20;border-radius:10px;background:linear-gradient(110deg,#261f1b80,#101722)}
.project-related>img{width:160px;height:90px;object-fit:cover;border-radius:4px;flex:none}
.project-related>div{flex:1;min-width:0}
.project-related .project-kicker{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#e3c6a4;margin:0 0 8px}
.project-related h3{font-size:18px;line-height:1.4;font-weight:500}
.project-related p:not(.project-kicker){font-size:12px;color:#aeb9cb;line-height:1.7;margin-top:8px}
.project-related>.text-link{font-size:12px;display:inline-flex;align-items:center;gap:12px;flex:none;min-height:44px}
.project-related-wrap{padding-top:0;padding-bottom:36px}
.case-hero{padding-top:34px;padding-bottom:50px}
.project-breadcrumb{display:flex;gap:13px;font-size:11px;color:#9eaabd;margin-bottom:55px;line-height:1.8;flex-wrap:wrap}
.project-breadcrumb a:hover{color:var(--project-warm)}
.case-hero .eyebrow{font-size:10px;margin-bottom:25px;color:#c0b3a6;letter-spacing:1.7px}
.case-hero h1{font-size:clamp(38px,5.25vw,76px);font-weight:450;line-height:1.14;letter-spacing:-2.8px;max-width:1220px}
.case-intro{font-size:16px;line-height:1.85;color:#b7c2d2;max-width:735px;margin-top:28px}
.case-client-name{font-size:12px;line-height:1.8;color:#b2bdcb;margin-top:20px}
.project-external{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.project-external-note{font-size:11px;line-height:1.7;color:#aeb9cb}
.case-hero-actions{display:flex;align-items:center;gap:20px 36px;margin-top:21px;flex-wrap:wrap}
.project-status{display:inline-flex;align-items:center;gap:9px;font-size:10px;line-height:1.7;color:#aebcca}
.project-status::before{content:"";width:5px;height:5px;background:#c8b699;border-radius:50%;flex:none}
.case-cover{padding-bottom:65px;background:radial-gradient(ellipse at 55% 40%,#7851322a,transparent 67%)}
.case-cover .project-devices{max-width:1180px;margin:auto;padding-right:7%;padding-bottom:4%}
.case-cover .project-phone{width:18%}
.case-cover figcaption{text-align:center;font-size:11px;margin-top:22px}
.case-brief{padding-top:65px;padding-bottom:65px;display:grid;grid-template-columns:1fr 1fr;gap:9%;border-top:1px solid var(--line)}
.case-brief .eyebrow,.case-section-heading .eyebrow,.case-outcome .eyebrow{font-size:10px;color:#c0b3a6;margin-bottom:23px}
.case-brief h2,.case-section-heading h2,.case-outcome h2{font-size:clamp(30px,3.4vw,49px);font-weight:450;line-height:1.2;letter-spacing:-1.5px}
.case-brief>div:last-child p{color:#b7c2d2;font-size:15px;line-height:1.95;margin-bottom:18px}
.case-scope{padding-top:45px;padding-bottom:72px}
.project-scope-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px;margin:38px 0 0}
.project-scope-list>div{padding:26px 0;border-top:1px solid var(--line)}
.project-scope-list dt{font-size:18px;line-height:1.5;color:#f0f3f7;margin-bottom:12px}
.project-scope-list dd{font-size:14px;line-height:1.9;color:#b0bdcf;max-width:460px;margin:0}
.project-scope-note{font-size:11px;line-height:1.85;color:#9ba9bd;max-width:740px;border-left:1px solid #9e7959;padding-left:18px;margin-top:12px}
.case-experience{padding-top:60px;padding-bottom:72px;border-top:1px solid var(--line)}
.case-screen-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:40px}
.case-screen-grid figcaption{margin-top:25px}
.case-screen-grid figcaption h3{font-size:20px;font-weight:450;letter-spacing:-.5px;line-height:1.5;margin-bottom:12px}
.case-screen-grid figcaption p{font-size:13px;line-height:1.9;color:#b0bdcf;max-width:490px}
.case-outcome{padding-top:30px;padding-bottom:78px}
.case-outcome-inner{border:1px solid #ddc09d30;border-radius:12px;padding:48px;background:radial-gradient(ellipse at 100% 0,#9170512b,transparent 75%),#10151f}
.case-outcome-inner>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#b7c2d2;max-width:660px;margin:24px 0 16px}
.case-closing{padding-top:70px;padding-bottom:80px;text-align:center;border-top:1px solid var(--line)}
.case-closing .eyebrow{justify-content:center;font-size:11px;margin-bottom:22px}
.case-closing h2{font-size:clamp(38px,5.2vw,70px);line-height:1.15;letter-spacing:-2.5px;font-weight:450}
.case-closing h2 span{color:#72c8e1}
.case-closing>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#b7c2d2;max-width:460px;margin:23px auto 28px}
.case-closing>.text-link{display:table;margin:23px auto 0;font-size:12px;min-height:35px}
.project-entered{animation:project-reveal .65s ease-out both}
@keyframes project-reveal{from{opacity:.5;transform:translateY(12px)}to{opacity:1;transform:none}}
.motion-paused .project-entered{animation:none}
@media(min-width:761px) and (max-width:1100px){.project-feature-grid{grid-template-columns:1fr;gap:36px}.project-feature-copy{max-width:670px}.project-feature-copy h2{font-size:42px}.project-feature-copy>p{max-width:620px}.project-feature-visual{max-width:780px;width:100%;margin:auto}.project-feature-copy h2 br{display:none}.project-feature-copy h2 span::before{content:' '}.project-related{gap:18px}.project-related>img{width:120px;height:68px}.project-related h3{font-size:16px}.case-screen-grid{gap:25px}}
@media(max-width:760px){.project-feature{padding-top:28px;padding-bottom:52px}.project-feature-top{display:block;margin-bottom:29px;padding-top:23px}.project-category{display:block;margin-top:8px;font-size:10px}.project-feature-grid{grid-template-columns:1fr;gap:31px}.project-feature-copy h2{font-size:34px;letter-spacing:-1.4px}.project-feature-copy h3{font-size:16px;margin-top:21px}.project-feature-copy>p{font-size:13px}.project-feature-actions{gap:15px 23px;margin-top:21px}.project-feature-visual>figcaption{font-size:10px}.project-browser-bar{height:25px;font-size:7px;padding:0 8px}.project-window-dots{gap:3px}.project-window-dots i{width:3px;height:3px}.project-browser{border-radius:7px}.project-phone{border-width:3px;border-radius:10px}.project-feature-notes{grid-template-columns:1fr;gap:13px;margin-top:25px;padding-top:20px}.project-feature-notes p{font-size:12px}.project-related{display:grid;grid-template-columns:90px 1fr;gap:15px;padding:20px}.project-related>img{width:90px;height:auto;align-self:start}.project-related .project-kicker{font-size:9px}.project-related h3{font-size:15px}.project-related>.text-link{grid-column:1/-1;justify-self:start;margin:0}.project-related p:not(.project-kicker){font-size:11px}.case-hero{padding-top:26px;padding-bottom:32px}.project-breadcrumb{margin-bottom:36px;font-size:10px}.case-hero .eyebrow{font-size:9px;letter-spacing:1px;max-width:310px;line-height:1.9;margin-bottom:21px}.case-hero h1{font-size:37px;letter-spacing:-1.65px;line-height:1.15}.case-intro{font-size:13px;line-height:1.9;margin-top:24px}.case-hero-actions{gap:12px 20px}.case-cover{padding-bottom:39px}.case-cover .project-devices{padding-right:10%;padding-bottom:8%}.case-cover .project-phone{width:23%}.case-cover figcaption{text-align:left;font-size:10px;margin-top:17px}.case-brief{grid-template-columns:1fr;gap:24px;padding-top:38px;padding-bottom:29px}.case-brief h2,.case-section-heading h2,.case-outcome h2{font-size:32px;letter-spacing:-1.4px}.case-brief>div:last-child p{font-size:13px;line-height:1.9}.case-scope{padding-top:23px;padding-bottom:38px}.project-scope-list{grid-template-columns:1fr;margin-top:26px}.project-scope-list>div{padding:21px 0}.project-scope-list dt{font-size:17px;margin-bottom:9px}.project-scope-list dd{font-size:13px}.project-scope-note{font-size:10px;padding-left:13px}.case-experience{padding-top:39px;padding-bottom:39px}.case-screen-grid{grid-template-columns:1fr;gap:32px;margin-top:28px}.case-screen-grid figcaption{margin-top:20px}.case-screen-grid figcaption h3{font-size:19px}.case-screen-grid figcaption p{font-size:12px}.case-outcome{padding-top:12px;padding-bottom:40px}.case-outcome-inner{padding:28px 22px}.case-outcome h2{font-size:29px}.case-outcome-inner>p:not(.eyebrow){font-size:13px}.case-closing{padding-top:41px;padding-bottom:45px}.case-closing h2{font-size:39px;letter-spacing:-1.8px}.case-closing>p:not(.eyebrow){font-size:13px}.case-closing .eyebrow{font-size:9px;letter-spacing:1.3px}}
/* On small screens, let visitors see the work before reading the project summary. */
@media(max-width:760px){.project-feature-grid{gap:19px}.project-feature-copy{display:contents}.project-feature-copy h2{grid-row:1}.project-feature-visual{grid-row:2;margin:3px 0 7px}.project-feature-copy h3{grid-row:3;margin:0}.project-feature-copy>p{grid-row:4;margin:0}.project-feature-actions{grid-row:5;margin:3px 0 0}}
@media(max-width:380px){.project-feature-copy h2{font-size:30px}.project-feature-actions{align-items:flex-start;flex-direction:column;gap:12px}.project-feature-actions .button{width:100%}.case-hero h1{font-size:33px}.case-brief h2,.case-section-heading h2{font-size:29px}.case-outcome h2{font-size:26px}.case-closing h2{font-size:35px}}
@media(prefers-reduced-motion:reduce){.project-entered{animation:none}.project-feature .button{transition:none;transform:none}}

/* Confirmed contact routes; these are parallel options, not an automated sequence. */
.case-connections{display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;gap:40px;margin-top:38px;padding:28px 30px;border:1px solid #d5c1ab24;border-radius:9px;background:linear-gradient(110deg,#241e183b,#11192680)}
.case-connection-source{display:flex;align-items:center;gap:15px;color:#dfc8ab;font-size:14px}.case-connection-source svg{width:26px;height:26px}.case-connections ul{list-style:none;padding:0;margin:0;display:grid;gap:20px;position:relative;border-left:1px solid #e3c6a43a}
.case-connections li{display:flex;align-items:center;gap:15px;padding-left:25px;position:relative}.case-connections li::before{content:'';position:absolute;left:0;top:50%;width:13px;border-top:1px solid #e3c6a43a}.case-connections li>svg{color:#8ec9b4;width:21px;height:21px}.case-connections li:last-child>svg{color:#93c8df}.case-connections h3{font-size:14px;font-weight:500;letter-spacing:0;line-height:1.6}.case-connections li p{font-size:12px;color:#b5c2d3;line-height:1.8;margin-top:4px}
@media(max-width:760px){.case-connections{grid-template-columns:1fr;gap:25px;padding:23px;margin-top:27px}.case-connection-source{font-size:13px}.case-connections li{padding-left:20px;gap:12px}.case-connections h3{font-size:13px}.case-connections li p{font-size:12px}}
