:root{--ink:#102820;--paper:#f3f1e9;--lime:#c8f45d;--orange:#ee6a3c;--muted:#607068;--line:#ced1c7;--white:#fff;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.skip{position:fixed;top:-50px;left:20px;background:#fff;padding:10px;z-index:99}.skip:focus{top:10px}.site-header{height:88px;max-width:1440px;margin:auto;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:11px;line-height:.85}.brand span{display:grid;place-items:center;background:var(--ink);color:var(--lime);width:42px;height:42px;border-radius:50%;font:800 15px Manrope}.brand b{font:800 14px Manrope;text-transform:uppercase}.site-header nav{display:flex;gap:34px;font-weight:600;font-size:14px}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--orange);transition:.25s}.site-header nav a:hover:after{right:0}.header-cta{background:var(--ink);color:white;padding:12px 18px;border-radius:99px;font-weight:700}.header-cta span{color:var(--lime);margin-left:8px}.menu{display:none;background:none;border:0}.hero{min-height:720px;max-width:1440px;margin:auto;padding:80px 6vw 75px;display:grid;grid-template-columns:1.07fr .93fr;align-items:center;gap:7vw;overflow:hidden}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:800;display:flex;align-items:center;gap:10px}.eyebrow span{width:28px;height:2px;background:var(--orange)}h1,h2,h3{font-family:Manrope,sans-serif;margin:0;line-height:1.05;letter-spacing:-.045em}h1{font-size:clamp(54px,6.4vw,96px);max-width:850px}h1 em,h2 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.hero-lead{max-width:670px;font-size:18px;color:var(--muted);margin:27px 0 30px}.hero-actions{display:flex;align-items:center;gap:25px}.button{padding:15px 20px;border-radius:99px;font-weight:800;display:inline-flex;gap:30px}.primary{background:var(--orange);color:white}.text-link{font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:4px}.hero-meta{display:flex;margin-top:62px;border-top:1px solid var(--line);padding-top:22px;gap:45px}.hero-meta div{display:flex;flex-direction:column}.hero-meta strong{font:800 25px Manrope}.hero-meta span{font-size:12px;color:var(--muted)}.hero-visual{position:relative;min-height:560px}.portrait-wrap{position:absolute;width:76%;right:10%;top:0;transform:rotate(3deg);background:var(--lime);padding:12px 12px 54px;border-radius:45% 45% 18px 18px;box-shadow:18px 18px 0 var(--ink)}.portrait-wrap img{aspect-ratio:1/1.14;object-fit:cover;object-position:center top;border-radius:44% 44% 12px 12px;filter:saturate(.85)}.status{position:absolute;bottom:15px;left:24px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.status:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#37b24d;margin-right:8px}.orbit-card{position:absolute;background:white;padding:14px 18px;border:1px solid var(--ink);box-shadow:7px 7px 0 var(--ink);display:grid;min-width:175px;z-index:2}.orbit-card span{font-size:10px;color:var(--orange);font-weight:800}.orbit-card b{font:800 15px Manrope}.orbit-card small{color:var(--muted)}.card-one{left:0;top:20%}.card-two{right:0;bottom:12%}.scribble{position:absolute;width:150px;left:-5%;bottom:1%;fill:none;stroke:var(--orange);stroke-width:3}.marquee{background:var(--ink);color:white;overflow:hidden;white-space:nowrap;padding:15px 0;font:700 13px Manrope;letter-spacing:.12em;text-transform:uppercase}.marquee div{width:max-content;animation:scroll 25s linear infinite}.marquee i{color:var(--lime);font-style:normal;margin:0 22px}@keyframes scroll{to{transform:translateX(-50%)}}.section{padding:110px max(5vw,calc((100vw - 1320px)/2));}.section-heading{max-width:720px;margin-bottom:55px}.section-heading h2,.about h2,.contact h2{font-size:clamp(42px,5vw,72px)}.section-heading>p:last-child{color:var(--muted);max-width:570px}.horizontal{max-width:none;display:flex;align-items:end;justify-content:space-between;gap:50px}.horizontal>p{max-width:420px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service{border:1px solid var(--line);border-radius:var(--radius);padding:30px;min-height:430px;display:flex;flex-direction:column;position:relative;background:rgba(255,255,255,.25);transition:.3s}.service:hover{transform:translateY(-7px);box-shadow:0 18px 50px #10282015}.service.featured{background:var(--ink);color:white}.service-no{position:absolute;right:25px;top:23px;font-size:12px}.service-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;background:var(--lime);color:var(--ink);font:800 24px Manrope;margin-bottom:55px}.service h3{font-size:25px}.service p{font-size:14px;color:var(--muted)}.featured p{color:#b7c4be}.service ul{list-style:none;padding:0;margin:auto 0 0;border-top:1px solid var(--line)}.service li{border-bottom:1px solid var(--line);padding:10px 0;font-size:13px}.featured li{border-color:#40554d}.work{background:white}.projects{display:grid;grid-template-columns:1fr 1fr;gap:25px}.project{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}.project-large{grid-column:1/-1;display:grid;grid-template-columns:1.35fr .65fr}.project-art{min-height:330px;overflow:hidden}.project-large .project-art{min-height:480px}.project-art.image img{width:100%;height:100%;object-fit:cover;transition:.5s}.project:hover .project-art.image img{transform:scale(1.04)}.project-art.green{background:#ddefc9}.project-copy{padding:35px}.project-copy h3{font-size:31px;margin:14px 0}.project-copy p{color:var(--muted)}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span{border:1px solid var(--line);padding:5px 9px;border-radius:99px;font-size:10px;text-transform:uppercase;font-weight:800}.outcomes{display:grid;gap:9px;margin-top:32px;border-top:1px solid var(--line);padding-top:20px;font-size:12px}.outcomes span{display:flex;justify-content:space-between}.outcomes b{text-transform:uppercase}.gama{background:#d8f183;padding:55px;display:grid;place-items:center}.browser{background:#fff;width:95%;height:360px;border:2px solid var(--ink);border-radius:10px;box-shadow:14px 14px 0 var(--ink);overflow:hidden;transform:rotate(-2deg)}.browser-top{height:28px;background:#edece6;border-bottom:1px solid var(--ink);display:flex;gap:5px;align-items:center;padding:8px}.browser-top i{width:7px;height:7px;background:var(--orange);border-radius:50%}.shop-ui{height:calc(100% - 28px);position:relative;padding:18px}.shop-nav{font:900 23px Manrope}.shop-nav span{float:right;font-size:7px;letter-spacing:.1em}.tool-shape{position:absolute;left:8%;bottom:0;width:48%;height:70%;border-radius:50% 50% 0 0;background:var(--ink);color:var(--lime);display:grid;place-items:center;font:800 100px Manrope}.ui-lines{position:absolute;right:7%;top:35%;display:grid;gap:12px;width:35%}.ui-lines b{height:8px;background:#ddd}.ui-lines b:first-child{height:20px;background:var(--ink)}.ui-lines button{border:0;background:var(--orange);color:#fff;padding:10px;font-weight:800}.about{background:var(--ink);color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:10vw}.about-intro>p:not(.eyebrow){color:#b7c4be;max-width:520px}.light span{background:var(--lime)}.light-button{background:var(--lime);color:var(--ink);margin-top:22px}.timeline{border-top:1px solid #496058}.timeline article{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:25px 0;border-bottom:1px solid #496058}.timeline article>span{font-size:11px;color:var(--lime);font-weight:800}.timeline h3{font-size:21px}.timeline p{margin:6px 0;font-weight:700}.timeline small{color:#aebcb6}.skill-cloud{display:flex;flex-wrap:wrap;gap:12px}.skill-cloud span{border:1px solid var(--ink);border-radius:99px;padding:13px 20px;font-weight:700;transition:.25s}.skill-cloud span:nth-child(3n){background:var(--lime)}.skill-cloud span:hover{background:var(--orange);color:white;transform:translateY(-3px)}.contact{padding:110px max(5vw,calc((100vw - 1320px)/2));background:var(--orange);color:white}.contact h2 em{color:var(--lime)}.contact-bottom{margin-top:70px;padding-top:25px;border-top:1px solid #ffffff70;display:flex;justify-content:space-between;align-items:center}.contact-bottom p{max-width:470px}.contact-bottom a{font:700 clamp(18px,2.3vw,31px) Manrope;border-bottom:2px solid white}.contact-bottom a span{color:var(--lime)}footer{padding:35px max(5vw,calc((100vw - 1320px)/2));display:flex;justify-content:space-between;align-items:center;font-size:12px}.footer-brand span{background:var(--orange);color:white}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header nav,.header-cta{display:none}.menu{display:block}.menu i{display:block;width:25px;height:2px;background:var(--ink);margin:6px}.site-header.open nav{display:flex;position:absolute;top:88px;left:0;right:0;background:var(--paper);padding:25px 5vw;flex-direction:column;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;padding-top:60px}.hero-visual{min-height:530px}.service-grid{grid-template-columns:1fr}.service{min-height:360px}.project-large{grid-template-columns:1fr}.about{grid-template-columns:1fr}.horizontal{display:block}.horizontal>p{margin-top:20px}.contact-bottom{display:block}.contact-bottom a{display:inline-block;margin-top:20px}}
@media(max-width:600px){.site-header{height:74px}.site-header.open nav{top:74px}.hero{padding:45px 20px 55px}.hero-meta{gap:20px;justify-content:space-between}.hero-meta strong{font-size:20px}.hero-visual{min-height:420px}.portrait-wrap{width:78%;right:10%;box-shadow:10px 10px 0 var(--ink)}.orbit-card{min-width:145px;padding:10px}.card-one{top:12%}.section,.contact{padding:75px 20px}.projects{grid-template-columns:1fr}.project-large{grid-column:auto}.project-large .project-art{min-height:350px}.gama{padding:25px}.browser{height:270px}.project-copy{padding:25px}.about{gap:60px}.timeline article{grid-template-columns:1fr;gap:8px}.contact-bottom a{font-size:15px}footer{padding:30px 20px;align-items:flex-start;gap:20px;flex-wrap:wrap}footer>p:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Authentic GAMA case-study screens */
.gama.real-screens{background:#d8f183;padding:45px;display:block;position:relative}
.screen{position:absolute;background:#fff;border:2px solid var(--ink);border-radius:11px;box-shadow:13px 13px 0 var(--ink);overflow:hidden}
.screen-main{width:75%;height:365px;left:5%;top:42px;transform:rotate(-2deg)}
.screen-shop{width:48%;height:265px;right:4%;bottom:24px;transform:rotate(3deg);z-index:2}
.screen img{width:100%;height:calc(100% - 28px);object-fit:cover;object-position:top}
.screen .browser-top{transform:none}
.browser-top span{font-size:8px;color:#65746e;margin-left:7px}
.browser-top i:nth-child(2){background:#f3c64b}
.browser-top i:nth-child(3){background:#6fbe63}
.live-label{position:absolute;left:8%;bottom:25px;background:var(--orange);color:white;border:2px solid var(--ink);padding:8px 12px;border-radius:99px;font:800 10px Manrope;text-transform:uppercase;letter-spacing:.08em;z-index:3;transform:rotate(-3deg)}
.project-link{display:inline-flex;gap:30px;margin-top:12px;border-bottom:1px solid var(--ink);font-weight:800;padding-bottom:4px}
.project-link span{color:var(--orange)}
@media(max-width:600px){.gama.real-screens{padding:20px}.screen-main{width:88%;height:265px;left:4%;top:30px}.screen-shop{width:57%;height:175px;right:3%;bottom:20px}.live-label{left:6%;bottom:18px}}
.concept-art{min-height:330px;background:var(--ink);color:white;padding:45px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.concept-art:after{content:"";position:absolute;width:230px;height:230px;border:45px solid var(--lime);border-radius:50%;right:-70px;top:-70px}.concept-art span{font:800 13px Manrope;color:var(--lime);letter-spacing:.15em}.concept-art b{font:800 42px/1 Manrope;letter-spacing:-.04em;margin:12px 0}.concept-art i{font-style:normal;color:#aebcb6;font-size:12px}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:55px}.credentials div{border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column}.credentials small{text-transform:uppercase;letter-spacing:.12em;color:var(--orange);font-weight:800}.credentials b{font:800 19px Manrope;margin:8px 0 3px}.credentials span{color:var(--muted);font-size:13px}.contact-links{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.contact-links a{width:max-content}@media(max-width:700px){.credentials{grid-template-columns:1fr}.contact-links{align-items:flex-start}.contact-links a{font-size:15px}}

/* Organizations banner */
.brand-banner{padding:85px max(5vw,calc((100vw - 1320px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand-banner-head{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:40px;align-items:center;margin-bottom:38px}.brand-banner-head h2{font-size:clamp(26px,3vw,42px)}.brand-banner-head>p:last-child{color:var(--muted);font-size:13px;max-width:390px}.brand-rail-wrap{overflow:hidden;position:relative}.brand-rail-wrap:before,.brand-rail-wrap:after{content:"";position:absolute;z-index:2;top:0;bottom:0;width:40px;pointer-events:none}.brand-rail-wrap:before{left:0;background:linear-gradient(90deg,#fff,transparent)}.brand-rail-wrap:after{right:0;background:linear-gradient(-90deg,#fff,transparent)}.brand-rail{display:grid;grid-template-columns:repeat(9,minmax(170px,1fr));min-width:1530px;border:1px solid var(--line);border-radius:18px;overflow:hidden}.org-logo{height:125px;padding:22px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border-right:1px solid var(--line);transition:.25s}.org-logo:last-child{border:0}.org-logo:hover{background:var(--ink);color:white}.org-logo b{font:800 20px Manrope;letter-spacing:-.04em}.org-logo b i{display:block;font-style:normal;font-size:9px;letter-spacing:.16em;color:var(--orange)}.org-logo small{font-size:9px;color:var(--muted);margin-top:9px}.org-logo:hover small{color:#b7c4be}.levio b{color:#e8523d}.soljit b{color:#3772e7}.gama-logo b{color:#096bad}.gama-logo b i{color:#ff7a00}.eadn b{letter-spacing:.15em}.invest b{color:#198754}.gecf-logo b{color:#238a70}.ministry b{color:#9b722d}.sport b{color:#245ca6}.esi b{color:#a82d39}@media(max-width:900px){.brand-banner-head{grid-template-columns:1fr}.brand-rail-wrap{overflow-x:auto;padding-bottom:10px}.brand-rail{min-width:1450px}}@media(max-width:600px){.brand-banner{padding:65px 20px}.brand-banner-head{gap:15px}}

.project-links{display:flex;flex-wrap:wrap;gap:10px}.flow-link{color:var(--orange)}.flow-teaser{margin-top:20px;border:1px solid var(--ink);border-radius:13px;padding:13px;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;background:var(--ink);color:white;transition:.25s}.flow-teaser:hover{transform:translateY(-3px);box-shadow:6px 6px 0 var(--lime)}.flow-teaser>i{width:40px;height:40px;border-radius:10px;background:var(--lime);color:var(--ink);display:grid;place-items:center;font:800 15px Manrope;font-style:normal}.flow-teaser div{display:flex;flex-direction:column}.flow-teaser b{font:800 12px Manrope}.flow-teaser small{font-size:9px;color:#b7c4be}.flow-teaser>span{font:800 9px Manrope;color:var(--lime)}

.org-logo img{display:block;width:118px;height:58px;object-fit:contain;margin-bottom:5px;filter:saturate(.92);transition:.25s}.org-logo:hover img{filter:none;transform:scale(1.05)}.org-logo:hover{background:#f7f7f3;color:var(--ink)}.org-logo:hover small{color:var(--muted)}.verified-wordmark{font:800 20px Manrope;line-height:.8}.verified-wordmark em{display:block;font-style:normal;font-size:7px;letter-spacing:.12em;color:var(--orange);margin-top:7px}.gov-seal{width:38px;height:38px;border:2px solid #1d7a47;color:#1d7a47;border-radius:50%;display:grid;place-items:center;font:800 11px Manrope;margin-bottom:4px}.ministry b{font-size:11px;letter-spacing:0}.org-logo:nth-child(6) img{width:105px;height:64px}.org-logo:nth-child(8) img,.org-logo:nth-child(9) img{width:70px;height:62px}

.compact-brand>div{display:flex;align-items:center;gap:8px}.compact-brand>div img{width:42px;height:42px;margin:0}.compact-brand>div b{font-size:15px}.compact-brand.ministry>div img{width:45px;height:45px}.compact-brand.ministry>div b{font-size:10px;letter-spacing:.08em}.org-logo:nth-child(5) img{width:125px;height:58px}

/* Detailed CV page */
.cv-page{background:#f7f5ee}.cv-hero{max-width:1320px;margin:auto;padding:90px 5vw;display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw}.cv-hero h1{font-size:clamp(58px,7vw,105px)}.cv-summary{padding-top:35px}.cv-summary h2{font-size:clamp(25px,3vw,42px);margin-bottom:25px}.cv-summary>p{color:var(--muted);font-size:17px}.cv-contact{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.cv-contact>*{border:1px solid var(--line);border-radius:99px;padding:8px 13px;font-size:12px;font-weight:700}.cv-impact{background:var(--ink);color:white;padding:35px max(5vw,calc((100vw - 1320px)/2));display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.cv-impact div{display:flex;align-items:center;gap:18px}.cv-impact strong{font:800 38px Manrope;color:var(--lime)}.cv-impact span{font-size:12px}.cv-section{padding:110px max(5vw,calc((100vw - 1320px)/2))}.cv-section-title{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;margin-bottom:70px}.cv-section-title h2{font-size:clamp(40px,5vw,70px)}.cv-section-title h2 em{font-family:Georgia,serif;font-weight:400;color:var(--orange)}.cv-roles{border-top:1px solid var(--line)}.cv-role{display:grid;grid-template-columns:280px 1fr;gap:60px;padding:55px 0;border-bottom:1px solid var(--line)}.cv-role aside{display:flex;flex-direction:column;align-items:flex-start}.cv-role aside span{font:800 11px Manrope;color:var(--orange)}.cv-role aside b{font:800 19px Manrope;margin-top:16px}.cv-role aside small,.cv-role li{color:var(--muted)}.cv-role h3{font-size:30px;margin-bottom:15px}.cv-role h4{font:800 12px Manrope;text-transform:uppercase;letter-spacing:.1em;margin:28px 0 10px;color:var(--orange)}.cv-role .context{color:var(--muted);border-left:3px solid var(--lime);padding-left:18px}.cv-role li{margin:9px 0}.cv-section.dark{background:var(--ink);color:white}.cv-projects{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#496058}.cv-projects article{background:var(--ink);padding:35px;min-height:250px}.cv-projects article>span,.cv-projects small{color:var(--lime)}.cv-projects h3{font-size:25px;margin:35px 0 12px}.cv-projects p{color:#b7c4be}.cv-skills{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cv-skills div{border:1px solid var(--line);border-radius:var(--radius);padding:28px}.cv-skills h3{font-size:23px}.cv-skills p{color:var(--muted)}.cv-cta{background:var(--orange);color:white;padding:65px 5vw;display:flex;justify-content:center;align-items:center;gap:30px}.cv-cta p{font:800 24px Manrope}.cv-cta>a:last-child{border-bottom:1px solid white;font-weight:700}@media(max-width:800px){.cv-hero,.cv-section-title{grid-template-columns:1fr}.cv-impact{grid-template-columns:1fr}.cv-role{grid-template-columns:1fr;gap:25px}.cv-projects,.cv-skills{grid-template-columns:1fr}.cv-cta{flex-direction:column;text-align:center}.cv-nav nav{display:none}}@media print{.cv-nav,.cv-cta,footer{display:none}.cv-section,.cv-hero{padding:35px}.cv-role{break-inside:avoid}}
