/* V5: one shared visual system for the portfolio and case study. */
:root{--paper:#FCFCFB;--ink:#263b4c;--accent:#27659a;--muted:#52616d;--line:#d8dedf;--blue:#e7f0f4;--rangeme-theme:#ecf5ff;--app-tas-theme:#e2e2ed;--app-dino-theme:#fff0c6;--app-lemon-theme:#d8e3dc;--home-contact-surface:var(--ink);--footer-surface:var(--ink);--sun:#fedb9e;--page-width:1180px;--page-inset:clamp(20px,4vw,56px);--icon-gap:4px;--divider-width:1.5px;--divider-color:var(--ink);--control-radius:4px}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font:16px/1.6 Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.shell,.nav.shell{width:min(var(--page-width),calc(100% - 2*var(--page-inset)));margin-inline:auto}
::selection{background:#cfe4f0;color:var(--ink)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.nav{position:sticky;top:0;z-index:100;isolation:isolate;height:82px;border-bottom:0;background:var(--paper)}
.nav::before{content:"";position:absolute;inset:0 auto 0 50%;z-index:-1;width:100vw;background:var(--paper);transform:translateX(-50%);pointer-events:none}
.nav::after{content:"";position:absolute;left:50%;bottom:0;width:100vw;border-bottom:var(--divider-width) solid var(--divider-color);transform:translateX(-50%);pointer-events:none}
#work,#about{scroll-margin-top:82px}
.nav .monogram{font-size:22px;font-weight:800;letter-spacing:.005em}
.nav .nav-links{gap:34px;font-size:13px;font-weight:650;letter-spacing:.08em}
.nav .nav-links>a:not(.nav-cta):hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:var(--divider-width);text-underline-offset:6px}
.nav .nav-cta{width:auto;height:auto;gap:var(--icon-gap);padding:10px 15px;border:1.5px solid var(--ink);border-radius:var(--control-radius);box-shadow:0 2px 0 var(--ink);background:#fff;font-size:13px;font-weight:750;letter-spacing:.05em}
.nav .nav-cta::after{width:19px;height:19px}
.nav .nav-cta,.v5-button,.v5-footer-cta{line-height:1.2;text-transform:uppercase}
.eyebrow,.section-label,.case-kicker,.case-num{font-size:12px;line-height:1.4;font-weight:750;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.eyebrow span{color:#a6b3bb;margin:0 8px}
.text-link{display:inline-flex;align-items:center;gap:var(--icon-gap);padding-bottom:4px;border-bottom:var(--divider-width) solid currentColor;font-size:14px;font-weight:700;color:var(--ink)}
.v5-link-arrow,.v5-down-arrow{display:inline-block;width:22px;height:22px;flex:none;background-position:center;background-size:contain;background-repeat:no-repeat}
.v5-link-arrow{background-image:url('../assets/Link_arrow.svg')}
.v5-down-arrow{color:inherit}
.text-link:hover{color:var(--accent)}

/* First impression: a clear statement and an early path to the work. */
.v5-hero{padding:92px 0 155px}
.v5-hero .eyebrow{margin:0 0 20px}
.v5-hero h1{max-width:790px;margin:0;font-size:clamp(50px,6.2vw,88px);font-weight:650;line-height:1.03;letter-spacing:-.035em}
.v5-hero h1 .hero-optical-f{display:inline-block;margin-left:.04em}
.v5-hero h1 em{font-style:normal;color:var(--accent)}
.v5-hero .text-link{margin-top:30px;border-bottom-color:transparent}
.v5-hero .text-link:hover{border-bottom-color:currentColor}
.v5-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,350px);gap:25px 60px;align-items:end;margin-bottom:32px}
.v5-section-head .eyebrow{margin:0 0 10px}
.v5-section-head h2,.v5-about h2{margin:0;font-size:clamp(34px,4vw,52px);line-height:1.08;font-weight:650;letter-spacing:-.025em}
.v5-section-head>p{margin:0 0 4px;font-size:15px;line-height:1.55;color:var(--muted)}

/* Work cards share one grid, image frame, type hierarchy, and CTA. */
.v5-work{position:relative;padding:70px 0 100px}
.v5-work::before{content:"";position:absolute;top:0;left:50%;width:100vw;border-top:var(--divider-width) solid var(--divider-color);transform:translateX(-50%);pointer-events:none}
.hero-walker{--walker-width:64px;position:absolute;z-index:1;top:-86px;left:0;width:var(--walker-width);aspect-ratio:80/119;padding:0;border:0;background:none;cursor:pointer;animation:hero-travel 42s linear infinite}
.hero-walker-facing{position:absolute;inset:0;display:block;animation:hero-facing 42s steps(1,end) infinite}
.hero-walker-facing img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;opacity:0;user-select:none}
.hero-walker-facing img:first-child{opacity:1;animation:hero-walk-frame-1 .72s steps(1,end) infinite}
.hero-walker-facing img:nth-child(3){animation:hero-walk-frame-3 .72s steps(1,end) infinite}
.hero-walker .hero-greeting{position:absolute;top:-50px;left:50%;display:block;width:67px;height:58px;max-width:none;transform:translateX(-50%);opacity:0;pointer-events:none;transition:opacity .18s ease}
.hero-walker:is(.is-resting,.is-paused),.hero-walker:is(.is-resting,.is-paused) .hero-walker-facing{animation-play-state:paused}
.hero-walker:is(.is-resting,.is-paused) .hero-walker-facing img{animation:none;opacity:0}
.hero-walker.is-resting .hero-walker-facing img:nth-child(2){opacity:1}
.hero-walker.is-paused .hero-walker-facing img:nth-child(4),.hero-walker.is-paused .hero-greeting{opacity:1}
@keyframes hero-travel{0%{left:0}49.9%,50%{left:calc(100% - var(--walker-width))}99.9%,100%{left:0}}
@keyframes hero-facing{0%,49.9%{transform:scaleX(1)}50%,99.9%{transform:scaleX(-1)}100%{transform:scaleX(1)}}
@keyframes hero-walk-frame-1{0%,49.99%{opacity:1}50%,100%{opacity:0}}
@keyframes hero-walk-frame-3{0%,49.99%{opacity:0}50%,100%{opacity:1}}
.v5-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 24px}
.v5-project{display:flex;flex-direction:column;min-width:0;border:0;border-radius:var(--control-radius);background:transparent;overflow:visible}
.v5-project-image{display:grid;place-items:center;min-width:0;height:320px;padding:32px;border-radius:var(--control-radius);overflow:hidden}
.v5-project-image.blue{background:var(--rangeme-theme)}
.v5-project-image.mint{background:#e9f2ee}
.v5-project-image.peach{background:#f8eee3}
.v5-project-image.sun{background:#fff3d5}
.v5-project-image-ai{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--rangeme-theme)}
.v5-project-image img{display:block;width:100%;max-height:256px;object-fit:contain;filter:drop-shadow(0 12px 16px #263b4c22)}
.v5-project-image.v5-project-image-ai img{width:auto;max-width:calc(50% - 8px);height:100%;max-height:256px;border-radius:var(--control-radius);object-fit:contain}
.v5-project-image-contained img{width:auto;max-width:100%;height:auto;border-radius:var(--control-radius)}
.v5-project-image-rounded img{border-radius:var(--control-radius)}
.v5-project-image.v5-project-image-cropped{padding:0}
.v5-project-image.v5-project-image-cropped img{width:auto;max-width:calc(100% - 48px);height:calc(100% - 24px);max-height:none;align-self:end;justify-self:center;border-radius:var(--control-radius) var(--control-radius) 0 0;object-fit:contain;filter:drop-shadow(0 8px 12px #263b4c20)}
.v5-project-image.v5-project-image-layered{position:relative;padding:0}
.v5-project-image.v5-project-image-layered img{position:absolute;width:auto;height:auto;max-height:none;max-width:none;border-radius:var(--control-radius);object-fit:contain;filter:drop-shadow(0 10px 14px #263b4c26)}
.v5-project-image.v5-project-image-layered .v5-signals-base{top:50%;left:16%;width:auto;height:80%;transform:translateY(-50%)}
.v5-project-image.v5-project-image-layered .v5-signals-overlay{z-index:1;top:50%;right:0;width:auto;height:100%;transform:translateY(-50%)}
.v5-project-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px 0 3px}
.v5-project-copy .eyebrow{margin:0 0 14px}
.v5-project h3{margin:0 0 14px;font-size:clamp(30px,3vw,42px);font-weight:650;line-height:1.12;letter-spacing:-.02em}
.v5-project-copy>p:not(.eyebrow){max-width:430px;margin:0 0 14px;font-size:16px;line-height:1.55;color:var(--muted)}
.v5-project-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.v5-project-tags span{display:inline-flex;align-items:center;padding:5px 10px;border:1px solid #9fc7e2;border-radius:999px;background:#e5f2fb;color:#205b86;font-size:12px;font-weight:650;line-height:1.4}
.v5-project-copy .v5-button{margin-top:18px}
.v5-button{display:inline-flex;align-items:center;gap:var(--icon-gap);margin-top:14px;padding:11px 15px;border:1.5px solid var(--ink);border-radius:var(--control-radius);box-shadow:0 2px 0 var(--ink);background:#fff;font-size:13px;font-weight:750;line-height:1.2;letter-spacing:.05em}
.v5-button:hover{background:var(--ink);color:#fff}
.v5-button:hover .v5-link-arrow{filter:brightness(0) invert(1)}
.v5-more-work{margin-top:34px;border-top:var(--divider-width) solid var(--divider-color)}
.v5-more-work-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;border-bottom:var(--divider-width) solid var(--divider-color);font-size:19px;font-weight:650}
.v5-more-work-row .v5-button{margin-top:0;white-space:nowrap}
.v5-more-work small{display:inline-block;margin-left:14px;font-size:12px;font-weight:500;color:var(--muted)}

/* The interactive career line is intentionally secondary to the work. */
.v5-career-section{padding:84px 0;border-top:var(--divider-width) solid var(--divider-color);border-bottom:var(--divider-width) solid var(--divider-color);background:#f4f7f6}
.v5-career-section .v5-section-head{margin-bottom:28px}
.career-game{position:relative;background:transparent}
.career-board-viewport{overflow-x:auto;overflow-y:hidden}
.career-board{width:100%;min-width:860px;min-height:0;height:310px;aspect-ratio:auto;background:transparent;overflow:hidden}
.career-path{left:0;right:0;top:117px;height:150px;transform:none;background:url('../assets/career-game/connected-board.svg') center/100% 100% no-repeat;clip-path:none;filter:none}
.career-space,.career-space.is-current,.career-space:hover,.career-space:focus-visible{top:139px;width:14.8%;height:66px;aspect-ratio:auto;transform:translate(-50%,-50%);background:none;border:0;border-radius:0;box-shadow:none;filter:none;scale:1;cursor:pointer}
.career-space:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.career-token{top:141px;width:76px;height:112px;aspect-ratio:auto;transform:translate(-50%,-100%);transition:left 1.2s linear,opacity .08s;filter:none}
.career-story{left:2.5%;top:163px;bottom:auto;width:min(730px,76%);height:98px;min-height:0;display:block;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#fff;overflow:hidden}
.career-story-body{display:block}
.career-story-count,.career-story-place{display:inline;color:var(--sun);font:650 13px/1.2 Inter,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.career-story-place{margin-left:13px}
.career-story h2{margin:8px 0 2px;color:#fff;font:700 23px/1.18 Inter,Arial,sans-serif}
.career-story p{margin:0;color:#fff;font:500 15px/1.3 Inter,Arial,sans-serif}
.career-story-progress,.career-story-mobile{display:none}
.v5-game-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:8px}
.career-roll{position:relative;right:auto;bottom:auto;top:auto;display:inline-flex;flex-direction:row;gap:10px;align-items:center;color:#fff;font:750 14px/1 Inter,Arial,sans-serif;filter:none}
.career-die{width:46px;border:3px solid var(--ink);border-radius:8px;padding:6px;box-shadow:inset 0 -3px 0 #e6e5df,0 3px 0 var(--ink)}
.career-die i{width:6px}
.career-roll-label{min-width:70px;margin:0;padding:11px 15px;border:1.5px solid var(--ink);border-radius:3px;background:var(--accent);box-shadow:0 2px 0 var(--ink)}
.v5-game-controls p{margin:0;font-size:13px;color:var(--muted)}

.v5-games{padding:90px 0 98px}
.v5-game-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.v5-game-card{display:flex;flex-direction:column;min-width:0;border:0;border-radius:var(--control-radius);background:transparent;overflow:hidden}
.v5-game-visual{display:flex;align-items:center;justify-content:center;gap:10px;height:320px;padding:26px;border-radius:var(--control-radius);overflow:hidden}
.v5-game-tas{background:var(--app-tas-theme)}.v5-game-yellow{background:var(--app-dino-theme)}.v5-game-sage{background:var(--app-lemon-theme)}
.v5-game-visual img{display:block;max-width:46%;height:260px;object-fit:contain;border-radius:14px;box-shadow:0 10px 20px #263b4c20}
.v5-game-visual img:only-child{max-width:72%}
.v5-game-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px 0 3px}
.v5-game-copy .eyebrow{margin:0 0 12px}
.v5-tool-logos{display:flex;align-items:center;gap:7px;min-height:32px;margin:0}
.v5-tool-logos img{display:block;width:30px;height:30px;object-fit:contain;border-radius:6px}
.v5-tool-logos img[src$="codex.png"]{transform:scale(1.19)}
.v5-game-copy h3{margin:0 0 14px;font-size:25px;line-height:1.2;font-weight:650;letter-spacing:-.015em}
.v5-game-copy>p:not(.eyebrow){margin:0 0 14px;font-size:16px;line-height:1.55;color:var(--muted)}
.v5-game-copy>a{display:inline-block;margin-top:auto;line-height:0}
.v5-game-copy>a img{display:block;width:180px;max-width:100%;height:auto;margin-left:-6px}
.v5-about{padding:90px 0 110px;background:#fff3d5}
.v5-about-inner{display:grid;grid-template-columns:1fr 1fr;gap:55px}
.v5-about-portrait{display:block;width:220px;max-width:100%;height:auto;margin-top:28px;border-radius:12px}
.v5-about .eyebrow{margin:0 0 13px}
.v5-about-inner>div:last-child p{max-width:540px;margin:0 0 18px;font-size:17px;line-height:1.65;color:var(--muted)}
.v5-about .text-link{margin-top:10px}
footer{background:var(--footer-surface);color:var(--ink)}
.v5-footer{display:grid;grid-template-columns:1fr auto;align-items:end;gap:40px;padding:70px 0 0}
.v5-footer .eyebrow{margin:0 0 12px}
.v5-footer h2{margin:0;font-size:clamp(42px,5vw,64px);font-weight:650;line-height:1.05;letter-spacing:-.03em}
.v5-footer-description{max-width:600px;margin:18px 0 0;font-size:17px;line-height:1.6;color:var(--ink)}
.v5-footer-cta{display:inline-flex;align-self:center;align-items:center;justify-content:center;gap:var(--icon-gap);padding:10px 15px;border:1.5px solid var(--ink);border-radius:var(--control-radius);box-shadow:0 2px 0 var(--ink);background:#fff;font-size:13px;font-weight:750;letter-spacing:.05em}
.v5-footer-cta::after{content:"";display:block;width:19px;height:19px;flex:none;background:url('../assets/Coffe_black.svg') center/contain no-repeat}
.v5-footer-cta:hover,.v5-footer-cta:focus-visible{background:var(--ink);color:#fff}
.v5-footer-cta:hover::after,.v5-footer-cta:focus-visible::after{background-image:url('../assets/Coffe_white.svg')}
.v5-footer-bottom{position:relative;isolation:isolate;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:24px 0 28px;margin-top:20px;font-size:12px;color:var(--paper)}
.v5-footer-bottom::before{content:"";position:absolute;inset:0 auto 0 50%;z-index:-1;width:100vw;background:var(--divider-color);transform:translateX(-50%);pointer-events:none}
.v5-footer h2{color:#000}
.v5-linkedin{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}
.v5-linkedin img{display:none}
.v5-linkedin::before{content:"";display:block;width:22px;height:22px;background:url('../assets/brands/linkedin-paper.svg') center/contain no-repeat}

/* The local +1 case study inherits the same tokens, grid, and type. */
.plus-one-case .case-hero{padding-top:68px}
.plus-one-case .case-section{border-top:0}
.plus-one-case .case-figure figcaption{width:min(760px,100%);margin:11px auto 0;text-align:center}
.plus-one-case .case-hero h1{margin-top:0;font-family:Inter,Arial,sans-serif;font-weight:650;letter-spacing:-.035em}
.plus-one-case .standfirst{margin-bottom:35px;font-family:Inter,Arial,sans-serif;font-size:clamp(21px,2.7vw,28px);font-weight:450;line-height:1.5;color:var(--muted)}
.plus-one-case .case-hero .v5-project-tags{margin:0 0 16px}
.plus-one-case .case-meta,.plus-one-case .case-cover,.plus-one-case .case-challenge,.plus-one-case .insight{border-radius:0}
.plus-one-case .case-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 48px;margin:0 0 42px;padding:22px 0;background:transparent;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plus-one-case .case-meta div,.plus-one-case .case-meta div:nth-child(n){min-width:0;padding:0;border:0}
.plus-one-case .case-meta b{display:block;margin-bottom:7px;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.plus-one-case .case-meta span{display:block;font-size:16px;line-height:1.45;color:var(--ink)}
.story-case .campaign-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,4vw,64px);align-items:start}
.story-case .campaign-hero-copy{min-width:0}
.story-case .campaign-hero-copy h1{font-size:clamp(42px,4.8vw,68px);line-height:1.05;white-space:nowrap}
.story-case .campaign-hero-copy .standfirst{margin-bottom:0}
.story-case .case-meta{grid-template-columns:1fr;gap:0;margin:0;padding:0;border-top:0;border-bottom:0}
.story-case .case-meta div:nth-child(n){padding:18px 0;border-bottom:1px solid var(--line)}
.story-case .case-meta div:last-child{border-bottom:0}
.campaign-case{--case-theme:var(--rangeme-theme)}
.campaign-case .case-challenge{background:#27659a;border:0;border-radius:12px;padding:28px 36px}
.campaign-case .case-challenge span{color:#d8ecfa}
.campaign-case .case-challenge strong{color:#fff}

.import-case{--case-theme:#e9f2ee}
.innovation-signals-case{--case-theme:var(--rangeme-theme)}
.add-product-case{--case-theme:#fff3d5}
.buyer-ai-case{--case-theme:var(--rangeme-theme)}
.subscription-tiers-case{--case-theme:#fff3d5}
.plus-one-case .case-cover{background:var(--case-theme,#ecf5ff)}
.plus-one-case .case-content{width:min(760px,calc(100% - 2*var(--page-inset)))}
.plus-one-case .case-content h2,.plus-one-case .result-section h2{font-family:Inter,Arial,sans-serif;font-weight:650}
.story-case .case-section{padding-top:48px;padding-bottom:32px}
.story-case .case-section > .case-figure:last-child{margin-bottom:0}
.campaign-case .campaign-explainer{width:100%;max-width:none;margin:42px auto 0}
.campaign-case .campaign-explainer img{width:100%;max-height:none;height:auto;border:0;border-radius:0;box-shadow:none}
.campaign-case .campaign-findings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0 34px}
.campaign-case .campaign-findings>div{padding:21px;background:#fff;border:1px solid var(--line);border-radius:8px}
.campaign-case .campaign-findings b,.campaign-case .campaign-findings span{display:block}
.campaign-case .campaign-findings b{font-size:13px;color:var(--accent);margin-bottom:9px}
.campaign-case .campaign-findings span{font-size:14px;line-height:1.55;color:var(--muted)}
.campaign-case .campaign-wide-figure,
.campaign-case .case-figure:has(img[src$="/affinity.png"]),
.campaign-case .case-figure:has(img[src$="/flow.png"]){width:100%;max-width:none}
.campaign-case .campaign-wide-figure img,
.campaign-case .case-figure:has(img[src$="/affinity.png"]) img,
.campaign-case .case-figure:has(img[src$="/flow.png"]) img{max-height:none;border-radius:0}
.campaign-case .campaign-wide-figure figcaption,
.campaign-case .case-figure:has(img[src$="/affinity.png"]) figcaption,
.campaign-case .case-figure:has(img[src$="/flow.png"]) figcaption,
.campaign-case .campaign-explainer figcaption{width:min(760px,calc(100% - 2*var(--page-inset)));padding-inline:0}
.campaign-case .campaign-wide-figure a{display:block}
.campaign-case .campaign-design-heading{box-sizing:border-box;width:100%;max-width:none;margin-top:68px;padding:40px var(--page-inset) 8px;background:var(--rangeme-theme);text-align:center}
.campaign-case .campaign-design-heading h3{font-size:clamp(28px,3vw,38px);margin-bottom:12px}
.campaign-case .campaign-design-heading p{max-width:640px;margin:0 auto}
.campaign-case .campaign-design-heading + .campaign-wide-figure{margin-top:0}
.campaign-case .campaign-solution-section{padding-top:0}
.campaign-case .campaign-solution-section .campaign-design-heading{margin-top:0;background:var(--paper)}
.campaign-case .campaign-solution-section .campaign-image-heading{margin-top:0;background:var(--rangeme-theme)}
.campaign-case .campaign-previous-experience .campaign-design-heading{margin-top:0}
.campaign-case .campaign-solution-section .campaign-design-heading:not(.campaign-image-heading){width:min(760px,calc(100% - 2*var(--page-inset)));padding:40px 0 8px;text-align:left}
.campaign-case .campaign-solution-section .campaign-design-heading h2{max-width:none;margin:0 0 16px}
.campaign-case .campaign-solution-points{display:grid;grid-template-columns:1fr;gap:20px;width:100%;margin:28px 0 0;padding:0 0 32px;list-style:none;text-align:left;counter-reset:solution}
.campaign-case .campaign-solution-points[start="4"]{counter-reset:solution 3}
.campaign-case .campaign-solution-section .campaign-wide-figure{margin-bottom:0}
.campaign-case .campaign-walkthrough{padding:64px var(--page-inset) 80px;background:var(--paper)}
.campaign-case .campaign-walkthrough-inner{width:min(100%,960px);margin:auto}
.campaign-case .campaign-walkthrough h3{margin:0 0 8px;font-size:clamp(28px,3vw,38px)}
.campaign-case .campaign-walkthrough p{margin:0 0 24px;color:var(--muted)}
.campaign-case .campaign-walkthrough img{display:block;width:100%;height:auto;border-radius:8px}
.campaign-case .campaign-solution-section .campaign-supplier-solution{padding-top:64px}
.campaign-case .campaign-solution-points li{position:relative;min-width:0;padding-left:42px;counter-increment:solution}
.campaign-case .campaign-solution-points li::before{content:counter(solution);position:absolute;top:0;left:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#fff;font-size:16px;font-weight:700}
.campaign-case .campaign-solution-points strong,.campaign-case .campaign-solution-points span{display:block}
.campaign-case .campaign-solution-points strong{margin-bottom:5px;color:var(--ink);font-size:16px;line-height:1.35}
.campaign-case .campaign-solution-points span{color:var(--muted);font-size:14px;line-height:1.5}
@media(max-width:760px){.campaign-case .campaign-solution-points{grid-template-columns:1fr;gap:18px;padding-bottom:26px}}
.campaign-case .case-figure img,.campaign-case .case-cover img{border:0;outline:0;box-shadow:none}
.campaign-case .case-cover{position:relative;left:50%;width:100vw;min-height:0;margin-top:48px;margin-left:-50vw;padding:clamp(48px,6vw,96px) 0 0;overflow:hidden;background:var(--rangeme-theme)}
.campaign-case .case-cover img{display:block;width:min(var(--page-width),calc(100% - 2*var(--page-inset)));max-width:none;max-height:none;height:auto;margin-inline:auto;filter:none}
.story-case .campaign-result-intro,.story-case .campaign-result-detail{font-size:16px;line-height:1.7;color:var(--muted);max-width:760px}.story-case .campaign-result-intro{margin:-14px 0 18px}.story-case .campaign-result-detail{margin:0 0 18px}.story-case .campaign-result-detail:last-of-type{margin-bottom:38px}
@media(max-width:900px){.story-case .campaign-hero-grid{grid-template-columns:1fr;gap:30px}.story-case .campaign-hero-copy h1{white-space:normal}.story-case .case-meta{margin-top:0}}
@media(max-width:760px){.campaign-case .campaign-findings{grid-template-columns:1fr}}
@media(max-width:600px){.plus-one-case .case-meta,.story-case .case-meta{grid-template-columns:1fr;gap:0;margin-bottom:30px;padding:20px 0}.story-case .case-meta div:nth-child(n){padding:16px 0;border-bottom:1px solid var(--line)}.story-case .case-meta div:first-child{padding-top:0}.story-case .case-meta div:last-child{padding-bottom:0;border-bottom:0}}
.plus-one-case .case-challenge strong,.plus-one-case .insight{font-family:Inter,Arial,sans-serif;font-style:normal;font-weight:550}
.plus-one-case .decision{grid-template-columns:1fr;gap:0}
.plus-one-case .result-section{background:var(--case-theme,#ecf5ff);color:var(--ink)}
.story-case .result-section{background:var(--paper)}
.story-case .result-section > .shell{width:min(760px,calc(100% - 2*var(--page-inset)))}
.story-case .case-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.story-case .case-result{display:flex;flex-direction:column;justify-content:center;padding:20px;background:var(--rangeme-theme);border:0;border-radius:10px}
.story-case .case-result span{max-width:none;font-size:14px;line-height:1.45}
@media(max-width:760px){.story-case .case-results{grid-template-columns:1fr}.story-case .case-result{padding:20px}}
.plus-one-case .case-result{border-color:#263b4c25}
.plus-one-case .case-result strong{font-family:Inter,Arial,sans-serif;font-style:normal;font-weight:700;color:var(--accent)}
.plus-one-case .case-result span{color:var(--muted)}
.plus-one-case .next-project{background:var(--case-theme,#ecf5ff)}
.plus-one-case+footer .footer-inner{padding:64px 0 28px}
.plus-one-case+footer .footer-inner>a{font-family:Inter,Arial,sans-serif;font-size:clamp(44px,5vw,64px);font-weight:650}

@media(max-width:900px){
  .v5-hero{padding:70px 0 145px}
  .v5-game-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .nav{height:68px}.nav .monogram{font-size:19px}.nav .nav-links{gap:10px}.nav .nav-links>a:not(.nav-cta){display:none}.nav .nav-cta{padding:8px 10px;font-size:11px}.nav .nav-cta::after{width:16px;height:16px}#work,#about{scroll-margin-top:68px}
  .v5-hero{padding:62px 0 125px}.v5-hero h1{font-size:clamp(43px,10.5vw,66px)}.hero-walker{--walker-width:48px;top:-65px}.hero-walker .hero-greeting{top:-38px;width:50px;height:43px}
  .v5-section-head{grid-template-columns:1fr;gap:12px}
  .v5-work{padding:58px 0 76px}.v5-projects{grid-template-columns:1fr;gap:40px}.v5-project-image{height:270px;padding:22px}.v5-project-image img{max-height:226px}.v5-project-copy{padding:22px 0 3px}.v5-project h3{font-size:31px}
  .v5-more-work-row{align-items:flex-start;flex-direction:column;gap:12px;font-size:17px}.v5-more-work small{display:block;margin:2px 0 0}
  .v5-career-section{padding:66px 0}.v5-game-controls{flex-direction:column;gap:10px}.career-board{height:290px}
  .v5-games{padding:70px 0}.v5-game-list{grid-template-columns:1fr}.v5-game-visual{height:270px}.v5-game-visual img{height:226px}.v5-about{padding:70px 0 80px}.v5-about-inner{grid-template-columns:1fr;gap:20px}.v5-about-portrait{width:180px;margin-top:22px}.v5-about-inner>div:last-child p{font-size:16px}
  .v5-footer{grid-template-columns:1fr;padding:62px 0 0}.v5-footer-cta{align-self:start;justify-self:start}.v5-footer-bottom{margin-top:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.career-token,.career-token-art,.career-token-art img,.career-die,.hero-walker,.hero-walker-facing,.hero-walker-facing img,.hero-greeting{animation:none!important;transition:none!important}.hero-walker-facing img:first-child,.hero-walker-facing img:nth-child(3),.hero-walker-facing img:nth-child(4){display:none}.hero-walker-facing img:nth-child(2){opacity:1}.hero-walker{cursor:default}}

.story-case:not(.campaign-case) .case-cover{position:relative;left:50%;width:100vw;min-height:0;margin:48px 0 0 -50vw;padding:clamp(48px,6vw,90px) var(--page-inset);border-radius:0;overflow:hidden}
.story-case:not(.campaign-case) .case-cover img{display:block;width:auto;max-width:min(100%,1100px);max-height:620px;height:auto;margin-inline:auto;object-fit:contain;filter:none}
.story-case .case-figure img,.story-case .case-cover img{border:0;outline:0;box-shadow:none}
@media(max-width:600px){.story-case:not(.campaign-case) .case-cover{padding:40px var(--page-inset)}.story-case:not(.campaign-case) .case-cover img{max-height:460px}}
