/* Portfolio page only; inherits the site's existing design tokens and components. */
.work-hero{background:radial-gradient(ellipse at 86% 38%,#e2e9df 0,transparent 52%),var(--ivory);padding:100px 0 95px}.work-hero-inner{max-width:1200px}.work-hero h1{max-width:980px;margin-bottom:26px}.work-hero h1 em,.work-intro h2 em,.work-closing h2 em{font-weight:400;color:#718f79}.work-hero p:not(.eyebrow){max-width:680px;font-size:1.15rem;margin-bottom:28px}.work-intro{padding-bottom:68px}.work-intro h2{margin-bottom:17px}.work-intro>div>p:last-child{max-width:790px;font-size:1.07rem}.work-case{padding:80px 0 92px;background:#fff;border-top:1px solid var(--line)}.work-case-alt{background:#edf1e9}.work-case-heading{display:flex;align-items:start;justify-content:space-between;gap:25px;margin-bottom:34px}.work-case-heading h2{font-size:clamp(2.6rem,4.8vw,4.8rem);margin-bottom:12px}.work-long-name{display:block;font-family:var(--sans);font-size:clamp(.9rem,1.5vw,1.15rem);letter-spacing:0;font-weight:500;margin-top:12px}.work-case-tagline{font-family:var(--serif);font-size:clamp(1.3rem,2.2vw,1.8rem);color:var(--forest);margin:0}.work-case-index{font-family:var(--serif);font-size:5.5rem;color:#d5e0d3;line-height:1}.work-case-alt .work-case-index{color:#c6d4c4}.work-case-lead{display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center;margin-bottom:62px}.work-case-visual{min-height:360px;border-radius:7px;overflow:hidden;display:grid;place-items:center;padding:38px;background:#315b49}.work-visual-trot{background:linear-gradient(135deg,#315b49,#9ab49d)}.work-visual-hsm{background:linear-gradient(135deg,#244d3c,#72977b)}.work-ui-window{width:min(100%,470px);height:265px;background:#f4f7f2;border:7px solid #18392d;border-radius:12px;box-shadow:0 18px 35px #102d2560;overflow:hidden;transform:rotate(-2deg)}.work-ui-top{height:30px;background:#173e32;display:flex;gap:5px;align-items:center;padding:0 12px}.work-ui-top i{width:7px;height:7px;border-radius:50%;background:#9db9a2}.work-ui-top span{margin-left:auto;color:#dce7dd;font-size:10px;letter-spacing:.12em}.work-ui-main{display:flex;height:calc(100% - 30px)}.work-ui-side{width:23%;background:#d4e0d3}.work-ui-content{flex:1;padding:25px}.work-ui-heading{height:20px;width:65%;background:#a4bca6;margin-bottom:18px}.work-ui-stat-row{display:flex;gap:10px;margin-bottom:18px}.work-ui-stat-row b{height:55px;flex:1;background:#d9e6d8;border-radius:3px}.work-ui-line{height:8px;background:#c1d4c2;margin:12px 0}.work-ui-line.short{width:75%}.work-case-summary{font-size:1.04rem}.work-case-summary p{margin-bottom:16px}.work-story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:35px 0 38px;border-top:1px solid var(--line)}.work-story-grid h3,.work-case-note h3{font-family:var(--serif);font-size:clamp(1.6rem,2.4vw,2.25rem);font-weight:400;margin-bottom:16px}.work-story-grid p:last-child{margin:0}.work-capabilities{padding:27px 0 40px;border-top:1px solid var(--line)}.work-capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.work-capability-grid span{display:flex;align-items:center;background:#eff3ec;color:var(--hunter);border-radius:4px;padding:13px 15px;font-weight:600;font-size:.9rem}.work-case-alt .work-capability-grid span{background:#fff}.work-case-note{display:grid;grid-template-columns:.75fr 1.25fr;gap:40px;padding:32px 36px;background:#e6ede3;border-radius:7px}.work-case-alt .work-case-note{background:#fff}.work-case-note h3{margin:0}.work-case-note p{margin-bottom:14px}.work-case-note p:last-child{margin-bottom:0}.work-tech{font-size:.82rem;color:#587361;font-weight:700}.work-case-contact{margin:30px 0 0;font-weight:500}.work-case-contact a{font-weight:700;color:var(--hunter);text-underline-offset:5px}.hsm-diagram{width:min(100%,440px);color:#fff;text-align:center}.hsm-central{border:1px solid #d0e0ce;border-radius:9px;background:#173e32;padding:25px;display:flex;flex-direction:column;align-items:center;gap:5px;box-shadow:0 10px 25px #102d2540}.hsm-diagram-label{font-size:.7rem;letter-spacing:.16em;color:#c1d6c3}.hsm-central strong{font-family:var(--serif);font-weight:400;font-size:3.6rem;line-height:1.15}.hsm-central small{color:#d7e6d6}.hsm-connector{height:43px;width:67%;border-left:2px solid #e2eee0;border-right:2px solid #e2eee0;border-top:0;border-bottom:2px solid #e2eee0;margin:0 auto;position:relative}.hsm-connector:before{content:'';position:absolute;height:43px;border-left:2px solid #e2eee0;left:50%;top:0}.hsm-show-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.hsm-show-row span{padding:15px 8px;background:#e5eee3;color:#214835;border-radius:4px;font-size:.8rem;font-weight:700}.work-closing{background:var(--hunter);color:#e7efe8;padding:80px 0}.work-closing-inner{display:flex;justify-content:space-between;align-items:center;gap:45px}.work-closing h2{color:#fff;margin-bottom:22px}.work-closing .eyebrow{color:#bbd0bd}.work-closing p:last-child{max-width:710px;margin:0;font-size:1.07rem}.work-closing .button{flex-shrink:0}@media(max-width:850px){.work-case-lead{gap:30px}.work-story-grid{gap:30px}.work-case-note{gap:25px}.work-capability-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.work-hero{padding:65px 0}.work-hero h1{font-size:clamp(2.7rem,10vw,4.2rem)}.work-case{padding:55px 0}.work-case-heading{margin-bottom:25px}.work-case-index{font-size:3rem}.work-case-lead,.work-story-grid,.work-case-note{grid-template-columns:1fr}.work-case-lead{gap:28px;margin-bottom:38px}.work-case-visual{min-height:280px;padding:24px}.work-ui-window{height:215px}.work-story-grid{gap:30px}.work-case-note{padding:26px}.work-capability-grid{grid-template-columns:1fr}.work-closing-inner{display:block}.work-closing .button{margin-top:28px}}

/* Case study carousels */
.work-carousel{min-width:0;width:100%}.work-carousel-viewport{overflow:hidden;border-radius:7px}.work-carousel-slide{margin:0}.work-carousel-slide[hidden]{display:none!important}.work-carousel-frame{height:355px;background:#315b49;border-radius:7px;overflow:hidden}.work-carousel-illustration{height:100%;width:100%;display:grid;place-items:center;padding:30px}.work-carousel-placeholder{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:28px;text-align:center;background:linear-gradient(135deg,#e6ede3,#cbdccb);color:#173e32}.work-carousel-placeholder span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.work-carousel-placeholder strong{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,3vw,2.4rem)}.work-carousel-placeholder small{max-width:260px;font-size:.8rem;overflow-wrap:anywhere}.work-carousel-slide figcaption{min-height:40px;padding:12px 2px 0;color:#526d5c;font-size:.88rem}.work-carousel-controls{display:flex;align-items:center;gap:14px;justify-content:space-between;padding-top:6px}.work-carousel-arrows{display:flex;gap:8px}.work-carousel-arrow,.work-carousel-dot{appearance:none;cursor:pointer}.work-carousel-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid #a8bcae;border-radius:50%;background:transparent;color:#173e32;font-size:1.2rem}.work-carousel-arrow:hover,.work-carousel-arrow:focus-visible{background:#173e32;color:white}.work-carousel-dots{display:flex;align-items:center;gap:9px}.work-carousel-dot{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#b4c7b7}.work-carousel-dot[aria-current=true]{background:#173e32;outline:2px solid #173e32;outline-offset:3px}.work-carousel-count{color:#526d5c;font-size:.82rem;font-variant-numeric:tabular-nums}.work-carousel :focus-visible{outline:2px solid #173e32;outline-offset:4px}@media(max-width:720px){.work-carousel-frame{height:270px}.work-carousel-illustration{padding:18px}.work-carousel-controls{gap:8px}}

/* TROT real screenshot previews and click-to-enlarge viewer */
.work-image-open{display:block;position:relative;width:100%;height:100%;padding:0;border:0;background:#17211c;cursor:zoom-in;overflow:hidden}
.work-carousel-image{display:block;width:100%;height:100%;object-fit:cover;object-position:top center}
.work-image-hint{position:absolute;right:12px;bottom:12px;padding:8px 12px;border-radius:4px;background:rgba(14,31,22,.87);color:white;font-size:.8rem;font-weight:600}
.work-carousel-slide figcaption strong{display:block;color:#173e32;font-weight:700}.work-carousel-slide figcaption span{display:block;margin-top:3px}
.work-lightbox{position:fixed;inset:3vh 3vw;margin:auto;width:94vw;max-width:1500px;height:94vh;max-height:94vh;padding:0;border:1px solid #718a77;border-radius:8px;background:#111b16;color:#fff;overflow:hidden}
.work-lightbox::backdrop{background:rgba(0,0,0,.86)}
.work-lightbox[open]{display:flex;flex-direction:column}
.work-lightbox-bar,.work-lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:#173e32;color:#fff}
.work-lightbox-bar span{font-weight:600}.work-lightbox button{background:transparent;color:#fff;border:1px solid #9bb7a2;border-radius:5px;padding:8px 12px;cursor:pointer}.work-lightbox button:hover,.work-lightbox button:focus-visible{background:#325b44}
.work-lightbox-image-wrap{flex:1;min-height:0;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:12px}
.work-lightbox-image-wrap img{display:block;max-width:100%;height:auto;max-height:none;object-fit:contain}
.work-lightbox-bottom{justify-content:center}.work-lightbox-bottom span{min-width:70px;text-align:center}
@media(max-width:720px){.work-lightbox{inset:1vh 1vw;width:98vw;height:98vh;max-height:98vh}.work-lightbox-bar,.work-lightbox-bottom{padding:9px}.work-lightbox-bar span{font-size:.85rem}}

.work-carousel-photo { display:block; width:100%; height:100%; object-fit:contain; background:#f4f7f2; }